@k3000/s1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (620) hide show
  1. package/README.md +2 -0
  2. package/RuoYi-Vue3/.env.development +8 -0
  3. package/RuoYi-Vue3/.env.production +11 -0
  4. package/RuoYi-Vue3/.env.staging +11 -0
  5. package/RuoYi-Vue3/.github/FUNDING.yml +1 -0
  6. package/RuoYi-Vue3/LICENSE +20 -0
  7. package/RuoYi-Vue3/README.md +109 -0
  8. package/RuoYi-Vue3/bin/build.bat +12 -0
  9. package/RuoYi-Vue3/bin/package.bat +12 -0
  10. package/RuoYi-Vue3/bin/run-web.bat +12 -0
  11. package/RuoYi-Vue3/html/ie.html +46 -0
  12. package/RuoYi-Vue3/index.html +215 -0
  13. package/RuoYi-Vue3/package.json +44 -0
  14. package/RuoYi-Vue3/public/favicon.ico +0 -0
  15. package/RuoYi-Vue3/src/App.vue +15 -0
  16. package/RuoYi-Vue3/src/api/login.js +60 -0
  17. package/RuoYi-Vue3/src/api/menu.js +9 -0
  18. package/RuoYi-Vue3/src/api/monitor/cache.js +57 -0
  19. package/RuoYi-Vue3/src/api/monitor/job.js +71 -0
  20. package/RuoYi-Vue3/src/api/monitor/jobLog.js +26 -0
  21. package/RuoYi-Vue3/src/api/monitor/logininfor.js +34 -0
  22. package/RuoYi-Vue3/src/api/monitor/online.js +18 -0
  23. package/RuoYi-Vue3/src/api/monitor/operlog.js +26 -0
  24. package/RuoYi-Vue3/src/api/monitor/server.js +9 -0
  25. package/RuoYi-Vue3/src/api/system/config.js +60 -0
  26. package/RuoYi-Vue3/src/api/system/dept.js +52 -0
  27. package/RuoYi-Vue3/src/api/system/dict/data.js +52 -0
  28. package/RuoYi-Vue3/src/api/system/dict/type.js +60 -0
  29. package/RuoYi-Vue3/src/api/system/menu.js +60 -0
  30. package/RuoYi-Vue3/src/api/system/notice.js +44 -0
  31. package/RuoYi-Vue3/src/api/system/post.js +44 -0
  32. package/RuoYi-Vue3/src/api/system/role.js +119 -0
  33. package/RuoYi-Vue3/src/api/system/user.js +136 -0
  34. package/RuoYi-Vue3/src/api/tool/gen.js +85 -0
  35. package/RuoYi-Vue3/src/assets/401_images/401.gif +0 -0
  36. package/RuoYi-Vue3/src/assets/404_images/404.png +0 -0
  37. package/RuoYi-Vue3/src/assets/404_images/404_cloud.png +0 -0
  38. package/RuoYi-Vue3/src/assets/icons/svg/404.svg +1 -0
  39. package/RuoYi-Vue3/src/assets/icons/svg/bug.svg +1 -0
  40. package/RuoYi-Vue3/src/assets/icons/svg/build.svg +1 -0
  41. package/RuoYi-Vue3/src/assets/icons/svg/button.svg +1 -0
  42. package/RuoYi-Vue3/src/assets/icons/svg/cascader.svg +1 -0
  43. package/RuoYi-Vue3/src/assets/icons/svg/chart.svg +1 -0
  44. package/RuoYi-Vue3/src/assets/icons/svg/checkbox.svg +1 -0
  45. package/RuoYi-Vue3/src/assets/icons/svg/clipboard.svg +1 -0
  46. package/RuoYi-Vue3/src/assets/icons/svg/code.svg +1 -0
  47. package/RuoYi-Vue3/src/assets/icons/svg/color.svg +1 -0
  48. package/RuoYi-Vue3/src/assets/icons/svg/component.svg +1 -0
  49. package/RuoYi-Vue3/src/assets/icons/svg/dashboard.svg +1 -0
  50. package/RuoYi-Vue3/src/assets/icons/svg/date-range.svg +1 -0
  51. package/RuoYi-Vue3/src/assets/icons/svg/date.svg +1 -0
  52. package/RuoYi-Vue3/src/assets/icons/svg/dict.svg +1 -0
  53. package/RuoYi-Vue3/src/assets/icons/svg/documentation.svg +1 -0
  54. package/RuoYi-Vue3/src/assets/icons/svg/download.svg +1 -0
  55. package/RuoYi-Vue3/src/assets/icons/svg/drag.svg +1 -0
  56. package/RuoYi-Vue3/src/assets/icons/svg/druid.svg +1 -0
  57. package/RuoYi-Vue3/src/assets/icons/svg/edit.svg +1 -0
  58. package/RuoYi-Vue3/src/assets/icons/svg/education.svg +1 -0
  59. package/RuoYi-Vue3/src/assets/icons/svg/email.svg +1 -0
  60. package/RuoYi-Vue3/src/assets/icons/svg/example.svg +1 -0
  61. package/RuoYi-Vue3/src/assets/icons/svg/excel.svg +1 -0
  62. package/RuoYi-Vue3/src/assets/icons/svg/exit-fullscreen.svg +1 -0
  63. package/RuoYi-Vue3/src/assets/icons/svg/eye-open.svg +1 -0
  64. package/RuoYi-Vue3/src/assets/icons/svg/eye.svg +1 -0
  65. package/RuoYi-Vue3/src/assets/icons/svg/form.svg +1 -0
  66. package/RuoYi-Vue3/src/assets/icons/svg/fullscreen.svg +1 -0
  67. package/RuoYi-Vue3/src/assets/icons/svg/github.svg +1 -0
  68. package/RuoYi-Vue3/src/assets/icons/svg/guide.svg +1 -0
  69. package/RuoYi-Vue3/src/assets/icons/svg/icon.svg +1 -0
  70. package/RuoYi-Vue3/src/assets/icons/svg/input.svg +1 -0
  71. package/RuoYi-Vue3/src/assets/icons/svg/international.svg +1 -0
  72. package/RuoYi-Vue3/src/assets/icons/svg/job.svg +1 -0
  73. package/RuoYi-Vue3/src/assets/icons/svg/language.svg +1 -0
  74. package/RuoYi-Vue3/src/assets/icons/svg/link.svg +1 -0
  75. package/RuoYi-Vue3/src/assets/icons/svg/list.svg +1 -0
  76. package/RuoYi-Vue3/src/assets/icons/svg/lock.svg +1 -0
  77. package/RuoYi-Vue3/src/assets/icons/svg/log.svg +1 -0
  78. package/RuoYi-Vue3/src/assets/icons/svg/logininfor.svg +1 -0
  79. package/RuoYi-Vue3/src/assets/icons/svg/message.svg +1 -0
  80. package/RuoYi-Vue3/src/assets/icons/svg/money.svg +1 -0
  81. package/RuoYi-Vue3/src/assets/icons/svg/monitor.svg +2 -0
  82. package/RuoYi-Vue3/src/assets/icons/svg/nested.svg +1 -0
  83. package/RuoYi-Vue3/src/assets/icons/svg/number.svg +1 -0
  84. package/RuoYi-Vue3/src/assets/icons/svg/online.svg +1 -0
  85. package/RuoYi-Vue3/src/assets/icons/svg/password.svg +1 -0
  86. package/RuoYi-Vue3/src/assets/icons/svg/pdf.svg +1 -0
  87. package/RuoYi-Vue3/src/assets/icons/svg/people.svg +1 -0
  88. package/RuoYi-Vue3/src/assets/icons/svg/peoples.svg +1 -0
  89. package/RuoYi-Vue3/src/assets/icons/svg/phone.svg +1 -0
  90. package/RuoYi-Vue3/src/assets/icons/svg/post.svg +1 -0
  91. package/RuoYi-Vue3/src/assets/icons/svg/qq.svg +1 -0
  92. package/RuoYi-Vue3/src/assets/icons/svg/question.svg +1 -0
  93. package/RuoYi-Vue3/src/assets/icons/svg/radio.svg +1 -0
  94. package/RuoYi-Vue3/src/assets/icons/svg/rate.svg +1 -0
  95. package/RuoYi-Vue3/src/assets/icons/svg/redis-list.svg +2 -0
  96. package/RuoYi-Vue3/src/assets/icons/svg/redis.svg +1 -0
  97. package/RuoYi-Vue3/src/assets/icons/svg/row.svg +1 -0
  98. package/RuoYi-Vue3/src/assets/icons/svg/search.svg +1 -0
  99. package/RuoYi-Vue3/src/assets/icons/svg/select.svg +1 -0
  100. package/RuoYi-Vue3/src/assets/icons/svg/server.svg +1 -0
  101. package/RuoYi-Vue3/src/assets/icons/svg/shopping.svg +1 -0
  102. package/RuoYi-Vue3/src/assets/icons/svg/size.svg +1 -0
  103. package/RuoYi-Vue3/src/assets/icons/svg/skill.svg +1 -0
  104. package/RuoYi-Vue3/src/assets/icons/svg/slider.svg +1 -0
  105. package/RuoYi-Vue3/src/assets/icons/svg/star.svg +1 -0
  106. package/RuoYi-Vue3/src/assets/icons/svg/swagger.svg +1 -0
  107. package/RuoYi-Vue3/src/assets/icons/svg/switch.svg +1 -0
  108. package/RuoYi-Vue3/src/assets/icons/svg/system.svg +2 -0
  109. package/RuoYi-Vue3/src/assets/icons/svg/tab.svg +1 -0
  110. package/RuoYi-Vue3/src/assets/icons/svg/table.svg +1 -0
  111. package/RuoYi-Vue3/src/assets/icons/svg/textarea.svg +1 -0
  112. package/RuoYi-Vue3/src/assets/icons/svg/theme.svg +1 -0
  113. package/RuoYi-Vue3/src/assets/icons/svg/time-range.svg +1 -0
  114. package/RuoYi-Vue3/src/assets/icons/svg/time.svg +1 -0
  115. package/RuoYi-Vue3/src/assets/icons/svg/tool.svg +1 -0
  116. package/RuoYi-Vue3/src/assets/icons/svg/tree-table.svg +1 -0
  117. package/RuoYi-Vue3/src/assets/icons/svg/tree.svg +1 -0
  118. package/RuoYi-Vue3/src/assets/icons/svg/upload.svg +1 -0
  119. package/RuoYi-Vue3/src/assets/icons/svg/user.svg +1 -0
  120. package/RuoYi-Vue3/src/assets/icons/svg/validCode.svg +1 -0
  121. package/RuoYi-Vue3/src/assets/icons/svg/wechat.svg +1 -0
  122. package/RuoYi-Vue3/src/assets/icons/svg/zip.svg +1 -0
  123. package/RuoYi-Vue3/src/assets/images/dark.svg +39 -0
  124. package/RuoYi-Vue3/src/assets/images/light.svg +39 -0
  125. package/RuoYi-Vue3/src/assets/images/login-background.jpg +0 -0
  126. package/RuoYi-Vue3/src/assets/images/pay.png +0 -0
  127. package/RuoYi-Vue3/src/assets/images/profile.jpg +0 -0
  128. package/RuoYi-Vue3/src/assets/logo/logo.png +0 -0
  129. package/RuoYi-Vue3/src/assets/styles/btn.scss +99 -0
  130. package/RuoYi-Vue3/src/assets/styles/element-ui.scss +96 -0
  131. package/RuoYi-Vue3/src/assets/styles/index.scss +184 -0
  132. package/RuoYi-Vue3/src/assets/styles/mixin.scss +66 -0
  133. package/RuoYi-Vue3/src/assets/styles/ruoyi.scss +281 -0
  134. package/RuoYi-Vue3/src/assets/styles/sidebar.scss +238 -0
  135. package/RuoYi-Vue3/src/assets/styles/transition.scss +49 -0
  136. package/RuoYi-Vue3/src/assets/styles/variables.module.scss +65 -0
  137. package/RuoYi-Vue3/src/components/Breadcrumb/index.vue +66 -0
  138. package/RuoYi-Vue3/src/components/Crontab/day.vue +174 -0
  139. package/RuoYi-Vue3/src/components/Crontab/hour.vue +133 -0
  140. package/RuoYi-Vue3/src/components/Crontab/index.vue +310 -0
  141. package/RuoYi-Vue3/src/components/Crontab/min.vue +126 -0
  142. package/RuoYi-Vue3/src/components/Crontab/month.vue +141 -0
  143. package/RuoYi-Vue3/src/components/Crontab/result.vue +540 -0
  144. package/RuoYi-Vue3/src/components/Crontab/second.vue +128 -0
  145. package/RuoYi-Vue3/src/components/Crontab/week.vue +197 -0
  146. package/RuoYi-Vue3/src/components/Crontab/year.vue +149 -0
  147. package/RuoYi-Vue3/src/components/DictTag/index.vue +82 -0
  148. package/RuoYi-Vue3/src/components/Editor/index.vue +251 -0
  149. package/RuoYi-Vue3/src/components/FileUpload/index.vue +207 -0
  150. package/RuoYi-Vue3/src/components/Hamburger/index.vue +41 -0
  151. package/RuoYi-Vue3/src/components/HeaderSearch/index.vue +187 -0
  152. package/RuoYi-Vue3/src/components/IconSelect/index.vue +111 -0
  153. package/RuoYi-Vue3/src/components/IconSelect/requireIcons.js +8 -0
  154. package/RuoYi-Vue3/src/components/ImagePreview/index.vue +92 -0
  155. package/RuoYi-Vue3/src/components/ImageUpload/index.vue +213 -0
  156. package/RuoYi-Vue3/src/components/Pagination/index.vue +105 -0
  157. package/RuoYi-Vue3/src/components/ParentView/index.vue +3 -0
  158. package/RuoYi-Vue3/src/components/RightToolbar/index.vue +134 -0
  159. package/RuoYi-Vue3/src/components/RuoYi/Doc/index.vue +13 -0
  160. package/RuoYi-Vue3/src/components/RuoYi/Git/index.vue +13 -0
  161. package/RuoYi-Vue3/src/components/Screenfull/index.vue +22 -0
  162. package/RuoYi-Vue3/src/components/SizeSelect/index.vue +45 -0
  163. package/RuoYi-Vue3/src/components/SvgIcon/index.vue +53 -0
  164. package/RuoYi-Vue3/src/components/SvgIcon/svgicon.js +10 -0
  165. package/RuoYi-Vue3/src/components/TopNav/index.vue +214 -0
  166. package/RuoYi-Vue3/src/components/TreeSelect/index.vue +156 -0
  167. package/RuoYi-Vue3/src/components/iFrame/index.vue +31 -0
  168. package/RuoYi-Vue3/src/directive/common/copyText.js +66 -0
  169. package/RuoYi-Vue3/src/directive/index.js +9 -0
  170. package/RuoYi-Vue3/src/directive/permission/hasPermi.js +28 -0
  171. package/RuoYi-Vue3/src/directive/permission/hasRole.js +28 -0
  172. package/RuoYi-Vue3/src/layout/components/AppMain.vue +68 -0
  173. package/RuoYi-Vue3/src/layout/components/IframeToggle/index.vue +25 -0
  174. package/RuoYi-Vue3/src/layout/components/InnerLink/index.vue +24 -0
  175. package/RuoYi-Vue3/src/layout/components/Navbar.vue +191 -0
  176. package/RuoYi-Vue3/src/layout/components/Settings/index.vue +209 -0
  177. package/RuoYi-Vue3/src/layout/components/Sidebar/Link.vue +40 -0
  178. package/RuoYi-Vue3/src/layout/components/Sidebar/Logo.vue +81 -0
  179. package/RuoYi-Vue3/src/layout/components/Sidebar/SidebarItem.vue +102 -0
  180. package/RuoYi-Vue3/src/layout/components/Sidebar/index.vue +54 -0
  181. package/RuoYi-Vue3/src/layout/components/TagsView/ScrollPane.vue +107 -0
  182. package/RuoYi-Vue3/src/layout/components/TagsView/index.vue +358 -0
  183. package/RuoYi-Vue3/src/layout/components/index.js +4 -0
  184. package/RuoYi-Vue3/src/layout/index.vue +114 -0
  185. package/RuoYi-Vue3/src/main.js +84 -0
  186. package/RuoYi-Vue3/src/permission.js +65 -0
  187. package/RuoYi-Vue3/src/plugins/auth.js +60 -0
  188. package/RuoYi-Vue3/src/plugins/cache.js +77 -0
  189. package/RuoYi-Vue3/src/plugins/download.js +79 -0
  190. package/RuoYi-Vue3/src/plugins/index.js +18 -0
  191. package/RuoYi-Vue3/src/plugins/modal.js +82 -0
  192. package/RuoYi-Vue3/src/plugins/tab.js +69 -0
  193. package/RuoYi-Vue3/src/router/index.js +175 -0
  194. package/RuoYi-Vue3/src/settings.js +47 -0
  195. package/RuoYi-Vue3/src/store/index.js +3 -0
  196. package/RuoYi-Vue3/src/store/modules/app.js +46 -0
  197. package/RuoYi-Vue3/src/store/modules/dict.js +57 -0
  198. package/RuoYi-Vue3/src/store/modules/permission.js +142 -0
  199. package/RuoYi-Vue3/src/store/modules/settings.js +38 -0
  200. package/RuoYi-Vue3/src/store/modules/tagsView.js +182 -0
  201. package/RuoYi-Vue3/src/store/modules/user.js +72 -0
  202. package/RuoYi-Vue3/src/utils/auth.js +15 -0
  203. package/RuoYi-Vue3/src/utils/dict.js +24 -0
  204. package/RuoYi-Vue3/src/utils/dynamicTitle.js +15 -0
  205. package/RuoYi-Vue3/src/utils/errorCode.js +6 -0
  206. package/RuoYi-Vue3/src/utils/index.js +390 -0
  207. package/RuoYi-Vue3/src/utils/jsencrypt.js +30 -0
  208. package/RuoYi-Vue3/src/utils/permission.js +51 -0
  209. package/RuoYi-Vue3/src/utils/request.js +152 -0
  210. package/RuoYi-Vue3/src/utils/ruoyi.js +246 -0
  211. package/RuoYi-Vue3/src/utils/scroll-to.js +58 -0
  212. package/RuoYi-Vue3/src/utils/theme.js +49 -0
  213. package/RuoYi-Vue3/src/utils/validate.js +93 -0
  214. package/RuoYi-Vue3/src/views/error/401.vue +82 -0
  215. package/RuoYi-Vue3/src/views/error/404.vue +227 -0
  216. package/RuoYi-Vue3/src/views/index.vue +1092 -0
  217. package/RuoYi-Vue3/src/views/login.vue +227 -0
  218. package/RuoYi-Vue3/src/views/monitor/cache/index.vue +132 -0
  219. package/RuoYi-Vue3/src/views/monitor/cache/list.vue +246 -0
  220. package/RuoYi-Vue3/src/views/monitor/druid/index.vue +13 -0
  221. package/RuoYi-Vue3/src/views/monitor/job/index.vue +501 -0
  222. package/RuoYi-Vue3/src/views/monitor/job/log.vue +283 -0
  223. package/RuoYi-Vue3/src/views/monitor/logininfor/index.vue +233 -0
  224. package/RuoYi-Vue3/src/views/monitor/online/index.vue +109 -0
  225. package/RuoYi-Vue3/src/views/monitor/operlog/index.vue +310 -0
  226. package/RuoYi-Vue3/src/views/monitor/server/index.vue +187 -0
  227. package/RuoYi-Vue3/src/views/redirect/index.vue +14 -0
  228. package/RuoYi-Vue3/src/views/register.vue +219 -0
  229. package/RuoYi-Vue3/src/views/system/config/index.vue +316 -0
  230. package/RuoYi-Vue3/src/views/system/dept/index.vue +283 -0
  231. package/RuoYi-Vue3/src/views/system/dict/data.vue +362 -0
  232. package/RuoYi-Vue3/src/views/system/dict/index.vue +323 -0
  233. package/RuoYi-Vue3/src/views/system/menu/index.vue +452 -0
  234. package/RuoYi-Vue3/src/views/system/notice/index.vue +292 -0
  235. package/RuoYi-Vue3/src/views/system/post/index.vue +287 -0
  236. package/RuoYi-Vue3/src/views/system/role/authUser.vue +179 -0
  237. package/RuoYi-Vue3/src/views/system/role/index.vue +584 -0
  238. package/RuoYi-Vue3/src/views/system/role/selectUser.vue +144 -0
  239. package/RuoYi-Vue3/src/views/system/user/authRole.vue +116 -0
  240. package/RuoYi-Vue3/src/views/system/user/index.vue +635 -0
  241. package/RuoYi-Vue3/src/views/system/user/profile/index.vue +87 -0
  242. package/RuoYi-Vue3/src/views/system/user/profile/resetPwd.vue +59 -0
  243. package/RuoYi-Vue3/src/views/system/user/profile/userAvatar.vue +180 -0
  244. package/RuoYi-Vue3/src/views/system/user/profile/userInfo.vue +67 -0
  245. package/RuoYi-Vue3/src/views/tool/build/index.vue +3 -0
  246. package/RuoYi-Vue3/src/views/tool/gen/basicInfoForm.vue +48 -0
  247. package/RuoYi-Vue3/src/views/tool/gen/createTable.vue +46 -0
  248. package/RuoYi-Vue3/src/views/tool/gen/editTable.vue +200 -0
  249. package/RuoYi-Vue3/src/views/tool/gen/genInfoForm.vue +306 -0
  250. package/RuoYi-Vue3/src/views/tool/gen/importTable.vue +126 -0
  251. package/RuoYi-Vue3/src/views/tool/gen/index.vue +310 -0
  252. package/RuoYi-Vue3/src/views/tool/swagger/index.vue +9 -0
  253. package/RuoYi-Vue3/vite/plugins/auto-import.js +12 -0
  254. package/RuoYi-Vue3/vite/plugins/compression.js +28 -0
  255. package/RuoYi-Vue3/vite/plugins/index.js +15 -0
  256. package/RuoYi-Vue3/vite/plugins/setup-extend.js +5 -0
  257. package/RuoYi-Vue3/vite/plugins/svg-icon.js +10 -0
  258. package/RuoYi-Vue3/vite.config.js +58 -0
  259. package/admin/README.MD +0 -0
  260. package/admin/base.mjs +447 -0
  261. package/admin/index.mjs +19 -0
  262. package/admin/monitor/job.mjs +24 -0
  263. package/admin/monitor/jobLog.mjs +8 -0
  264. package/admin/monitor/logininfor.mjs +23 -0
  265. package/admin/monitor/operlog.mjs +9 -0
  266. package/admin/monitor/server.mjs +54 -0
  267. package/admin/service.mjs +10 -0
  268. package/admin/system/component.mjs +16 -0
  269. package/admin/system/config.mjs +8 -0
  270. package/admin/system/dept.mjs +24 -0
  271. package/admin/system/dict.mjs +34 -0
  272. package/admin/system/login.mjs +119 -0
  273. package/admin/system/menu.mjs +33 -0
  274. package/admin/system/notice.mjs +8 -0
  275. package/admin/system/path.mjs +53 -0
  276. package/admin/system/post.mjs +8 -0
  277. package/admin/system/role.mjs +105 -0
  278. package/admin/system/user.mjs +93 -0
  279. package/admin/tool/gen.mjs +95 -0
  280. package/admin/tool/helper.mjs +1335 -0
  281. package/admin/tool/pm2.mjs +71 -0
  282. package/admin/tool/store.mjs +84 -0
  283. package/admin/tool/upload.mjs +112 -0
  284. package/app/README.MD +0 -0
  285. package/app/index.mjs +9 -0
  286. package/bin.mjs +211 -0
  287. package/build.mjs +25 -0
  288. package/common/README.MD +0 -0
  289. package/common/config.mjs +40 -0
  290. package/common/pm2.mjs +145 -0
  291. package/common/service.mjs +79 -0
  292. package/common/service0.mjs +468 -0
  293. package/common/tools.mjs +314 -0
  294. package/common/type.ts +498 -0
  295. package/file/README.MD +0 -0
  296. package/files/.env.production +11 -0
  297. package/files/gen.js +76 -0
  298. package/files/genImportTable.vue +120 -0
  299. package/files/genIndex.vue +309 -0
  300. package/files/genInfoForm.vue +302 -0
  301. package/files/login.vue +237 -0
  302. package/files/menu.js +68 -0
  303. package/files/menuIndex.vue +447 -0
  304. package/files/pm2.js +88 -0
  305. package/files/pm2Data.vue +335 -0
  306. package/files/pm2Index.vue +343 -0
  307. package/files/routerIndex.js +204 -0
  308. package/files/serverIndex.vue +215 -0
  309. package/files/store.js +96 -0
  310. package/files/storeData.vue +294 -0
  311. package/files/storeIndex.vue +245 -0
  312. package/files/upload.js +47 -0
  313. package/files/uploadIndex.vue +240 -0
  314. package/files/vite.config.js +58 -0
  315. package/index.mjs +28 -0
  316. package/jwt/README.MD +12 -0
  317. package/jwt/index.mjs +17 -0
  318. package/package.json +22 -0
  319. package/proxy/README.MD +0 -0
  320. package/proxy/index.mjs +16 -0
  321. package/static/README.MD +0 -0
  322. package/static/admin/assets/401-CYieuz9-.js +1 -0
  323. package/static/admin/assets/401-CYieuz9-.js.gz +0 -0
  324. package/static/admin/assets/401-DmT2Eyz6.css +1 -0
  325. package/static/admin/assets/401-HGF6Q5qM.gif +0 -0
  326. package/static/admin/assets/404-DFv5Zpvm.js +1 -0
  327. package/static/admin/assets/404-DFv5Zpvm.js.gz +0 -0
  328. package/static/admin/assets/404-Dy3nURRX.js +1 -0
  329. package/static/admin/assets/404-Dy3nURRX.js.gz +0 -0
  330. package/static/admin/assets/404-N4aRkdWY.png +0 -0
  331. package/static/admin/assets/404-uZCOR2Ze.css +1 -0
  332. package/static/admin/assets/404-uZCOR2Ze.css.gz +0 -0
  333. package/static/admin/assets/404_cloud-CPexjtDj.png +0 -0
  334. package/static/admin/assets/authRole-ma37t91O.js +1 -0
  335. package/static/admin/assets/authRole-ma37t91O.js.gz +0 -0
  336. package/static/admin/assets/authUser-C2Y6gkW3.js +1 -0
  337. package/static/admin/assets/authUser-C2Y6gkW3.js.gz +0 -0
  338. package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js +1 -0
  339. package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js.gz +0 -0
  340. package/static/admin/assets/bug-10dePVta.js +1 -0
  341. package/static/admin/assets/bug-10dePVta.js.gz +0 -0
  342. package/static/admin/assets/build-2jMyI6eP.js +1 -0
  343. package/static/admin/assets/build-2jMyI6eP.js.gz +0 -0
  344. package/static/admin/assets/button-BlSCM_GH.js +1 -0
  345. package/static/admin/assets/button-BlSCM_GH.js.gz +0 -0
  346. package/static/admin/assets/cache-CRGI5LFU.js +1 -0
  347. package/static/admin/assets/cascader-CXIOcY1C.js +1 -0
  348. package/static/admin/assets/cascader-CXIOcY1C.js.gz +0 -0
  349. package/static/admin/assets/chart-BsLMrzXU.js +1 -0
  350. package/static/admin/assets/checkbox-Bpiun3bf.js +1 -0
  351. package/static/admin/assets/checkbox-Bpiun3bf.js.gz +0 -0
  352. package/static/admin/assets/clipboard-DaV3cn7f.js +1 -0
  353. package/static/admin/assets/clipboard-DaV3cn7f.js.gz +0 -0
  354. package/static/admin/assets/code-DgJ8cT4a.js +1 -0
  355. package/static/admin/assets/color-y1Sshoou.js +1 -0
  356. package/static/admin/assets/color-y1Sshoou.js.gz +0 -0
  357. package/static/admin/assets/component-Djp9s69L.js +1 -0
  358. package/static/admin/assets/component-Djp9s69L.js.gz +0 -0
  359. package/static/admin/assets/createTable-CpixhIJI.js +1 -0
  360. package/static/admin/assets/createTable-CpixhIJI.js.gz +0 -0
  361. package/static/admin/assets/dashboard-Dy7qt_a2.js +1 -0
  362. package/static/admin/assets/dashboard-Dy7qt_a2.js.gz +0 -0
  363. package/static/admin/assets/data-B6ExfNCI.js +1 -0
  364. package/static/admin/assets/data-B6ExfNCI.js.gz +0 -0
  365. package/static/admin/assets/data-BNwnwlkO.js +34 -0
  366. package/static/admin/assets/data-BNwnwlkO.js.gz +0 -0
  367. package/static/admin/assets/data-C3FuPwta.css +1 -0
  368. package/static/admin/assets/data-DmSA0HcO.js +1 -0
  369. package/static/admin/assets/data-DmSA0HcO.js.gz +0 -0
  370. package/static/admin/assets/date-B1FSITvi.js +1 -0
  371. package/static/admin/assets/date-B1FSITvi.js.gz +0 -0
  372. package/static/admin/assets/date-range-B8MgYLb1.js +1 -0
  373. package/static/admin/assets/date-range-B8MgYLb1.js.gz +0 -0
  374. package/static/admin/assets/dict-Bi_GqSXR.js +1 -0
  375. package/static/admin/assets/dict-Bi_GqSXR.js.gz +0 -0
  376. package/static/admin/assets/documentation-uH9BvL5U.js +1 -0
  377. package/static/admin/assets/download-DeIzgQWH.js +1 -0
  378. package/static/admin/assets/download-DeIzgQWH.js.gz +0 -0
  379. package/static/admin/assets/drag-BG1_I1vT.js +1 -0
  380. package/static/admin/assets/druid-BybW_S_B.js +1 -0
  381. package/static/admin/assets/edit-D0DI9pAq.js +1 -0
  382. package/static/admin/assets/editTable-zr5bdAM7.js +1 -0
  383. package/static/admin/assets/editTable-zr5bdAM7.js.gz +0 -0
  384. package/static/admin/assets/education-47KsSYIl.js +1 -0
  385. package/static/admin/assets/email-Dig28Vt2.js +1 -0
  386. package/static/admin/assets/example-CnLLAFb9.js +1 -0
  387. package/static/admin/assets/excel-D3hj5F35.js +1 -0
  388. package/static/admin/assets/exit-fullscreen-dXhGKlQm.js +1 -0
  389. package/static/admin/assets/exit-fullscreen-dXhGKlQm.js.gz +0 -0
  390. package/static/admin/assets/eye-DqRz4sMZ.js +1 -0
  391. package/static/admin/assets/eye-DqRz4sMZ.js.gz +0 -0
  392. package/static/admin/assets/eye-open-BxlshWqB.js +1 -0
  393. package/static/admin/assets/eye-open-BxlshWqB.js.gz +0 -0
  394. package/static/admin/assets/form-BDTA_i-I.js +1 -0
  395. package/static/admin/assets/form-BDTA_i-I.js.gz +0 -0
  396. package/static/admin/assets/fullscreen-0JHt5yWX.js +1 -0
  397. package/static/admin/assets/gen-DLNrNhtb.js +1 -0
  398. package/static/admin/assets/genInfoForm-CMDsV5QX.js +1 -0
  399. package/static/admin/assets/genInfoForm-CMDsV5QX.js.gz +0 -0
  400. package/static/admin/assets/github-AJ0WQBa2.js +1 -0
  401. package/static/admin/assets/github-AJ0WQBa2.js.gz +0 -0
  402. package/static/admin/assets/guide-DZWUPi2j.js +1 -0
  403. package/static/admin/assets/icon-BtMv6Od8.js +1 -0
  404. package/static/admin/assets/icon-BtMv6Od8.js.gz +0 -0
  405. package/static/admin/assets/importTable-BsBsGfWB.js +1 -0
  406. package/static/admin/assets/importTable-BsBsGfWB.js.gz +0 -0
  407. package/static/admin/assets/index-1Gtzb1EG.css +1 -0
  408. package/static/admin/assets/index-1Gtzb1EG.css.gz +0 -0
  409. package/static/admin/assets/index-22TxXV_H.js +1 -0
  410. package/static/admin/assets/index-2PS_9Njt.js +1 -0
  411. package/static/admin/assets/index-2PS_9Njt.js.gz +0 -0
  412. package/static/admin/assets/index-2QWdVCKT.js +1 -0
  413. package/static/admin/assets/index-BH2yis6M.js +1 -0
  414. package/static/admin/assets/index-BYiWbDzj.js +137 -0
  415. package/static/admin/assets/index-BYiWbDzj.js.gz +0 -0
  416. package/static/admin/assets/index-BcoIBYYg.js +1 -0
  417. package/static/admin/assets/index-BcoIBYYg.js.gz +0 -0
  418. package/static/admin/assets/index-BdfyYxZX.css +1 -0
  419. package/static/admin/assets/index-BdfyYxZX.css.gz +0 -0
  420. package/static/admin/assets/index-BpFFXMK5.js +1 -0
  421. package/static/admin/assets/index-BpFFXMK5.js.gz +0 -0
  422. package/static/admin/assets/index-CKPU_AaL.js +1 -0
  423. package/static/admin/assets/index-CKPU_AaL.js.gz +0 -0
  424. package/static/admin/assets/index-CXsykB0X.js +1 -0
  425. package/static/admin/assets/index-CXsykB0X.js.gz +0 -0
  426. package/static/admin/assets/index-CfHRKVJR.js +1 -0
  427. package/static/admin/assets/index-CfHRKVJR.js.gz +0 -0
  428. package/static/admin/assets/index-ChrWcM7o.js +1 -0
  429. package/static/admin/assets/index-ChrWcM7o.js.gz +0 -0
  430. package/static/admin/assets/index-CyGqJLpz.css +1 -0
  431. package/static/admin/assets/index-Czuq8j-W.js +1 -0
  432. package/static/admin/assets/index-D5kEXJN3.js +1 -0
  433. package/static/admin/assets/index-D5kEXJN3.js.gz +0 -0
  434. package/static/admin/assets/index-D7sjRL--.js +1 -0
  435. package/static/admin/assets/index-D7sjRL--.js.gz +0 -0
  436. package/static/admin/assets/index-D9JRAPr4.js +1 -0
  437. package/static/admin/assets/index-D9JRAPr4.js.gz +0 -0
  438. package/static/admin/assets/index-DADWjT7Y.js +1 -0
  439. package/static/admin/assets/index-DADWjT7Y.js.gz +0 -0
  440. package/static/admin/assets/index-DUTtT4NU.js +1 -0
  441. package/static/admin/assets/index-DUTtT4NU.js.gz +0 -0
  442. package/static/admin/assets/index-DZR__uIb.js +1 -0
  443. package/static/admin/assets/index-DZR__uIb.js.gz +0 -0
  444. package/static/admin/assets/index-Da2r8G2b.js +1 -0
  445. package/static/admin/assets/index-Da2r8G2b.js.gz +0 -0
  446. package/static/admin/assets/index-DakybE_b.js +1 -0
  447. package/static/admin/assets/index-DakybE_b.js.gz +0 -0
  448. package/static/admin/assets/index-DdnU2rJ0.css +1 -0
  449. package/static/admin/assets/index-H21xXZr5.js +60 -0
  450. package/static/admin/assets/index-H21xXZr5.js.gz +0 -0
  451. package/static/admin/assets/index-PGDGQEbD.js +1 -0
  452. package/static/admin/assets/index-PGDGQEbD.js.gz +0 -0
  453. package/static/admin/assets/index-Rm6qYhrO.js +1 -0
  454. package/static/admin/assets/index-VG6ZkdYt.js +1 -0
  455. package/static/admin/assets/index-VG6ZkdYt.js.gz +0 -0
  456. package/static/admin/assets/index-YVnsjgTq.js +1 -0
  457. package/static/admin/assets/index-YVnsjgTq.js.gz +0 -0
  458. package/static/admin/assets/index-t3XJ47us.css +1 -0
  459. package/static/admin/assets/index-t3XJ47us.css.gz +0 -0
  460. package/static/admin/assets/index-xfai-fRy.js +1 -0
  461. package/static/admin/assets/index-xfai-fRy.js.gz +0 -0
  462. package/static/admin/assets/input-BJoPMnBW.js +1 -0
  463. package/static/admin/assets/international-CmzG1OHg.js +1 -0
  464. package/static/admin/assets/international-CmzG1OHg.js.gz +0 -0
  465. package/static/admin/assets/job-BcmuINx7.js +1 -0
  466. package/static/admin/assets/job-BcmuINx7.js.gz +0 -0
  467. package/static/admin/assets/job-COdMvNx2.js +1 -0
  468. package/static/admin/assets/language-CaW1LMEk.js +1 -0
  469. package/static/admin/assets/language-CaW1LMEk.js.gz +0 -0
  470. package/static/admin/assets/link-C93f4PgI.js +1 -0
  471. package/static/admin/assets/list-C7O8B4zW.js +1 -0
  472. package/static/admin/assets/list-C7O8B4zW.js.gz +0 -0
  473. package/static/admin/assets/list-DUaPnccL.js +1 -0
  474. package/static/admin/assets/list-DUaPnccL.js.gz +0 -0
  475. package/static/admin/assets/lock-Bexeb9hp.js +1 -0
  476. package/static/admin/assets/log-CF2F-nSs.js +1 -0
  477. package/static/admin/assets/log-CF2F-nSs.js.gz +0 -0
  478. package/static/admin/assets/log-g6qirYnf.js +1 -0
  479. package/static/admin/assets/log-g6qirYnf.js.gz +0 -0
  480. package/static/admin/assets/login-1ezV0PC1.css +1 -0
  481. package/static/admin/assets/login-1ezV0PC1.css.gz +0 -0
  482. package/static/admin/assets/login-BnkuYS6J.js +22 -0
  483. package/static/admin/assets/login-BnkuYS6J.js.gz +0 -0
  484. package/static/admin/assets/login-background-Yn3y1TP_.jpg +0 -0
  485. package/static/admin/assets/logininfor-Bm9ZYYR7.js +1 -0
  486. package/static/admin/assets/logininfor-Bm9ZYYR7.js.gz +0 -0
  487. package/static/admin/assets/logo-BjsPc2xl.png +0 -0
  488. package/static/admin/assets/menu-BIu3IsSF.js +1 -0
  489. package/static/admin/assets/message-UkR-VIBB.js +1 -0
  490. package/static/admin/assets/money-B1qqPuhn.js +1 -0
  491. package/static/admin/assets/monitor-gwnnVq4l.js +1 -0
  492. package/static/admin/assets/monitor-gwnnVq4l.js.gz +0 -0
  493. package/static/admin/assets/nested-B4d5u3hW.js +1 -0
  494. package/static/admin/assets/number-D4hB_nHC.js +1 -0
  495. package/static/admin/assets/number-D4hB_nHC.js.gz +0 -0
  496. package/static/admin/assets/online-C2ZP8pdY.js +1 -0
  497. package/static/admin/assets/online-C2ZP8pdY.js.gz +0 -0
  498. package/static/admin/assets/password-DfGvqQpB.js +1 -0
  499. package/static/admin/assets/password-DfGvqQpB.js.gz +0 -0
  500. package/static/admin/assets/pay-2ZbgPnxn.png +0 -0
  501. package/static/admin/assets/pdf-CD9mOGjJ.js +1 -0
  502. package/static/admin/assets/pdf-CD9mOGjJ.js.gz +0 -0
  503. package/static/admin/assets/people-CdGMHN63.js +1 -0
  504. package/static/admin/assets/people-CdGMHN63.js.gz +0 -0
  505. package/static/admin/assets/peoples-BRYsIqmI.js +1 -0
  506. package/static/admin/assets/phone-BpAUIz0g.js +1 -0
  507. package/static/admin/assets/phone-BpAUIz0g.js.gz +0 -0
  508. package/static/admin/assets/pm2-BkmkkE2A.js +1 -0
  509. package/static/admin/assets/post-DrLDyPY9.js +1 -0
  510. package/static/admin/assets/post-DrLDyPY9.js.gz +0 -0
  511. package/static/admin/assets/profile-DruvkrZU.jpg +0 -0
  512. package/static/admin/assets/qq-D8j4O83Y.js +1 -0
  513. package/static/admin/assets/qq-D8j4O83Y.js.gz +0 -0
  514. package/static/admin/assets/question-CvYWQbyW.js +1 -0
  515. package/static/admin/assets/question-CvYWQbyW.js.gz +0 -0
  516. package/static/admin/assets/radio-B0t9wPBQ.js +1 -0
  517. package/static/admin/assets/radio-B0t9wPBQ.js.gz +0 -0
  518. package/static/admin/assets/rate-CgnHQvKS.js +1 -0
  519. package/static/admin/assets/rate-CgnHQvKS.js.gz +0 -0
  520. package/static/admin/assets/redis-D4ECyT6a.js +1 -0
  521. package/static/admin/assets/redis-D4ECyT6a.js.gz +0 -0
  522. package/static/admin/assets/redis-list-BtKGPnqO.js +1 -0
  523. package/static/admin/assets/redis-list-BtKGPnqO.js.gz +0 -0
  524. package/static/admin/assets/register-B9RmZvjt.js +1 -0
  525. package/static/admin/assets/register-B9RmZvjt.js.gz +0 -0
  526. package/static/admin/assets/register-n3u7gqca.css +1 -0
  527. package/static/admin/assets/resetPwd-M0EIDnQk.js +1 -0
  528. package/static/admin/assets/resetPwd-M0EIDnQk.js.gz +0 -0
  529. package/static/admin/assets/role-XbHkNxnW.js +1 -0
  530. package/static/admin/assets/role-XbHkNxnW.js.gz +0 -0
  531. package/static/admin/assets/row-CRXKIHjm.js +1 -0
  532. package/static/admin/assets/row-CRXKIHjm.js.gz +0 -0
  533. package/static/admin/assets/search-CUfclCsR.js +1 -0
  534. package/static/admin/assets/select-DhuHHMxz.js +1 -0
  535. package/static/admin/assets/select-DhuHHMxz.js.gz +0 -0
  536. package/static/admin/assets/selectUser-DA_rE9J_.js +1 -0
  537. package/static/admin/assets/selectUser-DA_rE9J_.js.gz +0 -0
  538. package/static/admin/assets/server-unS7EyF7.js +1 -0
  539. package/static/admin/assets/shopping-CU1IRvxM.js +1 -0
  540. package/static/admin/assets/shopping-CU1IRvxM.js.gz +0 -0
  541. package/static/admin/assets/size-Cj9fB5Rp.js +1 -0
  542. package/static/admin/assets/skill-B8f_I4m_.js +1 -0
  543. package/static/admin/assets/skill-B8f_I4m_.js.gz +0 -0
  544. package/static/admin/assets/slider-BGfehM6X.js +1 -0
  545. package/static/admin/assets/star-kST8a72V.js +1 -0
  546. package/static/admin/assets/store-CX7IRN8X.js +1 -0
  547. package/static/admin/assets/swagger-BHGXZ2Jt.js +1 -0
  548. package/static/admin/assets/swagger-BHGXZ2Jt.js.gz +0 -0
  549. package/static/admin/assets/switch-CvaargRJ.js +1 -0
  550. package/static/admin/assets/system-DcNSH_Fq.js +1 -0
  551. package/static/admin/assets/system-DcNSH_Fq.js.gz +0 -0
  552. package/static/admin/assets/tab-nA3f0aBt.js +1 -0
  553. package/static/admin/assets/table-5PRh60AQ.js +1 -0
  554. package/static/admin/assets/test-CEJIIaDM.js +1 -0
  555. package/static/admin/assets/test-CEJIIaDM.js.gz +0 -0
  556. package/static/admin/assets/textarea-CJWXlgbJ.js +1 -0
  557. package/static/admin/assets/theme-CyGq941x.js +1 -0
  558. package/static/admin/assets/time-BVERp0sU.js +1 -0
  559. package/static/admin/assets/time-BVERp0sU.js.gz +0 -0
  560. package/static/admin/assets/time-range-D3dxgtLj.js +1 -0
  561. package/static/admin/assets/time-range-D3dxgtLj.js.gz +0 -0
  562. package/static/admin/assets/tool-D8kXk1l-.js +1 -0
  563. package/static/admin/assets/tool-D8kXk1l-.js.gz +0 -0
  564. package/static/admin/assets/tree-BCtS3oPD.js +1 -0
  565. package/static/admin/assets/tree-BCtS3oPD.js.gz +0 -0
  566. package/static/admin/assets/tree-table-CnOS99I9.js +1 -0
  567. package/static/admin/assets/tree-table-CnOS99I9.js.gz +0 -0
  568. package/static/admin/assets/type-BU7MsCG8.js +1 -0
  569. package/static/admin/assets/upload-BueI-Il1.js +1 -0
  570. package/static/admin/assets/upload-BueI-Il1.js.gz +0 -0
  571. package/static/admin/assets/user-DCGYGA9G.js +1 -0
  572. package/static/admin/assets/user-DCGYGA9G.js.gz +0 -0
  573. package/static/admin/assets/user-DqMuW5cU.js +1 -0
  574. package/static/admin/assets/userAvatar-BAmwMY1G.css +1 -0
  575. package/static/admin/assets/userAvatar-BAmwMY1G.css.gz +0 -0
  576. package/static/admin/assets/userAvatar-Bax34kaQ.js +7 -0
  577. package/static/admin/assets/userAvatar-Bax34kaQ.js.gz +0 -0
  578. package/static/admin/assets/userInfo-OvdBjEQX.js +1 -0
  579. package/static/admin/assets/userInfo-OvdBjEQX.js.gz +0 -0
  580. package/static/admin/assets/validCode-COB1iLxa.js +1 -0
  581. package/static/admin/assets/validCode-COB1iLxa.js.gz +0 -0
  582. package/static/admin/assets/wechat-lmQOcPZu.js +1 -0
  583. package/static/admin/assets/wechat-lmQOcPZu.js.gz +0 -0
  584. package/static/admin/assets/zip-DIOSZc69.js +1 -0
  585. package/static/admin/assets/zip-DIOSZc69.js.gz +0 -0
  586. package/static/admin/favicon.ico +0 -0
  587. package/static/admin/index.html +216 -0
  588. package/static/admin/index.html.gz +0 -0
  589. package/store1/README.MD +0 -0
  590. package/store1/generic.mjs +102 -0
  591. package/store1/index.mjs +30 -0
  592. package/store1/monitor.mjs +13 -0
  593. package/store1/role.mjs +137 -0
  594. package/store1/store/0/data +0 -0
  595. package/store1/store/0/index +0 -0
  596. package/store1/store/0/index.mjs +15 -0
  597. package/store1/store/1/buffer/464135 +1 -0
  598. package/store1/store/1/buffer/464587 +1 -0
  599. package/store1/store/1/data +0 -0
  600. package/store1/store/1/data-LAPTOP-S8G0S6EH +0 -0
  601. package/store1/store/1/index +0 -0
  602. package/store1/store/1/index-LAPTOP-S8G0S6EH +0 -0
  603. package/store1/store/1/index.mjs +4045 -0
  604. package/store1/store/1/type.ts +1492 -0
  605. package/store1/store/index.mjs +23 -0
  606. package/store1/store2/0/data +0 -0
  607. package/store1/store2/0/index +0 -0
  608. package/store1/store2/0/index.mjs +15 -0
  609. package/store1/store2/1/buffer/464135 +1 -0
  610. package/store1/store2/1/buffer/464587 +1 -0
  611. package/store1/store2/1/data +0 -0
  612. package/store1/store2/1/data-LAPTOP-S8G0S6EH +0 -0
  613. package/store1/store2/1/index +0 -0
  614. package/store1/store2/1/index-LAPTOP-S8G0S6EH +0 -0
  615. package/store1/store2/1/index.mjs +4045 -0
  616. package/store1/store2/1/type.ts +1492 -0
  617. package/store1/store2/index.mjs +23 -0
  618. package/store1/system.mjs +67 -0
  619. package/store1/tool.mjs +472 -0
  620. package/store1/user.mjs +228 -0
@@ -0,0 +1,175 @@
1
+ import { createWebHistory, createRouter } from 'vue-router'
2
+ /* Layout */
3
+ import Layout from '@/layout'
4
+
5
+ /**
6
+ * Note: 路由配置项
7
+ *
8
+ * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1
9
+ * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
10
+ * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
11
+ * // 若你想不管路由下面的 children 声明的个数都显示你的根路由
12
+ * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由
13
+ * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
14
+ * name:'router-name' // 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题
15
+ * query: '{"id": 1, "name": "ry"}' // 访问路由的默认传递参数
16
+ * roles: ['admin', 'common'] // 访问路由的角色权限
17
+ * permissions: ['a:a:a', 'b:b:b'] // 访问路由的菜单权限
18
+ * meta : {
19
+ noCache: true // 如果设置为true,则不会被 <keep-alive> 缓存(默认 false)
20
+ title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字
21
+ icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg
22
+ breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示
23
+ activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
24
+ }
25
+ */
26
+
27
+ // 公共路由
28
+ export const constantRoutes = [
29
+ {
30
+ path: '/redirect',
31
+ component: Layout,
32
+ hidden: true,
33
+ children: [
34
+ {
35
+ path: '/redirect/:path(.*)',
36
+ component: () => import('@/views/redirect/index.vue')
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ path: '/login',
42
+ component: () => import('@/views/login'),
43
+ hidden: true
44
+ },
45
+ {
46
+ path: '/register',
47
+ component: () => import('@/views/register'),
48
+ hidden: true
49
+ },
50
+ {
51
+ path: "/:pathMatch(.*)*",
52
+ component: () => import('@/views/error/404'),
53
+ hidden: true
54
+ },
55
+ {
56
+ path: '/401',
57
+ component: () => import('@/views/error/401'),
58
+ hidden: true
59
+ },
60
+ {
61
+ path: '',
62
+ component: Layout,
63
+ redirect: '/index',
64
+ children: [
65
+ {
66
+ path: '/index',
67
+ component: () => import('@/views/index'),
68
+ name: 'Index',
69
+ meta: { title: '首页', icon: 'dashboard', affix: true }
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ path: '/user',
75
+ component: Layout,
76
+ hidden: true,
77
+ redirect: 'noredirect',
78
+ children: [
79
+ {
80
+ path: 'profile',
81
+ component: () => import('@/views/system/user/profile/index'),
82
+ name: 'Profile',
83
+ meta: { title: '个人中心', icon: 'user' }
84
+ }
85
+ ]
86
+ }
87
+ ]
88
+
89
+ // 动态路由,基于用户权限动态去加载
90
+ export const dynamicRoutes = [
91
+ {
92
+ path: '/system/user-auth',
93
+ component: Layout,
94
+ hidden: true,
95
+ permissions: ['system:user:edit'],
96
+ children: [
97
+ {
98
+ path: 'role/:userId(\\d+)',
99
+ component: () => import('@/views/system/user/authRole'),
100
+ name: 'AuthRole',
101
+ meta: { title: '分配角色', activeMenu: '/system/user' }
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ path: '/system/role-auth',
107
+ component: Layout,
108
+ hidden: true,
109
+ permissions: ['system:role:edit'],
110
+ children: [
111
+ {
112
+ path: 'user/:roleId(\\d+)',
113
+ component: () => import('@/views/system/role/authUser'),
114
+ name: 'AuthUser',
115
+ meta: { title: '分配用户', activeMenu: '/system/role' }
116
+ }
117
+ ]
118
+ },
119
+ {
120
+ path: '/system/dict-data',
121
+ component: Layout,
122
+ hidden: true,
123
+ permissions: ['system:dict:list'],
124
+ children: [
125
+ {
126
+ path: 'index/:dictId(\\d+)',
127
+ component: () => import('@/views/system/dict/data'),
128
+ name: 'Data',
129
+ meta: { title: '字典数据', activeMenu: '/system/dict' }
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ path: '/monitor/job-log',
135
+ component: Layout,
136
+ hidden: true,
137
+ permissions: ['monitor:job:list'],
138
+ children: [
139
+ {
140
+ path: 'index/:jobId(\\d+)',
141
+ component: () => import('@/views/monitor/job/log'),
142
+ name: 'JobLog',
143
+ meta: { title: '调度日志', activeMenu: '/monitor/job' }
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ path: '/tool/gen-edit',
149
+ component: Layout,
150
+ hidden: true,
151
+ permissions: ['tool:gen:edit'],
152
+ children: [
153
+ {
154
+ path: 'index/:tableId(\\d+)',
155
+ component: () => import('@/views/tool/gen/editTable'),
156
+ name: 'GenEdit',
157
+ meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
158
+ }
159
+ ]
160
+ }
161
+ ]
162
+
163
+ const router = createRouter({
164
+ history: createWebHistory(),
165
+ routes: constantRoutes,
166
+ scrollBehavior(to, from, savedPosition) {
167
+ if (savedPosition) {
168
+ return savedPosition
169
+ } else {
170
+ return { top: 0 }
171
+ }
172
+ },
173
+ });
174
+
175
+ export default router;
@@ -0,0 +1,47 @@
1
+ export default {
2
+ /**
3
+ * 网页标题
4
+ */
5
+ title: import.meta.env.VITE_APP_TITLE,
6
+ /**
7
+ * 侧边栏主题 深色主题theme-dark,浅色主题theme-light
8
+ */
9
+ sideTheme: 'theme-dark',
10
+ /**
11
+ * 是否系统布局配置
12
+ */
13
+ showSettings: true,
14
+
15
+ /**
16
+ * 是否显示顶部导航
17
+ */
18
+ topNav: false,
19
+
20
+ /**
21
+ * 是否显示 tagsView
22
+ */
23
+ tagsView: true,
24
+
25
+ /**
26
+ * 是否固定头部
27
+ */
28
+ fixedHeader: false,
29
+
30
+ /**
31
+ * 是否显示logo
32
+ */
33
+ sidebarLogo: true,
34
+
35
+ /**
36
+ * 是否显示动态标题
37
+ */
38
+ dynamicTitle: false,
39
+
40
+ /**
41
+ * @type {string | array} 'production' | ['production', 'development']
42
+ * @description Need show err logs component.
43
+ * The default is only used in the production env
44
+ * If you want to also use it in dev, you can pass ['production', 'development']
45
+ */
46
+ errorLog: 'production'
47
+ }
@@ -0,0 +1,3 @@
1
+ const store = createPinia()
2
+
3
+ export default store
@@ -0,0 +1,46 @@
1
+ import Cookies from 'js-cookie'
2
+
3
+ const useAppStore = defineStore(
4
+ 'app',
5
+ {
6
+ state: () => ({
7
+ sidebar: {
8
+ opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
9
+ withoutAnimation: false,
10
+ hide: false
11
+ },
12
+ device: 'desktop',
13
+ size: Cookies.get('size') || 'default'
14
+ }),
15
+ actions: {
16
+ toggleSideBar(withoutAnimation) {
17
+ if (this.sidebar.hide) {
18
+ return false;
19
+ }
20
+ this.sidebar.opened = !this.sidebar.opened
21
+ this.sidebar.withoutAnimation = withoutAnimation
22
+ if (this.sidebar.opened) {
23
+ Cookies.set('sidebarStatus', 1)
24
+ } else {
25
+ Cookies.set('sidebarStatus', 0)
26
+ }
27
+ },
28
+ closeSideBar({ withoutAnimation }) {
29
+ Cookies.set('sidebarStatus', 0)
30
+ this.sidebar.opened = false
31
+ this.sidebar.withoutAnimation = withoutAnimation
32
+ },
33
+ toggleDevice(device) {
34
+ this.device = device
35
+ },
36
+ setSize(size) {
37
+ this.size = size;
38
+ Cookies.set('size', size)
39
+ },
40
+ toggleSideBarHide(status) {
41
+ this.sidebar.hide = status
42
+ }
43
+ }
44
+ })
45
+
46
+ export default useAppStore
@@ -0,0 +1,57 @@
1
+ const useDictStore = defineStore(
2
+ 'dict',
3
+ {
4
+ state: () => ({
5
+ dict: new Array()
6
+ }),
7
+ actions: {
8
+ // 获取字典
9
+ getDict(_key) {
10
+ if (_key == null && _key == "") {
11
+ return null;
12
+ }
13
+ try {
14
+ for (let i = 0; i < this.dict.length; i++) {
15
+ if (this.dict[i].key == _key) {
16
+ return this.dict[i].value;
17
+ }
18
+ }
19
+ } catch (e) {
20
+ return null;
21
+ }
22
+ },
23
+ // 设置字典
24
+ setDict(_key, value) {
25
+ if (_key !== null && _key !== "") {
26
+ this.dict.push({
27
+ key: _key,
28
+ value: value
29
+ });
30
+ }
31
+ },
32
+ // 删除字典
33
+ removeDict(_key) {
34
+ var bln = false;
35
+ try {
36
+ for (let i = 0; i < this.dict.length; i++) {
37
+ if (this.dict[i].key == _key) {
38
+ this.dict.splice(i, 1);
39
+ return true;
40
+ }
41
+ }
42
+ } catch (e) {
43
+ bln = false;
44
+ }
45
+ return bln;
46
+ },
47
+ // 清空字典
48
+ cleanDict() {
49
+ this.dict = new Array();
50
+ },
51
+ // 初始字典
52
+ initDict() {
53
+ }
54
+ }
55
+ })
56
+
57
+ export default useDictStore
@@ -0,0 +1,142 @@
1
+ import auth from '@/plugins/auth'
2
+ import router, { constantRoutes, dynamicRoutes } from '@/router'
3
+ import { getRouters } from '@/api/menu'
4
+ import Layout from '@/layout/index'
5
+ import ParentView from '@/components/ParentView'
6
+ import InnerLink from '@/layout/components/InnerLink'
7
+
8
+ // 匹配views里面所有的.vue文件
9
+ const modules = import.meta.glob('./../../views/**/*.vue')
10
+
11
+ const usePermissionStore = defineStore(
12
+ 'permission',
13
+ {
14
+ state: () => ({
15
+ routes: [],
16
+ addRoutes: [],
17
+ defaultRoutes: [],
18
+ topbarRouters: [],
19
+ sidebarRouters: []
20
+ }),
21
+ actions: {
22
+ setRoutes(routes) {
23
+ this.addRoutes = routes
24
+ this.routes = constantRoutes.concat(routes)
25
+ },
26
+ setDefaultRoutes(routes) {
27
+ this.defaultRoutes = constantRoutes.concat(routes)
28
+ },
29
+ setTopbarRoutes(routes) {
30
+ this.topbarRouters = routes
31
+ },
32
+ setSidebarRouters(routes) {
33
+ this.sidebarRouters = routes
34
+ },
35
+ generateRoutes(roles) {
36
+ return new Promise(resolve => {
37
+ // 向后端请求路由数据
38
+ getRouters().then(res => {
39
+ const sdata = JSON.parse(JSON.stringify(res.data))
40
+ const rdata = JSON.parse(JSON.stringify(res.data))
41
+ const defaultData = JSON.parse(JSON.stringify(res.data))
42
+ const sidebarRoutes = filterAsyncRouter(sdata)
43
+ const rewriteRoutes = filterAsyncRouter(rdata, false, true)
44
+ const defaultRoutes = filterAsyncRouter(defaultData)
45
+ const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
46
+ asyncRoutes.forEach(route => { router.addRoute(route) })
47
+ this.setRoutes(rewriteRoutes)
48
+ this.setSidebarRouters(constantRoutes.concat(sidebarRoutes))
49
+ this.setDefaultRoutes(sidebarRoutes)
50
+ this.setTopbarRoutes(defaultRoutes)
51
+ resolve(rewriteRoutes)
52
+ })
53
+ })
54
+ }
55
+ }
56
+ })
57
+
58
+ // 遍历后台传来的路由字符串,转换为组件对象
59
+ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
60
+ return asyncRouterMap.filter(route => {
61
+ if (type && route.children) {
62
+ route.children = filterChildren(route.children)
63
+ }
64
+ if (route.component) {
65
+ // Layout ParentView 组件特殊处理
66
+ if (route.component === 'Layout') {
67
+ route.component = Layout
68
+ } else if (route.component === 'ParentView') {
69
+ route.component = ParentView
70
+ } else if (route.component === 'InnerLink') {
71
+ route.component = InnerLink
72
+ } else {
73
+ route.component = loadView(route.component)
74
+ }
75
+ }
76
+ if (route.children != null && route.children && route.children.length) {
77
+ route.children = filterAsyncRouter(route.children, route, type)
78
+ } else {
79
+ delete route['children']
80
+ delete route['redirect']
81
+ }
82
+ return true
83
+ })
84
+ }
85
+
86
+ function filterChildren(childrenMap, lastRouter = false) {
87
+ var children = []
88
+ childrenMap.forEach((el, index) => {
89
+ if (el.children && el.children.length) {
90
+ if (el.component === 'ParentView' && !lastRouter) {
91
+ el.children.forEach(c => {
92
+ c.path = el.path + '/' + c.path
93
+ if (c.children && c.children.length) {
94
+ children = children.concat(filterChildren(c.children, c))
95
+ return
96
+ }
97
+ children.push(c)
98
+ })
99
+ return
100
+ }
101
+ }
102
+ if (lastRouter) {
103
+ el.path = lastRouter.path + '/' + el.path
104
+ if (el.children && el.children.length) {
105
+ children = children.concat(filterChildren(el.children, el))
106
+ return
107
+ }
108
+ }
109
+ children = children.concat(el)
110
+ })
111
+ return children
112
+ }
113
+
114
+ // 动态路由遍历,验证是否具备权限
115
+ export function filterDynamicRoutes(routes) {
116
+ const res = []
117
+ routes.forEach(route => {
118
+ if (route.permissions) {
119
+ if (auth.hasPermiOr(route.permissions)) {
120
+ res.push(route)
121
+ }
122
+ } else if (route.roles) {
123
+ if (auth.hasRoleOr(route.roles)) {
124
+ res.push(route)
125
+ }
126
+ }
127
+ })
128
+ return res
129
+ }
130
+
131
+ export const loadView = (view) => {
132
+ let res;
133
+ for (const path in modules) {
134
+ const dir = path.split('views/')[1].split('.vue')[0];
135
+ if (dir === view) {
136
+ res = () => modules[path]();
137
+ }
138
+ }
139
+ return res;
140
+ }
141
+
142
+ export default usePermissionStore
@@ -0,0 +1,38 @@
1
+ import defaultSettings from '@/settings'
2
+ import { useDynamicTitle } from '@/utils/dynamicTitle'
3
+
4
+ const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings
5
+
6
+ const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
7
+
8
+ const useSettingsStore = defineStore(
9
+ 'settings',
10
+ {
11
+ state: () => ({
12
+ title: '',
13
+ theme: storageSetting.theme || '#409EFF',
14
+ sideTheme: storageSetting.sideTheme || sideTheme,
15
+ showSettings: showSettings,
16
+ topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
17
+ tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
18
+ fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
19
+ sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
20
+ dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle
21
+ }),
22
+ actions: {
23
+ // 修改布局设置
24
+ changeSetting(data) {
25
+ const { key, value } = data
26
+ if (this.hasOwnProperty(key)) {
27
+ this[key] = value
28
+ }
29
+ },
30
+ // 设置网页标题
31
+ setTitle(title) {
32
+ this.title = title
33
+ useDynamicTitle();
34
+ }
35
+ }
36
+ })
37
+
38
+ export default useSettingsStore
@@ -0,0 +1,182 @@
1
+ const useTagsViewStore = defineStore(
2
+ 'tags-view',
3
+ {
4
+ state: () => ({
5
+ visitedViews: [],
6
+ cachedViews: [],
7
+ iframeViews: []
8
+ }),
9
+ actions: {
10
+ addView(view) {
11
+ this.addVisitedView(view)
12
+ this.addCachedView(view)
13
+ },
14
+ addIframeView(view) {
15
+ if (this.iframeViews.some(v => v.path === view.path)) return
16
+ this.iframeViews.push(
17
+ Object.assign({}, view, {
18
+ title: view.meta.title || 'no-name'
19
+ })
20
+ )
21
+ },
22
+ addVisitedView(view) {
23
+ if (this.visitedViews.some(v => v.path === view.path)) return
24
+ this.visitedViews.push(
25
+ Object.assign({}, view, {
26
+ title: view.meta.title || 'no-name'
27
+ })
28
+ )
29
+ },
30
+ addCachedView(view) {
31
+ if (this.cachedViews.includes(view.name)) return
32
+ if (!view.meta.noCache) {
33
+ this.cachedViews.push(view.name)
34
+ }
35
+ },
36
+ delView(view) {
37
+ return new Promise(resolve => {
38
+ this.delVisitedView(view)
39
+ this.delCachedView(view)
40
+ resolve({
41
+ visitedViews: [...this.visitedViews],
42
+ cachedViews: [...this.cachedViews]
43
+ })
44
+ })
45
+ },
46
+ delVisitedView(view) {
47
+ return new Promise(resolve => {
48
+ for (const [i, v] of this.visitedViews.entries()) {
49
+ if (v.path === view.path) {
50
+ this.visitedViews.splice(i, 1)
51
+ break
52
+ }
53
+ }
54
+ this.iframeViews = this.iframeViews.filter(item => item.path !== view.path)
55
+ resolve([...this.visitedViews])
56
+ })
57
+ },
58
+ delIframeView(view) {
59
+ return new Promise(resolve => {
60
+ this.iframeViews = this.iframeViews.filter(item => item.path !== view.path)
61
+ resolve([...this.iframeViews])
62
+ })
63
+ },
64
+ delCachedView(view) {
65
+ return new Promise(resolve => {
66
+ const index = this.cachedViews.indexOf(view.name)
67
+ index > -1 && this.cachedViews.splice(index, 1)
68
+ resolve([...this.cachedViews])
69
+ })
70
+ },
71
+ delOthersViews(view) {
72
+ return new Promise(resolve => {
73
+ this.delOthersVisitedViews(view)
74
+ this.delOthersCachedViews(view)
75
+ resolve({
76
+ visitedViews: [...this.visitedViews],
77
+ cachedViews: [...this.cachedViews]
78
+ })
79
+ })
80
+ },
81
+ delOthersVisitedViews(view) {
82
+ return new Promise(resolve => {
83
+ this.visitedViews = this.visitedViews.filter(v => {
84
+ return v.meta.affix || v.path === view.path
85
+ })
86
+ this.iframeViews = this.iframeViews.filter(item => item.path === view.path)
87
+ resolve([...this.visitedViews])
88
+ })
89
+ },
90
+ delOthersCachedViews(view) {
91
+ return new Promise(resolve => {
92
+ const index = this.cachedViews.indexOf(view.name)
93
+ if (index > -1) {
94
+ this.cachedViews = this.cachedViews.slice(index, index + 1)
95
+ } else {
96
+ this.cachedViews = []
97
+ }
98
+ resolve([...this.cachedViews])
99
+ })
100
+ },
101
+ delAllViews(view) {
102
+ return new Promise(resolve => {
103
+ this.delAllVisitedViews(view)
104
+ this.delAllCachedViews(view)
105
+ resolve({
106
+ visitedViews: [...this.visitedViews],
107
+ cachedViews: [...this.cachedViews]
108
+ })
109
+ })
110
+ },
111
+ delAllVisitedViews(view) {
112
+ return new Promise(resolve => {
113
+ const affixTags = this.visitedViews.filter(tag => tag.meta.affix)
114
+ this.visitedViews = affixTags
115
+ this.iframeViews = []
116
+ resolve([...this.visitedViews])
117
+ })
118
+ },
119
+ delAllCachedViews(view) {
120
+ return new Promise(resolve => {
121
+ this.cachedViews = []
122
+ resolve([...this.cachedViews])
123
+ })
124
+ },
125
+ updateVisitedView(view) {
126
+ for (let v of this.visitedViews) {
127
+ if (v.path === view.path) {
128
+ v = Object.assign(v, view)
129
+ break
130
+ }
131
+ }
132
+ },
133
+ delRightTags(view) {
134
+ return new Promise(resolve => {
135
+ const index = this.visitedViews.findIndex(v => v.path === view.path)
136
+ if (index === -1) {
137
+ return
138
+ }
139
+ this.visitedViews = this.visitedViews.filter((item, idx) => {
140
+ if (idx <= index || (item.meta && item.meta.affix)) {
141
+ return true
142
+ }
143
+ const i = this.cachedViews.indexOf(item.name)
144
+ if (i > -1) {
145
+ this.cachedViews.splice(i, 1)
146
+ }
147
+ if(item.meta.link) {
148
+ const fi = this.iframeViews.findIndex(v => v.path === item.path)
149
+ this.iframeViews.splice(fi, 1)
150
+ }
151
+ return false
152
+ })
153
+ resolve([...this.visitedViews])
154
+ })
155
+ },
156
+ delLeftTags(view) {
157
+ return new Promise(resolve => {
158
+ const index = this.visitedViews.findIndex(v => v.path === view.path)
159
+ if (index === -1) {
160
+ return
161
+ }
162
+ this.visitedViews = this.visitedViews.filter((item, idx) => {
163
+ if (idx >= index || (item.meta && item.meta.affix)) {
164
+ return true
165
+ }
166
+ const i = this.cachedViews.indexOf(item.name)
167
+ if (i > -1) {
168
+ this.cachedViews.splice(i, 1)
169
+ }
170
+ if(item.meta.link) {
171
+ const fi = this.iframeViews.findIndex(v => v.path === item.path)
172
+ this.iframeViews.splice(fi, 1)
173
+ }
174
+ return false
175
+ })
176
+ resolve([...this.visitedViews])
177
+ })
178
+ }
179
+ }
180
+ })
181
+
182
+ export default useTagsViewStore