3.3 KiB
3.3 KiB
Change: 新增资产钱包自动续费配置(后台查询/保存 + 自动续费失败通知适配)
Why
根据 docs/产品迭代8月份/资产钱包.md。后端测试环境(https://cmp-api.boss160.cn,Authorization: Bearer <token>)已提供资产钱包自动续费全局配置能力,仅有 2 个后台接口,H5 侧零新增:
- 查询资产钱包自动续费配置:
GET /api/admin/asset-auto-renewal-config - 保存资产钱包自动续费配置:
PUT /api/admin/asset-auto-renewal-config
后台需要提供配置页面承载总开关、适用范围、指定主套餐、到期前天数等配置;同时新增通知类型 asset.auto_renewal.failed 会复用既有通知接口产生新数据,需要适配展示与跳转。
What Changes
- 新增能力
asset-wallet-auto-renewal:- 配置读取:
GET /api/admin/asset-auto-renewal-config,返回唯一一份全局配置的enabled+enabled_name、scope+scope_name、package_ids、days_before_expiry、config_version、updater、updated_at。 - 配置保存:
PUT /api/admin/asset-auto-renewal-config:- 请求体
{ enabled(0/1,必填), scope(all|specified,必填), package_ids(uint[],仅 specified 时非空且只能选当前可售主套餐), days_before_expiry(1–90,必填) }。 - 语义:单行配置、无新增/删除;保存即递增
config_version,记录操作者与前后值快照;配置变更只影响后续扫描,历史记录不重算。
- 请求体
- 权限:仅超级管理员与平台账号可访问;其他身份(代理/企业/个人客户)
403,提示「无权限操作该资源或资源不存在」,无权限与不存在不区分。
- 配置读取:
- 通知适配(复用既有接口,不算新接口):
- 后台站内通知:新增通知类型
asset.auto_renewal.failed(类别expiry、级别warning),接收人是业务员/店铺账号。走既有GET /api/admin/notifications+GET /api/admin/notifications/{id}/target;确认target_type的iot_card/device在导航白名单;available=false时只显示正文不跳转;计入未读数。 - H5 个人客户通知:同一类型已由后端加入客户可见白名单,出现在既有
GET /api/c/v1/notifications与unread-count,客户侧只有文案(资产标识、套餐、原因、到期日),无跳转接口、无需新页面,本仓库无需改动。该类型属expiry类别,展示期以业务到期时间为准,套餐到期后从列表消失(既有类别行为)。
- 后台站内通知:新增通知类型
- 明确不做(避免前端空等):无自动续费记录页/异常记录页接口、无尝试记录查询接口、无「有余额就不停机」开关、无 H5 客户侧新接口。
Impact
- Affected specs:
asset-wallet-auto-renewal— 新增能力
- Affected code:
src/types/api/assetWallet.ts(新增)src/types/api/index.tssrc/api/modules/assetWallet.ts(新增)src/api/modules/index.tssrc/views/settings/asset-wallet-auto-renewal/index.vue(新增)src/router/routesAlias.tssrc/router/routes/asyncRoutes.tssrc/utils/business/notificationNavigation.ts(确认/补充iot_card、device白名单)src/components/core/layouts/art-notification/index.vue(确认expiry分类覆盖新类型)src/locales/langs/zh.json、src/locales/langs/en.json