146 lines
4.6 KiB
Markdown
146 lines
4.6 KiB
Markdown
# 部署包 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`
|