ajax()) { return view('admin/server/index'); } $records = Server::query()->where([])->orderByDesc('server_id') ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE); $items = $records->items(); array_walk($items, function ($item) { $item->type_title = Server::SERVER_TYPE[$item->server_type] ?? ''; }); return response()->json([ 'rows' => $items, 'total' => $records->total() ]); } //保存 public function save(SaveRequest $request, $id) { if (!$request->ajax()) { $record = Server::query()->find($id); return view('admin/server/save', [ 'data' => $record ]); } $validated = $request->validated(); Server::query()->updateOrCreate(['server_id' => $id], $validated); return response()->json(['message' => '操作成功']); } //批量删除 public function batchDelete(Request $request) { $ids = $request->input('ids');; Server::destroy($ids); return response()->json(['message' => '操作成功']); } //重启 public function reload($id) { $record = Server::query()->where(['server_id' => $id])->first(); if (!$record) return response()->json(['message' => '数据不存在'], 400); try { Ssh::factory($record->server_ip, $record->server_user_name, $record->server_passwd); Log::info(Ssh::exec('lnmp restart')); } catch (\Throwable $throwable) { Log::error(var_export($throwable->getMessage(),1)); return response()->json(['message' =>var_export( $throwable->getMessage(),1)], 400); } return response()->json(['message' => '操作成功']); } }