应用与插件生态
应用成业务,
插件成羽翼
两个独立体系,一条清晰边界:应用是可售卖的业务闭环,插件是可组合的能力增强。全部官方自研、签名分发、免编译安装——没有第三方上架,质量闭环。
两个体系
一条判别标准,两种生命周期
安装(部署级,代码落地)与绑定(站点级,业务开通)是两个独立动作——这条边界贯穿授权、计费与数据。
应用
安装包 .tzapp
- 定义
- 独立业务闭环(商城、预约、知识付费)
- C 端形态
- 独立小程序分包,页面集合完整
- 站点关系
- 站点绑定后可用,占用租户名额
- 收费
- 按站点数授权档位,可增购叠加
- 依赖
- 应用之间彼此隔离,禁止互相依赖
插件
安装包 .tzaddon
- 定义
- 功能增强,无独立业务闭环
- C 端形态
- 通常无页面;有则挂入父应用分包
- 站点关系
- 部署级安装,站点开关即用
- 收费
- 按部署一次买断,不占名额
- 依赖
- 可依赖父应用与其他插件(semver)
包规范
一个包,声明即接入
后端模块、管理端页面、装修组件,加上搜索 / 导出 / 海报 / 待办 / 功能开关 等横向能力——全部以声明式文件接入,安装挂载、卸载回收、零残留。 路由自动加前缀,业务表统一前缀,模型强制站点隔离;C 端页面在 uni-app 工作区随云构建按站点绑定集合出包。
shop-1.0.0.tzapp ├── info.json # key / version / min_framework ├── features.json # 功能开关贡献(FeatureGate) ├── trade.json # 业务交易类型声明 ├── menu.json # 后台菜单 + 按钮权限点 ├── server/ # PSR-4: apps\shop\ · App.php 生命周期 │ └── hooks.php # 事件订阅注册 ├── admin/ # 免编译 ESM 管理页 + routes.json ├── diy/components.json # 装修组件 schema ├── search/providers.json # 全局搜索域贡献 ├── export/sources.json # 导出数据源贡献 ├── poster/scenes.json # 海报场景贡献 ├── workbench/todos.json # 工作台待办贡献 └── signature.json # Ed25519 官方签名
事件与扩展点
经由事件协作,而非互相引用
应用之间禁止 import,跨应用协作只走事件总线:同步 filter 事件可修改载荷(支付方式过滤、价格干预),异步 action 事件入 Redis 队列消费。扩展点是公共 API,主版本内保持兼容。
addon/seckill/hooks.php订阅即介入
// server/hooks.php — 订阅内核扩展点return ['pay.paid' => [[OrderPaidListener::class, 100]],'member.registered' => [[GiveCouponListener::class, 100]],'pay.ways.filter' => [[SeckillPayFilter::class, 20]],];
同步 filter
按 priority 顺序执行,可修改并返回载荷
异步 action
Redis 队列至少一次投递,监听器幂等
官方商店
官方商店,自研自卖
平台后台内置商店:浏览、购买、安装、更新一站完成。没有第三方上架,每一个包都由官方开发、签名与维护。
应用
商城
商品 · 订单 · 优惠券 · 秒杀拼团砍价 · 自助售后 —— 随框架附带
应用
创意工坊
视觉 AIGC:垂类 × 风格模板矩阵 —— 随框架附带
插件
阿里云短信
验证码 · 通知场景通道 —— 内置
插件
腾讯云短信
与阿里云同一通道语义,二选一启用 —— 内置
应用
预约
日历排期 · 核销 · 提醒
应用
知识付费
课程 · 专栏 · 虚拟交付
插件
订阅消息
小程序订阅消息真投递通道
插件
支付通道扩展
注册表接入新收单渠道
插件
打印驱动扩展
更多云打印品牌接入(易联云已内置)
标注「随框架附带 / 内置」的条目现已可用;其余为规划方向,以官方云实际上架为准。