入门

这套框架是什么

一套装在你自己服务器上的小程序 SaaS 框架。本章讲清部署方、租户、站点、顾客这四层怎么套起来,三个后台分别归谁用,以及你该从哪几章读起。

先说一句话

Tenraft 是一套可私有化部署的小程序 SaaS 框架。你把它装在自己的服务器上,从此这台服务器可以同时承载很多个互不相干的小程序 / H5:数据存在你的库里,域名是你的,后台贴的是你的牌子。

它和「给某个客户做一个小程序」的区别,在于第二个客户来的时候你不用再做一遍。同一套部署里再开一个经营单元就行——会员、订单、装修内容各自独立,配置各配各的,谁也看不见谁的数据。

为了让这件事成立,框架替你兜住了三件麻烦事:把不同客户的数据彻底隔开;把「这个客户能用哪些功能、能开几个站、每月能发多少条短信」变成后台可配的开关;把小程序从装修、配收款、到提交审核发布做成后台点几下的事——服务器上不需要装前端工具链。

四层:你 → 租户 → 站点 → 顾客

这四层是理解后面所有章节的地基。它不是抽象的分类法,而是你每天在后台点来点去时真实的层级:

一套部署里的层级

你(部署方)—— 一台服务器,一套 Tenraft

├─ 租户 A:一家连锁餐饮公司(你的客户)

│ ├─ 站点:城东店小程序

│ │ └─ 顾客:在城东店注册的会员

│ └─ 站点:城西店小程序

│ └─ 顾客:在城西店注册的会员

└─ 租户 B:一家美妆品牌(你的客户)

└─ 站点:品牌商城

└─ 顾客:品牌商城的会员

这一层是谁在哪里管数量关系
部署方(也就是你)买下框架、把它装在自己服务器上的人平台后台 /admin/platform一套部署只有一个
租户你的客户。一个租户可以开多个站点租户后台 /admin/tenant任意多个;只能由你在「租户管理」里创建,没有自助注册入口
站点客户名下的每个小程序或门店,一个独立经营单元站点后台 /admin/site一个租户下可开多个;数量受「站点数量上限」约束,不设即不限
顾客(在后台叫会员)打开小程序、下单付款的终端用户站点后台 → 会员按站点隔离:同一个人在两个站点是两个互不相干的会员

每往下一层,可见范围就收窄一次:你在平台后台看得见所有租户和所有站点;租户只看得见自己名下的站点;站点后台里的人只看得见这一个站点的会员、交易和内容。这条线是数据隔离的线,也是收费的线——你按站点向客户收钱,正是因为站点才是那个独立经营、独立算账的单位。

三个后台,分别是谁在用

四层里有三层需要有人登录管理,对应三个后台。它们是同一个管理端的三个入口,但账号体系和可见内容完全不同:

后台谁登录主要管什么
平台后台 /admin/platform你和你的同事(平台管理员账号)客户:租户、站点、名额、套餐、功能开关、计费订单 | 产品:应用商店与要接入的第三方服务 | 团队:管理员与角色权限 | 系统:平台设置、备份恢复、框架升级、日志等
租户后台 /admin/tenant客户的所有者账号,以及所有者建的员工账号我的站点、名额概览、订阅与账单;所有者另有员工管理、站点角色,以及品牌设置(需你在平台侧放开自定义品牌)
站点后台 /admin/site同上,选定某一个站点之后进入这一个站点的日常经营:会员、营销、交易、内容、触达、AI、应用中心,以及只需配一次的设置

从最上面一路走到最下面,是这样一条链:

  1. 1

    你登录平台后台

    浏览器打开 /admin/platform,用平台管理员账号登录,页面上写着「登录到平台后台」。这是整套部署的最高管理端,只有你和你授权的同事能进。

  2. 2

    你建一个租户,把账号交给客户

    客户 → 租户管理 → 新建租户。填的手机号会直接作为所有者的登录用户名,密码由系统随机生成,可以一键复制(连登录地址一起)发给客户。客户第一次登录、或者被你重置过密码之后,会被要求先改密码才能进后台。

  3. 3

    客户在租户后台建站

    客户登录 /admin/tenant,在「我的站点」点「新建站点」,填名称即可。站点建好之前,客户手里其实没有可经营的东西——站点才是装内容、收钱、发小程序的地方。

  4. 4

    进入站点后台开始经营

    在站点那一行点「进入站点」,页面就切到该站点的站点后台。顶栏有「切换站点」可以在多家店之间来回,用户菜单里有「返回租户后台」原路退回。

应用与插件:站点为什么是那个收费单位

站点建出来之后,本身就已经能用不少东西:会员与等级标签、页面装修、交易流水、文章、公众号运营、通知与短信、AI 生图出片——这些是框架自带的,不额外占任何名额。真正让站点「变成一门具体生意」的,是应用

应用插件
是什么一门完整的生意,自带顾客端页面。例如商城、万能表单、AI 创意工坊、AI 助手、分销推广给已有功能加一条路子,通常没有自己的顾客端页面。例如短信通道、支付通道、地图服务、云打印、对象存储、AI 模型接入
从哪来平台后台 → 产品 → 应用商店,上架 / 安装 / 升级同上,在应用商店里一起管
怎么才生效站点必须绑定它,绑定要消耗一枚名额装在部署上就可用,不占名额;站点侧只是开关与填凭证

名额是怎么流转的:你购买应用授权 → 名额进入这套部署的部署池 → 你在「名额管理」把名额划拨给某个租户 → 租户拿它去绑定站点,一绑就占一枚 → 站点解绑,这枚名额进入冷却期(默认 30 天),冷却期内只能绑回原来那个站点,不能挪给别家。冷却结束后才回到该租户的可用额度里。

顺带说清两层账的关系:官方按应用名额向你收费,你按自己定的套餐向租户收费,两层互不干涉。套餐卖什么价、含哪些应用名额和功能额度,全在平台后台的「套餐管理」里由你自己定义;租户在「订阅与账单」自助订购,付款后自动发放。详见授权与名额

谁能用什么,是谁说了算

「这个客户能不能用支付宝小程序」「他最多能开几个站」「每月能发多少条短信」——这类问题在框架里有统一的答案链。同一个开关会被四个地方先后写一遍,越靠后越有话语权

  1. 1默认值:框架出厂设定,例如站点数量默认不限、支付宝小程序渠道默认关闭。
  2. 2套餐:租户订购的套餐里带的权益,付款后自动发放。
  3. 3特批:你在「功能开关」里针对某一个租户单独调的值,用来处理「这家客户情况特殊」。
  4. 4站点限制:租户所有者可以对自己名下某个站点再收紧一档(只能收紧、不能放大),用来把不同门店分级。

界面上每一行都会标出当前生效值是从哪一档来的,所以「客户说他用不了某功能」时,照着这条链从下往上看一眼就知道卡在哪。数量型的开关里 0 一律表示不限,别把它读成「一个都不给」。

我是谁,该读哪几章

文档不必从头读到尾。先在下表里找到自己,按那一行读就够了;其余章节等真的用到再翻。

我是谁我在哪一层按这个顺序读
我要把这套东西装起来、卖出去(部署方)最上层,用平台后台安装与部署第一次使用开张前的准备授权与名额在线升级运维与故障排查
我买了服务,要管好自己的几家店(租户所有者)第二层,用租户后台第一次使用租户后台开店:先做这四件事触达顾客触达顾客
我每天在后台处理订单、发消息、改页面(站点员工)第三层,用站点后台开店:先做这四件事会员与营销收钱:支付、流水与提现装修、内容与上线会员与营销
我要给这套框架写应用或插件(开发者)横跨各层应用开发规范插件开发规范扩展点手册Admin SDKAPI 与数据规范
我还在评估,想先弄明白它能干什么——用应用与 AI 扩展能力官方应用授权与名额常见问题

如果你还没有装起来,下一步是安装与部署;已经装好了,就直接去第一次使用——那一章带你用十几分钟走完「建租户 → 建站 → 绑应用 → 配渠道 → 装修首页」这条最小链路,走完之后本章讲的四层就全都落到手上了。