Files
EasyCard/docs/产品功能文档.md
陈子默 74543cb9bf docs: 补充项目设计与环境文档
- 增加产品功能、技术方案与数据库设计说明

- 增加本地中间件环境与联调说明
2026-03-20 12:45:23 +08:00

480 lines
13 KiB
Markdown
Raw Permalink 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.
# 电子名片系统产品功能文档
## 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. 后续开发原则
- 先完成“可用且正确”的多租户闭环,再逐步增加高级能力。
- 先保证租户、用户、名片、展示四条主链路打通,再扩展统计、审核、营销。
- 小程序与后台字段模型保持统一,避免前后端重复定义和语义不一致。