diff --git a/src/api/login/oauth2/index.ts b/src/api/login/oauth2/index.ts index aef1820d..f4a67fbe 100644 --- a/src/api/login/oauth2/index.ts +++ b/src/api/login/oauth2/index.ts @@ -27,7 +27,7 @@ export const authorize = ( return request.post({ url: '/system/oauth2/authorize', headers: { - 'Content-type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded' }, params: { response_type: responseType, diff --git a/src/config/axios/index.ts b/src/config/axios/index.ts index 79e558da..07719a20 100644 --- a/src/config/axios/index.ts +++ b/src/config/axios/index.ts @@ -5,16 +5,12 @@ import { config } from './config' const { default_headers } = config const request = (option: any) => { - const { url, method, params, data, headersType, responseType, ...config } = option + const { headersType, headers, ...otherOption } = option return service({ - url: url, - method, - params, - data, - ...config, - responseType: responseType, + ...otherOption, headers: { - 'Content-Type': headersType || default_headers + 'Content-Type': headersType || default_headers, + ...headers } }) } diff --git a/src/config/axios/service.ts b/src/config/axios/service.ts index 3df813f2..ae3845c0 100644 --- a/src/config/axios/service.ts +++ b/src/config/axios/service.ts @@ -1,10 +1,4 @@ -import axios, { - AxiosError, - AxiosInstance, - AxiosRequestHeaders, - AxiosResponse, - InternalAxiosRequestConfig -} from 'axios' +import axios, { AxiosError, AxiosInstance, AxiosResponse, InternalAxiosRequestConfig } from 'axios' import { ElMessage, ElMessageBox, ElNotification } from 'element-plus' import qs from 'qs' @@ -37,7 +31,11 @@ const whiteList: string[] = ['/login', '/refresh-token'] const service: AxiosInstance = axios.create({ baseURL: base_url, // api 的 base_url timeout: request_timeout, // 请求超时时间 - withCredentials: false // 禁用 Cookie 等信息 + withCredentials: false, // 禁用 Cookie 等信息 + // 自定义参数序列化函数 + paramsSerializer: (params) => { + return qs.stringify(params, { allowDots: true }) + } }) // request拦截器 @@ -52,28 +50,26 @@ service.interceptors.request.use( } }) if (getAccessToken() && !isToken) { - ;(config as Recordable).headers.Authorization = 'Bearer ' + getAccessToken() // 让每个请求携带自定义token + config.headers.Authorization = 'Bearer ' + getAccessToken() // 让每个请求携带自定义token } // 设置租户 if (tenantEnable && tenantEnable === 'true') { const tenantId = getTenantId() - if (tenantId) (config as Recordable).headers['tenant-id'] = tenantId + if (tenantId) config.headers['tenant-id'] = tenantId } - const params = config.params || {} - const data = config.data || false - if ( - config.method?.toUpperCase() === 'POST' && - (config.headers as AxiosRequestHeaders)['Content-Type'] === - 'application/x-www-form-urlencoded' - ) { - config.data = qs.stringify(data) + const method = config.method?.toUpperCase() + // 防止 GET 请求缓存 + if (method === 'GET') { + config.headers['Cache-Control'] = 'no-cache' + config.headers['Pragma'] = 'no-cache' } - // get参数编码 - if (config.method?.toUpperCase() === 'GET' && params) { - config.params = {} - const paramsStr = qs.stringify(params, { allowDots: true }) - if (paramsStr) { - config.url = config.url + '?' + paramsStr + // 自定义参数序列化函数 + else if (method === 'POST') { + const contentType = config.headers['Content-Type'] || config.headers['content-type'] + if (contentType === 'application/x-www-form-urlencoded') { + if (config.data && typeof config.data !== 'string') { + config.data = qs.stringify(config.data) + } } } return config diff --git a/src/layout/components/Setting/src/Setting.vue b/src/layout/components/Setting/src/Setting.vue index 306cb238..2973674b 100644 --- a/src/layout/components/Setting/src/Setting.vue +++ b/src/layout/components/Setting/src/Setting.vue @@ -297,5 +297,6 @@ $prefix-cls: #{$namespace}-setting; .#{$prefix-cls} { border-radius: 6px 0 0 6px; + z-index: 1200;/*修正没有z-index会被表格层覆盖,值不要超过4000*/ } diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue index 11bdeedf..aa6ad5fe 100644 --- a/src/views/bpm/processInstance/detail/index.vue +++ b/src/views/bpm/processInstance/detail/index.vue @@ -271,7 +271,7 @@ const handleAudit = async (task, pass) => { data.variables = approveForms.value[index].value } // 获取表单可编辑字段的值 - if (fApi.value) { + if (fApi.value && task.fieldsPermission !== null) { data.variables = getWritableValueOfForm(task.fieldsPermission) }