feat: 发布智能体版

This commit is contained in:
augushong
2026-03-26 20:22:34 +08:00
parent 7ee9e102a5
commit 8cc08bcb8c
138 changed files with 7964 additions and 660 deletions

View File

@@ -2,13 +2,47 @@
namespace think;
use app\common\command\Curd;
use app\common\command\OssStatic;
use app\common\command\Timer;
use app\common\command\admin\Clear;
use app\common\command\admin\MigrateFileData;
use app\common\command\admin\ResetPassword;
use app\common\command\admin\Update;
use app\common\command\admin\UpdateCode;
use app\common\command\admin\Version;
use app\common\command\admin\menu\AdminMenuCreate;
use app\common\command\admin\menu\AdminMenuDelete;
use app\common\command\admin\menu\AdminMenuExport;
use app\common\command\admin\menu\AdminMenuList;
use app\common\command\admin\menu\AdminMenuUpdate;
use app\common\command\admin\permission\AdminPermissionNodes;
use app\common\command\admin\permission\PermissionUser;
use app\common\command\admin\role\AdminRoleCreate;
use app\common\command\admin\role\AdminRoleDelete;
use app\common\command\admin\role\AdminRoleInfo;
use app\common\command\admin\role\AdminRoleList;
use app\common\command\admin\role\AdminRolePermissionAssign;
use app\common\command\admin\role\AdminRolePermissionList;
use app\common\command\admin\role\AdminRolePermissionRevoke;
use app\common\command\admin\user\AdminUserRoleAssign;
use app\common\command\admin\user\AdminUserRoleList;
use app\common\command\admin\user\AdminUserRoleRevoke;
use app\common\command\curd\Migrate;
use app\common\command\scheme\Backup;
use app\common\command\scheme\Make;
use app\common\command\scheme\Sync;
use app\common\command\tools\http\ToolsHttpCall;
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\agent\ToolsAgentPublish;
use app\common\command\tools\log\ToolsLogSearch;
use app\common\command\tools\log\ToolsLogShow;
use app\common\command\tools\log\ToolsLogStats;
use app\common\command\Test;
use app\common\event\AdminLoginSuccess\LogEvent;
use app\common\event\AdminLoginType\DemoEvent;
@@ -57,13 +91,47 @@ class UlthonAdminService extends Service
// 绑定命令行
$this->commands([
Test::class,
Curd::class,
OssStatic::class,
ResetPassword::class,
Timer::class,
Version::class,
Migrate::class,
Clear::class,
Update::class,
UpdateCode::class,
AdminPermissionNodes::class,
PermissionUser::class,
AdminMenuList::class,
AdminMenuDelete::class,
AdminMenuCreate::class,
AdminMenuUpdate::class,
AdminMenuExport::class,
AdminRoleCreate::class,
AdminRoleDelete::class,
AdminRoleList::class,
AdminRoleInfo::class,
AdminRolePermissionAssign::class,
AdminRolePermissionRevoke::class,
AdminRolePermissionList::class,
AdminUserRoleAssign::class,
AdminUserRoleRevoke::class,
AdminUserRoleList::class,
Make::class,
Sync::class,
Backup::class,
ToolsHttpCall::class,
MigrateFileData::class,
ToolsAgentPublish::class,
ToolsDbQuery::class,
ToolsDbExecute::class,
ToolsDbTable::class,
ToolsDbInfo::class,
ToolsDbDesc::class,
ToolsDbCount::class,
ToolsLogShow::class,
ToolsLogSearch::class,
ToolsLogStats::class,
]);
// 绑定标识容器

View File

@@ -110,32 +110,39 @@ class DebugMysql implements LogHandlerInterface
$log_key = uniqid();
}
foreach ($log as $log_level => $log_list) {
foreach ($log_list as $key => $log_item) {
if (!is_string($log_item)) {
$log_item = print_r($log_item, true);
}
foreach ($log as $log_item) {
// 适配 ThinkPHP 8.x 的 LogRecord 对象格式
// 兼容旧格式:包含 type 和 message 属性的对象
if (is_object($log_item) && isset($log_item->type) && isset($log_item->message)) {
$log_level = $log_item->type;
$log_content = $log_item->message;
} else {
continue;
}
$log_data = [
'level' => $log_level,
'content' => $log_item,
'create_time' => $create_time,
'create_time_title' => $create_time_title,
'uid' => $log_key,
'app_name' => $app_name,
'controller_name' => $controller_name,
'action_name' => $action_name,
];
if (!is_string($log_content)) {
$log_content = print_r($log_content, true);
}
try {
if (!is_null($this->pdo)) {
$this->saveByConnect($log_data);
} else {
$this->saveByFile($log_data);
}
} catch (\Throwable $th) {
$log_data = [
'level' => $log_level,
'content' => $log_content,
'create_time' => $create_time,
'create_time_title' => $create_time_title,
'uid' => $log_key,
'app_name' => $app_name,
'controller_name' => $controller_name,
'action_name' => $action_name,
];
try {
if (!is_null($this->pdo)) {
$this->saveByConnect($log_data);
} else {
$this->saveByFile($log_data);
}
} catch (\Throwable $th) {
$this->saveByFile($log_data);
}
}
@@ -242,7 +249,7 @@ class DebugMysql implements LogHandlerInterface
$dirname = dirname($log_path);
if (!is_dir($dirname)) {
mkdir($log_path, 0777, true);
mkdir($dirname, 0777, true);
}
$first_line = false;