AppController.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: ring
  5. * Date: 2019/7/11
  6. * Time: 下午4:44
  7. */
  8. namespace App\Admin\Controllers;
  9. use App\Models\AppSettings;
  10. use Encore\Admin\Controllers\AdminController;
  11. use Encore\Admin\Grid;
  12. use Encore\Admin\Form;
  13. use Encore\Admin\Layout\Content;
  14. use Illuminate\Support\Facades\Cache;
  15. class AppController extends AdminController
  16. {
  17. protected $title = '应用设置';
  18. public function index(Content $content)
  19. {
  20. return parent::index($content);
  21. }
  22. protected function form()
  23. {
  24. $form = new Form(new AppSettings);
  25. $form->display('sole', '唯一标示')->rules('required|min:1');
  26. $form->textarea('access_key', 'access_key/app_id');
  27. $form->textarea('secret_key', 'secret_key');
  28. $form->textarea('extend', '扩展信息');
  29. $form->textarea('other', '其他信息');
  30. $form->switch('enabled', '开/关');
  31. $form->textarea('description', '描述');
  32. $form->hidden('sole');
  33. $form->footer(function ($footer) {
  34. $footer->disableReset();
  35. $footer->disableViewCheck();
  36. $footer->disableEditingCheck();
  37. $footer->disableCreatingCheck();
  38. });
  39. $form->tools(function (Form\Tools $tools) {
  40. $tools->disableDelete();
  41. $tools->disableView();
  42. });
  43. return $form;
  44. }
  45. protected function grid()
  46. {
  47. $grid = new Grid(new AppSettings());
  48. $grid->id('ID')->sortable();
  49. $grid->column('sole', '唯一标示');
  50. $grid->column('access_key', 'access_key')->limit(30);
  51. $grid->column('secret_key', 'secret_key')->limit(30);
  52. $grid->column('enabled', '是否开启')->display(function ($voucher) {
  53. return $voucher? '开' : '关';
  54. });
  55. $grid->column('description', '描述');
  56. $grid->disableExport();
  57. $grid->disableRowSelector();
  58. $grid->disableFilter();
  59. $grid->disableColumnSelector();
  60. $grid->disablePagination();
  61. $grid->disableTools();
  62. $grid->disableCreateButton();
  63. $grid->actions(function ($actions) {
  64. $actions->disableView();
  65. $actions->disableDelete();
  66. $actions->getKey();
  67. });
  68. $grid->model()->orderBy('id', 'desc');
  69. return $grid;
  70. }
  71. public function store()
  72. {
  73. $key=request('sole');
  74. Cache::forget($key);
  75. info('store'.$key,[]);
  76. return $this->form()->store();
  77. }
  78. public function update($id)
  79. {
  80. $key=request('sole');
  81. Cache::forget($key);
  82. info('update'.$key,[]);
  83. return $this->form()->update($id);
  84. }
  85. }