移动端与装修
插件可以同时扩展租户后台、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
}
}租户发起移动端构建时,系统会:
- 复制基础
uniapp/主壳。 - 根据租户权益筛选插件。
- 复制已授权插件的
uniapp/源码。 - 合并基础页面和插件
uniapp.pages。 - 注入租户应用名称、图标、小程序 AppID 和 TabBar。
- 执行 H5、小程序或 App 构建。
未授权插件的移动端源码不会进入该租户构建产物。
页面入口
插件页面可以通过三种方式暴露给用户:
| 入口 | 适用场景 |
|---|---|
| 首页装修组件 | 商品列表、内容列表、营销入口 |
| 导航宫格 / 图片广告 | 固定业务入口 |
| TabBar | 高频一级入口,建议谨慎使用 |
如果插件只是能力扩展,不建议默认占用 TabBar。
装修组件
插件可以注册装修组件,让租户在页面装修中拖拽使用。例如:
- 商城商品列表
- CMS 内容列表
- 优惠券入口
- 活动报名卡片
装修组件应具备默认字段,避免旧页面数据升级后无法渲染。需要后端补充业务数据时,hydrator 必须检查租户权益和数据边界。
链接目录
插件页面应写入链接目录,方便装修组件、导航宫格和图片广告统一选择跳转目标。
链接应保持稳定:
- 插件升级不要随意改变已有页面 path。
- 页面删除时要考虑历史装修数据的降级展示。
- 外部链接需要经过安全处理,避免注入危险协议。
构建排查
移动端构建后缺少插件页面时,按顺序检查:
- 插件是否已安装并启用。
- 当前租户套餐是否授权插件。
- 租户是否启用插件,或套餐是否设置自动启用。
plugin.json是否声明uniapp.subpackage和uniapp.pages。server/plugins/{code}/uniapp/源码是否存在。pages中的 path 是否和源码路径一致。- 构建任务日志是否存在依赖安装或编译错误。
什么时候需要重新构建
需要重新构建:
- 新增或删除插件移动端页面。
- 修改
uniapp.pages或分包路径。 - 修改 TabBar 结构。
- 修改应用图标、小程序 AppID 等 manifest 级配置。
不需要重新构建:
- 只修改装修页面内容。
- 只调整 Banner、导航、富文本等装修组件配置。
- 只更新接口返回的数据内容。
