docs: 补充项目设计与环境文档

- 增加产品功能、技术方案与数据库设计说明

- 增加本地中间件环境与联调说明
This commit is contained in:
2026-03-20 12:45:23 +08:00
parent 425d8dd455
commit 74543cb9bf
4 changed files with 1921 additions and 0 deletions

479
docs/产品功能文档.md Normal file
View File

@@ -0,0 +1,479 @@
# 电子名片系统产品功能文档
## 1. 文档目的
本文档用于明确“电子名片 + 多租户后台管理系统”项目的业务目标、角色权限、功能范围、核心流程与交付边界,作为后续产品设计、技术开发、联调测试和验收的统一依据。
## 2. 项目概述
### 2.1 项目定位
本项目面向律师事务所、咨询机构、专业服务组织等“事务所型租户”,提供一套可运营、可配置、可扩展的电子名片系统:
- 前台:微信小程序,用于展示事务所信息、人员名片信息,并提供分享、拨号、导航、加联系人等能力。
- 后台:多租户管理系统,用于平台管理、租户管理、组织管理、用户管理、名片维护、素材管理和数据统计。
- 后端:统一提供租户、用户、名片、文件、统计等 API 服务,支撑小程序与后台管理系统。
### 2.2 业务目标
- 帮助事务所快速搭建统一品牌形象的电子名片体系。
- 帮助租户管理员统一维护事务所、部门、律师/员工信息。
- 帮助普通用户便捷维护个人电子名片,提高对外传播效率。
- 帮助平台方通过多租户能力统一服务多个事务所,降低交付和运维成本。
### 2.3 当前仓库现状
当前仓库已包含微信小程序静态原型,已具备以下页面雏形:
- 律所主页
- 律师列表页
- 律师详情页
- 浏览历史页
现阶段页面主要依赖本地 Mock 数据,后续需改造为对接后端接口的动态数据版本。
## 3. 目标用户与角色定义
### 3.1 角色划分
系统包含 3 类后台角色与 1 类前台访问身份:
| 角色 | 身份说明 | 核心职责 |
| --- | --- | --- |
| 超级管理员 | 平台运营方 | 管理租户、平台账号、平台配置、全局字典、全局监控 |
| 租户管理员 | 某个事务所的管理员 | 管理本租户的组织、人员、事务所资料、名片内容、素材与数据 |
| 普通用户 | 某个事务所下的成员 | 登录后台维护个人名片资料、查看个人数据、预览和分享名片 |
| 小程序访客 | 公众用户 | 浏览事务所主页、查看名片、拨号、保存联系人、导航、分享 |
### 3.2 权限边界
| 功能模块 | 超级管理员 | 租户管理员 | 普通用户 |
| --- | --- | --- | --- |
| 平台登录 | 支持 | 不支持 | 不支持 |
| 租户后台登录 | 可模拟排查 | 支持 | 支持 |
| 租户管理 | 全部 | 无 | 无 |
| 事务所信息维护 | 可查看 | 全部 | 只读 |
| 部门/组织维护 | 可查看 | 全部 | 只读 |
| 用户账号管理 | 全部 | 管理本租户用户 | 仅维护本人登录资料 |
| 角色授权 | 全部 | 分配本租户角色 | 无 |
| 名片信息维护 | 可查看 | 管理本租户全部名片 | 管理本人名片 |
| 素材管理 | 可查看 | 管理本租户素材 | 仅上传/替换本人素材 |
| 统计分析 | 全局 | 本租户 | 本人 |
| 数据隔离 | 平台可见全部 | 仅本租户 | 仅本人/本租户授权范围 |
## 4. 核心业务对象
### 4.1 核心对象
- 租户:一个事务所或公司/组织,是系统中的一级业务单元。
- 组织:租户下的部门、分所、业务组。
- 用户:租户下的可登录成员。
- 名片:用户对外展示的信息载体。
- 事务所主页:租户对外展示的机构简介、地址、专业领域、联系方式等信息。
- 素材:头像、徽标、封面图、二维码、附件等文件。
- 浏览记录:小程序端名片的访问行为数据。
### 4.2 核心关系
- 一个平台可管理多个租户。
- 一个租户可拥有多个组织节点。
- 一个租户可拥有多个用户。
- 一个用户默认对应一张电子名片。
- 一个租户对应一个对外展示主页,可关联多个办公地点、多个专业领域。
## 5. 产品功能范围
## 5.1 微信小程序端
### 5.1.1 律所主页
用于展示事务所品牌与入口信息。
功能点:
- 展示事务所 Logo、名称、封面图、简介
- 展示总部地址、办公地点列表、专业领域标签
- 展示一键跳转“人员列表”
- 展示咨询电话、导航入口
- 支持根据当前小程序绑定的 AppID 加载对应事务所信息
典型页面映射:
- 当前已有静态页面:`pages/firm/index`
### 5.1.2 人员名片列表
用于浏览某个租户下全部可公开展示的成员名片。
功能点:
- 按姓名、办公地点、专业领域搜索
- 按办公机构筛选
- 按专业领域筛选
- 卡片式展示头像、姓名、职务、专业方向
- 点击进入名片详情
- 一键拨打热线或跳转事务所位置
典型页面映射:
- 当前已有静态页面:`pages/lawyer-list/index`
### 5.1.3 个人名片详情
用于展示成员完整的对外名片信息。
功能点:
- 展示姓名、头像、职务、所属事务所/组织、联系方式、地址
- 展示个人简介、专业领域、二维码
- 支持拨打电话
- 支持保存到系统通讯录
- 支持打开地图导航
- 支持查看个人简介弹窗
- 支持分享小程序名片
- 支持记录浏览历史
典型页面映射:
- 当前已有静态页面:`pages/lawyer-detail/index`
### 5.1.4 浏览历史
用于提升回访效率。
功能点:
- 展示最近浏览的名片列表
- 展示浏览时间
- 支持点击再次进入名片
- 支持清空历史
说明:
- 当前原型为本地缓存方案,正式版本升级为“本地缓存 + 服务端埋点统计”双轨制。
典型页面映射:
- 当前已有静态页面:`pages/history/index`
### 5.1.5 分享与传播
功能点:
- 支持微信好友分享
- 支持微信会话卡片传播
- 支持通过二维码进入指定租户主页或指定个人名片页
- 支持在分享链路中保留租户信息与被分享对象信息
### 5.1.6 异常与空状态
功能点:
- 名片不存在提示
- 租户不存在或已停用提示
- 网络异常重试
- 暂无公开成员提示
- 暂无定位/电话/二维码配置提示
## 5.2 后台管理系统
后台管理系统为统一的 Web 管理端,登录后根据角色显示不同菜单与权限。
### 5.2.1 登录与账号体系
功能点:
- 账号密码登录
- 图形验证码
- 登录态续期与退出登录
- 角色鉴权、菜单鉴权、按钮鉴权
- 超级管理员与租户用户使用不同登录入口或同入口分流
- 支持用户首次登录后修改初始密码
- 支持重置密码
扩展项:
- 手机验证码登录
- 微信绑定登录
### 5.2.2 超级管理员端
#### 1. 租户管理
功能点:
- 新增/编辑/禁用租户
- 设置租户名称、编码、联系人、联系电话、状态、到期时间
- 设置租户套餐能力与上限
- 初始化租户管理员账号
- 配置租户对应的小程序 AppID、AppSecret、原始 ID、发布状态
- 查看租户使用情况
#### 2. 平台账号与权限管理
功能点:
- 平台管理员账号管理
- 平台角色管理
- 平台菜单与权限点管理
#### 3. 平台基础配置
功能点:
- 全局字典维护
- 系统参数维护
- 文件存储配置
- 微信小程序基础配置
- 小程序服务器域名、上传域名等平台级配置
#### 4. 租户小程序配置管理
功能点:
- 维护租户与微信小程序的绑定关系
- 配置并校验小程序 AppID 是否唯一
- 维护 AppSecret、原始 ID、名称、版本标记、启用状态
- 查看当前租户小程序配置是否完整
- 为后端公开接口提供 AppID 到租户的映射基础
#### 5. 全局监控与审计
功能点:
- 登录日志
- 操作日志
- 租户状态监控
- 错误告警概览
### 5.2.3 租户管理员端
#### 1. 事务所/公司/组织信息管理
功能点:
- 维护事务所名称、Logo、封面图、简介
- 维护总部地址、经纬度、联系电话
- 维护办公机构列表
- 维护专业领域列表
- 维护对外展示状态
#### 2. 组织架构管理
功能点:
- 部门/分所树维护
- 设置组织负责人
- 组织排序与展示控制
#### 3. 用户管理
功能点:
- 新增/导入/编辑/禁用用户
- 分配组织与角色
- 重置密码
- 设置是否公开展示
- 设置名片排序与推荐位
#### 4. 名片管理
功能点:
- 维护个人基础信息:姓名、职务、手机、邮箱、地址
- 维护个人扩展信息:简介、擅长领域、荣誉、执业证号、社交二维码
- 上传头像、二维码、宣传图
- 预览小程序展示效果
- 控制名片发布状态、上下架状态
#### 5. 素材与文件管理
功能点:
- 上传图片
- 查看图片使用情况
- 删除未引用素材
- 限制文件大小、格式
#### 6. 数据统计
功能点:
- 按用户查看名片浏览量
- 按时间查看访问趋势
- 查看热门名片排行
- 查看分享传播数据
### 5.2.4 普通用户端
普通用户登录后台后,仅维护本人相关信息。
功能点:
- 查看与编辑本人名片
- 上传本人头像、二维码
- 预览本人名片
- 查看本人浏览数据
- 修改密码
## 5.3 通用支撑能力
### 5.3.1 文件上传能力
- 支持头像、Logo、封面、二维码上传
- 支持图片压缩与格式校验
- 支持生成访问 URL
### 5.3.2 日志与审计
- 登录日志
- 操作日志
- 异常日志
- 关键业务日志
### 5.3.3 数据隔离
- 以租户为边界进行数据隔离
- 所有租户业务数据必须带租户归属
- 非平台角色不可跨租户读取和操作数据
### 5.3.4 可配置展示
- 支持控制成员是否公开
- 支持控制字段是否展示
- 支持控制租户主页是否启用
## 6. 核心业务流程
### 6.1 租户开通流程
1. 超级管理员创建租户。
2. 系统生成租户编码与初始租户管理员账号。
3. 超级管理员配置该租户对应的小程序 AppID 与相关参数。
4. 租户管理员首次登录,完善事务所资料。
5. 租户管理员创建组织并导入用户。
6. 用户补充个人名片信息并发布。
7. 小程序开始展示对应租户主页及成员名片。
### 6.2 普通用户名片维护流程
1. 普通用户登录后台。
2. 编辑个人信息、专业领域、联系方式、头像和二维码。
3. 点击保存并预览。
4. 若租户策略要求审核,则进入待审核状态。
5. 审核通过后在小程序端公开展示。
### 6.3 小程序访客浏览流程
1. 用户通过分享链接或二维码进入小程序。
2. 系统根据当前小程序 AppID 识别租户,并根据页面参数识别目标名片。
3. 加载事务所主页或名片详情。
4. 用户执行拨号、加联系人、导航、分享等动作。
5. 系统记录浏览、分享等统计数据。
## 7. 关键数据字段建议
### 7.1 事务所主页字段
- 租户名称
- 英文名称
- Logo
- 封面图
- 简介
- 联系电话
- 总部地址
- 经纬度
- 办公机构列表
- 专业领域列表
- 官网/公众号链接
- 展示状态
### 7.2 个人名片字段
- 用户姓名
- 性别
- 头像
- 职务/头衔
- 所属部门/分所
- 手机号
- 座机
- 邮箱
- 地址
- 擅长领域
- 个人简介
- 执业证号
- 教育/荣誉信息
- 微信二维码
- 名片封面图
- 对外展示状态
- 排序值
## 8. 非功能需求
### 8.1 安全性
- 后台接口必须鉴权
- 密码加密存储
- 操作日志可追溯
- 文件上传类型和大小受控
- 租户数据严格隔离
### 8.2 可用性
- 常规操作响应流畅
- 关键操作具备失败提示
- 网络失败可重试
- 页面需适配主流手机尺寸
### 8.3 可维护性
- 功能模块边界清晰
- 支持租户规模扩展
- 支持后续扩展审核、预约咨询、线索收集等能力
## 9. 版本建议
### 9.1 第一阶段MVP
建议优先落地以下能力:
- 多租户基础能力
- 超级管理员租户管理
- 租户管理员维护事务所与用户
- 普通用户维护本人名片
- 小程序动态化展示事务所主页、列表、详情、历史
- 文件上传
- 基础统计
### 9.2 第二阶段:增强版
- 名片审核流
- Excel 批量导入/导出
- 分享海报/专属二维码
- 数据大屏与更细粒度统计
- 微信绑定登录
- 消息通知
## 10. 验收标准
### 10.1 业务验收
- 可创建多个租户,且数据互不串扰
- 超级管理员可管理租户
- 租户管理员可管理本租户事务所信息和用户
- 普通用户可编辑本人名片
- 小程序可按租户维度展示对应事务所与用户名片
- 小程序动作能力可正常使用:拨号、分享、导航、加联系人
### 10.2 体验验收
- 页面信息完整、结构清晰
- 搜索/筛选结果正确
- 空状态、错误状态、无权限状态提示明确
- 后台操作路径简洁,表单校验清晰
## 11. 后续开发原则
- 先完成“可用且正确”的多租户闭环,再逐步增加高级能力。
- 先保证租户、用户、名片、展示四条主链路打通,再扩展统计、审核、营销。
- 小程序与后台字段模型保持统一,避免前后端重复定义和语义不一致。