Files
ChatOA/项目要求.md

5.8 KiB
Raw Permalink Blame History

ChatOA 项目要求与完成状态

本文档为 ChatOA 客户端的需求基线。原需求逐条保留,每条后标注当前完成状态。 更新日期:2026-08-23 当前版本:v0.1.0

一、项目概述

这是一个基于 IM 的 OA 客户端工具,项目名称叫 ChatOA,通过即时通讯的方式实现对话、文件互传、表单签批等,用户为办公室人员,与微信电脑端类似。

功能优先级:1 即时通讯对话、2 联系人、3 日程 优先完成;5 笔记、4 表单先做 Demo;6 应用、7 网盘属于扩展。

  • 整体结构参考微信电脑端,分三列:第一列为功能图标导航按钮,第二列为功能区(如联系人列表),第三列为主要工作区 —— 已完成

二、技术路线

  • 客户端Electron + React + TypeScript —— 已完成Electron + Vite + React 18 + TS + Ant Design 5 + Zustand
  • 服务端Node.js + TypeScriptNestJS)—— 已完成NestJS 11 + Socket.IO + JWT
  • 数据库MongoDB + Redis —— 预留(当前 JSON 文件持久化,server/src/config.ts 已留 Mongo/Redis 配置位)
  • 通信Socket.IOWebSocket 封装)—— 已完成

三、前端要求

  • 支持 Windows —— 已完成Electron 便携版)
  • 包含登录页、聊天列表页、聊天窗口页的路由 —— 已完成
  • 联系人页 —— 已完成
  • 日程页 —— 已完成
  • 表单页(自定义表单,支持创建、管理、填写,表单存储为 JSON 格式)—— 已完成
  • 集成 Socket.IO 客户端 —— 已完成

四、服务端要求

  • 用户认证(JWT)—— 已完成server/src/authJWT 7 天有效)
  • WebSocket 网关(Socket.IO)—— 已完成server/src/chat
  • 消息存储(MongoDB)—— 预留(当前 JSON 存储)
  • 在线状态管理(Redis)—— 预留(当前 presence 模块 JSON 模拟)
  • 离线消息推送 —— 预留

五、各模块细化需求与状态

5.1 知识库(笔记)

  • 分左右结构,左边为多级目录,支持搜索,左侧区域宽度与聊天对话列表区域一致(1-7 个模块全局统一宽度)—— 已完成
  • 右侧为笔记编辑界面 —— 已完成
  • 图标和文字保持在同一行 —— 已完成
  • 左边文件夹目录后面显示笔记条数 —— 已完成
  • 右侧编辑区支持多页签 —— 已完成KeepAlive 多页签)
  • 笔记编辑组件采用 HTML 富文本编辑器 —— 已完成

5.2 应用页面

  • 分左右结构,左边为两个 Tab:「我的应用」与「应用市场」,支持搜索 —— 已完成
  • 右侧为应用的展示、操作区,模拟几个应用 —— 已完成
  • 应用市场上架了「极简日历」应用(参考 calendarlite.bbitcn.net 产品)—— 已完成2026-08-21 新增)
  • 应用分组折叠 —— 已完成2026-08-22 新增)

5.3 网盘页面

  • 先做 Demo,分左右结构:左边为 搜索结果、本机文件、我的文件、团队文件、系统文件、分享文件、回收站 导航菜单,底部显示云盘容量与使用情况 —— 已完成
  • 右侧为文件夹显示区域 —— 已完成

5.4 日程页面

  • 分左右结构,左侧区域上面一个小型月历视图,用点标记日程、生日、纪念日等 —— 已完成
  • 左侧下方分多个 Tab:今日(默认)、明日、一周内等 —— 已完成
  • 右侧为大型月历视图 —— 已完成

5.5 联系人页面

  • 新增分组:同事(组织内好友)| AI 助手(单击后进入 AI 对话界面,模型支持多种可选)| 朋友(非组织内朋友,通过添加好友)—— 已完成

5.6 系统框架

  • 首页左下角个人头像图标,单击后显示个人信息并修改签名、设置状态(内置 上班、外出、出差、请假、学习、休假等状态)—— 已完成client/src/components/ProfileModal.tsx

六、迭代变更记录

日期 变更
2026-08-21 应用市场上架「极简日历」应用(market-calendar-lite),含功能预览卡片、EXTERNAL_PROJECTS 与市场应用 id 对齐
2026-08-22 应用分组折叠功能;顶部标题栏新增版本编号 ChatOA v0.1.0(版本号唯一来源 client/package.json,经 Vite define 注入 __APP_VERSION__
2026-08-23 首次提交并推送远程仓库;本文档更新为需求+完成状态双轨制;新增 开发进度存档.md

七、后续待办(Roadmap

  • 接入真实大模型 APIOpenAI / Claude / 豆包等)
  • 表单流程接入后端实例审批链路
  • 网盘接入 OSS / 本地文件同步
  • 消息已读回执、撤回、引用
  • 接入 MongoDB / Redis 生产级存储
  • 移动端响应式适配

八、快速启动(新环境省积分指南)

更换文件夹路径 / 重新安装 CodeBuddy 后,按此快速恢复开发环境。完整细节见 开发进度存档.md

# 1. 安装依赖(首次)
cd server; npm install
cd ..\client; npm install

# 2. 启动服务端(端口 3000
cd server; npm run start:dev

# 3. 启动客户端(Vite 5173Electron 桌面窗口)
cd client; npm run dev

# 4. 浏览器调试版(不带 Electron,最省资源)
cd client; npm run dev:web

# 5. 打包便携版 exe
cd client; npm run build:portable
  • 演示账号:demo / 123456(另含 alice / bob / carol,密码同 123456
  • 客户端启动方式详见 开发进度存档.md 第二节。