新建request.js 复制下面代码
// 全局请求路径,也就是后端的请求基准路径
const BASE_URL = ‘http://172.10.0.1:8080‘
const header = {}
const request = (url=‘‘,method=‘‘,data={}) => {
header[‘content-type‘] = "application/json;charset=utf-8";
if(url != ‘/api/auth/login‘){
header[‘X-Authorization‘] = "Bearer "+uni.getStorageSync(‘token‘);//判断如果不是登录将token加到header里
}
return new Promise((resolve,reject) => {
uni.request({
method:method,
url:BASE_URL + url,
data:data,
header:header,
dataType:‘json‘
}).then((response) => {
let [error,res] = response;
// 登录过期
if(res.data.errorCode == 11||res.data.errorCode == 10){
uni.clearStorage(‘token‘)
uni.showToast({
title:‘登录过期,请重新登录‘,
duration:2000,
icon: ‘none‘
});
};
resolve(res.data);
}).catch((error) => {
// let [err,res] = error;
reject(error);
});
});
}
export default request
将resquest挂载到全局
import request from ‘common/request.js‘
Vue.prototype.$request = request
在需要网络请求的页面使用
this.$request(‘url‘,‘GET‘,{
//请求参数
}).then((res)=>{
console.log(res)
})
uni-app网络请求(项目实战)