123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- import store from "@/store/index.js";
- import config from "@/common/config";
- import method from "@/common/methodTool";
- var num = 1;
- let isLoginLose = false
- //接口api
- export const BASE_URL = config.BASE_URL;
- // #ifdef MP-WEIXIN
- export let tenantId = config.tenantId; // 祥粤云学堂:867735392558919680,祥粤学堂:667735392758919630, 中建云学堂-567735392758918520
- // #endif
- // #ifdef H5
- export const host = setHost();
- export let tenantId = uni.getStorageSync(host) || "";
- // #endif
- export const myRequest = (options) => {
- if (store.state.allowLoading && !options.noLoading) {
- uni.showLoading({
- title: "拼命加载中...",
- mask: true,
- });
- }
- return new Promise(async (resolve, reject) => {
- // #ifdef H5
- if (!tenantId) {
- tenantId = await getTenantId();
- uni.setStorageSync(host, tenantId);
- }
- // #endif
- let token = uni.getStorageSync("token");
- uni.request({
- url: BASE_URL + options.url,
- method: options.method || "GET",
- data: options.data,
- header: options.noToken ? {
- TenantId: tenantId,
- } : {
- AuthorizationToken: "WX " + (token ? token : uni.getStorageSync(
- "token_temp")),
- TenantId: tenantId,
- },
- success: async (res) => {
- if (!options.compleLoading) {
- // 请求的接口有带compleLoading 就不隐藏加载中
- uni.hideLoading();
- }
- if (res.data.code == 401) {
- if (num <= 10) {
- if (!uni.getStorageSync("user_account")) {
- var pages = getCurrentPages(); // 获取栈实例
- let currentRoute = pages[pages.length - 1].route; // 获取当前页面路由
- if (currentRoute != "pages4/login/login") {
- uni.navigateTo({
- url: "/pages4/login/login",
- });
- uni.removeStorageSync("h5_code");
- }
- } else {
- num++;
- res = await doRequest(options);
- }
- } else {
- uni.removeStorageSync("user_account");
- var pages = getCurrentPages(); // 获取栈实例
- let currentRoute = pages[pages.length - 1].route; // 获取当前页面路由
- if (currentRoute != "pages4/login/login") {
- uni.navigateTo({
- url: "/pages4/login/login",
- });
- uni.removeStorageSync("h5_code");
- }
- }
- } else if (res.data.code == 409) {
- if (isLoginLose) {
- return
- }
- isLoginLose = true
- uni.removeStorageSync("user_account");
- uni.removeStorageSync("token");
- uni.removeStorageSync("h5_code");
- uni.showModal({
- content: "已从其他设备登录,是否重新登录!",
- showCancel: false,
- success: (k) => {
- if (k.confirm) {
- isLoginLose = false
- uni.navigateTo({
- url: "/pages4/login/login",
- });
- }
- },
- });
- reject();
- } else if (res.data.code == 601) {
- uni.switchTab({
- url: "/pages/learn/index",
- });
- uni.showModal({
- content: res.data.msg,
- showCancel: false,
- success: (k) => {
- if (k.confirm) {}
- },
- });
- reject();
- } else if (res.data.code == 699) {
- // #ifdef MP-WEIXIN
- resolve(res);
- // #endif
- // #ifdef H5
- window.location.href = res.data.msg
- reject();
- // #endif
- }
- resolve(res);
- },
- fail: (err) => {
- uni.hideLoading();
- uni.showToast({
- title: "网络波动异常,请检查网络。",
- icon: "none",
- });
- console.log("请求失败err---: ", options.url);
- if (options.url == "/face/certification/CompareFace") {
- console.log("人脸识别错误---1:", err);
- }
- reject(JSON.stringify(err));
- },
- complete: () => {
- // uni.hideLoading()
- // uni.hideToast()
- },
- });
- });
- async function doRequest(response) {
- let user_account = uni.getStorageSync("user_account");
- var datas = {
- url: "/refreshToken/" + user_account,
- method: "get",
- noToken: true,
- };
- const res = await myRequest(datas);
- if (res.data.code === 200) {
- uni.setStorageSync("token", res.data.data.token);
- var userInfo = {
- url: "/app/user/getInfo",
- method: "get",
- data: {
- fromPlat: 1
- }, // 来源平台 1小程序 2PC网站
- };
- const resUser = await myRequest(userInfo);
- if (resUser.data.code === 200) {
- store.state.userInfo = resUser.data.data;
- uni.setStorageSync("user_account", user_account);
- num = 1;
- }
- let onset = await myRequest(response);
- return onset;
- } else {
- var pages = getCurrentPages(); // 获取栈实例
- let currentRoute = pages[pages.length - 1].route; // 获取当前页面路由
- console.log("request-->333:", currentRoute);
- if (currentRoute != "pages4/login/login") {
- uni.navigateTo({
- url: "/pages4/login/login",
- });
- uni.removeStorageSync("h5_code");
- }
- }
- }
- };
- function getTenantId() {
- return new Promise((resolve, reject) => {
- uni.request({
- url: config.BASE_URL + "/app/common/findTenantId",
- method: "get",
- data: {
- hostH5: host,
- },
- success: (res) => {
- if (res.data.code == 200) {
- resolve(res.data.data);
- } else {
- uni.showToast({
- title: "请求接口失败",
- icon: "none",
- });
- reject();
- }
- },
- fail: (err) => {
- uni.showToast({
- title: "请求接口失败",
- icon: "none",
- });
- reject(JSON.stringify(err));
- },
- });
- });
- }
- function setHost() {
- let host = window.location.host;
- return method.checkDomain(host) ? host : "120.79.166.78:19012";
- }
|