UniappPages.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace core\dict;
  12. class UniappPages extends BaseDict
  13. {
  14. /**
  15. * 系统uniapp页面
  16. * @param array $data
  17. * @return array|mixed
  18. */
  19. public function load(array $data = [])
  20. {
  21. // 筛选插件
  22. if (!empty($data[ 'addon' ])) {
  23. $addons = [ $data[ 'addon' ] ];
  24. } else {
  25. $addons = $this->getLocalAddons();
  26. }
  27. $page_files = [];
  28. foreach ($addons as $v) {
  29. $page_path = $this->getAddonDictPath($v) . "diy" . DIRECTORY_SEPARATOR . "pages.php";
  30. if (is_file($page_path)) {
  31. $page_files[] = $page_path;
  32. }
  33. }
  34. $page_files_data = $this->loadFiles($page_files);
  35. if (!empty($data[ 'addon' ])) {
  36. $pages = [];
  37. } else {
  38. $pages = $data;
  39. }
  40. foreach ($page_files_data as $file_data) {
  41. if (empty($pages)) {
  42. $pages = $file_data;
  43. } else {
  44. $pages = array_merge2($pages, $file_data);
  45. }
  46. }
  47. return $pages;
  48. }
  49. }