chore: docs 结构整改 + compose 双目录对齐(合并重建提交)

本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交
(5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。

一、docs 结构整改(整改 #14)
根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入,
随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录
树并存于 docs/,共 791 文件、双分类体系冲突。

修复动作:
- b2 同名异主题文件改名迁移保全 9 个
- C 类 39 个孤立文件按主题正确归类
- A/B1 类 222 个重复文件删除(新结构已有内容副本)
- 9 个旧独有空目录删除
- 270 处内部引用按 verified 映射改写
- 整改记录 #14 登记于 04-运维文档/部署运维

结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。
残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。

二、compose 双目录对齐(消除踩坑 A)
- docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist
  改为 src/frontend-*/dist(h5 / agent / admin / terminal)
- docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/
- 效果:本地 docker compose up 不再把根目录 stale dist 挂回,
  与线上一致,分叉隐患消除(已 docker compose config 校验通过)

防复发铁律:
- 重构须提交;仓库修复须 git stash -u 或先 commit
- 新结构须 git add 并提交,避免再次 untracked 复活
- H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
This commit is contained in:
Simon
2026-08-07 22:31:32 +08:00
parent 5a77a89ab1
commit facc04aa65
573 changed files with 129347 additions and 909 deletions
@@ -0,0 +1,165 @@
# 企微 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 登录流程正常