// interceptor.js
const requestInterceptor = (config) => {
// 在请求发送之前可以进行一些处理,比如添加请求头等
// 这里简单地添加了一个 token,你可以根据自己的需求进行修改
const token = wx.getStorageSync('token');
if (token) {
config.header = {
...config.header,
'Authorization': `Bearer ${token}`
};
}
return config;
};
const responseInterceptor = (response) => {
// 在响应返回之后可以进行一些处理,比如判断是否有权限,处理错误等
const { statusCode, data } = response;
if (statusCode === 401) {
// 处理权限不足的情况
console.log('权限不足');
}
return response;
};
const request = (config) => {
// 执行请求拦截器
const interceptedConfig = requestInterceptor(config);
// 使用 Promise 包装 wx.request
return new Promise((resolve, reject) => {
wx.request({
...interceptedConfig,
success: (res) => {
// 执行响应拦截器
const interceptedResponse = responseInterceptor(res);
resolve(interceptedResponse);
},
fail: (error) => {
reject(error);
}
});
});
};
// 导出封装后的请求方法
module.exports = request;
微信小程序最简单的请求拦截器和响应的封装
最新推荐文章于 2025-02-20 08:00:00 发布