本项目是基于Laravel
、 Dcat Admin
以及 archtechx/tenancy
构建的SAAS后台脚手架,支持多数据库
、多域名
,开箱即用,欢迎提交PR共同完善本项目,如果本项目对您有帮助,还请给个Star支持一下,谢谢。
- 完全兼容Dcat Admin
- 支持多数据库,每个租户拥有独立的数据库
- 支持多域名,每个租户可以配置多个域名
- 内置简单的租户管理功能
- 内置系统配置模板,直接修改对应表单即可添加系统配置项
- 自动检测租户是否已过期
- 一键登陆至租户后台
- 整合
dcat-iframe-tab
- 集成在线支付功能,供租户自动续费
# 克隆本项目
git clone https://github.com/Abbotton/saas-skeleton
# 进入目录并安装相关依赖
cd saas-skeleton && composer install
# 复制.env.example为.env
cp .env.example .env
# 生成应用key
php artisan key:generate
# 修改.env中数据库以及APP_URL相关配置
vi .env
# 发布dcat-admin相关资源
php artisan admin:publish
# 发布dcat-iframe-tab相关资源
php artisan vendor:publish --tag=iframe-tab && php artisan vendor:publish --tag=iframe-tab.config
# 执行以下命令完成安装
php artisan admin:install && php artisan saas:init
# done !
进行租户管理之前请确认域名解析完毕,建议进行泛域名解析。 现在假设已完成
*.example.com
的解析。
- 访问
http://example.com/central
打开主控端登录页面,账号密码都是:admin
; - 点击左侧
租户管理
菜单添加一个租户,(假设域名是:test.example.com
); - 访问
http://test.example.com
可以看到租户ID; - 访问
http://test.example.com/admin
可以打开租户对应后台,账号密码都是:admin
; - 为方便管理,在租户管理页面,点击任意租户右侧工具栏中的
登录后台
菜单,可以无视租户管理员账号密码,直接登陆至租户的后台;
1、如何扩展租户表字段?
新建一个迁移文件,添加新的字段,然后修改app/Models/Tenant.php
,将新字段填写至getCustomColumns()
方法中,再根据自己的业务逻辑修改app/Central
目录中的文件即可。
2、如何添加主控端的系统配置
修改app/Central/Forms/AdminSetting.php
文件即可。
3、如何添加租户的系统配置
修改app/Admin/Forms/AdminSetting.php
文件即可。