mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-05 09:42:47 +08:00
- 新增 `tools:ua:build` 命令,用于合并前端模块文件 - 添加构建配置文件 `ua.build.json` 定义源文件和输出 - 引入基础服务类 `ToolsUaServiceBase` 处理路径和配置读取 - 创建命令基类 `ToolsUaBuildBase` 实现文件合并逻辑 - 注册新命令到 UlthonAdminService 服务容器 - 提供完整的模块化前端代码结构(core、common、table、listen、api、utils) - 添加详细的使用说明文档 README.md - 包含示例 Scheme 文件展示功能
102 lines
2.9 KiB
PHP
102 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace think;
|
|
|
|
use app\common\command\admin\MigrateFileData;
|
|
use app\common\command\tools\db\ToolsDbCount;
|
|
use app\common\command\tools\db\ToolsDbDesc;
|
|
use app\common\command\tools\db\ToolsDbExecute;
|
|
use app\common\command\tools\db\ToolsDbInfo;
|
|
use app\common\command\tools\db\ToolsDbQuery;
|
|
use app\common\command\tools\db\ToolsDbTable;
|
|
use app\common\command\tools\ua\ToolsUaBuild;
|
|
use app\common\command\Test;
|
|
use app\common\event\AdminLoginSuccess\LogEvent;
|
|
use app\common\event\AdminLoginType\DemoEvent;
|
|
use app\common\event\AdminMenuTab\DemoEvent as AdminMenuTabDemoEvent;
|
|
use app\common\provider\ExceptionHandle;
|
|
use app\common\provider\Request;
|
|
use app\common\provider\View;
|
|
use think\app\Service as AppService;
|
|
use think\captcha\CaptchaService;
|
|
use think\facade\App;
|
|
use think\migration\Service as MigrateService;
|
|
|
|
class UlthonAdminService extends Service
|
|
{
|
|
public function boot()
|
|
{
|
|
// 绑定系统事件
|
|
$event_listen = [
|
|
'AppInit' => [],
|
|
'HttpRun' => [],
|
|
'HttpEnd' => [],
|
|
'LogLevel' => [],
|
|
'LogWrite' => [],
|
|
'AdminLoginSuccess' => [
|
|
LogEvent::class,
|
|
],
|
|
'AdminLoginType' => [
|
|
DemoEvent::class,
|
|
],
|
|
'AdminMenuTab' => [
|
|
AdminMenuTabDemoEvent::class,
|
|
],
|
|
];
|
|
|
|
$this->app->event->listenEvents($event_listen);
|
|
|
|
// 注册验证码服务
|
|
$this->app->register(CaptchaService::class);
|
|
|
|
// 注册多应用服务
|
|
$this->app->register(AppService::class);
|
|
|
|
// 注册数据库迁移服务
|
|
$this->app->register(MigrateService::class);
|
|
|
|
// 绑定命令行
|
|
$this->commands([
|
|
Test::class,
|
|
MigrateFileData::class,
|
|
ToolsDbQuery::class,
|
|
ToolsDbExecute::class,
|
|
ToolsDbTable::class,
|
|
ToolsDbInfo::class,
|
|
ToolsDbDesc::class,
|
|
ToolsDbCount::class,
|
|
ToolsUaBuild::class,
|
|
]);
|
|
|
|
// 绑定标识容器
|
|
$provider_default = [
|
|
'think\Request' => Request::class,
|
|
'think\exception\Handle' => ExceptionHandle::class,
|
|
'think\View' => View::class,
|
|
];
|
|
|
|
$provider_setting = include App::getRootPath() . '/app/provider.php';
|
|
|
|
if (isset($provider_setting['think\App'])) {
|
|
unset($provider_setting['think\App']);
|
|
}
|
|
|
|
$provider = array_merge($provider_default, $provider_setting);
|
|
|
|
$this->app->bind($provider);
|
|
|
|
// 导入系统中间件
|
|
|
|
$middleware = [
|
|
// 全局请求缓存
|
|
// \think\middleware\CheckRequestCache::class,
|
|
// 多语言加载
|
|
// \think\middleware\LoadLangPack::class,
|
|
// Session初始化
|
|
100 => middleware\SessionInit::class,
|
|
];
|
|
|
|
$this->app->middleware->import($middleware);
|
|
}
|
|
}
|