WebLinkDict.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  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 WebLinkDict
  16. * @package app\dict\diy
  17. */
  18. class WebLinkDict
  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_web_index'),
  39. 'url' => '/',
  40. 'is_share' => 1,
  41. 'action' => '' // 默认空,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_my_personal'),
  55. 'url' => '/member/center',
  56. 'is_share' => 1,
  57. 'action' => ''
  58. ],
  59. [
  60. 'name' => 'MEMBER_BALANCE',
  61. 'title' => get_lang('dict_diy.member_my_balance'),
  62. 'url' => '/member/balance',
  63. 'is_share' => 1,
  64. 'action' => ''
  65. ],
  66. [
  67. 'name' => 'MEMBER_POINT',
  68. 'title' => get_lang('dict_diy.member_my_point'),
  69. 'url' => '/member/point',
  70. 'is_share' => 1,
  71. 'action' => ''
  72. ],
  73. [
  74. 'name' => 'MEMBER_ADDRESS',
  75. 'title' => get_lang('dict_diy.member_my_address'),
  76. 'url' => '/member/address_list',
  77. 'is_share' => 1,
  78. 'action' => ''
  79. ],
  80. [
  81. 'name' => 'MEMBER_COLLECT',
  82. 'title' => get_lang('dict_diy.member_my_collect'),
  83. 'url' => '/member/collect',
  84. 'is_share' => 1,
  85. 'action' => ''
  86. ],
  87. [
  88. 'name' => 'MEMBER_MERCHANT_SETTLED',
  89. 'title' => get_lang('dict_diy.member_merchant_settled'),
  90. 'url' => '/member/merchant_settled',
  91. 'is_share' => 1,
  92. 'action' => ''
  93. ],
  94. [
  95. 'name' => 'MEMBER_MY_COUPON',
  96. 'title' => get_lang('dict_diy.mall_link_my_coupon'),
  97. 'url' => '/member/my_coupon',
  98. 'is_share' => 1,
  99. 'action' => ''
  100. ]
  101. ]
  102. ],
  103. 'CMS_LINK' => [
  104. 'title' => get_lang('dict_diy.cms_link'),
  105. 'addon_info' => [
  106. 'title' => '系统',
  107. 'key' => 'app'
  108. ],
  109. 'child_list' => [
  110. [
  111. 'name' => 'CMS_LIST',
  112. 'title' => get_lang('dict_diy.cms_list'),
  113. 'url' => '/article/list',
  114. 'is_share' => 1,
  115. 'action' => ''
  116. ],
  117. // [
  118. // 'name' => 'CMS_DETAIL',
  119. // 'title' => get_lang('dict_diy.cms_detail'),
  120. // 'url' => '/article/detail',
  121. // 'is_share' => 1,
  122. // 'action' => ''
  123. // ],
  124. ]
  125. ],
  126. 'AUTH_LINK' => [
  127. 'title' => get_lang('dict_diy.auth_link'),
  128. 'addon_info' => [
  129. 'title' => '系统',
  130. 'key' => 'app'
  131. ],
  132. 'child_list' => [
  133. [
  134. 'name' => 'AUTH_LOGIN',
  135. 'title' => get_lang('dict_diy.auth_login'),
  136. 'url' => '/auth/login',
  137. 'is_share' => 1,
  138. 'action' => ''
  139. ],
  140. [
  141. 'name' => 'AUTH_REGISTER',
  142. 'title' => get_lang('dict_diy.auth_register'),
  143. 'url' => '/auth/register',
  144. 'is_share' => 1,
  145. 'action' => ''
  146. ],
  147. [
  148. 'name' => 'AUTH_BIND',
  149. 'title' => get_lang('dict_diy.auth_bind'),
  150. 'url' => '/auth/bind',
  151. 'is_share' => 1,
  152. 'action' => ''
  153. ],
  154. ]
  155. ],
  156. 'DIY_LINK' => [
  157. 'title' => get_lang('dict_diy.diy_link'),
  158. 'addon_info' => [
  159. 'title' => '系统',
  160. 'key' => 'app'
  161. ],
  162. 'child_list' => []
  163. ]
  164. ];
  165. // 查询存在页面路由的应用插件列表
  166. if (!empty($params[ 'query' ]) && $params[ 'query' ] == 'addon') {
  167. $system = [
  168. 'app' => [
  169. 'title' => '系统',
  170. 'key' => 'app'
  171. ]
  172. ];
  173. $addons = (new DictLoader("WebLink"))->load([ 'data' => $system, 'params' => $params ]);
  174. $app = array_merge($system, $addons);
  175. return $app;
  176. } else {
  177. return (new DictLoader("WebLink"))->load([ 'data' => $system_links, 'params' => $params ]);
  178. }
  179. }
  180. }