import service from './newRequest.js' import store from '../store'; import w_md5 from "../libs/zww-md5/w_md5.js" import { randomString } from '../utils/rocessor.js'; import { saveUrl, interceptor } from '@/utils/loginUtils.js'; // 请求完成后拦截 service.interceptors.response( response => { // console.log(response,'response') try { let res = response.data; // 解析字符串为数字 if (res.status !== 200 && res.status) { console.log(res.status); if (res.status == 4123456) { uni.showModal({ title: "错误", content: res.msg, showCancel: false, success: (e) => { uni.navigateTo({ url: "/pages/collection/collection" }) } }) } else if (res.status == 410000) { // 调用退出登录方法清空用户信息 store.commit('user/logout'); // 判断是否开启强制登录 uni.showModal({ title: "登陆", content: '您未登录!是否马上登录?', success: (e) => { // 判断是否点击确认按钮 if (e.confirm) { // 保存当前页面地址 saveUrl() // 跳转页面 interceptor() } } }) } else { if (res.msg != '系统出现异常' && res.msg != '不需要验证码') { uni.showToast({ title: res.msg, duration: 1500, mask: false, icon: 'none', }) } } return Promise.reject(res) } else { return res } } catch (e) { console.log(e); } }, error => { console.log(error,'error') uni.showToast({ title: "加载错误请重试", duration: 1500, mask: false, icon: 'none', }) return Promise.reject(error) } ) // 请求前拦截器 service.interceptors.request( config => { // 允许请求接口 let openArList = [ "/api/login", "/api/register/verify", "/api/register", "/api/login/mobile", '/api/wechat/config', "/api/wechat/auth", "/api/register/reset", "/api/sms_captcha", "/api/verify_code" ] let openLogin = openArList.findIndex((el)=>el==config.url); console.log(openLogin) if(!store.state.user.hasLogin&&openLogin==-1){ console.log('登录') // 保存当前页面地址 // saveUrl() // 跳转页面 interceptor() return false; } let token = uni.getStorageSync('token') || ''; let { AUTH_TOKEN, Timestamp } = store.state.md5; let NONCE = randomString(12); let URL = store.state.baseURL + config.url; // let URL = "http://cbbtest.qiniu1314.com" + config.url; // console.log(URL) // console.log(AUTH_TOKEN) let MD5 = w_md5.hex_md5_32(Timestamp + NONCE + AUTH_TOKEN + URL); let tokenMD5 =`${Timestamp}|${NONCE}|${MD5}`; // console.log(tokenMD5) if (!config.header) { config.header = { "Authori-zation": 'Bearer ' + token, "X-YD-Req-Token": tokenMD5, "Access-Control-Max-Age":-1 } } else { // 添加key请求头 config.header["Authori-zation"] = 'Bearer ' + token; config.header["X-YD-Req-Token"] = tokenMD5; config.header["Access-Control-Max-Age"] = 1; } return config }, error => { // 错误处理 console.log(error) return Promise.reject(error) } ) let upFilse = service.upFilse; export { upFilse }; export default service.open;