Admin.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace app\controller;
  3. use app\BaseController;
  4. use app\model\ConfigModel;
  5. use app\model\HistoryModel;
  6. use app\model\LinkModel;
  7. use app\model\NoteModel;
  8. use app\model\SettingModel;
  9. use app\model\TabbarModel;
  10. use app\model\TokenModel;
  11. use app\model\UserModel;
  12. use app\model\UserSearchEngineModel;
  13. use think\facade\Cache;
  14. class Admin extends BaseController
  15. {
  16. public function UserList(): \think\response\Json
  17. {
  18. $this->getAdmin();
  19. $limit = $this->request->all('limit', 50);
  20. $search = $this->request->post('search');
  21. $sql = [];
  22. if (isset($search['mail']) && mb_strlen($search['mail']) > 0) {
  23. $sql['mail'] = $search['mail'];
  24. }
  25. $user = UserModel::where($sql)->withoutField('password')->order($this->request->post('sort.prop', 'id'), $this->request->post('sort.order', 'desc'))->paginate($limit);
  26. return $this->success('ok', $user);
  27. }
  28. function userUpdate(): \think\response\Json
  29. {
  30. $this->getAdmin();
  31. is_demo_mode(true);
  32. $id = $this->request->post('id');
  33. $user = UserModel::where('id', $id)->find();
  34. $data = $this->request->post();
  35. if (!$user) {
  36. $user = new UserModel();
  37. }
  38. //如果字段中的password有内容则md5加密后保存
  39. if (isset($data['password']) && mb_strlen($data['password']) > 0) {
  40. $data['password'] = md5($data['password']);
  41. } else {
  42. unset($data['password']);
  43. }
  44. $user->save($data);
  45. return $this->success('保存成功');
  46. }
  47. //用户删除函数
  48. function userDelete(): \think\response\Json
  49. {
  50. $this->getAdmin();
  51. is_demo_mode(true);
  52. $id = $this->request->post('id');
  53. $user = UserModel::where('id', $id)->find();
  54. if ($user) {//删除当前用户下的所有数据。
  55. LinkModel::where("user_id", $user['id'])->delete();//删除标签
  56. TabbarModel::where("user_id", $user['id'])->delete();//删除快捷图标
  57. HistoryModel::where('user_id', $user['id'])->delete();//删除历史图标
  58. ConfigModel::where('user_id', $user['id'])->delete();//删除配置信息
  59. NoteModel::where('user_id', $user['id'])->delete();//删除笔记
  60. UserSearchEngineModel::where('user_id', $user['id'])->delete();//删除自定义搜索引擎
  61. TokenModel::where('user_id', $user['id'])->delete();//删除所有Token
  62. $user->delete();//删除用户
  63. }
  64. return $this->success("删除完毕");
  65. }
  66. function export(): \think\response\Json
  67. {
  68. $this->getAdmin();
  69. is_demo_mode(true);
  70. $link = $this->request->post('link', []);
  71. if ($link) {
  72. $saveName = public_path() . 'static/exportsTabLink.json';
  73. $status = file_put_contents($saveName, json_encode($link, true, JSON_UNESCAPED_UNICODE));
  74. if ($status) {
  75. $setting = new SettingModel();
  76. if ($setting->find('defaultTab')) {
  77. $setting->update(['value' => 'static/exportsTabLink.json'], ['keys' => 'defaultTab']);
  78. } else {
  79. $setting->save(['keys' => 'defaultTab', 'value' => 'static/exportsTabLink.json']);
  80. }
  81. Cache::delete('webConfig');
  82. return $this->success('保存成功');
  83. }
  84. }
  85. return $this->error('保存失败');
  86. }
  87. }