//引入相关配置信息 import env from "./config.js" /** * create zzq * uni请求框架的二次封装 * 参数说明options:{url:...,method:...,data...} */ export const request = (options) => { return new Promise((resolve, reject) => { // if(!options?.hideload){ // if(options?.data?.token&&options.data.token){ // uni.showLoading({ // title: '', // }) // } // } let token = uni.getStorageSync('AppAuthorization'); //判断是否存在请求token let header={} header=options.headers || {'Content-Type': 'application/json'} if(!token){ header=options.headers || {'Content-Type': 'application/json'} }else{ if(options.headers){ options.headers["AppAuthorization"]=token } header=options.headers || {'Content-Type': 'application/json','AppAuthorization': token} } // // 添加 timestamp 解决接口缓存问题,保证每次请求都是最新的 // options.data = { // ...options.data, // timestamp:new Date().getTime() // } uni.request({ header:header, //默认是json的请求方式 url: env.BASEURL + options.url, //是否是走本部门接口还是走外部接口 method: options.method || 'GET', //默认是GET请求 data: options.data || {}, //如果data不为空,则请求data数据信息 dataType:options.dataType||"json", timeout:options.timeout||40000, success: (res) => { //判断请求响应不为200 if (res.data.code == 200||(res.data.meta&&res.data.meta.success==true)) { // if(res.header.authorization &&(options.url=="platformNormalLogin" || options.url=="/newPlatformLogin" || options.url=="/platformThirdSelectLogin")){ // uni.setStorageSync("authorization",res.header.authorization); // } resolve(res) }else{ //提示用户相关的后端返回信息 if(res.data.msg){ uni.showToast({ icon: "none", title: res.data.msg //后端返回的校验信息 }) } let noLogin = [10003,10004] if (noLogin.includes(res.data.code)) { setTimeout(() => { uni.navigateTo({ url: '/pages/myinfo/login' }); }, 1000); } resolve(res) } }, fail: (err) => { console.log('request-fail>>>',options.url,err) //请求接口报错或服务端异常则提示用户以下信息 // uni.showToast({ // title: "服务端接口异常~", // icon: "none" // }) reject(err) }, complete() { if (!options.hideload) { uni.hideLoading() } } }) }) }