FF-Lite(云联) 仿飞书协同办公平台 - 完整项目介绍与使用指南
一、项目概述
1.1 一句话定位
为中小企业提供 2 周即可上线的协同办公 MVP,覆盖"找人、聊天、写文档、管账号、管组织、管任务"六大场景,让 50 人以下团队无需采购 SaaS 也能跑通数字化办公闭环。
1.2 产品代号
FF-Lite(云联) MVP(仿飞书协同办公平台最小可行产品)
1.3 核心价值
| 痛点 | 传统做法 | FF-Lite(云联) 解法 |
|---|---|---|
| 团队沟通分散 | 微信 + 邮件混用 | 工作消息全在一处,实时推送 |
| 找人困难 | 翻微信群 / 问同事 | 通讯录检索 + 员工名片 |
| 文档协作混乱 | 邮件附件 + 微信传文件 | 本地编辑 + 群组分享 |
| 账号管理乱 | 共享账号 / 密码群发 | 用户管理 + RBAC + 操作日志 |
| 组织架构不清 | 群聊混乱 | 部门树 + 职位管理 |
| 任务追踪困难 | 口头/微信派活 | 任务发布/分配/追踪/日程 |
1.4 项目状态
| 版本 | 范围 | 功能数 | 状态 |
|---|---|---|---|
| V1.0 | 用户中心 / 通讯录 / IM / 文档 / 管理后台 | 22 | 已完成 |
| V2.0 | 多企业 SaaS 化(企业注册 / 邀请码 / 删除企业 / 数据隔离) | 4 | 已完成 |
| V2.1 | 任务与日程管理 | 5 | 已完成 |
| V2.1+ | AI 智能助理 | 5 | 规划中 |
二、技术架构
2.1 技术栈一览
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 前端 | Vue 3 + TypeScript + Vite | SPA 单页应用,Element Plus 组件库 |
| 后端 | .NET 10 + C# | 模块化单体架构,DDD 领域驱动设计 |
| 数据库 | PostgreSQL 16+ | 多 Schema 隔离,EF Core ORM |
| 缓存/消息 | Redis 7+ | 缓存 + SignalR Backplane 实时推送 |
| 文件存储 | MinIO | 对象存储(图片/文件上传) |
| 实时通信 | SignalR | WebSocket 实时消息推送 |
| 认证 | JWT (HS256) | 无状态 Token 认证 |
| 部署 | Docker Compose | 一键启动 5 个容器 |
| 反向代理 | Nginx + Let’s Encrypt | HTTPS 加密 + 域名转发 |
2.2 架构图
┌─────────────────────────────────────────────────────────┐
│ 用户浏览器 │
│ https://fs.lctnb.top │
└──────────────────────┬──────────────────────────────────┘
│ HTTPS
▼
┌─────────────────────────────────────────────────────────┐
│ Nginx 反向代理 │
│ (SSL 终止 + 静态文件 + API 转发) │
└──────────┬──────────────────────┬───────────────────────┘
│ /api/* │ /*
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ ff-api (.NET) │ │ ff-frontend │
│ 端口: 5000 │ │ (Nginx 静态) │
└────────┬─────────┘ └──────────────────┘
│
┌────┼────┬────────┐
▼ ▼ ▼ ▼
┌──────┐ ┌──────┐ ┌──────┐
│PostgreSQL│ │Redis │ │MinIO │
│ :5432 │ │:6379 │ │:9000 │
└─────────┘ └──────┘ └──────┘
2.3 项目目录结构
FF-Lite/
├── frontend/ # Vue 3 前端
│ └── src/
│ ├── views/ # 页面组件
│ │ ├── auth/ # 登录/注册/企业注册
│ │ ├── workbench/ # 工作台
│ │ ├── im/ # 即时通讯
│ │ ├── contact/ # 通讯录
│ │ ├── doc/ # 云文档
│ │ ├── task/ # 任务管理
│ │ ├── profile/ # 个人中心
│ │ └── admin/ # 管理后台
│ ├── router/ # 路由配置
│ ├── stores/ # Pinia 状态管理
│ └── components/ # 公共组件
├── backend/ # .NET 10 后端
│ └── src/
│ ├── FF.App.Api/ # API 入口(Controllers + SignalR Hub)
│ ├── FF.App.Auth/ # 认证模块(JWT + 登录/注册)
│ ├── FF.App.User/ # 用户模块(通讯录/部门/个人中心)
│ ├── FF.App.IM/ # 即时通讯模块(SignalR + 消息)
│ ├── FF.App.Doc/ # 文档模块(编辑器/分享)
│ ├── FF.App.Admin/ # 管理后台(RBAC/日志/职位)
│ ├── FF.App.Task/ # 任务管理模块(DDD 聚合)
│ ├── FF.App.Tenant/ # 企业租户模块(SaaS)
│ └── FF.App.SharedKernel/ # 共享内核(DDD 基础)
└── docs/ # 项目文档
├── 01-需求分析/PRD.md
├── 02-开发文档/
├── 04-数据库设计/
└── 10-测试文档/
三、功能模块详解
3.1 用户认证(4 个功能)
| 功能 | 说明 |
|---|---|
| 登录 | 手机号 + 密码登录,JWT Token 认证 |
| 邀请注册 | 管理员生成邀请链接 → 员工点链接注册 → 自动入部门 |
| 企业注册 | 手机号 + 企业名称 + 密码 → 创建企业并成为超管 |
| 个人中心 | 修改头像、昵称、邮箱、个性签名 |
登录页面

企业注册页面

3.2 工作台
登录后进入工作台首页,展示欢迎信息、待办任务、最近消息等概览卡片。

3.3 即时通讯 IM(5 个功能)
| 功能 | 说明 |
|---|---|
| 私聊 | 1v1 实时聊天,支持文字/图片/文件 |
| 群聊 | 部门群自动创建,项目群手动创建,上限 50 人 |
| 消息类型 | 文字、图片(≤5MB)、文件(≤10MB) |
| 已读回执 | 私聊消息显示已读/未读状态 |
| 历史消息 | 向上滚动加载更多,每次 20 条 |
即时通讯界面

3.4 通讯录(4 个功能)
| 功能 | 说明 |
|---|---|
| 部门树 | 左侧多层级部门树,默认展开 2 级 |
| 用户列表 | 按部门分组展示成员卡片 |
| 搜索 | 按姓名/手机号实时模糊搜索 |
| 员工名片 | 查看详情 + 一键发起聊天 |
通讯录界面

3.5 云文档(4 个功能)
| 功能 | 说明 |
|---|---|
| 富文本编辑器 | 基于 WangEditor,支持粗体/斜体/标题/列表/链接/图片 |
| 本地编辑 | 手动保存,显示最后保存时间 |
| 群组分享 | 文档分享到群,群成员可查看 |
| 文档详情 | 查看标题、创建者、时间、内容预览 |
云文档界面

3.6 任务管理(5 个功能)—— V2.1 新增
| 功能 | 说明 |
|---|---|
| 发布任务 | 超管/部门主管发布任务,分配负责人/协作人 |
| 我的任务 | 员工查看分配给自己的任务,按截止时间排序 |
| 完成勾选 | 员工自主标记完成,可填写完成说明 |
| 任务进度 | 管理者查看发布任务的完成率、成员进度、逾期情况 |
| 日程表 | 日历视图展示任务截止时间和完成状态 |
我的任务

日程安排

任务进度

3.7 管理后台(5 个功能)
| 功能 | 说明 |
|---|---|
| 企业概览 | 企业信息总览,邀请码展示与重置 |
| 用户管理 | 单个新增/编辑/禁用/重置密码,角色管理 |
| 部门管理 | 增删改部门,支持多级树形结构 |
| 职位管理 | 增删改职位,有员工引用时不可删除 |
| 操作日志 | 记录 8 类关键操作,按时间/操作人/类型筛选 |
管理后台概览

用户管理

部门管理

职位管理

操作日志

四、角色权限体系
系统预置 3 个固定角色,不可自定义:
| 角色 | 权限范围 |
|---|---|
| 超级管理员 | 所有权限,含管理后台全部功能 |
| 部门主管 | 查看本部门成员,发布/管理本部门任务 |
| 普通员工 | 找人、聊天、写文档、查看自己的任务 |
五、多企业 SaaS 隔离
V2.0 实现了多企业数据隔离,核心机制:
- 共享数据库 +
tenant_id软隔离:所有业务表加tenant_id列 - EF Core 拦截器:自动注入
tenant_id,开发无需手动填写 - QueryFilter:查询自动过滤本企业数据
- 跨企业禁通讯:私聊/群聊/文档分享/通讯录查询均限制在同企业内
- 1 手机号 = 1 企业:不支持多企业身份切换
- 企业邀请码:格式
COMP-XXXXXX-XXXX,超管可重置 Salt 使旧码失效
六、演示账号
部署后预置的种子数据:
| 角色 | 手机号 | 密码 | 说明 |
|---|---|---|---|
| 超级管理员 | 13999990001 | Test@1234 | 拥有全部权限 |
| 部门主管 | 13800000004 | Test@1234 | 部门管理权限 |
| 普通员工 | 13800000003 | Test@1234 | 基础功能 |
| 普通员工 | 13800000005 | Test@1234 | 基础功能 |
| 普通员工 | 13800000006 | Test@1234 | 基础功能 |
七、快速使用指南
7.1 登录
- 打开浏览器访问
https://fs.lctnb.top - 输入演示账号手机号和密码(如
13999990001/Test@1234) - 点击"登录"按钮进入工作台
7.2 即时通讯
- 点击左侧菜单"即时通讯"
- 在通讯录中找到同事 → 点击"发起聊天"
- 输入文字消息发送,支持图片和文件上传
- 群聊在会话列表中显示,点击进入即可
7.3 任务管理
- 点击左侧菜单"我的任务"查看分配给你的任务
- 超管/部门主管可点击"发布任务"创建新任务
- 任务详情中可标记完成、查看进度
- 点击"日程安排"以日历视图查看任务
- 点击"任务进度"查看发布任务的完成统计
7.4 云文档
- 点击左侧菜单"云文档"进入文档列表
- 点击"新建文档"打开富文本编辑器
- 编辑完成后点击"保存"
- 文档详情中可分享到群组
7.5 管理后台
- 超管在侧边栏底部点击"管理后台"
- 企业概览:查看企业信息、邀请码
- 用户管理:新增员工(生成邀请链接)、编辑/禁用/重置密码
- 部门管理:新增/编辑/删除部门
- 职位管理:新增/编辑/删除职位
- 操作日志:查看所有关键操作记录
7.6 注册新企业
- 在登录页点击"注册企业"
- 填写手机号、企业名称、密码
- 注册成功后自动成为该企业的超级管理员
- 在管理后台可查看企业邀请码,用于邀请员工加入
八、部署信息
8.1 服务器
| 项目 | 信息 |
|---|---|
| 服务器 IP | 106.13.173.15 |
| 域名 | https://fs.lctnb.top |
| SSL 证书 | Let’s Encrypt(自动续期) |
| 反向代理 | Nginx |
8.2 Docker 容器
| 容器名 | 服务 | 端口 |
|---|---|---|
| ff-postgres | PostgreSQL 16 | 5432 |
| ff-redis | Redis 7 | 6379 |
| ff-minio | MinIO 对象存储 | 9000 |
| ff-api | .NET 10 API | 5000 |
| ff-frontend | Vue 3 前端 | 80 (Nginx) |
8.3 一键启动
cd /opt/ff-lite-fs/backend
docker compose up -d --build
8.4 自动部署
项目配置了 GitHub Actions,当 git push origin main 时自动触发:
- GitHub 通过 SSH 连接到服务器
- 执行
git pull拉取最新代码 - 执行
docker compose up -d --build重建并启动容器
九、今日工作总结(2026-07-15)
已完成工作
- 项目部署上线:将 FF-Lite 项目成功部署到服务器
106.13.173.15,域名https://fs.lctnb.top - JWT 密钥修复:发现并修复 JWT 签名密钥过短(12 字符 → 32 字符)导致所有认证 API 返回 500 错误的问题
- 全功能测试:验证了登录、注册、用户信息获取、任务列表、即时通讯、通讯录、云文档、管理后台等所有核心功能均正常运行
- 截图存档:对网站 14 个核心页面进行了截图,保存至
docs/gif/目录 - 文档编写:完成本综合介绍文档
技术要点
- JWT HS256 算法要求密钥至少 128 位(16 字符),生产环境建议使用 32 字符以上随机串
- 模块化单体架构通过 DDD 限界上下文 + 多 Schema 数据库实现模块隔离
- 多企业 SaaS 通过共享 DB +
tenant_id软隔离 + EF Core 拦截器实现,无需拆微服务
十、相关文档索引
| 文档 | 路径 | 说明 |
|---|---|---|
| 产品需求文档 | docs/01-需求分析/PRD.md | 完整 PRD,36 个功能点 |
| 开发文档 | docs/02-开发文档/00-开发文档.md | DDD 设计 + 架构 + API 规范 |
| 数据库设计 | docs/04-数据库设计/DATABASE.md | 7 个 Schema,全表结构 |
| 测试文档 | docs/10-测试文档/FF-Lite-全套标准化测试文档.md | 154 个测试用例 |
| 演示截图 | docs/gif/ | 14 张功能截图 |
文档编写日期:2026-07-15 作者:雾岛 项目地址:https://github.com/WuDao686/-feishu- 在线演示:https://fs.lctnb.top

说些什么吧!