Browse Source

0.4.9

master
许孟阳 12 hours ago
parent
commit
297324a681
  1. 2
      package.json
  2. 52
      plugs/api/base.ts
  3. 2
      plugs/http/axios.ts
  4. 2
      plugs/http/axios2.ts

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "noob-mengyxu", "name": "noob-mengyxu",
"version": "0.4.8", "version": "0.4.9",
"main": "index.ts", "main": "index.ts",
"module": "index.ts", "module": "index.ts",
"keywords": [ "keywords": [

52
plugs/api/base.ts

@ -101,32 +101,42 @@ export const deleteById = (url, id) => {
}; };
export const size = 10000; export const size = 10000;
export const exportCrv = (url, fileName, head, formatter, param?, content?) => { export const exportCsv = (url, head, formatter, param?, content?) => {
if (!content) { return new Promise((resolve) => {
content = [head + '\r\n']; if (!content) {
} content = [];
if (!param) { head && content.push(head);
param = { page: 1, size: size };
}
queryPage(url, param, true).then((rsp: any) => {
if (!rsp || rsp.length == 0) {
write(fileName, content);
return;
} }
rsp.data.forEach((net) => { if (!param) {
content.push(formatter(net) + '\r\n'); param = { page: 1, size: size };
});
if (rsp.data.length < size) {
write(fileName, content);
} else {
param.page = param.page + 1;
exportCrv(url, fileName, head, formatter, param, content);
} }
queryPage(url, param, true, true).then((rsp: any) => {
debugger;
if (!rsp || rsp.data.length == 0) {
resolve(content.join('\r\n'));
return;
}
rsp.data.forEach((net) => {
content.push(formatter(net));
});
if (rsp.data.length < param.size) {
resolve(content.join('\r\n'));
} else {
param.page = param.page + 1;
exportCsv(url, head, formatter, param, content).then(resolve);
}
});
}); });
}; };
const write = (name, content) => { export const downloadText = (name, text) => {
downloadFile(name, 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
};
export const downloadBlob = (name, blob) => {
downloadFile(name, URL.createObjectURL(blob));
};
export const downloadFile = (name, href) => {
var element = document.createElement('a'); var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(content.join(''))); element.setAttribute('href', href);
element.setAttribute('download', name); element.setAttribute('download', name);
element.style.display = 'none'; element.style.display = 'none';
document.body.appendChild(element); document.body.appendChild(element);

2
plugs/http/axios.ts

@ -12,7 +12,7 @@ const config = {
withCredentials: true, // Check cross-site Access-Control withCredentials: true, // Check cross-site Access-Control
}; };
const _axios = axios.create(config); export const _axios = axios.create(config);
_axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; _axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
_axios.defaults.headers.put['Content-Type'] = 'application/json;charset=UTF-8'; _axios.defaults.headers.put['Content-Type'] = 'application/json;charset=UTF-8';
_axios.defaults.headers.delete['Content-Type'] = 'application/json;charset=UTF-8'; _axios.defaults.headers.delete['Content-Type'] = 'application/json;charset=UTF-8';

2
plugs/http/axios2.ts

@ -10,7 +10,7 @@ const config = {
withCredentials: true, // Check cross-site Access-Control withCredentials: true, // Check cross-site Access-Control
}; };
const _axios = axios.create(config); export const _axios = axios.create(config);
_axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; _axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
_axios.defaults.headers.put['Content-Type'] = 'application/json;charset=UTF-8'; _axios.defaults.headers.put['Content-Type'] = 'application/json;charset=UTF-8';
_axios.defaults.headers.delete['Content-Type'] = 'application/json;charset=UTF-8'; _axios.defaults.headers.delete['Content-Type'] = 'application/json;charset=UTF-8';

Loading…
Cancel
Save