giime 0.8.4 → 0.8.6-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import type { CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';
1
+ import type { AxiosResponse, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';
2
2
  export interface CreateAxiosConfig extends CreateAxiosDefaults {
3
3
  baseURL: string;
4
4
  /**服务器调用成功的code 一般是 0 或 200 */
@@ -8,6 +8,7 @@ export interface CreateAxiosConfig extends CreateAxiosDefaults {
8
8
  }
9
9
  export declare function createAxios(config: CreateAxiosConfig, options?: {
10
10
  requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;
11
+ responseInterceptors?: (response: AxiosResponse<any, any, {}>) => any;
11
12
  }): {
12
13
  service: import("axios").AxiosInstance;
13
14
  };
@@ -69,6 +69,7 @@ function createAxios(config, options) {
69
69
  const res2 = await interceptors.res401Interceptors(service, response.config);
70
70
  return res2;
71
71
  }
72
+ await options?.responseInterceptors?.(response);
72
73
  elementPlus.ElMessage({
73
74
  message: msg,
74
75
  type: "error",
@@ -1 +1 @@
1
- {"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport { getHeaderValue } from './url';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number | number[];\n // 是否隐藏Authorization\n hideAuthorization?: boolean;\n // 是否使用params传递token\n isUseParamsToken?: boolean;\n}\n\nexport function createAxios(\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) {\n const successCode = config.successCode ?? 0;\n const hideAuthorization = config.hideAuthorization ?? false;\n const isUseParamsToken = config.isUseParamsToken ?? false;\n\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n\n // 获取自定义配置的登录信息\n const loginEnvKey = 'VITE_GIIME_LOGIN_GK_SERVICE_USER';\n\n const importMetaEnv = useGlobalConfig('env');\n // 检查是否已存在 gk-service-user (不区分大小写)\n const gkServiceUser = getHeaderValue(config.headers, 'gk-service-user');\n if (!gkServiceUser) {\n config.headers['gk-service-user'] = importMetaEnv.value[loginEnvKey] || undefined;\n }\n\n if (!config.params) {\n config.params = {};\n }\n // 是否隐藏Authorization\n if (!hideAuthorization) {\n // 是否使用params传递token\n if (isUseParamsToken) {\n config.params._token = _token;\n config.params._user = _user;\n }\n\n if (_token) {\n config.headers.Authorization = `Bearer ${_token}`;\n }\n }\n\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 成功情况 successCode为数组\n else if (Array.isArray(successCode) && (successCode.includes(res.code) || successCode.includes(res.errCode))) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n}\n"],"names":["config","useLoginStore","useGlobalConfig","getHeaderValue","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport { getHeaderValue } from './url';\nimport type { AxiosError, AxiosResponse, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number | number[];\n // 是否隐藏Authorization\n hideAuthorization?: boolean;\n // 是否使用params传递token\n isUseParamsToken?: boolean;\n}\n\nexport function createAxios(\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n responseInterceptors?: (response: AxiosResponse<any, any, {}>) => any;\n },\n) {\n const successCode = config.successCode ?? 0;\n const hideAuthorization = config.hideAuthorization ?? false;\n const isUseParamsToken = config.isUseParamsToken ?? false;\n\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n\n // 获取自定义配置的登录信息\n const loginEnvKey = 'VITE_GIIME_LOGIN_GK_SERVICE_USER';\n\n const importMetaEnv = useGlobalConfig('env');\n // 检查是否已存在 gk-service-user (不区分大小写)\n const gkServiceUser = getHeaderValue(config.headers, 'gk-service-user');\n if (!gkServiceUser) {\n config.headers['gk-service-user'] = importMetaEnv.value[loginEnvKey] || undefined;\n }\n\n if (!config.params) {\n config.params = {};\n }\n // 是否隐藏Authorization\n if (!hideAuthorization) {\n // 是否使用params传递token\n if (isUseParamsToken) {\n config.params._token = _token;\n config.params._user = _user;\n }\n\n if (_token) {\n config.headers.Authorization = `Bearer ${_token}`;\n }\n }\n\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 成功情况 successCode为数组\n else if (Array.isArray(successCode) && (successCode.includes(res.code) || successCode.includes(res.errCode))) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n /** 自定义响应拦截器 */\n await options?.responseInterceptors?.(response);\n\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n}\n"],"names":["config","useLoginStore","useGlobalConfig","getHeaderValue","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.8.4",
3
+ "version": "0.8.6-beta.1",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",