interceptors.js 2.8 KB
"use strict";
const common_vendor = require("../common/vendor.js");
const uni_modules_uviewPlus_index = require("../uni_modules/uview-plus/index.js");
const store_modules_user = require("../store/modules/user.js");
const utils_errorCode = require("./errorCode.js");
const requestInterceptors = (vm) => {
  uni_modules_uviewPlus_index.http.interceptors.request.use((config) => {
    var _a;
    config.data = config.data || {};
    if ((_a = config == null ? void 0 : config.custom) == null ? void 0 : _a.auth) {
      const userStore = store_modules_user.useUserStore();
      config.header.Authorization = userStore.token;
    }
    return config;
  }, (config) => (
    // 可使用async await 做异步操作
    Promise.reject(config)
  ));
};
let loginModal = false;
const responseInterceptors = (vm) => {
  uni_modules_uviewPlus_index.http.interceptors.response.use((response) => {
    const data = response.data;
    const code = response.data.code || 200;
    const msg = utils_errorCode.errorCode[code] || response.data.msg || utils_errorCode.errorCode["default"];
    if (data.code === 401) {
      const userStore = store_modules_user.useUserStore();
      if (userStore.roleGroup === "普通角色") {
        common_vendor.index.login({
          success: async (loginRes) => {
            await userStore.login({ code: loginRes.code, type: 0 });
            common_vendor.index.switchTab({
              url: "/pages/index/index"
            });
          }
        });
      } else {
        if (!loginModal) {
          loginModal = true;
          common_vendor.index.showModal({
            title: "温馨提示",
            content: "你的身份信息已过期,需要重新登录~",
            // showCancel: false,
            confirmText: "前往登录",
            cancelText: "暂不登录",
            success: (res) => {
              if (res.confirm) {
                common_vendor.index.navigateTo({
                  url: "/pages/login/login"
                });
              }
              if (res.cancel)
                ;
              loginModal = false;
            }
          });
        }
      }
    } else if (code === 500) {
      common_vendor.index.$u.toast(`${msg}`);
      return Promise.reject(new Error(msg));
    } else if (code === 601) {
      common_vendor.index.$u.toast(`${msg}`);
      return Promise.reject(new Error(msg));
    } else if (code !== 200) {
      common_vendor.index.$u.toast(`${msg}`);
      return Promise.reject("error");
    } else {
      return Promise.resolve(data);
    }
  }, (response) => {
    let { msg } = response.data;
    common_vendor.index.$u.toast(`${msg}`);
    return Promise.reject(response);
  });
};
exports.requestInterceptors = requestInterceptors;
exports.responseInterceptors = responseInterceptors;
//# sourceMappingURL=../../.sourcemap/mp-weixin/utils/interceptors.js.map