|
@@ -1,71 +1,74 @@
|
|
|
import config from "../config/index.js";
|
|
|
-import {
|
|
|
- showLoadingToast,
|
|
|
- showToast,
|
|
|
- closeToast
|
|
|
-} from "vant";
|
|
|
+import { showLoadingToast, showToast, closeToast } from "vant";
|
|
|
import "vant/lib/toast/style/index";
|
|
|
|
|
|
function getdata(data) {
|
|
|
- let text = "";
|
|
|
- for (const key in data) {
|
|
|
- text += key + "=" + data[key] + "&";
|
|
|
- }
|
|
|
- text ? (text = "?" + text) : "";
|
|
|
- text = text.replace(/&$/, "");
|
|
|
- return text;
|
|
|
+ let text = "";
|
|
|
+ for (const key in data) {
|
|
|
+ text += key + "=" + data[key] + "&";
|
|
|
+ }
|
|
|
+ text ? (text = "?" + text) : "";
|
|
|
+ text = text.replace(/&$/, "");
|
|
|
+ return text;
|
|
|
}
|
|
|
|
|
|
-export default function(ori) {
|
|
|
- let baseurl = config.base[ori.urlType || "ajax"];
|
|
|
- let url = baseurl + ori.url;
|
|
|
- let isEnd = false;
|
|
|
- let noToast = ori.noToast;
|
|
|
- let time = setTimeout(() => {
|
|
|
- clearTimeout(time);
|
|
|
- !isEnd && !ori.noLoad && showLoadingToast({
|
|
|
- message: '加载中...',
|
|
|
- forbidClick: true,
|
|
|
- duration: 0
|
|
|
- });
|
|
|
- }, 300);
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- var xhttp;
|
|
|
- if (window.XMLHttpRequest) xhttp = new XMLHttpRequest();
|
|
|
- else if (window.ActiveXObject)
|
|
|
- xhttp = new window.ActiveXObject("Microsoft.XMLHTTP");
|
|
|
- let method = ori.method.toUpperCase();
|
|
|
- if (method === "GET") url += getdata(ori.data || {});
|
|
|
- xhttp.open(method, url, true);
|
|
|
- xhttp.setRequestHeader(
|
|
|
- "Content-type",
|
|
|
- ori.header ?
|
|
|
- ori.header.contentType || "application/json" :
|
|
|
- "application/json"
|
|
|
- );
|
|
|
- method === "GET" ? xhttp.send() : xhttp.send(JSON.stringify(ori.data));
|
|
|
- xhttp.onreadystatechange = function() {
|
|
|
- if (this.readyState != 4) return;
|
|
|
- isEnd = true;
|
|
|
- closeToast();
|
|
|
- if (this.status != 200) {
|
|
|
- let t = JSON.parse(this.responseText || "{}");
|
|
|
- !noToast && showToast(t.message || "请求失败 " + this.status);
|
|
|
- reject(t);
|
|
|
- return;
|
|
|
- }
|
|
|
- let data = {};
|
|
|
- try {
|
|
|
- data =
|
|
|
- this.responseText !== "null" ?
|
|
|
- JSON.parse(this.responseText || "{}") : {};
|
|
|
- } catch (err) {
|
|
|
- !noToast && showToast("请求失败");
|
|
|
- console.error(err);
|
|
|
- reject(err);
|
|
|
- }
|
|
|
- if (data.code === 0) resolve(data.data);
|
|
|
- else reject(data);
|
|
|
- };
|
|
|
- });
|
|
|
+export default function (ori) {
|
|
|
+ let baseurl = config.base[ori.urlType || "ajax"];
|
|
|
+ let url = baseurl + ori.url;
|
|
|
+ let isEnd = false;
|
|
|
+ let noToast = ori.noToast;
|
|
|
+ let time = setTimeout(() => {
|
|
|
+ clearTimeout(time);
|
|
|
+ !isEnd &&
|
|
|
+ !ori.noLoad &&
|
|
|
+ showLoadingToast({
|
|
|
+ message: "加载中...",
|
|
|
+ forbidClick: true,
|
|
|
+ duration: 0,
|
|
|
+ });
|
|
|
+ }, 300);
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ var xhttp;
|
|
|
+ if (window.XMLHttpRequest) xhttp = new XMLHttpRequest();
|
|
|
+ else if (window.ActiveXObject)
|
|
|
+ xhttp = new window.ActiveXObject("Microsoft.XMLHTTP");
|
|
|
+ let method = ori.method.toUpperCase();
|
|
|
+ if (method === "GET") url += getdata(ori.data || {});
|
|
|
+ xhttp.open(method, url, true);
|
|
|
+ xhttp.setRequestHeader(
|
|
|
+ "Content-type",
|
|
|
+ ori.header
|
|
|
+ ? ori.header.contentType || "application/json"
|
|
|
+ : "application/json"
|
|
|
+ );
|
|
|
+ xhttp.setRequestHeader(
|
|
|
+ "Authorization",
|
|
|
+ ori.header && ori.header.Authorization
|
|
|
+ );
|
|
|
+ method === "GET" ? xhttp.send() : xhttp.send(JSON.stringify(ori.data));
|
|
|
+ xhttp.onreadystatechange = function () {
|
|
|
+ if (this.readyState != 4) return;
|
|
|
+ isEnd = true;
|
|
|
+ closeToast();
|
|
|
+ if (this.status != 200) {
|
|
|
+ let t = JSON.parse(this.responseText || "{}");
|
|
|
+ !noToast && showToast(t.message || "请求失败 " + this.status);
|
|
|
+ reject(t);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let data = {};
|
|
|
+ try {
|
|
|
+ data =
|
|
|
+ this.responseText !== "null"
|
|
|
+ ? JSON.parse(this.responseText || "{}")
|
|
|
+ : {};
|
|
|
+ } catch (err) {
|
|
|
+ !noToast && showToast("请求失败");
|
|
|
+ console.error(err);
|
|
|
+ reject(err);
|
|
|
+ }
|
|
|
+ if (data.code === 0) resolve(data.data);
|
|
|
+ else reject(data);
|
|
|
+ };
|
|
|
+ });
|
|
|
}
|