前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[开源]多应用、多租户、多终端的SaaS平台开发框架,SaaS服务平台

[开源]多应用、多租户、多终端的SaaS平台开发框架,SaaS服务平台

作者头像
IT大咖说
发布2022-04-14 17:10:39
3.8K0
发布2022-04-14 17:10:39
举报
文章被收录于专栏:IT大咖说IT大咖说

一、开源项目简介

SAPI++ 是多应用、多租户、多终端的SaaS平台开发框架。基于ThinkPHP6.x的多应用模式开发,开发者不需要二次学习,就可以开发自己的多应用多租户SaaS服务平台,简单好用是SAPI++的特点。

二、开源协议

使用GPL-3.0开源协议

三、界面展示

四、功能概述

SAPI++ v2.0的特点

  • 开箱即用 分钟快速安装,安装后即可进入开发无需复杂配置。
  • 应用隔离 支持分库分表,用户数据安全自助决定。
  • 方便快捷 没用VUE框架,免编译,基于原生jQuery并封装统一入口。
  • API鉴权 集成规范的API开发逻辑,符合REST API设计理论,系统集成鉴权机制。
  • 菜单接入 接口化菜单接入,可将应用轻松接入任意菜单模块中,无需后台配置。
  • 精美样式 针对SAPI++管理端开发独立精美CSSUI样式。
  • 独立域名 所有租户支持独立绑定独立域名.例:WEB/H5可绑定独立访问。

SAPI++ v2.0的优势

  • 接入微信开放平台,SaaS应用(微信小程序)一键授权发布;
  • 完善的微信公众号、小程序帐号授权体系,基于API已全部封装,不用二次开发,你只需关注应用功能的开发;
  • 支持VUE/React前后端分离,SSR形式和混合开发;
  • 支持开发APP(安卓,IOS)、公众号、小程序、H5、PC等独立应用;
  • 租户的购买、授权、充值、消费账单管理;
  • 支持完善的会员帐号体系,和无限极会员层级管理;
  • 租户同时购买授权无数个产品应用

五、技术选型

环境要求

代码语言:javascript
复制
框架:ThinkPHP6.x(微信开发框架)
环境:PHP8.0.2 + Mysql
系统:Windows,Linux(推荐)
     PHP > 8.0.2
     Nginx >= 1.14或者apache >=2.4
     Mysql >= 5.7 数据库引擎InnoDB
     Redis >= 5.0
     PHP扩展 fileinfo,curl,openssl,simpleXML,redis,mbstring,mysqli,openssl,gd,zip

目录结构

请理解并尽量遵循以下命名规范,可以减少在开发过程中出现不必要的错误。

SAPI++是基于ThinkPHP6.x开发的,目录结构和ThinkPHP6.x保持一致不变,具体请查看ThinkPHP6.x官方开发手册。

SAPI++目录结构

在实际的部署中,请确保只有public目录可以对外访问。在mac或者linux环境下面,注意需要设置runtime目录权限为777

代码语言:javascript
复制
├─app    应用目录
│  ├─module_name1        应用名称1
│  │  ├─common.php      函数文件
│  │  ├─config          配置目录
│  │  │  ├─admin.php    管理端菜单配置
│  │  │  ├─Tenant.php   租户端菜单配置
│  │  │  ├─version.php  应用配置信息
│  │  ├─api    控制器目录
│  │  │ ├─v1_0        API目录(目录规范v1_x_x)
│  │  │ ├─service     免签名API目录
│  │  ├─web           通过浏览器访问的控制器 url.com/web/client_id
│  │  │ ├─web         PC/H5网站
│  │  │ ├─app         APP内webview浏览内容
│  │  │ ├─wechatmp    公众号
│  │  │ ├─wechatapp   小程序内webview浏览内容
│  │  ├─controller    控制器目录
│  │  ├─├─admin       后台管理
│  │  ├─├─tenant      租户管理
│  │  ├─...           没有后台管理的直接在controller下创建
│  │  ├─model         模型目录
│  │  ├─view          视图目录
│  │  └─ ...          更多类库目录
│  ├─module_name2      应用名称2
│  │  └─ ...           应用接口同上
│  └─event.php          事件定义文件
│  ├─common.php         全局公共函数文件
│  ├─provider.php       服务提供定义文件
│  ├─service.php        全局系统系统服务定义文件
│  └─middleware.php     全局中间件定义文件
├─config                全局配置目录
│  ├─app.php            应用配置
│  ├─config.php         SAPI++系统接入第三方配置
│  ├─filesystem.php     SAPI++支持OSS/COS/七牛/本地文件上传服务的秘钥配置信息
│  ├─...                其它所有配置请查看ThinkPHP6.x官方书册
├─base    SAPI++底层目录
│  ├─logic                 系统扩展目录目录
│  ├─model                 基础模型目录
│  ├─├─ SystemAdmin.php    系统管理员
│  ├─├─ SystemAgent.php    代理
│  ├─├─ SystemApp.php      安装应用
│  ├─├─ SystemApps.php     租户应用
│  ├─├─ SystemAppsClient.php  租户应用接入
│  ├─├─ SystemAppsConfig.php  租户应用配置
│  ├─├─ SystemAppsRelease.php 租户应用发布状态
│  ├─├─ SystemTenant.php.php  租户管理
│  ├─├─ SystemTenantBill.php  租户状态
│  ├─├─ SystemUser.php        租户会员
│  ├─├─ SystemUserRuid.php    租户会员的登录ID
│  ├─├─ SystemUserRelation.php 租户关系
│  ├─BaseController.php     基类
│  ├─BaseModel.php          模型基类
│  ├─AdminController.php    管理端控制基类
│  ├─ApiController.php      API控制器基类
│  ├─TenantController.php   租户端基类
│  ├─WebController.php      网页端基类
│  ├─...                    其它系统目录(无需关心不再特别注明)
├─public              WEB目录(对外访问目录)
│  ├─static             模块独立静态文件目录(可写,可定制)
│  │  ├─module_name     应用名称和app目录中module_name名称保持一样
│  │  ├─├─logo.png     应用默认logo
│  │  ├─├─...          应用需要用到的资源
│  ├─res                本地资源上传目录(可写,可定制)
│  ├─install            应用安装程序(安装完后记得删除)
├─platform              SAPI++管理平台目录
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件

来源:

https://www.toutiao.com/article/7085740144220848643/?log_from=672fddf8ae233_1649813542472

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com

来都来了,走啥走,留个言呗~

 IT大咖说  |  关于版权

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ◆ 一、开源项目简介
  • ◆ 二、开源协议
  • ◆ 三、界面展示
  • ◆ 四、功能概述
  • SAPI++ v2.0的特点
  • SAPI++ v2.0的优势
  • ◆ 五、技术选型
  • 环境要求
  • 目录结构
  • SAPI++目录结构
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档