Files
AIclinicalresearch/SAE_WECHAT_MP_DEPLOY_STEPS.md
HaHafeng 2481b786d8 deploy: Complete 0126-27 deployment - database upgrade, services update, code recovery
Major Changes:
- Database: Install pg_bigm/pgvector plugins, create test database
- Python service: v1.0 -> v1.1, add pymupdf4llm/openpyxl/pypandoc
- Node.js backend: v1.3 -> v1.7, fix pino-pretty and ES Module imports
- Frontend: v1.2 -> v1.3, skip TypeScript check for deployment
- Code recovery: Restore empty files from local backup

Technical Fixes:
- Fix pino-pretty error in production (conditional loading)
- Fix ES Module import paths (add .js extensions)
- Fix OSSAdapter TypeScript errors
- Update Prisma Schema (63 models, 16 schemas)
- Update environment variables (DATABASE_URL, EXTRACTION_SERVICE_URL, OSS)
- Remove deprecated variables (REDIS_URL, DIFY_API_URL, DIFY_API_KEY)

Documentation:
- Create 0126 deployment folder with 8 documents
- Update database development standards v2.0
- Update SAE deployment status records

Deployment Status:
- PostgreSQL: ai_clinical_research_test with plugins
- Python: v1.1 @ 172.17.173.84:8000
- Backend: v1.7 @ 172.17.173.89:3001
- Frontend: v1.3 @ 172.17.173.90:80

Tested: All services running successfully on SAE
2026-01-27 08:13:27 +08:00

247 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
**状态**: 等待部署