可以直接在main.js中定义
先定义一个公共地址
Vue.prototype.apiUrl="公共的地址"
然后封装request
Vue.prototype.$request=function(url,data=''){
// var that=this
return new Promise((reslove,reject)=>{
uni.request({
url:this.apiUrl+url,
method:"POST",
header: {
'token': uni.getStorageSync('token')
},
data:data,
success:(res)=>{
console.log(res)
//token错误和返回结果都是用code
if(res.data.tcode==0){
reslove({"tcode":0,"msg":"未登录"})
// this.code=0
}
if(res.data.tcode==1){
reslove(res.data)
}
if(res.data.tcode==2){
uni.setStorageSync('token',res.data.token)
uni.request({
url:this.apiUrl+url,
method:"POST",
header: {
'token': uni.getStorageSync('token')
},
data:data,
success:(res)=>{
reslove(res.data)
}
})
}
if(res.data.tcode==3){
reslove({"tcode":0,"msg":"token失效"})
uni.setStorageSync("token",'')
}
if(res.data.tcode==4){
reslove({"tcode":0,"msg":"没有相关数据"})
uni.setStorageSync("token",'')
}
if(res.data.code==0||res.data.code){
reslove(res.data)
}
}
})
})
使用
getData(){
uni.request({
url: this.apiUrl+'/index', //仅为示例,并非真实接口地址。
success: (res) => {
}
});
}