AppService.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\service\admin\sys;
  12. use core\base\BaseAdminService;
  13. /**
  14. * 应用管理
  15. */
  16. class AppService extends BaseAdminService
  17. {
  18. public function __construct()
  19. {
  20. parent::__construct();
  21. }
  22. /**
  23. * 获取应用列表
  24. * @return array
  25. */
  26. public function getAppList()
  27. {
  28. $data = event('AppManage');
  29. //
  30. $category_list = [];
  31. $list = [];
  32. foreach ($data as $v)
  33. {
  34. if(isset($v['category']))
  35. {
  36. $category_list = empty($category_list) ? $v['category'] : array_merge($category_list, $v['category']);
  37. unset($v['category']);
  38. }
  39. $list = empty($list) ? $v : array_merge($list, $v);
  40. }
  41. foreach ($category_list as $k_category => $category)
  42. {
  43. $category_list[$k_category]['sort'] = $category['sort'] ?? 100;
  44. $category_list[$k_category]['app_list'] = [];
  45. foreach ($list as $app)
  46. {
  47. $app_category = $app['category'] ?? "basic";
  48. if($app_category == $category['key'])
  49. {
  50. $category_list[$k_category]['app_list'][] = $app;
  51. }
  52. }
  53. }
  54. $sort = array_column($category_list, 'sort');
  55. array_multisort($category_list, $sort);
  56. return $category_list;
  57. }
  58. }