# 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
