12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- //引入相关配置信息
- 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()
- }
- }
- })
- })
- }
|