chore: add UI audits and reconcile release docs

This commit is contained in:
key
2026-07-29 16:10:46 +08:00
parent d08d3fb921
commit 6ba7df863f
16 changed files with 770 additions and 36 deletions
+10 -5
View File
@@ -209,11 +209,16 @@ curl.exe -k -fsS http://127.0.0.1:6333/
npm --prefix mobile-uni run test:unit
npm --prefix mobile-uni run typecheck
npm --prefix mobile-uni run audit:ui-tokens
npm --prefix mobile-uni run build:h5
npm --prefix mobile-uni run audit:ui-rendered
npm --prefix frontend run build:dev
mvn -f backend/pom.xml -pl ruoyi-modules/ruoyi-aihr -am -DskipTests=false test
& $gitBash ./scripts/demo-check.sh
```
`audit:ui-tokens` 只读扫描 `src/styles/base.css` 与移动端源码,默认报告现有 palette、字阶、间距和圆角漂移但不因存量债务失败;需要把 palette 外颜色作为门禁时显式运行 `node mobile-uni/scripts/ui-token-audit.mjs --strict`。`audit:ui-rendered` 默认在 390×844 的真实 Chrome 中打开 H5 构建产物的登录、员工首页、问、练、候选人首页和主管首页,检查横向溢出、控制台错误和实际生效样式;报告与截图写入 Git 已忽略的 `output/ui-ux/`。默认静态服务只覆盖未登录/空态/错误态,不能替代 portless 认证态主路径、Android/iOS 真机或业务验收。
### 6. 停止
先在后端、管理端和 `mobile-uni` 三个终端按 `Ctrl+C`。需要同时停止代理和依赖容器时执行:
@@ -328,15 +333,15 @@ Android 人工验收每完成一个步骤,用 `.\scripts\capture-android-accep
### 定向后端发布与回滚
8 月 1 日独立 APK 如只需补齐候选后端语义,使用固定拓扑的 `release-backend.sh`,不要手工 `scp` 后直接覆盖。脚本只允许 `YCWY:/opt/wygj/app/ruoyi-admin.jar` 和 `wygj-aihr.service`,默认 `plan` 与 `rollback-plan` 只读;`deploy`/`rollback` 必须使用只读计划输出的完整 SHA-256 授权串并保持 Git 工作区干净。计划阶段会核对冻结提交、JAR 哈希与 AIHR 模块、生产目标/服务/空间和 schema;部署阶段先保留旧 JAR 与清单,再在同目录校验并原子切换、重启、执行后端 + schema 预检,任何激活或发布后预检失败都会尝试恢复旧 JAR。回滚前还会额外备份当时正在运行的 JAR。脚本不删除备份,不发布管理端/H5,不执行数据库迁移。
8 月 1 日独立 APK 如只需补齐候选后端语义,使用固定拓扑的 `release-backend.sh`,不要手工 `scp` 后直接覆盖。脚本只允许 `YCWY:/opt/wygj/app/ruoyi-admin.jar` 和 `wygj-aihr.service`,默认 `plan` 与 `rollback-plan` 只读;`deploy`/`rollback` 必须使用只读计划输出的完整 SHA-256 授权串并保持 Git 工作区干净。计划阶段会核对冻结提交、JAR 哈希与 AIHR 模块、生产目标/服务/空间和 schema;部署阶段先保留旧 JAR 与清单,再在同目录校验并原子切换、重启,最多等待 90 秒直到根站、租户和移动首页真实恢复,再执行后端 + schema 预检。任何激活、就绪等待或发布后预检失败都会尝试恢复旧 JAR,并再次验证恢复后的公开端点。回滚前还会额外备份当时正在运行的 JAR。脚本不删除备份,不发布管理端/H5,不执行数据库迁移。
先只读生成计划:
```bash
./scripts/release-backend.sh plan \
--artifact backend/ruoyi-admin/target/ruoyi-admin.jar \
--artifact-commit af8af2f6dd169e4616a4ca0ca724e8b809502ab3 \
--expected-sha256 93ad272118f6a28f88c2bfa305f5c450e163cbe22577ff5be3e85b3bd3958dad
--artifact-commit '<冻结提交完整哈希>' \
--expected-sha256 '<候选JAR完整SHA-256>'
```
只有负责人明确授权后,才能把计划输出的 `approval_token` 原样传给 `deploy`;仅运行 `plan` 不构成发布授权:
@@ -344,8 +349,8 @@ Android 人工验收每完成一个步骤,用 `.\scripts\capture-android-accep
```bash
./scripts/release-backend.sh deploy \
--artifact backend/ruoyi-admin/target/ruoyi-admin.jar \
--artifact-commit af8af2f6dd169e4616a4ca0ca724e8b809502ab3 \
--expected-sha256 93ad272118f6a28f88c2bfa305f5c450e163cbe22577ff5be3e85b3bd3958dad \
--artifact-commit '<冻结提交完整哈希>' \
--expected-sha256 '<候选JAR完整SHA-256>' \
--approval 'DEPLOY_BACKEND:<完整候选JAR-SHA256>'
```