一、开源项目简介
SAPI++ 是多应用、多租户、多终端的SaaS平台开发框架。基于ThinkPHP6.x的多应用模式开发,开发者不需要二次学习,就可以开发自己的多应用多租户SaaS服务平台,简单好用是SAPI++的特点。
二、开源协议
使用GPL-3.0开源协议
三、界面展示
SAPI++ v2.0的特点
开箱即用 分钟快速安装,安装后即可进入开发无需复杂配置。
应用隔离 支持分库分表,用户数据安全自助决定。
方便快捷 没用VUE框架,免编译,基于原生jQuery并封装统一入口。
API鉴权 集成规范的API开发逻辑,符合REST API设计理论,系统集成鉴权机制。
菜单接入 接口化菜单接入,可将应用轻松接入任意菜单模块中,无需后台配置。
精美样式 针对SAPI++管理端开发独立精美CSSUI样式。
SAPI++ v2.0的优势
接入微信开放平台,SaaS应用(微信小程序)一键授权发布;
完善的微信公众号、小程序帐号授权体系,基于API已全部封装,不用二次开发;
支持VUE/React前后端分离,SSR形式和混合开发;
支持开发APP(安卓,IOS)、公众号、小程序、H5、PC等独立应用;
租户的购买、授权、充值、消费账单管理;
支持完善的会员帐号体系,和无限极会员层级管理;
租户同时购买授权无数个产品应用
五、技术选型
环境要求
框架: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
├─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 命令行入口文件
六、官网与手册
http://www.sapixx.com
还没有评论,来说两句吧...