1、在src目录上创建util目录然后创建request.ts文件
// https://x.dscmall.cn/api/goods/type_list?page=1&size=10&type=is_best
// 通用的url路径
let baseURl = "https://x.dscmall.cn/api"
// 需要拦截的api名称,如uni.addInterceptor('request',OBJECt),将拦截uni.request()
// 拦截器
const interceptorOptions = {
// invoke拦截前触发
invoke(options : UniApp.RequestOptions) {
options.url = baseURl + options.url
// timeout请求时间
options.timeout = 10000
// 添加请求头
options.header = {
...options.header
}
// 添加token,token登录成功之后存放到状态管理中
const token = 'this is token'
if (token) {
options.header['token'] = token
}
}
}
uni.addInterceptor('request', interceptorOptions)
// 封装请求,使用Promise形式,之后就可以使用async await
export const requestApi = (options : UniApp.RequestOptions) => {
return new Promise((resolve, reject) => {
uni.request({
...options,
s