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