之前做一个前后端分离项目是,用axios进行交互,访问一些有权限的页面时,需要在请求头中携带token值,在uniapp用uni.request发送请求时我发现浏览器中请求头中并没有携带token,有些有权限的页面也无法加载出来。
也找了很多解决方法,基本都是大同小异,发现和我的不太一样,于是就自己弄了一个
首先:
在登陆成功之后,需要把token保存到本地
然后新建一个request.js文件
我是这样配置的
const BASE_URL = 'http://127.0.0.1:8088'//接口地址
export const http = (options) => {
return new Promise((resolve,reject) => {
uni.request({
url: BASE_URL + options.url,
method: options.method || 'GET',
data: options.data || {},
header: {Authorization:uni.getStorageSync('token')},
success: (res) => {
if (res == '') {
return uni.showToast({
icon: 'loading',
title:'获取数据失败'
})
}
resolve(res)
},
fail: (err) => {
return uni.showToast({
icon: 'loading',
title:'请求失败'
})
reject(err)
}
})
})
}
然后再需要的页面引入
加上了这句 header: {Authorization:uni.getStorageSync(‘token’)} 之后
请求头中携带了token,
有权限的页面也出来了
终于弄好了