zmdms-utils 0.0.1 → 0.0.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/es/_virtual/_tslib.js +13 -1
- package/dist/es/baseUrl.js +3 -0
- package/dist/es/request.d.ts +24 -0
- package/dist/es/request.js +123 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +5 -2
- package/src/baseUrl.ts +1 -0
- package/src/index.ts +1 -0
- package/src/request.ts +154 -0
- /package/{REAMME.md → README.md} +0 -0
|
@@ -24,6 +24,18 @@ var __assign = function() {
|
|
|
24
24
|
return __assign.apply(this, arguments);
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
+
function __rest(s, e) {
|
|
28
|
+
var t = {};
|
|
29
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
30
|
+
t[p] = s[p];
|
|
31
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
32
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
33
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
34
|
+
t[p[i]] = s[p[i]];
|
|
35
|
+
}
|
|
36
|
+
return t;
|
|
37
|
+
}
|
|
38
|
+
|
|
27
39
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
28
40
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
29
41
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -62,4 +74,4 @@ function __generator(thisArg, body) {
|
|
|
62
74
|
}
|
|
63
75
|
}
|
|
64
76
|
|
|
65
|
-
export { __assign, __awaiter, __generator };
|
|
77
|
+
export { __assign, __awaiter, __generator, __rest };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as axios from 'axios';
|
|
2
|
+
import { AxiosRequestConfig } from 'axios';
|
|
3
|
+
|
|
4
|
+
declare class AxiosRequest {
|
|
5
|
+
private otherOptions;
|
|
6
|
+
constructor(otherOptions: IOtherOptions);
|
|
7
|
+
private defaultSetting;
|
|
8
|
+
private interceptorsRequest;
|
|
9
|
+
private interceptorsReponse;
|
|
10
|
+
request(options: IOptions): Promise<axios.AxiosResponse<any, any>>;
|
|
11
|
+
}
|
|
12
|
+
interface IOptions extends AxiosRequestConfig {
|
|
13
|
+
isFormData?: boolean;
|
|
14
|
+
isAuth?: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface IOtherOptions {
|
|
17
|
+
jumpCallback?: () => void;
|
|
18
|
+
TenantId?: string;
|
|
19
|
+
Authorization?: string;
|
|
20
|
+
timeout?: number;
|
|
21
|
+
baseURL?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { AxiosRequest, IOptions, IOtherOptions };
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { __rest, __assign } from './_virtual/_tslib.js';
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
import 'qiankun';
|
|
4
|
+
import { getToken } from './auth.js';
|
|
5
|
+
|
|
6
|
+
var defaultOptions = {
|
|
7
|
+
TenantId: "000000",
|
|
8
|
+
Authorization: "Basic em1kbXM6em1kbXNfc2VjcmV0",
|
|
9
|
+
timeout: 60000,
|
|
10
|
+
};
|
|
11
|
+
var AxiosRequest = /** @class */ (function () {
|
|
12
|
+
function AxiosRequest(otherOptions) {
|
|
13
|
+
this.otherOptions = __assign(__assign({}, defaultOptions), otherOptions);
|
|
14
|
+
this.defaultSetting();
|
|
15
|
+
this.interceptorsRequest();
|
|
16
|
+
this.interceptorsReponse();
|
|
17
|
+
}
|
|
18
|
+
// 设置axios方法默认值
|
|
19
|
+
AxiosRequest.prototype.defaultSetting = function () {
|
|
20
|
+
// 设置默认请求头
|
|
21
|
+
axios.defaults.headers.common["Tenant-Id"] = this.otherOptions.TenantId;
|
|
22
|
+
axios.defaults.headers.common["Authorization"] =
|
|
23
|
+
this.otherOptions.Authorization;
|
|
24
|
+
// 其他默认参数
|
|
25
|
+
axios.defaults.timeout = this.otherOptions.timeout;
|
|
26
|
+
axios.defaults.baseURL = this.otherOptions.baseURL;
|
|
27
|
+
};
|
|
28
|
+
// 拦截请求
|
|
29
|
+
AxiosRequest.prototype.interceptorsRequest = function () {
|
|
30
|
+
axios.interceptors.request.use(function (config) {
|
|
31
|
+
return config;
|
|
32
|
+
}, function (error) {
|
|
33
|
+
return Promise.reject(error);
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
// 拦截响应
|
|
37
|
+
AxiosRequest.prototype.interceptorsReponse = function () {
|
|
38
|
+
axios.interceptors.response.use(function (response) {
|
|
39
|
+
return response;
|
|
40
|
+
}, function (error) {
|
|
41
|
+
return Promise.reject(error);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
// 实例方法
|
|
45
|
+
AxiosRequest.prototype.request = function (options) {
|
|
46
|
+
var _a, _b, _c, _d, _e;
|
|
47
|
+
var token = getToken();
|
|
48
|
+
var isFormData = options.isFormData, _f = options.isAuth, isAuth = _f === void 0 ? true : _f, resetOptions = __rest(options, ["isFormData", "isAuth"]);
|
|
49
|
+
var newOptions = resetOptions;
|
|
50
|
+
// 自定义请求头
|
|
51
|
+
if (!newOptions.headers) {
|
|
52
|
+
newOptions.headers = {};
|
|
53
|
+
}
|
|
54
|
+
if (isAuth) {
|
|
55
|
+
newOptions.headers["Zmdms-Auth"] = "bearer ".concat(token);
|
|
56
|
+
}
|
|
57
|
+
// 处理url
|
|
58
|
+
if ((_a = newOptions.baseURL) === null || _a === void 0 ? void 0 : _a.endsWith("/")) {
|
|
59
|
+
newOptions.url = ((_b = newOptions.url) === null || _b === void 0 ? void 0 : _b.startsWith("/"))
|
|
60
|
+
? (_c = newOptions.url) === null || _c === void 0 ? void 0 : _c.slice(1)
|
|
61
|
+
: newOptions.url;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
newOptions.url = ((_d = newOptions.url) === null || _d === void 0 ? void 0 : _d.startsWith("/"))
|
|
65
|
+
? newOptions.url
|
|
66
|
+
: "/".concat(newOptions.url);
|
|
67
|
+
}
|
|
68
|
+
// 遍历params,将undefined值 转为null值
|
|
69
|
+
if (newOptions.data) {
|
|
70
|
+
newOptions.data = transformData(newOptions.data);
|
|
71
|
+
}
|
|
72
|
+
if (newOptions.params) {
|
|
73
|
+
newOptions.params = transformData(newOptions.params);
|
|
74
|
+
}
|
|
75
|
+
// 处理特殊请求
|
|
76
|
+
var specialMethod = ["POST", "PUT", "PATCH"];
|
|
77
|
+
var method = ((_e = newOptions.method) === null || _e === void 0 ? void 0 : _e.toUpperCase()) || "";
|
|
78
|
+
if (specialMethod.includes(method)) {
|
|
79
|
+
if (isFormData) {
|
|
80
|
+
var formData = new FormData();
|
|
81
|
+
var dataObj = newOptions.data || {};
|
|
82
|
+
var dataKey = Object.keys(dataObj);
|
|
83
|
+
var dataVal = Object.values(dataObj);
|
|
84
|
+
for (var i = 0; i < dataKey.length; i++) {
|
|
85
|
+
if (dataVal[i]) {
|
|
86
|
+
formData.append(dataKey[i], dataVal[i]);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
newOptions.headers["Content-Type"] = "multipart/form-data";
|
|
90
|
+
newOptions.data = formData;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
newOptions.headers = __assign({ "Content-Type": "application/json" }, newOptions.headers);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// 数据加密处理 TODO:
|
|
97
|
+
return axios(newOptions);
|
|
98
|
+
};
|
|
99
|
+
return AxiosRequest;
|
|
100
|
+
}());
|
|
101
|
+
function transformData(data) {
|
|
102
|
+
if (data == null) {
|
|
103
|
+
return data;
|
|
104
|
+
}
|
|
105
|
+
if (typeof data !== "object") {
|
|
106
|
+
return data;
|
|
107
|
+
}
|
|
108
|
+
if (Array.isArray(data)) {
|
|
109
|
+
return data.map(function (item) { return transformData(item); });
|
|
110
|
+
}
|
|
111
|
+
if (Object.prototype.toString.call(data) === "[object Object]") {
|
|
112
|
+
var newData = {};
|
|
113
|
+
for (var key in data) {
|
|
114
|
+
if (data.hasOwnProperty(key)) {
|
|
115
|
+
newData[key] = transformData(data[key]);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return newData;
|
|
119
|
+
}
|
|
120
|
+
return data;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export { AxiosRequest };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ export { initMicroApp } from './es/microAppCreator.js';
|
|
|
2
2
|
export { isQiankun } from './es/qiankunUtils.js';
|
|
3
3
|
export { initGlobalError, initMainApp } from './es/mainApp.js';
|
|
4
4
|
export { getToken, setToken } from './es/auth.js';
|
|
5
|
+
export { AxiosRequest, IOptions, IOtherOptions } from './es/request.js';
|
package/dist/index.js
CHANGED
|
@@ -2,3 +2,4 @@ export { initMicroApp } from './es/microAppCreator.js';
|
|
|
2
2
|
export { isQiankun } from './es/qiankunUtils.js';
|
|
3
3
|
export { initGlobalError, initMainApp } from './es/mainApp.js';
|
|
4
4
|
export { getToken, setToken } from './es/auth.js';
|
|
5
|
+
export { AxiosRequest } from './es/request.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zmdms-utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -13,13 +13,16 @@
|
|
|
13
13
|
"author": "",
|
|
14
14
|
"license": "ISC",
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"
|
|
16
|
+
"axios": "^1.4.0",
|
|
17
|
+
"qiankun": "^2.10.8"
|
|
17
18
|
},
|
|
18
19
|
"dependencies": {},
|
|
19
20
|
"devDependencies": {
|
|
20
21
|
"@rollup/plugin-commonjs": "^24.0.1",
|
|
21
22
|
"@rollup/plugin-json": "^6.0.0",
|
|
22
23
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
24
|
+
"axios": "^1.4.0",
|
|
25
|
+
"qiankun": "^2.10.8",
|
|
23
26
|
"rimraf": "^4.4.1",
|
|
24
27
|
"rollup": "^3.20.2",
|
|
25
28
|
"rollup-plugin-dts": "^5.3.0",
|
package/src/baseUrl.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function getBaseUrl() {}
|
package/src/index.ts
CHANGED
|
@@ -2,3 +2,4 @@ export { initMicroApp } from "./microAppCreator";
|
|
|
2
2
|
export { isQiankun } from "./qiankunUtils";
|
|
3
3
|
export { initMainApp, initGlobalError } from "./mainApp";
|
|
4
4
|
export { getToken, setToken } from "./auth";
|
|
5
|
+
export { AxiosRequest, type IOtherOptions, type IOptions } from "./request";
|
package/src/request.ts
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// 请求方法
|
|
2
|
+
import axios, { AxiosRequestConfig } from "axios";
|
|
3
|
+
import { getToken } from "./index";
|
|
4
|
+
|
|
5
|
+
const defaultOptions: IOtherOptions = {
|
|
6
|
+
TenantId: "000000",
|
|
7
|
+
Authorization: "Basic em1kbXM6em1kbXNfc2VjcmV0",
|
|
8
|
+
timeout: 60000,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export class AxiosRequest {
|
|
12
|
+
private otherOptions: IOtherOptions;
|
|
13
|
+
|
|
14
|
+
constructor(otherOptions: IOtherOptions) {
|
|
15
|
+
this.otherOptions = { ...defaultOptions, ...otherOptions };
|
|
16
|
+
this.defaultSetting();
|
|
17
|
+
this.interceptorsRequest();
|
|
18
|
+
this.interceptorsReponse();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// 设置axios方法默认值
|
|
22
|
+
private defaultSetting() {
|
|
23
|
+
// 设置默认请求头
|
|
24
|
+
axios.defaults.headers.common["Tenant-Id"] = this.otherOptions.TenantId;
|
|
25
|
+
axios.defaults.headers.common["Authorization"] =
|
|
26
|
+
this.otherOptions.Authorization;
|
|
27
|
+
|
|
28
|
+
// 其他默认参数
|
|
29
|
+
axios.defaults.timeout = this.otherOptions.timeout;
|
|
30
|
+
axios.defaults.baseURL = this.otherOptions.baseURL;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// 拦截请求
|
|
34
|
+
private interceptorsRequest() {
|
|
35
|
+
axios.interceptors.request.use(
|
|
36
|
+
(config) => {
|
|
37
|
+
return config;
|
|
38
|
+
},
|
|
39
|
+
(error) => {
|
|
40
|
+
return Promise.reject(error);
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// 拦截响应
|
|
46
|
+
private interceptorsReponse() {
|
|
47
|
+
axios.interceptors.response.use(
|
|
48
|
+
(response) => {
|
|
49
|
+
return response;
|
|
50
|
+
},
|
|
51
|
+
(error) => {
|
|
52
|
+
return Promise.reject(error);
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// 实例方法
|
|
58
|
+
public request(options: IOptions) {
|
|
59
|
+
const token = getToken();
|
|
60
|
+
const { isFormData, isAuth = true, ...resetOptions } = options;
|
|
61
|
+
|
|
62
|
+
const newOptions = resetOptions;
|
|
63
|
+
|
|
64
|
+
// 自定义请求头
|
|
65
|
+
if (!newOptions.headers) {
|
|
66
|
+
newOptions.headers = {};
|
|
67
|
+
}
|
|
68
|
+
if (isAuth) {
|
|
69
|
+
newOptions.headers["Zmdms-Auth"] = `bearer ${token}`;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// 处理url
|
|
73
|
+
if (newOptions.baseURL?.endsWith("/")) {
|
|
74
|
+
newOptions.url = newOptions.url?.startsWith("/")
|
|
75
|
+
? newOptions.url?.slice(1)
|
|
76
|
+
: newOptions.url;
|
|
77
|
+
} else {
|
|
78
|
+
newOptions.url = newOptions.url?.startsWith("/")
|
|
79
|
+
? newOptions.url
|
|
80
|
+
: `/${newOptions.url}`;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// 遍历params,将undefined值 转为null值
|
|
84
|
+
if (newOptions.data) {
|
|
85
|
+
newOptions.data = transformData(newOptions.data);
|
|
86
|
+
}
|
|
87
|
+
if (newOptions.params) {
|
|
88
|
+
newOptions.params = transformData(newOptions.params);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// 处理特殊请求
|
|
92
|
+
const specialMethod = ["POST", "PUT", "PATCH"];
|
|
93
|
+
const method = newOptions.method?.toUpperCase() || "";
|
|
94
|
+
if (specialMethod.includes(method)) {
|
|
95
|
+
if (isFormData) {
|
|
96
|
+
const formData = new FormData();
|
|
97
|
+
const dataObj = newOptions.data || {};
|
|
98
|
+
const dataKey = Object.keys(dataObj);
|
|
99
|
+
const dataVal: any = Object.values(dataObj);
|
|
100
|
+
for (let i = 0; i < dataKey.length; i++) {
|
|
101
|
+
if (dataVal[i]) {
|
|
102
|
+
formData.append(dataKey[i], dataVal[i]);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
newOptions.headers["Content-Type"] = "multipart/form-data";
|
|
106
|
+
newOptions.data = formData;
|
|
107
|
+
} else {
|
|
108
|
+
newOptions.headers = {
|
|
109
|
+
"Content-Type": "application/json",
|
|
110
|
+
...newOptions.headers,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// 数据加密处理 TODO:
|
|
116
|
+
|
|
117
|
+
return axios(newOptions);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function transformData(data?: any): any {
|
|
122
|
+
if (data == null) {
|
|
123
|
+
return data;
|
|
124
|
+
}
|
|
125
|
+
if (typeof data !== "object") {
|
|
126
|
+
return data;
|
|
127
|
+
}
|
|
128
|
+
if (Array.isArray(data)) {
|
|
129
|
+
return data.map((item: any) => transformData(item));
|
|
130
|
+
}
|
|
131
|
+
if (Object.prototype.toString.call(data) === "[object Object]") {
|
|
132
|
+
let newData: any = {};
|
|
133
|
+
for (let key in data) {
|
|
134
|
+
if (data.hasOwnProperty(key)) {
|
|
135
|
+
newData[key] = transformData(data[key]);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return newData;
|
|
139
|
+
}
|
|
140
|
+
return data;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface IOptions extends AxiosRequestConfig {
|
|
144
|
+
isFormData?: boolean;
|
|
145
|
+
isAuth?: boolean; // 是否需要携带请求头
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export interface IOtherOptions {
|
|
149
|
+
jumpCallback?: () => void; // token过期等 需要跳转到登录页
|
|
150
|
+
TenantId?: string;
|
|
151
|
+
Authorization?: string; // auth值
|
|
152
|
+
timeout?: number;
|
|
153
|
+
baseURL?: string;
|
|
154
|
+
}
|
/package/{REAMME.md → README.md}
RENAMED
|
File without changes
|