LaravelOnboard是一个由Spatie创建的Laravel包,用于帮助跟踪用户的入职步骤。
🚀 spatie/laravel-onboard已经发布。
t.co/qfOeH783dL🧑💻 @calebporzio制作了第一个版本,我们现在正在维护。@Riasvdv做了一些很好的抛光工作
下面是一个快速的例子,取自项目的readme,使用这个包来创建入职步骤。
use App\User;
use Spatie\Onboard\Facades\Onboard;
// You can add onboarding steps in a `boot()` method within a service provider
Onboard::addStep('Complete Profile')
->link('/profile')
->cta('Complete')
->completeIf(function (User $user) {
return $user->profile->isComplete();
});
Onboard::addStep('Create Your First Post')
->link('/post/create')
->cta('Create Post')
->completeIf(function (User $user) {
return $user->posts->count() > 0;
});
为了获得用户的入职状态--除其他外,该包有一个很好的API,可以访问诸如完成百分比、正在进行、完成以及关于单个步骤的细节。
/** @var \Spatie\Onboard\OnboardingManager $onboarding **/
$onboarding = Auth::user()->onboarding();
$onboarding->inProgress();
$onboarding->percentageCompleted();
$onboarding->finished();
$onboarding->steps()->each(function($step) {
$step->title;
$step->cta;
$step->link;
$step->complete();
$step->incomplete();
});
此外,这个软件包还支持以下功能。
- 用自定义逻辑有条件地排除步骤
- 在一个步骤上定义自定义属性
- 使用中间件来确保用户在被允许使用某些功能之前完成入职培训
- 还有更多