# 部署包 v0.5.2(2026-06-16) ## 📦 包含文件 | 文件 | 大小 | 路径 | 说明 | |------|------|------|------| | `deploy-h5-v2.tar` | 645 KB | 本地 `D:\资料\03-项目开发\wecom_it_smart_desk-claude\deploy-h5-v2.tar` | H5 前端强化版骨架屏 | | `deploy-backend-v052.tar` | 2.5 MB | 本地 `D:\资料\03-项目开发\wecom_it_smart_desk-claude\deploy-backend-v052.tar` | 后端 3 个 hotfix | ## 🔄 改动清单(本次) ### 后端 3 个 hotfix 1. **`backend/app/main.py`** — 审批链接 seed 重写(6 条一站式运维平台真实工单) 2. **`backend/app/api/h5.py:836-846`** — `messages.id` UUID 比较 → 字符串比较(防 PG 报 "operator does not exist: character varying = uuid") 3. **`backend/app/api/ws.py:38,196`** — 移除 `request: Request` 参数,改用 `websocket.headers` / `websocket.query_params`(修 WS 连接失败) ### H5 前端 1 个强化 4. **`frontend-h5/index.html`** + **`main.ts`** + **`App.vue`** + **`router/index.ts`** - 骨架屏 CSS 强化(logo 64px + 阴影 + 脉冲动画) - 显式 `body.app-loaded` 类名 + 最小 500ms 显示(代替易失效的 `:empty` 选择器) - ChatView 改静态 import(去掉 301KB 二次请求) --- ## 🚀 部署步骤(PuTTY 一次跑完) ### 步骤 1:WinSCP 上传 2 个包到 `/tmp/` - `deploy-h5-v2.tar` (645 KB) - `deploy-backend-v052.tar` (2.5 MB) ### 步骤 2:覆盖部署 H5 前端 ```bash rm -rf /opt/wecom-it-desk/frontend-h5/dist ``` ```bash mkdir -p /opt/wecom-it-desk/frontend-h5/dist ``` ```bash tar -xf /tmp/deploy-h5-v2.tar -C /opt/wecom-it-desk/frontend-h5/dist ``` ```bash grep -c "app-loaded" /opt/wecom-it-desk/frontend-h5/dist/index.html ``` > 期望输出:`≥ 1`(新特征字符串) ### 步骤 3:覆盖部署后端 3 个 hotfix ```bash # 先备份 cp -r /opt/wecom-it-desk/backend/app /opt/wecom-it-desk/backend/app.bak-$(date +%Y%m%d-%H%M) ``` ```bash # 解压新代码到 /tmp/backend-new mkdir -p /tmp/backend-new tar -xf /tmp/deploy-backend-v052.tar -C /tmp/backend-new ``` ```bash # 复制到 backend 目录(只覆盖改过的 3 个文件) cp /tmp/backend-new/backend/app/main.py /opt/wecom-it-desk/backend/app/main.py cp /tmp/backend-new/backend/app/api/h5.py /opt/wecom-it-desk/backend/app/api/h5.py cp /tmp/backend-new/backend/app/api/ws.py /opt/wecom-it-desk/backend/app/api/ws.py ``` ```bash # 重启 backend 容器生效 docker restart wecom_it_backend ``` ```bash # 验证启动成功(看启动日志,无报错即可) docker logs --tail 20 wecom_it_backend ``` ### 步骤 4:让审批链接重新 seed(数据库操作) ```bash # 进入 backend 容器执行 SQL docker exec -it wecom_it_postgres psql -U wecom -d wecom_it_desk -c "DELETE FROM approval_links;" ``` ```bash # 重启 backend 让 seed 重新跑 docker restart wecom_it_backend ``` ```bash # 验证:看 approval_links 应该有 10 条(6 IT + 2 HR + 1 行政 + 1 财务) docker exec -it wecom_it_postgres psql -U wecom -d wecom_it_desk -c "SELECT category, COUNT(*) FROM approval_links GROUP BY category;" ``` > 期望输出:6 条 IT + 2 条 HR + 1 条 行政 + 1 条 财务 ### 步骤 5:验证 /itadmin/ 403 + 一站式运维平台链接 1. **走企微入口**:企微 → IT 数据查询平台(或类似应用) → 进 /itadmin/ → 转外部浏览器 2. **预期**:不再 403,正常加载管理后台 3. **H5 端**: - 企微 → IT 智能服务台 → /itdesk/ → 转外部浏览器 - 右侧"常用资源"标签里应该看到 6 条新 IT 工单链接 4. **后端 WebSocket**: - 坐席工作台 /itagent/ 打开 → 浏览器 F12 → Network → 看 `ws://...` 状态应该是 `101 Switching Protocols` 而不是失败 --- ## ⚠️ 出错兜底(3 秒回滚) ```bash # H5 回滚 rm -rf /opt/wecom-it-desk/frontend-h5/dist mv /opt/wecom-it-desk/frontend-h5/dist.bak-最新时间戳 /opt/wecom-it-desk/frontend-h5/dist ``` ```bash # 后端回滚 rm -rf /opt/wecom-it-desk/backend/app mv /opt/wecom-it-desk/backend/app.bak-最新时间戳 /opt/wecom-it-desk/backend/app docker restart wecom_it_backend ``` ```bash # 审批链接恢复 docker exec -it wecom_it_postgres psql -U wecom -d wecom_it_desk -c "DELETE FROM approval_links; INSERT INTO approval_links(...) VALUES(...);" # (或从 alembic 之前的 migration 找原始 seed 数据) ``` --- ## 📝 验证清单(用户跑完部署后逐项打勾) - [ ] H5 骨架屏:浏览器访问 /itdesk/ 看到蓝色 logo + 文字 - [ ] /itadmin/ 不再 403 - [ ] H5 常用资源 6 条 IT 工单链接(点开能跳到 devops.dc.servyou-it.com) - [ ] /itagent/ WebSocket 连接成功(F12 Network 看 WS 状态 101) - [ ] /itportal/ 业务功能正常 --- **部署包生成时间**:2026-06-16 08:17 **版本**:v0.5.2 **配套文档**:本文件 `部署包-2026-06-16-v0.5.2.md`