添加登录

This commit is contained in:
浅念
2025-07-11 18:37:16 +08:00
parent 719911918f
commit 713d43f7b4
34 changed files with 1281 additions and 180 deletions
+7 -6
View File
@@ -6,7 +6,7 @@ import { $t } from '@/locales'
// 错误响应接口
export interface ErrorResponse {
code: number
msg: string
message: string
data?: unknown
}
@@ -94,7 +94,7 @@ export function handleError(error: AxiosError<ErrorResponse>): never {
}
const statusCode = error.response?.status
const errorMessage = error.response?.data?.msg || error.message
const errorMessage = error.response?.data?.message || error.message
const requestConfig = error.config
// 处理网络错误
@@ -106,9 +106,10 @@ export function handleError(error: AxiosError<ErrorResponse>): never {
}
// 处理 HTTP 状态码错误
const message = statusCode
? getErrorMessage(statusCode)
: errorMessage || $t('httpMsg.requestFailed')
// const message = statusCode
// ? getErrorMessage(statusCode)
// : errorMessage || $t('httpMsg.requestFailed')
const message = errorMessage
throw new HttpError(message, statusCode || ApiStatus.error, {
data: error.response.data,
url: requestConfig?.url,
@@ -126,7 +127,7 @@ export function showError(error: HttpError, showMessage: boolean = true): void {
ElMessage.error(error.message)
}
// 记录错误日志
console.error('[HTTP Error]', error.toLogData())
// console.error('[HTTP Error]', error.toLogData())
}
/**
+8 -2
View File
@@ -45,10 +45,15 @@ axiosInstance.interceptors.request.use(
(request: InternalAxiosRequestConfig) => {
const { accessToken } = useUserStore()
const { language } = useUserStore()
request.headers.set('lang', language)
const { loginType } = useUserStore()
const { companyabbr } = useUserStore()
request.headers.set('Fdesk-Language', language)
request.headers.set('Fdesk-Corp-Abbr', companyabbr)
request.headers.set('Fdesk-System-Code', 'fdesk')
request.headers.set('Fdesk-Login-Type', loginType)
// 设置 token 和 请求头
if (accessToken) {
request.headers.set('Authorization', accessToken)
request.headers.set('Fdesk-Auth-Token','Bearer '+accessToken)
request.headers.set('Content-Type', 'application/json')
}
@@ -76,6 +81,7 @@ axiosInstance.interceptors.response.use(
}
},
(error) => {
return Promise.reject(handleError(error))
}
)
+2 -2
View File
@@ -2,8 +2,8 @@
* 接口状态码
*/
export enum ApiStatus {
// success = 200, // 成功
success = 0, // 成功
success = 200, // 成功
// success = 0, // 成功
error = 400, // 错误
unauthorized = 401, // 未授权
forbidden = 403, // 禁止访问