44 lines
2.7 KiB
Markdown
44 lines
2.7 KiB
Markdown
这是一个 基于IM的OA客户端工具,项目名称叫ChatOA,通过即时通讯的方式实现对话、文件互传,表单签批等,用户为办公室人员,与微信电脑端类似,功能包含 1即时通讯对话 2联系人 3日程 4表单 5笔记 6应用 7网盘
|
||
功能不需要一次性完成,单1 2 3 优先 ,5和4先做Demo 6 7属于扩展。
|
||
整体结构参考微信电脑端,分三列,第一列为功能图标导航按钮 第二列为功能区:例如联系人列表等,第三列为主要工作区。
|
||
|
||
技术路线:
|
||
**客户端**:Electron + React/Vue + TypeScript
|
||
**服务端**:Node.js + TypeScript(NestJS 或 Express)
|
||
**数据库**:MongoDB + Redis
|
||
**通信**:Socket.IO(WebSocket 封装)
|
||
|
||
前端:
|
||
- 支持 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对话聊天界面,模型支持多种模型可选)|朋友(指非组织内朋友,通过添加好友的) 。
|
||
|
||
系统框架:
|
||
首页左下角个人头像图标,单击后 进行显示个人信息并修改签名、设置状态(内置 上班、外出、出差、请假、学习、休假等状态)
|