应用与插件生态

应用成业务,
插件成羽翼

两个独立体系,一条清晰边界:应用是可售卖的业务闭环,插件是可组合的能力增强。全部官方自研、签名分发、免编译安装——没有第三方上架,质量闭环。

两个体系

一条判别标准,两种生命周期

安装(部署级,代码落地)与绑定(站点级,业务开通)是两个独立动作——这条边界贯穿授权、计费与数据。

应用

安装包 .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:垂类 × 风格模板矩阵 —— 随框架附带

插件

阿里云短信

验证码 · 通知场景通道 —— 内置

插件

腾讯云短信

与阿里云同一通道语义,二选一启用 —— 内置

应用

预约

日历排期 · 核销 · 提醒

应用

知识付费

课程 · 专栏 · 虚拟交付

插件

订阅消息

小程序订阅消息真投递通道

插件

支付通道扩展

注册表接入新收单渠道

插件

打印驱动扩展

更多云打印品牌接入(易联云已内置)

标注「随框架附带 / 内置」的条目现已可用;其余为规划方向,以官方云实际上架为准。

生意怎么算?

框架一次买断、应用按站授权、插件按部署买断——三种计费,一页说清。