Files
huihuiSquare/overview-password-login-2026-07-21.md
2026-07-24 14:04:21 +08:00

46 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 会会数字分身 · 短信收不到 + 账号密码登录
## 1. "收不到短信验证码" 是否接通?
**已接通,但预发环境不下发真实短信。**
实测证据(直连会会网关):
- 后端日志:用户的发码/登录请求已到达并 `200 OK`
- 会会原始响应:`{code:0, message:"验证码发送成功", ...}`
- 签名算法、`appId/accessId/secret` 均正确,时间戳走 24h `HH`(避免"签名验证失败")。
**为什么收不到**:当前对接的是 `fat-open.99hui.com`(会会**预发/测试网关**)。
它接收请求并返回"发送成功",但**不实际把短信下发到真实手机**(测试环境模拟发送)。
这是环境限制,不是代码 bug。要真实收到短信需切到生产网关 `99hui.com/api/usercenter`(同套开放平台凭证通常通用,但生产是否真连短信通道需确认/由会会开启)。
## 2. 新增「账号密码登录」(默认方式)
既然短信在测试环境不可达,新增可靠的账号密码登录,并设为默认标签。
### 后端 `backend/routers/huihui_auth.py`
- 新增 `pwd_login``POST /api/huihui/pwd/login`
- 调会会 `/open/login/token`,参数与会会开放平台一致:
`username=账号/手机号, password=密码, loginType=password, grantType=password, isRegister=false`
- 复用 `_issue_session` 建/链本地 `users` 表并签发 `app_token`
- 账号非 11 位手机号时不覆盖已有 `user.phone`
### 前端
- `src/api/index.ts`:新增 `loginByPassword(account, password)``/huihui/pwd/login`
- `src/store/user.ts`:新增 `loginByPwd` action
- `src/views/SmsLogin.vue`**分段切换** UI
- 默认标签 **密码登录**(账号/手机号 + 密码)
- 次选标签 **短信登录**(原手机号+验证码)
### 部署
`vite build``rsync dist/``docker cp``avatar-test-frontend` 容器 → `docker restart`
### 验证
- 线上 SmsLogin chunk 含「密码登录」、api bundle 含「huihui/pwd/login」✅
- 实时 `POST /huihui/pwd/login`(假密码)→ 会会返回 `账号或密码错误!`
(说明签名已被接受、登录链路连通,仅密码错)✅
## 3. 你现在怎么登录
打开 **http://192.168.1.188:8099/#/login/sms**(同网段/隧道):
- **推荐:密码登录** —— 输入你的会会账号(手机号或用户名)+ 密码,点「登录 / 创建分身」。
- 短信登录仅在会会生产网关真正下发短信时才有用;当前测试环境点了显示"发送成功"但手机收不到。
> 注:会会开放平台账号须已设置密码,否则密码登录会报「账号或密码错误」(可先在会会 App 内设置/重置密码)。