feat: complete huihui square avatar workflows

This commit is contained in:
stefanfeng
2026-07-24 14:04:21 +08:00
parent 2ef58a44b8
commit e3bda469bb
68 changed files with 8062 additions and 132 deletions

View File

@@ -0,0 +1,45 @@
# 会会数字分身 · 短信收不到 + 账号密码登录
## 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 内设置/重置密码)。