Найти тему
Laravel Topsite Web

Пакет геймификации Level Up для Laravel

Пакет Level Up - это пакет Laravel, вводящий геймификацию в ваши приложения. Пользователи могут зарабатывать очки и получать уровни. Он также включает в себя функцию динамической таблицы лидеров.

Этот пакет имеет три концепции, которые составляют геймификацию:

  • Очки
  • Уровни
  • Достижения

Как только вы импортируете трейт GiveExperience в свою User Model:

use LevelUp\Experience\Concerns\GiveExperience;
class User extends Model
{
use GiveExperience;
// ...
}

Эта модель раскрывает различные методы работы с API геймификации:

$user->addPoints(10);
$user->deductPoints(10);
$user->setPoints(10);
$user->getPoints();

Вы можете создавать уровни для своего приложения с помощью следующего API:

Level::add(
['level' => 1, 'next_level_experience' => null],
['level' => 2, 'next_level_experience' => 100],
['level' => 3, 'next_level_experience' => 250],
);

Создание достижений:

Achievement::create([
'name' => 'Достигните 20-го уровня',
'is_secret' => false,
'description' => 'Когда пользователь достигает 20-го уровня',
'image' => 'storage/app/achievements/level-20.png',
]);
// Разблокируйте достижение
$achievement = Achievement::find(1);
$user->grantAchievement($achievement);
// Установить прогресс в достижении
$user->grantAchievement(
achievement: $achievement,
progress: 50 // 50%
);

Вы также можете определить секретные достижения, скрытые от пользователя до тех пор, пока они не будут разблокированы. Этот пакет также поддерживает аудит, отслеживание того, когда пользователь получает очки, повышает уровень и другое.

Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.