我自己对此进行了一些调查,并找到了一个在 2017 年 7 月 14 日有效的解决方案。这可能会在未来的 Spark 更新中发生变化,所以 YMMV。请参阅下文,了解检查系统之间差异的最佳方法。
启用团队计费
首先,如其他地方所述,您需要将 Laravel\Spark\CanJoinTeams 特征添加到您的 App\User 类中。
#File: app/User.php
use Laravel\Spark\CanJoinTeams;
use Laravel\Spark\User as SparkUser;
class User extends SparkUser
{
use CanJoinTeams;
/* ... */
}
其次,您需要在 Spark 提供程序中添加团队计划(而不是个人计划)。即这些默认值。
#File: app/Providers/SparkServiceProvider.php
public function booted()
{
Spark::useStripe()->noCardUpFront()->trialDays(10);
Spark::freePlan()
->features([
'First', 'Second', 'Third'
]);
Spark::plan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
需要
public function booted()
{
Spark::useStripe()->noCardUpFront()->teamTrialDays(10);
Spark::freeTeamPlan()
->features([
'First', 'Second', 'Third'
]);
Spark::teamPlan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
用于团队计划。此外,如果不是很明显,您可以同时为系统制定两个个人计划和团队计划。
区分 Spark 版本
如果您多年后来到这里,并且想了解您的 Spark 版本中需要什么,这是我发现的最佳方法。
首先,创建一个使用团队计费的 Spark 项目
spark new project-name --team-billing
然后将project-name 文件夹重命名为with-team-billing 之类的名称
mv project-name with-team-billing
然后,对没有团队计费的项目执行相同操作
spark new project-name --team-billing
mv project-name without-team-billing
然后,使用您最喜欢的 diff 命令递归地对这两个文件夹进行比较
diff -r with-team-billing without-team-bill
bbdiff with-team-billing without-team-bill
创建具有相同名称的两个项目很重要,因为会使用缓存的文件路径值生成许多节点/npm 文件。它们与我们的目标无关,只会混淆差异结果。