create-young-proj 0.13.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. package/README.md +31 -22
  2. package/dist/index.mjs +34 -34
  3. package/package.json +12 -11
  4. package/template-nuxt-admin/README.md +23 -16
  5. package/template-nuxt-website/README.md +117 -0
  6. package/template-uni-app/README.md +5 -0
  7. package/template-admin-server/.editorconfig +0 -11
  8. package/template-admin-server/.nvmrc +0 -1
  9. package/template-admin-server/.vscode/extensions.json +0 -6
  10. package/template-admin-server/.vscode/settings.json +0 -4
  11. package/template-admin-server/_gitignore +0 -15
  12. package/template-admin-server/boot.mjs +0 -11
  13. package/template-admin-server/package.json +0 -60
  14. package/template-admin-server/rome.json +0 -22
  15. package/template-admin-server/src/config/config.default.ts +0 -56
  16. package/template-admin-server/src/configuration.ts +0 -47
  17. package/template-admin-server/src/controller/admin.controller.ts +0 -397
  18. package/template-admin-server/src/controller/api.controller.ts +0 -98
  19. package/template-admin-server/src/controller/base.controller.ts +0 -70
  20. package/template-admin-server/src/controller/dto/api.ts +0 -47
  21. package/template-admin-server/src/controller/dto/index.ts +0 -36
  22. package/template-admin-server/src/controller/dto/menu.ts +0 -41
  23. package/template-admin-server/src/controller/dto/role.ts +0 -41
  24. package/template-admin-server/src/controller/dto/user.ts +0 -52
  25. package/template-admin-server/src/controller/menu.controller.ts +0 -138
  26. package/template-admin-server/src/controller/role.controller.ts +0 -116
  27. package/template-admin-server/src/controller/user.controller.ts +0 -108
  28. package/template-admin-server/src/entities/Api.ts +0 -29
  29. package/template-admin-server/src/entities/BaseCreate.ts +0 -30
  30. package/template-admin-server/src/entities/Menu.ts +0 -39
  31. package/template-admin-server/src/entities/Role.ts +0 -36
  32. package/template-admin-server/src/entities/User.ts +0 -35
  33. package/template-admin-server/src/entities/index.ts +0 -10
  34. package/template-admin-server/src/filter/default.filter.ts +0 -22
  35. package/template-admin-server/src/filter/notfound.filter.ts +0 -23
  36. package/template-admin-server/src/middleware/helper.middleware.ts +0 -28
  37. package/template-admin-server/src/middleware/index.ts +0 -9
  38. package/template-admin-server/src/middleware/jwt.middleware.ts +0 -32
  39. package/template-admin-server/src/middleware/report.middleware.ts +0 -26
  40. package/template-admin-server/src/service/api.service.ts +0 -174
  41. package/template-admin-server/src/service/basic.ts +0 -118
  42. package/template-admin-server/src/service/index.ts +0 -10
  43. package/template-admin-server/src/service/menu.service.ts +0 -139
  44. package/template-admin-server/src/service/role.service.ts +0 -286
  45. package/template-admin-server/src/service/user.service.ts +0 -124
  46. package/template-admin-server/src/strategy/jwt.strategy.ts +0 -26
  47. package/template-admin-server/src/types/index.ts +0 -42
  48. package/template-admin-server/src/types/types.d.ts +0 -31
  49. package/template-admin-server/tsconfig.json +0 -24
  50. package/template-nuxt-admin/.eslintrc +0 -14
  51. package/template-nuxt-admin/.vscode/extensions.json +0 -12
  52. package/template-nuxt-admin/.vscode/settings.json +0 -25
  53. package/template-nuxt-admin/Dockerfile +0 -41
  54. package/template-nuxt-admin/_gitignore +0 -23
  55. package/template-nuxt-admin/_npmrc +0 -2
  56. package/template-nuxt-admin/app.vue +0 -41
  57. package/template-nuxt-admin/boot.mjs +0 -16
  58. package/template-nuxt-admin/components/ScreenFull.vue +0 -19
  59. package/template-nuxt-admin/components/TopSearch.vue +0 -77
  60. package/template-nuxt-admin/components/TopUser.vue +0 -72
  61. package/template-nuxt-admin/components/YoungChangePassword.vue +0 -97
  62. package/template-nuxt-admin/components/YoungCodeInput.vue +0 -66
  63. package/template-nuxt-admin/components/YoungLink.vue +0 -24
  64. package/template-nuxt-admin/components/YoungLoading.vue +0 -39
  65. package/template-nuxt-admin/components/layout/Footer.vue +0 -29
  66. package/template-nuxt-admin/components/layout/Logo.vue +0 -54
  67. package/template-nuxt-admin/components/layout/Main.vue +0 -26
  68. package/template-nuxt-admin/components/layout/NavBar.vue +0 -89
  69. package/template-nuxt-admin/components/layout/SideBar.vue +0 -96
  70. package/template-nuxt-admin/components/layout/SubMenu.vue +0 -52
  71. package/template-nuxt-admin/components/layout/TabsBar.vue +0 -184
  72. package/template-nuxt-admin/composables/api.ts +0 -105
  73. package/template-nuxt-admin/composables/apis/delete.ts +0 -37
  74. package/template-nuxt-admin/composables/apis/get.ts +0 -83
  75. package/template-nuxt-admin/composables/apis/index.ts +0 -10
  76. package/template-nuxt-admin/composables/apis/patch.ts +0 -74
  77. package/template-nuxt-admin/composables/apis/post.ts +0 -85
  78. package/template-nuxt-admin/composables/config.ts +0 -13
  79. package/template-nuxt-admin/composables/icon.ts +0 -27
  80. package/template-nuxt-admin/composables/nav.ts +0 -75
  81. package/template-nuxt-admin/composables/tags.ts +0 -136
  82. package/template-nuxt-admin/composables/user.ts +0 -46
  83. package/template-nuxt-admin/config/.devrc +0 -1
  84. package/template-nuxt-admin/config/.onlinerc +0 -1
  85. package/template-nuxt-admin/config/.testrc +0 -1
  86. package/template-nuxt-admin/env.d.ts +0 -47
  87. package/template-nuxt-admin/error.vue +0 -61
  88. package/template-nuxt-admin/layouts/blank.vue +0 -9
  89. package/template-nuxt-admin/layouts/default.vue +0 -125
  90. package/template-nuxt-admin/middleware/auth.global.ts +0 -69
  91. package/template-nuxt-admin/nuxt.config.ts +0 -106
  92. package/template-nuxt-admin/package.json +0 -64
  93. package/template-nuxt-admin/pages/home/[id].vue +0 -28
  94. package/template-nuxt-admin/pages/index.vue +0 -15
  95. package/template-nuxt-admin/pages/login.vue +0 -199
  96. package/template-nuxt-admin/pages/system/api.vue +0 -179
  97. package/template-nuxt-admin/pages/system/hooks/useRole.ts +0 -335
  98. package/template-nuxt-admin/pages/system/menuList.vue +0 -353
  99. package/template-nuxt-admin/pages/system/role.vue +0 -145
  100. package/template-nuxt-admin/pages/system/user.vue +0 -225
  101. package/template-nuxt-admin/plugins/directive.ts +0 -26
  102. package/template-nuxt-admin/public/bg.webp +0 -0
  103. package/template-nuxt-admin/public/default_avatar.svg +0 -1
  104. package/template-nuxt-admin/public/favicon.svg +0 -2
  105. package/template-nuxt-admin/public/image_placeholder.svg +0 -15
  106. package/template-nuxt-admin/public/logo.svg +0 -2
  107. package/template-nuxt-admin/public/tabbar_bg.png +0 -0
  108. package/template-nuxt-admin/server/api/[...all].ts +0 -10
  109. package/template-nuxt-admin/server/plugins/env.ts +0 -87
  110. package/template-nuxt-admin/server/routes/get/env.ts +0 -13
  111. package/template-nuxt-admin/server/tsconfig.json +0 -3
  112. package/template-nuxt-admin/server/utils/index.ts +0 -36
  113. package/template-nuxt-admin/styles/element.scss +0 -30
  114. package/template-nuxt-admin/styles/index.scss +0 -59
  115. package/template-nuxt-admin/styles/variable.scss +0 -103
  116. package/template-nuxt-admin/tsconfig.json +0 -7
  117. package/template-nuxt-admin/typings/global.d.ts +0 -16
  118. package/template-nuxt-admin/typings/system.d.ts +0 -66
  119. package/template-nuxt-admin/typings/user.d.ts +0 -19
  120. package/template-nuxt-admin/uno.config.ts +0 -40
  121. package/template-nuxt-admin/utils/tool.ts +0 -199
  122. package/template-nuxt-admin/yarn.lock +0 -8487
  123. package/template-uni-app/.eslintignore +0 -1
  124. package/template-uni-app/.eslintrc +0 -16
  125. package/template-uni-app/.vscode/.server-controller-port.log +0 -5
  126. package/template-uni-app/.vscode/css.code-snippets +0 -398
  127. package/template-uni-app/.vscode/extensions.json +0 -12
  128. package/template-uni-app/.vscode/js.code-snippets +0 -1669
  129. package/template-uni-app/.vscode/settings.json +0 -25
  130. package/template-uni-app/.vscode/vue-html.code-snippets +0 -682
  131. package/template-uni-app/_env +0 -3
  132. package/template-uni-app/_env.development +0 -11
  133. package/template-uni-app/_env.production +0 -8
  134. package/template-uni-app/_env.test +0 -11
  135. package/template-uni-app/_gitignore +0 -3
  136. package/template-uni-app/_npmrc +0 -2
  137. package/template-uni-app/auto-imports.d.ts +0 -413
  138. package/template-uni-app/components.d.ts +0 -17
  139. package/template-uni-app/custom-plugins/index.ts +0 -7
  140. package/template-uni-app/custom-plugins/multiconf.ts +0 -74
  141. package/template-uni-app/dist/dev/mp-weixin/apis/index.js +0 -43
  142. package/template-uni-app/dist/dev/mp-weixin/apis/requests/get.js +0 -10
  143. package/template-uni-app/dist/dev/mp-weixin/apis/requests/index.js +0 -1
  144. package/template-uni-app/dist/dev/mp-weixin/apis/requests/post.js +0 -15
  145. package/template-uni-app/dist/dev/mp-weixin/app.js +0 -92
  146. package/template-uni-app/dist/dev/mp-weixin/app.json +0 -51
  147. package/template-uni-app/dist/dev/mp-weixin/app.wxss +0 -2378
  148. package/template-uni-app/dist/dev/mp-weixin/common/assets.js +0 -13
  149. package/template-uni-app/dist/dev/mp-weixin/common/vendor.js +0 -9166
  150. package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.js +0 -22
  151. package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.json +0 -4
  152. package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.wxml +0 -1
  153. package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.wxss +0 -0
  154. package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.js +0 -22
  155. package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.json +0 -4
  156. package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.wxml +0 -1
  157. package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.wxss +0 -0
  158. package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.js +0 -81
  159. package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.json +0 -4
  160. package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.wxml +0 -1
  161. package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.wxss +0 -108
  162. package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.js +0 -55
  163. package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.json +0 -4
  164. package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.wxml +0 -1
  165. package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.wxss +0 -88
  166. package/template-uni-app/dist/dev/mp-weixin/config/enum.js +0 -21
  167. package/template-uni-app/dist/dev/mp-weixin/config/index.js +0 -1
  168. package/template-uni-app/dist/dev/mp-weixin/config/map.js +0 -1
  169. package/template-uni-app/dist/dev/mp-weixin/layouts/default.js +0 -29
  170. package/template-uni-app/dist/dev/mp-weixin/layouts/default.json +0 -6
  171. package/template-uni-app/dist/dev/mp-weixin/layouts/default.wxml +0 -1
  172. package/template-uni-app/dist/dev/mp-weixin/layouts/default.wxss +0 -0
  173. package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.js +0 -56
  174. package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.json +0 -9
  175. package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.wxml +0 -1
  176. package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.wxss +0 -0
  177. package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.js +0 -98
  178. package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.json +0 -4
  179. package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.wxml +0 -1
  180. package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.wxss +0 -125
  181. package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.js +0 -37
  182. package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.json +0 -5
  183. package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.wxml +0 -1
  184. package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.wxss +0 -0
  185. package/template-uni-app/dist/dev/mp-weixin/pages/index.js +0 -50
  186. package/template-uni-app/dist/dev/mp-weixin/pages/index.json +0 -5
  187. package/template-uni-app/dist/dev/mp-weixin/pages/index.wxml +0 -1
  188. package/template-uni-app/dist/dev/mp-weixin/pages/index.wxss +0 -0
  189. package/template-uni-app/dist/dev/mp-weixin/pages/my.js +0 -22
  190. package/template-uni-app/dist/dev/mp-weixin/pages/my.json +0 -3
  191. package/template-uni-app/dist/dev/mp-weixin/pages/my.wxml +0 -1
  192. package/template-uni-app/dist/dev/mp-weixin/pages/my.wxss +0 -0
  193. package/template-uni-app/dist/dev/mp-weixin/project.config.json +0 -55
  194. package/template-uni-app/dist/dev/mp-weixin/project.private.config.json +0 -6
  195. package/template-uni-app/dist/dev/mp-weixin/static/back.png +0 -0
  196. package/template-uni-app/dist/dev/mp-weixin/static/h.png +0 -0
  197. package/template-uni-app/dist/dev/mp-weixin/static/home.png +0 -0
  198. package/template-uni-app/dist/dev/mp-weixin/static/home_active.png +0 -0
  199. package/template-uni-app/dist/dev/mp-weixin/static/more.png +0 -0
  200. package/template-uni-app/dist/dev/mp-weixin/static/my.png +0 -0
  201. package/template-uni-app/dist/dev/mp-weixin/static/my_active.png +0 -0
  202. package/template-uni-app/dist/dev/mp-weixin/static/network.png +0 -0
  203. package/template-uni-app/dist/dev/mp-weixin/store/index.js +0 -8
  204. package/template-uni-app/dist/dev/mp-weixin/store/local/index.js +0 -13
  205. package/template-uni-app/dist/dev/mp-weixin/store/system.js +0 -14
  206. package/template-uni-app/dist/dev/mp-weixin/utils/modal.js +0 -78
  207. package/template-uni-app/dist/dev/mp-weixin/utils/route.js +0 -83
  208. package/template-uni-app/dist/dev/mp-weixin/utils/system.js +0 -27
  209. package/template-uni-app/index.html +0 -23
  210. package/template-uni-app/manifest.config.ts +0 -88
  211. package/template-uni-app/package.json +0 -108
  212. package/template-uni-app/pages.config.ts +0 -58
  213. package/template-uni-app/pnpm-lock.yaml +0 -9967
  214. package/template-uni-app/src/App.vue +0 -79
  215. package/template-uni-app/src/apis/index.ts +0 -54
  216. package/template-uni-app/src/apis/requests/get.ts +0 -52
  217. package/template-uni-app/src/apis/requests/index.ts +0 -8
  218. package/template-uni-app/src/apis/requests/post.ts +0 -23
  219. package/template-uni-app/src/components/young-loading/young-loading.vue +0 -36
  220. package/template-uni-app/src/components/young-loading-mini/young-loading-mini.vue +0 -35
  221. package/template-uni-app/src/components/young-navbar/young-navbar.vue +0 -252
  222. package/template-uni-app/src/components/young-tabbar/young-tabbar.vue +0 -145
  223. package/template-uni-app/src/config/enum.ts +0 -47
  224. package/template-uni-app/src/config/index.ts +0 -8
  225. package/template-uni-app/src/config/map.ts +0 -15
  226. package/template-uni-app/src/env.d.ts +0 -36
  227. package/template-uni-app/src/layouts/default.vue +0 -22
  228. package/template-uni-app/src/layouts/tabbar.vue +0 -38
  229. package/template-uni-app/src/main.ts +0 -20
  230. package/template-uni-app/src/manifest.json +0 -75
  231. package/template-uni-app/src/pages/demo/index.vue +0 -30
  232. package/template-uni-app/src/pages/index.vue +0 -65
  233. package/template-uni-app/src/pages/my.vue +0 -30
  234. package/template-uni-app/src/pages.json +0 -74
  235. package/template-uni-app/src/static/back.png +0 -0
  236. package/template-uni-app/src/static/h.png +0 -0
  237. package/template-uni-app/src/static/home.png +0 -0
  238. package/template-uni-app/src/static/home_active.png +0 -0
  239. package/template-uni-app/src/static/more.png +0 -0
  240. package/template-uni-app/src/static/my.png +0 -0
  241. package/template-uni-app/src/static/my_active.png +0 -0
  242. package/template-uni-app/src/static/network.png +0 -0
  243. package/template-uni-app/src/store/index.ts +0 -16
  244. package/template-uni-app/src/store/local/index.ts +0 -42
  245. package/template-uni-app/src/store/system.ts +0 -21
  246. package/template-uni-app/src/typings/global.d.ts +0 -7
  247. package/template-uni-app/src/uni.scss +0 -76
  248. package/template-uni-app/src/utils/auth.ts +0 -204
  249. package/template-uni-app/src/utils/index.ts +0 -11
  250. package/template-uni-app/src/utils/map.ts +0 -98
  251. package/template-uni-app/src/utils/modal.ts +0 -120
  252. package/template-uni-app/src/utils/route.ts +0 -151
  253. package/template-uni-app/src/utils/system.ts +0 -67
  254. package/template-uni-app/tsconfig.json +0 -16
  255. package/template-uni-app/unocss.config.ts +0 -30
  256. package/template-uni-app/vite.config.ts +0 -63
  257. package/template-uni-app/volar.config.js +0 -6
  258. package/template-vue-mobile/.vscode/base.code-snippets +0 -24
  259. package/template-vue-mobile/.vscode/extensions.json +0 -10
  260. package/template-vue-mobile/.vscode/settings.json +0 -7
  261. package/template-vue-mobile/Dockerfile +0 -42
  262. package/template-vue-mobile/_env +0 -6
  263. package/template-vue-mobile/_gitignore +0 -30
  264. package/template-vue-mobile/boot.mjs +0 -16
  265. package/template-vue-mobile/build/custom-plugin.ts +0 -30
  266. package/template-vue-mobile/build/index.ts +0 -7
  267. package/template-vue-mobile/build/plugins.ts +0 -68
  268. package/template-vue-mobile/config/.devrc +0 -2
  269. package/template-vue-mobile/config/.onlinerc +0 -1
  270. package/template-vue-mobile/config/.testrc +0 -1
  271. package/template-vue-mobile/index.html +0 -25
  272. package/template-vue-mobile/nitro.config.ts +0 -19
  273. package/template-vue-mobile/package.json +0 -48
  274. package/template-vue-mobile/plugins/env.ts +0 -26
  275. package/template-vue-mobile/public/vite.svg +0 -1
  276. package/template-vue-mobile/rome.json +0 -24
  277. package/template-vue-mobile/routes/[...all].ts +0 -11
  278. package/template-vue-mobile/routes/get/env.ts +0 -25
  279. package/template-vue-mobile/src/App.vue +0 -29
  280. package/template-vue-mobile/src/auto-components.d.ts +0 -24
  281. package/template-vue-mobile/src/auto-imports.d.ts +0 -289
  282. package/template-vue-mobile/src/components/Init.vue +0 -36
  283. package/template-vue-mobile/src/global.d.ts +0 -7
  284. package/template-vue-mobile/src/hooks/useVerifyCode.ts +0 -46
  285. package/template-vue-mobile/src/layouts/blank.vue +0 -9
  286. package/template-vue-mobile/src/layouts/default.vue +0 -27
  287. package/template-vue-mobile/src/layouts/sub.vue +0 -20
  288. package/template-vue-mobile/src/main.ts +0 -35
  289. package/template-vue-mobile/src/modules/1-router.ts +0 -40
  290. package/template-vue-mobile/src/modules/2-pinia.ts +0 -10
  291. package/template-vue-mobile/src/modules/3-net.ts +0 -46
  292. package/template-vue-mobile/src/modules/4-auth.ts +0 -64
  293. package/template-vue-mobile/src/views/[...all_404].vue +0 -557
  294. package/template-vue-mobile/src/views/base/login.vue +0 -110
  295. package/template-vue-mobile/src/views/base/resetPasswd.vue +0 -88
  296. package/template-vue-mobile/src/views/index.vue +0 -18
  297. package/template-vue-mobile/src/views/my.vue +0 -15
  298. package/template-vue-mobile/src/views/sub.vue +0 -18
  299. package/template-vue-mobile/src/vite-env.d.ts +0 -43
  300. package/template-vue-mobile/tsconfig.json +0 -21
  301. package/template-vue-mobile/tsconfig.node.json +0 -9
  302. package/template-vue-mobile/unocss.config.ts +0 -47
  303. package/template-vue-mobile/vite.config.ts +0 -32
  304. package/template-vue-mobile/yarn.lock +0 -4395
  305. package/template-vue-thin/.vscode/extensions.json +0 -10
  306. package/template-vue-thin/.vscode/settings.json +0 -4
  307. package/template-vue-thin/_env +0 -1
  308. package/template-vue-thin/_gitignore +0 -29
  309. package/template-vue-thin/index.html +0 -21
  310. package/template-vue-thin/package.json +0 -40
  311. package/template-vue-thin/public/vite.svg +0 -1
  312. package/template-vue-thin/src/App.vue +0 -9
  313. package/template-vue-thin/src/layouts/blank.vue +0 -9
  314. package/template-vue-thin/src/layouts/default.vue +0 -12
  315. package/template-vue-thin/src/layouts/list.vue +0 -12
  316. package/template-vue-thin/src/main.ts +0 -58
  317. package/template-vue-thin/src/views/[...all_404].vue +0 -488
  318. package/template-vue-thin/src/views/index.vue +0 -19
  319. package/template-vue-thin/src/views/list.vue +0 -17
  320. package/template-vue-thin/src/vite-env.d.ts +0 -22
  321. package/template-vue-thin/tsconfig.json +0 -21
  322. package/template-vue-thin/tsconfig.node.json +0 -9
  323. package/template-vue-thin/unocss.config.ts +0 -47
  324. package/template-vue-thin/vite.config.ts +0 -64
@@ -1,286 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-12-27 14:20:09
4
- * @LastEditTime: 2023-01-09 14:36:32
5
- * @Description:
6
- */
7
- import { Provide } from '@midwayjs/decorator';
8
- import { InjectEntityModel } from '@midwayjs/typeorm';
9
- import type { Repository } from 'typeorm';
10
- import { Api, Menu, Role } from '../entities';
11
- import { BasicService } from './basic';
12
-
13
- export type CreateRoleItem = Partial<Role> & {
14
- /**
15
- * 接口 id 数组
16
- */
17
- aid?: number[];
18
- /**
19
- * 菜单 id 数组
20
- */
21
- mid?: number[];
22
- };
23
-
24
- @Provide()
25
- export class RoleService extends BasicService<Role, CreateRoleItem> {
26
- @InjectEntityModel(Role)
27
- repo: Repository<Role>;
28
-
29
- async create(item: CreateRoleItem) {
30
- const role = new Role();
31
- for (const [key, value] of Object.entries(item)) {
32
- if (key === 'aid' && Array.isArray(value)) {
33
- const api_repo = this.dataSource.getRepository(Api);
34
-
35
- for (const aid of value) {
36
- const u = await api_repo.findOne({ where: { id: aid as number } });
37
- if (u) {
38
- if (role.apis) {
39
- role.apis.push(u);
40
- } else {
41
- role.apis = [u];
42
- }
43
- } else {
44
- throw new Error(`apiId: ${aid} doesn't exsist`);
45
- }
46
- }
47
- } else if (key === 'mid' && Array.isArray(value)) {
48
- const menu_repo = this.dataSource.getRepository(Menu);
49
- for (const mid of value) {
50
- const u = await menu_repo.findOne({ where: { id: mid as number } });
51
- if (u) {
52
- if (role.menus) {
53
- role.menus.push(u);
54
- } else {
55
- role.menus = [u];
56
- }
57
- } else {
58
- throw new Error(`menuId: ${mid} doesn't exsist`);
59
- }
60
- }
61
- } else {
62
- role[key] = value;
63
- }
64
- }
65
- await this.repo.save(role);
66
- }
67
-
68
- async getAccessMenus(id: number) {
69
- const query = this.repo.createQueryBuilder('role');
70
- query.leftJoinAndSelect('role.menus', 'menus');
71
- query.leftJoinAndSelect('menus.parentId', 'parentId');
72
- query.where(`role.id = :id`, { id });
73
- query.andWhere(`menus.status = 1`);
74
- query.orderBy('parentId.id');
75
- query.orderBy('menus.sort');
76
-
77
- const menus = (await query.getOne())?.menus ?? [];
78
- for (const menu of menus) {
79
- menu.id = Number(menu.id);
80
- // @ts-expect-error
81
- menu.parentId = parseInt(menu?.parentId?.id ?? 0, 10);
82
- }
83
- return menus;
84
- }
85
-
86
- async getAccessMenusTree(id: number) {
87
- const menus = await this.getAccessMenus(id);
88
- this.logger.info('access menus: ', menus);
89
-
90
- /**
91
- * 收集 parentId
92
- * 存储 id 与 menu 的映射
93
- */
94
- const menuMap = new Map<number, Menu>();
95
- menus.forEach((item) => {
96
- if (+item.parentId !== 0) {
97
- menuMap.set(item.id, item);
98
- }
99
- });
100
-
101
- /**
102
- * 遍历菜单
103
- */
104
- for (const menu of menus) {
105
- if (+menu.parentId === 0) {
106
- menu.children = [];
107
- menuMap.set(menu.id, menu);
108
- } else {
109
- const parentMenu = menuMap.get(+menu.parentId);
110
- if (parentMenu) {
111
- if (!parentMenu.children) {
112
- parentMenu.children = [];
113
- }
114
- if (menuMap.has(menu.id)) {
115
- parentMenu.children.push(menuMap.get(menu.id));
116
- } else {
117
- parentMenu.children.push(menu);
118
- }
119
- }
120
- }
121
- }
122
-
123
- return Array.from(menuMap.values()).filter((item) => +item.parentId === 0);
124
- }
125
-
126
- async getAccessApis(id: number) {
127
- const query = this.repo.createQueryBuilder('role');
128
- query.leftJoinAndSelect('role.apis', 'apis');
129
- query.where(`role.id = :id`, { id });
130
- query.andWhere(`apis.status = 1`);
131
- const apis = (await query.getOne())?.apis ?? [];
132
-
133
- return apis.filter((api) => api.status === 1);
134
- }
135
-
136
- async findAll(item: CreateRoleItem & Paginition) {
137
- const query = this.repo.createQueryBuilder();
138
- query.select('*');
139
-
140
- const { noPagination, pageNum, pageSize, name, keyword, status } = item;
141
-
142
- if (['', undefined, null].every((i) => status !== i) && !Number.isNaN(status)) {
143
- query.andWhere(`status = :status`, { status });
144
- }
145
-
146
- if (name) {
147
- query.andWhere(`name like '%${name}%'`);
148
- }
149
-
150
- if (keyword) {
151
- query.andWhere(`keyword like '%${keyword}%'`);
152
- }
153
-
154
- const page = Number(pageNum) || 1;
155
- const size = Number(pageSize) || 10;
156
-
157
- if (!item.noPagination) {
158
- const skip = (page - 1) * size;
159
-
160
- query.skip(skip);
161
- query.take(size);
162
- }
163
-
164
- const total = await query.getCount();
165
- const list = await query.getRawMany();
166
-
167
- list.forEach((role) => (role.id = Number(role.id)));
168
-
169
- return {
170
- pageNum: page,
171
- pageSize: size,
172
- total,
173
- noPagination,
174
- list,
175
- };
176
- }
177
-
178
- async addMenus(id: number, menusId: number[]) {
179
- const role = await this.getById(id);
180
- let res: any = true;
181
-
182
- const queryRunner = this.dataSource.createQueryRunner();
183
- await queryRunner.connect();
184
- await queryRunner.startTransaction();
185
- try {
186
- for (const mid of menusId) {
187
- const menu = await this.dataSource.getRepository(Menu).findOne({
188
- where: { id: mid },
189
- });
190
- if (menu) {
191
- if (role.menus) {
192
- role.menus.push(menu);
193
- } else {
194
- role.menus = [menu];
195
- }
196
- } else {
197
- throw new Error(`menuId: ${mid} 不存在`);
198
- }
199
- }
200
- await this.repo.save(role);
201
- await queryRunner.commitTransaction();
202
- } catch (error) {
203
- await queryRunner.rollbackTransaction();
204
- res = error;
205
- } finally {
206
- await queryRunner.release();
207
- }
208
-
209
- if (res !== true) {
210
- throw res;
211
- }
212
- }
213
-
214
- async delMenus(id: number, menusId: number[]) {
215
- const role = await this.getById(id);
216
- if (role.menus) {
217
- role.menus = role.menus.filter((i) => !menusId.includes(Number(i.id)));
218
- }
219
- await this.repo.save(role);
220
- }
221
-
222
- async addApis(id: number, apisId: number[]) {
223
- const role = await this.getById(id);
224
- let res: any = true;
225
-
226
- const queryRunner = this.dataSource.createQueryRunner();
227
- await queryRunner.connect();
228
- await queryRunner.startTransaction();
229
- try {
230
- for (const aid of apisId) {
231
- const api = await this.dataSource.getRepository(Api).findOne({
232
- where: { id: aid },
233
- });
234
- if (api) {
235
- if (role.apis) {
236
- role.apis.push(api);
237
- } else {
238
- role.apis = [api];
239
- }
240
- } else {
241
- throw new Error(`apiId: ${aid} 不存在`);
242
- }
243
- }
244
- await this.repo.save(role);
245
- await queryRunner.commitTransaction();
246
- } catch (error) {
247
- await queryRunner.rollbackTransaction();
248
- res = error;
249
- } finally {
250
- await queryRunner.release();
251
- }
252
-
253
- if (res !== true) {
254
- throw res;
255
- }
256
- }
257
-
258
- async delApis(id: number, apisId: number[]) {
259
- const role = await this.getById(id);
260
- if (role.apis) {
261
- role.apis = role.apis.filter((i) => !apisId.includes(Number(i.id)));
262
- }
263
- await this.repo.save(role);
264
- }
265
-
266
- async getById(id: number) {
267
- const role = await this.repo.findOne({
268
- where: { id },
269
- relations: ['menus', 'apis'],
270
- });
271
- if (!role) {
272
- throw new Error(`roleId: ${id} 不存在`);
273
- }
274
- return role;
275
- }
276
-
277
- async update(id: number, item: CreateRoleItem) {
278
- const m = await this.getById(id);
279
- for (const [key, value] of Object.entries(item)) {
280
- if (value !== undefined && value !== null) {
281
- m[key] = value;
282
- }
283
- }
284
- await this.repo.save(m);
285
- }
286
- }
@@ -1,124 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-12-27 11:23:19
4
- * @LastEditTime: 2023-01-09 10:17:23
5
- * @Description:
6
- */
7
- import { Provide } from '@midwayjs/decorator';
8
- import { InjectEntityModel } from '@midwayjs/typeorm';
9
- import type { Repository } from 'typeorm';
10
- import { Role, User } from '../entities';
11
- import { BasicService } from './basic';
12
-
13
- export type CreateUserItem = Partial<User> & { rid?: number };
14
-
15
- @Provide()
16
- export class UserService extends BasicService<User, CreateUserItem> {
17
- @InjectEntityModel(User)
18
- repo: Repository<User>;
19
-
20
- async create(item: CreateUserItem) {
21
- const user = new User();
22
- for (const [key, value] of Object.entries(item)) {
23
- if (key === 'rid') {
24
- const role = await this.dataSource.getRepository(Role).findOne({
25
- where: {
26
- id: value as number,
27
- },
28
- });
29
- if (role) {
30
- user.role = role;
31
- } else {
32
- throw new Error(`roleId: ${value} doesn't exsist`);
33
- }
34
- } else {
35
- user[key] = value;
36
- }
37
- }
38
- await this.repo.save(user);
39
- }
40
-
41
- async findAll(item: Partial<User> & Paginition) {
42
- const query = this.repo.createQueryBuilder();
43
- query.select('*');
44
-
45
- const { noPagination, pageNum, pageSize, username, mobile, status } = item;
46
-
47
- if (['', undefined, null].every((i) => status !== i) && !Number.isNaN(status)) {
48
- query.andWhere(`status = :status`, { status });
49
- }
50
-
51
- if (username) {
52
- query.andWhere(`username like '%${username}%'`);
53
- }
54
-
55
- if (mobile) {
56
- query.andWhere(`mobile like '%${mobile}%'`);
57
- }
58
-
59
- const page = Number(pageNum) || 1;
60
- const size = Number(pageSize) || 10;
61
-
62
- if (!item.noPagination) {
63
- const skip = (page - 1) * size;
64
-
65
- query.skip(skip);
66
- query.take(size);
67
- }
68
-
69
- const total = await query.getCount();
70
- const list = await query.getRawMany();
71
-
72
- const roleList = await this.dataSource.getRepository(Role).find();
73
- const roleObj: Record<string, string> = {};
74
- for (const role of roleList) {
75
- roleObj[role.id] = role.name;
76
- }
77
- for (const user of list) {
78
- delete user.password;
79
- user.id = Number(user.id);
80
- user.roleId = Number(user.roleId);
81
- user.role_name = roleObj[user.roleId];
82
- }
83
-
84
- return {
85
- pageNum: page,
86
- pageSize: size,
87
- total,
88
- noPagination,
89
- list,
90
- };
91
- }
92
-
93
- async update(id: number, item: CreateUserItem) {
94
- const m = await this.getById(id);
95
- for (const [key, value] of Object.entries(item)) {
96
- if (value !== undefined && value !== null) {
97
- if (key === 'rid') {
98
- const role = await this.dataSource.getRepository(Role).findOne({
99
- where: { id: Number(value) },
100
- });
101
- if (role) {
102
- m.role = role;
103
- } else {
104
- throw new Error(`roleId: ${value} 不存在!`);
105
- }
106
- } else {
107
- m[key] = value;
108
- }
109
- }
110
- }
111
- await this.repo.save(m);
112
- }
113
-
114
- async getById(id: number) {
115
- const role = await this.repo.findOne({
116
- where: { id },
117
- relations: ['role'],
118
- });
119
- if (!role) {
120
- throw new Error(`userId: ${id} 不存在`);
121
- }
122
- return role;
123
- }
124
- }
@@ -1,26 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-12-27 16:04:53
4
- * @LastEditTime: 2022-12-27 17:34:36
5
- * @Description:
6
- */
7
- import { CustomStrategy, PassportStrategy } from '@midwayjs/passport';
8
- import { Strategy, ExtractJwt } from 'passport-jwt';
9
- import { Config } from '@midwayjs/decorator';
10
-
11
- @CustomStrategy()
12
- export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
13
- @Config('jwt')
14
- jwtConfig;
15
-
16
- async validate(payload) {
17
- return payload;
18
- }
19
-
20
- getStrategyOptions(): any {
21
- return {
22
- secretOrKey: this.jwtConfig.secret,
23
- jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
24
- };
25
- }
26
- }
@@ -1,42 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-12-27 11:15:10
4
- * @LastEditTime: 2022-12-27 16:09:13
5
- * @Description:
6
- */
7
-
8
- import defu from 'defu';
9
- import '@midwayjs/core';
10
-
11
- /**
12
- * 接口状态码
13
- */
14
- export enum Code {
15
- success = 0,
16
- fail = -1,
17
- }
18
-
19
- const defaultSuccess: ResponseMsg = {
20
- code: Code.success,
21
- data: {},
22
- msg: '操作成功!',
23
- };
24
-
25
- const defaultFail: ResponseMsg = {
26
- code: Code.fail,
27
- data: {},
28
- msg: '操作失败!',
29
- };
30
-
31
- export const success = (res: Partial<ResponseMsg> = defaultSuccess) => defu(res, defaultSuccess);
32
-
33
- export const fail = (res: Partial<ResponseMsg> = defaultSuccess) => defu(res, defaultFail);
34
-
35
- declare module '@midwayjs/core' {
36
- interface Context {
37
- helper: {
38
- success: typeof success;
39
- fail: typeof fail;
40
- };
41
- }
42
- }
@@ -1,31 +0,0 @@
1
- /*
2
- * @Author: zhangyang
3
- * @Date: 2022-12-27 11:08:29
4
- * @LastEditTime: 2022-12-27 14:28:06
5
- * @Description:
6
- */
7
-
8
- /**
9
- * 接口响应的数据结构
10
- */
11
- interface ResponseMsg {
12
- /**
13
- * 状态码
14
- */
15
- code: Code;
16
- /**
17
- * 消息提示
18
- */
19
- msg: string;
20
- /**
21
- * 响应的数据
22
- */
23
- data: any;
24
- }
25
-
26
- interface Paginition {
27
- pageNum?: number;
28
- pageSize?: number;
29
- total?: number;
30
- noPagination?: boolean;
31
- }
@@ -1,24 +0,0 @@
1
- {
2
- "compileOnSave": true,
3
- "compilerOptions": {
4
- "target": "es2018",
5
- "module": "CommonJS",
6
- "moduleResolution": "NodeNext",
7
- "experimentalDecorators": true,
8
- "emitDecoratorMetadata": true,
9
- "inlineSourceMap":true,
10
- "noImplicitThis": true,
11
- "noUnusedLocals": true,
12
- "stripInternal": true,
13
- "skipLibCheck": true,
14
- "pretty": true,
15
- "declaration": true,
16
- "forceConsistentCasingInFileNames": true,
17
- "typeRoots": ["./typings", "./node_modules/@types"],
18
- "outDir": "dist"
19
- },
20
- "exclude": [
21
- "dist",
22
- "node_modules"
23
- ]
24
- }
@@ -1,14 +0,0 @@
1
- {
2
- "root": true,
3
- "extends": "@antfu",
4
- "rules": {
5
- "@typescript-eslint/no-use-before-define": "off",
6
- "no-console": "off",
7
- "n/prefer-global/process": "off",
8
- "unused-imports/no-unused-vars": "off",
9
- "@typescript-eslint/ban-types": "off",
10
- "vue/valid-v-model": "off",
11
- "@typescript-eslint/ban-ts-comment": "off",
12
- "no-throw-literal": "off"
13
- }
14
- }
@@ -1,12 +0,0 @@
1
- {
2
- "recommendations": [
3
- "dbaeumer.vscode-eslint",
4
- "editorconfig.editorconfig",
5
- "mhutchie.git-graph",
6
- "vue.vscode-typescript-vue-plugin",
7
- "antfu.unocss",
8
- "antfu.vscode-server-controller",
9
- "vue.volar",
10
- "voorjaar.windicss-intellisense"
11
- ]
12
- }
@@ -1,25 +0,0 @@
1
- {
2
- "prettier.enable": false,
3
- "editor.formatOnSave": false,
4
- "editor.codeActionsOnSave": {
5
- "source.fixAll.eslint": true,
6
- "source.organizeImports": false
7
- },
8
-
9
- // The following is optional.
10
- // It's better to put under project setting `.vscode/settings.json`
11
- // to avoid conflicts with working with different eslint configs
12
- // that does not support all formats.
13
- "eslint.validate": [
14
- "javascript",
15
- "javascriptreact",
16
- "typescript",
17
- "typescriptreact",
18
- "vue",
19
- "html",
20
- "markdown",
21
- "json",
22
- "jsonc",
23
- "yaml"
24
- ]
25
- }
@@ -1,41 +0,0 @@
1
- # 拉取基础镜像
2
- FROM intranet-harbor.laiyouxi.com/base/alpine/node:19 as builder
3
- # 添加部分元数据,暂无意义
4
- LABEL vendor="Lyx-yunwei" \
5
- com.example.release-date="2022-11-10" \
6
- com.example.version.is-production="false"
7
-
8
- # 维护者
9
- MAINTAINER BluesYoung "bluesyoung_web@163.com"
10
- # 配置环境变量
11
- ENV WORK_DIR=/app
12
-
13
- # 工作目录
14
- WORKDIR /app
15
-
16
- # 没有压缩包,首选 COPY,如果需要自动解包或下载,则使用 ADD
17
-
18
- # 对比依赖是否变更
19
- COPY package.json yarn.lock /app/
20
-
21
- # 设置npm仓库 + 下载依赖,上面的文件如果没有变化则跳过下载,直接使用缓存
22
- RUN npm config set registry https://registry.npmmirror.com && \
23
- yarn config set registry https://registry.npmmirror.com && \
24
- yarn
25
-
26
- # 加入代码
27
- COPY . /app
28
- # 打包
29
- RUN yarn build
30
-
31
- # 打包完成,构建最终的极简镜像
32
- FROM intranet-harbor.laiyouxi.com/base/alpine/node:19
33
-
34
- WORKDIR /app
35
- # 复制源码
36
- COPY boot.mjs /app/
37
- COPY config /app/config
38
- # 复制编译后的代码
39
- COPY --from=builder /app/dist /app/dist
40
-
41
- ENTRYPOINT ["node", "boot.mjs"]
@@ -1,23 +0,0 @@
1
- # Nuxt dev/build outputs
2
- .output
3
- .nuxt
4
- .nitro
5
- .cache
6
- dist
7
-
8
- # Node dependencies
9
- node_modules
10
-
11
- # Logs
12
- logs
13
- *.log
14
-
15
- # Misc
16
- .DS_Store
17
- .fleet
18
- .idea
19
-
20
- # Local env files
21
- .env
22
- .env.*
23
- !.env.example
@@ -1,2 +0,0 @@
1
- shamefully-hoist=true
2
- strict-peer-dependencies=false
@@ -1,41 +0,0 @@
1
- <!--
2
- * @Author: zhangyang
3
- * @Date: 2023-05-25 19:53:07
4
- * @LastEditTime: 2023-07-26 10:26:50
5
- * @Description:
6
- -->
7
- <script lang="ts" setup>
8
- import { ElConfigProvider } from 'element-plus'
9
-
10
- // @ts-expect-error
11
- import locale from 'element-plus/dist/locale/zh-cn.mjs'
12
-
13
- const app = useNuxtApp()
14
- const { isLoading } = storeToRefs(useNavStore())
15
-
16
- app.hook('page:start', () => {
17
- console.log('loading...')
18
- isLoading.value = true
19
- })
20
-
21
- app.hook('page:finish', () => {
22
- console.log('loading end ...')
23
- isLoading.value = false
24
- })
25
- </script>
26
-
27
- <template>
28
- <ElConfigProvider :locale="locale">
29
- <NuxtLayout>
30
- <NuxtPage />
31
- </NuxtLayout>
32
- </ElConfigProvider>
33
- <YoungLoading v-show="isLoading" />
34
- </template>
35
-
36
- <style lang="scss">
37
- @import '@unocss/reset/tailwind.css';
38
- @import 'element-plus/dist/index.css';
39
- @import 'vant/lib/index.css';
40
- @import '~/styles/index.scss';
41
- </style>