Commit Graph

5775 Commits

Author SHA1 Message Date
k88936 fdf636ce95 补充(会员错误):兑换码链路留 TODO 接入 typed error
- is_runtime_profile_redeem_code_domain_error 顶部注明仍靠中文文案匹配判 400
- 指明后续按 RuntimeProfileMembershipErrorCode + ProcedureRejected 的做法改造
2026-10-04 13:19:42 +08:00
k88936 68c8544a15 类型化(会员错误):会员业务拒绝改用机器可读 error_code
- module-runtime 新增 RuntimeProfileMembershipErrorCode 与 RuntimeProfileMembershipDomainError
- 会员报价 / 充值中心 / 后台档位 upsert 的 procedure 结果末尾追加 error_code
- spacetime-module 在拒绝点显式赋码,中文 error_message 逐字保持不变
- spacetime-client 新增 SpacetimeClientError::ProcedureRejected 并映射生成绑定
- api-server 删除会员中文前缀分类,改按 error_code 返回 400,基础设施错误仍 502
- 重生成 module_bindings,并同步设计文档 5.8 与决策日志
2026-10-04 12:41:26 +08:00
k88936 75766824f6 文档(会员计费):同步 granted_points_delta 改 u64 与 wire token 枚举
- membership_granted_points_delta 列类型文档由 i64 更新为 u64
- 补充 shared-contracts 新增四个会员 wire token 枚举及其与模块枚举的映射说明
2026-10-04 11:59:05 +08:00
k88936 d7dec9b475 枚举化(会员后台):档位与模型权限请求字段改用 typed enum
- AdminUpsertProfileMembershipPlanRequest.plan/model_access 由 String 改为 token 枚举
- 未登记的档位 / 权限 token 在反序列化阶段直接拒绝,后台不能再持久化任意字符串
- admin handler 去掉字符串解析分支,改为 From 转换
- 删除仅用于手写解析的 parse_runtime_profile_membership_* 辅助函数
2026-10-04 11:46:08 +08:00
k88936 c660ca41fe 枚举化(会员):快照与报价/档位响应改用 typed enum
- shared-contracts 新增 ProfileMembershipPlan/CycleKind/ModelAccess/ChangeKind Token 枚举
- RuntimeProfileMembershipOrderChangeSnapshot 与 UpgradeQuoteRecord 档位/周期改用模块枚举
- AdminMembershipOrderChangePayload、ProfileMembership/Plan/UpgradeQuote Response 改用 token 枚举
- module-runtime 提供模块枚举与 wire token 的双向 From 映射
- api-server / spacetime-client / spacetime-module 同步去掉 as_str().to_string() 拼装
- 重生成 SpacetimeDB 绑定:订单变更快照字段改为枚举
2026-10-04 11:43:57 +08:00
k88936 1744262b0b 对齐(会员订单):granted_points_delta 全链路 i64 改 u64
- profile_recharge_order.membership_granted_points_delta 列由 i64 改为 u64
- RuntimeProfileMembershipOrderChangeSnapshot 与 AdminMembershipOrderChangePayload 同步改 u64
- 删除 snapshot/order 之间的 as i64 与 try_from 兜底转换
- 重生成 SpacetimeDB 绑定:profile_recharge_order、订单变更快照
2026-10-04 11:23:21 +08:00
k88936 168028d5e5 修正(会员账期):期号水位缺失不再被当成换期重发额度
- advance_profile_membership_cycle_to 只在 cycle_resets_at 缺失时判定需要初始化写库
- cycle_index == 0(新列默认值)只补写期号水位,不重置 cycle_granted/remaining_points
- 补测试覆盖 cycle_index=0 且账期窗口已存在时保留本期余额
2026-10-04 11:21:42 +08:00
k88936 4a2594a90c 修正(会员支付):微信虚拟支付只接受在售且可购买的档位
- build_wechat_virtual_pay_params 的档位校验补齐 enabled 与 is_purchasable
- 与 resolve_enabled_profile_recharge_order_product 的可售判定对齐,拒绝 Normal 占位与下架档位
2026-10-04 10:35:01 +08:00
k88936 44feb7b0f5 修正(会员后台):缺少目录档位时不再回退 rank 0
- upsert 解析 rank 失败改为显式报错,避免与 Normal 占位同档
- 与 module-runtime 用 Option 暴露缺失档位的契约保持一致
2026-10-04 10:33:58 +08:00
k88936 cc30d8ba7a 修正(会员账期):beijing_local_micros 改用 checked 运算
- 年份导致微秒溢出时返回 None,符合函数文档,不再饱和成看似合法的值
- 补测试覆盖 i64 溢出年份返回 None
2026-10-04 10:33:55 +08:00
k88936 b0b1e2519e 文档(日历):注明 civil_from_days 的合法输入范围与饱和行为
- 说明极端日序号会饱和并给出无意义日期,要求调用方保证输入范围
2026-10-04 10:33:52 +08:00
k88936 e855c52d7f 文档(假数据脚本):注明不限并发哨兵对应的后端常量路径
- 在注释里给出 limits.rs 与 MEMBERSHIP_UNLIMITED_CONCURRENCY 定义,便于后端改动时同步
2026-10-04 10:33:15 +08:00
k88936 582a329468 修正(会员弹层):支付方式静态文案去掉 radiogroup/radio 语义
- 微信支付是纯展示的单一选项,不可交互的 radio 会误导读屏
- 改为普通文本容器,视觉样式不变
2026-10-04 10:33:04 +08:00
k88936 951b44b582 修正(会员弹层):升级报价未到时不再把标准价显示为本次补付
- 新增 amountPending:升级报价缺失时金额区显示占位符,CTA 只显示「补差升级」
- 补一条回归测试覆盖报价加载中的确认页
2026-10-04 10:32:50 +08:00
k88936 93837a736d 重构(会员弹层):抽取 resolveRovingIndex 复用方向键索引
- 页签列表与泥点档位网格共用同一个 roving index 解析函数
- 用 switch 取代深层嵌套三元,Home/End/左右键语义保持不变
2026-10-04 10:31:52 +08:00
k88936 987e82605b 重构(会员弹层):档位卡按钮文案去掉嵌套三元
- 用 if/else 预计算 actionButtonLabel,明确 禁用/提交中/默认 的优先级
2026-10-04 10:31:20 +08:00
k88936 a16dbf7bc0 文档(会员账期):说明 membership_cycle_window 把 index=0 收敛为第 1 期
- 注明与升级报价显式拒绝 cycle_index=0 的差异及兼容存量行的原因
2026-10-04 10:30:53 +08:00
k88936 b23ed023fc 文档(会员目录):注明单调校验要求 existing 覆盖完整档位
- 说明缺失档位会让倒挂静默通过,要求新增调用方传全量目录表
2026-10-04 10:30:50 +08:00
k88936 8ad490b39a 重构(后台表单):整数解析收敛到单一内部 helper
- 新增 parseSafeIntegerText 统一十进制校验,四个导出函数改为薄包装
- 注明 parsePositiveIntegerOrZero / parseNonNegativeIntegerOrZero 语义等价
2026-10-04 10:30:29 +08:00
k88936 658a39a357 修正(后台表单):严格整数解析只接受纯十进制数字
- parsePositiveInteger / parseNonNegativeInteger 改用 ^\d+$ 校验原始字符串
- 拒绝 1.0、1e2、0x10、+5 等 Number 会隐式转换的写法,与'严格整数'注释一致
2026-10-04 10:29:55 +08:00
k88936 dfa92607b4 Merge remote-tracking branch 'origin/master' into feat/pricing-plan
Project CI / Backend tests (pull_request) Failing after 1m51s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m10s
Project CI / Frontend tests (pull_request) Failing after 1m31s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m59s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 5m50s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m38s
Project CI / Repository checks (pull_request) Failing after 4m27s
Project CI / Native shell tests (pull_request) Successful in 7m43s
# Conflicts:
#	docs/project-memory/shared-memory/decision-log.md
#	server-rs/crates/module-runtime/src/lib.rs
2026-10-03 20:32:40 +08:00
k88936 5826b2e56c fix(会员结算): 升级单冻结账期身份并在支付时校验
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
- ProfileMembershipOrderSnapshot / ProfileMembershipSettlement 增加 cycle_index_before 与 cycle_resets_at_before_micros,建单时写入订单已有的会员快照列,不新增 schema 字段。
- 支付结算前比对冻结期号与刷新时刻,账期已推进则返回「会员状态已变化,请重新下单」,避免按旧周期剩余比例算出的补点叠加到已重置的新周期。
- 抽出 frozen_membership_cycle_matches 纯函数并补单测;历史无快照订单冻结值为 None,跳过校验。
2026-10-03 20:18:27 +08:00
k88936 0fc564c4e5 fix(会员结算): 拒绝过期新购单覆盖更新的会员
- 冻结的新购单下单时用户无有效会员,若支付前已通过其他订单获得有效会员,结算会按 user_id 删除重插,覆盖更新 / 更长的会员。
- 在 apply_profile_membership_purchase 中当 change_kind 为 Purchase 且 active_row 存在时返回「会员状态已变化,请重新下单」,与升级分支守卫一致。
- 历史无快照的重算路径只会在 active_row 为空时产出 Purchase,不受影响。
2026-10-03 19:42:36 +08:00
k88936 5603185a7f refactor(会员报价): 升级报价快照档位与周期改用枚举
- RuntimeProfileMembershipUpgradeQuoteSnapshot 的 current_plan / target_plan / cycle_kind 由 String 改为 RuntimeProfileMembershipPlan / RuntimeProfileMembershipCycleKind,把非法值挡在类型边界外。
- 模块构造点直接写入枚举;记录侧在 build_runtime_profile_membership_upgrade_quote_record 用 as_str() 转回对外 token,HTTP 契约不变。
- spacetime-client 映射改用 plan / cycle_kind 的 back 映射还原枚举;重新生成 module_bindings。
2026-10-03 19:39:34 +08:00
kdletters 1c4073b500 修正插件开关测试的工具桥模式
Project CI / AI game creator shell Rust crates (push) Successful in 3m7s
Project CI / Backend tests (push) Failing after 4m17s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 5m24s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 6m16s
Project CI / Frontend tests (push) Successful in 2m38s
Project CI / AI game creator shell web tests (push) Successful in 2m34s
Project CI / Repository checks (push) Failing after 4m15s
Project CI / Native shell tests (push) Successful in 7m20s
插件宿主开关测试使用外部桥,避免无回合执行许可掩盖插件禁用结果
2026-10-03 19:29:58 +08:00
k88936 3db258d927 fix(会员账期): 非法北京本地时间改用 None 表达
- beijing_local_micros 返回 Option<i64>,不再用 0 兼作非法哨兵,合法 epoch 0 可被区分。
- advance_beijing_months_clamped 对夹取后的合法输入 expect,相关测试助手同步更新。
- 补 beijing_local_micros 区分合法 epoch 与非法输入的用例。
2026-10-03 19:26:36 +08:00
kdletters d4be3dd97a 补齐 Claude 上游错误展示与 MCP 并发隔离
Project CI / AI game creator shell Rust crates (push) Successful in 3m15s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 4m30s
Project CI / Backend tests (push) Failing after 4m50s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 6m23s
Project CI / Frontend tests (push) Successful in 3m38s
Project CI / Native shell tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
前端保留 401/403/408/429/5xx 状态并补回归测试

按项目隔离 Claude MCP 注册表并防止旧回合误停新桥

更新 DirectProject 排障记录
2026-10-03 19:21:18 +08:00
kdletters e5fa123483 修复 Claude Direct MCP 回合授权死循环
Project CI / AI game creator shell Rust crates (push) Successful in 2m47s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 4m49s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 6m16s
Project CI / Backend tests (push) Failing after 4m53s
Project CI / Frontend tests (push) Successful in 3m36s
Project CI / Repository checks (push) Failing after 3m57s
Project CI / AI game creator shell web tests (push) Successful in 2m33s
Project CI / Native shell tests (push) Successful in 6m55s
内部 Claude MCP 使用 Direct 工具桥并绑定当前回合授权

保留外部 MCP 隔离模式并补充回归测试与排障记录
2026-10-03 19:06:38 +08:00
k88936 888a94ac86 fix(会员): 存量库首次读取补种会员档位目录
- profile.rs 在 membership_plan_row / membership_plan_records 恢复懒播种,避免增量发布不触发 init reducer 导致 profile_membership_plan 为空。

- 下单校验、升级报价、充值中心读取目录前都会先补种代码内种子目录。
2026-10-03 19:05:26 +08:00
lhk229 2233f1b7c4 修复试玩回包遗漏双端玩法失败证据(#548) (#598)
Project CI / AI game creator shell Rust crates (push) Successful in 2m58s
Project CI / Backend tests (push) Failing after 4m25s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 5m34s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 5m44s
Project CI / Frontend tests (push) Successful in 2m50s
Project CI / AI game creator shell web tests (push) Successful in 2m45s
Project CI / Repository checks (push) Failing after 4m7s
Project CI / Native shell tests (push) Successful in 6m49s
试玩报告已记录玩法阻断,但工具回包只展示视觉结果,Agent 无法从“画面正常、整体失败”定位原因;返回的私有报告路径也不能通过通用文件工具读取。

本次增加逐视口 gameplayResults,返回有界诊断、断言和初末状态,并从同一份投影生成摘要。明确区分视觉检查与玩法检查、未通过与未执行;保留现有通过判定、验证预算和私有目录保护。同步更新证据合同、提示词与 skill pack。

验证:
- Rust 定向测试、提示词构建与源码边界检查通过。
- 最终 MCP 成功/失败回包均检查逐视口状态、原因、断言及截图。
- 显式运行 4 个真实浏览器用例:双端成功、禁用控件、真实点击后 phase 未进入 playing、仅移动端失败;对照持久报告核对回包与摘要。
- rustfmt、编码、文档索引、skill pack、git diff --check 通过。
- 未运行全量测试或真实模型端到端验证。

Closes #548

Reviewed-on: #598
2026-10-03 18:54:12 +08:00
kdletters 8aee5db84e 统一 Claude Code 与 Codex 错误分类
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 5m46s
Project CI / AI game creator shell Rust crates (push) Successful in 3m18s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 5m5s
Project CI / Frontend tests (push) Successful in 4m36s
Project CI / Backend tests (push) Failing after 5m40s
Project CI / Repository checks (push) Failing after 4m32s
Project CI / AI game creator shell web tests (push) Successful in 2m54s
Project CI / Native shell tests (push) Successful in 8m37s
保留 Claude Code 的上游 HTTP 状态、超时、空响应和无效 JSON 语义

补充状态摘要、重试建议、定向回归测试与排障记录
2026-10-03 18:08:14 +08:00
k88936 ba451bfc0c fix(会员): 退役列保留不删,发布改回追加式兼容
- domain.rs 恢复已退役的 RuntimeProfileMembershipTier 枚举,仅供存量 tier 列兼容。

- profile.rs 将 profile_membership 的 tier / cycle_period_days 还原到原始位置,新字段 plan / cycle_index / cycle_count / cycle_kind 末位追加。

- profile.rs 恢复 profile_recharge_product_config 的 tier 与 membership_* 兼容列,运行时不读不写、写入统一用固定默认值。

- 重新生成 module_bindings;schema guard 无需 allow-breaking 即通过,发布不再触发导出 / 清库 / 回灌。

- 数据契约文档同步标注退役列与六档泥点商品。
2026-10-03 17:59:31 +08:00
k88936 5157ec1784 fix(后台充值商品): 列表为空时重置表单
- 抽出 DEFAULT_RECHARGE_PRODUCT_FORM 并让新建表单初始化与 resetForm 共用。
- 过滤后没有泥点商品时调用 resetForm,避免表单残留上一次选中或已删除商品的旧值被误保存。
2026-10-03 17:58:50 +08:00
k88936 9f10423ff9 refactor(后台表单): 抽取共享整数解析器
- pageUtils 新增严格的 parsePositiveInteger / parseNonNegativeInteger 与落库用 parsePositiveIntegerOrZero / parseNonNegativeIntegerOrZero。
- 账号配置、会员档位、充值商品三页删除各自的同名本地解析器,统一走共享实现,消除同名不同语义的校验漂移。
- 解析从 parseInt 改为 Number + isSafeInteger,'12abc' 一类脏输入不再被截断成 12。
2026-10-03 17:58:39 +08:00
suzmii 0b03d563c2 Merge pull request '修复 AGC 栏目画布上传素材落「待归类」(#359)' (#596) from fix/agc-asset-upload-category into master
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Reviewed-on: #596
2026-10-03 17:58:02 +08:00
k88936 066d14636a test(App界面): 同步会员与泥点改名后的可访问名
- 钱包入口与充值按钮断言改用 `泥点账户`、`会员与泥点`。
- 充值弹窗断言改用当前 `会员与泥点` / `确认订单` / `可用总额 … 泥点`,并补上切换到泥点充值 Tab、在确认订单弹窗内点击的步骤。
2026-10-03 17:55:05 +08:00
k88936 dec44ec4ea fix(后台本地预览): 会员档位保存按请求体回显
- 假后台读取 POST 请求体,把提交字段覆盖到对应档位行再回显,保存非 starter 档不再把表单与列表重置成 starter。
- 抽出 UNLIMITED_CONCURRENCY_THRESHOLD 常量,列表与回显共用同一哨兵。
2026-10-03 17:47:22 +08:00
k88936 44bbc846ae fix(后台会员): 并发上限展示与提示改用后端下发值
- ProfileMembershipPlanAdminListResponse 增加 unlimitedConcurrencyThreshold,会员档位列表接口下发 MEMBERSHIP_UNLIMITED_CONCURRENCY。
- admin-web 的档位响应补上 unlimitedConcurrency,列表“不设上限”展示改用该标志,表单提示与校验改用后端阈值,删除页面硬编码的 128。
- 本地假后台同步补 unlimitedConcurrency 与 unlimitedConcurrencyThreshold。
2026-10-03 17:45:30 +08:00
k88936 0c93256b8c Revert "fix(迁移): 补齐会员重构的破坏性迁移导入兼容"
This reverts commit 21f69ef13b.
2026-10-03 17:44:30 +08:00
k88936 bc5552a5ea Revert "fix(会员): 回灌后收敛充点商品目录并清理退役会员商品行"
This reverts commit af0721fb78.
2026-10-03 17:44:30 +08:00
suzmii 86e74867ae review 反馈:补齐 targetCategory 的文档与注释口径(#359)
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m27s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m37s
Project CI / Backend tests (pull_request) Failing after 31s
Project CI / Repository checks (pull_request) Failing after 28s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 5m54s
Project CI / Frontend tests (pull_request) Successful in 3m18s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m28s
Project CI / Native shell tests (pull_request) Successful in 7m28s
- 实施计划合同补上「GUI 上传与图片类生成同一 targetCategory 口径,不传时仍按内容证据派生 kind」
- 栏目画布底部工具栏入口矩阵 §1 一句话补上「带当前栏目 targetCategory」
- 工具栏模型里上传入口的类型注释写明入口栏目与「待归类」的因果
- 修正占位落点 effect 里陈旧的示例:普通图片只在 Agent / Direct 不传 targetCategory 时才落「待归类」
2026-10-03 17:42:50 +08:00
k88936 3f9b280708 fix(后台接口): 会员商品业务拒绝按 400 返回
- is_runtime_profile_membership_domain_error 增加 "会员商品 product_id 无法解析: " 与 "充值商品类型无效:会员商品已迁移到会员档位目录" 前缀匹配,避免这两类可读业务拒绝落到 502。
- 新增 membership_business_rejections_map_to_bad_request 覆盖升级拒绝、商品 id 解析失败与旧会员商品类型三条路径。
2026-10-03 17:39:58 +08:00
k88936 ef99e35d28 refactor(会员商品): 删除已无构造点的时长错误变体
- 移除 RuntimeProfileFieldError::InvalidRechargeProductDuration 及其 Display 分支;会员商品改走 InvalidRechargeProductKind 后该变体已无构造点。
2026-10-03 17:37:29 +08:00
k88936 c9ad084f78 fix(后台权限): 补上 membership-plans Tab 授权
- ADMIN_TAB_PERMISSIONS 增加 membership-plans 并把数组长度改为 22,使非 owner 管理员可被授予会员档位页权限,修复该页接口对普通管理员恒 403。
- every_assignable_admin_tab_has_a_backend_route 增加断言:路由使用的每个 Tab 必须登记在 ADMIN_TAB_PERMISSIONS。
2026-10-03 17:36:43 +08:00
k88936 78a43b6a13 docs(会员目录): 说明档位校验不覆盖展示型权益
- validate_runtime_profile_membership_plan_row_against_catalog 文档注明 model_access 与 concurrent_job_limit 本期仅落字段供展示,不参与随 rank 的单调校验。
2026-10-03 17:33:50 +08:00
k88936 1d2574a43f fix(会员计价): 升级报价拒绝到期日早于刷新日的入参
- validate_runtime_profile_membership_upgrade_quote_input 增加 expires_at >= cycle_resets_at 校验,避免回显早于下次刷新日的到期时间。
- 补充到期时刻早于本期刷新时刻的回归断言,并更新函数文档说明。
2026-10-03 17:33:23 +08:00
suzmii 7e96b369c1 Merge pull request '修复 Web 预检浏览器失败恢复' (#591) from fix/web-preflight-browser-recovery into master
Project CI / AI game creator shell Rust crates (push) Successful in 2m40s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 4m51s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 4m24s
Project CI / Backend tests (push) Failing after 3m56s
Project CI / Frontend tests (push) Successful in 3m5s
Project CI / AI game creator shell web tests (push) Successful in 2m56s
Project CI / Repository checks (push) Failing after 4m3s
Project CI / Native shell tests (push) Successful in 6m54s
Reviewed-on: #591
2026-10-03 17:33:22 +08:00
k88936 1811b2206f fix(会员计价): 升级报价先做领域校验再做数值校验
- quote_runtime_profile_membership_upgrade 先跑账期变更 / 档位合法性校验,再跑期号与窗口数值校验,使年付转月付等高期号场景返回 CycleKindChangeUnsupported 而非 InvalidQuoteInput。
- 补充年付转月付的回归断言,覆盖目标账期 period 数小于当前期号的拒绝路径。
2026-10-03 17:32:00 +08:00
k88936 da0ef16df5 refactor(会员下单): 下单入参去掉未使用的 kind
- useAccountWallet.buyRechargeProduct 入参收窄为仅 productId,会员结算调用同步删除未被消费的 kind: 'membership'。
2026-10-03 17:31:20 +08:00
k88936 9af6625514 docs(充点弹窗): 说明默认预选第 3 档的原因
- 为点卡默认选中索引 2 的取值补上中文注释,说明其只影响默认选中项、不改变计费。
2026-10-03 17:31:00 +08:00