58 行
2.8 KiB
Markdown
58 行
2.8 KiB
Markdown
# PWA 回归清单(P12 + P21PWA1)
|
||
|
||
## 前置条件
|
||
- `client` 已完成构建:`cd client && npm run build`
|
||
- 浏览器支持 PWA(Chrome/Safari 最新版)
|
||
- 服务端 API 可用
|
||
|
||
## 场景 A:安装与离线壳
|
||
1. 打开系统首页,确认可出现安装入口(浏览器原生 UI)。
|
||
2. 安装到桌面后重新打开,确认可进入系统壳页面。
|
||
3. 断网后刷新,确认仍可打开壳页面(离线壳生效)。
|
||
|
||
期望:离线壳可访问,不应白屏崩溃。
|
||
|
||
## 场景 B:移动拍照离线上传
|
||
1. 访问 `移动拍照` 页面。
|
||
2. 断网,选择图片文件,点击“立即上传”。
|
||
3. 确认提示“已加入待上传队列”。
|
||
4. 恢复网络,点击“同步队列”或等待自动重放。
|
||
5. 进入票据中心确认文件已上传。
|
||
|
||
期望:离线缓存成功,联网可重放成功。
|
||
|
||
## 场景 C:移动审批快捷动作
|
||
1. 使用审批角色访问 `移动审批` 页面。
|
||
2. 选择待办任务,依次测试 `通过` / `驳回` / `退回` / `转审`。
|
||
3. 返回待办列表与详情页确认状态同步刷新。
|
||
|
||
期望:动作闭环,错误提示可读。
|
||
|
||
## 场景 D:权限与边界
|
||
1. 非审批角色访问 `移动审批`,应被拒绝(403页)。
|
||
2. 非上传角色访问 `移动拍照`,应被拒绝(403页)。
|
||
|
||
期望:权限守卫生效。
|
||
|
||
## 备注
|
||
- iOS 场景仅保证前台恢复后的重放,不承诺后台持续同步。
|
||
|
||
|
||
## 场景 E:移动资产扫码
|
||
1. 使用具备资产读取权限的账号访问 `资产扫码` 页面。
|
||
2. 在支持 `BarcodeDetector` 的浏览器中点击“开始扫码”,扫描资产条码或二维码。
|
||
3. 若浏览器不支持 `BarcodeDetector`,确认页面自动回退到 ZXing 并可继续扫码。
|
||
4. 若相机不可用,改为手工输入资产编号 / 序列号 / 名称。
|
||
5. 确认唯一命中时展示轻量资产详情卡;多命中时展示候选列表。
|
||
|
||
期望:扫码与手工输入都能完成资产查找,且不要求新增原生壳。
|
||
|
||
## 场景 F:移动盘点录入与离线重放
|
||
1. 使用具备 `asset.inventory` 权限的账号,从 `资产盘点` 页面进入 `移动扫码盘点`。
|
||
2. 选择或打开一个 `draft` 盘点任务,点击“开始并扫码”,确认任务进入 `counting`。
|
||
3. 扫码定位资产后提交盘点结果,确认桌面盘点页同步看到新增 item。
|
||
4. 在任务为 `counting` 且已解析资产的前提下断网,再次提交盘点结果,确认提示“已加入离线队列”。
|
||
5. 恢复网络后等待自动重放或手动点击“同步队列”,确认队列项被移除且盘点结果已写回服务端。
|
||
6. 用无 `asset.inventory` 权限账号访问同一路径,确认只能查看资产结果,不能录入盘点。
|
||
|
||
期望:离线只缓存已解析盘点结果,联网可重放成功,权限边界不回退。 |