LinkDict.php 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的多应用管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\dict\diy;
  12. use core\dict\DictLoader;
  13. /**
  14. * 自定义链接
  15. * Class LinkDict
  16. * @package app\dict\diy
  17. */
  18. class LinkDict
  19. {
  20. /**
  21. * 查询存在页面路由的应用插件列表 query 格式:'query' => 'addon'
  22. * 查询插件的链接列表,包括系统的链接 addon 格式:'addon' => 'shop'
  23. * @param array $params
  24. * @return array|null
  25. */
  26. public static function getLink($params = [])
  27. {
  28. $system_links = [
  29. 'SYSTEM_LINK' => [
  30. 'title' => get_lang('dict_diy.system_link'),
  31. 'addon_info' => [
  32. 'title' => '系统',
  33. 'key' => 'app'
  34. ],
  35. 'child_list' => [
  36. [
  37. 'name' => 'INDEX',
  38. 'title' => get_lang('dict_diy.system_link_index'),
  39. 'url' => '/app/pages/index/index',
  40. 'is_share' => 1,
  41. 'action' => 'decorate' // 默认空,decorate 表示支持装修
  42. ],
  43. ]
  44. ],
  45. 'MEMBER_LINK' => [
  46. 'title' => get_lang('dict_diy.member_link'),
  47. 'addon_info' => [
  48. 'title' => '系统',
  49. 'key' => 'app'
  50. ],
  51. 'child_list' => [
  52. [
  53. 'name' => 'MEMBER_CENTER',
  54. 'title' => get_lang('dict_diy.member_index'),
  55. 'url' => '/app/pages/member/index',
  56. 'is_share' => 1,
  57. 'action' => 'decorate'
  58. ],
  59. [
  60. 'name' => 'MEMBER_PERSONAL',
  61. 'title' => get_lang('dict_diy.member_my_personal'),
  62. 'url' => '/app/pages/member/personal',
  63. 'is_share' => 1,
  64. 'action' => ''
  65. ],
  66. [
  67. 'name' => 'MEMBER_BALANCE',
  68. 'title' => get_lang('dict_diy.member_my_balance'),
  69. 'url' => '/app/pages/member/balance',
  70. 'is_share' => 1,
  71. 'action' => ''
  72. ],
  73. [
  74. 'name' => 'MEMBER_POINT',
  75. 'title' => get_lang('dict_diy.member_my_point'),
  76. 'url' => '/app/pages/member/point',
  77. 'is_share' => 1,
  78. 'action' => ''
  79. ],
  80. // [
  81. // 'name' => 'MEMBER_COMMISSION',
  82. // 'title' => get_lang('dict_diy.member_my_commission'),
  83. // 'url' => '/app/pages/member/commission',
  84. // 'is_share' => 1,
  85. // 'action' => ''
  86. // ],
  87. [
  88. 'name' => 'MEMBER_ADDRESS',
  89. 'title' => get_lang('dict_diy.member_my_address'),
  90. 'url' => '/app/pages/member/address',
  91. 'is_share' => 1,
  92. 'action' => ''
  93. ],
  94. //会员等级
  95. [
  96. 'name' => 'MEMBER_MY_LEVEL',
  97. 'title' => get_lang('dict_diy.member_my_level'),
  98. 'url' => '/app/pages/member/level',
  99. 'is_share' => 1,
  100. 'action' => ''
  101. ],
  102. //我的签到
  103. [
  104. 'name' => 'MEMBER_MY_SIGN_IN',
  105. 'title' => get_lang('dict_diy.member_my_sign_in'),
  106. 'url' => '/app/pages/member/sign_in',
  107. 'is_share' => 1,
  108. 'action' => ''
  109. ],
  110. //核销台
  111. [
  112. 'name' => 'MEMBER_VERIFY_INDEX',
  113. 'title' => get_lang('dict_diy.member_verify_index'),
  114. 'url' => '/app/pages/verify/index',
  115. 'is_share' => 1,
  116. 'action' => ''
  117. ]
  118. ]
  119. ],
  120. 'DIY_PAGE' => [
  121. 'title' => get_lang('dict_diy.diy_page'),
  122. 'addon_info' => [
  123. 'title' => '系统',
  124. 'key' => 'app'
  125. ],
  126. 'child_list' => []
  127. ],
  128. 'DIY_LINK' => [
  129. 'title' => get_lang('dict_diy.diy_link'),
  130. 'addon_info' => [
  131. 'title' => '系统',
  132. 'key' => 'app'
  133. ],
  134. 'child_list' => []
  135. ],
  136. 'DIY_JUMP_OTHER_APPLET' => [
  137. 'title' => get_lang('dict_diy.diy_jump_other_applet'),
  138. 'addon_info' => [
  139. 'title' => '系统',
  140. 'key' => 'app'
  141. ],
  142. 'child_list' => []
  143. ],
  144. 'DIY_MAKE_PHONE_CALL' => [
  145. 'title' => get_lang('dict_diy.diy_make_phone_call'),
  146. 'addon_info' => [
  147. 'title' => '系统',
  148. 'key' => 'app'
  149. ],
  150. 'child_list' => []
  151. ]
  152. ];
  153. // 查询存在页面路由的应用插件列表
  154. if (!empty($params[ 'query' ]) && $params[ 'query' ] == 'addon') {
  155. $system = [
  156. 'app' => [
  157. 'title' => '系统',
  158. 'key' => 'app'
  159. ]
  160. ];
  161. $addons = ( new DictLoader("UniappLink") )->load([ 'data' => $system, 'params' => $params ]);
  162. $app = array_merge($system, $addons);
  163. return $app;
  164. } else {
  165. return ( new DictLoader("UniappLink") )->load([ 'data' => $system_links, 'params' => $params ]);
  166. }
  167. }
  168. }