◆ 一、开源项目简介
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 目录结构
代码语言:javascript复制在实际的部署中,请确保只有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 命令行入口文件
来源:
https://www.toutiao.com/article/7085740144220848643/?log_from=672fddf8ae233_1649813542472
“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com
来都来了,走啥走,留个言呗~
IT大咖说 | 关于版权
由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!
感谢您对IT大咖说的热心支持!
- 相关推荐
- 推荐文章
- 如何在断开连接后保持远程 SSH 会话运行
- 还在用维恩图可视化SQL的Join连接吗?你该看看这个
- Dubbo扩展点开发指南
- Avue - 更加贴合企业开发的数据驱动前端开发框架
- 用ClickHouse近乎实时地进行欺诈检测
- 2022年 6 款适用于 Linux 的最佳免费杀毒软件
- kafka2.x常用命令笔记(一)创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费
- NginxWebUI - 图形化的 Nginx 配置管理工具