WebLinkDict.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  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. ],
  96. 'CMS_LINK' => [
  97. 'title' => get_lang('dict_diy.cms_link'),
  98. 'addon_info' => [
  99. 'title' => '系统',
  100. 'key' => 'app'
  101. ],
  102. 'child_list' => [
  103. [
  104. 'name' => 'CMS_LIST',
  105. 'title' => get_lang('dict_diy.cms_list'),
  106. 'url' => '/article/list',
  107. 'is_share' => 1,
  108. 'action' => ''
  109. ],
  110. // [
  111. // 'name' => 'CMS_DETAIL',
  112. // 'title' => get_lang('dict_diy.cms_detail'),
  113. // 'url' => '/article/detail',
  114. // 'is_share' => 1,
  115. // 'action' => ''
  116. // ],
  117. ]
  118. ],
  119. 'AUTH_LINK' => [
  120. 'title' => get_lang('dict_diy.auth_link'),
  121. 'addon_info' => [
  122. 'title' => '系统',
  123. 'key' => 'app'
  124. ],
  125. 'child_list' => [
  126. [
  127. 'name' => 'AUTH_LOGIN',
  128. 'title' => get_lang('dict_diy.auth_login'),
  129. 'url' => '/auth/login',
  130. 'is_share' => 1,
  131. 'action' => ''
  132. ],
  133. [
  134. 'name' => 'AUTH_REGISTER',
  135. 'title' => get_lang('dict_diy.auth_register'),
  136. 'url' => '/auth/register',
  137. 'is_share' => 1,
  138. 'action' => ''
  139. ],
  140. [
  141. 'name' => 'AUTH_BIND',
  142. 'title' => get_lang('dict_diy.auth_bind'),
  143. 'url' => '/auth/bind',
  144. 'is_share' => 1,
  145. 'action' => ''
  146. ],
  147. ]
  148. ],
  149. 'DIY_LINK' => [
  150. 'title' => get_lang('dict_diy.diy_link'),
  151. 'addon_info' => [
  152. 'title' => '系统',
  153. 'key' => 'app'
  154. ],
  155. 'child_list' => []
  156. ]
  157. ];
  158. // 查询存在页面路由的应用插件列表
  159. if (!empty($params[ 'query' ]) && $params[ 'query' ] == 'addon') {
  160. $system = [
  161. 'app' => [
  162. 'title' => '系统',
  163. 'key' => 'app'
  164. ]
  165. ];
  166. $addons = (new DictLoader("WebLink"))->load([ 'data' => $system, 'params' => $params ]);
  167. $app = array_merge($system, $addons);
  168. return $app;
  169. } else {
  170. return (new DictLoader("WebLink"))->load([ 'data' => $system_links, 'params' => $params ]);
  171. }
  172. }
  173. }