wip: 2026-08-11 工作树快照(docs/memory/h5.py/scripts 等 447 项未评审改动,安全提交到 feat 分支)
This commit is contained in:
+39
-24
@@ -1,34 +1,49 @@
|
||||
# 创维电视远程控制工具 — 概述
|
||||
# H5 会话关闭「重复提醒」优化(方案A)— 交付概要
|
||||
|
||||
## 完成内容
|
||||
## 问题
|
||||
员工端会话关闭后,消息列表**系统消息**(`✅ 会话已关闭。24小时内可重新打开。`)与底部 **QueueCapsule 横幅**(`会话已关闭 · 24小时内可重新打开 点击重新打开 🔄`)两处重复展示同一提醒文案,且横幅另带「点击重新打开」入口,造成信息冗余。
|
||||
|
||||
为创维电视开发了完整的远程控制工具,支持三大核心功能:
|
||||
## 方案(用户选定 · 方案A)
|
||||
- 保留消息列表系统消息,在其卡片内新增「🔄 重新打开」按钮(上下文最近、最自然);
|
||||
- 删除底部 QueueCapsule 的 resolved 横幅(去重)。
|
||||
|
||||
| 功能 | 命令 | 技术方案 |
|
||||
|------|------|----------|
|
||||
| 远程检查 | `tv.bat check` | Ping 检测 + ADB `dumpsys power` 查询屏幕状态 |
|
||||
| 远程关机 | `tv.bat off` | ADB `input keyevent 26`(POWER键,进入待机) |
|
||||
| 远程唤醒 | `tv.bat on` | WOL 魔法包 + ADB唤醒(三重降级) |
|
||||
## 改动文件(均位于真实部署目录 `src/frontend-h5/`)
|
||||
1. **`src/frontend-h5/src/components/chat/MessageBubble.vue`**
|
||||
- 模板:系统消息 `<div>` 内新增 `v-if="isResolveMessage && canReopen"` 的「🔄 重新打开」按钮,点击 `handleReopen`;
|
||||
- script:新增 `isResolveMessage`(content 含「可重新打开」判定)/ `canReopen`(store.canReopen)/ `isReopening`(store.isReopening)/ `handleReopen`(调 `store.reopenCurrentConversation()` + toast 展示后端真实错误);
|
||||
- CSS:`.message-bubble__reopen-btn`(企微绿 `#07c160` 圆角胶囊,含 `:active`/`:disabled` 态)。
|
||||
2. **`src/frontend-h5/src/components/chat/QueueCapsule.vue`**
|
||||
- `visible` computed 新增 `if (currentState.value === 'resolved') return false`,隐藏 resolved 横幅;
|
||||
- 纯函数 `computeVisible` / `computeCapsuleState` 保持不变(既有逻辑测试不受影响)。
|
||||
|
||||
额外功能:`toggle`(自动开关切换)、`pair`(ADB配对)、`scan`(局域网ADB设备扫描)、`config`(配置管理)
|
||||
## 设计决定(透明说明)
|
||||
InputBar 的「人工坐席」按钮在 resolved 态仍保留 `reopen` 能力 —— 它仅显示徽标 + tooltip(**无可见重复文案**),作为常驻 reopen 入口;6 态状态机与既有测试不变。若你希望 reopen 入口**唯一收口**到系统消息卡片,可再隐藏该按钮(需同步改 `inputBarCallAgentState.ts` 的 `reopen` 分支,并调整 28 例相关测试)。
|
||||
|
||||
## 文件清单
|
||||
## 验证结果
|
||||
- **vue-tsc**:仅历史既有类型错误(RecommendCard / SelfDiagnosis / conversation.ts 等),**无本次新增**;模板引用 `handleReopen`/`isResolveMessage`/`canReopen`/`isReopening` 均已正确定义;
|
||||
- **vitest**:171 例(inputBarCallAgentState / QueueCapsule / integrationZoneLogic)**全过**;
|
||||
- **vite build**:成功(529 模块,built in 2.74s)。
|
||||
|
||||
- `tools/tv_remote/skyworth_tv.py` — 主控制脚本(Python)
|
||||
- `tools/tv_remote/tv.bat` — Windows快捷启动器
|
||||
- `tools/tv_remote/tv_config.json` — 配置文件(首次config后自动生成)
|
||||
- `C:\Users\simon\platform-tools\platform-tools\adb.exe` — ADB工具(已安装)
|
||||
## 回滚能力(满足用户硬约束:微小改动后页面回老版本)
|
||||
- 改动前已备份:`D:\资料\03-项目开发\wecom_it_smart_desk\.backup\h5-20260807\src-frontend-h5-src.tar.gz`(171MB,排除 node_modules/dist);
|
||||
- 回滚:`tar -xzf .backup/h5-20260807/src-frontend-h5-src.tar.gz -C <项目根>` 还原 `src/frontend-h5/`;
|
||||
- ⚠️ 本环境 safe-delete 垫片会**拦截 `rm`**(fail-closed),勿先 `rm -rf`;用 `tar` 直接覆盖即可。
|
||||
|
||||
## 用户待操作
|
||||
## 部署状态:**已上线生产(2026-08-07 13:15)**
|
||||
|
||||
1. **电视开启无线调试**:设置 → 关于 → 连点「版本号」7次 → 开发者选项 → 无线调试 → 开启
|
||||
2. **ADB配对**:电视选「用代码配对」→ `tv.bat pair --port <端口号> --code <6位码>`
|
||||
3. **配置IP和MAC**:`tv.bat config --ip 192.168.3.xxx --mac AA:BB:CC:DD:EE:FF`
|
||||
4. 日常使用:`tv.bat check` / `tv.bat off` / `tv.bat on` / `tv.bat toggle`
|
||||
采用既有「版本化 PATH + 302 跳板」体系破除 WAF path 缓存:
|
||||
- 新版本入口:`/h5/v20260807a/`(nginx `alias` 指向同一 root `dist/`,仅 URL 路径不同)
|
||||
- `/h5/go` 302 目标已由 `v20260806g` 改为 `v20260807a`
|
||||
- 改后 `docker exec wecom_it_nginx nginx -t` 通过 → `docker restart wecom_it_nginx`
|
||||
|
||||
## 技术决策
|
||||
**验证(内网 + 外网 WAF 双通过)**
|
||||
- 内网:`/h5/v20260807a/`=200、`/h5/go`=302→`/h5/v20260807a/`、`/h5/assets/index-C1Q6Rane.js`=200(新 hash)
|
||||
- 外网:`https://itsupport.servyou.com.cn/h5/go`=302→`/h5/v20260807a/`;外部 index.html 引用新 hash `index-C1Q6Rane.js`
|
||||
- 产物核对:built JS 含「🔄 重新打开」「重新打开中」、CSS 含 `message-bubble__reopen-btn` → 方案A 代码确已生效
|
||||
|
||||
- 选择 ADB + WOL 而非红外方案:用户无IR设备,有线网络WOL可靠
|
||||
- ADB CLI 优先于 adb-shell 库:配对流程更可靠
|
||||
- WOL 用纯Python socket:零外部依赖
|
||||
- 关机用待机而非彻底关机:保留网络唤醒能力
|
||||
**回滚预案(nginx 层,秒级)**
|
||||
```
|
||||
sudo cp /opt/wecom-it-desk/nginx/nginx.conf.bak-20260807 /opt/wecom-it-desk/nginx/nginx.conf
|
||||
docker restart wecom_it_nginx
|
||||
```
|
||||
(dist 构建产物回退需重新解上次构建包;源码级备份见 `.backup/h5-20260807/src-frontend-h5-src.tar.gz`)
|
||||
|
||||
Reference in New Issue
Block a user