Commit Graph

37 Commits

Author SHA1 Message Date
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
k88936 125927e0e8 Ai game creator app home sidebar (#86)
![shotmd-1784186268.jpg](/attachments/c828773c-4f1a-4654-b76d-c944b82ec023)
![shotmd-1784186877.jpg](/attachments/f1782ba3-245a-40c1-8caa-cbd7e4cce74b)
![shotmd-1784186948-compressed.webp](/attachments/f3d02ac3-db7a-439b-9a84-7aceefad9048)
TODO: 补充说明书链接

Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/86
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-07-20 15:03:23 +08:00
kdletters 0baa8cf8cc 修复退款复核与发布安全边界
补齐退款人工复核、刷新恢复、会话隔离和旧冷备导入兼容
强化真实微信退款对账开关、重复环境变量和生产发布门禁
优化公开作品资产授权查询并保持实时撤销语义
统一后台微信渠道、退款追回流水和画布正式资源测试契约
补齐生成与素材侧栏回归测试
2026-07-14 16:31:22 +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 95d6bc2ae7 接入外部 OpenAPI 与 API Key 管理
新增外部编辑器 OpenAPI 路由与 openapi.json 导出

新增账号级 API Key 表、鉴权、创建、列表和撤销链路

新增个人中心开发者 API Key 管理弹窗

补充前端契约、客户端方法、测试与项目文档
2026-06-19 15:31:53 +08:00
kdletters 2fdeb34567 fix: lock recharge flow until virtual payment settles 2026-06-02 01:47:54 +08:00
kdletters f36b90ebdb feat: switch mini program recharge to virtual payment 2026-05-26 22:32:16 +08:00
kdletters 5b70ec6af7 feat: 接入微信H5与Native充值支付 2026-05-15 06:40:40 +08:00
kdletters 2801b55d2f fix: 修复微信支付回跳刷新与查单确认 2026-05-14 23:52:01 +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
JenkenB 06b8b46530 Merge branch 'master' of http://82.157.175.59:3000/GenarrativeAI/Genarrative
CI / verify (push) Has been cancelled
2026-05-05 14:58:07 +08:00
kdletters 1d9d8c2e41 feat: add analytics metric granularity query
CI / verify (push) Has been cancelled
2026-05-04 16:29:48 +08:00
Hermes Agent e847fcea6f Merge remote-tracking branch 'origin/master' 2026-05-04 03:02:49 +08:00
Hermes Agent 46d240e37d feat: add custom world opening cg contract 2026-05-04 03:02:24 +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