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

41 lines
3.0 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.
# 数字分身测试环境部署 + 修复概览2026-07-17
## 本次动作:把上一轮改动真正发到测试环境
测试环境:`geo-server`(192.168.1.188) 上 `/root/avatar-test`docker-compose 跑
`avatar-backend`(:8011) + `avatar-frontend`(:8099)。
访问地址:**http://192.168.1.188:8099/**(短信登录页:`/#/login/sms`
已上线内容(上一轮你质疑的"创建覆盖/删除/去掉会会资料/真实短信"相关代码):
- `AvatarManage.vue`:去掉"我的会会资料",改为全部分身列表,每张带删除+二次确认
- `store/avatar.ts`:新增 `removeAvatar`
- `backend/routers/avatars.py`:删除级联清理(知识库/切片/问答对/授权)
- `backend/routers/huihui_auth.py`:真实生产调用优先,`DEV_MOCK` 仅兜底
## 端到端验证(已通过)
| 项 | 结果 |
|---|---|
| 后端 health | ✅ |
| 分身列表 `GET /api/avatar` | ✅ 返回已 seed 分身 |
| 短信发码(开发态) | ✅ 回显 `devCode` |
| 短信登录→`/me` | ✅ 落库 dev 用户 + 会话 |
| 删除级联 | ✅ 创建→删除→GET 404 |
| 前端页面 `:8099` | ✅ 稳定 Up`<title>会会数字分身</title>` |
## 部署中踩的两个坑(已修复,记进项目记忆)
1. **环境变量被 rsync 覆盖**:本机 compose 不含 env把远端原 `HUIHUI_DEV_MOCK`/`EMBEDDING_*` 丢了。
修复:从运行容器 `docker inspect` 导出 4 个变量到远端 `.env`compose 改用 `env_file` 引用;`.env` 加进 `.dockerignore`;本机同步加 `env_file`+`.gitignore` 防再丢。
2. **前端容器反复 Restarting**nginx 1.31.3 写 pid 文件被测试服务器 Docker 的 **seccomp 拦截 `pwrite`** 致命退出(老版 nginx 用 `write()` 且只告警,故之前 46h 正常)。
修复:前端 `Dockerfile` 锁定 `nginx:1.28-alpine`(远端已缓存,无需联网);`nginx.conf` 改为完整主配置覆盖 `/etc/nginx/nginx.conf`
## 关于"参考会会接口文档"(真实短信仍待你提供)
- 仓库 `docs/production-interface-inventory.md` **只文档化了 `/open/login/token`(密码登录),没有短信端点**
- 已实现的真实生产调用:短信**登录**复用文档化的 `/open/login/token`,仅 `loginType/grantType=sms`(与会会开放平台一致范式);**发送验证码**端点走可配置 `HUIHUI_SMS_SEND_PATH`(默认 `/open/login/sms/send` 在生产返回 404
- 仍阻塞:会会**真实短信发送端点路径**(如 `/open/sms/send` 等)+ 开放平台凭证appId/accessId/accessSecret/clientCode未到位。你提供后关掉 `HUIHUI_DEV_MOCK`、写进 compose env、重建后端即可真接通会会生产库并同步用户资料。
## 改动文件
- `digital-avatar-app/Dockerfile`(锁 nginx 1.28-alpine
- `digital-avatar-app/nginx.conf`(完整主配置,覆盖默认 nginx.conf
- `digital-avatar-app/docker-compose.yml`backend 加 `env_file: - .env`
- `digital-avatar-app/.gitignore``digital-avatar-app/backend/.dockerignore`(忽略 `.env`