1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace App\Admin\Controllers;
- use App\Services\SystemExceptionService;
- use Slowlyo\OwlAdmin\Controllers\AdminController;
- /**
- * 系统异常管理
- */
- class SystemExceptionController extends AdminController
- {
- protected string $serviceName = SystemExceptionService::class;
- public function list()
- {
- $crud = $this->baseCRUD()
- ->filterTogglable(false)
- ->headerToolbar([
- amis()->Button()->label('批量AI分析')->actionType('ajax')->api('POST:/admin-api/system-exceptions/batch-analyze'),
- ...$this->baseHeaderToolBar()
- ])
- ->columns([
- amis()->TableColumn('id', 'ID')->sortable(),
- amis()->TableColumn('type', '异常类型'),
- amis()->TableColumn('message', '异常信息')->type('text'),
- amis()->TableColumn('file', '文件路径'),
- amis()->TableColumn('line', '行号'),
- amis()->TableColumn('status', '状态')
- ->type('status')
- ->labels([
- '未处理' => 'danger',
- '处理中' => 'warning',
- '已处理' => 'success',
- '忽略' => 'default'
- ]),
- amis()->TableColumn('solution', 'AI解决方案')->type('text'),
- amis()->TableColumn('handler', '处理人'),
- amis()->TableColumn('handled_at', '处理时间')->type('datetime'),
- amis()->TableColumn('created_at', '创建时间')->type('datetime')->sortable(),
- amis()->Operation()->label('操作')->buttons([
- amis()->Button()
- ->label('AI分析')
- ->level('primary')
- ->actionType('ajax')
- ->api('POST:/admin-api/system-exceptions/${id}/analyze'),
- amis()->Button()
- ->label('标记处理')
- ->level('success')
- ->actionType('ajax')
- ->api('POST:/admin-api/system-exceptions/${id}/mark-handled'),
- amis()->Button()
- ->label('忽略')
- ->level('default')
- ->actionType('ajax')
- ->api('POST:/admin-api/system-exceptions/${id}/ignore'),
- ])
- ]);
- return $this->baseList($crud);
- }
- public function detail()
- {
- return $this->baseDetail()->body([
- amis()->TextControl('id', 'ID')->static(),
- amis()->TextControl('type', '异常类型')->static(),
- amis()->TextareaControl('message', '异常信息')->static(),
- amis()->TextControl('file', '文件路径')->static(),
- amis()->TextControl('line', '行号')->static(),
- amis()->TextareaControl('trace', '堆栈信息')->static(),
- amis()->JsonControl('request_data', '请求数据')->static(),
- amis()->TextControl('status', '状态')->static(),
- amis()->TextareaControl('solution', 'AI解决方案')->static(),
- amis()->TextControl('handler', '处理人')->static(),
- amis()->TextControl('handled_at', '处理时间')->static(),
- amis()->TextControl('created_at', '创建时间')->static(),
- ]);
- }
- }
|