suzmii
959ed4fd53
合并 origin/master(51cb05f41,22 个提交)到 feat/game-purchase
- 逐块合并 server-rs/crates/api-server/src/modules/game_distribution.rs:以 master 的 ReleaseAssetResponseInput / 5 参 release_asset_response_with_cache / ETag / 304 / gzip 结构为准,并在其上保留本分支的付费 404 守卫(price_mud_points > 0 仍在 release_package_bytes 读包之前返回);播放会话资源响应改用同一结构(etag None、cache_control no-store、沿用 accept-encoding 协商)。
- 合并 src/components/game-distribution/GamePlayPage.tsx:接入 master 的共享 PlatformGameLoadingSurface 与 PLATFORM_GAME_LOADING_TIMEOUT_MS,删除本地重复常量 GAME_PLAY_STARTUP_TIMEOUT_MS 与裸 div,买断制播放会话准备态改由共享加载面承载。
- 合并 src/components/game-distribution/GameDetailPage.tsx:同时保留 master 的 onOpenCreator 作者插槽与本分支的买断制购买弹窗、onOpenRecharge 充值入口。
- 合并 vite.config.ts:保留 master 的 /api/creators 代理,并保留 play-sessions 前缀清 Cookie 规则(顺序仍在通用 /api/game-distribution 之前)。
- 合并 deploy/nginx/README.md:保留 master 的 SPA allowlist 门禁口径(含 /creators、/creators/connections)与本分支的播放会话前缀章节;三份 nginx 模板的 ^~ play-sessions location 与清 Cookie 原样保留。
- 合并 apps/admin-web/src/pages/AdminGameDistributionReviewPage.test.tsx:保留 master 的加载面/超时用例与本分支的审核价格(冻结价优先、历史按 0)用例。
- 合并 src/components/game-distribution/GameDistributionPages.test.tsx:保留双方 mock,并新增「付费作品在会话签发期间显示共享加载面」用例。
- 合并 docs/【玩法创作】平台入口与玩法链路-2026-05-15.md(保留买断制合同并回填 master 的创作者主页与关注粉丝合同)、decision-log.md、pitfalls.md:追加双方条目,不改写任一侧正文。
- 保留 master 侧新增能力:release_asset_etag / if_none_match_matches / accepts_gzip_encoding / gzip_release_asset / release_asset_not_modified_response、SPA 加载面、创作者主页与关注粉丝(user_follow 表、creator 查询与 author_id 过滤)。
2026-10-06 00:28:36 +08:00
..
2026-09-29 07:19:00 +08:00
2026-05-15 11:52:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-01 16:30:40 +08:00
2026-09-23 00:09:12 +08:00
2026-09-21 16:25:35 +08:00
2026-09-21 16:25:35 +08:00
2026-09-01 16:28:34 +08:00
2026-09-15 19:43:35 +08:00
2026-09-01 16:28:34 +08:00
2026-10-04 15:49:34 +08:00
2026-08-12 14:46:24 +08:00
2026-08-27 17:10:17 +08:00
2026-09-28 19:35:22 +08:00
2026-09-28 22:30:15 +08:00
2026-09-15 19:43:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-13 16:21:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-28 19:52:16 +08:00
2026-10-06 00:28:36 +08:00
2026-09-28 19:20:21 +08:00
2026-10-05 17:14:32 +08:00
2026-09-28 18:58:38 +08:00
2026-09-28 21:13:50 +08:00
2026-10-05 18:17:18 +08:00
2026-10-01 19:19:58 +08:00
2026-10-01 19:19:58 +08:00
2026-10-02 17:06:46 +08:00
2026-09-28 18:44:16 +08:00
2026-09-28 18:44:16 +08:00
2026-09-28 21:34:24 +08:00
2026-09-28 20:52:54 +08:00
2026-09-30 13:24:55 +08:00
2026-09-28 20:21:34 +08:00
2026-09-28 20:37:48 +08:00
2026-10-03 15:40:21 +08:00
2026-09-22 12:42:27 +08:00
2026-07-22 15:57:22 +08:00
2026-08-13 14:01:34 +08:00
2026-08-05 21:28:40 +08:00
2026-10-04 15:49:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-05 17:53:51 +08:00
2026-10-04 03:25:54 +08:00
2026-09-20 16:35:04 +08:00
2026-09-20 16:35:04 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-07-17 22:07:52 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-06-17 23:00:28 +08:00
2026-09-01 16:28:34 +08:00
2026-06-17 20:16:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-05 17:53:51 +08:00
2026-09-01 16:28:34 +08:00
2026-06-17 20:16:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-05 17:53:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-03 11:38:40 +08:00
2026-09-29 07:19:00 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-07-23 18:06:29 +08:00
2026-10-05 11:47:55 +08:00
2026-09-16 10:35:07 +08:00
2026-08-27 17:10:17 +08:00
2026-09-01 16:28:34 +08:00
2026-09-03 12:57:01 +08:00
2026-09-23 11:46:39 +08:00
2026-09-23 11:46:39 +08:00
2026-09-01 16:28:34 +08:00
2026-07-13 13:39:59 +08:00
2026-08-07 19:22:46 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 17:19:11 +08:00
2026-09-01 16:28:34 +08:00
2026-09-15 19:43:35 +08:00
2026-09-21 21:09:34 +08:00
2026-07-10 18:28:06 +08:00
2026-10-02 11:03:11 +08:00
2026-10-02 11:03:11 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-06-03 22:11:46 +08:00
2026-09-09 20:08:04 +08:00
2026-09-09 20:08:04 +08:00
2026-09-14 18:15:12 +08:00
2026-09-16 07:09:12 +08:00
2026-09-22 11:23:46 +00:00
2026-09-22 11:23:46 +00:00
2026-10-02 15:23:12 +08:00
2026-05-26 00:13:08 +08:00
2026-09-15 19:43:35 +08:00
2026-09-15 19:43:35 +08:00
2026-09-15 19:43:35 +08:00
2026-09-01 16:28:34 +08:00
2026-09-27 23:01:33 +08:00
2026-09-22 14:40:55 +00:00
2026-10-02 15:23:12 +08:00
2026-09-22 11:45:22 +00:00
2026-09-22 17:19:11 +08:00
2026-07-20 20:56:36 +08:00
2026-06-19 21:38:07 +08:00
2026-05-02 17:04:11 +08:00
2026-06-05 16:14:30 +08:00
2026-08-23 04:11:18 +08:00
2026-05-15 17:10:07 +08:00
2026-09-03 11:38:40 +08:00
2026-10-01 18:37:46 +08:00
2026-08-12 22:06:35 +08:00
2026-09-20 16:35:04 +08:00
2026-09-12 19:44:18 +08:00
2026-09-20 16:35:04 +08:00
2026-10-02 15:23:12 +08:00
2026-09-15 19:43:35 +08:00
2026-09-01 16:28:34 +08:00
2026-09-28 22:27:18 +08:00
2026-09-28 22:27:18 +08:00
2026-08-12 22:06:35 +08:00
2026-08-27 17:10:17 +08:00
2026-08-15 17:18:10 +08:00
2026-10-04 15:49:34 +08:00
2026-07-13 13:39:59 +08:00
2026-06-30 17:12:13 +08:00
2026-07-17 16:56:46 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-08-22 11:52:14 +08:00
2026-08-22 11:52:14 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-08-24 21:44:44 +08:00
2026-10-03 14:48:54 +08:00
2026-09-10 20:00:58 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-07-17 16:56:46 +08:00
2026-08-27 21:46:56 +08:00
2026-09-01 16:28:34 +08:00
2026-08-28 17:09:02 +08:00
2026-08-27 22:18:16 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-16 07:05:55 +08:00
2026-08-06 16:57:38 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 11:45:22 +00:00
2026-10-02 16:55:49 +08:00
2026-09-22 14:40:55 +00:00
2026-09-22 17:19:11 +08:00
2026-10-05 22:05:11 +08:00
2026-10-05 22:05:11 +08:00
2026-09-15 19:43:35 +08:00
2026-09-30 14:52:02 +08:00
2026-09-01 16:28:34 +08:00
2026-10-04 12:53:17 +08:00