发行:ksf-board-ui-20261112-r1。本档案记录本地验收与部署准备;正式上线仍需服务器发布和浏览器回执。
机会卡片的优先级、品类、完整阶段名和决策状态保持在第一行。成员选择从顶部移到工作台个人进度区,支持姓名/小组搜索、键盘操作和手机触控。展开列表采用用户图标,选中后的标题保留姓名末字头像。查看成员继续使用原有状态与本地记忆,不切换登录账号。
以 deploy/board-ui-20261112.json 为准,仅更新以下六个运行文件:
src/components/kf-badge.jssrc/components/kf-member-picker.js(新增)src/components/kf-opportunity-card.jssrc/layout/kf-topbar.jssrc/pages/view-workbench.jssrc/layout/kf-app.js生产报告页存在独立更新,因此本次使用六文件发布器,保留报告页面和其他运行文件。不要使用旧的 deploy-board-local.sh 全量发布本次变更。本次不需要 Parse 认证、不变更接口或数据库、不重启服务。
| 验证 | 结果 | 留档 |
|---|---|---|
前端单测 node --test 'test/*.test.js' |
203/203 | 本次干净检出目录执行 |
| 发布器和 MIME 单测 | 12/12 | 4 原发布器 + 3 六文件发布器 + 5 MIME |
node scripts/check.mjs |
CHECK OK | Windows 下 core 层匹配数为 0,不视为覆盖该层 |
| 机会卡片浏览器 | 15 项,12 档宽度,每档 12 卡 | opportunity-browser.json |
| 成员下拉浏览器 | 19 项,9 档视口及触控模拟 | member-picker-browser.json |
| 生产基线只读检查 | 5 件已存在文件匹配,新组件未部署 | baseline-check.json |
| 生产文件本地副本演练 | plan 6 → apply 6 → noop 0,报告页字节不变 | local-simulation.json |
浏览器验收为本地预览,未向正式业务提交评分或状态。机会卡片验证包含整卡打开对应报告;成员验证包含个人/全员数据与原实现一致、刷新及跨页记忆、搜索/键盘/外部点击收起、浮层位置和横向溢出。截图保存在 screenshots/,截图与回执时间为实际测试时间(UTC)。
从新检出目录切到交付的精确提交后,在该目录运行:
bash scripts/deploy-board-ui-20261112.sh /opt/kangshifu-web
需要 Node.js 20 或以上、站点写入权限以及读取现有 nginx MIME 配置的权限。脚本依次执行 MIME 只读预检、12 项发布测试、plan、apply、noop、六模块公网 SHA/MIME 核验和整站模块链检查,回执保存在输出的 /opt/ksf-board-ui-20261112-results-* 目录。首页应保持 SHA-256 dfeb6a6d0b63e8e1190f9308bf6619a5ca523a5a2f91af5f7ca5ad5fc9642db3。
未知现场文件、首页或载荷哈希不符时脚本停止;保留原始错误与现场,不修改清单基线强行继续。发布器写入前完整备份,文件采用 0644,写入失败会尝试恢复本轮已替换文件并删除本轮新增组件。成功发布的备份路径与逐文件 before/after SHA 在 frontend-apply.json 和备份 journal.json 中。需要回退时先按 journal 核实现网仍是本次 after SHA,再恢复旧件、移除新增件;不覆盖其他窗口的后续变更。
在正式域名使用真实交互,至少检查 320、390、1440 三档 CSS 视口:
回传精确提交、回执目录、plan/apply/noop 原文、备份路径、公网检查结果及三档截图;将部署成功与浏览器验收结果分别写明。