2.2 KiB
2.2 KiB
Tasks: 资产钱包自动续费配置
1. 类型与 API
- 1.1 新增
src/types/api/assetWallet.ts:AssetAutoRenewalConfig(enabled/enabled_name/scope/scope_name/package_ids/days_before_expiry/config_version/updater/updated_at)、UpdateAssetAutoRenewalConfigRequest(enabled/scope/package_ids/days_before_expiry)等类型 - 1.2
src/types/api/index.ts导出新类型 - 1.3 新增
src/api/modules/assetWallet.ts:getAutoRenewalConfig:GET /api/admin/asset-auto-renewal-configsaveAutoRenewalConfig:PUT /api/admin/asset-auto-renewal-config
- 1.4
src/api/modules/index.ts导出新服务
2. 配置页面
- 2.1
src/router/routesAlias.ts新增资产钱包自动续费配置路由别名,src/router/routes/asyncRoutes.ts在设置下注册路由与菜单(仅超级管理员与平台账号可见) - 2.2 新增
src/views/settings/asset-wallet-auto-renewal/index.vue:读取配置并展示总开关、适用范围、指定主套餐、统一到期前天数、配置版本、最近保存操作者与时间 - 2.3 实现保存表单:总开关(0/1)、适用范围(all/specified)、到期前天数(1–90 校验);指定范围时主套餐多选仅支持当前可售主套餐且非空
- 2.4 保存成功后使用响应刷新
config_version、updater、updated_at,不做新增/删除记录操作
3. 通知适配
- 3.1 确认
src/utils/business/notificationNavigation.ts白名单包含iot_card与device,目标可用时跳转资产详情 - 3.2 确认
src/components/core/layouts/art-notification/index.vue的expiry分类可展示asset.auto_renewal.failed,available=false时只显示正文不跳转 - 3.3 确认该类型通知计入未读数与分类汇总
4. Verification
- 4.1 验证 GET/PUT 字段传递与参数校验(enabled、scope、package_ids、days_before_expiry)
- 4.2 验证指定范围时 package_ids 非空且仅可售主套餐
- 4.3 验证通知类型展示、目标跳转与不可用目标处理
- 4.4 验证非超级管理员/平台账号访问的 403 处理
- 4.5 运行 lint、类型检查与构建