新增本地联调指南(App↔后端;端口冲突提醒与真机 baseUrl 配置)

This commit is contained in:
xsl
2026-08-15 00:40:05 +08:00
parent 34d94ba8dd
commit 0c3e07e660
+53
View File
@@ -0,0 +1,53 @@
# 本地联调指南(App ↔ 后端)
> 2026-08-15 | 适用:FE 第一批(F1~F4)交付后的真机/模拟器联调
## ⚠️ 先看:端口冲突
App 的默认 baseUrl 是 `http://127.0.0.1:8000`,但**你这台机器的 8000 端口已被 AutoVideo(voxcpm-tts)长期占用**。因此本地联调请让美搭后端用 **8666** 端口,并在 App 登录页「高级设置」里把服务器地址改成对应值(F1 交付的设置入口)。
## 一、启动后端(WSL)
```bash
wsl -d Ubuntu-22.04 -e bash -c "cd /home/xsl/meida_backend && \
(nohup .venv/bin/uvicorn apps.api.main:app --host 0.0.0.0 --port 8666 > /tmp/meida-api.log 2>&1 &) && \
(nohup .venv/bin/celery -A apps.worker.celery_app worker -Q cpu,io --loglevel WARNING > /tmp/meida-worker.log 2>&1 &) && sleep 3 && \
curl -s http://127.0.0.1:8666/healthz"
```
- `--host 0.0.0.0`:真机(USB)需要开发机局域网 IP 可达
- worker 必须起:报告生成是异步任务,不起 worker 会一直 RUNNING
- 依赖容器:PG(55432)/Redis(56379) 应已在跑(`docker ps` 确认)
- 停止:`wsl -d Ubuntu-22.04 -e bash -c "pkill -f 'uvicorn apps.api'; pkill -f 'celery -A apps.worker'"`
## 二、App 侧(DevEco Studio)
1. 打开工程 `G:\meida\app`,点 Run(模拟器或真机)
2. 登录页「高级设置」:
- **模拟器**:`http://127.0.0.1:8666`(WSL2 端口自动转发到 Windows localhost)
- **真机(USB)**:`http://<开发机局域网IP>:8666`(`ipconfig` 查,手机与电脑同 WiFi;防火墙首次会弹允许)
3. 设备标识随便填(记住它——同标识=同账号,配额/报告都挂它下面)
## 三、可体验的闭环(对齐 FE 第一批)
1. 登录 → 四 Tab 主界面
2. 首页「生成我的形象报告」→ 填问卷 → 提交 → 看进度轮询 → **32 维结果页**(约 10~30 秒,含一次真实 LLM 调用)
3. 首页「AI 穿搭顾问」→ 对话(真实 DeepSeek)
4. 「我的」→ 配额卡片(对话/试穿/报告)+ 流水(消耗/退还/奖励)
5. 重复生成报告 → 40920 提示;报告重生成 → 视觉阶段复用(秒出诊断)
## 四、已知边界(设计使然,不是 bug)
- 照片是"模拟对象键"输入框——COS 直传等云端开通后替换
- 空知识库时报告文案会**降级为规则直出**(结果页有黄条标识)——等规则库录入后消失
- 华为账号/短信登录未接(等 AGC/签名审核);当前是 dev-token 通道,仅限本地
- 未配置签名 → 只能模拟器/调试真机跑,发布包要等证书指纹双套配置
## 五、快速排障
| 症状 | 原因/处理 |
|---|---|
| 登录一直转圈/网络错误 | baseUrl 不对;或后端没起;模拟器记得用 127.0.0.1 |
| 报告一直 RUNNING | worker 没起(第二步的两条 nohup 都要) |
| 401 反复跳登录 | 旧 token 过期属正常自动刷新;若持续,`hdc shell` 清 App 数据重登 |
| 真机连不上 | 防火墙放行 8666;确认手机电脑同网段;后端必须 `--host 0.0.0.0` |