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