src/plugins/preview.vue 当前按下面规则分类:
basic -> 基础功能分组区tvtstore 未声明 -> caseCentertvtstore 已声明且插件名以 zone 开头 -> zoneEditortvtstore 已声明且插件名不以 zone 开头 -> Tvtstore计数方式:
basic 汇总所有 child[].preview.lengthpreview.length不要把下面两条远程链路混为一谈:
menuSetup
src/app.jsx 触发FES_APP_PLUGINS=true 时执行,或显式开启 FES_APP_ONLINE_API 时执行getOnlinePluginConfig()
src/plugins/preview.vue 触发FES_APP_PLSNAME 时执行,或显式开启 FES_APP_ONLINE_API 时执行getOnlinePluginConfig() 的范围是收敛过的:
basictvtstore 的插件waitForGit这意味着插件市场和区域编辑器条目即使线上存在数据,也仍以本地配置为准。
行为由 cardList.vue、oneImageQr.vue、suspenseLayout.vue 共同决定:
type: img -> 图片卡片type: text -> 文本卡片type: video -> 视频卡片url -> 直接跳转到声明目标url -> 跳本地 /plugins/... 路由disableFPSGraph -> 在路由预览页隐藏 FPS 面板disableSrcBtn -> 在路由预览页隐藏源码按钮referenceSource -> 在路由预览页显示参考出处oneImageQr.vue 只有在具备线上 API 相关行为时才会显示二维码浮层。
需要注意:
url 会刻意跳过二维码预览,例如插件市场和 bilibili 链接url 型条目,也仍然需要稳定的 namehttps://... 预览图是合法用法这些交互要视为正式行为,不是偶然实现:
menuSetupeditor 标签主要改变卡片侧的行为,不会重写插件结构本身