LinkDict.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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_info = [
  29. 'title' => '系统',
  30. 'key' => 'app'
  31. ];
  32. $system_links = [
  33. 'SYSTEM_BASE_LINK' => [
  34. 'title' => '系统页面',
  35. 'addon_info' => $system_info,
  36. 'type' => 'folder', // 类型,folder 表示文件夹,link 表示链接
  37. 'child_list' => [
  38. [
  39. 'name' => 'SYSTEM_LINK',
  40. 'title' => get_lang('dict_diy.system_link'),
  41. 'child_list' => [
  42. [
  43. 'name' => 'INDEX',
  44. 'title' => get_lang('dict_diy.system_link_index'),
  45. 'url' => '/app/pages/index/index',
  46. 'is_share' => 1,
  47. 'action' => 'decorate' // 默认空,decorate 表示支持装修
  48. ],
  49. ]
  50. ],
  51. [
  52. 'name' => 'MEMBER_LINK',
  53. 'title' => get_lang('dict_diy.member_link'),
  54. 'child_list' => [
  55. [
  56. 'name' => 'MEMBER_CENTER',
  57. 'title' => get_lang('dict_diy.member_index'),
  58. 'url' => '/app/pages/member/index',
  59. 'is_share' => 1,
  60. 'action' => 'decorate'
  61. ],
  62. [
  63. 'name' => 'MEMBER_PERSONAL',
  64. 'title' => get_lang('dict_diy.member_my_personal'),
  65. 'url' => '/app/pages/member/personal',
  66. 'is_share' => 1,
  67. 'action' => ''
  68. ],
  69. [
  70. 'name' => 'MEMBER_BALANCE',
  71. 'title' => get_lang('dict_diy.member_my_balance'),
  72. 'url' => '/app/pages/member/balance',
  73. 'is_share' => 1,
  74. 'action' => ''
  75. ],
  76. [
  77. 'name' => 'MEMBER_POINT',
  78. 'title' => get_lang('dict_diy.member_my_point'),
  79. 'url' => '/app/pages/member/point',
  80. 'is_share' => 1,
  81. 'action' => ''
  82. ],
  83. // [
  84. // 'name' => 'MEMBER_COMMISSION',
  85. // 'title' => get_lang('dict_diy.member_my_commission'),
  86. // 'url' => '/app/pages/member/commission',
  87. // 'is_share' => 1,
  88. // 'action' => ''
  89. // ],
  90. [
  91. 'name' => 'MEMBER_ADDRESS',
  92. 'title' => get_lang('dict_diy.member_my_address'),
  93. 'url' => '/app/pages/member/address',
  94. 'is_share' => 1,
  95. 'action' => ''
  96. ],
  97. //会员等级
  98. [
  99. 'name' => 'MEMBER_MY_LEVEL',
  100. 'title' => get_lang('dict_diy.member_my_level'),
  101. 'url' => '/app/pages/member/level',
  102. 'is_share' => 1,
  103. 'action' => ''
  104. ],
  105. //我的签到
  106. [
  107. 'name' => 'MEMBER_MY_SIGN_IN',
  108. 'title' => get_lang('dict_diy.member_my_sign_in'),
  109. 'url' => '/app/pages/member/sign_in',
  110. 'is_share' => 1,
  111. 'action' => ''
  112. ],
  113. //核销台
  114. [
  115. 'name' => 'MEMBER_VERIFY_INDEX',
  116. 'title' => get_lang('dict_diy.member_verify_index'),
  117. 'url' => '/app/pages/verify/index',
  118. 'is_share' => 1,
  119. 'action' => ''
  120. ]
  121. ]
  122. ]
  123. ]
  124. ],
  125. 'DIY_PAGE' => [
  126. 'title' => get_lang('dict_diy.diy_page'),
  127. 'addon_info' => $system_info,
  128. 'child_list' => []
  129. ],
  130. 'OTHER_LINK' => [
  131. 'title' => '其他页面',
  132. 'addon_info' => $system_info,
  133. 'type' => 'folder', // 类型,folder 表示文件夹,link 表示链接
  134. 'child_list' => [
  135. [
  136. 'name' => 'DIY_LINK',
  137. 'title' => get_lang('dict_diy.diy_link')
  138. ],
  139. [
  140. 'name' => 'DIY_JUMP_OTHER_APPLET',
  141. 'title' => get_lang('dict_diy.diy_jump_other_applet')
  142. ],
  143. [
  144. 'name' => 'DIY_MAKE_PHONE_CALL',
  145. 'title' => get_lang('dict_diy.diy_make_phone_call')
  146. ]
  147. ]
  148. ]
  149. ];
  150. // 查询存在页面路由的应用插件列表
  151. if (!empty($params[ 'query' ]) && $params[ 'query' ] == 'addon') {
  152. $system = [
  153. 'app' => [
  154. 'title' => '系统',
  155. 'key' => 'app'
  156. ]
  157. ];
  158. $addons = ( new DictLoader("UniappLink") )->load([ 'data' => $system, 'params' => $params ]);
  159. $app = array_merge($system, $addons);
  160. return $app;
  161. } else {
  162. return ( new DictLoader("UniappLink") )->load([ 'data' => $system_links, 'params' => $params ]);
  163. }
  164. }
  165. }