diff --git a/package.json b/package.json index c579ac1f..f24144f4 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "iconify-icon": "^1.0.8", "keymaster": "^1.6.2", "mitt": "^3.0.0", + "moment": "^2.29.4", "monaco-editor": "^0.33.0", "naive-ui": "2.34.3", "pinia": "^2.0.13", diff --git a/src/api/axios.ts b/src/api/axios.ts index f799f28c..e04743f3 100644 --- a/src/api/axios.ts +++ b/src/api/axios.ts @@ -12,6 +12,8 @@ export interface MyResponseType { code: ResultEnum data: T message: string + // 兼顾主系统 + errcode: any } export interface MyRequestInstance extends Axios { @@ -25,17 +27,17 @@ const axiosInstance = axios.create({ axiosInstance.interceptors.request.use( (config: InternalAxiosRequestConfig) => { - // 白名单校验 - if (includes(fetchAllowList, config.url)) return config - // 获取 token - const info = getLocalStorage(StorageEnum.GO_SYSTEM_STORE) - // 重新登录 - if (!info) { - routerTurnByName(PageEnum.BASE_LOGIN_NAME) - return config - } - const userInfo = info[SystemStoreEnum.USER_INFO] - config.headers[userInfo[SystemStoreUserInfoEnum.TOKEN_NAME] || 'token'] = userInfo[SystemStoreUserInfoEnum.USER_TOKEN] || '' + // // 白名单校验 + // if (includes(fetchAllowList, config.url)) return config + // // 获取 token + // const info = getLocalStorage(StorageEnum.GO_SYSTEM_STORE) + // // 重新登录 + // if (!info) { + // routerTurnByName(PageEnum.BASE_LOGIN_NAME) + // return config + // } + // const userInfo = info[SystemStoreEnum.USER_INFO] + // config.headers[userInfo[SystemStoreUserInfoEnum.TOKEN_NAME] || 'token'] = userInfo[SystemStoreUserInfoEnum.USER_TOKEN] || '' return config }, (err: AxiosError) => { @@ -59,12 +61,12 @@ axiosInstance.interceptors.response.use( return Promise.resolve(res.data) } - // 登录过期 - if (code === ResultEnum.TOKEN_OVERDUE) { - window['$message'].error(window['$t']('http.token_overdue_message')) - routerTurnByName(PageEnum.BASE_LOGIN_NAME) - return Promise.resolve(res.data) - } + // // 登录过期 + // if (code === ResultEnum.TOKEN_OVERDUE) { + // window['$message'].error(window['$t']('http.token_overdue_message')) + // routerTurnByName(PageEnum.BASE_LOGIN_NAME) + // return Promise.resolve(res.data) + // } // 固定错误码重定向 if (ErrorPageNameMap.get(code)) { diff --git a/src/api/http.ts b/src/api/http.ts index 0d433a73..8ca6ff18 100644 --- a/src/api/http.ts +++ b/src/api/http.ts @@ -8,6 +8,8 @@ import { RequestParamsObjType } from '@/enums/httpEnum' import type { RequestGlobalConfigType, RequestConfigType } from '@/store/modules/chartEditStore/chartEditStore.d' +import moment from "moment"; +import {getToken} from "@/api/path"; export const get = (url: string, params?: object) => { return axiosInstance({ @@ -139,7 +141,9 @@ export const customizeHttp = (targetParams: RequestConfigType, globalParams: Req // SQL 请求对象 requestSQLContent, // 请求内容 params / cookie / header / body: 同 requestParamsBodyType - requestParams: targetRequestParams + requestParams: targetRequestParams, + // 请求参数body-json预处理 + requestBodyJSONPre } = targetParams // 静态排除 @@ -172,9 +176,22 @@ export const customizeHttp = (targetParams: RequestConfigType, globalParams: Req case RequestBodyEnum.JSON: headers['Content-Type'] = ContentTypeEnum.JSON //json对象也能使用'javasctipt:'来动态拼接参数 - data = translateStr(targetRequestParams.Body['json']) - if(typeof data === 'string') data = JSON.parse(data) - // json 赋值给 data + if(requestBodyJSONPre.enable) { + const fn = new Function('global', requestBodyJSONPre.handler) + const global = { + moment, + getToken + } + const res = fn(global) + // @ts-ignore + data = JSON.stringify(res, null, 2) + console.log(data) + } + else { + data = translateStr(targetRequestParams.Body['json']) + if(typeof data === 'string') data = JSON.parse(data) + // json 赋值给 data + } break case RequestBodyEnum.XML: diff --git a/src/api/path/business.api.ts b/src/api/path/business.api.ts new file mode 100644 index 00000000..4e2da4e2 --- /dev/null +++ b/src/api/path/business.api.ts @@ -0,0 +1,40 @@ +// import Cookies from 'js-cookie'; +import { http } from "@/api/http"; +import { RequestHttpEnum } from "@/enums/httpEnum"; +import { httpErrorHandle } from '@/utils' + +const allCookies = document.cookie; +function getCookie(name: string) { + const cookies = document.cookie.split(';'); + for (const cookie of cookies) { + const [cookieName, cookieValue] = cookie.trim().split('='); + if (cookieName === name) { + return decodeURIComponent(cookieValue); + } + } + return null; +} +console.log(allCookies, getCookie('access_token')); + +export function getToken() { + const TokenKey = 'access_token' + if (getCookie(TokenKey)) { + return getCookie(TokenKey) + } else { + return sessionStorage.getItem(TokenKey) + } +} + +export const publicInterface = async (paramType:string, interfaceType:string, paramData:any) =>{ + try { + const access_token = getToken() + const res = await http(RequestHttpEnum.POST)(paramType, { + access_token, + type: interfaceType, + data: paramData + }) + return res + } catch { + httpErrorHandle() + } +} diff --git a/src/api/path/business.d.ts b/src/api/path/business.d.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/api/path/index.ts b/src/api/path/index.ts index 66594d27..e834fde0 100644 --- a/src/api/path/index.ts +++ b/src/api/path/index.ts @@ -1,2 +1,3 @@ export * from '@/api/path/project.api' -export * from '@/api/path/system.api' \ No newline at end of file +export * from '@/api/path/system.api' +export * from '@/api/path/business.api' diff --git a/src/assets/images/chart/charts/line_with_data_zoom.png b/src/assets/images/chart/charts/line_with_data_zoom.png new file mode 100644 index 00000000..2339ca1c Binary files /dev/null and b/src/assets/images/chart/charts/line_with_data_zoom.png differ diff --git a/src/components/Pages/ChartItemSetting/SettingItemBox.vue b/src/components/Pages/ChartItemSetting/SettingItemBox.vue index 95893596..4598d73d 100644 --- a/src/components/Pages/ChartItemSetting/SettingItemBox.vue +++ b/src/components/Pages/ChartItemSetting/SettingItemBox.vue @@ -38,7 +38,7 @@ defineProps({ diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue index 84c6678d..e50d0e5f 100644 --- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue +++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue @@ -1,5 +1,5 @@