Files
wecom_it_smart_desk/.workbuddy/memory/2026-06-02.md

3.7 KiB
Raw Permalink Blame 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