AutoController.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Controllers\Admin;
  3. use App\Models\Auto;
  4. use App\Controllers\AdminController;
  5. use Ozdemir\Datatables\Datatables;
  6. use App\Utils\DatatablesHelper;
  7. class AutoController extends AdminController
  8. {
  9. public function index($request, $response, $args)
  10. {
  11. $table_config['total_column'] = array('id' => 'ID',
  12. 'datetime' => '时间', 'type' => '类型', 'value' => '内容');
  13. $table_config['default_show_column'] = array('op', 'id',
  14. 'datetime', 'type', 'value');
  15. $table_config['ajax_url'] = 'auto/ajax';
  16. return $this->view()->assign('table_config', $table_config)->display('admin/auto/index.tpl');
  17. }
  18. public function create($request, $response, $args)
  19. {
  20. return $this->view()->display('admin/auto/add.tpl');
  21. }
  22. public function add($request, $response, $args)
  23. {
  24. $auto = new Auto();
  25. $auto->datetime = time();
  26. $auto->value = $request->getParam('content');
  27. $auto->sign = $request->getParam('sign');
  28. $auto->type = 1;
  29. if (!$auto->save()) {
  30. $rs['ret'] = 0;
  31. $rs['msg'] = '添加失败';
  32. return $response->getBody()->write(json_encode($rs));
  33. }
  34. $rs['ret'] = 1;
  35. $rs['msg'] = '添加成功';
  36. return $response->getBody()->write(json_encode($rs));
  37. }
  38. public function delete($request, $response, $args)
  39. {
  40. $id = $request->getParam('id');
  41. $auto = Auto::find($id);
  42. if (!$auto->delete()) {
  43. $rs['ret'] = 0;
  44. $rs['msg'] = '删除失败';
  45. return $response->getBody()->write(json_encode($rs));
  46. }
  47. $rs['ret'] = 1;
  48. $rs['msg'] = '删除成功';
  49. return $response->getBody()->write(json_encode($rs));
  50. }
  51. public function ajax($request, $response, $args)
  52. {
  53. $datatables = new Datatables(new DatatablesHelper());
  54. $datatables->query('Select id,datetime,type,value from auto');
  55. $datatables->edit('datetime', static function ($data) {
  56. return date('Y-m-d H:i:s', $data['datetime']);
  57. });
  58. $datatables->edit('type', static function ($data) {
  59. return $data['type'] == 1 ? '命令下发' : '命令被执行';
  60. });
  61. $body = $response->getBody();
  62. $body->write($datatables->generate());
  63. }
  64. }