nkkollaw / spark
1.0 版本 Laravel Spark 的分支
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-15 04:13:23 UTC
README
简介
这是 Laravel Spark 1.0 的非删除分支,最终成为了一款付费产品(可在 https://spark.laravel.net.cn/ 获取)。
当前支持的 Laravel 版本是 5.2(在 Spark 2.0 中增加了与 Laravel 5.3 的兼容性)。
安装
创建一个新的 Laravel 5.2 应用程序,并给它命名(这里为 project-name
)
composer create-project laravel/laravel project-name 5.2.*
cd project-name
添加 Spark 安装程序并安装 Spark(对所有问题回答“否”)
composer require "nkkollaw/spark-installer=~1.0"
vendor/nkkollaw/spark-installer/spark install
为您的应用程序创建一个数据库。
编辑 .env
以添加您的数据库信息和 URL(如果与 https://
不同)。您可能还想设置 AUTHY_KEY
、STRIPE_KEY
和 STRIPE_SECRET
环境变量或在稍后进行设置。
迁移您的数据库
php artisan migrate
安装 NPM 依赖项
npm install
执行 Gulp 任务
gulp
应该可以工作。
安装后
您还可能希望查看在您的应用程序中安装的 SparkServiceProvider
类。此提供程序是自定义 Spark 安装的中央位置。这是一个示例,以帮助您开始。
注意
应该在构建应用程序的同时安装 Spark。在运行如 php artisan app:name MyApp
等命令之后安装 Spark 可能会导致安装时出现错误。
有关 Spark 1.0 的许多文章和教程都可以在网络上找到,例如
从现在开始,您将独立完成。本 README 的其余部分尚未检查,并且某些内容可能或可能不工作(尽管它们应该会工作)。
定义订阅计划
您可以在 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组件。您很可能会希望以原始组件为起点进行自定义。