应用与插件生态
应用成业务,
插件成羽翼
两个独立体系,一条清晰边界:应用是可售卖的业务闭环,插件是可组合的能力增强。全部官方自研、签名分发、免编译安装——没有第三方上架,质量闭环。
两个体系
一条判别标准,两种生命周期
安装(部署级,代码落地)与绑定(站点级,业务开通)是两个独立动作——这条边界贯穿授权、计费与数据。
应用
安装包 .tzapp
- 定义
- 独立业务闭环(商城、预约、知识付费)
- C 端形态
- 独立小程序分包,页面集合完整
- 站点关系
- 站点绑定后可用,占用租户名额
- 收费
- 按站点数授权档位,可增购叠加
- 依赖
- 应用之间彼此隔离,禁止互相依赖
插件
安装包 .tzaddon
- 定义
- 功能增强,无独立业务闭环
- C 端形态
- 通常无页面;有则挂入父应用分包
- 站点关系
- 部署级安装,站点开关即用
- 收费
- 按部署一次买断,不占名额
- 依赖
- 可依赖父应用与其他插件(semver)
包规范
一个包,四端齐备
后端模块、站点后台页面、小程序分包、装修组件——一个签名包内全部备齐。 路由自动加前缀,业务表统一 app_{key}_ 前缀, 模型强制站点隔离。
app-shop-1.0.0.tzapp
├── info.json # key / version / min_framework
├── App.php # install · upgrade · onSiteBind
├── server/ # PSR-4: apps\shop\
├── migrations/ # 幂等迁移 · {{prefix}} 占位
├── menu.json # 后台菜单 + 按钮权限点
├── hooks.php # 事件订阅注册
├── trade.json # 业务交易类型声明
├── diy/components.json # 装修组件 schema
├── admin-dist/ # 预编译 ESM · 运行时加载
├── uniapp/ # 小程序分包源码(云构建)
└── signature.json # Ed25519 官方签名事件与扩展点
经由事件协作,而非互相引用
应用之间禁止 import,跨应用协作只走事件总线:同步 filter 事件可修改载荷(支付方式过滤、价格干预),异步 action 事件入 Redis 队列消费。扩展点是公共 API,主版本内保持兼容。
addon/seckill/hooks.php订阅即介入
// hooks.php — 订阅内核扩展点return ['pay.paid' => [OrderPaidListener::class, 10],'member.register' => [GiveCouponListener::class, 5],'pay.ways.filter' => [SeckillPayFilter::class, 20],];
同步 filter
按 priority 顺序执行,可修改并返回载荷
异步 action
Redis 队列至少一次投递,监听器幂等
官方商店
官方商店,自研自卖
平台后台内置商店:浏览、购买、安装、更新一站完成。没有第三方上架,每一个包都由官方开发、签名与维护。
应用
商城
多规格商品 · 订单 · 售后
应用
预约
日历排期 · 核销 · 提醒
应用
知识付费
课程 · 专栏 · 虚拟交付
应用
外卖点餐
堂食 · 外送 · 小票联动
插件
商城 · 秒杀
限时限量 · 支付过滤
插件
商城 · 分销
多级返佣 · 提现审核
插件
阿里云短信
验证码 · 通知场景通道
插件
支付通道扩展
注册表接入新收单渠道
插件
小票打印
订单事件驱动出单
商店条目为规划示例;首发清单以官方云实际上架为准。