SsConfigController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Http\Controllers\Admin\Config;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\SsConfig;
  5. use Exception;
  6. use Illuminate\Http\Request;
  7. use Log;
  8. use Response;
  9. use Validator;
  10. class SsConfigController extends Controller
  11. {
  12. // 添加SS配置
  13. public function store(Request $request)
  14. {
  15. $validator = Validator::make($request->all(), [
  16. 'name' => 'required|string|unique:ss_config,name',
  17. 'type' => 'required|numeric|between:1,3',
  18. ]);
  19. if ($validator->fails()) {
  20. return Response::json(['status' => 'fail', 'message' => $validator->errors()->all()]);
  21. }
  22. if (SsConfig::create($validator->validated())) {
  23. return Response::json(['status' => 'success', 'message' => '添加成功']);
  24. }
  25. return Response::json(['status' => 'fail', 'message' => '添加失败']);
  26. }
  27. // 设置SS默认配置
  28. public function update(SsConfig $ss)
  29. {
  30. // 去除该配置所属类型的默认值
  31. SsConfig::default()->type($ss->type)->update(['is_default' => 0]);
  32. // 将该ID对应记录值置为默认值
  33. $ss->update(['is_default' => 1]);
  34. return Response::json(['status' => 'success', 'message' => '操作成功']);
  35. }
  36. // 删除SS配置
  37. public function destroy(SsConfig $ss)
  38. {
  39. try {
  40. if ($ss->delete()) {
  41. return Response::json(['status' => 'success', 'message' => '删除成功']);
  42. }
  43. } catch (Exception $e) {
  44. Log::error('删除SS配置时失败:'.$e->getMessage());
  45. return Response::json(['status' => 'fail', 'message' => '删除失败:'.$e->getMessage()]);
  46. }
  47. return Response::json(['status' => 'fail', 'message' => '删除失败']);
  48. }
  49. }