2019-12-02 23:04:43 +08:00
|
|
|
<?php
|
|
|
|
namespace catchAdmin;
|
|
|
|
|
2019-12-12 22:34:08 +08:00
|
|
|
use catchAdmin\login\LoginLogListener;
|
|
|
|
use catchAdmin\permissions\OperateLogListener;
|
2019-12-12 18:53:10 +08:00
|
|
|
use catchAdmin\permissions\PermissionsMiddleware;
|
2019-12-12 22:34:08 +08:00
|
|
|
use catchAdmin\system\event\LoginLogEvent;
|
|
|
|
use catchAdmin\system\event\OperateLogEvent;
|
2019-12-13 17:25:22 +08:00
|
|
|
use catcher\command\BackupCommand;
|
2019-12-02 23:04:43 +08:00
|
|
|
use catcher\command\InstallCommand;
|
2019-12-03 21:43:37 +08:00
|
|
|
use catcher\command\MigrateRunCommand;
|
|
|
|
use catcher\command\ModelGeneratorCommand;
|
2019-12-02 23:04:43 +08:00
|
|
|
use catcher\command\ModuleCacheCommand;
|
2019-12-10 14:03:28 +08:00
|
|
|
use catcher\command\SeedRunCommand;
|
2019-12-13 17:25:22 +08:00
|
|
|
use catcher\event\LoadModuleRoutes;
|
2019-12-07 17:31:38 +08:00
|
|
|
use catcher\validates\Sometimes;
|
|
|
|
use think\facade\Validate;
|
2019-12-02 23:04:43 +08:00
|
|
|
use think\Service;
|
|
|
|
|
|
|
|
class CatchAdminService extends Service
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @time 2019年11月29日
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function boot()
|
|
|
|
{
|
2019-12-07 17:31:38 +08:00
|
|
|
|
2019-12-13 17:25:22 +08:00
|
|
|
$this->registerCommands();
|
2019-12-07 17:31:38 +08:00
|
|
|
$this->registerValidates();
|
2019-12-12 18:53:10 +08:00
|
|
|
$this->registerMiddleWares();
|
2019-12-12 22:34:08 +08:00
|
|
|
$this->registerEvents();
|
|
|
|
$this->registerListeners();
|
2019-12-07 17:31:38 +08:00
|
|
|
}
|
|
|
|
|
2019-12-13 17:25:22 +08:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @time 2019年12月13日
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
protected function registerCommands(): void
|
|
|
|
{
|
|
|
|
$this->commands([
|
|
|
|
InstallCommand::class,
|
|
|
|
ModuleCacheCommand::class,
|
|
|
|
MigrateRunCommand::class,
|
|
|
|
ModelGeneratorCommand::class,
|
|
|
|
SeedRunCommand::class,
|
|
|
|
BackupCommand::class,
|
|
|
|
]);
|
|
|
|
}
|
2019-12-07 17:31:38 +08:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @time 2019年12月07日
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
protected function registerValidates(): void
|
|
|
|
{
|
|
|
|
$validates = [
|
|
|
|
new Sometimes(),
|
|
|
|
];
|
|
|
|
|
|
|
|
Validate::maker(function($validate) use ($validates){
|
|
|
|
foreach ($validates as $vali) {
|
|
|
|
$validate->extend($vali->type(), [$vali, 'verify'], $vali->message());
|
|
|
|
}
|
|
|
|
});
|
2019-12-12 18:53:10 +08:00
|
|
|
}
|
2019-12-07 17:31:38 +08:00
|
|
|
|
2019-12-12 18:53:10 +08:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @time 2019年12月12日
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
protected function registerMiddleWares(): void
|
|
|
|
{
|
|
|
|
$this->app->middleware->import([
|
|
|
|
'check_auth' => PermissionsMiddleware::class
|
|
|
|
], 'route');
|
2019-12-02 23:04:43 +08:00
|
|
|
}
|
2019-12-12 22:34:08 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @time 2019年12月12日
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
protected function registerEvents(): void
|
|
|
|
{
|
|
|
|
$this->app->event->bind([
|
|
|
|
'loginLog' => LoginLogEvent::class,
|
|
|
|
'operateLog' => OperateLogEvent::class,
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 注册监听者
|
|
|
|
*
|
|
|
|
* @time 2019年12月12日
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
protected function registerListeners(): void
|
|
|
|
{
|
|
|
|
$this->app->event->listenEvents([
|
|
|
|
'loginLog' => [
|
|
|
|
LoginLogListener::class,
|
|
|
|
],
|
|
|
|
'operateLog' => [
|
|
|
|
OperateLogListener::class,
|
|
|
|
],
|
2019-12-13 17:25:22 +08:00
|
|
|
'RouteLoaded' => [
|
|
|
|
LoadModuleRoutes::class
|
|
|
|
]
|
2019-12-12 22:34:08 +08:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
2019-12-02 23:04:43 +08:00
|
|
|
}
|