Files
ChatOA/项目要求.md
T

44 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
这是一个 基于IM的OA客户端工具,项目名称叫ChatOA,通过即时通讯的方式实现对话、文件互传,表单签批等,用户为办公室人员,与微信电脑端类似,功能包含 1即时通讯对话 2联系人 3日程 4表单 5笔记 6应用 7网盘
功能不需要一次性完成,单1 2 3 优先 ,5和4先做Demo 6 7属于扩展。
整体结构参考微信电脑端,分三列,第一列为功能图标导航按钮 第二列为功能区:例如联系人列表等,第三列为主要工作区。
技术路线:
**客户端**Electron + React/Vue + TypeScript
**服务端**Node.js + TypeScriptNestJS 或 Express
**数据库**MongoDB + Redis
**通信**Socket.IOWebSocket 封装)
前端:
- 支持 Windows
- 包含登录页、聊天列表页、聊天窗口页的路由
- 联系人页
- 日程页
- 表单页(自定义表单,支持创建、管理、填写,表单存储为Json格式)
- 集成 Socket.IO 客户端
服务端:
用 Node.js + NestJS + TypeScript 写 IM 服务端,
模块包括:
- 用户认证(JWT
- WebSocket 网关(Socket.IO
- 消息存储(MongoDB
- 在线状态管理(Redis
- 离线消息推送
如果还有问题,请及时提出。
知识库的设计逻辑为:笔记,分左右结构,左边为多级目录,支持搜索,左侧区域的宽度等于聊天界面对话列表区域的宽度(1-7个模块,需要全局统一宽度),右侧为笔记编辑界面。
应用页面:分左右结构,左边为两个Tab,一个为我的应用,另一个为应用市场,支持搜索,右侧为应用的展示、操作区,模拟几个应用。
网盘页面:先做Demo,分左右结构,左边为 搜索结果,本机文件,我的文件,团队文件,系统文件,分享文件,回收站 几个导航菜单,底部显示云盘的容量和使用情况。右侧为文件夹显示区域。
日程页面:分左右结果,左侧区域上面一个小型月历视图,用点标记日程、生日、纪念日等,左侧下方显示 分多个tab页:今日(默认)、明日、一周内等信息。右侧为大型月历视图。
知识库(笔记)页面调整项:1图标和文字需要保持在同一行。2左边文件夹目录后面显示笔记条数。3右侧编辑区需要支持多页签。4笔记编辑组件采用html富文本编辑器。
联系人页面:新增分组:同事(组织内好友)|AI助手(AI助手工具:单击后进入AI对话聊天界面,模型支持多种模型可选)|朋友(指非组织内朋友,通过添加好友的) 。
系统框架:
首页左下角个人头像图标,单击后 进行显示个人信息并修改签名、设置状态(内置 上班、外出、出差、请假、学习、休假等状态)