Files
wecom_it_smart_desk/docs/11-历史归档/企微H5应用配置指南-gofly-archived-20260703.md
T

166 lines
4.0 KiB
Markdown
Raw 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.
# 企微 H5 应用配置指南 (D-T4) - 完整版
## 前置条件
| 依赖 | 状态 | 说明 |
|------|------|------|
| GoFlyLiveChat 服务 | ✅ 已运行 | `http://10.90.5.110:8081` |
| SSL 证书 | ✅ 已有 | 使用 itsupport.servyou.com.cn 证书 |
| 企微 OAuth2 | ❌ 待开发 | 需要对接企微用户体系 |
---
## 整体架构
```
用户 → 企微工作台 → 应用 → HTTPS(itsupport.servyou.com.cn/gofly)
Nginx反向代理
GoFlyLiveChat:8081
MySQL数据库
```
---
## 配置步骤
### 步骤1Nginx 反向代理配置
在现有 Nginx 上添加 GoFlyLiveChat 路由(子路径):
```bash
# 在生产服务器(10.90.5.110)上执行
# 1. 创建 Nginx 配置
cat > /etc/nginx/conf.d/gofly.conf << 'EOF'
# GoFlyLiveChat 子路径代理
location /gofly {
proxy_pass http://127.0.0.1:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 解决WebSocket子路径问题
proxy_redirect ~^/(.*)$ /gofly/$1;
}
# 根路径重定向到IT服务台
location = /gofly {
return 301 /gofly/;
}
EOF
# 2. 测试配置
nginx -t
# 3. 重载 Nginx
nginx -s reload
```
> ⚠️ 注意:GoFlyLiveChat 可能不支持子路径,需要使用独立子域名
---
### 方案B:独立子域名(如需要)
如果GoFlyLiveChat不支持子路径,使用独立子域名:
```
https://itdesk.servyou.com.cn → IT服务台(H5)
https://itsupport.servyou.com.cn → 主域名(现有)
https://chat.servyou.com.cn → GoFlyLiveChat(新申请)
```
---
### 步骤2:企微应用配置
1. 登录企微管理后台:https://work.weixin.qq.com
2. **应用管理****自建应用****创建应用**
| 字段 | 示例值 | 说明 |
|------|--------|------|
| 应用名称 | IT智能服务台 | 展示给用户 |
| 应用主页 | `https://itsupport.servyou.com.cn/gofly` | **必须HTTPS** |
| 可信域名 | `servyou.com.cn` | 用于OAuth2 |
3. **网页授权及JS-SDK** → 设置可信域名
4. **发布应用** → 设置可见范围
---
### 步骤3:企微 OAuth2 集成(开发任务)
GoFlyLiveChat 需要改造支持企微OAuth2
#### 3.1 获取企微授权
用户访问应用时重定向到:
```
https://open.weixin.qq.com/connect/oauth2/authorize?
appid=CORP_ID&
redirect_uri=URL-encoded(https://itsupport.servyou.com.cn/gofly/callback)&
response_type=code&
scope=snsapi_base&
state=STATE#
wechat_redirect
```
#### 3.2 回调处理
```python
# 获取用户身份
code = request.GET.get('code')
# 调用企微接口获取用户ID
user_id = wecom_api.get_user_id(code)
# 创建/更新用户会话
```
#### 3.3 与现有系统对接
| 现有系统 | 对接方式 |
|----------|----------|
| 用户表 | 通过企微user_id关联 |
| 角色体系 | 映射企微部门到角色 |
| 会话管理 | 使用现有session或JWT |
---
## 完整配置清单
| 序号 | 任务 | 负责人 | 状态 |
|------|------|--------|------|
| 1 | Nginx 配置 /gofly 路由 | 运维 | ⏳ |
| 2 | 测试子路径访问 | 工程师 | ⏳ |
| 3 | 企微创建自建应用 | 运维 | ⏳ |
| 4 | 开发 OAuth2 集成代码 | 工程师 | ⏳ |
| 5 | 测试完整流程 | QA | ⏳ |
---
## 访问地址
| 环境 | 地址 | 说明 |
|------|------|------|
| 测试 | `http://10.90.5.110:8081` | 已运行 |
| 生产 | `https://itsupport.servyou.com.cn/gofly` | 需配置Nginx |
---
## 验证清单
- [ ] Nginx /gofly 路由配置生效
- [ ] HTTPS 访问正常
- [ ] GoFlyLiveChat 服务正常
- [ ] 企微应用可访问
- [ ] OAuth2 登录流程正常