import { back, showModal } from "./traoAPI"; import { WCUserLogin } from "./Interface"; // import { getGlobalData, setGlobalData } from "./global"; import Taro from "@tarojs/taro"; import formdata from "./wxFormdata/formData"; import store from "../store"; const global = store.getState().global; const global_requestUrlList = []; // 全局:正在请求的url地址,防止多次点击 export const Ajax = (params) => { const app = Taro.getApp(); const domain = global.domain; // console.log("Ajaxdomain", app, domain); // Taro.showLoading({ // title: '请求中...', // mask: true // }); // 防止多次点击 const requestUrlList = global_requestUrlList; const whiteList = []; // 白名单 if ( requestUrlList.indexOf(params.url) > -1 && whiteList.indexOf(params.url) < 0 ) { return; } else { requestUrlList.push(params.url); } return new Promise((reslove, reject) => { Taro.request({ url: domain + params.url, method: params.method || "GET", header: { Authorization: "Bearer " + Taro.getStorageSync("token"), ...params.header, }, data: params.data, success(res) { if (res.statusCode !== 200) { if (res.statusCode == 403) { Taro.showModal({ title: "提示", content: "登录已过期,请重新登录", showCancel: false, }).then((res) => { Taro.setStorageSync("token", null); Taro.clearStorage(); // 清空所有缓存 Taro.reLaunch({ // url: "/pages/login/login", url: "/pages/login/login", }); }); return; } Taro.showModal({ title: "提示", content: String("错误码:" + res.statusCode), showCancel: false, }); return false; } if (params.url == "/Api/ReadFileInstrument") { reslove(res); return false; } if (res.data.code !== 200) { let msg = typeof res.data.msg == "string" ? res.data.msg : "没内容提示"; if (msg == "请不要操作太快哦") { reject(res); return false; } const noTipsCodes = [5001, 5002, 5003]; if (noTipsCodes.indexOf(res.data.code) == -1) { Taro.showModal({ title: "提示", content: msg, showCancel: false, }).then(() => { reject(res); if (res.data.code == 403 || res.data.msg === "登录状态已过期") { Taro.setStorageSync("token", null); Taro.reLaunch({ // url: "/pages/login/login", url: "/pages/login/login", }); } }); } else { reject(res); } return false; } reslove(res); }, fail(err) { console.log(err); Taro.showModal({ title: "提示", content: "请检查网络是否连接", showCancel: false, }); }, complete() { Taro.hideLoading(); const requestUrlList = global_requestUrlList; const newRequestUrlList = requestUrlList.splice( requestUrlList.indexOf(params.url), 1 ); }, }); }); }; export const AjaxuploadFile = (params) => { const app = Taro.getApp(); const domain = global.domain; // Taro.showLoading({ // title: "请求中...", // mask: true, // }); return new Promise((reslove, reject) => { Taro.uploadFile({ filePath: params.filePath, name: "file", url: domain + params.url, formData: { type: "api", }, header: { token: getGlobalData("token") || Taro.getStorageSync("token"), }, success(res) { let o = JSON.parse(res.data); Taro.hideLoading(); if (res.statusCode !== 200) { Taro.showModal({ title: "提示", content: "上传出错", showCancel: false, }); return false; } if (o.code !== 200) { let msg = typeof o.msg == "string" ? o.msg : "没内容提示"; Taro.showModal({ title: "提示", content: msg, showCancel: false, }); return false; } reslove(o); }, fail() { Taro.hideLoading(); Taro.showModal({ title: "提示", content: "请检查网络是否连接", showCancel: false, }); }, }); }); }; export const AjaxFormData = (params) => { const app = Taro.getApp(); const domain = global.domain; // 防止多次点击 const requestUrlList = global_requestUrlList; const whiteList = ["/Api/MessageList"]; if ( requestUrlList.indexOf(params.url) > -1 && whiteList.indexOf(params.url) < 0 ) { return; } else { requestUrlList.push(params.url); } return new Promise((reslove, reject) => { Taro.request({ url: domain + params.url, method: params.method || "GET", header: { Authorization: "Bearer " + Taro.getStorageSync("token"), ...params.header, "content-type": params.data.contentType, }, data: params.data.buffer, success(res) { if (res.statusCode !== 200) { if (res.statusCode == 403) { Taro.showModal({ title: "提示", content: "登录已过期,请重新登录", showCancel: false, }).then((res) => { Taro.setStorageSync("token", null); Taro.clearStorage(); // 清空所有缓存 Taro.reLaunch({ url: "/pages/login/login", }); }); return; } Taro.showModal({ t2: String("错误码:" + res.statusCode), showCancel: false, }); return false; } if (res.data.code !== 200) { let msg = typeof res.data.msg == "string" ? res.data.msg : "没内容提示"; if (msg == "请不要操作太快哦") { reject(res); return false; } const noTipsCodes = [5001, 5002, 5003]; if (noTipsCodes.indexOf(res.data.code) == -1) { Taro.showModal({ title: "提示", content: msg, showCancel: false, }).then(() => { reject(res); if (res.data.code == 403 || res.data.msg === "登录状态已过期") { Taro.setStorageSync("token", null); Taro.reLaunch({ url: "/pages/login/login", }); } }); } else { reject(res); } return false; } reslove(res); }, fail(err) { console.log(err); Taro.showModal({ title: "提示", content: "请检查网络是否连接", showCancel: false, }); }, complete() { Taro.hideLoading(); const requestUrlList = global_requestUrlList; const newRequestUrlList = requestUrlList.splice( requestUrlList.indexOf(params.url), 1 ); }, }); }); };