|
@@ -168,7 +168,7 @@ export const KEY_IGNORE_RESPONSE = "ignoreResponse";
|
|
export const KEY_NO_LOAD_TOKEN = "noLoadToken";
|
|
export const KEY_NO_LOAD_TOKEN = "noLoadToken";
|
|
|
|
|
|
/** 0.通用请求 */
|
|
/** 0.通用请求 */
|
|
-request.do = function (url, param = {}, data = {}, conf = {}, method) {
|
|
|
|
|
|
+request.do = function (url, param = {}, data = {}, conf = {}, method, headers) {
|
|
const params = qs.stringify(param);
|
|
const params = qs.stringify(param);
|
|
if (params) {
|
|
if (params) {
|
|
const joint = url.includes("?") ? "&" : "?";
|
|
const joint = url.includes("?") ? "&" : "?";
|
|
@@ -179,35 +179,36 @@ request.do = function (url, param = {}, data = {}, conf = {}, method) {
|
|
method,
|
|
method,
|
|
data,
|
|
data,
|
|
conf,
|
|
conf,
|
|
|
|
+ headers,
|
|
responseType: conf[KEY_EXPORT_TYPE]
|
|
responseType: conf[KEY_EXPORT_TYPE]
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
/** 1.get: url上param, 后端取值@requestParam,也可用request.getParameterMap().get(“key”), 参数会被放入一个集合 */
|
|
/** 1.get: url上param, 后端取值@requestParam,也可用request.getParameterMap().get(“key”), 参数会被放入一个集合 */
|
|
-request.doGet = function (url, param = {}, conf = {}) {
|
|
|
|
- return this.do(url, param, null, conf, "GET");
|
|
|
|
|
|
+request.doGet = function (url, param = {}, conf = {}, headers = {}) {
|
|
|
|
+ return this.do(url, param, null, conf, "GET", headers);
|
|
};
|
|
};
|
|
|
|
|
|
/** 2.post: body内json, 后端取值@requestBody, Map 或转为实体 */
|
|
/** 2.post: body内json, 后端取值@requestBody, Map 或转为实体 */
|
|
-request.doPost = function (url, param = {}, data = {}, conf = {}) {
|
|
|
|
- return this.do(url, param, data, conf, "POST");
|
|
|
|
|
|
+request.doPost = function (url, param = {}, data = {}, conf = {}, headers = {}) {
|
|
|
|
+ return this.do(url, param, data, conf, "POST", headers);
|
|
};
|
|
};
|
|
|
|
|
|
/** 3.form: body内格式为form, 和content-type有关系, 需要为form格式后端才能读取: 不能使用@RequestBody,参数会自动解析到实体; 若不是实体通过方法转Map */
|
|
/** 3.form: body内格式为form, 和content-type有关系, 需要为form格式后端才能读取: 不能使用@RequestBody,参数会自动解析到实体; 若不是实体通过方法转Map */
|
|
-request.doForm = function (url, param, data = {}, conf = {}) {
|
|
|
|
|
|
+request.doForm = function (url, param, data = {}, conf = {}, headers = {}) {
|
|
// 变更请求头类型, 传递form
|
|
// 变更请求头类型, 传递form
|
|
conf[KEY_M_CONTENT_TYPE] = true;
|
|
conf[KEY_M_CONTENT_TYPE] = true;
|
|
- return this.doPost(url, param, data, conf);
|
|
|
|
|
|
+ return this.doPost(url, param, qs.stringify(data), conf, headers);
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 4.upload: body-formData, 一般用于文件上传, 追加数据流 */
|
|
/** 4.upload: body-formData, 一般用于文件上传, 追加数据流 */
|
|
-request.doUpload = function (url, param, data = {}, conf = {}) {
|
|
|
|
|
|
+request.doUpload = function (url, param, data = {}, conf = {}, headers = {}) {
|
|
const formData = new FormData();
|
|
const formData = new FormData();
|
|
Object.keys(data).forEach(prop => {
|
|
Object.keys(data).forEach(prop => {
|
|
formData.append(prop, data[prop]);
|
|
formData.append(prop, data[prop]);
|
|
});
|
|
});
|
|
- return this.doPost(url, param, formData, conf);
|
|
|
|
|
|
+ return this.doPost(url, param, formData, conf, headers);
|
|
};
|
|
};
|
|
|
|
|
|
/** 5.并发多个请求优先(类方法) */
|
|
/** 5.并发多个请求优先(类方法) */
|
|
@@ -240,10 +241,10 @@ request.doDownload = function (blobData, fileName, type) {
|
|
};
|
|
};
|
|
|
|
|
|
/** 2.Excel: 导出并下载blob数据 */
|
|
/** 2.Excel: 导出并下载blob数据 */
|
|
-request.doExport = async function (url, param, data = {}, method = "POST", type) {
|
|
|
|
|
|
+request.doExport = async function (url, param, data = {}, method = "POST", type, headers = {}) {
|
|
const rsp = await request.do(url, param, data, {
|
|
const rsp = await request.do(url, param, data, {
|
|
[KEY_EXPORT_TYPE]: "blob"
|
|
[KEY_EXPORT_TYPE]: "blob"
|
|
- }, method);
|
|
|
|
|
|
+ }, method, headers);
|
|
// 若响应数据为流
|
|
// 若响应数据为流
|
|
if (!rsp.code) {
|
|
if (!rsp.code) {
|
|
this.doDownload(rsp.data, rsp.fileName, type);
|
|
this.doDownload(rsp.data, rsp.fileName, type);
|
|
@@ -252,20 +253,20 @@ request.doExport = async function (url, param, data = {}, method = "POST", type)
|
|
};
|
|
};
|
|
|
|
|
|
/** 2.1.post方式下载blob数据 */
|
|
/** 2.1.post方式下载blob数据 */
|
|
-request.doExportByPOST = async function (url, param, data = {}, type) {
|
|
|
|
- return this.doExport(url, param, data, "POST", type)
|
|
|
|
|
|
+request.doExportByPOST = async function (url, param, data = {}, type, headers = {}) {
|
|
|
|
+ return this.doExport(url, param, data, "POST", type, headers)
|
|
};
|
|
};
|
|
|
|
|
|
/** 2.2.get方式下载blob数据 */
|
|
/** 2.2.get方式下载blob数据 */
|
|
-request.doExportByGET = async function (url, param, type) {
|
|
|
|
- return this.doExport(url, param, null, "GET", type)
|
|
|
|
|
|
+request.doExportByGET = async function (url, param, type, headers = {}) {
|
|
|
|
+ return this.doExport(url, param, null, "GET", type, headers)
|
|
};
|
|
};
|
|
|
|
|
|
/** 3.Excel: 自定义导入, 自动下载失败记录 */
|
|
/** 3.Excel: 自定义导入, 自动下载失败记录 */
|
|
-request.doImport = async function (url, file, param, data) {
|
|
|
|
|
|
+request.doImport = async function (url, file, param, data, headers) {
|
|
const rsp = await request.doPostFormData(url, param, { file, ...data }, {
|
|
const rsp = await request.doPostFormData(url, param, { file, ...data }, {
|
|
[KEY_EXPORT_TYPE]: "blob"
|
|
[KEY_EXPORT_TYPE]: "blob"
|
|
- });
|
|
|
|
|
|
+ }, headers);
|
|
// 若响应数据为流
|
|
// 若响应数据为流
|
|
if (!rsp.code) {
|
|
if (!rsp.code) {
|
|
progress.showErrorMessage("部分导入失败");
|
|
progress.showErrorMessage("部分导入失败");
|