Files

55 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

# 2026-06-02 工作日志
## 企微IT智能服务台
- 重绘三张核心原型图(坐席工作台、员工H5端、评分流转)供用户查看
- 根据 PRD + ARCHITECTURE.md 整理了一份面向运维/架构/开发的图文沟通文档,包含:
- **系统架构**Docker Compose 部署拓扑、技术栈、9张表、7组API
- **消息收发**:6步全链路闭环、紧急度评分公式、会话排序规则
- **知识库迭代**:M1→M2→M3 三步演进路径、M3标注闭环流程
- **运维信息**:资源配置、Docker服务清单、关键配置项
- **待办清单**:5项需团队协助的事项
- 文档保存至 `docs/团队沟通文档-架构消息知识库.md`
## 本地环境搭建
- Redis 3.0.504 通过 winget 安装(`C:\Program Files\Redis`),redis-cli ping → PONG
- PostgreSQL 16.14 通过 winget 安装(`C:\Program Files\PostgreSQL\16`),密码=postgres
- PATH 已添加 PostgreSQL bin 目录(用户级)
- 数据库 `it_smart_desk` 已创建
- `.env` 已更新为本地连接:`postgresql://postgres:postgres@localhost:5432/it_smart_desk`
- Docker Desktop 29.4.3 已就绪,但国内镜像拉取失败,PostgreSQL/Redis 改用原生安装
- 后端 pip install 尚未完成(用户切换到复用评估任务)
## 现有系统复用评估
- 读取了交接文档(IT智能在线咨询交接文档-tm.docx)和现有代码(db_query_project_v8.tar
- 现有系统技术栈:Django 3.2 + PG 11.8 + Redis + Bootstrap + ECharts
- 核心可复用:Dify Workflow、dify2openai桥接、RAGFlow知识库、Qwen3-30B大模型、Dify只读数据库
- 基础设施可复用:10.80.0.86服务器、域名dc.servyou-it.com、Redis实例、Docker Compose模式
- 代码层面复用率约15%(业务逻辑参考),基础设施+AI能力复用率约70%
- 关键对接参数已整理(dify2openai API URL/Key、RAGFlow地址、大模型地址、数据库连接等)
- 文档保存至 `docs/现有系统复用评估报告.md`
## 前端启动 & 登录500调试(下午至晚间)
- 前端 `frontend-agent` (Element Plus, port 5173) 和 `frontend-h5` (Vant, port 5174) npm install + npm run dev 成功
- 登录 `/api/agents/login` 持续返回 500,排查过程:
1. Redis 错误容错 → 未解决
2. catch-all 异常处理器 → 代码正确但未生效(旧进程)
3. 中间件级异常捕获 → 同上
4. 诊断脚本发现根 `.env` 的 DATABASE_URL 指向 Docker 主机名 `@postgres` → 修复为 `localhost`
5. 修复后重启仍 500 → 端口 8000 被旧进程僵尸 socket 占据(`[Errno 10048]`),新进程无法绑定
- **根本原因**:端口 8000 僵尸 socket + 旧进程用修复前的 .env
- **解决方案**:换端口 8001 + 修复 .env + 修复 QuickReplyPanel.vue 语法错误(`{{{ }}}``{{ }}`
- 当前运行:后端 localhost:8001, 前端 localhost:5173(代理指向 8001
- 添加了诊断端点 `/api/test-ping``/api/test-error`(调试用,生产前需删除)
- `vite.config.ts` 代理端口已从 8000 改为 8001
## H5 员工端启动 & 修复(晚间)
- `frontend-h5` (Vant, port 5174) npm install + npm run dev 成功
- 初始报错"未授权"H5 端走企微 OAuth2 但本地无 `VITE_WECOM_CORP_ID` → 路由守卫已添加 mock `employee_id`
- `fetchUserInfo` 在开发模式下 API 失败时使用 mock 数据兜底,不阻塞初始化
- 后端返回 `{"items": [...]}` 格式但前端直接赋值导致 `is not iterable` 错误:
- `getApprovalLinks`:提取 `data?.items || data || []`
- `getSoftwareDownloads`:同上
- `pollMessages`:同上
- H5 前端 `vite.config.ts` 代理端口也已从 8000 改为 8001
- 当前完整运行状态:后端 8001 + 坐席端 5173 + 员工端 5174