giime 0.1.1 → 0.1.3
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.
- package/dist/index.css +42 -34
- package/es/components/index.mjs +2 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/src/composite/importDialog/ImportDialog.vue.d.ts +75 -0
- package/es/components/src/composite/importDialog/ImportDialog.vue.mjs +7 -0
- package/es/components/src/composite/importDialog/ImportDialog.vue.mjs.map +1 -0
- package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs +166 -0
- package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs.map +1 -0
- package/es/components/src/composite/importDialog/importDialog.d.ts +35 -0
- package/es/components/src/composite/importDialog/importDialog.mjs +17 -0
- package/es/components/src/composite/importDialog/importDialog.mjs.map +1 -0
- package/es/components/src/composite/importDialog/index.d.ts +73 -0
- package/es/components/src/composite/importDialog/index.mjs +9 -0
- package/es/components/src/composite/importDialog/index.mjs.map +1 -0
- package/es/components/src/composite/index.d.ts +1 -0
- package/es/components/src/composite/index.mjs +2 -0
- package/es/components/src/composite/index.mjs.map +1 -1
- package/es/giime/component.mjs +2 -0
- package/es/giime/component.mjs.map +1 -1
- package/es/giime/index.mjs +2 -0
- package/es/giime/index.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useDownload/index.mjs +1 -1
- package/es/hooks/base/useDownload/index.mjs.map +1 -1
- package/es/index.css +42 -34
- package/es/utils/src/http/createAxios.d.ts +4 -2
- package/es/utils/src/http/createAxios.mjs +4 -5
- package/es/utils/src/http/createAxios.mjs.map +1 -1
- package/es/utils/src/http/devProxy.mjs +5 -0
- package/es/utils/src/http/devProxy.mjs.map +1 -1
- package/global.d.ts +1 -0
- package/lib/components/index.js +15 -10
- package/lib/components/index.js.map +1 -1
- package/lib/components/src/composite/importDialog/ImportDialog.vue.d.ts +75 -0
- package/lib/components/src/composite/importDialog/ImportDialog.vue.js +11 -0
- package/lib/components/src/composite/importDialog/ImportDialog.vue.js.map +1 -0
- package/lib/components/src/composite/importDialog/ImportDialog.vue2.js +170 -0
- package/lib/components/src/composite/importDialog/ImportDialog.vue2.js.map +1 -0
- package/lib/components/src/composite/importDialog/importDialog.d.ts +35 -0
- package/lib/components/src/composite/importDialog/importDialog.js +20 -0
- package/lib/components/src/composite/importDialog/importDialog.js.map +1 -0
- package/lib/components/src/composite/importDialog/index.d.ts +73 -0
- package/lib/components/src/composite/importDialog/index.js +16 -0
- package/lib/components/src/composite/importDialog/index.js.map +1 -0
- package/lib/components/src/composite/index.d.ts +1 -0
- package/lib/components/src/composite/index.js +5 -0
- package/lib/components/src/composite/index.js.map +1 -1
- package/lib/giime/component.js +20 -18
- package/lib/giime/component.js.map +1 -1
- package/lib/giime/index.js +43 -38
- package/lib/giime/index.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useDownload/index.js +1 -1
- package/lib/hooks/base/useDownload/index.js.map +1 -1
- package/lib/index.css +42 -34
- package/lib/utils/src/http/createAxios.d.ts +4 -2
- package/lib/utils/src/http/createAxios.js +4 -5
- package/lib/utils/src/http/createAxios.js.map +1 -1
- package/lib/utils/src/http/devProxy.js +5 -0
- package/lib/utils/src/http/devProxy.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ var Cookies = require('js-cookie');
|
|
|
6
6
|
var interceptors = require('./interceptors.js');
|
|
7
7
|
var errorMessage = require('./errorMessage.js');
|
|
8
8
|
|
|
9
|
-
const createAxios = (config) => {
|
|
9
|
+
const createAxios = (config, options) => {
|
|
10
10
|
const successCode = config.successCode ?? 0;
|
|
11
11
|
const service = axios.create({
|
|
12
12
|
withCredentials: true,
|
|
@@ -19,7 +19,7 @@ const createAxios = (config) => {
|
|
|
19
19
|
...config
|
|
20
20
|
});
|
|
21
21
|
service.interceptors.request.use(
|
|
22
|
-
(config2) => {
|
|
22
|
+
async (config2) => {
|
|
23
23
|
const _token = Cookies.get("token");
|
|
24
24
|
const _user = Cookies.get("sso_user_id");
|
|
25
25
|
if (!config2.params) {
|
|
@@ -31,9 +31,8 @@ const createAxios = (config) => {
|
|
|
31
31
|
if (!config2.params._user) {
|
|
32
32
|
config2.params._user = _user;
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
34
|
+
config2.headers.Authorization = `Bearer ${_token}`;
|
|
35
|
+
await options?.requestInterceptors?.(config2);
|
|
37
36
|
return config2;
|
|
38
37
|
},
|
|
39
38
|
(error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\r\nimport { ElMessage } from 'element-plus';\r\nimport Cookies from 'js-cookie';\r\nimport { res401Interceptors } from './interceptors';\r\nimport { responseErrorMessage } from './errorMessage';\r\nimport type { AxiosError, CreateAxiosDefaults } from 'axios';\r\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\r\n baseURL: string;\r\n /**服务器调用成功的code 一般是 0 或 200 */\r\n successCode: number;\r\n}\r\n\r\nexport const createAxios = (config: CreateAxiosConfig) => {\r\n const successCode = config.successCode ?? 0;\r\n const service = axios.create({\r\n withCredentials: true, // send cookies when cross-domain requests\r\n timeout: 120_000,\r\n headers: {\r\n 'content-type': 'application/json',\r\n Accept: '*/*',\r\n },\r\n ...config,\r\n });\r\n\r\n // 请求拦截器\r\n service.interceptors.request.use(\r\n config => {\r\n const _token = Cookies.get('token');\r\n const _user = Cookies.get('sso_user_id');\r\n if (!config.params) {\r\n config.params = {};\r\n }\r\n if (!config.params._token) {\r\n config.params._token = _token;\r\n }\r\n if (!config.params._user) {\r\n config.params._user = _user;\r\n }\r\n
|
|
1
|
+
{"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\r\nimport { ElMessage } from 'element-plus';\r\nimport Cookies from 'js-cookie';\r\nimport { res401Interceptors } from './interceptors';\r\nimport { responseErrorMessage } from './errorMessage';\r\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\r\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\r\n baseURL: string;\r\n /**服务器调用成功的code 一般是 0 或 200 */\r\n successCode: number;\r\n}\r\n\r\nexport const createAxios = (\r\n config: CreateAxiosConfig,\r\n options?: {\r\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\r\n },\r\n) => {\r\n const successCode = config.successCode ?? 0;\r\n const service = axios.create({\r\n withCredentials: true, // send cookies when cross-domain requests\r\n timeout: 120_000,\r\n headers: {\r\n 'content-type': 'application/json',\r\n Accept: '*/*',\r\n },\r\n ...config,\r\n });\r\n\r\n // 请求拦截器\r\n service.interceptors.request.use(\r\n async config => {\r\n const _token = Cookies.get('token');\r\n const _user = Cookies.get('sso_user_id');\r\n if (!config.params) {\r\n config.params = {};\r\n }\r\n if (!config.params._token) {\r\n config.params._token = _token;\r\n }\r\n if (!config.params._user) {\r\n config.params._user = _user;\r\n }\r\n config.headers.Authorization = `Bearer ${_token}`;\r\n await options?.requestInterceptors?.(config);\r\n return config;\r\n },\r\n error => {\r\n console.error('请求错误', error); // for debug\r\n return Promise.reject(error);\r\n },\r\n );\r\n // 添加响应拦截器\r\n service.interceptors.response.use(\r\n async response => {\r\n // 对响应数据做点什么\r\n const res = response.data;\r\n if (!res?.code) {\r\n return response;\r\n }\r\n if (res.code === 401) {\r\n const res = await res401Interceptors(service, response.config);\r\n return res;\r\n } else if (res.code !== successCode && res.errCode !== successCode) {\r\n ElMessage({\r\n message: res.comment ?? res.message ?? res.errMsg ?? res.msg,\r\n type: 'error',\r\n grouping: true,\r\n duration: 5 * 1000,\r\n });\r\n }\r\n return response;\r\n },\r\n async (err: AxiosError) => {\r\n console.error(err.config);\r\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\r\n const res = await res401Interceptors(service, err.config!);\r\n return res;\r\n } else {\r\n // 对响应错误做点什么\r\n responseErrorMessage(err);\r\n return Promise.reject(err);\r\n }\r\n },\r\n );\r\n\r\n return {\r\n service,\r\n };\r\n};\r\n"],"names":["config","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
|
|
@@ -31,6 +31,11 @@ const giimeDevProxy = {
|
|
|
31
31
|
target: "http://192.168.4.171:9501/",
|
|
32
32
|
changeOrigin: true,
|
|
33
33
|
rewrite: (p) => p.replace(/^\/basic-api/, "")
|
|
34
|
+
},
|
|
35
|
+
"/amazon-agent-api": {
|
|
36
|
+
target: "http://192.168.4.125:10086/amazon-agent",
|
|
37
|
+
changeOrigin: true,
|
|
38
|
+
rewrite: (p) => p.replace(/^\/amazon-agent-api/, "")
|
|
34
39
|
}
|
|
35
40
|
};
|
|
36
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devProxy.js","sources":["../../../../../../packages/utils/src/http/devProxy.ts"],"sourcesContent":["import type { ProxyOptions } from 'vite';\r\n\r\nexport const giimeDevProxy: Record<string, string | ProxyOptions> = {\r\n // https://cn.vitejs.dev/config/#server-proxy\r\n '/gstore-api': {\r\n target: 'http://192.168.4.125:10086/gstore/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gstore-api/, ''),\r\n },\r\n '/material-api': {\r\n target: 'http://192.168.4.130:8002',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/material-api/, ''),\r\n },\r\n '/shop-admin-api': {\r\n target: 'http://192.168.4.130:8001',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/shop-admin-api/, ''),\r\n },\r\n '/gateway-api': {\r\n target: 'http://192.168.1.115:8082/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gateway-api/, ''),\r\n },\r\n '/third-api': {\r\n target: 'https://third-gw.giimall.net/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/third-api/, ''),\r\n },\r\n '/basic-api': {\r\n target: 'http://192.168.4.171:9501/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/basic-api/, ''),\r\n },\r\n};\r\n"],"names":[],"mappings":";;AAEO,MAAM,aAAuD,GAAA;AAAA;AAAA,EAElE,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,oCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,iBAAiB,EAAE,CAAA;AAAA,GAC7C;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC/C;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,qBAAqB,EAAE,CAAA;AAAA,GACjD;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,kBAAkB,EAAE,CAAA;AAAA,GAC9C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,+BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"devProxy.js","sources":["../../../../../../packages/utils/src/http/devProxy.ts"],"sourcesContent":["import type { ProxyOptions } from 'vite';\r\n\r\nexport const giimeDevProxy: Record<string, string | ProxyOptions> = {\r\n // https://cn.vitejs.dev/config/#server-proxy\r\n '/gstore-api': {\r\n target: 'http://192.168.4.125:10086/gstore/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gstore-api/, ''),\r\n },\r\n '/material-api': {\r\n target: 'http://192.168.4.130:8002',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/material-api/, ''),\r\n },\r\n '/shop-admin-api': {\r\n target: 'http://192.168.4.130:8001',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/shop-admin-api/, ''),\r\n },\r\n '/gateway-api': {\r\n target: 'http://192.168.1.115:8082/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gateway-api/, ''),\r\n },\r\n '/third-api': {\r\n target: 'https://third-gw.giimall.net/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/third-api/, ''),\r\n },\r\n '/basic-api': {\r\n target: 'http://192.168.4.171:9501/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/basic-api/, ''),\r\n },\r\n '/amazon-agent-api': {\r\n target: 'http://192.168.4.125:10086/amazon-agent',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/amazon-agent-api/, ''),\r\n },\r\n};\r\n"],"names":[],"mappings":";;AAEO,MAAM,aAAuD,GAAA;AAAA;AAAA,EAElE,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,oCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,iBAAiB,EAAE,CAAA;AAAA,GAC7C;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC/C;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,qBAAqB,EAAE,CAAA;AAAA,GACjD;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,kBAAkB,EAAE,CAAA;AAAA,GAC9C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,+BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,MAAQ,EAAA,yCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,uBAAuB,EAAE,CAAA;AAAA,GACnD;AACF;;;;"}
|