Merge remote-tracking branch 'origin/codex/wooden-fish-template'

This commit is contained in:
kdletters
2026-05-22 08:09:58 +08:00
617 changed files with 31612 additions and 237 deletions

View File

@@ -182,17 +182,8 @@ fn seed_creation_entry_config_if_missing(ctx: &ReducerContext) {
migrate_rpg_entry_from_old_hidden_default(ctx, now);
migrate_visual_novel_entry_from_old_visible_default(ctx, now);
migrate_bark_battle_entry_to_open_default(ctx, now);
migrate_coming_soon_entry_from_old_open_default(
ctx,
now,
ComingSoonEntryDefault {
id: "baby-object-match",
title: "宝贝识物",
subtitle: "亲子识物分类",
image_src: "/child-motion-demo/picture-book-grass-stage.png",
sort_order: 90,
},
);
migrate_baby_object_match_entry_from_old_coming_soon_default(ctx, now);
migrate_wooden_fish_entry_from_old_puzzle_image_default(ctx, now);
}
fn migrate_rpg_entry_from_old_hidden_default(ctx: &ReducerContext, now: Timestamp) {
@@ -284,33 +275,24 @@ fn migrate_visual_novel_entry_from_old_visible_default(ctx: &ReducerContext, now
});
}
struct ComingSoonEntryDefault {
id: &'static str,
title: &'static str,
subtitle: &'static str,
image_src: &'static str,
sort_order: i32,
}
fn migrate_coming_soon_entry_from_old_open_default(
fn migrate_baby_object_match_entry_from_old_coming_soon_default(
ctx: &ReducerContext,
now: Timestamp,
target: ComingSoonEntryDefault,
) {
let id = target.id.to_string();
let id = "baby-object-match".to_string();
let Some(row) = ctx.db.creation_entry_type_config().id().find(&id) else {
return;
};
// 中文注释:只把旧默认开放种子纠偏为敬请期待,不覆盖后台手动维护过的入口配置
let still_old_open_default = row.title == target.title
&& row.subtitle == target.subtitle
&& row.badge == "可创建"
&& row.image_src == target.image_src
// 中文注释:宝贝识物已接入完整创作发布链路,只纠偏历史默认敬请期待种子
let still_old_coming_soon_default = row.title == "宝贝识物"
&& row.subtitle == "亲子识物分类"
&& row.badge == "敬请期待"
&& row.image_src == "/child-motion-demo/picture-book-grass-stage.png"
&& row.visible
&& row.open
&& row.sort_order == target.sort_order;
if !still_old_open_default {
&& !row.open
&& row.sort_order == 90;
if !still_old_coming_soon_default {
return;
}
@@ -318,8 +300,36 @@ fn migrate_coming_soon_entry_from_old_open_default(
.creation_entry_type_config()
.id()
.update(CreationEntryTypeConfig {
badge: "敬请期待".to_string(),
open: false,
badge: "可创建".to_string(),
open: true,
updated_at: now,
..row
});
}
fn migrate_wooden_fish_entry_from_old_puzzle_image_default(ctx: &ReducerContext, now: Timestamp) {
let id = "wooden-fish".to_string();
let Some(row) = ctx.db.creation_entry_type_config().id().find(&id) else {
return;
};
// 中文注释:只替换敲木鱼旧默认入口图,不覆盖后台手动设置过的其它展示信息。
let still_old_puzzle_image_default = row.title == "敲木鱼"
&& row.subtitle == "点击祈福轻玩法"
&& row.badge == "可创建"
&& row.image_src == "/creation-type-references/puzzle.webp"
&& row.visible
&& row.open
&& row.sort_order == 47;
if !still_old_puzzle_image_default {
return;
}
ctx.db
.creation_entry_type_config()
.id()
.update(CreationEntryTypeConfig {
image_src: "/wooden-fish/default-hit-object.png".to_string(),
updated_at: now,
..row
});