import config from "@/config/index.js" const baseUrl = process.env.NODE_ENV === 'development' ? config.base.dev : config.base.pro; import { getToken } from '@/libs/auth.js'; export async function request(params) { return new Promise(function(resolve, reject) { try { uni.showLoading({ title: '加载中', mask: true }); if(!getToken()&¶ms.url!=='/login'){ uni.clearStorageSync() uni.reLaunch({ url: '/pages/login/index' }) return } uni.request({ ...formatRequestBody(params), success(response) { let data = response.data; let code = data.code; let msg = data.msg if (code === 200) { resolve(data) } else { if (code === 401) { uni.showToast({ title: "登录失效!", mask: true, icon: "none", duration:3000, complete() { // let pages=getCurrentPages() // console.log({ // page:pages[pages.length-1].$route.fullPath // }) // let qrcode=uni.getStorageSync('qrcode') // if(qrcode){uni.setStorageSync('qrcode',qrcode)} uni.clearStorageSync() setTimeout(()=>{ uni.reLaunch({ url: '/pages/login/index' }) },3000) } }) } else { reject(data) uni.showToast({ title: msg, mask: true, duration:3000, icon: "none" }) } } }, fail(res) { uni.showToast({ title: res, mask: true, icon: "none" }) reject(res) }, complete(res) { uni.hideLoading(); } }) } catch (err) { console.log(err) reject(err) } }) } function formatRequestBody(params) { let url = params.url; url = baseUrl + url; let data = { ...params.data }; let header = { ...params.header, AppID:config.appID, AppKey:config.appKey, AppSecret:config.appSecret }; if(getToken()){ header[config.TokenKey]=getToken(); } let method = params.method || "get"; let dataType = params.dataType || "json"; let requestBody = { url, data, header, method, dataType }; return requestBody; };