2025-03-11 17:57:17 +08:00

98 lines
3.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import _config from './config'; // 导入私有配置
// 这里service是自己做的本地信息存储封装的一个配置文件方便管理使用
import service from './service'; // 这里是之前项目配置本地存储账号信息的,不需要可以删除
export default function $http(options) {
// 进行url字符串拼接_config.url是再config中配置要请求的域名或者id+端口号这样方便管理,
// options.url是index中请求配置的完美拼接
options.url = _config.url + options.url;
console.log(options.url)
return new Promise((resolve, reject) => {
// 拦截请求
_config.header.Authorization=service.getToken()//这里是调用本地存储配置文件的方法不需要可以改下面这种方式
console.log('token',service.getToken() )
// if(service.getStorageExpires('utn')) {
// _config.header.Authorization = service.getStorageExpires('utn')
// service.setStorageExpires('utn', _config.header.Authorization, 30)
// console.log('Authorization',_config.header.Authorization )
// }else {
// service.getStorageExpires('token') && uni.removeStorageSync("token")
// uni.redirectTo({
// url: "/pages/login/index"
// })
// }
_config.header['Content-type'] = 'application/json;charset=utf-8'
_config.header['Authorization'] = "Bearer " + options.token
_config.timeout = 600000
// _config.header['Content-type'] = 'application/x-www-form-urlencoded;charset=utf-8'
//_config.header.Authorization=uni.getStorageSync(STATE_KEY);
_config.complete = (response) => {
console.log(response)
// 登录失效这边后台是返回403看情况
if(response.data.code === 403){
//返回登录界面
uni.navigateTo({
url:'/pages/login/login'
})
uni.showToast({
icon: 'none',
title: '登录已失效'
});
//清空token
service.addToken('')
}
// request請求访问成功 这里返回的时候response.data才是请求返回的结果errorCode
if(response.data.code === 200){
resolve(response.data)
}else{
// 接口请求失败
resolve(response.data)
//console.log(response.data)
// 处理catch 请求,不在本页面之外处理,统一在这里处理
if(options.handle){
reject(response)
}else{
try {
Promise.reject(response).catch(err => {
//console.error(err);
_page_error(response.statusCode || response.errMsg);
});
} catch (e) {
console.log(e)
}
}
}
}
// 开始请求
uni.request(Object.assign({}, _config, options));
})
}
// 接口錯誤
function _error(err, msg = '') {
switch (err) {
case 400:
console.error(msg)
// 错误码400的处理方式
break;
}
}
// request 錯誤
function _page_error(err) {
switch (err) {
case 401:
// 错误码404的处理方式
console.error("请求背拒绝")
break;
case 404:
// 错误码404的处理方式
console.error("没有找到页面")
break;
case 405:
console.error("错误的请求")
break;
}
}