suzmii
|
456cc42dd3
|
优化泥点流水的素材消耗原因展示 (#302)
Project CI / Repository checks (push) Successful in 1m59s
Project CI / Frontend tests (push) Successful in 3m7s
Project CI / Backend tests (push) Successful in 6m13s
Project CI / Native shell tests (push) Successful in 19m24s
Close #296
## 问题
钱包流水目前只把素材类扣费暴露为 `asset_operation_consume`,共享账单组件统一显示“资产操作消耗”,无法说明本次泥点实际用于哪类素材生成。
## 落地方案
- 在既有钱包流水 metadata 中记录服务端确定的 `assetKind`,不修改 SpacetimeDB schema。
- `api-server` 只将内部素材类型白名单映射为用户可见 `reason`,不暴露原始 metadata、资源 ID 或任务 ID。
- 共享钱包流水契约与组件优先展示具体原因;历史、未知或空 metadata 继续回退为“资产操作消耗”。
- 主站、图片画布与 AGC 继续复用同一共享账单组件。
## 当前进度
- [x] 补充权威后端数据契约
- [x] 写入素材操作类型 metadata
- [x] 扩展钱包流水公开 DTO 与安全映射
- [x] 更新共享账单展示与回归测试
- [x] 完成定向验证与边界检查
## 用户可见映射
- 图片、图标图集、美术规范、UI 设计、发布素材:生成美术素材
- 图片修改:编辑美术素材
- UI 素材提取:提取美术素材
- 角色动画:生成角色动画
- 视频:生成视频素材
- 音效:生成音效素材
- 背景音乐:生成背景音乐
- 历史、未知、空 metadata:资产操作消耗
## 验证
- `cargo fmt --all -- --check`
- `cargo test -p api-server profile_wallet_ledger_reason_only_exposes_known_asset_operations`
- `cargo test -p api-server worker_billing_context_freezes_charge_and_preserves_job_metadata`
- `cargo test -p shared-contracts profile_wallet_ledger_response_uses_camel_case_fields`
- `npx vitest run packages/shared/src/components/PlatformProfileWalletLedgerModal/index.test.tsx`
- `npm run typecheck`
- `npx eslint packages/shared/src/components/PlatformProfileWalletLedgerModal/model.ts packages/shared/src/components/PlatformProfileWalletLedgerModal/index.test.tsx packages/shared/src/contracts/runtime.ts`
- `npm run check:encoding`
- `npm run check:spacetime-schema`
- `git diff --check`
以上均通过;Rust 仅输出仓库已有 dead-code warnings。
## 未验证边界
- 未执行真实登录、生成并读取新钱包流水的端到端联调。本机 `8082/3101` 已由另一套本地栈占用,为避免当前分支挂接同一数据库并带起 worker 处理现有队列,本轮未启动 `npm run dev:api-server`。
- 四项远端 CI 已全部通过,PR 已转为 Ready for review。
## 不变项
- 不修改历史流水数据。
- 不调整泥点价格、扣费顺序、幂等 ledger、失败退款或余额结算。
- 不修改 SpacetimeDB schema。
---------
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/302
Co-authored-by: Suzumiya <suzmii@qq.com>
Co-committed-by: Suzumiya <suzmii@qq.com>
|
2026-09-08 14:56:16 +08:00 |
|
suzmii
|
736a1b6ac6
|
接入 LLM Router 累计额度结算
Project CI / Repository checks (pull_request) Successful in 2m36s
Project CI / Frontend tests (pull_request) Successful in 3m15s
Project CI / Backend tests (pull_request) Successful in 7m35s
Project CI / Native shell tests (pull_request) Failing after 7m43s
按 Router used_quota 累计值与首次基线结算泥点
新增原子 checkpoint 事务及 llm_router_consume 钱包流水
同步额度查询校验、前端展示、生成绑定和技术文档
|
2026-09-06 00:36:31 +08:00 |
|
kdletters
|
93ed7f2c57
|
将每日免费泥点纳入后台配置
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Frontend tests (push) Successful in 2m57s
Project CI / Backend tests (push) Successful in 3m30s
Project CI / Native shell tests (push) Successful in 12m11s
在账号配置页一次维护初始泥点和每日免费额度
将每日额度贯穿钱包配置、日切重置与充值中心投影
补齐迁移兼容、生成绑定、测试和文档
|
2026-07-31 13:04:27 +08:00 |
|
kdletters
|
7ea463ed08
|
退役旧创作模板业务并保留数据壳
保留 SpacetimeDB 历史表、迁移白名单与最小兼容读取定义
移除旧创作前后端、worker、业务过程及纯业务 crate 的编译依赖
恢复现役创作、项目、我的入口及桌面移动导航
收紧 Vite、TypeScript、ESLint、Vitest 与静态资源退役边界
补齐开发栈、网关、原生壳和文档退役约束
|
2026-07-18 22:02:22 +08:00 |
|
kdletters
|
e9c3dc1120
|
退役旧创作模板业务
保留 SpacetimeDB 历史表、迁移白名单与旧业务源码
切换前端 active 入口并解除旧创作页面和路由编译链
移除旧后端路由、worker 与纯业务 crate 依赖
收敛 SpacetimeDB 模块为历史数据壳
同步 Nginx、Pingora、验证门禁与架构文档
|
2026-07-17 22:07:52 +08:00 |
|
kdletters
|
bddc25b4e0
|
后台支持多账号与页面访问权限
保留环境变量管理员作为 owner,并新增可持久化管理的 member 账号
建立一级页面权限、实时会话失效和后端逐请求鉴权
统一操作记录与配置记录展示管理员显示名称,隐藏内部主体标识
补充账号管理页面、生成绑定、定向测试和技术文档
|
2026-07-14 19:21:33 +08:00 |
|
kdletters
|
8862887baa
|
新增后台充值退款管理与微信V3退款闭环
新增充值订单查询、通用用户详情、钱包冻结与部分退款操作
接入微信V3退款申请、回调、主动查单、交易账单对账与安全诊断
新增退款占用、权益追回、异常欠账和消费限制事务
补齐Native支付SSE自动收口及退款编号与部分退款校验
同步SpacetimeDB schema、生成绑定、测试与项目文档
|
2026-07-14 12:16:01 +08:00 |
|
kdletters
|
55471e15de
|
补齐后台兑换码有效期与独立滚动
为兑换码增加可选生效和截止时间,并按左闭右开区间校验
同步 SpacetimeDB 迁移、生成绑定、共享契约和后台管理界面
让后台侧边栏与主内容区域独立滚动
修正兑换业务拒绝的 HTTP 状态映射并补充回归测试和文档
|
2026-07-13 17:26:47 +08:00 |
|
kdletters
|
66178edc7c
|
统一泥点账户与每日免费额度
- 新增每日免费泥点独立余额桶,按北京时间零点固定重置20泥点
- 按每日免费、会员限时、永久顺序扣费并支持跨日退款按原分桶回补
- 统一主站与图片画板泥点入口,隐藏限时泥点、任务入口和会员购买入口
- 收敛四档充值商品与泥点购买弹窗,并接入后台动态商品配置
- 同步余额read model、SpacetimeDB迁移绑定、回归测试和工程文档
- 将泥点明细浮层圆角匹配首页卡片视觉规范
|
2026-07-12 19:35:22 +08:00 |
|
kdletters
|
00ff425e03
|
改造充值订单过期补偿流程
新增 SpacetimeDB 原生充值订单过期 timer 与 expired 状态。
移除 api-server 轮询 worker,改为 HTTP 角色订阅 Pending 到 Expired 事件并查单补偿。
统一微信下单 5 分钟 time_expire,并恢复前端支付通道选择与 expired 展示。
补齐生成绑定、前后端契约、测试和项目文档。
|
2026-07-10 01:37:53 +08:00 |
|
kdletters
|
5f6f4d0ba6
|
接入会员周期泥点制度
新增 Starter、Basic、Pro、Ultimate 会员商品配置与权益字段。
拆分会员有效期、周期重置时间、周期限时泥点和永久泥点余额。
实现升级补价补点但不延长有效期或移动重置时间,同级购买只延长有效期。
补齐钱包扣费与退款中的会员周期泥点消耗、重置和流水记录。
同步后台商品配置、前端充值展示、共享契约、SpacetimeDB 迁移与生成绑定。
|
2026-07-09 14:48:26 +08:00 |
|
kdletters
|
542fb09365
|
接入微信 Native 充值与订单过期处理
调整网页端充值渠道,微信内浏览器在开放平台接入前走 Native 支付。
拆分 Native 支付二维码弹窗,展示金额和充值内容并取消无效 code_url 跳转。
修复微信 Native 下单 time_expire 秒级 RFC3339 格式,避免小数秒参数错误。
新增充值订单 5 分钟过期调度,过期前查询微信真实订单状态。
补充微信授权绑定、路由加载恢复和后台表时间显示等配套逻辑。
更新 SpacetimeDB schema、绑定和相关文档测试。
|
2026-07-08 21:35:02 +08:00 |
|
kdletters
|
15bca90ed2
|
持久化码后台操作记录
新增兑换码和邀请码后台操作持久表。
列表接口返回全部操作记录并同步前后端契约。
后台页面展示持久化操作历史并移除最近一条会话记录。
更新 SpacetimeDB 迁移表清单、生成绑定和后端架构文档。
|
2026-07-02 17:31:33 +08:00 |
|
kdletters
|
afc2f03497
|
新增后台账号初始泥点配置
新增 profile_wallet_config 表和后台读写接口
注册赠送泥点改为读取后台配置并保留默认 100
后台新增账号配置页并同步数据契约文档
|
2026-06-23 17:42:49 +08:00 |
|
kdletters
|
2fdeb34567
|
fix: lock recharge flow until virtual payment settles
|
2026-06-02 01:47:54 +08:00 |
|
kdletters
|
3db956ec81
|
feat: add wechat mini program virtual payment
|
2026-05-31 22:44:22 +08:00 |
|
kdletters
|
f36b90ebdb
|
feat: switch mini program recharge to virtual payment
|
2026-05-26 22:32:16 +08:00 |
|
kdletters
|
0152f9bd67
|
Merge branch 'hermes/wechat'
# Conflicts:
# .hermes/shared-memory/decision-log.md
# docs/technical/MY_TAB_ACCOUNT_RECHARGE_IMPLEMENTATION_2026-04-25.md
# docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md
# server-rs/crates/module-runtime/src/errors.rs
# src/components/rpg-entry/RpgEntryHomeView.recharge.test.tsx
# src/components/rpg-entry/RpgEntryHomeView.tsx
|
2026-05-15 11:32:51 +08:00 |
|
kdletters
|
5b70ec6af7
|
feat: 接入微信H5与Native充值支付
|
2026-05-15 06:40:40 +08:00 |
|
kdletters
|
c7fe793a9e
|
feat: 支持充值商品配置和档位首充
|
2026-05-15 06:20:52 +08:00 |
|
kdletters
|
2801b55d2f
|
fix: 修复微信支付回跳刷新与查单确认
|
2026-05-14 23:52:01 +08:00 |
|
JenkenB
|
d33c937ebc
|
1
|
2026-05-14 14:21:17 +08:00 |
|
kdletters
|
ae58a443a3
|
feat: 接入微信小程序支付
|
2026-05-14 00:16:17 +08:00 |
|
JenkenB
|
e30b733b17
|
1
|
2026-05-11 16:15:48 +08:00 |
|
JenkenB
|
192accd796
|
1
|
2026-05-10 22:20:54 +08:00 |
|
kdletters
|
199b44c18c
|
Add backend feedback submission and image preview
CI / verify (push) Has been cancelled
|
2026-05-08 21:47:45 +08:00 |
|
kdletters
|
1d9d8c2e41
|
feat: add analytics metric granularity query
CI / verify (push) Has been cancelled
|
2026-05-04 16:29:48 +08:00 |
|
kdletters
|
9f3e34e81a
|
feat: add invite code validity controls
- Add invite code starts/expires fields across contracts, API, Spacetime bindings, and admin UI
- Enforce pending/expired invite code redemption behavior and expose admin status
- Add admin write-operation confirmation guard and documentation
- Add invite code contract/runtime tests
|
2026-05-04 13:54:40 +08:00 |
|
kdletters
|
34aecdddf1
|
Add skill for gameplay entry type workflows
|
2026-05-04 02:32:38 +08:00 |
|
JenkenB
|
87fbf41fab
|
1
|
2026-05-01 20:29:09 +08:00 |
|
JenkenB
|
c9be987671
|
Merge branch 'master' of http://82.157.175.59:3000/GenarrativeAI/Genarrative
|
2026-05-01 01:53:14 +08:00 |
|
JenkenB
|
2e9d0f4640
|
1
|
2026-05-01 01:30:02 +08:00 |
|
kdletters
|
42aab671ed
|
Implement registration invite code flow and admin invite codes
|
2026-04-30 20:49:38 +08:00 |
|
JenkenB
|
730f485f48
|
1
|
2026-04-29 20:56:59 +08:00 |
|
JenkenB
|
412279ae11
|
1
|
2026-04-29 11:51:04 +08:00 |
|
JenkenB
|
e191619ab3
|
1
CI / verify (push) Has been cancelled
|
2026-04-28 20:52:08 +08:00 |
|
JenkenB
|
f0471a4f8d
|
1
|
2026-04-28 19:36:39 +08:00 |
|
kdletters
|
b6fe637b2a
|
Merge pull request #3 from codex/coin-consume
# Conflicts:
# packages/shared/src/contracts/runtime.ts
# server-rs/crates/module-runtime/src/lib.rs
# server-rs/crates/shared-contracts/src/runtime.rs
# server-rs/crates/spacetime-client/src/module_bindings/runtime_profile_wallet_ledger_source_type_type.rs
# src/components/rpg-entry/RpgEntryHomeView.tsx
|
2026-04-28 15:43:48 +08:00 |
|
kdletters
|
6611852a97
|
feat: add profile redeem code flow
|
2026-04-28 12:56:38 +08:00 |
|
kdletters
|
04dfce57e6
|
feat: add asset operation wallet ledger
CI / verify (pull_request) Has been cancelled
|
2026-04-28 12:14:07 +08:00 |
|
kdletters
|
1348b2e940
|
add public work share links
CI / verify (push) Has been cancelled
|
2026-04-27 22:55:36 +08:00 |
|
kdletters
|
cbc27bad4a
|
init with react+axum+spacetimedb
CI / verify (push) Has been cancelled
|
2026-04-26 18:06:23 +08:00 |
|