interceptors.js 1.2 KB
"use strict";const e=require("../common/vendor.js"),r=require("../uni_modules/uview-plus/index.js"),t=require("../store/modules/user.js"),o=require("./errorCode.js");let s=!1;exports.requestInterceptors=e=>{r.http.interceptors.request.use((e=>{var r;if(e.data=e.data||{},null==(r=null==e?void 0:e.custom)?void 0:r.auth){const r=t.useUserStore();e.header.Authorization=r.token}return e}),(e=>Promise.reject(e)))},exports.responseInterceptors=n=>{r.http.interceptors.response.use((r=>{const n=r.data,i=r.data.code||200,u=o.errorCode[i]||r.data.msg||o.errorCode.default;if(401!==n.code)return 500===i||601===i?(e.index.$u.toast(`${u}`),Promise.reject(new Error(u))):200!==i?(e.index.$u.toast(`${u}`),Promise.reject("error")):Promise.resolve(n);{const r=t.useUserStore();"普通角色"===r.roleGroup?e.index.login({success:async t=>{await r.login({code:t.code,type:0}),e.index.switchTab({url:"/pages/index/index"})}}):s||(s=!0,e.index.showModal({title:"温馨提示",content:"你的身份信息已过期,需要重新登录~",confirmText:"前往登录",cancelText:"暂不登录",success:r=>{r.confirm&&e.index.navigateTo({url:"/pages/login/login"}),r.cancel,s=!1}}))}}),(r=>{let{msg:t}=r.data;return e.index.$u.toast(`${t}`),Promise.reject(r)}))};