ibourgeois/spark

Spark为SaaS应用程序提供启动脚手架。

v1.0.0 2016-06-26 23:40 UTC

This package is auto-updated.

Last update: 2024-08-29 04:08:51 UTC


README

简介

Spark是一个alpha、实验性发布版本。会有所改变。可能会有错误。感谢您测试!

Spark是一个主要用于构建面向业务SaaS应用程序的实验性项目,对该用例有很强的观点。

安装

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

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

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

	laravel new application

	cd application

	spark install

安装Spark后,请确保迁移您的数据库,安装NPM依赖项,并运行 gulp 命令。您还应在您的 .env 文件中设置 AUTHY_KEYSTRIPE_KEYSTRIPE_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 选项卡。

角色

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