feat(rvw): complete tenant portal polish and ops assignment fixes

Finalize RVW tenant portal UX and reliability updates by aligning login/profile interactions, stabilizing SMS code sends in weak-network scenarios, and fixing multi-tenant assignment payload handling to prevent runtime errors. Refresh RVW status and deployment checklist docs with SAE routing, frontend image build, and post-release validation guidance.

Made-with: Cursor
This commit is contained in:
2026-03-15 18:22:01 +08:00
parent 83e395824b
commit 707f783229
20 changed files with 498 additions and 153 deletions

View File

@@ -72,6 +72,32 @@
|---|---------|------|------|
| INF-1 | 前端 Nginx 增加 SPA 深链回退(`try_files $uri /index.html`),并确保 `/api/` 路由优先反代后端(不能被 index.html 吞掉) | frontend-nginx-service / ingress | ⚠️ 否则直接访问 `review.xunzhengyixue.com/test-qikan01``.../test-qikan01/login` 会 404部署后需在无缓存浏览器验证 |
| INF-2 | 前端 Docker 构建与发布注意:确认镜像内 Nginx 配置已包含深链规则、并清理旧静态资源缓存CDN/浏览器)后再灰度 | frontend-v2 build/deploy pipeline | 建议发布后先执行硬刷新Ctrl+F5与隐身窗口验证避免旧 bundle 缓存导致仍跳旧路径 |
| INF-3 | SAE 接入 RVW 多租户链路:`review.xunzhengyixue.com` 仅负责流量入口,实际租户/模块判定由应用完成(`/:tenantCode/login``/:tenantSlug/rvw` + `x-tenant-id` + `tenant_members` + `tenant_modules` | frontend SAE + backend SAE + ingress/SLB | ⚠️ SAE 不会自动“识别审稿模块”;必须保证前端路由命中、`/api` 正确转发后端、后端开启 RVW 路由与租户中间件;并确认租户已开通 `RVW` 且用户在该租户下有成员关系 |
| INF-4 | 前端镜像构建发布标准流程(生产):安装依赖→构建 `frontend-v2/dist`→打包 Nginx 镜像→推送镜像仓库→SAE 更新版本→灰度验证→全量发布 | frontend-v2 build/deploy pipeline | 推荐命令:`npm ci && npm run build`(在 `frontend-v2` 目录);镜像发布后必须验证 `review.xunzhengyixue.com/{tenant}/login``/{tenant}/rvw``/api/v1/auth/verification-code` 三条链路可用 |
---
## 上线后快速验收(运维执行)
> 目标:确认 `review.xunzhengyixue.com` 已真正接入 RVW 租户审稿链路,而非仅页面可访问。
1. **前端深链验证(无缓存)**
- 隐身窗口访问:`https://review.xunzhengyixue.com/{tenantCode}/login`
- 登录后应进入:`https://review.xunzhengyixue.com/{tenantCode}/rvw`
- 直接刷新 `/{tenantCode}/rvw` 不应 404验证 Nginx SPA 回退生效)
2. **API 代理验证**
- 在浏览器 Network 确认 `/api/v1/auth/*``/api/rvw/*` 均返回后端响应(非前端静态 200 HTML
- 若返回 HTML 或 404优先检查 ingress/Nginx `/api` 反代优先级
3. **租户权限验证(业务可用性)**
- 运营端确认目标租户已开通 `RVW` 模块(`tenant_modules`
- 运营端确认用户已分配到该租户(`tenant_members`
- 若登录后提示“暂无访问智能审稿模块权限”,先查租户模块与用户模块覆盖关系
4. **验证码链路验证**
- `验证码发送成功 + 倒计时启动 + 登录成功` 需完整通过
- 弱网场景若偶发失败,先排查网络/网关,再看后端日志;前端已增加“发送中”防重入保护
---