改进 模块 数据显示

This commit is contained in:
iVampireSP.com 2023-01-14 23:10:04 +08:00
parent 92ab5ff024
commit 056a4c88bb
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
3 changed files with 62 additions and 52 deletions

View File

@ -61,7 +61,7 @@ public function store(Request $request): RedirectResponse
$module->save(); $module->save();
return redirect()->route('admin.modules.edit', $module)->with('success', '模块创建成功, 请重置以获得 API Token。'); return redirect()->route('admin.modules.edit', $module)->with('success', '模块创建成功。');
} }
@ -101,7 +101,7 @@ public function show(Module $module): View
*/ */
public function edit(Module $module): View public function edit(Module $module): View
{ {
$module = $module->makeVisible('wecom_key'); $module = $module->makeVisible(['wecom_key', 'api_token']);
return view('admin.modules.edit', compact('module')); return view('admin.modules.edit', compact('module'));
} }
@ -118,16 +118,18 @@ public function update(Request $request, Module $module): RedirectResponse
{ {
$request->validate($this->rules()); $request->validate($this->rules());
if ($request->input('reset_api_token')) {
$module->api_token = Str::random(60);
}
$module->id = $request->input('id'); $module->id = $request->input('id');
$module->name = $request->input('name'); $module->name = $request->input('name');
$module->url = $request->input('url'); $module->url = $request->input('url');
$module->status = $request->input('status'); $module->status = $request->input('status');
$module->wecom_key = $request->input('wecom_key'); $module->wecom_key = $request->input('wecom_key');
if (!$request->filled('api_token')) {
$module->api_token = Str::random(60);
} else {
$module->api_token = $request->input('api_token');
}
$module->save(); $module->save();
$text = '模块更新成功'; $text = '模块更新成功';
@ -158,8 +160,9 @@ public function destroy(Module $module): RedirectResponse
public function allows(Module $module): View public function allows(Module $module): View
{ {
$allows = (new ModuleAllow)->where('module_id', $module->id)->with('allowed_module')->paginate(50); $allows = (new ModuleAllow)->where('module_id', $module->id)->with('allowed_module')->paginate(50);
$modules = (new Module)->where('id', '!=', $module->id)->get();
return view('admin.modules.allows', compact('module', 'allows')); return view('admin.modules.allows', compact('module', 'allows', 'modules'));
} }
public function allows_store(Request $request, Module $module): RedirectResponse public function allows_store(Request $request, Module $module): RedirectResponse

View File

@ -44,7 +44,13 @@
<div class="form-group"> <div class="form-group">
<label for="allowed_module_id">另一个 模块</label> <label for="allowed_module_id">另一个 模块</label>
<input type="text" class="form-control" id="allowed_module_id" name="allowed_module_id"/>
<select name="allowed_module_id" id="allowed_module_id" class="form-control">
<option value=""></option>
@foreach ($modules as $module)
<option value="{{ $module->id }}">{{ $module->name }}</option>
@endforeach
</select>
</div> </div>

View File

@ -3,59 +3,60 @@
@section('title', '模块: ' . $module->name) @section('title', '模块: ' . $module->name)
@section('content') @section('content')
<h3>{{ $module->name }}</h3> <h3>{{ $module->name }}</h3>
<a class="mt-3" href="{{ route('admin.modules.show', $module) }}">查看</a> <a class="mt-3" href="{{ route('admin.modules.show', $module) }}">查看</a>
<a class="mt-3" href="{{ route('admin.modules.allows', $module) }}">MQTT 授权</a> <a class="mt-3" href="{{ route('admin.modules.allows', $module) }}">MQTT 授权</a>
<form method="POST" action="{{ route('admin.modules.update', $module)}}"> <form method="POST" action="{{ route('admin.modules.update', $module)}}">
@csrf @csrf
@method('PATCH') @method('PATCH')
<div class="form-group"> <div class="form-group">
<label for="name">ID (修改后,路由也会改变)</label> <label for="id">ID (修改后,路由也会改变)</label>
<input type="text" class="form-control" id="id" name="id" value="{{ $module->id }}"> <input type="text" class="form-control" id="id" name="id" value="{{ $module->id }}">
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="name">名称</label> <label for="name">名称</label>
<input type="text" class="form-control" id="name" name="name" value="{{ $module->name }}"> <input type="text" class="form-control" id="name" name="name" value="{{ $module->name }}">
</div> </div>
<div class="form-group mt-1"> <div class="form-group mt-1">
<label for="name">对端地址</label> <label for="url">对端地址</label>
<input type="text" class="form-control" id="url" name="url" value="{{ $module->url }}"> <input type="text" class="form-control" id="url" name="url" value="{{ $module->url }}">
</div> </div>
<div class="form-group mt-1"> <div class="form-group mt-1">
<label for="name">企业微信 群机器人 WebHook Key</label> <label for="api_token">通信密钥( Api Token, 非常重要,请勿泄露。)</label>
<input type="text" class="form-control" id="wecom_key" name="wecom_key" value="{{ $module->wecom_key }}" autocomplete="off"> <input type="text" class="form-control" id="api_token" name="api_token" value="{{ $module->api_token }}"
</div> autocomplete="off">
</div>
<div class="form-group mt-1"> <div class="form-group mt-1">
<label for="status">状态</label> <label for="wecom_key">企业微信 群机器人 WebHook Key</label>
<select class="form-control" id="status" name="status"> <input type="text" class="form-control" id="wecom_key" name="wecom_key" value="{{ $module->wecom_key }}"
<option value="up" @if ($module->status === 'up') selected @endif>正常</option> autocomplete="off">
<option value="down" @if ($module->status === 'down') selected @endif>异常</option> </div>
<option value="maintenance" @if ($module->status === 'maintenance') selected @endif>维护模式</option>
</select>
</div>
<div class="form-check mt-1"> <div class="form-group mt-1">
<input class="form-check-input" type="checkbox" value="1" id="reset_api_token" name="reset_api_token"> <label for="status">状态</label>
<label class="form-check-label" for="reset_api_token"> <select class="form-control" id="status" name="status">
重置 Api Token(重置后,需要到对应的模块中更新,否则会导致模块无法正常工作) <option value="up" @if ($module->status === 'up') selected @endif>正常</option>
</label> <option value="down" @if ($module->status === 'down') selected @endif>异常</option>
</div> <option value="maintenance" @if ($module->status === 'maintenance') selected @endif>维护模式</option>
</select>
</div>
<button type="submit" class="btn btn-primary mt-3">提交</button> <button type="submit" class="btn btn-primary mt-3">提交</button>
</form> </form>
<hr /> <hr/>
<form method="POST" action="{{ route('admin.modules.destroy', $module)}}" onsubmit="return confirm('删除后,业务将无法正常进行。')"> <form method="POST" action="{{ route('admin.modules.destroy', $module)}}"
@csrf onsubmit="return confirm('删除后,业务将无法正常进行。')">
@method('DELETE') @csrf
<button type="submit" class="btn btn-danger">删除</button> @method('DELETE')
</form> <button type="submit" class="btn btn-danger">删除</button>
</form>
@endsection @endsection