定制 plugins-world/dcat-saas 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

plugins-world/dcat-saas

Composer 安装命令:

composer require plugins-world/dcat-saas

包简介

DcatSaas plugin for the laravel and dcat-saas

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

一款帮助你在 30 分钟内从 0 搭建 Laravel SaaS 化项目的插件

插件管理器应用市场管理器的插件架构设计下,采用Tenancy 3.xDcat-AdminLaravel 可快速建立属于你的 SaaS 业务框架。

初期可采用 Dcat-Admin 完成中心应用开账号,租户应用建立业务逻辑的方案。研发到一定阶段后,推荐采用 arco.design 或其他你喜欢的管理后台框架,将项目前后端进行分离。

依赖项目:

关注代码仓库

项目自动拆分,如需跟踪源码更新情况,请前往:https://github.com/plugins-world/plugins 查看 DcatSaas 目录

点击前往

推荐使用不含 dcat-admin 依赖的 LaravelSaas

前置要求

安装

  1. 修改扩展包稳定性限制 composer.json 需要允许安装稳定性为 dev 的依赖包。相关设置见下方代码。
{
    ...
    "minimum-stability": "dev",
    "prefer-stable": true,
    ...
}
  1. 初始化
# 创建新项目 saas-test
composer create-project --prefer-dist laravel/laravel saas-test
# 进入项目目录
cd saas-test
# 初始化 git 仓库
git init
git add .
git commit -m "feat: Init."
# 配置应用市场管理器与插件管理器的安装源
composer config repositories.market-manager vcs https://gitee.com/fresns/market-manager
composer config repositories.plugin-manager vcs https://gitee.com/fresns/plugin-manager
# 安装应用市场管理器与插件管理器
composer require fresns/market-manager:dev-master
composer require fresns/plugin-manager:2.x-dev
# 配置数据库与项目信息
	APP_NAME
	APP_URL
	ADMIN_HTTPS

	DB_HOST
	DB_DATABASE
	DB_USERNAME
	DB_PASSWORD
# 执行迁移,增加 plugins 表
php artisan migrate
# 提交仓库变动。方便查看 saas 初始化的文件
git add .
git commit -m "feat: Install market-manager and plugin-manager."
# 从 github 下载 dcat-saas 扩展
php artisan market:require plugins-world/dcat-saas
# 或从 zip 压缩包安装 dcat-saas
php artisan market:require ~/dcat-saas.zip
# 激活插件
php artisan plugin:activate DcatSaas
# 初始化 saas 信息
php artisan saas:install
  1. 使用
# 常用命令
php artisan saas                                # 查看 saas 扩展包提供的命令
php artisan saas:install                        # 初始化 saas(会提示是否覆盖)
php artisan saas:tenant-add                     # 添加租户 可指定租户名,默认 foo
php artisan saas:tenant-del                     # 删除租户 可指定租户名,默认 foo
php artisan saas:tenant-list                    # 当前 saas 列表
php artisan saas:menu-export                    # 导出菜单(默认会尝试导出 foo 租户多菜单)
php artisan saas:menu-reset                     # 重置菜单 (根据导出的菜单进行租户菜单重置)
php artisan tenants:migrate --tenants foo       # 执行 foo 租户的迁移,开发阶段建议指定租户,部署阶段可不指定,以批量运行租户迁移
php artisan tenants:rollback --tenants foo      # 回滚 foo 租户的迁移,开发阶段建议指定租户,部署阶段可不指定,以批量运行租户迁移的回滚操作
# 其他命令自行查看
...

前后端分离的部署示例

宝塔缓存与前端代理的配置示例:

搭配 flow.aliyun.com 或宝塔 webhook 可完成项目的 devops 自动化部署。

# scui
location ~* ^/(dashboard|tenants-assets|img|config|pc) {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:3000;
    # proxy_pass http://192.168.0.34:3000;
    # proxy_pass http://xxx.hecs.example.com;
    # proxy_pass https://xxx-xxx-dashboard.oss-cn-shenzhen.aliyuncs.com;
}

# scui
location ~* ^/(dashboard|tenants-assets|img|config|pc) {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass https://xxx-dashboard-aone.oss-cn-shenzhen.aliyuncs.com;
}

# scui
location ~* ^/(platform|platform-assets|img|config) {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass https://xxx-dashboard-platform.oss-cn-shenzhen.aliyuncs.com;
}

# 有缓存的配置
location ~* ^/assets {
    proxy_cache cache_one;
    proxy_cache_key $host$uri$is_args$args;
    add_header Nginx-Cache "$upstream_cache_status";
    proxy_cache_valid 200 304 1m;
    proxy_cache_valid 404 500 502 503 504 1m;
    proxy_cache_valid any 1s;
    expires 1s;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://test-csim-dashboard.oss.iwnweb.com;
}

协议

Apache 2.0

开发者交流群

技术交流群 ID: 305795002

原文链接:

效果图

DcatSaaS 一款帮助你在 30 分钟内从 0 搭建 Laravel SaaS 化项目的插件

DcatSaaS 一款帮助你在 30 分钟内从 0 搭建 Laravel SaaS 化项目的插件

DcatSaaS 一款帮助你在 30 分钟内从 0 搭建 Laravel SaaS 化项目的插件

plugins-world/dcat-saas 适用场景与选型建议

plugins-world/dcat-saas 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6 次下载、GitHub Stars 达 5, 最近一次更新时间为 2023 年 03 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 plugins-world/dcat-saas 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 plugins-world/dcat-saas 我们能提供哪些服务?
定制开发 / 二次开发

基于 plugins-world/dcat-saas 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2023-03-09