fix: friendly Chinese error messages on login/register pages
Map backend English error details to user-facing Chinese text on all 3 frontends (uni-app, user-frontend, admin-frontend). Previously raw English like 'Invalid credentials' was shown directly to users.
This commit is contained in:
@@ -90,7 +90,8 @@ async function submit() {
|
||||
localStorage.setItem('admin_user', JSON.stringify(res.user || {}))
|
||||
ElMessage.success('登录成功')
|
||||
} catch (e) {
|
||||
error.value = e?.detail || '登录失败'
|
||||
const map = { 'Invalid credentials': '用户名或密码错误' }
|
||||
error.value = map[e?.detail] || e?.detail || '登录失败'
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
@@ -43,7 +43,8 @@ async function submit() {
|
||||
const redirect = route.query.redirect || '/dashboard'
|
||||
router.push(redirect)
|
||||
} catch (e) {
|
||||
error.value = e?.detail || '登录失败'
|
||||
const map = { 'Invalid credentials': '用户名或密码错误' }
|
||||
error.value = map[e?.detail] || e?.detail || '登录失败'
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
@@ -229,10 +229,14 @@ const handleSubmit = async () => {
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('登录失败', err)
|
||||
error.value = (err.errMsg || err.message || '操作失败,请重试')
|
||||
if (err.statusCode === 401) {
|
||||
error.value = '手机号或密码错误'
|
||||
const msg = err.errMsg || err.message || err.detail || ''
|
||||
const map = {
|
||||
'Invalid credentials': '手机号或密码错误',
|
||||
'Phone already registered': '该手机号已被注册',
|
||||
'Invalid refresh token': '登录已过期,请重新登录',
|
||||
'phone required': '请输入手机号',
|
||||
}
|
||||
error.value = map[msg] || msg || '操作失败,请重试'
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
@@ -172,7 +172,8 @@ async function submit() {
|
||||
const redirect = route.query.redirect || '/workspace'
|
||||
router.push(redirect)
|
||||
} catch (e) {
|
||||
error.value = e?.detail || '登录失败'
|
||||
const map = { 'Invalid credentials': '手机号或密码错误', 'Invalid refresh token': '登录已过期,请重新登录', 'phone required': '请输入手机号' }
|
||||
error.value = map[e?.detail] || e?.detail || '登录失败'
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
@@ -191,7 +192,8 @@ async function register() {
|
||||
regForm.phone = ''
|
||||
regForm.password = ''
|
||||
} catch (e) {
|
||||
regError.value = e?.detail || '注册失败'
|
||||
const map = { 'Phone already registered': '该手机号已被注册', 'Invalid credentials': '手机号或密码错误' }
|
||||
regError.value = map[e?.detail] || e?.detail || '注册失败'
|
||||
} finally {
|
||||
regLoading.value = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user