Link.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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\SettingModel;
  8. use app\model\TabbarModel;
  9. class Link extends BaseController
  10. {
  11. public function update(): \think\response\Json
  12. {
  13. $user = $this->getUser(true);
  14. if ($user) {
  15. $link = $this->request->post("link", []);
  16. if ($link) {
  17. $is = LinkModel::where("user_id", $user['user_id'])->find();
  18. if ($is) {
  19. $is->link = $link;
  20. $is->save();
  21. } else {
  22. LinkModel::create(["user_id" => $user['user_id'], "link" => $link]);
  23. }
  24. HistoryModel::create(["user_id" => $user['user_id'], "link" => $link]); //历史记录备份,用于用户误操作回复用途
  25. return $this->success('ok');
  26. }
  27. }
  28. return $this->error('保存失败');
  29. }
  30. public function get(): \think\response\Json
  31. {
  32. $user = $this->getUser();
  33. if ($user) {
  34. $data = LinkModel::find($user['user_id']);
  35. if ($data) {
  36. return $this->success('ok', $data['link']);
  37. }
  38. }
  39. $config = $this->Setting("defaultTab", 'static/defaultTab.json', true);
  40. if ($config) {
  41. $fp = public_path() . $config;
  42. if (file_exists($fp)) {
  43. $file = file_get_contents($fp);
  44. $json = json_decode($file, true);
  45. return $this->success('ok', $json['link'] ?? []);
  46. }
  47. }
  48. return $this->success('ok', []);
  49. }
  50. public function reset(): \think\response\Json
  51. {
  52. $user = $this->getUser();
  53. if ($user) {
  54. $data = LinkModel::find($user['user_id']);
  55. if ($data) {
  56. $data->delete();
  57. }
  58. $data = TabbarModel::find($user['user_id']);
  59. if ($data) {
  60. $data->delete();
  61. }
  62. $data = ConfigModel::find($user['user_id']);
  63. if ($data) {
  64. $data->delete();
  65. }
  66. }
  67. return $this->success('ok');
  68. }
  69. }