• Czas czytania ~1 min
  • 28.07.2023

Pakiet Level Up to pakiet Laravel wprowadzający grywalizację do Twoich aplikacji. Użytkownicy mogą zdobywać punkty doświadczenia (XP) i zdobywać poziomy za pośrednictwem aplikacji. Zawiera również funkcję dynamicznej tabeli liderów.

Ten pakiet zawiera trzy koncepcje, które składają się na grywalizację:

  • Punkty doświadczenia (XP)
  • Poziomy
  • Osiągnięcia

Po zaimportowaniu GiveExperience cechy do modelu użytkownika:Ta cecha modelu odblokowuje różne metody pracy z interfejsem API gamifikacji:Możesz tworzyć poziomy dla aplikacji za pomocą następującego interfejsu API:

use LevelUp\Experience\Concerns\GiveExperience;

class User extends Model
{
    use GiveExperience;

    // ...
}

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

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

I wreszcie, oto jak tworzysz osiągnięcia Możesz także zdefiniować tajne osiągnięcia

Achievement::create([
    'name' => 'Hit Level 20',
    'is_secret' => false,
    'description' => 'When a User hits Level 20',
    'image' => 'storage/app/achievements/level-20.png',
]);
// Unlock an achievement
$achievement = Achievement::find(1);
$user->grantAchievement($achievement);

// Set achievement progress
$user->grantAchievement(
    achievement: $achievement,
    progress: 50 // 50%
);

ukryte przed użytkownikiem, dopóki nie zostaną odblokowane. Ten pakiet obsługuje również audyt, śledzenie, kiedy użytkownik zdobywa punkty, awansuje itp.

Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy w witrynie GitHub.You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297