7.3 KiB
7.3 KiB
寓教于乐发现页临时入口设计
日期:2026-05-09
适用范围:平台入口发现页、儿童动作识别娱乐教育内容线临时入口
文档性质:产品与前端落地边界
1. 目标
为儿童动作识别娱乐教育内容线提供一个临时入口。
入口放置在平台“发现”页面内,作为独立标签展示,标签名称为:
寓教于乐
后续生产的该内容线模板和游戏关卡,都放置在“寓教于乐”独立标签下。
该内容线当前只覆盖儿童动作识别 Demo 内容。后续创作环节需要继续对该板块内容做区分和独立管理,不把普通公开作品仅凭近似教育题材自动归入本板块。
2. 展示边界
寓教于乐内容不直接展示在以下位置:
- 推荐页;
- 发现页的推荐标签;
- 发现页的今日标签;
- 发现页的分类标签;
- 发现页的排行标签;
- 发现页搜索结果。
寓教于乐内容只在“发现 / 寓教于乐”标签下展示。
“寓教于乐”标签在发现页频道列表中放在最后,桌面端和移动端都显示。移动端访问该内容线的动作识别 Demo 时,需要提示横屏体验。
3. 开关规则
该入口需要支持灵活开关。
开关打开时:
- 发现页显示“寓教于乐”标签;
- “寓教于乐”标签下展示该内容线内容;
- 该内容线内容仍不进入推荐、今日、分类、排行和搜索结果。
开关关闭时:
- 发现页隐藏“寓教于乐”标签;
- 隐藏“寓教于乐”标签下内容;
- 该内容线内容不进入推荐、今日、分类、排行和搜索结果;
- 该内容线内容完全不可见,公开作品搜索、作品号搜索直达、公开详情深链、浏览历史入口、创作入口和创作页作品架等平台入口都不能打开或展示该内容。
4. 内容识别规则
临时阶段使用作品标签识别寓教于乐内容。
当公开作品标签中存在一个精确等于以下文本的标签:
寓教于乐
则该作品归入寓教于乐内容线。
识别规则为精确匹配,不做包含匹配,不兼容空格、大小写变体或同义标签,例如“教育”“儿童教育”“动作教育”都不视为寓教于乐内容。
关闭开关时,即使作品具备精确的“寓教于乐”标签,也不允许通过任何平台公开展示入口或搜索入口访问。
5. 技术落地边界
本次只做前端入口和前端展示过滤,不新增后端接口。
前端通过功能开关控制入口显隐。
开关环境变量:
VITE_ENABLE_EDUTAINMENT_ENTRY
默认开启。
当该变量显式配置为以下值时,入口关闭:
false
0
off
no
6. 验收点
- 开关打开时,发现页显示“寓教于乐”标签。
- 开关关闭时,发现页不显示“寓教于乐”标签。
- 带有“寓教于乐”标签的公开作品不进入推荐页。
- 带有“寓教于乐”标签的公开作品不进入发现页推荐、今日、分类、排行和搜索结果。
- 带有“寓教于乐”标签的公开作品只在“发现 / 寓教于乐”标签下展示。
- “寓教于乐”标签位于发现页频道列表最后,桌面端和移动端均可见。
- 开关关闭后,带有“寓教于乐”标签的公开作品不可通过作品号搜索、公开详情深链或浏览历史入口打开。
- 标签识别只接受精确等于“寓教于乐”的作品标签,近似标签不归入该内容线。
7. 待补充事项
“寓教于乐”标签下暂无内容时的空状态文案待定。落地时可先复用平台现有空状态组件,但不新增功能说明类长文案。
8. 第 1-2 项工程落地状态
第 1 项“发现页入口与过滤”和第 2 项“搜索 / 深链 / 历史入口拦截”已进入前端落地阶段,当前实现口径如下:
- 入口开关由
VITE_ENABLE_EDUTAINMENT_ENTRY控制,默认开启,显式配置false、0、off、no时关闭。 - 内容识别集中在
src/components/platform-entry/platformEdutainmentVisibility.ts,只读取公开作品原始themeTags,且只接受精确等于“寓教于乐”的标签。 src/components/rpg-entry/RpgEntryHomeView.tsx已在发现页频道末尾追加“寓教于乐”频道,并将该类作品从推荐、今日、分类、排行、搜索、本地搜索兜底和桌面推荐模块中过滤。src/components/platform-entry/PlatformEntryFlowShellImpl.tsx已复用同一过滤 helper,避免推荐运行态自动启动寓教于乐作品,并在公开详情、作品号直达和公开详情深链等公开入口保留不可见保护。- 浏览历史入口会优先按当前公开作品集合匹配作品标签;匹配到“寓教于乐”作品且开关关闭时不再展示历史入口。
/child-motion-demo本地动作 Demo 直达路由也复用同一开关;开关关闭时不匹配独立 Demo 应用,回落到主站入口。宝贝识物创作入口和创作页作品架也复用同一开关;开关关闭时不展示模板入口,也不展示本地宝贝识物草稿或已发布卡片。- 定向回归覆盖在
src/components/rpg-entry/RpgEntryHomeView.recharge.test.tsx、src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx、src/components/platform-entry/platformEdutainmentVisibility.test.ts、src/components/platform-entry/platformEntryCreationTypes.test.ts和src/routing/appRoutes.test.ts,包含频道顺序、开关关闭、普通列表过滤、搜索过滤、作品号直达拦截、Demo 直达路由拦截、创作入口隐藏和精确标签识别。
9. 第 4 项作品架 / 广场接入边界
宝贝识物 首关的公开作品展示接入按以下口径收口:
- 平台公共作品模型新增
sourceType = edutainment,当前只承接templateId = baby-object-match、templateName = 宝贝识物。 宝贝识物作品仍必须携带精确等于“寓教于乐”的公开标签,才会进入“发现 / 寓教于乐”频道。宝贝识物不因为模板名自动归入寓教于乐,也不因为近似标签归入寓教于乐。- 第 4 项只负责公开作品卡片、发现页专属频道、公开详情、分享作品号和开关隐藏保护。
- 创作模板、image-2 资产生成、发布接口、运行时开始游戏和关卡状态由对应线程接入;当前公共作品卡直接透传后续数据源提供的
publicWorkCode,不在前端新增最终作品号前缀规则。 - 在创作和运行时链路真正接入前,公开详情内的启动、改造、编辑和点赞只做保护性占位,不新增玩法规则。
当前工程落点:
src/components/rpg-entry/rpgEntryWorldPresentation.ts定义PlatformEdutainmentGalleryCard与isEdutainmentGalleryEntry。src/components/rpg-entry/RpgEntryHomeView.tsx将宝贝识物卡片识别为寓教于乐公开作品,并继续从推荐、今日、分类、排行和搜索结果中过滤。src/components/platform-entry/PlatformWorkDetailView.tsx在公开详情中显示宝贝识物类型标签,并继续复用作品号复制和分享链路。src/components/platform-entry/PlatformEntryFlowShellImpl.tsx已识别edutainment公共作品,避免落入 RPG 默认详情、推荐运行态或错误的改造链路。