nkkollaw/spark

1.0 版本 Laravel Spark 的分支

dev-master / 1.0.x-dev 2017-08-20 17:32 UTC

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_KEYSTRIPE_KEYSTRIPE_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 选项卡。

角色

您可以在 SparkServiceProvidercustomizeRoles 方法中定义团队角色。

自定义 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组件。您很可能会希望以原始组件为起点进行自定义。