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");let s=!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 n=t.data;if(e.index.hideLoading(),401===n.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"})}}):s||(s=!0,e.index.showModal({title:"温馨提示",content:"你的身份信息已过期,需要重新登录~",confirmText:"前往登录",cancelText:"暂不登录",success:t=>{t.confirm&&e.index.navigateTo({url:"/pages/login/login"}),t.cancel,s=!1}}))}const i=null==(r=t.config)?void 0:r.custom;return 200!==n.code?(i.toast||e.index.$u.toast(`${n.msg}`),(null==i?void 0:i.catch)?Promise.reject(n):new Promise((()=>{}))):n||{}}),(t=>{let{code:o,msg:s}=t.data;return e.index.$u.toast(`${s}`),Promise.reject(t)}))};