2.8 KiB
2.8 KiB
Implementation Tasks
1. 商户池详情入口
- 1.1 新增商户池详情页
pool-detail.vue,复用DetailPage展示基本信息、轮询配置和运行状态。 - 1.2 新增
/settings/payment-merchant-pools/pool-detail/:id路由与路由别名,并按平台账号(allowedUserTypes: [1, 2])限制访问。 - 1.3 商户池列表名称列改为可点击文本,点击跳转对应详情页;移除行操作中的“详情”入口。
- 1.4 补充中英文路由标题文案
menus.settings.detailsOfPaymentMerchantPool。
2. 商户池详情内容
- 2.1 详情页展示详情接口返回的全部业务字段:名称、支付方式、启停状态、成员数量、成员商户、轮询策略、统计周期、金额/笔数/时间阈值、时间起点、路由世代和备注。
- 2.2 成员按支付商户名称展示,不展示
member_ids原始 ID,无法解析时展示“未知商户”。 - 2.3 创建时间、更新时间等字段仅在接口返回时渲染,避免空白字段行。
3. 商户池表单稳定性
- 3.1 将
orderedMemberIds改为基于form.member_ids的单一数据源,移除互相赋值的双向 watch。 - 3.2 验证新增、编辑、切换支付方式、添加成员、移除成员和拖拽排序后提交的成员顺序正确。
- 新增/编辑/切换支付方式直接重置
form.member_ids;添加与移除成员在form.member_ids上增删;拖拽经VueDraggable的v-model写回同一数组,buildPayload按数组顺序提交。
- 新增/编辑/切换支付方式直接重置
4. 商户凭证字段枚举与校验
- 4.1 在
src/types/api/paymentMerchantPools.ts固化凭证字段枚举:PAYMENT_CREDENTIAL_FIELD_SPECS(各provider_type的必填键与可选键)、PAYMENT_CREDENTIAL_BOOLEAN_KEYS、PAYMENT_CREDENTIAL_INTEGER_KEYS、PAYMENT_MERCHANT_IDENTITY_KEYS。 - 4.2 实现
buildPaymentCredentials:校验字段枚举与必填键,把ali_production转为布尔值、ali_pay_expire_minutes转为正整数,其余字段保持字符串,并校验merchant_identity与对应凭证字段一致。 - 4.3 支付商户凭证写入表单接入该校验,并在“写入支付凭证”分隔线下方展示当前服务商组合的必填/可选字段提示。
- 4.4 凭证读写仍仅限超级管理员(
user_type=1)与平台用户(user_type=2):路由allowedUserTypes与页面canManage双层限制,凭证值不进入持久化、日志与错误上报。
5. 验证
- 5.1 运行
eslint、vue-tsc --noEmit与vite build,确认改动通过类型检查和构建。eslint(改动文件)、vue-tsc --noEmit均通过;vite build --mode development成功产出MerchantManagement、PoolManagement与pool-detailchunk。
- 5.2 执行
openspec validate update-payment-merchant-pool-optimization --strict。