certly/spark

Laravel Spark 为 Laravel SaaS 应用程序提供了一套起始脚手架。

v1.2 2016-10-22 06:45 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:33:19 UTC


README

简介

这是 Spark 的一个 alpha 测试版本,实验性发布。可能会有变动,可能会有问题。感谢您进行测试!

Spark 是一个主要面向构建面向商业的 SaaS 应用程序的实验性项目,并且对这一用例有很高的看法。

安装

首先,安装 Spark 安装程序,并确保全局 Composer bin 目录位于您的系统 $PATH

	composer global require "certly/spark-installer=~1.0"

接下来,创建一个新的 Laravel 应用程序并安装 Spark

	laravel new application

	cd application

	spark install

安装 Spark 后,请务必迁移数据库,安装 NPM 依赖项,并运行 gulp 命令。您还应该在 .env 文件中设置 AUTHY_KEYSTRIPE_KEYSTRIPE_SECRET 环境变量。

您还可以查看安装到您的应用程序中的 SparkServiceProvider 类。这个提供者是自定义 Spark 安装的中心位置。

请注意,在构建应用程序时应该安装 Spark。在运行如 php artisan app:name MyApp 等命令之后安装 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 选项卡。

角色

团队角色可以在 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 组件。您很可能会将原始组件作为自定义的起点进行复制。