Skip to content

移动端与装修

插件可以同时扩展租户后台、PC 前台、移动端和装修组件。本页说明插件如何参与 UniApp 构建和页面装修。

移动端分包

插件移动端源码放在:

text
server/plugins/{code}/uniapp/
├── api/
└── pages/

manifest 中声明分包:

json
{
  "uniapp": {
    "subpackage": "modules/demo-shop",
    "pages": [
      { "path": "pages/product-list/index", "title": "商品列表" },
      { "path": "pages/product-detail/index", "title": "商品详情" }
    ],
    "allowHome": true,
    "allowTabBar": true
  }
}

租户发起移动端构建时,系统会:

  1. 复制基础 uniapp/ 主壳。
  2. 根据租户权益筛选插件。
  3. 复制已授权插件的 uniapp/ 源码。
  4. 合并基础页面和插件 uniapp.pages
  5. 注入租户应用名称、图标、小程序 AppID 和 TabBar。
  6. 执行 H5、小程序或 App 构建。

未授权插件的移动端源码不会进入该租户构建产物。

页面入口

插件页面可以通过三种方式暴露给用户:

入口适用场景
首页装修组件商品列表、内容列表、营销入口
导航宫格 / 图片广告固定业务入口
TabBar高频一级入口,建议谨慎使用

如果插件只是能力扩展,不建议默认占用 TabBar。

装修组件

插件可以注册装修组件,让租户在页面装修中拖拽使用。例如:

  • 商城商品列表
  • CMS 内容列表
  • 优惠券入口
  • 活动报名卡片

装修组件应具备默认字段,避免旧页面数据升级后无法渲染。需要后端补充业务数据时,hydrator 必须检查租户权益和数据边界。

链接目录

插件页面应写入链接目录,方便装修组件、导航宫格和图片广告统一选择跳转目标。

链接应保持稳定:

  • 插件升级不要随意改变已有页面 path。
  • 页面删除时要考虑历史装修数据的降级展示。
  • 外部链接需要经过安全处理,避免注入危险协议。

构建排查

移动端构建后缺少插件页面时,按顺序检查:

  1. 插件是否已安装并启用。
  2. 当前租户套餐是否授权插件。
  3. 租户是否启用插件,或套餐是否设置自动启用。
  4. plugin.json 是否声明 uniapp.subpackageuniapp.pages
  5. server/plugins/{code}/uniapp/ 源码是否存在。
  6. pages 中的 path 是否和源码路径一致。
  7. 构建任务日志是否存在依赖安装或编译错误。

什么时候需要重新构建

需要重新构建:

  • 新增或删除插件移动端页面。
  • 修改 uniapp.pages 或分包路径。
  • 修改 TabBar 结构。
  • 修改应用图标、小程序 AppID 等 manifest 级配置。

不需要重新构建:

  • 只修改装修页面内容。
  • 只调整 Banner、导航、富文本等装修组件配置。
  • 只更新接口返回的数据内容。

基于 Apache-2.0 协议开源