daem0ndev / laravel-spark
Laravel Spark 为 Laravel SaaS 应用程序提供了一个起始脚手架。
Requires
- php: >=5.5.9
- dompdf/dompdf: ^0.6.2
- erusev/parsedown: ~1.0
- guzzlehttp/guzzle: ~6.0
- laravel/cashier: ~6.0
This package is not auto-updated.
Last update: 2024-09-20 19:45:29 UTC
README
简介
Spark 是一个 alpha 测试版,实验性发布。可能会有变化,可能会出现问题。感谢您的测试!
Spark 是一个以构建面向业务的 SaaS 应用程序为主要目的的实验性项目,并对该用例有很强的观点。
安装
首先,安装 Spark 安装程序,并确保您的系统 $PATH
中包含全局 Composer bin
目录。
composer global require "laravel/spark-installer=~1.0"
接下来,创建一个新的 Laravel 应用程序并安装 Spark。
laravel new application
cd application
spark install
安装 Spark 后,请确保迁移数据库,安装 NPM 依赖项,并运行 gulp
命令。您还应该在您的 .env
文件中设置 AUTHY_KEY
、STRIPE_KEY
和 STRIPE_SECRET
环境变量。
您还可以查看在您的应用程序中安装的 SparkServiceProvider
类。这是自定义 Spark 安装的中心位置。
定义订阅计划
可以在您的 app/Providers/SparkServiceProvider.php
文件中定义订阅计划。此文件包含一个 customizeSubscriptionPlans
方法。在此方法中,您可以定义所有应用程序的订阅计划。此方法中包含一些示例以供您开始。
定义 Spark 计划时,plan
方法接受两个参数:计划的名称和计划的 Stripe ID。请确保传递给 plan
方法的 Stripe ID 与您的 Stripe 账户上的计划 ID 相对应。
Spark::plan('Display Name', 'stripe-id') ->price(10) ->features([ // ]);
年度计划
要定义年度计划,只需在计划定义上调用 yearly
方法。
Spark::plan('Basic', 'basic-yearly') ->price(100) ->yearly() ->features( // );
优惠券
要使用优惠券,只需在 Stripe 上创建优惠券,并通过带有与 Stripe 上优惠券 ID 匹配的 coupon
查询字符串变量的 /register
路由来访问。
http://stripe.app/register?coupon=code
可以在您的 SparkServiceProvider
中使用 Spark::promotion
方法运行网站范围的促销活动。
Spark::promotion('coupon-code');
团队
要启用团队,只需在您的 User
模型上使用 CanJoinTeams
特性。特性已在上文导入,因此您只需将其添加到模型本身即可。
class User extends Model implements TwoFactorAuthenticatableContract, BillableContract, CanResetPasswordContract { use Billable, CanJoinTeams, CanResetPassword, TwoFactorAuthenticatable; }
一旦团队被启用,注册期间将需要团队名称,并且将在用户设置仪表板中提供 Teams
标签。
角色
可以在 SparkServiceProvider
的 customizeRoles
方法中定义团队角色。
自定义 Spark 视图
您可以使用 vendor:publish
命令发布 Spark 的常用 Blade 视图。
php artisan vendor:publish --tag=spark-basics
所有发布的视图都将放置在 resources/views/vendor/spark
中。
如果您想发布所有 Spark 视图,可以使用 spark-full
标签。
php artisan vendor:publish --tag=spark-full
自定义 Spark JavaScript
resources/assets/js/core/components.js
文件包含加载一些常用 Spark Vue 组件的语句。 Vue 是 Spark 注册和设置屏幕使用的 JavaScript 框架。
您可以自由更改这些 require 语句以加载特定屏幕的自己的 Vue 组件。您很可能会将原始组件作为自定义的起点进行复制。