1.1 KiB
1.1 KiB
useAuthError.ts
路径:src/composables/useAuthError.ts
功能用途
统一处理 HTTP 401(Unauthorized)等权限相关错误,根据登录状态返回用户友好的提示文案:未登录时提示「请先登录」,已登录时提示「权限不足」。
核心能力
formatAuthError(err, fallback):将异常转换为展示文案- 若错误信息包含
401或Unauthorized:根据userStore.isLoggedIn返回error.pleaseLogin或error.insufficientPermission - 否则返回原始错误信息或
fallback
- 若错误信息包含
使用方式
import { useAuthError } from '@/composables/useAuthError'
const { formatAuthError } = useAuthError()
try {
await someApiCall()
} catch (e) {
errorMessage.value = formatAuthError(e, t('error.requestFailed'))
}
国际化
依赖 error.pleaseLogin、error.insufficientPermission,在各 locales/*.json 的 error 下配置。
扩展方式
- 扩展状态码:在
formatAuthError中增加对 403 等的判断 - 统一拦截:在
request.ts层统一处理 401,自动跳转登录或弹 toast