# preview-center 规范
定义预览首页这一项能力:插件元数据如何转换为可浏览的菜单、预览区块、线上菜单补充信息,以及不同分类在预览体验中的呈现方式。
src/plugins/preview.vue 作为预览中心主入口basic、caseCenter、Tvtstore、zoneEditor 的分类规则getOnlinePluginConfig 驱动的线上菜单补充逻辑qiankun、小程序或 uni-app 容器如何嵌入页面src/plugins/preview.vuesrc/common/utils.jssrc/stores/forPreview.jssrc/components/forPreview/cardList.vuesrc/components/forPreview/filterComFixed.vuesrc/components/forPreview/oneImageQr.vue预览中心 SHALL 按稳定规则对插件进行分类:basic 作为基础功能分组专区;未声明 tvtstore 的普通插件归入 caseCenter;声明了 tvtstore 且插件名以 zone 开头的插件归入 zoneEditor;声明了 tvtstore 且插件名不以 zone 开头的插件归入 Tvtstore。
basictvtstorecaseCentertvtstorezone 开头zoneEditortvtstorezone 开头Tvtstore预览中心 SHALL 将分类结果体现在左侧菜单、内容分区和计数统计中。basic 的计数 SHALL 汇总其 child[].preview 数量;其他分类插件的计数 SHALL 基于顶层 preview.length 计算。
basic 插件存在多个 child 分组child[].preview 的总数previewpreview.length预览中心 MAY 从线上接口补充插件菜单信息,但本地代码配置 SHALL 始终是事实源。线上数据只允许补充本地缺失的插件条目或预览项,不得覆盖本地已有同名预览项。
preview.name当前 getOnlinePluginConfig 驱动的线上补充 SHALL 仅作用于普通案例插件集合。basic 分组以及声明了 tvtstore 的插件市场/区域场景编辑器条目 SHALL 继续完全以本地配置为准,不走这条线上合并路径。
basic 相关菜单数据basic 分组 SHALL 继续以本地 child[].preview 配置为准basic 条目tvtstore预览中心 SHALL 将远程 menuSetup 标签数据与本地插件结构分开处理。远程标签数据可以驱动左侧徽标、预览卡片标记、筛选条件与编辑器提示,但 SHALL 不直接替换本地 pluginsConfig 中的插件结构与条目来源。
menuSetup 将某个预览项标记为 editoreditor 徽标当线上菜单补充引入了本地尚未同步的插件或预览项时,预览中心 SHALL 通过 waitForGit 等标记和提示文案向用户展示“线上已更新、本地待同步”的状态。这一提示属于预览中心的正式 UI 行为,而不是独立运维说明。
预览中心的筛选、哈希跳转、分区滚动定位和分类展示 SHALL 被视为正式行为,不应视为偶然实现细节。后续若要调整这些行为,应先更新规范。