diff --git a/pages/mall/admin/错误信息.txt b/pages/mall/admin/错误信息.txt index 5f93ac52..ff2a4d99 100644 --- a/pages/mall/admin/错误信息.txt +++ b/pages/mall/admin/错误信息.txt @@ -1,100 +1,55 @@ -index.uvue:1 GET http://localhost:5173/pages/mall/admin/userCenter/index.uvue?t=1773217839799&import&vue&type=script&setup=true&lang.uts net::ERR_ABORTED 500 (Internal Server Error) -main.uts:16 [Vue warn]: Unhandled error during execution of async component loader - at -at -at -at -at -at -at -at -warnHandler @ uni-h5.es.js:19975 -callWithErrorHandling @ vue.runtime.esm.js:1381 -warn$1 @ vue.runtime.esm.js:1207 -logError @ vue.runtime.esm.js:1438 -errorHandler @ uni-h5.es.js:19600 -callWithErrorHandling @ vue.runtime.esm.js:1381 -handleError @ vue.runtime.esm.js:1421 -onError @ vue.runtime.esm.js:3724 -(anonymous) @ vue.runtime.esm.js:3767 -Promise.catch -setup @ vue.runtime.esm.js:3766 -callWithErrorHandling @ vue.runtime.esm.js:1381 -setupStatefulComponent @ vue.runtime.esm.js:8985 -setupComponent @ vue.runtime.esm.js:8946 -mountComponent @ vue.runtime.esm.js:7262 -processComponent @ vue.runtime.esm.js:7228 -patch @ vue.runtime.esm.js:6694 -mountChildren @ vue.runtime.esm.js:6942 -processFragment @ vue.runtime.esm.js:7158 -patch @ vue.runtime.esm.js:6668 -mountChildren @ vue.runtime.esm.js:6942 -processFragment @ vue.runtime.esm.js:7158 -patch @ vue.runtime.esm.js:6668 -mountChildren @ vue.runtime.esm.js:6942 -mountElement @ vue.runtime.esm.js:6849 -processElement @ vue.runtime.esm.js:6814 -patch @ vue.runtime.esm.js:6682 -mountChildren @ vue.runtime.esm.js:6942 -mountElement @ vue.runtime.esm.js:6849 -processElement @ vue.runtime.esm.js:6814 -patch @ vue.runtime.esm.js:6682 -mountChildren @ vue.runtime.esm.js:6942 -processFragment @ vue.runtime.esm.js:7158 -patch @ vue.runtime.esm.js:6668 -componentUpdateFn @ vue.runtime.esm.js:7372 -run @ vue.runtime.esm.js:153 -instance.update @ vue.runtime.esm.js:7497 -setupRenderEffect @ vue.runtime.esm.js:7507 -mountComponent @ vue.runtime.esm.js:7274 -processComponent @ vue.runtime.esm.js:7228 -patch @ vue.runtime.esm.js:6694 -mountChildren @ vue.runtime.esm.js:6942 -mountElement @ vue.runtime.esm.js:6849 -processElement @ vue.runtime.esm.js:6814 -patch @ vue.runtime.esm.js:6682 -componentUpdateFn @ vue.runtime.esm.js:7372 -run @ vue.runtime.esm.js:153 -instance.update @ vue.runtime.esm.js:7497 -setupRenderEffect @ vue.runtime.esm.js:7507 -mountComponent @ vue.runtime.esm.js:7274 -processComponent @ vue.runtime.esm.js:7228 -patch @ vue.runtime.esm.js:6694 -componentUpdateFn @ vue.runtime.esm.js:7372 -run @ vue.runtime.esm.js:153 -instance.update @ vue.runtime.esm.js:7497 -setupRenderEffect @ vue.runtime.esm.js:7507 -mountComponent @ vue.runtime.esm.js:7274 -processComponent @ vue.runtime.esm.js:7228 -patch @ vue.runtime.esm.js:6694 -componentUpdateFn @ vue.runtime.esm.js:7453 -run @ vue.runtime.esm.js:153 -instance.update @ vue.runtime.esm.js:7497 -updateComponent @ vue.runtime.esm.js:7305 -processComponent @ vue.runtime.esm.js:7239 -patch @ vue.runtime.esm.js:6694 -componentUpdateFn @ vue.runtime.esm.js:7453 -run @ vue.runtime.esm.js:153 -instance.update @ vue.runtime.esm.js:7497 -callWithErrorHandling @ vue.runtime.esm.js:1381 -flushJobs @ vue.runtime.esm.js:1585 -Promise.then -queueFlush @ vue.runtime.esm.js:1494 -queueJob @ vue.runtime.esm.js:1488 -scheduler @ vue.runtime.esm.js:3179 -resetScheduling @ vue.runtime.esm.js:236 -triggerEffects @ vue.runtime.esm.js:280 -triggerRefValue @ vue.runtime.esm.js:1033 -set value @ vue.runtime.esm.js:1078 -finalizeNavigation @ vue-router.mjs?v=ed041164:2474 -(anonymous) @ vue-router.mjs?v=ed041164:2384 -Promise.then -pushWithRedirect @ vue-router.mjs?v=ed041164:2352 -push @ vue-router.mjs?v=ed041164:2278 -install @ vue-router.mjs?v=ed041164:2631 -use @ vue.runtime.esm.js:5190 -initRouter @ uni-h5.es.js:19886 -install @ uni-h5.es.js:19955 -use @ vue.runtime.esm.js:5190 -(anonymous) @ main.uts:16 -main.uts:16 TypeError: Failed to fetch dynamically imported module: http://localhost:5173/pages/mall/admin/homePage/index.uvue?t=1773218041262&import \ No newline at end of file +ak-req.uts:144 + POST http://119.146.131.237:9126/auth/v1/signup 500 (Internal Server Error) +register.uvue:221 📝 注册返回结果: +UTSJSONObject2 {code: '23505', message: 'duplicate key value violates unique constraint "ak_users_email_key"', detail: 'Key (email)=(admin@163.com) already exists.', _resolveKeyPath: ƒ, _getValue: ƒ, …} +code +: +"23505" +detail +: +"Key (email)=(admin@163.com) already exists." +message +: +"duplicate key value violates unique constraint \"ak_users_email_key\"" +forEach +: +ƒ forEach(callback) +get +: +ƒ get(key) +getAny +: +ƒ getAny(key, defaultValue) +getArray +: +ƒ getArray(key, defaultValue) +getBoolean +: +ƒ getBoolean(key, defaultValue) +getJSON +: +ƒ getJSON(key, defaultValue) +getNumber +: +ƒ getNumber(key, defaultValue) +getString +: +ƒ getString(key, defaultValue) +set +: +ƒ set(key, value) +toJSON +: +undefined +toMap +: +ƒ toMap() +_getValue +: +ƒ _getValue(keyPath, defaultValue) +_resolveKeyPath +: +ƒ _resolveKeyPath(keyPath) +[[Prototype]] +: +Object \ No newline at end of file diff --git a/pages/user/login.uvue b/pages/user/login.uvue index 37ad69ee..bee9991a 100644 --- a/pages/user/login.uvue +++ b/pages/user/login.uvue @@ -69,8 +69,8 @@ @input="(e: any) => password = e.detail.value" /> - - {{ isPasswordVisible ? '👁️' : '🙈' }} + + {{ isPasswordVisible ? '🙉' : '🙈' }} diff --git a/pages/user/register.uvue b/pages/user/register.uvue index 128b797d..81193c6e 100644 --- a/pages/user/register.uvue +++ b/pages/user/register.uvue @@ -45,8 +45,8 @@ class="input-field" /> - - {{ isPasswordVisible ? '👁️' : '🙈' }} + + {{ isPasswordVisible ? '🙉' : '🙈' }} @@ -63,7 +63,7 @@ class="input-field" /> - {{ isConfirmPasswordVisible ? '👁️' : '🙈' }} + {{ isConfirmPasswordVisible ? '🙉' : '🙈' }} @@ -227,8 +227,20 @@ // 检查是否有错误 const errorCode = result?.getString('error_code') ?? '' - const errorMsg = result?.getString('msg') ?? '' - const code = result?.getNumber('code') ?? 0 + // 兼容不同平台的报错字段 + const errorMsg = result?.getString('msg') ?? result?.getString('message') ?? '' + const codeStr = result?.getString('code') ?? '' + let codeNum = 0 + try { + codeNum = result?.getNumber('code') ?? 0 + } catch(e) { + // 忽略转换异常 + } + + // 1. 明确判断是否为账户已存在 (PostgreSQL code 23505 或包含 duplicate/already exists) + if (codeStr === '23505' || errorCode === 'user_already_exists' || errorMsg.includes('already exists') || errorMsg.includes('duplicate')) { + throw new Error('该账户已经存在,请更换账户') + } let user: UTSJSONObject | null = null @@ -244,12 +256,12 @@ } } - // 如果返回错误且没有用户信息,说明注册失败 - if (user == null && code !== 0 && code !== 200) { - if (code === 500 && errorMsg.includes('confirmation email')) { + // 2. 如果没有返回能够标识用户的字段,应当直接按失败处理 + if (user == null) { + if ((codeNum === 500 || codeStr === '500') && errorMsg.includes('confirmation email')) { throw new Error('注册失败:邮件服务配置错误') } else { - throw new Error(errorMsg || '注册失败,请重试') + throw new Error(errorMsg || '该账户可能已经存在,或注册请重试') } }