feat(iit): Complete IIT Manager Agent Day 1 - Environment initialization and WeChat integration

Summary:
- Complete IIT Manager Agent MVP Day 1 (12.5% progress)
- Database: Create iit_schema with 5 tables (IitProject, IitPendingAction, IitTaskRun, IitUserMapping, IitAuditLog)
- Backend: Add module structure (577 lines) and types (223 lines)
- WeChat: Configure Enterprise WeChat app (CorpID, AgentID, Secret)
- WeChat: Obtain web authorization and JS-SDK authorization
- WeChat: Configure trusted domain (iit.xunzhengyixue.com)
- Frontend: Deploy v1.2 with WeChat domain verification file
- Frontend: Fix CRLF issue in docker-entrypoint.sh (CRLF -> LF)
- Testing: 11/11 database CRUD tests passed
- Testing: Access Token retrieval test passed
- Docs: Create module status and development guide
- Docs: Update MVP task list with Day 1 completion
- Docs: Rename deployment doc to SAE real-time status record
- Deployment: Update frontend internal IP to 172.17.173.80

Technical Details:
- Prisma: Multi-schema support (iit_schema)
- pg-boss: Job queue integration prepared
- Taro 4.x: Framework selected for WeChat Mini Program
- Shadow State: Architecture foundation laid
- Docker: Fix entrypoint script line endings for Linux container

Status: Day 1/14 complete, ready for Day 2 REDCap integration
This commit is contained in:
2026-01-01 14:32:58 +08:00
parent 4c5bb3d174
commit dac3cecf78
138 changed files with 1190 additions and 941 deletions

View File

@@ -0,0 +1,74 @@
# **子域名 iit.xunzhengyixue.com SSL 证书全流程配置指南 (针对 SAE/CLB 架构)**
根据你的《2025版部署手册》你的公网入口为 CLBIP: 8.140.53.236),后端为 SAE 应用。为了满足企业微信/服务号的 HTTPS 强制要求,请严格按照以下四个阶段执行操作。
## **阶段一:证书申请(在你的阿里云账号操作)**
1. **进入控制台**:登录你的阿里云账号,搜索进入 **“数字证书管理服务”**。
2. **创建证书名额**
* 点击 **“正式证书”** \-\> **“个人测试证书(免费)”**。
* 点击 **“创建证书”**,获得一个“待申请”状态的名额(每年有 20 个免费额度)。
3. **提交申请信息**
* 在对应条目点击 **“证书申请”**。
* **证书绑定域名**:填写 iit.xunzhengyixue.com。
* **域名验证方式****必须选择“DNS 验证”**。
* **CSR 生成方式**:选择“系统生成”。
4. **获取验证信息**:提交后,页面会显示 **主机记录**(如 \_dnsauth.iit**记录值**(一串随机长字符串)。请记录下来发给持有域名的同事。
## **阶段二:域名连接与验证(跨账号协作)**
此阶段需要你同事在其阿里云账号xunzhengyixue.com 持有者)下操作:
1. **建立 A 记录(建立连接)**
* **主机记录**iit
* **记录类型**A
* **记录值**8.140.53.236(指向你的 SAE CLB 公网 IP
* **目的**:让访问者能找到你的服务器。
2. **建立 TXT 记录(证书验证)**
* **主机记录**:填写你从阶段一获得的 \_dnsauth.iit。
* **记录类型**TXT
* **记录值**:填写你发给他的那串长字符串。
* **目的**:证明你对该子域名拥有控制权。
3. **完成签发**:同事添加成功后,回到你的证书控制台点击 **“验证”**。等待 10-30 分钟,状态变为“已签发”。
## **阶段三SAE 部署证书(核心步骤)**
等证书签发后需要将“钥匙”挂在大门CLB上。
1. **下载证书**:在控制台点击下载,服务器类型选择 **“Nginx”**。解压得到 .pem证书和 .key私钥文件。
2. **配置 SAE 访问设置**
* 进入 SAE 控制台 \-\> 应用 frontend-nginx-service \-\> **访问设置**
* 找到已有的公网 CLB 访问记录,点击 **“修改配置”**。
3. **添加 HTTPS 443 监听**
* **保留原有 80 端口规则**:不要删除它。
* **添加监听**
* **协议**HTTPS
* **HTTPS 端口**443标准加密端口
* **SSL 证书**:选择“自定义上传”,用记事本打开那两个文件,完整复制内容贴入对应的“证书内容”和“私钥内容”框中。
* **双向认证****必须关闭 (OFF)**。
* **容器端口**:填写 80对应你手册 5.2 节 Nginx 容器的端口)。
4. **开启 HTTP 重定向至 HTTPS**
* 在刚才的“修改配置”弹窗中,找到 **HTTP 80** 那一行规则。
* 勾选下方的 **“HTTP 重定向至 HTTPS”** 开关。
* **目的**:用户输入 http://... 会自动强制跳转到安全的 https://...。
## **阶段四:验证与微信端联调**
1. **全链路测试**
* 访问 https://iit.xunzhengyixue.com/api/v1/health。
* 若返回 JSON 且地址栏显示“小绿锁”,说明 HTTPS 链路已通。
2. **微信校验文件部署**
* 从企业微信/服务号后台下载 WW\_verify\_xxx.txt。
* 放入前端代码的 public 目录(这样打包后会在根目录)。
* 运行 docker build 和 docker push参考手册 11.1 节)。
* 在 SAE 点击“部署应用”更新镜像。
* 确保 https://iit.xunzhengyixue.com/WW\_verify\_xxx.txt 可被外部访问。
## **💡 避坑总结**
* **端口别写错**:是 **443**,不是 433 或其他。
* **双向认证**:千万别开,开了 PI 的手机就连不上了。
* **容器端口**CLB 负责解密,解密后依然把流量发给容器的 **80** 端口,所以容器端口填 80 是正确的。
* **解析优先级**:同事加 A 记录时,确保没有冲突的 CNAME 记录指向同一主机名 iit。
**当前状态**SOP Fully Detailed | **建议**:证书签发后,第一时间按“阶段三”进行 CLB 配置。