This commit is contained in:
Jason
2022-09-07 20:58:01 +08:00
parent 67ccf1b607
commit 5c0105e786
16 changed files with 353 additions and 31 deletions

57
app/src/utils/client.ts Normal file
View File

@@ -0,0 +1,57 @@
import { ClientEnum } from '@/enums/appEnums'
/**
* @description 判断是否为微信环境
* @return { Boolean }
*/
export const isWeixinClient = () => {
// #ifdef H5
return /MicroMessenger/i.test(navigator.userAgent)
// #endif
}
/**
* @description 获取当前是什么端
* @return { Object }
*/
export const getClient = () => {
//@ts-ignore
return handleClientEvent({
// 微信小程序
MP_WEIXIN: () => ClientEnum['MP_WEIXIN'],
// 微信公众号
OA_WEIXIN: () => ClientEnum['OA_WEIXIN'],
// H5
H5: () => ClientEnum['H5'],
// APP
IOS: () => ClientEnum['IOS'],
ANDROID: () => ClientEnum['ANDROID'],
// 其它
OTHER: () => null
})
}
// 根据端处理事件
//@ts-ignore
export const handleClientEvent = ({ MP_WEIXIN, OA_WEIXIN, H5, IOS, ANDROID, OTHER }) => {
// #ifdef MP-WEIXIN
return MP_WEIXIN()
// #endif
// #ifdef H5
return isWeixinClient() ? OA_WEIXIN() : H5()
// #endif
// #ifdef APP-PLUS
const system = uni.getSystemInfoSync()
if (system.platform == 'ios') {
return IOS()
} else {
return ANDROID()
}
// #endif
return OTHER()
}
export const client = getClient()

View File

@@ -32,11 +32,11 @@ const requestHooks: RequestHooks = {
if (!isTransformResponse) {
return response.data
}
console.log(response.data)
const { code, data, msg } = response.data as any
switch (code) {
case RequestCodeEnum.SUCCESS:
return data
case RequestCodeEnum.PARAMS_TYPE_ERROR:
case RequestCodeEnum.PARAMS_VALID_ERROR:
case RequestCodeEnum.REQUEST_METHOD_ERROR:
@@ -47,7 +47,8 @@ const requestHooks: RequestHooks = {
case RequestCodeEnum.NO_PERMISSTION:
case RequestCodeEnum.FAILED:
case RequestCodeEnum.SYSTEM_ERROR:
return Promise.reject(data)
uni.$u.toast(msg)
return Promise.reject(msg)
case RequestCodeEnum.TOKEN_INVALID:
case RequestCodeEnum.TOKEN_EMPTY:
@@ -63,13 +64,13 @@ const defaultOptions: HttpRequestOptions = {
requestOptions: {
timeout: 10 * 1000
},
baseUrl: 'https://likeadmin-java.yixiangonline.com',
baseUrl: import.meta.env.VITE_APP_BASE_URL,
//是否返回默认的响应
isReturnDefaultResponse: false,
// 需要对返回数据进行处理
isTransformResponse: true,
// 接口拼接地址
urlPrefix: '/api',
urlPrefix: 'api',
// 忽略重复请求
ignoreCancel: false,
// 是否携带token