PageLink.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\adminapi\controller\v1\diy;
  12. use app\adminapi\controller\AuthController;
  13. use app\services\diy\DiyServices;
  14. use app\services\diy\PageCategoryServices;
  15. use app\services\diy\PageLinkServices;
  16. use app\services\product\product\StoreCategoryServices;
  17. use think\facade\App;
  18. /**
  19. * Class PageLink
  20. * @package app\controller\admin\v1\diy
  21. */
  22. class PageLink extends AuthController
  23. {
  24. /**
  25. * PageLink constructor.
  26. * @param App $app
  27. * @param PageLinkServices $services
  28. */
  29. public function __construct(App $app, PageLinkServices $services)
  30. {
  31. parent::__construct($app);
  32. $this->services = $services;
  33. }
  34. /**
  35. * 获取页面链接分类
  36. * @return mixed
  37. */
  38. public function getCategory(PageCategoryServices $services)
  39. {
  40. return app('json')->success($services->getCategroyList());
  41. }
  42. /**
  43. * 获取页面链接
  44. * @param $cate_id
  45. * @return mixed
  46. */
  47. public function getLinks($cate_id, PageCategoryServices $pageCategoryServices)
  48. {
  49. if (!$cate_id) return app('json')->fail(100100);
  50. $category = $pageCategoryServices->get((int)$cate_id);
  51. if (!$category) {
  52. return app('json')->fail(400103);
  53. }
  54. switch ($category['type']) {
  55. case 'special':
  56. /** @var DiyServices $diyServices */
  57. $diyServices = app()->make(DiyServices::class);
  58. $data = $diyServices->getDiyList(['type' => 2]);
  59. break;
  60. case 'product_category':
  61. /** @var StoreCategoryServices $storeCategoryServices */
  62. $storeCategoryServices = app()->make(StoreCategoryServices::class);
  63. $data = $storeCategoryServices->getList(['cate_name' => '', 'pid' => '', 'is_show' => '']);
  64. break;
  65. default:
  66. $data = $this->services->getLinkList(['cate_id' => $cate_id]);
  67. break;
  68. }
  69. return app('json')->success($data);
  70. }
  71. /**
  72. * 保存链接
  73. * @param $cate_id
  74. * @param PageCategoryServices $pageCategoryServices
  75. * @return mixed
  76. */
  77. public function saveLink($cate_id, PageCategoryServices $pageCategoryServices)
  78. {
  79. $data = $this->request->getMore([
  80. ['name', ''],
  81. ['url', '']
  82. ]);
  83. if (!$cate_id || !$data['name'] || !$data['url']) return app('json')->fail(100100);
  84. $category = $pageCategoryServices->get((int)$cate_id);
  85. if (!$category) {
  86. return app('json')->fail(400103);
  87. }
  88. $data['cate_id'] = $cate_id;
  89. $data['add_time'] = time();
  90. if (!$this->services->save($data)) {
  91. return app('json')->fail(100022);
  92. }
  93. return app('json')->success(100021);
  94. }
  95. /**
  96. * 删除链接
  97. * @param $id
  98. * @return mixed
  99. */
  100. public function del($id)
  101. {
  102. if (!$id) return app('json')->fail(100100);
  103. $this->services->del($id);
  104. return app('json')->success(100002);
  105. }
  106. }