feat(pkb): Complete PKB module frontend migration with V3 design

Summary:
- Implement PKB Dashboard and Workspace pages based on V3 prototype
- Add single-layer header with integrated Tab navigation
- Implement 3 work modes: Full Text, Deep Read, Batch Processing
- Integrate Ant Design X Chat component for AI conversations
- Create BatchModeComplete with template selection and document processing
- Add compact work mode selector with dropdown design

Backend:
- Migrate PKB controllers and services to /modules/pkb structure
- Register v2 API routes at /api/v2/pkb/knowledge
- Maintain dual API routes for backward compatibility

Technical details:
- Use Zustand for state management
- Handle SSE streaming responses for AI chat
- Support document selection for Deep Read mode
- Implement batch processing with progress tracking

Known issues:
- Batch processing API integration pending
- Knowledge assets page navigation needs optimization

Status: Frontend functional, pending refinement
This commit is contained in:
2026-01-06 22:15:42 +08:00
parent b31255031e
commit 5a17d096a7
226 changed files with 14899 additions and 224 deletions

View File

@@ -0,0 +1,214 @@
# SAE部署微信服务号完整步骤
> **预计用时**: 10-15分钟
> **目标**: 将微信服务号功能部署到生产环境
> **域名**: https://iit.xunzhengyixue.com
---
## 📋 Step 1: 在SAE配置环境变量5分钟
### 1.1 登录阿里云SAE控制台
访问https://sae.console.aliyun.com/
### 1.2 进入应用配置
```
应用列表 → 选择应用 → 配置管理 → 环境变量
```
### 1.3 添加以下4个环境变量
点击 **"添加环境变量"**,逐个添加:
| 变量名 | 变量值 | 说明 |
|--------|--------|------|
| `WECHAT_MP_APP_ID` | `wx062568ff49e4570c` | 微信服务号AppID |
| `WECHAT_MP_APP_SECRET` | `c0d19435d1a1e948939c16d767ec0faf` | 微信服务号AppSecret |
| `WECHAT_MP_TOKEN` | `IitPatientWechat2026JanToken` | 回调Token |
| `WECHAT_MP_ENCODING_AES_KEY` | `VIzwMGRG4Ll8Sd7fPxPXLlBaWdsh2rK2qIGpyaEoc1v` | 消息加密密钥 |
### 1.4 保存配置
点击 **"保存"** 按钮
⚠️ **注意**:保存后需要重启应用才能生效
---
## 📋 Step 2: 部署代码到SAE5-10分钟
### 2.1 执行部署脚本
```powershell
cd D:\MyCursor\AIclinicalresearch\backend
.\deploy-to-sae.ps1
```
### 2.2 等待部署完成
部署过程大约需要5-10分钟等待日志显示
```
✅ 部署成功
应用状态: Running
实例数: 1
```
### 2.3 验证部署
访问健康检查接口:
```
https://iit.xunzhengyixue.com/api/v1/iit/health
```
**期望返回**
```json
{
"status": "ok",
"module": "iit-manager",
"version": "1.1.0"
}
```
---
## 📋 Step 3: 配置微信公众平台3分钟
### 3.1 登录微信公众平台
访问https://mp.weixin.qq.com/
使用管理员微信扫码登录
### 3.2 进入服务器配置
```
左侧菜单 → 设置与开发 → 基本配置 → 服务器配置 → 修改配置
```
### 3.3 填写配置信息
| 配置项 | 值 |
|--------|-----|
| **URL** | `https://iit.xunzhengyixue.com/wechat/patient/callback` |
| **Token** | `IitPatientWechat2026JanToken` |
| **EncodingAESKey** | `VIzwMGRG4Ll8Sd7fPxPXLlBaWdsh2rK2qIGpyaEoc1v` |
| **消息加解密方式** | **安全模式(推荐)** |
| **数据格式** | **XML** |
### 3.4 提交验证
1. 点击 **"提交"** 按钮
2. 微信会发送GET请求到您的服务器验证
3. 应该显示 **"配置成功"**
### 3.5 启用配置
点击 **"启用"** 按钮
---
## 📋 Step 4: 验证功能3分钟
### 4.1 查看SAE日志
1. 登录阿里云SAE控制台
2. 应用管理 → 选择应用 → 实例管理
3. 点击 **"日志"** → **"实时日志"**
**期望看到**
```
📥 收到微信服务号 URL 验证请求
✅ URL 验证成功,返回 echostr
```
### 4.2 测试关注事件
1. 用微信扫码关注公众号:**AI for 临床研究**
2. 查看SAE日志
**期望看到**
```
📥 收到微信服务号回调消息
🔐 检测到加密消息,开始解密...
✅ 消息解密成功
🎯 处理事件消息: subscribe
👤 用户关注公众号: oXXXXXXX
```
### 4.3 测试文本消息
1. 在公众号对话框发送:**你好**
2. 查看SAE日志
**期望看到**
```
📥 收到微信服务号回调消息
✅ 消息解密成功
💬 处理文本消息: 你好
📝 文本消息已记录
```
---
## ✅ 成功标志
- ✅ SAE环境变量配置完成
- ✅ 代码部署成功
- ✅ 健康检查接口返回正常
- ✅ 微信公众平台配置成功并启用
- ✅ 关注事件日志正常
- ✅ 文本消息日志正常
---
## 🎉 完成!
微信服务号已成功集成到IIT Manager Agent系统
### 已实现功能
- ✅ URL验证安全模式
- ✅ 消息加解密
- ✅ 事件处理(关注/取消关注)
- ✅ 文本消息接收
- ✅ 模板消息推送Service已就绪
- ✅ 客服消息推送Service已就绪
### 后续开发
- [ ] 患者绑定功能H5页面 + 数据表)
- [ ] 访视提醒定时任务
- [ ] 智能对话回复
- [ ] 微信小程序开发
---
## ⚠️ 重要提示
1. **环境变量**修改后必须重启SAE应用
2. **日志查看**通过SAE控制台实时日志查看
3. **域名**:生产环境使用 `iit.xunzhengyixue.com`
4. **Token和密钥**不要泄露不要提交到Git
---
## 📞 需要帮助?
- 查看SAE日志排查问题
- 检查环境变量配置
- 确认微信公众平台配置正确
---
**创建时间**: 2026-01-04
**文档版本**: v1.0
**状态**: 等待部署