You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9.3 KiB
9.3 KiB
需求说明
1. 项目背景
婚礼筹备过程中,需要系统化管理邀请对象、出席情况、礼金往来、回礼发放、桌席安排,以及婚后的人情往来查询。
本系统以“户”为基本管理单位,而不是以“个人”为唯一单位。
原因包括:
- 邀请通常按户进行
- 礼金通常按户记录
- 桌席安排会参考整户人数与关系
- 婚后还礼也通常按户回溯
2. 核心业务对象
2.1 户
户是系统中的主实体。
每户包含:
- 户主姓名
- 联系方式
- 所属侧(男方 / 女方 / 共同)
- 关系分类
- 具体关系
- 标签
- 邀请状态
- 到场状态
- 预计人数
- 实际人数
- 儿童人数
- 需红包儿童人数
- 礼金情况
- 回礼情况
- 备注
2.2 家庭成员
每户可有多个成员。
成员信息包括:
- 姓名
- 与户主关系
- 性别(可选)
- 年龄段(可选)
- 是否儿童
- 是否需要红包
- 是否预计到场
- 是否实际到场
- 备注
2.3 礼金与礼品记录
按户记录,但允许保留多笔明细。
字段包括:
- 记录类型(礼金 / 礼品 / 婚前给 / 当天给 / 婚后补给)
- 金额
- 礼品名称
- 估值(可选)
- 记录时间
- 记录人
- 备注
2.4 回礼发放记录
包括:
- 喜糖是否发放
- 伴手礼是否发放
- 儿童红包是否发放
- 其他礼品是否发放
- 发放时间
- 发放人
- 备注
2.5 账号与审计记录
系统需要支持简单账号密码登录,用于审计与权限控制。
每个账号至少包括:
- 账号名
- 密码
- 账号角色
- 状态(启用 / 停用)
- 创建时间
- 最后登录时间
审计日志至少记录:
- 操作时间
- 操作账号
- 操作页面
- 操作类型
- 操作对象
- 修改前内容摘要
- 修改后内容摘要
3. 用户角色与使用场景
3.1 管理员
主要是主筹备人。
职责:
- 查看全量数据
- 新增、编辑、删除或软删除记录
- 创建账号
- 重置密码
- 导入导出 CSV
- 查看审计日志
- 配置长辈专用账号
3.2 普通管理账号
可由家庭成员协助使用。
职责:
- 查看首页列表
- 录入和编辑业务数据
- 导出数据
- 查看部分日志(可选)
3.3 长辈专用账号
专门给父母长辈使用。
特点:
- 只允许访问专用录入页面
- 不进入复杂管理首页
- 用简单账号密码登录
- 每个长辈账号可以有专属账号名
- 后台可追踪该账号修改了哪些数据
该设计的目的不是做复杂权限体系,而是:
- 简化长辈使用体验
- 区分是谁录入的
- 为审计日志提供身份基础
4. 业务流程需求
4.1 名单整理
- 管理员预先录入本次婚宴涉及的所有户
- 录入户主与成员信息
- 打标签
- 标记所属侧与关系
4.2 邀请管理
- 记录是否已邀请
- 记录是否已回复
- 记录回复内容
- 更新预计人数
4.3 到场管理
- 记录实际到场人数
- 标记哪些成员到场
- 支持“礼到人不到”
- 支持“部分到场”
4.4 礼金管理
- 按户记录礼金
- 允许多笔记录汇总到一户
- 记录礼品
- 记录记录人和记录时间
4.5 回礼管理
- 标记是否发放喜糖
- 标记是否发放伴手礼
- 标记儿童红包发放情况
4.6 桌席安排准备
系统当前阶段不一定立即实现完整桌席图,但必须预留字段支持后续安排:
- 所属侧
- 关系分类
- 具体关系
- 人数
- 儿童情况
- 桌席偏好
- 同桌 / 避免同桌信息(后续增强)
4.7 婚后查询与还礼参考
- 查询某户礼金历史
- 查询该户的来往记录
- 为未来还礼提供参考
5. 页面需求
5.1 管理首页
首页是系统主页面,聚焦高频操作,采用“统计总览 + 搜索筛选 + 结果区”的数据密集型管理布局。
必须支持:
- 默认只读
- 单行显式点击“修改”
- 确认保存
- 多字段搜索
- 多字段筛选
- count 统计
- 字段排序
- 管理首页边输入边动态刷新结果
- 低频的 CSV 导入导出能力收纳到页面右上角
- 新增一户(管理员/普通管理账号)
- 查看最近修改
- 将完整统计与报表拆分到独立页面
首页建议展示字段
- 户主姓名
- 联系方式
- 所属侧
- 关系分类
- 具体关系
- 标签
- 预计人数
- 实际人数
- 儿童数
- 礼金金额
- 邀请状态
- 到场状态
- 伴手礼状态
- 喜糖状态
- 更新时间
- 操作
5.2 长辈专用搜索与编辑页
必须满足:
- 独立 URL
- 独立登录后可访问
- 页面非常简洁
- 不允许纯新增户
- 只允许搜索系统中已存在的户
- 先选择目标户,再进入编辑
- 搜索输入时边输入边动态刷新结果
- 编辑表单适配移动端,以弹窗 / bottom-sheet 形式呈现
- 不展示复杂管理表格和高级筛选
- 保存后给出明显成功反馈
页面流程建议:
- 搜索户主姓名或手机号
- 展示结果卡片列表
- 点击“修改”打开 bottom-sheet 编辑表单
- 显示目标户确认页
- 进入简化编辑表单
- 保存前再次确认
建议允许修改字段:
- 到场状态
- 实际到场人数
- 儿童人数
- 需红包儿童人数
- 礼金金额
- 礼金方式
- 礼金记录场景
- 喜糖状态
- 伴手礼状态
- 儿童红包状态
- 备注
- 联系电话(仅纠正用,可选)
建议只读展示字段:
- 户主姓名
- 所属侧
- 关系分类
- 具体关系
- 预计人数
5.3 统计与报表页
必须支持:
- 独立 URL
- 展示总户数、总预计人数、儿童数、礼金总额等总览统计
- 展示礼金金额 Top 榜单
- 展示最近更新户列表
- 作为管理首页之外的独立信息查看页,避免首页承担过多低频信息
5.4 CSV 导入导出页
必须支持:
- 下载 CSV 模板
- 导出全部数据
- 导出当前筛选结果
- 上传 CSV
- 预览导入数据
- 校验字段
- 提示冲突
- 选择跳过 / 覆盖 / 合并
- 确认导入
5.5 账号管理页
必须支持:
- 新增账号
- 编辑账号
- 重置密码
- 启用 / 停用账号
- 指定角色
- 为长辈创建专属录入账号
- 查看账号最近登录时间
5.6 审计日志页
必须支持:
- 查看最近操作
- 按账号筛选
- 按操作类型筛选
- 按时间范围筛选
- 查看单次修改详情
6. 搜索需求
系统必须支持多字段搜索,并兼容中文场景。
6.1 支持的搜索方式
- 中文直接搜索
- 拼音全拼搜索
- 首字母缩写搜索
- 混合搜索
- 大小写不敏感
6.2 建议覆盖字段
- 户主姓名
- 成员姓名
- 关系分类
- 具体关系
- 标签
- 手机号
- 备注
7. 筛选、排序、统计需求
7.1 多字段筛选
至少支持:
- 所属侧
- 关系分类
- 邀请状态
- 到场状态
- 是否有儿童
- 儿童是否需红包
- 礼金状态
- 礼金金额区间
- 人数区间
- 标签
7.2 排序
至少支持:
- 户主姓名
- 关系分类
- 预计人数
- 实际人数
- 儿童数
- 礼金金额
- 更新时间
7.3 count 统计
筛选和搜索后,应实时显示:
- 当前匹配户数
- 当前匹配总人数
- 当前匹配儿童数
- 当前匹配礼金总额
- 当前匹配已确认出席户数
8. 防呆需求
系统必须重点考虑误操作风险。
8.1 编辑防呆
- 默认只读
- 编辑需显式进入
- 保存前确认
- 取消编辑不污染原数据
- 离开编辑页面时提醒未保存(当前已在长辈专用编辑页落地)
8.2 删除防呆
- 删除需二次确认
- 建议采用软删除
- 提供短时撤销能力
8.3 导入防呆
- 先预览再导入
- 导入前校验
- 冲突提示清晰
- 导入前生成数据快照(后续实现)
8.4 长辈使用防呆
- 单列布局
- 大字体
- 大按钮
- 标签清晰
- 不依赖隐藏手势
- 不自动关闭关键提示
9. 当前已识别的边界场景
- 一户多位成员,部分出席
- 礼到人不到
- 同一户多次给礼
- 同一户多人代送礼
- 单亲 / 重组家庭
- 有儿童但并非所有儿童都需红包
- CSV 导入时与已有记录冲突
- 多个账号同时编辑同一条记录
10. 当前阶段优先级
核心可用版本(当前已优先完成)
- 登录
- 账号管理
- 审计日志
- 户级列表与单条编辑
- 新增一户最小创建流程
- 首页搜索、组合筛选、排序、筛选统计与动态刷新
- 管理端家庭成员管理(HouseholdMember):成员列表、新增、编辑、删除
- 长辈专用搜索、实时刷新与 bottom-sheet 编辑页
- 独立统计与报表页
- 中文 / 拼音 / 首字母搜索
- CSV 导入导出(模板下载、导出全部、导出当前筛选、上传预览、校验、冲突处理、确认导入)
- light / dark 双主题切换
- 压力测试数据生成功能(
seed-stress) - Linux 单机生产部署交付(
ProductionConfig、Python 3.13 容器镜像、Docker 入口脚本、环境变量示例、安装/部署/校验脚本、生产部署与运维文档)
当前阶段边界
- 当前版本已形成“核心可用版 + 生产部署交付”的阶段性基线
- 按当前约定,功能需求先暂停扩展,优先保证部署落地、文档同步与必要缺陷修复
- 如未来恢复功能迭代,可优先考虑更丰富统计报表分析、桌席安排、历史往来追溯增强、数据快照回滚、更细权限控制与更智能的还礼参考