lamine/license

PHP软件的授权库

v1.1.2 2023-09-16 11:14 UTC

This package is auto-updated.

Last update: 2024-09-16 13:18:22 UTC


README

为您的项目生成简单许可证的工具。由Lamine omar制作。

安装

composer require lamine/license

使用

1. 设置环境变量

请确保在您的 .env 文件中设置了 'APP_NAME'。

APP_NAME="Your App Name"

然后添加以下变量到您的 .env 文件。这些变量将用于生成许可证。否则许可证将不会生成。

COMPANY_URL="https://www.yourwebsite.com/"
COMPANY_NAME="Your Company Name"
COMPANY_MAIL="your-company@email.com"
COMPANY_PHONE="+212 6 00 00 00 00"

重要:请确保 COMPANY_URL 变量以斜杠结尾。并且指向包含您授权系统后端的有效URL。

2. 运行迁移

php artisan migrate

此命令将在您的数据库中创建 license 和 timestamps 表。这些表将用于存储许可证。

3. 设置您的首页路由

Route::get('/', function () {

    if (Index::validateLicense()) {
        return view('welcome');
    } else {
        return view('License::LicenseExpired');
    }
})->name('home');

或者如果您使用 Inertia,可以这样做

public function index()
{
    if (Index::validateLicense()) {
        return Inertia::render('Auth/Login');
    } else {
        return view('License::LicenseExpired');
    }
}

4. 为您的路由添加中间件

转到您的 'app/Http/Kernel.php' 文件并添加中间件到您的路由。

protected $routeMiddleware = [
        .
        .
        .
        'license-api' => \Lamine\License\Middleware\ApiWare::class,
        'license-web' => \Lamine\License\Middleware\WebWare::class,
    ];

然后添加中间件到您的路由。

routes/web.php

Route::group(['middleware' => ['license-web']], function () {
    // all your web routes here
});

routes/api.php

Route::group(['middleware' => ['license-api']], function () {
    // all your api routes here
});

5. 设置 'app/console/Kernel.php' 文件

将此行添加到您的 'app/console/Kernel.php' 文件中的 'schedule' 函数。

// check license every week
$schedule->call([Index::class, 'checkLicense'])->weekly();

// check time every hour
$schedule->call(function () {
    app()->call([TimeChecker::class, 'checkTime']);
})->hourly();

// truncate timestamps table every 24 hours
$schedule->call(function () {
    TimeChecker::truncateTimestamps();
})->daily();

运行调度器。

php artisan schedule:work

完成所有步骤后,运行开发服务器。

php artisan serve

然后转到首页。如果一切正常,您将看到许可证过期页面。

screenshot

在此页面上,您可以通过输入许可证密钥或使用您公司的秘密密钥来激活您的许可证。