需求背景
将系统模版中的推送方式配置上运营商的推送id。页面应展示已存在的系统推送模版列表,并提供为每个模版配置不同运营商推送ID的表单与保存操作。目前没有运营平台角色的情况下,先由系统管理人员进行设置;运营角色存在后,要去除搜索表单核列表中的运营平台字段,默认为当前登录平台。
原型链接:https://axhub.im/ax9/14c228b50b05a716/#g=1&id=7d60ej&p=%E6%A8%A1%E7%89%88%E4%BD%BF%E7%94%A8
设计稿链接:https://readdy.link/share/d31b1cd81765f9be1939df8899328f87
需求说明
一、页面与列表展示
A. 页面字段(当选中运营平台或运营平台由绑定ID时展示):
已配置字段:显示当前运营平台已配置的系统模板数量。
未配置字段:显示当前运营平台未配置的系统模板数量(系统模板总数 - 已配置数量)。
B. 列表字段:
运营平台:
目前:系统管理人员设置时,该字段可见。
未来(运营角色存在后):该字段不展示,默认为当前登录平台。
推送名称:取系统推送自定义的推送名称。
推送标识:取系统唯一的推送标识。
推送方式:显示已配置的推送方式数量 / 支持的推送方式总数。
发送时机:取系统模板的发送时机数据。
接收人:取系统模板的接收人。
操作列:
推送记录:点击后弹出模态框,展示该运营平台下所有小区使用当前推送模板的推送记录。
编辑:点击后弹出模态框,不能更换模板,只能修改模板ID。
删除:点击后弹出二次确认框,确认后删除配置。
二、功能详情
A. 条件查询:
支持根据“推送名称”进行模糊查询。
支持通过下拉选择“运营平台”来搜索配置内容(未来运营角色登录时去除此字段)。
B. 新增推送配置:
点击“新增推送配置”按钮,弹出“新增/编辑”模态框。
用于为系统已配置的模板回填运营平台自行配置后的模板ID。
C. “新增/编辑”模态框说明:
表单字段:
运营平台:平台角色登录时:不展示此字段,默认回填当前用户的所属运营平台。编辑页面时:字段禁用。
推送模板:以搜索下拉框形式展示。已配置的系统模板选项禁用并置灰,显示“已配置”标签。编辑页面时:字段禁用。
基础信息:展示系统模板的以下信息(只读):推送名称、推送标识、发送时机、接收人、推送字段。
配置模板列表:获取系统模板中配置的推送方式列表,并补充对应运营平台下的自定义模板ID输入框。展示内容:推送渠道、推送方式、推送顺序、模板名称(推送平台模板名称)、跳转地址、推送内容(渠道为短信/企业微信时)。推送模板ID:非必填项。当有多个推送方式时,创建提交时需保证至少一个模板ID为必填。修改编辑时也必须保证至少有一个推送方式的模板ID已填写。
功能:
测试:配置推送方式模板ID后,需点击“测试”按钮。测试通过后,对应的推送方式状态变更为【已配置】。只要修改了模板ID,推送方式状态即变更为【未配置】,需用户重新点击测试按钮。点击“测试”按钮将对接推送平台的测试连接功能,返回测试成功/失败的结果。
保存配置:保存时校验必填字段。所有填写了模板ID的推送方式,其状态必须为【已配置】才能成功提交。
D. “推送记录”模态框说明:
表单字段:
使用时间:小区调用模板推送消息的时间。
使用小区:使用推送功能的小区名称。
推送名称:使用的推送名称。
推送状态:显示推送是否成功。
接收成功/失败:显示推送接收的人数,格式为:成功人数/失败人数。
验收标准 (Acceptance Criteria)
用户故事 1: 作为系统管理员/运营人员,我希望能查看、搜索和筛选推送模板配置列表。
场景 1.1: 角色权限 - 系统管理员
鉴于 我以“系统管理员”身份登录。
当 我访问模板配置页面时。
那么 我应该能看到“运营平台”下拉筛选框。
并且 列表中的“运营平台”字段应该可见。
场景 1.2: 角色权限 - 运营平台人员
鉴于 我以“运营平台”角色身份登录。
当 我访问模板配置页面时。
那么 “运营平台”下拉筛选框和列表中的“运营平台”字段应该被隐藏。
并且 页面默认展示我所属运营平台的配置数据。
场景 1.3: 数据统计展示
鉴于 我已选择一个运营平台(或以运营角色登录)。
当 页面加载列表数据时。
那么 “已配置”和“未配置”字段必须正确显示数量。
并且 “未配置”数量应等于(系统模板总数 - 已配置数量)。
场景 1.4: 条件查询
鉴于 我在“推送名称”输入框中输入关键字。
当 我点击查询。
那么 列表应只显示推送名称包含该关键字的配置。
用户故事 2: 作为系统管理员/运营人员,我希望能新增和编辑推送模板配置。
场景 2.1: 打开新增/编辑弹框
鉴于 我在配置列表页面。
当 我点击“新增推送配置”按钮时。
那么 应弹出“新增/编辑弹框”。
并且 在新增模式下,“运营平台”和“推送模板”字段可选。
当 我点击任一配置的“编辑”按钮时。
那么 应弹出“新增/编辑弹框”,并回填该配置的数据。
并且 在编辑模式下,“运营平台”和“推送模板”字段应被禁用。
场景 2.2: 模板选择
鉴于 我正在新增一个配置。
当 我点击“推送模板”下拉框时。
那么 已经被该运营平台配置过的模板应置灰、不可选,并带有“已配置”标签。
场景 2.3: 测试功能
鉴于 我在配置模板列表中填写了一个“推送模板ID”。
当 我点击该行对应的“测试”按钮时。
那么 系统应调用服务商的测试接口。
如果 测试成功,该推送方式的状态应变为【已配置】,并显示成功提示。
如果 测试失败,状态仍为【未配置】,并显示失败原因。
当 我修改了任意一个已配置的模板ID。
那么 该推送方式的状态应立即变回【未配置】。
场景 2.4: 保存配置
鉴于 我正在新增或编辑一个配置。
当 我点击“保存”按钮时。
那么 系统必须校验:至少存在一个“推送模板ID”被填写。
并且 系统必须校验:所有已填写“推送模板ID”的推送方式,其状态必须是【已配置】。
如果 校验不通过,应提示用户完成测试或填写模板ID。
如果 校验通过,配置应被成功保存,弹框关闭,列表刷新。
用户故事 3: 作为系统管理员/运营人员,我希望能删除不再需要的模板配置。
场景 3.1: 删除操作
鉴于 我在模板配置列表中。
当 我点击某条记录的“删除”按钮时。
那么 系统应弹出一个二次确认对话框,例如“您确定要删除此配置吗?”。
当 我在确认框中点击“取消”。
那么 对话框关闭,任何数据都不会被删除。
当 我在确认框中点击“确定”。
那么 该条配置应被删除,列表刷新。
用户故事 4: 作为系统管理员/运营人员,我希望能查看模板的推送记录。
场景 4.1: 查看推送记录
鉴于 我在模板配置列表中。
当 我点击某条记录的“推送记录”按钮时。
那么 应弹出一个显示推送记录的对话框。
并且 列表应正确显示“使用时间”、“使用小区”、“推送名称”、“推送状态”和“接收成功/失败”等字段。
并且 “接收成功/失败”字段的格式应为“成功人数/失败人数”。