小区活动管理需求文档 (Community Activity Management)
修订历史
版本号 | 修订日期 | 修订内容 | 修订人 | 状态 |
|---|---|---|---|---|
v1.0.0 | 2026-02-02 | 初始版本:整合物业管理后台、物业小程序、住户小程序三端活动管理功能,支持活动发布、报名、附件上传、领取确认完整流程 | Antigravity | 已发布 |
v1.1.0 | 2026-02-02 | 功能扩展:PC端报名列表增加快速查询与筛选、附件限制新增每户限制模式、住户端增加活动提醒弹窗及不再提醒功能 | Antigravity | 草稿 |
1. 模块概述
本模块核心目标是为小区物业管理提供社区活动的全生命周期管理能力。覆盖从活动发起、发布、报名、参与到完成确认的完整业务闭环,提升社区活力和居民参与度。
1.1 系统目标
业务闭环:实现"发起 → 发布 → 报名 → 参与 → 完成"的完整活动流程
灵活配置:支持多种活动类型,灵活配置报名、附件、领取确认等功能
三端协同:物业管理后台(PC端)、物业小程序、住户小程序三端数据实时同步
数据统计:提供阅读量、收藏数、分享数、报名数等多维度数据统计
智能提醒(v1.1.0新增):住户端智能推送正在举行中的活动,支持个性化提醒设置
1.2 适用场景
文化娱乐活动(中秋晚会、春节联欢等)
健康养生活动(健康讲座、义诊等)
志愿服务活动(环保志愿、社区服务等)
便民服务活动(免费打印照片、免费维修、物品领取等)
意见征集活动(问卷调查、建议收集等)
2. 功能说明
2.1 物业管理后台 (PC端)
2.1.1 活动列表管理
功能目标:提供活动的集中管理视图,支持查询、筛选、统计。
功能项:
全局统计:展示今日活动/进行中活动数、总阅读量、总收藏数、总分享数
搜索与筛选:支持按活动名称模糊查询、按活动状态精确筛选
批量操作:支持删除活动(需二次确认)
快速操作:编辑、取消活动、查看报名详情
2.1.2 活动创建与编辑
功能目标:灵活配置活动信息,支持草稿保存和正式发布。
功能项:
基础信息配置:活动名称、类型、时间、地点、描述等
报名配置:是否需要报名、报名时间、人数限制
附件配置:是否需要上传附件、附件类型、数量限制、说明文字
附件限制模式配置(v1.1.0新增):每人限制 / 每户限制
领取确认配置:是否需要物业确认领取/完成
多媒体素材:活动封面、活动海报
2.1.3 报名人员管理
功能目标:管理活动报名信息,支持查看附件、确认领取。
功能项:
报名列表展示:房屋信息、住户信息、报名时间、报名状态、领取状态
快速查询与筛选(v1.1.0新增):支持按姓名、房屋名称、手机号查询,按报名状态、领取状态筛选
附件查看:预览业主上传的附件(图片、文件)
领取确认:物业确认业主已领取/完成,记录操作时间和操作人
数据导出:导出报名列表为Excel(含附件链接)
2.2 物业小程序 (员工端)
2.2.1 快速发起活动
功能目标:物业员工在移动端快速发起社区活动。
功能项:
便捷入口:便捷OA → 发起活动 → 类型选择"社区活动"
移动端表单:适配移动端的表单布局,支持拍照上传封面
实时同步:发布后立即同步至PC后台
2.3 住户小程序 (用户端)
2.3.1 活动浏览与筛选
功能目标:住户浏览社区活动,按状态筛选。
功能项:
Tab页签:进行中(待举行、报名中、举行中)、已结束(已结束、已取消)
活动卡片:展示封面、标题、时间、状态、已报名成员头像
排序规则:按活动创建时间倒序
2.3.2 活动详情与互动
功能目标:查看活动详情,支持报名、收藏、分享。
功能项:
活动信息展示:类型、名称、时间、地点、介绍、封面、海报、负责人信息
报名信息展示:报名时间段、人数限制、已报名成员列表
报名操作:立即报名(含上传附件)、取消报名、查看/更换附件
互动操作:收藏/取消收藏、分享给好友
参与状态:我的报名状态、附件状态、领取状态
2.3.3 已报名成员列表
功能目标:查看活动的所有报名成员。
功能项:
成员列表:头像、昵称、住户身份标签、报名时间
排序规则:按报名时间倒序
2.3.4 活动提醒弹窗(v1.1.0新增)
功能目标:智能推送正在举行中的活动,提升活动参与率。
功能项:
自动弹窗:用户进入小程序首页时,自动检测并弹出正在举行中的活动
弹窗内容:活动封面、标题、时间、"立即查看"和"不再提醒"按钮
不再提醒:针对单个活动设置,用户可选择不再收到该活动的提醒
多活动处理:如有多个活动,优先展示最新创建的活动,用户关闭后下次进入再弹出其他活动
3. 需求细节
3.1 物业管理后台 (PC端)
3.1.1 活动列表页
页面布局与字段
顶部统计卡片:
今日活动/进行中活动数:统计当天的活动数量 + 所有"待举行"、"报名中"、"举行中"状态的活动总数
总阅读量:所有活动的阅读量累加
总收藏数:所有活动的收藏数累加
总分享数:所有活动的分享数累加
搜索与筛选:
搜索框:按活动名称模糊查询
状态筛选下拉框:全部状态、草稿、待举行、报名中、举行中、已结束、已取消
列表字段:
字段名称 | 说明 |
|---|---|
活动名称 | 点击可跳转至编辑弹框(仅草稿、待举行、报名中状态可编辑) |
活动类型 | 文化娱乐、健康养生、志愿服务 等(标签展示) |
活动时间 | 显示活动开始时间和结束时间 如需要报名,下方显示报名时间段(蓝色小字) |
活动地点 | 文本展示 |
参与情况 | 需要报名:已报名人数 / 人数限制(例如:45/50) 点击可打开"报名人员列表"弹框 无需报名:显示"无需报名" |
阅读量 | 数字,带眼睛图标 |
收藏数 | 数字,带红心图标 |
分享数 | 数字,带分享图标 |
活动状态 | 草稿、待举行、报名中、举行中、已结束、已取消(标签展示) |
操作 | 编辑(蓝色铅笔图标)、取消活动(橙色禁止图标)、删除(红色垃圾桶图标) |
状态逻辑:
草稿:保存时未发布
待举行:已发布,但未到报名/活动开始时间
报名中:当前时间在报名时间段内
举行中:当前时间在活动时间段内
已结束:当前时间已超过活动结束时间
已取消:手动点击"取消活动"
操作权限:
编辑:活动状态为"草稿"、"待举行"、"报名中"时可编辑
取消活动:活动状态为"待举行"、"报名中"时可取消(需二次确认)
删除活动:任何状态下均可删除(需二次确认)
右上角操作:
"创建活动"按钮(蓝色):点击打开创建活动弹框
3.1.2 创建/编辑活动弹框
弹框标题:
创建模式:创建活动
编辑模式:编辑活动
表单字段:
字段名称 | 字段类型 | 是否必填 | 说明 |
|---|---|---|---|
活动名称 | 文本输入 | 必填 | 最多50字符 |
活动类型 | 下拉选择 | 必填 | 文化娱乐、健康养生、志愿服务 等 |
活动开始时间 | 日期时间选择器 | 必填 | 格式:YYYY-MM-DD HH:mm |
活动结束时间 | 日期时间选择器 | 必填 | 必须晚于开始时间 |
活动地点 | 文本输入 | 必填 | 最多100字符 |
活动描述 | 富文本编辑器 | 非必填 | 支持文字格式、图片插入 |
是否需要报名 | 开关 | - | 默认关闭 |
报名开始时间 | 日期时间选择器 | 条件必填* | 开启"是否需要报名"时必填 |
报名结束时间 | 日期时间选择器 | 条件必填* | 开启"是否需要报名"时必填 必须早于活动开始时间 |
人数限制 | 数字输入 | 非必填 | 开启"是否需要报名"时显示 不填则不限制人数 |
活动费用 | 文本输入 | 非必填 | 例如:免费、10元/人 |
活动负责人 | 文本输入 | 非必填 | 负责人姓名 |
负责人联系电话 | 手机号输入 | 非必填 | 11位手机号,校验格式 |
活动封面 | 图片上传 | 非必填 | 限1张,png/jpg/jpeg,建议比例5:2 |
活动海报 | 文件上传 | 非必填 | 限1个,png/jpg/pdf,最大5MB |
是否需要上传附件 | 开关 | - | 默认关闭 开启后显示下方附件配置项 |
附件类型 | 下拉选择 | 条件必填* | 图片、文件、图片+文件、视频、音频 |
附件限制模式(v1.1.0新增) | 单选按钮 | 条件必填* | 每人限制:每个报名用户独立的附件数量限制 每户限制:同一房屋的所有报名用户共享附件数量限制 |
附件数量限制 | 数字输入 | 条件必填* | 1-10,默认3 根据限制模式显示提示文字: - 每人限制:每人最多上传X个附件 - 每户限制:每户最多上传X个附件 |
单个文件大小限制 | 下拉选择 | 条件必填* | 1MB、5MB、10MB、20MB,默认5MB |
附件说明 | 文本域 | 条件必填* | 引导业主上传什么内容 例如:"请上传需要打印的家庭照片,支持1-3张" 最多200字符 |
是否需要确认领取/完成 | 开关 | - | 默认关闭 适用于需要线下核销的活动(如物品领取、服务完成) |
底部操作按钮:
取消:关闭弹框,不保存
保存草稿:不校验必填项,保存后活动状态为"草稿"
发布活动(创建模式)/ 更新活动(编辑模式):
校验必填项
发布后活动状态根据时间判断(通常为"待举行")
校验规则:
活动结束时间必须晚于开始时间
报名结束时间必须早于活动开始时间
报名开始时间必须早于报名结束时间
开启"是否需要报名"时,报名时间和人数限制为必填
开启"是否需要上传附件"时,附件类型、限制模式、数量限制、大小限制、附件说明为必填
3.1.3 报名人员列表弹框
触发方式:
点击活动列表"参与情况"中的报名人数
弹框标题:
包含活动名称,例如:"中秋节联欢晚会 - 报名人员"
顶部搜索与筛选(v1.1.0新增):
搜索框:支持按姓名、房屋名称、手机号模糊查询(实时搜索)
报名状态筛选:全部状态、已报名、已取消(下拉选择)
领取状态筛选:全部状态、未领取、已领取(下拉选择,仅当活动开启"确认领取/完成"时显示)
重置按钮:清空所有筛选条件
顶部统计:
已报名人数 / 总人数限制(例如:45/50)
新增:已领取人数 / 已报名人数(例如:15/45)
仅当活动开启"是否需要确认领取/完成"时显示
列表字段:
字段名称 | 说明 |
|---|---|
房屋名称 | 例如:1栋101室 |
姓名 | 业主姓名 |
联系方式 | 手机号中间四位隐藏,例如:138****5678 |
报名时间 | 格式:YYYY-MM-DD HH:mm |
状态 | 已报名、已取消 |
附件 | 仅当活动需要上传附件时显示 "查看附件"按钮(蓝色文字) 如开启"每户限制",显示"已上传X/Y"提示 |
领取状态 | 仅当活动开启"确认领取/完成"时显示 未领取(灰色)、已领取(绿色对勾) |
操作 | 仅当活动开启"确认领取/完成"且状态为"已报名"+"未领取"时显示 "确认领取"按钮(蓝色) |
排序规则:
默认按报名时间倒序排列
支持按"未领取优先"排序(点击列表头部"领取状态"列可切换排序)
每户限制模式特殊展示(v1.1.0新增):
当活动开启"每户限制"模式时,附件列显示格式为:"已上传X/Y"
X:该房屋所有报名用户已上传的附件总数
Y:该活动设置的每户附件数量限制
点击"查看附件"按钮,弹出该房屋所有报名用户的附件列表(按用户分组展示)
附件查看功能:
点击"查看附件"按钮,弹出附件预览弹窗
每人限制模式:
显示该用户上传的所有附件
每户限制模式(v1.1.0新增):
显示该房屋所有报名用户的附件,按用户分组展示
每组显示:用户姓名、上传时间、附件列表
图片附件:显示所有图片缩略图,点击可放大查看,支持切换上一张/下一张
文件附件:显示文件名和大小,提供下载按钮
视频/音频附件:提供在线预览播放器
确认领取功能:
点击"确认领取"按钮,弹出二次确认弹窗:"确认住户已领取?"
确认后:
领取状态变为"已领取"(绿色对勾)
记录领取时间和操作人ID
"确认领取"按钮变为"已领取"文字(置灰,不可点击)
导出功能:
弹框右上角提供"导出Excel"按钮
导出内容包含:房屋名称、姓名、联系方式(完整)、报名时间、状态、附件链接(如有)、领取状态(如有)、领取时间(如有)
3.1.4 二次确认弹框
取消活动确认:
标题:取消活动
内容:确定取消该活动吗?取消后活动状态变为"已取消",住户将无法再报名。
按钮:取消、确定
删除活动确认:
标题:删除活动
内容:确定删除该活动吗?删除后数据无法恢复。
按钮:取消、确定
确认领取确认:
标题:确认领取
内容:确认住户已领取?
按钮:取消、确定
3.2 物业小程序 (员工端)
3.2.1 发起活动页面
导航路径:
便捷OA → 发起活动 → 类型选择"社区活动"
表单字段:
字段名称 | 字段类型 | 是否必填 | 说明 |
|---|---|---|---|
社区活动类型 | 下拉选择 | 必填 | 文化娱乐、健康养生、志愿服务 等 |
活动时间 | 时间区间选择器 | 必填 | 开始时间 - 结束时间 |
活动标题 | 文本输入 | 必填 | 最多50字符 |
是否需要报名 | 开关 | - | 默认关闭 |
报名时间 | 时间区间选择器 | 条件必填 | 开启"是否需要报名"时必填 |
最大参与人数 | 数字输入 | 非必填 | 开启"是否需要报名"时显示 |
封面 | 图片上传 | 非必填 | 支持拍照/从相册选择 |
海报 | 文件上传 | 非必填 | 支持从手机选择 |
活动内容 | 文本域 | 非必填 | 富文本编辑(简化版) |
活动地点 | 文本输入 | 非必填 | 最多100字符 |
活动费用 | 文本输入 | 非必填 | 例如:免费 |
活动负责人 | 文本输入 | 非必填 | 负责人姓名 |
负责人联系方式 | 手机号输入 | 非必填 | 11位手机号 |
是否需要上传附件 | 开关 | - | 默认关闭 |
附件类型 | 下拉选择 | 条件必填 | 图片、文件、图片+文件、视频、音频 |
附件限制模式(v1.1.0新增) | 单选按钮 | 条件必填 | 每人限制 / 每户限制 |
附件数量限制 | 数字输入 | 条件必填 | 1-10 |
单个文件大小限制 | 下拉选择 | 条件必填 | 1MB、5MB、10MB、20MB |
附件说明 | 文本域 | 条件必填 | 最多200字符 |
是否需要确认领取/完成 | 开关 | - | 默认关闭 |
底部操作按钮:
确定发布:校验必填项,发布成功后跳转至成功提示页
数据同步:
发布后立即同步至PC后台的活动列表
活动状态根据时间自动判断
3.3 住户小程序 (用户端)
3.3.1 社区活动列表页
页面路径:
首页 → 社区 → 活动 Tab → 社区活动
Tab页签:
进行中:显示状态为"待举行"、"报名中"、"举行中"的活动
已结束:显示状态为"已结束"、"已取消"的活动
排序规则:
按活动创建时间倒序排列
活动卡片内容:
活动封面(如有)
活动标题
活动时间段:YYYY-MM-DD HH:mm - YYYY-MM-DD HH:mm
活动状态标签:待举行、报名中、举行中、已结束、已取消
报名信息(仅当活动需要报名时显示):
已报名成员头像(最多显示5个头像)
共X人(总报名人数)
如有人数限制,显示:已报名X人 / 共Y人
3.3.2 社区活动详情页
页面布局:
1. 顶部活动信息模块
模块内容 | 说明 |
|---|---|
活动类型标签 | 例如:社区活动 - 文化娱乐 |
活动标题 | 大字号标题 |
发起人信息 | 头像、姓名(物业员工)、发起时间、阅读量 |
2. 报名信息模块(仅当活动需要报名时显示)
模块内容 | 说明 |
|---|---|
报名时间段 | 报名开始时间 - 报名结束时间 |
人数限制 | 如有限制,显示:限X人 如无限制,显示:不限人数 |
已报名成员 | 头像列表(最多显示5个)+ 共X人 点击可跳转至"已报名成员列表"页 |
3. 我的参与状态模块(仅当用户已报名时显示)
模块内容 | 说明 |
|---|---|
报名状态 | 已报名(绿色对勾) |
报名时间 | YYYY-MM-DD HH:mm |
已上传附件 | 仅当活动需要上传附件时显示 显示:"已上传X张/份"(蓝色文字),点击可查看附件 如开启"每户限制",额外显示:"本户已上传X/Y"提示 |
领取状态 | 仅当活动开启"确认领取/完成"时显示 未领取(橙色)/ 已领取(绿色对勾图标) |
4. 活动信息模块
模块内容 | 说明 |
|---|---|
活动时间 | 活动开始时间 - 活动结束时间 |
活动地点 | 地点名称 |
活动费用 | 如有费用信息,显示该行 |
活动负责人 | 如有负责人信息,显示该行 |
负责人联系方式 | 如有联系方式,显示该行(可点击拨号) |
活动介绍 | 富文本内容展示 |
活动封面 | 大图展示 |
活动海报 | 如有海报,提供"查看海报"按钮 |
非必填字段无数据时,该项自动隐藏
5. 底部操作栏
操作项 | 说明 |
|---|---|
分享图标 | 点击弹出分享菜单,支持分享给微信好友 |
收藏图标 | 点击收藏/取消收藏,已收藏时高亮显示(红色) |
立即报名按钮 | 活动状态为"报名中"且用户未报名时显示 点击后弹出上传附件界面(如需要附件)或直接报名 |
报名已满员按钮 | 活动状态为"报名中"且已达人数限制时显示 按钮置灰,点击无效果 |
取消报名按钮 | 活动状态为"报名中"且用户已报名时显示 点击后弹出取消报名确认弹窗 |
查看/更换附件按钮 | 用户已报名且活动需要上传附件时显示 点击进入附件管理界面 |
活动已结束按钮 | 活动状态为"已结束"或"已取消"时显示 按钮置灰,不可点击 |
立即报名交互流程:
无需上传附件的活动:
点击"立即报名"按钮
直接报名成功,按钮变为"取消报名"
顶部显示"我的参与状态"模块
需要上传附件的活动:
点击"立即报名"按钮
弹出底部上传弹窗(非跳转新页面)
弹窗内容:
附件说明文字(来自活动配置)
每户限制提示(v1.1.0新增):如开启"每户限制",显示"本户已有X人报名,共上传Y/Z个附件"
上传组件(根据附件类型显示对应上传入口)
已选附件预览(图片显示缩略图,文件显示文件名,可删除重选)
底部按钮:取消、确认报名
点击"确认报名":
每人限制模式:校验当前用户上传的附件数量是否符合要求
每户限制模式(v1.1.0新增):校验该房屋所有报名用户已上传的附件总数 + 当前上传数量是否超过限制
上传附件到服务器
报名成功,按钮变为"取消报名"和"查看/更换附件"
顶部显示"我的参与状态"模块
查看/更换附件交互流程:
点击"查看/更换附件"按钮
进入附件管理界面(底部弹窗或新页面)
显示已上传的附件列表:
图片:显示缩略图
文件:显示文件名和大小
视频/音频:显示预览信息
每户限制提示(v1.1.0新增):如开启"每户限制",显示"本户已上传X/Y个附件,您已上传Z个"
提供"更换附件"按钮
点击"更换附件":
弹出上传组件
每户限制模式(v1.1.0新增):校验替换后是否超过每户限制
选择新附件后自动替换旧附件
自动保存,无需手动确认
更换附件规则:
活动状态为"报名中"、"举行中"时可更换
活动状态为"已结束"或用户已领取后不可更换
每户限制模式(v1.1.0新增):更换附件时需校验是否超过每户限制
取消报名交互流程:
点击"取消报名"按钮
弹出二次确认弹窗:"确定取消报名?"
点击"确定":
取消报名成功
按钮恢复为"立即报名"
已上传的附件自动删除
"我的参与状态"模块隐藏
每户限制模式(v1.1.0新增):该房屋的附件总数相应减少
点击"取消":关闭弹窗,不执行操作
统计逻辑:
阅读量:每次进入详情页 +1(同一用户多次进入多次统计)
收藏数:点击收藏 +1,取消收藏 -1
分享数:成功分享给好友 +1
收藏功能:
点击收藏图标,图标高亮(红色),收藏数 +1
再次点击,取消收藏,图标恢复默认色,收藏数 -1
已收藏的活动同步至"我的 - 收藏 - 活动"列表
分享功能:
点击分享图标,弹出微信分享菜单
选择好友,生成活动卡片(含封面、标题、时间)
分享成功后,分享数 +1
3.3.3 已报名成员列表页
触发方式:
点击活动详情页"报名信息模块"中的已报名成员头像区域
页面标题:
已报名人员
排序规则:
按报名时间倒序排列
列表字段:
字段名称 | 说明 |
|---|---|
成员头像 | 圆形头像 |
昵称 | 业主昵称 |
住户身份标签 | 例如:业主、租户(如有) |
报名时间 | YYYY-MM-DD HH:mm |
3.3.4 我的 - 我参与的活动
页面路径:
我的 → 我参与的
列表展示:
显示用户已报名的所有活动
活动卡片右上角增加状态标签:
未领取(橙色):活动开启"确认领取/完成"且用户未领取
已领取(绿色):用户已领取
如活动未开启"确认领取/完成",不显示标签
3.3.5 活动提醒弹窗(v1.1.0新增)
触发时机:
用户进入小程序首页时,自动检测当前是否有正在"举行中"的活动
如有符合条件的活动,自动弹出提醒弹窗
弹窗内容:
活动封面:显示活动封面图(如有)
活动标题:大字号展示活动名称
活动时间:显示活动开始时间 - 结束时间
活动状态标签:举行中(绿色)
底部按钮区域:
不再提醒按钮(灰色文字按钮,左侧)
立即查看按钮(蓝色主按钮,右侧)
交互逻辑:
点击"立即查看":
关闭弹窗
跳转至该活动的详情页
点击"不再提醒":
关闭弹窗
将该活动ID记录到用户的"已忽略活动列表"(本地存储 + 服务器同步)
后续进入小程序时,该活动不再弹出提醒
提示:"已设置不再提醒该活动"(Toast提示)
点击弹窗外部区域(蒙层):
关闭弹窗
不记录忽略状态,下次进入仍会弹出
多活动处理逻辑:
如果有多个正在"举行中"的活动,按活动创建时间倒序排序,优先展示最新创建的活动
用户关闭当前弹窗后(无论是点击"立即查看"、"不再提醒"还是蒙层),下次进入小程序时检测其余未忽略的活动,继续弹出
用户点击"不再提醒"后,该活动从候选列表中移除
弹窗展示规则:
每次进入小程序首页时只弹出一个活动
已点击"不再提醒"的活动不再弹出
活动状态必须为"举行中"(当前时间在活动时间段内)
同一活动每次进入都会弹出,直到用户点击"不再提醒"或活动结束
已忽略活动的管理:
用户点击"不再提醒"后,该活动ID存储在本地缓存和服务器用户配置中
如用户清除小程序缓存,服务器配置仍保留,重新登录后依然生效
活动结束后,该活动ID自动从"已忽略活动列表"中移除(节省存储空间)
弹窗样式说明:
弹窗居中显示,宽度为屏幕宽度的80%
圆角卡片样式,带阴影
封面图高度固定,宽度自适应
底部按钮等高,"立即查看"按钮颜色更鲜明
3.4 附件系统通用规则
3.4.1 附件类型说明
附件类型 | 支持格式 | 适用场景 |
|---|---|---|
图片 | JPG、PNG、HEIC | 免费打印照片、免费维修、意见反馈 |
文件 | PDF、DOC、DOCX、XLS、XLSX | 意见征集、问卷调查 |
图片+文件 | 以上全部格式 | 综合类活动 |
视频 | MP4、MOV、AVI | 才艺展示、活动花絮 |
音频 | MP3、WAV、AAC | 音乐比赛、语音留言 |
3.4.2 附件上传限制
限制项 | 规则 |
|---|---|
单张图片大小 | 最大5MB(可配置:1MB/5MB/10MB/20MB) |
单个文件大小 | 最大20MB(可配置:1MB/5MB/10MB/20MB) |
单个视频大小 | 最大50MB |
单个音频大小 | 最大20MB |
附件数量 | 1-10个(由活动创建者配置) |
3.4.3 附件限制模式(v1.1.0新增)
模式一:每人限制
每个报名用户独立拥有附件数量限制
例如:活动设置"每人最多上传3张照片",小王可以上传3张,小李也可以上传3张
适用场景:每人需要提交独立资料的活动(如免费打印照片、才艺展示)
模式二:每户限制
同一房屋的所有报名用户共享附件数量限制
例如:活动设置"每户最多上传3张照片",1栋101室的小王和小李都报名了,两人合计最多上传3张
适用场景:以家庭为单位参与的活动(如家庭照打印、户主意见征集)
每户限制模式的校验逻辑:
用户报名上传附件时,查询该房屋所有已报名用户的附件总数
当前上传数量 + 已有附件总数 <= 每户限制数量,允许上传
超过限制时,提示:"本户已上传X个附件,最多允许上传Y个,您还可以上传Z个"
用户更换附件时,同样需要校验每户限制
每户限制模式的展示逻辑:
住户端报名时:显示"本户已有X人报名,共上传Y/Z个附件"
住户端附件管理:显示"本户已上传X/Y个附件,您已上传Z个"
物业端报名列表:附件列显示"已上传X/Y"(X为该房屋附件总数,Y为限制数量)
物业端附件预览:按用户分组展示该房屋所有用户的附件
3.4.4 附件处理规则
前端自动压缩:
图片附件:前端自动压缩到1080P分辨率,保持宽高比
视频附件:不压缩,由用户自行控制大小
上传流程:
用户选择附件
前端校验格式和大小
每户限制模式(v1.1.0新增):校验该房屋附件总数是否超过限制
前端压缩(图片)
上传到云存储(OSS/COS)
返回附件URL存储到数据库
附件存储路径:
/community-activities/{activity_id}/registrations/{registration_id}/{filename}
附件删除规则:
用户取消报名时,自动删除该用户上传的所有附件
用户更换附件时,自动删除旧附件
活动删除时,自动删除该活动所有报名用户的附件
每户限制模式(v1.1.0新增):删除附件时同步更新该房屋的附件总数统计
3.5 状态流转逻辑
3.5.1 活动状态流转
创建活动(保存草稿)→ 草稿
↓
发布活动
↓
待举行 → 报名中 → 举行中 → 已结束
↓ ↓
手动取消 ←————————→ 已取消
状态判断规则:
草稿:保存时未点击"发布活动"
待举行:已发布,当前时间 < 报名开始时间(如需要报名)或 < 活动开始时间(如无需报名)
报名中:当前时间 >= 报名开始时间 且 <= 报名结束时间
举行中:当前时间 >= 活动开始时间 且 <= 活动结束时间
已结束:当前时间 > 活动结束时间
已取消:手动点击"取消活动"
状态自动流转:
系统定时任务每分钟检查一次活动状态,自动更新状态
3.5.2 报名状态流转
用户报名(上传附件)→ 已报名 → 用户取消报名 → 已取消
↓
物业确认领取
↓
已领取
报名限制规则:
活动状态为"报名中"时才能报名
如有人数限制,已报名人数达到限制后,其他用户无法报名(报名已满员)
用户只能报名一次同一个活动
用户取消报名后,可以重新报名(如未满员)
取消报名限制:
活动状态为"报名中"时才能取消报名
活动状态为"举行中"、"已结束"时不能取消报名
3.5.3 领取状态流转
已报名 → 未领取 → 物业确认领取 → 已领取
领取确认规则:
仅当活动开启"是否需要确认领取/完成"时,才有领取状态
物业在PC后台或小程序端点击"确认领取",记录领取时间和操作人
已领取后不可撤销
3.6 数据统计与报表
3.6.1 活动数据统计
顶部统计卡片(PC后台):
今日活动/进行中活动数
总阅读量
总收藏数
总分享数
单个活动统计(活动详情):
阅读量
收藏数
分享数
报名人数(如需要报名)
已领取人数(如开启确认领取)
3.6.2 导出功能
报名人员列表导出(Excel格式):
房屋名称
姓名
联系方式(完整)
报名时间
状态(已报名/已取消)
附件链接(如有)
每户附件统计(v1.1.0新增):如开启"每户限制",增加"本户附件总数"列
领取状态(如有)
领取时间(如有)
4. 关键业务规则
4.1 时间规则
时间逻辑校验:
报名开始时间 < 报名结束时间 < 活动开始时间 < 活动结束时间
状态自动流转:
系统定时任务每分钟检查一次,自动更新活动状态
历史活动处理:
已结束的活动不可编辑,但可删除
已取消的活动不可恢复,但可删除
4.2 报名规则
人数限制:
不填写人数限制 = 不限制人数
填写人数限制后,已报名人数达到限制时,其他用户无法报名
重复报名限制:
同一用户只能报名一次同一个活动
取消报名后可以重新报名
报名时间限制:
只有在"报名中"状态时才能报名
"待举行"、"举行中"、"已结束"、"已取消"状态不能报名
4.3 附件规则
附件必填:
开启"是否需要上传附件"时,用户报名必须上传附件
附件数量必须符合活动配置的要求
附件更换:
报名后可以随时更换附件
活动状态为"已结束"或用户已领取后不可更换
附件删除:
用户取消报名时,自动删除附件
活动删除时,自动删除所有报名用户的附件
每户限制规则(v1.1.0新增):
开启"每户限制"时,同一房屋所有报名用户的附件总数不能超过限制
用户上传/更换附件时,实时校验该房屋附件总数
用户取消报名时,该房屋附件总数相应减少
4.4 领取确认规则
领取确认前置条件:
活动必须开启"是否需要确认领取/完成"
用户必须处于"已报名"状态
领取确认操作:
仅物业端可以确认领取(PC后台或小程序)
确认领取后记录操作时间和操作人
已领取状态不可撤销
领取确认展示:
住户端可查看自己的领取状态
物业端可查看所有用户的领取状态
报名列表统计已领取人数
4.5 删除与取消规则
删除活动:
任何状态下的活动均可删除
删除前需二次确认
删除后数据无法恢复
自动删除该活动所有报名用户的附件
取消活动:
仅"待举行"、"报名中"状态可取消
取消前需二次确认
取消后活动状态变为"已取消"
已报名用户的报名记录保留,但无法继续报名
取消报名:
仅"报名中"状态可取消报名
取消前需二次确认
取消后可以重新报名(如未满员)
自动删除已上传的附件
4.6 活动提醒规则(v1.1.0新增)
弹窗触发条件:
用户进入小程序首页时自动检测
活动状态必须为"举行中"
用户未对该活动点击"不再提醒"
弹窗展示优先级:
每次只弹出一个活动
按活动创建时间倒序,优先展示最新活动
已忽略的活动不再弹出
不再提醒存储:
用户点击"不再提醒"后,活动ID存储到本地缓存和服务器
清除缓存后,服务器配置仍保留
活动结束后,自动从已忽略列表中移除
5. 扩展性设计
5.1 活动类型扩展
当前支持:
文化娱乐
健康养生
志愿服务
扩展方向:
后续可通过配置文件或数据库动态扩展活动类型
支持自定义活动类型图标和颜色
5.2 附件类型扩展
当前支持:
图片、文件、图片+文件、视频、音频
扩展方向:
支持更多文件格式(如CAD图纸、3D模型等)
支持附件审核功能(物业审核业主上传的内容)
支持附件打标签(如"合格"、"不合格")
5.3 活动模板扩展
未来可实现:
预设活动模板(如"免费打印照片活动"、"免费维修活动")
模板包含预设的附件配置、表单字段、流程节点
物业创建活动时可选择模板,快速配置
5.4 流程节点扩展
当前流程:
报名 → 上传附件 → 确认领取
未来可扩展:
报名 → 上传附件 → 物业审核 → 审核通过 → 处理中 → 可领取 → 确认领取 → 完成评价
支持多阶段流程配置
每个阶段可配置通知推送
5.5 通知推送扩展
当前功能(v1.1.0):
活动提醒弹窗(进入小程序时弹出正在举行中的活动)
未来可扩展:
活动发布通知(推送给全体住户)
报名成功通知(推送给报名用户)
处理进度通知(如"您的照片已打印好,请来领取")
活动开始前提醒(活动开始前X小时推送)
6. 与其他模块的关联
6.1 用户体系
复用物业管理系统的用户体系
住户信息、房屋信息与现有系统打通
物业员工账号与现有系统一致
6.2 权限体系
物业管理员可以创建、编辑、删除所有活动
物业普通员工可以创建、编辑自己创建的活动
住户只能查看和参与活动
6.3 消息通知
活动发布、报名成功、领取确认等关键节点可发送消息通知
消息通知复用现有系统的通知模块
活动提醒弹窗(v1.1.0新增):作为独立的提醒机制,不依赖消息通知模块
6.4 文件存储
活动封面、海报、业主上传的附件统一存储到云存储(OSS/COS)
文件存储路径规范化管理
7. 非功能性需求
7.1 性能要求
活动列表加载时间 < 2秒
活动详情页加载时间 < 1秒
附件上传速度 > 500KB/s(依赖网络环境)
支持1000+用户同时在线浏览活动
报名列表查询响应时间 < 1秒(v1.1.0新增)
活动提醒弹窗检测时间 < 500ms(v1.1.0新增)
7.2 安全要求
附件上传前端校验文件格式和大小,防止恶意文件上传
附件存储使用私有权限,仅授权用户可访问
敏感信息(手机号)脱敏展示
7.3 兼容性要求
PC后台支持Chrome、Edge、Safari最新版本
小程序兼容微信小程序基础库 >= 2.10.0
移动端适配iOS 12+、Android 8.0+
7.4 可维护性要求
代码模块化,附件系统、状态流转逻辑可独立维护
活动类型、附件类型等配置项可动态扩展
提供详细的操作日志,便于问题排查
8. 术语说明
术语 | 说明 |
|---|---|
活动 | 小区组织的社区活动,包含文化娱乐、健康养生、志愿服务等类型 |
报名 | 住户参与活动的操作,可能需要上传附件 |
附件 | 住户报名时上传的文件(图片、文件、视频、音频等) |
每人限制(v1.1.0新增) | 每个报名用户独立的附件数量限制 |
每户限制(v1.1.0新增) | 同一房屋所有报名用户共享的附件数量限制 |
领取确认 | 物业确认住户已领取/完成活动的操作 |
活动状态 | 活动的生命周期状态:草稿、待举行、报名中、举行中、已结束、已取消 |
报名状态 | 住户的报名状态:已报名、已取消 |
领取状态 | 住户的领取状态:未领取、已领取 |
活动提醒(v1.1.0新增) | 用户进入小程序时,自动弹出正在举行中的活动提醒 |
不再提醒(v1.1.0新增) | 用户选择不再接收某个活动的提醒通知 |