25 KiB
25 KiB
7月迭代禅道研发需求拆分表
来源:禅道用户需求导出与7月迭代标准评审稿。 范围:只包含激活需求;草稿 #41/#51 和已关闭重复需求 #54 不创建研发需求。
本文件用于总览、排期和关联关系,不用于逐条复制。实际录入禅道请使用:7月迭代禅道研发需求逐条录入稿。录入稿中每条 FE/BE/INT 都有可独立复制的标题和完整描述。
一、拆分规则
每条用户需求下创建两条研发需求:
[FE][UR#编号] 前端交付名称
[BE][UR#编号] 后端交付名称
- FE、BE 研发需求分别指派给前端和后端,可并行进入开发。
- 研发需求必须描述可独立交付的页面或接口能力,不能只写“配合前端”“配合后端”。
- 联调属于研发需求完成后的交付活动,不为每条用户需求机械创建第三条研发需求。
- 跨页面、跨模块、异步任务或第三方系统场景,统一创建链路级联调任务。
- 简单搜索、字段展示等需求在 FE/BE 研发需求中完成自验,不单独创建联调任务。
推荐状态依赖:
FE/BE 研发需求开发完成
-> 接口契约冻结
-> 进入对应联调任务
-> 问题回到原 FE/BE 研发需求修复
-> 联调任务验收通过
二、用户需求到研发需求映射
| 用户需求 | 前端研发需求 | 后端研发需求 | 联调归属 |
|---|---|---|---|
| #98 换货管理新资产归属 | [FE][UR#98] 换货新资产归属继承提示:选择新资产后展示将继承的店铺 |
[BE][UR#98] 换货新资产继承旧资产店铺:事务内迁移归属、租户标签和分配记录 |
INT-02 换货链路 |
| #97 代理钱包阈值提醒 | [FE][UR#97] 代理现金余额不足100元展示与通知跳转 |
[BE][UR#97] 主钱包固定100元余额预警:跨越阈值、重新布防、站内通知 |
INT-05 钱包支付 |
| #96 员工作为发展人进行标识 | [FE][UR#96] 店铺业务员选择、展示和筛选 |
[BE][UR#96] 店铺业务员关联与查询:只绑定启用平台账号 |
INT-05 钱包支付 |
| #94 系统状态同步优化以及回调处理 | [FE][UR#94] 资产同步状态与审计入口展示 |
[BE][UR#94] 资产状态同步DDD收口:轮询、0/3/5事件、回调防腐层 |
INT-01 实名与同步 |
| #86 资产详情中换货标识 | [FE][UR#86] 资产详情前代/后代换货标识与跳转 |
[BE][UR#86] 资产换货链Query:返回 previous/next asset并校验权限 |
INT-02 换货链路 |
| #73 行业卡操作停复机 | [FE][UR#73] 复机实名校验结果与错误提示适配 |
[BE][UR#73] 按运营商实名能力控制复机 |
INT-01 实名与同步 |
| #62 H5设置先充值后实名 | [FE][UR#62] H5实名与购买顺序流程:先实名/先购买/无需实名 |
[BE][UR#62] 资产实名顺序策略与批量配置接口 |
INT-01 实名与同步 |
| #60 店铺联系电话检索 | [FE][UR#60] 店铺联系电话搜索控件 |
[BE][UR#60] 店铺联系电话精确查询 |
不单建,FE/BE自验 |
| #57 退款中禁止换货 | [FE][UR#57] 换货退款拦截错误展示 |
[BE][UR#57] 换货前活跃退款校验 |
INT-02 换货链路 |
| #55 套餐生效条件 | [FE][UR#55] 套餐分配生效条件选择与恢复默认 |
[BE][UR#55] 套餐分配生效条件覆盖与购买快照 |
INT-03 套餐生命周期 |
| #53 资产实名状态筛选 | [FE][UR#53] 卡和设备实名状态筛选 |
[BE][UR#53] 卡/设备实名状态查询与设备快照维护 |
INT-01 实名与同步 |
| #49 设备批量分配代理和套餐系列 | [FE][UR#49] 设备批量分配代理/套餐系列双入口 |
[BE][UR#49] 两类设备批量分配任务与失败明细 |
INT-04 批量与导出 |
| #48 不同资产使用不同支付方式 | [FE][UR#48] C端按资产展示允许支付方式 |
[BE][UR#48] 支付方式配置与订单二次校验 |
INT-05 钱包支付 |
| #47 限速规则 | [FE][UR#47] 卡/设备手动设置与取消限速 |
[BE][UR#47] Gateway按cardNo限速统一接口 |
INT-07 Gateway限速 |
| #46 资产信息详情字段新增 | [FE][UR#46] 预计最终到期时间与临期高亮 |
[BE][UR#46] 当前及排队套餐最终到期Query |
INT-03 套餐生命周期 |
| #45 换货管理 | [FE][UR#45] 换货新旧资产展示与独立搜索 |
[BE][UR#45] 换货标识快照修正与新旧资产查询 |
INT-02 换货链路 |
| #44 列表字段新增 | [FE][UR#44] 退款/充值/换货提交人与审批摘要展示 |
[BE][UR#44] 提交人快照与企微审批摘要批量查询 |
INT-06 企微审批 |
| #43 代理系列授权 | [FE][UR#43] 系列套餐批量选择与已授权置灰 |
[BE][UR#43] 系列套餐候选Query与重复授权幂等 |
INT-03 套餐生命周期 |
| #42 导出功能 | [FE][UR#42] 导出字段选择、权限展示和任务进度 |
[BE][UR#42] 导出场景、角色字段权限与30天到期筛选 |
INT-04 批量与导出 |
| #40 套餐设计 | [FE][UR#40] C端下架套餐续费入口 |
[BE][UR#40] 下架套餐历史用户续费资格校验 |
INT-03 套餐生命周期 |
| #38 不同渠道额度处理 | [FE][UR#38] 角色默认信用和店铺实际额度管理 |
[BE][UR#38] 代理主钱包信用额度与并发资金不变量 |
INT-05 钱包支付 |
| #37 审核流转 | [FE][UR#37] 企微审批状态、意见附件和结果通知展示 |
[BE][UR#37] 企微审批模板、账号绑定、回调和轮询补偿 |
INT-06 企微审批 |
| #36 批量订购套餐 | [FE][UR#36] 批量订购上传、支付方式、进度和失败明细 |
[BE][UR#36] 批量订购任务、逐行幂等下单和钱包扣款 |
INT-04 批量与导出、INT-05 钱包支付 |
| #35 退款审核 | [FE][UR#35] 退款企微审批详情与业务处理状态 |
[BE][UR#35] 退款企微终态、人工退款和代理钱包回溯 |
INT-06 企微审批 |
| #34 充值审核流程 | [FE][UR#34] 代理扫码充值与员工线下审批状态页面 |
[BE][UR#34] 微信/支付宝充值入账和线下充值企微终态 |
INT-05 钱包支付、INT-06 企微审批 |
| #33 套餐临期提醒 | [FE][UR#33] 临期列表、各端高亮、3天置顶和续费入口 |
[BE][UR#33] 最终到期临期Query与15/7/3站内通知 |
INT-03 套餐生命周期 |
三、前后端并行约定
研发需求创建前先冻结本表中的接口契约。前端按 Mock 数据开发页面,后端按同一契约实现接口。
- 响应统一为
{code,msg,data,timestamp},下表只描述data。 - 分页统一返回
{items,total,page,size}。 - 金额入参和返回均使用分;前端显示元。
- 生命周期判断使用
status,展示使用status_name。 - 字段允许增加但不能改名或改变类型;确需调整时,必须同步修改 FE、BE 两条研发需求。
- 前端先完成页面、交互、Mock、加载/空/错误状态;后端完成后只替换数据源并进入联调。
每组需求按以下顺序启动:
1. FE/BE共同确认路径、方法、入参、返回和枚举
2. 后端先补DTO/OpenAPI契约或提供固定JSON示例
3. 前端按JSON示例完成页面和Mock请求
4. 后端实现真实查询、写入、权限、幂等和审计
5. 前端切换真实接口,进入对应INT联调任务
契约确认时必须标记字段是必返、可空还是仅特定状态返回,避免前端通过猜测补默认值。
四、研发需求压缩总览
下表仅用于快速核对,不建议复制到禅道。前端页面结构、交互状态、接口入参和返回字段以逐条录入稿为准。
| 用户需求 | 前端研发需求说明 | 后端研发需求与接口契约 |
|---|---|---|
| #98 换货新资产归属 | **标题:**换货新资产归属继承提示。 **页面:**换货创建、发货确认。选择新资产后展示“完成后归属到某店铺”,提交中禁止重复操作,失败展示后端原因。 |
**标题:**换货新资产继承旧资产店铺。 **接口:**复用 POST /api/admin/exchanges、POST /api/admin/exchanges/{id}/ship、POST /api/admin/exchanges/{id}/complete。**入参:**旧/新资产标识、换货类型、是否迁移资料。 **返回:**换货单及 inherited_shop_id/inherited_shop_name。**规则:**平台库存新资产继承旧店铺;其他店铺资产拒绝。 |
| #97 钱包100元预警 | **标题:**代理现金余额不足100元展示。 **页面:**资金概况显示红色预警;顶部通知和通知中心支持跳转店铺资金页,不提供阈值配置。 |
**标题:**代理主钱包固定100元余额预警。 接口: GET /api/admin/shops/fund-summary 增加 cash_available/low_balance_warning;通知复用 /api/admin/notifications。规则: balance-frozen_balance<=10000,不含信用额度;只在跨越阈值时通知,回升后重新布防。 |
| #96 店铺业务员 | **标题:**店铺业务员选择、展示与筛选。 **页面:**店铺新建/编辑增加平台业务员下拉,列表和详情展示业务员,筛选栏支持按业务员查询。 |
**标题:**店铺业务员关联与查询。 接口: POST /api/admin/shops、PUT /api/admin/shops/{id} 入参增加 business_owner_account_id;GET /api/admin/shops 增加同名筛选。返回: business_owner_account_id/business_owner_name。只允许启用的平台账号。 |
| #94 状态同步优化 | **标题:**资产同步状态与审计入口。 **页面:**资产详情展示活跃级别、最后活跃、下次轮询;保留原刷新按钮,增加“查看同步轨迹”跳转。 |
**标题:**资产状态同步DDD收口。 **接口:**不新增刷新入口,复用 POST /api/admin/assets/{identifier}/refresh;GET /api/admin/assets/resolve/{identifier} 返回 polling;轨迹使用 GET /api/admin/audit/integrations。**规则:**轮询、0/3/5事件和回调统一应用状态。 |
| #86 资产换货标识 | **标题:**资产详情换货前代/后代展示。 **页面:**显示“换货新资产”“已换出旧资产”标签,可查看前代和后代;无权限时不可点击。 |
**标题:**资产换货链Query。 接口: GET /api/admin/assets/resolve/{identifier} 增加 exchange_trace.previous_asset/next_asset。**返回:**资产类型、ID、标识、换货单号和 can_view。 |
| #73 行业卡复机 | **标题:**复机实名结果和错误提示。 **页面:**沿用资产详情复机按钮;未满足实名条件时展示后端中文原因。 |
**标题:**按运营商实名能力控制复机。 **接口:**复用 POST /api/admin/assets/{identifier}/start。**返回:**最新资产状态。 **规则:**只看运营商 realname_link_type,不按行业卡类型统一放行。 |
| #62 H5实名顺序 | **标题:**H5先实名/先购买流程及后台批量配置。 **页面:**C端按接口策略跳转;后台卡和设备列表提供批量修改入口。 |
**标题:**资产实名顺序策略。 接口: PATCH /api/admin/assets/{identifier}/realname-mode;POST /api/admin/iot-cards/batch-update-realname-policy;POST /api/admin/devices/batch-update-realname-policy。**入参:**资产标识列表、 policy=none/before_order/after_order。**返回:**生效策略及成功数量。 |
| #60 联系电话搜索 | **标题:**店铺联系电话搜索。 **页面:**店铺列表新增11位联系电话输入框,支持清空和重新查询。 |
**标题:**店铺联系电话精确查询。 接口: GET /api/admin/shops?contact_phone=。**入参:**11位手机号。 **返回:**原店铺分页结构。 |
| #57 退款中禁止换货 | **标题:**换货退款拦截提示。 **页面:**创建换货失败时原地展示“该资产存在退款申请”,不自行判断退款状态。 |
**标题:**换货前活跃退款校验。 **接口:**复用 POST /api/admin/exchanges。**规则:**审批中、已退回或退款处理未完成时返回业务错误;已拒绝、撤销或处理完成后放行。 |
| #55 套餐生效条件 | **标题:**套餐分配生效条件选择。 **页面:**授权/分配弹框提供跟随默认、购买生效、实名生效三选一;已分配记录支持修改和恢复默认。 |
**标题:**套餐分配生效条件覆盖与快照。 接口: POST /api/admin/shop-package-allocations;PATCH /api/admin/shop-package-allocations/{id}/expiry-base。入参: expiry_base_override,null 表示恢复默认。**返回:**默认值、覆盖值和最终生效值。 |
| #53 实名状态筛选 | **标题:**卡和设备实名状态筛选。 **页面:**两个资产列表增加全部/已实名/未实名筛选和状态列。 |
**标题:**卡和设备实名状态查询。 接口: GET /api/admin/iot-cards?real_name_status=0|1;GET /api/admin/devices?real_name_status=0|1。返回: real_name_status/real_name_status_name。 |
| #49 设备批量分配 | **标题:**设备批量分配代理和套餐系列双入口。 **页面:**两个独立上传弹框,展示总数、成功数、失败数和失败原因。 |
**标题:**设备两类批量分配任务。 接口: POST /api/admin/devices/batch-assign-shop、POST /api/admin/devices/batch-assign-series、GET /api/admin/devices/batch-allocation/{task_id}。**入参:**文件和目标ID。 **返回:**任务状态及失败明细。 |
| #48 支付方式限制 | **标题:**C端按资产展示支付方式。 **页面:**支付页只展示接口返回的支付方式;无可用方式时禁止提交。 |
**标题:**资产支付方式配置与订单校验。 接口: GET /api/c/v1/asset/info 返回 allowed_payment_methods;POST /api/c/v1/orders/create、POST /api/c/v1/orders/{id}/pay 再次校验。后台: PUT /api/admin/system/config/{config_key}。 |
| #47 Gateway限速 | **标题:**卡和设备手动限速。 **页面:**详情页提供设置、取消入口;设备显示最终使用的当前卡ICCID。 |
**标题:**Gateway按cardNo统一限速。 接口: POST /api/admin/assets/{identifier}/speed-limit。入参: speed_kbps,0表示取消。**返回:**资产标识、最终 card_no、目标值和执行结果。 |
| #46 预计最终到期 | **标题:**预计套餐到期时间和临期高亮。 **页面:**资产详情只显示一个最终到期字段;不可预计时显示“待激活后起算”。 |
**标题:**当前及排队套餐最终到期Query。 接口: GET /api/admin/assets/resolve/{identifier}。返回: estimated_final_expires_at/days_until_final_expiry/expiry_estimate_status/is_expiring。 |
| #45 换货管理 | **标题:**换货新旧资产展示和独立搜索。 **页面:**列表分别搜索旧资产、新资产,展示统一卡ICCID或设备号。 |
**标题:**换货标识快照和查询。 接口: GET /api/admin/exchanges?old_asset_keyword=&new_asset_keyword=。**返回:**新旧资产类型、ID、标识及换货状态。新建换货统一保存规范化标识。 |
| #44 列表字段新增 | **标题:**退款、充值、换货列表提交人与审批摘要。 **页面:**增加提交人、企微状态、当前审批人摘要和业务处理状态。 |
**标题:**提交人快照与企微摘要查询。 **接口:**复用 GET /api/admin/refunds、GET /api/admin/agent-recharges、GET /api/admin/exchanges。返回: submitter_name/approval_status_name/current_approver_summary/processing_status_name。 |
| #43 系列批量授权 | **标题:**系列套餐批量选择与已授权置灰。 **页面:**首次和后续授权共用多选表格;已授权套餐置灰,展示公司成本、授权成本和建议售价。 |
**标题:**系列套餐候选和批量授权。 接口: GET /api/admin/shop-series-grants/{id}/package-options;PUT /api/admin/shop-series-grants/{id}/packages。**返回:**三类价格、 is_authorized;重复授权幂等。 |
| #42 导出功能 | **标题:**导出字段选择、权限和任务进度。 **页面:**导出弹框加载可选字段,提交后展示进度、失败和下载。 |
**标题:**统一导出场景和字段权限。 接口: GET /api/admin/export-fields?scene=、POST /api/admin/export-tasks、GET /api/admin/export-tasks/{id}。入参: scene/format/query/fields。**返回:**任务进度和下载地址。 |
| #40 下架套餐续费 | **标题:**C端当前套餐续费入口。 **页面:**当前套餐旁显示续费;下架套餐不出现在新购列表。 |
**标题:**下架套餐续费资格。 接口: GET /api/c/v1/asset/packages 返回 can_purchase/purchase_mode/disabled_reason;POST /api/c/v1/orders/create 强校验资产所有人和历史使用记录。 |
| #38 代理信用额度 | **标题:**角色默认信用和店铺实际额度管理。 **页面:**客户角色配置新建默认额度并提示不影响存量;店铺资金页单独调整实际额度。 |
**标题:**代理主钱包信用额度。 接口: PUT /api/admin/roles/{id}/default-credit、PUT /api/admin/shops/{id}/credit-limit、GET /api/admin/shops/fund-summary。**入参:**开关、额度、钱包版本。 **返回:**额度、可用金额、欠款和版本。 |
| #37 企微审核流转 | **标题:**企微配置、账号绑定和审批详情。 **页面:**企微配置页、个人扫码绑定、审批运行列表;业务详情只读展示意见和附件。 |
**标题:**企业微信审批接入。 接口: GET /api/admin/wecom/status、POST /api/admin/wecom/account-binding/sessions、GET /api/admin/wecom/approvals、POST /api/admin/wecom/approvals/{id}/sync。**业务详情:**统一返回 approval 对象。 |
| #36 批量订购套餐 | **标题:**批量订购上传、支付、进度和失败明细。 **页面:**选择代理和整批支付方式,上传Excel及线下凭证,展示部分成功。 |
**标题:**批量订购任务。 接口: POST /api/admin/bulk-purchases、GET /api/admin/bulk-purchases/{task_id}、GET /api/admin/bulk-purchases/{task_id}/items。**入参:**代理、支付方式、文件、凭证。 **返回:**任务和逐行结果。 |
| #35 退款审核 | **标题:**退款企微审批和退款处理状态。 **页面:**创建时上传备注附件;详情展示审批、人工退款说明和业务处理结果。 |
**标题:**退款企微终态处理。 接口: POST /api/admin/refunds、GET /api/admin/refunds/{id}、POST /api/admin/refunds/{id}/resubmit。**返回:**退款数据、 approval 和 processing_status。代理钱包通过后幂等回溯。 |
| #34 充值审核流程 | **标题:**代理扫码充值与员工线下充值审批。 **页面:**在线充值展示支付方式、二维码和支付状态;线下充值展示只读企微审批状态。 |
**标题:**代理在线充值和员工线下审批。 接口: GET /api/admin/agent-recharges/payment-methods、POST /api/admin/agent-recharges、GET /api/admin/agent-recharges/{id}/payment-status、GET /api/admin/agent-recharges/{id}。**返回:**二维码、过期时间、支付/审批/入账状态。 |
| #33 套餐临期提醒 | **标题:**临期列表、各端高亮和续费入口。 **页面:**临期页3天内置顶;普通资产列表只高亮;代理首页显示数量;C端显示续费按钮。 |
**标题:**预计最终到期临期Query和站内通知。 接口: GET /api/admin/expiring-assets、资产列表/详情增加临期字段、GET /api/c/v1/asset/info、通知接口。**返回:**最终到期、剩余天数、颜色节点;15/7/3天通知防重。 |
五、前端Mock公共样例
资产详情扩展字段:
{
"estimated_final_expires_at": "2026-08-01T23:59:59+08:00",
"days_until_final_expiry": 15,
"expiry_estimate_status": "exact",
"is_expiring": true,
"allowed_payment_methods": ["alipay", "wallet"],
"polling": {
"enabled": true,
"activity_level": "active",
"last_activity_at": "2026-07-17T10:00:00+08:00",
"next_poll_at": "2026-07-17T10:03:00+08:00"
},
"exchange_trace": {
"previous_asset": null,
"next_asset": null
}
}
统一异步任务:
{
"task_id": 1001,
"status": 2,
"status_name": "处理中",
"total_count": 100,
"success_count": 60,
"failed_count": 3,
"failed_items": []
}
代理资金概况:
{
"balance": 8000,
"frozen_balance": 0,
"cash_available": 8000,
"credit_enabled": true,
"credit_limit": 100000,
"available_balance": 108000,
"low_balance_warning": true,
"version": 3
}
企微审批摘要:
{
"source": "wecom",
"instance_id": 123,
"sp_no": "202607170001",
"status": 1,
"status_name": "审批中",
"current_approver_summary": "财务审批",
"approvers": [],
"attachments": [],
"business_process_result": "pending"
}
六、联调任务拆分
联调项建议创建为项目执行任务,而不是研发需求。每个任务可关联多条 FE/BE 研发需求和用户需求。
如果团队流程强制要求联调也必须使用“研发需求”类型,则先新增一条技术用户需求“7月迭代跨模块联调与发布验收”,再将下列 INT-01~08 建成它的子研发需求。不要把同一条联调需求重复挂到每个业务用户需求下。
| 编号 | 联调任务名称 | 关联用户需求 | 参与工时 | 进入条件 | 主要验收链路 |
|---|---|---|---|---|---|
| INT-01 | 资产实名、复机与状态同步联调 | #94、#73、#62、#53 | FE 1~1.5h / BE 1~1.5h,已含 | 实名策略接口、同步任务和H5页面完成 | 不同运营商实名能力、先实名/先购买、0/3/5同步、回调后状态和筛选一致 |
| INT-02 | 换货完整链路联调 | #98、#86、#57、#45 | FE 0.5~1h / BE 0.5~1h,已含 | 换货接口、详情和列表页面完成 | 退款拦截、新资产继承店铺、完成换货、列表搜索、前代/后代跳转 |
| INT-03 | 套餐授权、购买、续费、到期与临期联调 | #55、#46、#43、#40、#33 | FE 1~1.5h / BE 1~1.5h,已含 | 套餐快照、授权候选和各端到期字段完成 | 批量授权、购买生效条件、下架续费、排队套餐最终到期、临期高亮和通知 |
| INT-04 | Excel批量任务与导出联调 | #49、#36、#42 | FE 1~1.5h / BE 1~1.5h,已含 | 上传、任务详情、Worker和导出场景完成 | 模板校验、部分成功、失败明细、任务恢复、字段权限和文件下载 |
| INT-05 | 支付、代理钱包、信用和余额预警联调 | #48、#38、#34、#36、#96、#97 | FE 1~1.5h / BE 1~1.5h,已含 | 支付配置、钱包领域和业务员接口完成 | 支付方式限制、扫码充值、信用扣款、角色默认额度、店铺调额、100元预警 |
| INT-06 | 企业微信审批、退款和线下充值联调 | #37、#35、#34、#44 | FE 1.5~2h / BE 1.5~2h,已含 | 企微模板、绑定、回调、轮询和业务详情完成 | 扫码绑定、发起审批、意见附件、通过/驳回/撤销、退款/充值终态和列表摘要 |
| INT-07 | Gateway卡限速联调 | #47 | FE 0.5~1h / BE 0.5~1h,已含 | Gateway联调配置和卡/设备入口完成 | 单卡限速、设备解析当前卡、取消限速、无当前卡、失败审计 |
| INT-08 | 七月迭代全链路与停机发布验收 | 全部激活需求 | FE 3~4h / BE 4~5h,额外 | INT-01~07完成 | 权限、通知、审计、历史数据、旧入口关闭、Worker恢复和发布检查 |
七、联调任务责任方式
- 涉及企微、支付、Gateway、运营商回调和异步 Worker 的联调任务由后端主责,前端参与。
- 主要是页面与接口契约的批量、导出、套餐和换货联调可由前端主责,后端参与。
- 禅道只有一个指派人时,指派给主责人;另一人写入抄送和参与人,不拆成两条重复联调任务。
- 联调发现的代码问题回到对应 FE/BE 研发需求处理;联调任务只记录场景、阻塞和最终结论。
八、研发需求描述模板
前端研发需求至少填写:页面入口、交互状态、调用接口、权限、异常状态、完成标准。
后端研发需求至少填写:业务规则、数据变更、API、权限、幂等/并发、事件与审计、完成标准。
联调任务至少填写:关联研发需求、环境和账号、测试数据、完整操作步骤、预期结果、阻塞项和最终结论。
九、额外禅道项
当前用户需求 CSV 没有覆盖公共开发基础、公共站内通知和全局审计。建议补建三条技术用户需求:
用户需求:七月迭代公共开发基础
用户需求:公共站内通知
用户需求:全局多视角审计与外部集成追踪
再分别拆分:
[FE] 七月迭代公共状态与异步任务交互
[BE] 七月迭代公共迁移幂等与异步任务基础
[FE] 顶部通知铃铛与站内通知中心
[BE] 站内通知基础设施与受控跳转
[FE] 全局多视角审计中心
[BE] Audit Event与Integration Log统一审计
具体描述和工时直接使用逐条录入稿。