跳到文档正文

MIP DESKTOP · 扩展开发

页面与贡献点

把扩展能力放到应用入口、侧栏、工作台或个人中心。

更新于 约 2 分钟

先确定用户从哪里使用扩展,再选择贡献点。打开页面的入口与工作台直接显示的卡片是两种体验。

选择入口位置

贡献点 适合的内容
contributes.views 与 webviews 可打开的扩展页面
contributes.applications 工作台常用应用或应用中心中的入口
contributes.rail 左侧侧栏中的固定入口
contributes.workbenchWidgets 直接显示在工作台内容区的轻量卡片
contributes.userCenterPanels 个人中心中的扩展面板

具体贡献点由目标 Desktop 版本决定。通过应用入口打开一个页面,不会自动生成工作台卡片或侧栏项。

声明基础页面

先建立包内 HTML,并在 Manifest 中保持一致的声明:

JSON
{
  "permissions": ["webview"],
  "contributes": {
    "views": [
      {
        "id": "mip.example.notes.home",
        "title": "便笺示例",
        "type": "webview",
        "entry": "webviews/home/index.html"
      }
    ]
  },
  "webviews": {
    "mip.example.notes.home": "webviews/home/index.html"
  }
}

View ID 应属于当前扩展,入口实际存在且位于包内。页面资源加载失败时,优先检查入口映射和 HTML 中的相对地址。

工作台与侧栏

完整业务页面适合用应用入口打开;时钟、简短摘要、轻量待办等内容适合工作台卡片。需要长期固定位置时,再考虑侧栏贡献,避免所有扩展都占据一级导航。

应用入口、侧栏和卡片分别声明,不依赖修改宿主的菜单、路由或布局文件。按目标版本的贡献字段配置位置、排序和可见性,并验证入口过滤行为。

工作台卡片涉及原生组件时,还应满足对应权限和宿主支持要求;基础第三方扩展优先使用受控 WebView。

个人中心面板

个人中心由宿主负责整体布局。扩展通过支持的插槽贡献自身面板,而不是接管整页。读取必要用户与单位信息时仍需 identity.read。

只展示当前扩展负责的内容;不要访问其他面板的 DOM、宿主 Token 或其他扩展的配置。新增面板前确认所需贡献点已进入目标发行版。

验证启停行为

安装、启用、禁用、卸载或升级扩展后,检查应用入口、侧栏和工作台是否同步变化。入口失效、资源缺失或权限不足时应能正确隐藏或明确反馈。

不要求用户通过刷新整个 Desktop 来修复扩展入口。若入口没有出现,按 常见问题 检查贡献声明、状态与版本支持。

基础契约:Extension API 1.x;具体能力以目标 Desktop 发行版为准。