zhuangpeimespda/utils/request.js
赵正易 a8dbe84e25 feat: 新增油漆件叫料与收料功能及相关页面
refactor: 优化首页菜单图标显示方式

fix: 修复SignalR连接初始化问题

style: 更新manifest.json版本号至2.0.0

chore: 新增多个SVG图标资源

perf: 为登录接口添加超时处理

docs: 更新API接口文档

test: 添加油漆件叫料相关测试用例

build: 更新依赖版本
2025-08-06 10:25:23 +08:00

96 lines
2.5 KiB
JavaScript
Raw Permalink 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 store from '@/store'
import config from '@/config'
import {
getToken
} from '@/utils/auth'
import {
getBaseUrl,
setBaseUrl,
removeBaseUrl
} from '@/utils/baseUrl';
import errorCode from '@/utils/errorCode'
import {
toast,
showConfirm,
tansParams
} from '@/utils/common'
let timeout = 60000
const baseUrl = config.baseUrl
const request = config => {
// console.log('config',config);
// 是否需要设置 token
const storageBaseUrl = 'http://' + getBaseUrl();
const isToken = (config.headers || {}).isToken === false
config.header = config.header || {}
if (getToken() && !isToken) {
config.header['Authorization'] = 'Bearer ' + getToken()
}
// get请求映射params参数
if (config.params) {
let url = config.url + '?' + tansParams(config.params)
url = url.slice(0, -1)
config.url = url
}
return new Promise((resolve, reject) => {
uni.request({
method: config.method || 'get',
timeout: config.timeout || timeout,
url: config.baseUrl || storageBaseUrl + config.url,
data: config.data,
header: config.header,
dataType: 'json'
}).then(response => {
// console.log('response',response);
let [error, res] = response
if (error) {
if(error.errMsg === "request:fail abort statusCode:-1 timeout"){
toast('接口连接超时请检查IP地址')
reject(error)
return
}
toast('后端接口连接异常')
reject(error)
return
}
// console.log('response',response,error,res);
const code = res.data.code || 200
const msg = errorCode[code] || res.data.msg || errorCode['default']
if (code === 401) {
showConfirm('登录状态已过期,请重新登录').then(res => {
store.dispatch('LogOut').then(res => {
uni.reLaunch({
url: '/pages/login'
})
})
})
reject('无效的会话,或者会话已过期,请重新登录。')
} else if (code === 500) {
toast(msg)
reject('500')
} else if (code !== 200) {
toast(msg)
reject(code)
}
resolve(res.data)
})
.catch(error => {
let {
message
} = error
if (message === 'Network Error') {
message = '后端接口连接异常'
} else if (message.includes('timeout')) {
message = '系统接口请求超时'
} else if (message.includes('Request failed with status code')) {
message = '系统接口' + message.substr(message.length - 3) + '异常'
}
toast(message)
reject(error)
})
})
}
export default request