uniapp—— request 封装
1.创建request.js
uniapi(function_name, obj) { return new Promise((resole, reject)=>{ uni[function_name]({ ...obj, success: res => resole(res), fail:res=>reject(res) }) }) }, request(params){ return new Promise((resolve,reject)=>{ this.unirequest(params).then((res)=>{ resolve(res); }) }) }, netWorkStatus(){ return new Promise((resolve,reject)=>{ this.uniapi("getNetworkType").then(res=>{ if(res.networkType=="none"){ uni.showToast({ title: '当前无网络,请稍候再试', icon:'none' }); reject('当前无网络,请稍候再试') }else{ resolve() } }) }) }, unirequest(params){ return new Promise((resolve,reject)=>{ this.netWorkStatus().then(()=>{ this.uniapi("request",{ ...params, url:'域名'+params.url, method:params.method?params.method:'POST', header:{ token:uni.getStorageSync('token'), //token值 'device':'WEIXIN' } }).then(res=>{ resolve(res.data); }); }) }); }
2.main.js全局引用
import Request from 'request.js的路径' Vue.prototype.base=new Request();
3.页面调用
getArry:function(){ this.request({ url: '接口名', method: 'POST', data:{}, }).then(res => { //res=接口返回的参数 }) },