初始化-安装依赖

This commit is contained in:
2026-03-03 10:06:12 +08:00
parent 3f349a35a4
commit ec8cac4221
187 changed files with 26292 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<?php
use support\Request;
return [
'debug' => true,
'controller_suffix' => 'Controller',
'controller_reuse' => false,
'version' => '6.0.7'
];

View File

@@ -0,0 +1,6 @@
<?php
return [
'files' => [
base_path() . '/plugin/saiadmin/app/functions.php',
]
];

View File

@@ -0,0 +1,2 @@
<?php
return new Webman\Container;

View File

@@ -0,0 +1,2 @@
<?php
return [];

View File

@@ -0,0 +1,9 @@
<?php
return [
'user.login' => [
[plugin\saiadmin\app\event\SystemUser::class, 'login'],
],
'user.operateLog' => [
[plugin\saiadmin\app\event\SystemUser::class, 'operateLog'],
]
];

View File

@@ -0,0 +1,5 @@
<?php
return [
'' => \plugin\saiadmin\app\exception\Handler::class,
];

View File

@@ -0,0 +1,20 @@
<?php
return [
'default' => [
'handlers' => [
[
'class' => Monolog\Handler\RotatingFileHandler::class,
'constructor' => [
runtime_path() . '/logs/saiadmin.log',
7,
Monolog\Logger::DEBUG,
],
'formatter' => [
'class' => Monolog\Formatter\LineFormatter::class,
'constructor' => [null, 'Y-m-d H:i:s', true],
],
]
],
],
];

View File

@@ -0,0 +1,13 @@
<?php
use plugin\saiadmin\app\middleware\SystemLog;
use plugin\saiadmin\app\middleware\CheckLogin;
use plugin\saiadmin\app\middleware\CheckAuth;
return [
'' => [
CheckLogin::class,
CheckAuth::class,
SystemLog::class,
]
];

View File

@@ -0,0 +1,6 @@
<?php
return [
'task' => [
'handler' => plugin\saiadmin\process\Task::class
]
];

View File

@@ -0,0 +1,115 @@
<?php
use Webman\Route;
Route::group('/core', function () {
Route::get('/install', [plugin\saiadmin\app\controller\InstallController::class, 'index']);
Route::post('/install/install', [plugin\saiadmin\app\controller\InstallController::class, 'install']);
Route::get('/captcha', [plugin\saiadmin\app\controller\LoginController::class, 'captcha']);
Route::post('/login', [plugin\saiadmin\app\controller\LoginController::class, 'login']);
Route::get('/system/user', [plugin\saiadmin\app\controller\SystemController::class, 'userInfo']);
Route::get("/system/dictAll", [plugin\saiadmin\app\controller\SystemController::class, 'dictAll']);
Route::get('/system/menu', [plugin\saiadmin\app\controller\SystemController::class, 'menu']);
Route::get('/system/statistics', [plugin\saiadmin\app\controller\SystemController::class, 'statistics']);
Route::get('/system/loginChart', [plugin\saiadmin\app\controller\SystemController::class, 'loginChart']);
Route::get('/system/loginBarChart', [plugin\saiadmin\app\controller\SystemController::class, 'loginBarChart']);
Route::get('/system/clearAllCache', [plugin\saiadmin\app\controller\SystemController::class, 'clearAllCache']);
Route::get("/system/getResourceCategory", [plugin\saiadmin\app\controller\SystemController::class, 'getResourceCategory']);
Route::get("/system/getResourceList", [plugin\saiadmin\app\controller\SystemController::class, 'getResourceList']);
Route::post("/system/saveNetworkImage", [plugin\saiadmin\app\controller\SystemController::class, 'saveNetworkImage']);
Route::post("/system/uploadImage", [plugin\saiadmin\app\controller\SystemController::class, 'uploadImage']);
Route::post("/system/uploadFile", [plugin\saiadmin\app\controller\SystemController::class, 'uploadFile']);
Route::post("/system/chunkUpload", [plugin\saiadmin\app\controller\SystemController::class, 'chunkUpload']);
Route::get("/system/getUserList", [plugin\saiadmin\app\controller\SystemController::class, 'getUserList']);
Route::get("/system/getLoginLogList", [plugin\saiadmin\app\controller\SystemController::class, 'getLoginLogList']);
Route::get("/system/getOperationLogList", [plugin\saiadmin\app\controller\SystemController::class, 'getOperationLogList']);
// 用户管理
fastRoute("user", \plugin\saiadmin\app\controller\system\SystemUserController::class);
Route::post("/user/updateInfo", [\plugin\saiadmin\app\controller\system\SystemUserController::class, 'updateInfo']);
Route::post("/user/modifyPassword", [\plugin\saiadmin\app\controller\system\SystemUserController::class, 'modifyPassword']);
Route::post("/user/clearCache", [\plugin\saiadmin\app\controller\system\SystemUserController::class, 'clearCache']);
Route::post("/user/initUserPassword", [\plugin\saiadmin\app\controller\system\SystemUserController::class, 'initUserPassword']);
Route::post("/user/setHomePage", [\plugin\saiadmin\app\controller\system\SystemUserController::class, 'setHomePage']);
// 角色管理
fastRoute('role', \plugin\saiadmin\app\controller\system\SystemRoleController::class);
Route::get("/role/accessRole", [\plugin\saiadmin\app\controller\system\SystemRoleController::class, 'accessRole']);
Route::get("/role/getMenuByRole", [\plugin\saiadmin\app\controller\system\SystemRoleController::class, 'getMenuByRole']);
Route::post("/role/menuPermission", [\plugin\saiadmin\app\controller\system\SystemRoleController::class, 'menuPermission']);
// 部门管理
fastRoute("dept", \plugin\saiadmin\app\controller\system\SystemDeptController::class);
Route::get("/dept/accessDept", [\plugin\saiadmin\app\controller\system\SystemDeptController::class, 'accessDept']);
// 岗位管理
fastRoute('post', \plugin\saiadmin\app\controller\system\SystemPostController::class);
Route::get("/post/accessPost", [\plugin\saiadmin\app\controller\system\SystemPostController::class, 'accessPost']);
Route::post("/post/downloadTemplate", [plugin\saiadmin\app\controller\system\SystemPostController::class, 'downloadTemplate']);
// 菜单管理
fastRoute('menu', \plugin\saiadmin\app\controller\system\SystemMenuController::class);
Route::get("/menu/accessMenu", [\plugin\saiadmin\app\controller\system\SystemMenuController::class, 'accessMenu']);
// 字典类型管理
fastRoute('dictType', \plugin\saiadmin\app\controller\system\SystemDictTypeController::class);
// 字典数据管理
fastRoute('dictData', \plugin\saiadmin\app\controller\system\SystemDictDataController::class);
// 附件管理
fastRoute('attachment', \plugin\saiadmin\app\controller\system\SystemAttachmentController::class);
Route::post("/attachment/move", [\plugin\saiadmin\app\controller\system\SystemAttachmentController::class, 'move']);
// 附件分类
fastRoute('category', \plugin\saiadmin\app\controller\system\SystemCategoryController::class);
// 系统设置
fastRoute('configGroup', \plugin\saiadmin\app\controller\system\SystemConfigGroupController::class);
Route::post("/configGroup/email", [\plugin\saiadmin\app\controller\system\SystemConfigGroupController::class, 'email']);
fastRoute('config', \plugin\saiadmin\app\controller\system\SystemConfigController::class);
Route::post("/config/batchUpdate", [\plugin\saiadmin\app\controller\system\SystemConfigController::class, 'batchUpdate']);
// 日志管理
Route::get("/logs/getLoginLogPageList", [\plugin\saiadmin\app\controller\system\SystemLogController::class, 'getLoginLogPageList']);
Route::delete("/logs/deleteLoginLog", [\plugin\saiadmin\app\controller\system\SystemLogController::class, 'deleteLoginLog']);
Route::get("/logs/getOperLogPageList", [\plugin\saiadmin\app\controller\system\SystemLogController::class, 'getOperLogPageList']);
Route::delete("/logs/deleteOperLog", [\plugin\saiadmin\app\controller\system\SystemLogController::class, 'deleteOperLog']);
fastRoute("email", \plugin\saiadmin\app\controller\system\SystemMailController::class);
// 服务管理
Route::get("/server/monitor", [\plugin\saiadmin\app\controller\system\SystemServerController::class, 'monitor']);
Route::get("/server/cache", [\plugin\saiadmin\app\controller\system\SystemServerController::class, 'cache']);
Route::post("/server/clear", [\plugin\saiadmin\app\controller\system\SystemServerController::class, 'clear']);
// 数据表维护
Route::get("/database/index", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'index']);
Route::get("/database/recycle", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'recycle']);
Route::delete("/database/delete", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'delete']);
Route::post("/database/recovery", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'recovery']);
Route::get("/database/dataSource", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'source']);
Route::get("/database/detailed", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'detailed']);
Route::post("/database/optimize", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'optimize']);
Route::post("/database/fragment", [\plugin\saiadmin\app\controller\system\DataBaseController::class, 'fragment']);
});
Route::group('/tool', function () {
// 定时任务
fastRoute('crontab', \plugin\saiadmin\app\controller\tool\CrontabController::class);
Route::post("/crontab/run", [\plugin\saiadmin\app\controller\tool\CrontabController::class, 'run']);
Route::get("/crontab/logPageList", [\plugin\saiadmin\app\controller\tool\CrontabController::class, 'logPageList']);
Route::delete('/crontab/deleteCrontabLog', [\plugin\saiadmin\app\controller\tool\CrontabController::class, 'deleteCrontabLog']);
// 代码生成
fastRoute('code', \plugin\saiadmin\app\controller\tool\GenerateTablesController::class);
Route::get("/code/getTableColumns", [\plugin\saiadmin\app\controller\tool\GenerateTablesController::class, 'getTableColumns']);
Route::get("/code/preview", [\plugin\saiadmin\app\controller\tool\GenerateTablesController::class, 'preview']);
Route::post("/code/loadTable", [\plugin\saiadmin\app\controller\tool\GenerateTablesController::class, 'loadTable']);
Route::post("/code/generate", [\plugin\saiadmin\app\controller\tool\GenerateTablesController::class, 'generate']);
Route::post("/code/generateFile", [\plugin\saiadmin\app\controller\tool\GenerateTablesController::class, 'generateFile']);
Route::post("/code/sync", [\plugin\saiadmin\app\controller\tool\GenerateTablesController::class, 'sync']);
});
Route::disableDefaultRoute('saiadmin');

View File

@@ -0,0 +1,74 @@
<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: sai <1430792918@qq.com>
// +----------------------------------------------------------------------
return [
'access_exp' => 8 * 60 * 60, // 登录token有效期默认8小时
// 验证码存储模式
'captcha' => [
// 验证码存储模式 session或者cache
'mode' => getenv('CAPTCHA_MODE'),
// 验证码过期时间 (秒)
'expire' => 300,
],
// excel模板下载路径
'template' => base_path(). '/plugin/saiadmin/public/template',
// excel导出文件路径
'export_path' => base_path() . '/plugin/saiadmin/public/export/',
// 文件开启hash验证开启后上传文件将会判断数据库中是否存在如果存在直接获取
'file_hash' => false,
// 用户信息缓存
'user_cache' => [
'prefix' => 'saiadmin:user_cache:info_',
'expire' => 60 * 60 * 4,
'dept' => 'saiadmin:user_cache:dept_',
'role' => 'saiadmin:user_cache:role_',
'post' => 'saiadmin:user_cache:post_',
],
// 用户权限缓存
'button_cache' => [
'prefix' => 'saiadmin:button_cache:user_',
'expire' => 60 * 60 * 2,
'all' => 'saiadmin:button_cache:all',
'role' => 'saiadmin:button_cache:role_',
'tag' => 'saiadmin:button_cache',
],
// 用户菜单缓存
'menu_cache' => [
'prefix' => 'saiadmin:menu_cache:user_',
'expire' => 60 * 60 * 24 * 7,
'tag' => 'saiadmin:menu_cache',
],
// 字典缓存
'dict_cache' => [
'expire' => 60 * 60 * 24 * 365,
'tag' => 'saiadmin:dict_cache',
],
// 配置数据缓存
'config_cache' => [
'expire' => 60 * 60 * 24 * 365,
'prefix' => 'saiadmin:config_cache:config_',
'tag' => 'saiadmin:config_cache'
],
// 反射缓存
'reflection_cache' => [
'tag' => 'saiadmin:reflection',
'expire' => 60 * 60 * 24 * 365,
'no_need' => 'saiadmin:reflection_cache:no_need_',
'attr' => 'saiadmin:reflection_cache:attr_',
],
];

View File

@@ -0,0 +1,6 @@
<?php
return [
'enable' => true,
'middleware' => [], // Static file Middleware
];

View File

@@ -0,0 +1,10 @@
<?php
return [
// Default language
'locale' => 'zh_CN',
// Fallback language
'fallback_locale' => ['zh_CN', 'en'],
// Folder where language files are stored
'path' => base_path() . "/plugin/saiadmin/resource/translations",
];

View File

@@ -0,0 +1,10 @@
<?php
use support\view\Raw;
use support\view\Twig;
use support\view\Blade;
use support\view\ThinkPHP;
return [
'handler' => Twig::class
];