AppConfig.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 管理菜单
  7. */
  8. namespace app\system\event;
  9. use app\common\event\Passport;
  10. class AppConfig{
  11. /**
  12. * 管理菜单
  13. * @return json
  14. */
  15. public static function menuAuth($group,int $auth){
  16. if(empty($auth)){
  17. return true;
  18. }
  19. if(!empty($group['auth']) && in_array($auth,ids($group['auth'],true))){
  20. return true;
  21. }
  22. return false;
  23. }
  24. /**
  25. * 管理菜单
  26. * @return json
  27. */
  28. public static function menu(string $miniapp,$type = true,$menu = null){
  29. $file = empty($menu) ? ($type ? 'menu.php' : 'admin.php') : $menu.'.php';
  30. $menu = [];
  31. $module_config = PATH_APP.$miniapp.DS.'config'.DS.$file;
  32. if(is_file($module_config)){
  33. $menu = include $module_config;
  34. }
  35. if(is_array($menu)){
  36. $nav = [];
  37. if($file == 'menu.php'){
  38. //前台
  39. $user = Passport::getUser();
  40. foreach ($menu as $key => $value) {
  41. if(self::menuAuth($value,$user->auth)){
  42. $nav[$key]['name'] = $value['name'];
  43. $nav[$key]['icon'] = $value['icon'];
  44. if(isset($value['menu'])){
  45. foreach ($value['menu'] as $vo) {
  46. if(self::menuAuth($vo,$user->auth)){
  47. $nav[$key]['nav'][] = $vo;
  48. }
  49. }
  50. }
  51. }
  52. }
  53. }else{
  54. //后台
  55. foreach ($menu as $key => $value) {
  56. $nav[$key]['name'] = $value['name'];
  57. $nav[$key]['icon'] = $value['icon'];
  58. if(isset($value['menu'])){
  59. foreach ($value['menu'] as $vo) {
  60. $nav[$key]['nav'][] = $vo;
  61. }
  62. }
  63. }
  64. }
  65. return $nav;
  66. }
  67. return [];
  68. }
  69. /**
  70. * 应用配置信息
  71. * @return json
  72. */
  73. public static function version(string $miniapp){
  74. $module_config = PATH_APP.$miniapp.DS.'config/version.php';
  75. $config = [];
  76. if(is_file($module_config)){
  77. $config = include $module_config;
  78. }
  79. return $config;
  80. }
  81. /**
  82. * 读取权限
  83. * @return json
  84. */
  85. public static function auth(string $miniapp){
  86. $module_config = PATH_APP.$miniapp.DS.'config/auth.php';
  87. $config = [];
  88. if(is_file($module_config)){
  89. $config = include $module_config;
  90. }
  91. return $config;
  92. }
  93. }