create-young-proj 0.7.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/dist/index.mjs +0 -0
- package/package.json +36 -28
- package/template-admin-server/.editorconfig +0 -0
- package/template-admin-server/.nvmrc +0 -0
- package/template-admin-server/.vscode/extensions.json +0 -0
- package/template-admin-server/.vscode/settings.json +0 -0
- package/template-admin-server/README.md +0 -0
- package/template-admin-server/_gitignore +0 -0
- package/template-admin-server/boot.mjs +0 -0
- package/template-admin-server/package.json +0 -0
- package/template-admin-server/rome.json +0 -0
- package/template-admin-server/src/config/config.default.ts +0 -0
- package/template-admin-server/src/configuration.ts +0 -0
- package/template-admin-server/src/controller/admin.controller.ts +0 -0
- package/template-admin-server/src/controller/api.controller.ts +0 -0
- package/template-admin-server/src/controller/base.controller.ts +0 -0
- package/template-admin-server/src/controller/dto/api.ts +0 -0
- package/template-admin-server/src/controller/dto/index.ts +0 -0
- package/template-admin-server/src/controller/dto/menu.ts +0 -0
- package/template-admin-server/src/controller/dto/role.ts +0 -0
- package/template-admin-server/src/controller/dto/user.ts +0 -0
- package/template-admin-server/src/controller/menu.controller.ts +0 -0
- package/template-admin-server/src/controller/role.controller.ts +0 -0
- package/template-admin-server/src/controller/user.controller.ts +0 -0
- package/template-admin-server/src/entities/Api.ts +0 -0
- package/template-admin-server/src/entities/BaseCreate.ts +0 -0
- package/template-admin-server/src/entities/Menu.ts +0 -0
- package/template-admin-server/src/entities/Role.ts +0 -0
- package/template-admin-server/src/entities/User.ts +0 -0
- package/template-admin-server/src/entities/index.ts +0 -0
- package/template-admin-server/src/filter/default.filter.ts +0 -0
- package/template-admin-server/src/filter/notfound.filter.ts +0 -0
- package/template-admin-server/src/middleware/helper.middleware.ts +0 -0
- package/template-admin-server/src/middleware/index.ts +0 -0
- package/template-admin-server/src/middleware/jwt.middleware.ts +0 -0
- package/template-admin-server/src/middleware/report.middleware.ts +0 -0
- package/template-admin-server/src/service/api.service.ts +0 -0
- package/template-admin-server/src/service/basic.ts +0 -0
- package/template-admin-server/src/service/index.ts +0 -0
- package/template-admin-server/src/service/menu.service.ts +0 -0
- package/template-admin-server/src/service/role.service.ts +0 -0
- package/template-admin-server/src/service/user.service.ts +0 -0
- package/template-admin-server/src/strategy/jwt.strategy.ts +0 -0
- package/template-admin-server/src/types/index.ts +0 -0
- package/template-admin-server/src/types/types.d.ts +0 -0
- package/template-admin-server/tsconfig.json +0 -0
- package/template-nuxt-admin/.eslintrc +14 -0
- package/template-nuxt-admin/.vscode/extensions.json +12 -0
- package/template-nuxt-admin/.vscode/settings.json +25 -0
- package/template-nuxt-admin/Dockerfile +0 -0
- package/template-nuxt-admin/README.md +29 -1
- package/template-nuxt-admin/_gitignore +23 -0
- package/template-nuxt-admin/_npmrc +2 -0
- package/template-nuxt-admin/app.vue +12 -12
- package/template-nuxt-admin/boot.mjs +0 -0
- package/template-nuxt-admin/components/ScreenFull.vue +5 -4
- package/template-nuxt-admin/components/TopSearch.vue +35 -31
- package/template-nuxt-admin/components/TopUser.vue +12 -9
- package/template-nuxt-admin/components/YoungChangePassword.vue +54 -44
- package/template-nuxt-admin/components/YoungCodeInput.vue +31 -25
- package/template-nuxt-admin/components/YoungLink.vue +3 -2
- package/template-nuxt-admin/components/YoungLoading.vue +1 -1
- package/template-nuxt-admin/components/layout/Footer.vue +1 -1
- package/template-nuxt-admin/components/layout/Logo.vue +7 -5
- package/template-nuxt-admin/components/layout/Main.vue +2 -17
- package/template-nuxt-admin/components/layout/NavBar.vue +12 -9
- package/template-nuxt-admin/components/layout/SideBar.vue +7 -6
- package/template-nuxt-admin/components/layout/SubMenu.vue +12 -13
- package/template-nuxt-admin/components/layout/TabsBar.vue +45 -43
- package/template-nuxt-admin/composables/api.ts +39 -37
- package/template-nuxt-admin/composables/apis/delete.ts +7 -7
- package/template-nuxt-admin/composables/apis/get.ts +13 -13
- package/template-nuxt-admin/composables/apis/index.ts +4 -4
- package/template-nuxt-admin/composables/apis/patch.ts +11 -11
- package/template-nuxt-admin/composables/apis/post.ts +17 -17
- package/template-nuxt-admin/composables/config.ts +1 -1
- package/template-nuxt-admin/composables/icon.ts +4 -4
- package/template-nuxt-admin/composables/nav.ts +19 -21
- package/template-nuxt-admin/composables/tags.ts +50 -50
- package/template-nuxt-admin/composables/user.ts +10 -11
- package/template-nuxt-admin/config/.devrc +0 -0
- package/template-nuxt-admin/config/.onlinerc +0 -0
- package/template-nuxt-admin/config/.testrc +0 -0
- package/template-nuxt-admin/env.d.ts +0 -0
- package/template-nuxt-admin/error.vue +37 -29
- package/template-nuxt-admin/layouts/blank.vue +0 -0
- package/template-nuxt-admin/layouts/default.vue +18 -17
- package/template-nuxt-admin/middleware/auth.global.ts +31 -20
- package/template-nuxt-admin/nuxt.config.ts +8 -7
- package/template-nuxt-admin/package.json +39 -19
- package/template-nuxt-admin/pages/home/[id].vue +6 -6
- package/template-nuxt-admin/pages/index.vue +4 -4
- package/template-nuxt-admin/pages/login.vue +74 -56
- package/template-nuxt-admin/pages/system/api.vue +77 -64
- package/template-nuxt-admin/pages/system/hooks/useRole.ts +127 -128
- package/template-nuxt-admin/pages/system/menuList.vue +171 -146
- package/template-nuxt-admin/pages/system/role.vue +66 -38
- package/template-nuxt-admin/pages/system/user.vue +85 -74
- package/template-nuxt-admin/plugins/directive.ts +9 -9
- package/template-nuxt-admin/public/default_avatar.svg +0 -0
- package/template-nuxt-admin/public/favicon.ico +0 -0
- package/template-nuxt-admin/public/image_placeholder.svg +0 -0
- package/template-nuxt-admin/public/tabbar_bg.png +0 -0
- package/template-nuxt-admin/server/api/[...all].ts +3 -3
- package/template-nuxt-admin/server/plugins/env.ts +19 -20
- package/template-nuxt-admin/server/routes/get/env.ts +3 -3
- package/template-nuxt-admin/server/tsconfig.json +0 -0
- package/template-nuxt-admin/server/utils/index.ts +15 -14
- package/template-nuxt-admin/styles/element.scss +0 -0
- package/template-nuxt-admin/styles/index.scss +0 -0
- package/template-nuxt-admin/styles/variable.scss +0 -0
- package/template-nuxt-admin/tsconfig.json +0 -0
- package/template-nuxt-admin/typings/global.d.ts +0 -0
- package/template-nuxt-admin/typings/system.d.ts +0 -0
- package/template-nuxt-admin/typings/user.d.ts +0 -0
- package/template-nuxt-admin/uno.config.ts +1 -1
- package/template-nuxt-admin/utils/tool.ts +65 -65
- package/template-nuxt-admin/yarn.lock +3321 -1535
- package/template-uni-app/.eslintignore +1 -0
- package/template-uni-app/.eslintrc +16 -0
- package/template-uni-app/.vscode/.server-controller-port.log +5 -0
- package/template-uni-app/.vscode/css.code-snippets +0 -0
- package/template-uni-app/.vscode/extensions.json +5 -2
- package/template-uni-app/.vscode/js.code-snippets +0 -0
- package/template-uni-app/.vscode/settings.json +24 -6
- package/template-uni-app/.vscode/vue-html.code-snippets +0 -0
- package/template-uni-app/README.md +20 -0
- package/template-uni-app/_env +1 -1
- package/template-uni-app/_env.development +2 -2
- package/template-uni-app/_env.production +0 -3
- package/template-uni-app/_env.test +0 -3
- package/template-uni-app/_gitignore +0 -0
- package/template-uni-app/_npmrc +0 -0
- package/template-uni-app/auto-imports.d.ts +3 -0
- package/template-uni-app/components.d.ts +0 -0
- package/template-uni-app/custom-plugins/index.ts +2 -2
- package/template-uni-app/custom-plugins/multiconf.ts +17 -19
- package/template-uni-app/custom-plugins/polyfill.ts +9 -9
- package/template-uni-app/dist/dev/mp-weixin/apis/index.js +44 -0
- package/template-uni-app/dist/dev/mp-weixin/apis/lib/index.js +90 -0
- package/template-uni-app/dist/dev/mp-weixin/apis/requests/get.js +10 -0
- package/template-uni-app/dist/dev/mp-weixin/apis/requests/index.js +1 -0
- package/template-uni-app/dist/dev/mp-weixin/apis/requests/post.js +15 -0
- package/template-uni-app/dist/dev/mp-weixin/app.js +93 -0
- package/template-uni-app/dist/dev/mp-weixin/app.json +51 -0
- package/template-uni-app/dist/dev/mp-weixin/app.wxss +2378 -0
- package/template-uni-app/dist/dev/mp-weixin/common/assets.js +13 -0
- package/template-uni-app/dist/dev/mp-weixin/common/vendor.js +10189 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.js +22 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.json +4 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading/young-loading.wxss +0 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.js +22 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.json +4 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-loading-mini/young-loading-mini.wxss +0 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.js +82 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.json +4 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.wxss +108 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.js +56 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.json +4 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.wxss +88 -0
- package/template-uni-app/dist/dev/mp-weixin/config/enum.js +21 -0
- package/template-uni-app/dist/dev/mp-weixin/config/index.js +1 -0
- package/template-uni-app/dist/dev/mp-weixin/config/map.js +1 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/default.js +30 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/default.json +6 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/default.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/default.wxss +0 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.js +56 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.json +9 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.wxss +0 -0
- package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.js +98 -0
- package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.json +4 -0
- package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-card/uni-card.wxss +125 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.js +38 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.json +5 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.wxss +0 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/index.js +51 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/index.json +5 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/index.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/index.wxss +0 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/my.js +22 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/my.json +3 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/my.wxml +1 -0
- package/template-uni-app/dist/dev/mp-weixin/pages/my.wxss +0 -0
- package/template-uni-app/dist/dev/mp-weixin/project.config.json +56 -0
- package/template-uni-app/dist/dev/mp-weixin/static/back.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/static/h.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/static/home.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/static/home_active.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/static/more.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/static/my.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/static/my_active.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/static/network.png +0 -0
- package/template-uni-app/dist/dev/mp-weixin/store/index.js +8 -0
- package/template-uni-app/dist/dev/mp-weixin/store/local/index.js +11 -0
- package/template-uni-app/dist/dev/mp-weixin/store/system.js +14 -0
- package/template-uni-app/dist/dev/mp-weixin/utils/modal.js +82 -0
- package/template-uni-app/dist/dev/mp-weixin/utils/route.js +85 -0
- package/template-uni-app/dist/dev/mp-weixin/utils/system.js +27 -0
- package/template-uni-app/index.html +0 -0
- package/template-uni-app/manifest.config.ts +11 -11
- package/template-uni-app/package.json +24 -6
- package/template-uni-app/pages.config.ts +11 -11
- package/template-uni-app/pnpm-lock.yaml +2677 -500
- package/template-uni-app/src/App.vue +24 -26
- package/template-uni-app/src/apis/index.ts +25 -21
- package/template-uni-app/src/apis/lib/index.ts +77 -78
- package/template-uni-app/src/apis/requests/get.ts +38 -38
- package/template-uni-app/src/apis/requests/index.ts +2 -2
- package/template-uni-app/src/apis/requests/post.ts +8 -8
- package/template-uni-app/src/components/young-loading/young-loading.vue +17 -19
- package/template-uni-app/src/components/young-loading-mini/young-loading-mini.vue +14 -17
- package/template-uni-app/src/components/young-navbar/young-navbar.vue +43 -44
- package/template-uni-app/src/components/young-tabbar/young-tabbar.vue +39 -35
- package/template-uni-app/src/config/enum.ts +1 -1
- package/template-uni-app/src/config/index.ts +2 -2
- package/template-uni-app/src/config/map.ts +4 -4
- package/template-uni-app/src/env.d.ts +0 -0
- package/template-uni-app/src/layouts/default.vue +8 -10
- package/template-uni-app/src/layouts/tabbar.vue +25 -15
- package/template-uni-app/src/main.ts +7 -7
- package/template-uni-app/src/manifest.json +1 -1
- package/template-uni-app/src/pages/demo/index.vue +16 -10
- package/template-uni-app/src/pages/index.vue +46 -25
- package/template-uni-app/src/pages/my.vue +17 -8
- package/template-uni-app/src/pages.json +9 -3
- package/template-uni-app/src/static/back.png +0 -0
- package/template-uni-app/src/static/h.png +0 -0
- package/template-uni-app/src/static/home.png +0 -0
- package/template-uni-app/src/static/home_active.png +0 -0
- package/template-uni-app/src/static/more.png +0 -0
- package/template-uni-app/src/static/my.png +0 -0
- package/template-uni-app/src/static/my_active.png +0 -0
- package/template-uni-app/src/static/network.png +0 -0
- package/template-uni-app/src/store/index.ts +6 -6
- package/template-uni-app/src/store/local/index.ts +23 -21
- package/template-uni-app/src/store/system.ts +11 -10
- package/template-uni-app/src/typings/global.d.ts +7 -0
- package/template-uni-app/src/uni.scss +0 -0
- package/template-uni-app/src/utils/auth.ts +137 -58
- package/template-uni-app/src/utils/index.ts +5 -5
- package/template-uni-app/src/utils/map.ts +45 -45
- package/template-uni-app/src/utils/modal.ts +61 -39
- package/template-uni-app/src/utils/route.ts +40 -38
- package/template-uni-app/src/utils/system.ts +25 -24
- package/template-uni-app/tsconfig.json +11 -11
- package/template-uni-app/unocss.config.ts +4 -4
- package/template-uni-app/vite.config.ts +15 -15
- package/template-uni-app/volar.config.js +2 -2
- package/template-vue-admin/.vscode/extensions.json +0 -0
- package/template-vue-admin/.vscode/list-add.code-snippets +0 -0
- package/template-vue-admin/.vscode/list-export.code-snippets +0 -0
- package/template-vue-admin/.vscode/list.code-snippets +0 -0
- package/template-vue-admin/.vscode/settings.json +0 -0
- package/template-vue-admin/Dockerfile +0 -0
- package/template-vue-admin/README.md +0 -0
- package/template-vue-admin/_env +0 -0
- package/template-vue-admin/_gitignore +0 -0
- package/template-vue-admin/boot.mjs +0 -0
- package/template-vue-admin/build/custom-plugin.ts +0 -0
- package/template-vue-admin/build/index.ts +0 -0
- package/template-vue-admin/build/plugins.ts +0 -0
- package/template-vue-admin/config/.devrc +0 -0
- package/template-vue-admin/config/.onlinerc +0 -0
- package/template-vue-admin/config/.testrc +0 -0
- package/template-vue-admin/index.html +0 -0
- package/template-vue-admin/nitro.config.ts +0 -0
- package/template-vue-admin/package.json +0 -0
- package/template-vue-admin/plugins/init.ts +0 -0
- package/template-vue-admin/public/vite.svg +0 -0
- package/template-vue-admin/rome.json +0 -0
- package/template-vue-admin/routes/api/[...all].ts +0 -0
- package/template-vue-admin/routes/get/env.ts +0 -0
- package/template-vue-admin/src/App.vue +0 -0
- package/template-vue-admin/src/apis/delete.ts +0 -0
- package/template-vue-admin/src/apis/get.ts +0 -0
- package/template-vue-admin/src/apis/index.ts +0 -0
- package/template-vue-admin/src/apis/patch.ts +0 -0
- package/template-vue-admin/src/apis/post.ts +0 -0
- package/template-vue-admin/src/assets/img/login_background.jpg +0 -0
- package/template-vue-admin/src/auto-components.d.ts +0 -0
- package/template-vue-admin/src/auto-imports.d.ts +0 -0
- package/template-vue-admin/src/layouts/blank.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/Link.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/Logo.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/Menu.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/NavSearch.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/ScrollPane.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/TagsView.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/TopMenu.vue +0 -0
- package/template-vue-admin/src/layouts/default/components/UserCenter.vue +0 -0
- package/template-vue-admin/src/layouts/default/index.vue +0 -0
- package/template-vue-admin/src/main.ts +0 -0
- package/template-vue-admin/src/modules/1-router.ts +0 -0
- package/template-vue-admin/src/modules/2-pinia.ts +0 -0
- package/template-vue-admin/src/modules/3-net.ts +0 -0
- package/template-vue-admin/src/modules/4-auth.ts +0 -0
- package/template-vue-admin/src/modules/5-checkupdate.ts +0 -0
- package/template-vue-admin/src/shims.d.ts +0 -0
- package/template-vue-admin/src/stores/index.ts +0 -0
- package/template-vue-admin/src/stores/local/index.ts +0 -0
- package/template-vue-admin/src/stores/session/index.ts +0 -0
- package/template-vue-admin/src/stores/tags.ts +0 -0
- package/template-vue-admin/src/typings/global.d.ts +0 -0
- package/template-vue-admin/src/typings/index.ts +0 -0
- package/template-vue-admin/src/typings/system.d.ts +0 -0
- package/template-vue-admin/src/views/403.vue +0 -0
- package/template-vue-admin/src/views/[...all_404].vue +0 -0
- package/template-vue-admin/src/views/base/login.vue +0 -0
- package/template-vue-admin/src/views/dashboard/[name].vue +0 -0
- package/template-vue-admin/src/views/index.vue +0 -0
- package/template-vue-admin/src/views/system/api.vue +0 -0
- package/template-vue-admin/src/views/system/hooks/useRole.ts +0 -0
- package/template-vue-admin/src/views/system/menuList.vue +3 -3
- package/template-vue-admin/src/views/system/role.vue +0 -0
- package/template-vue-admin/src/views/system/user.vue +0 -0
- package/template-vue-admin/src/vite-env.d.ts +0 -0
- package/template-vue-admin/tsconfig.json +0 -0
- package/template-vue-admin/tsconfig.node.json +0 -0
- package/template-vue-admin/unocss.config.ts +0 -0
- package/template-vue-admin/vite.config.ts +0 -0
- package/template-vue-mobile/.vscode/base.code-snippets +0 -0
- package/template-vue-mobile/.vscode/extensions.json +0 -0
- package/template-vue-mobile/.vscode/settings.json +0 -0
- package/template-vue-mobile/Dockerfile +0 -0
- package/template-vue-mobile/README.md +0 -0
- package/template-vue-mobile/_env +0 -0
- package/template-vue-mobile/_gitignore +0 -0
- package/template-vue-mobile/boot.mjs +0 -0
- package/template-vue-mobile/build/custom-plugin.ts +0 -0
- package/template-vue-mobile/build/index.ts +0 -0
- package/template-vue-mobile/build/plugins.ts +0 -0
- package/template-vue-mobile/config/.devrc +0 -0
- package/template-vue-mobile/config/.onlinerc +0 -0
- package/template-vue-mobile/config/.testrc +0 -0
- package/template-vue-mobile/index.html +0 -0
- package/template-vue-mobile/nitro.config.ts +0 -0
- package/template-vue-mobile/package.json +0 -0
- package/template-vue-mobile/plugins/env.ts +0 -0
- package/template-vue-mobile/public/vite.svg +0 -0
- package/template-vue-mobile/rome.json +0 -0
- package/template-vue-mobile/routes/[...all].ts +0 -0
- package/template-vue-mobile/routes/get/env.ts +0 -0
- package/template-vue-mobile/src/App.vue +0 -0
- package/template-vue-mobile/src/auto-components.d.ts +0 -0
- package/template-vue-mobile/src/auto-imports.d.ts +0 -0
- package/template-vue-mobile/src/components/Init.vue +0 -0
- package/template-vue-mobile/src/global.d.ts +0 -0
- package/template-vue-mobile/src/hooks/useVerifyCode.ts +0 -0
- package/template-vue-mobile/src/layouts/blank.vue +0 -0
- package/template-vue-mobile/src/layouts/default.vue +0 -0
- package/template-vue-mobile/src/layouts/sub.vue +0 -0
- package/template-vue-mobile/src/main.ts +0 -0
- package/template-vue-mobile/src/modules/1-router.ts +0 -0
- package/template-vue-mobile/src/modules/2-pinia.ts +0 -0
- package/template-vue-mobile/src/modules/3-net.ts +0 -0
- package/template-vue-mobile/src/modules/4-auth.ts +0 -0
- package/template-vue-mobile/src/views/[...all_404].vue +0 -0
- package/template-vue-mobile/src/views/base/login.vue +0 -0
- package/template-vue-mobile/src/views/base/resetPasswd.vue +0 -0
- package/template-vue-mobile/src/views/index.vue +0 -0
- package/template-vue-mobile/src/views/my.vue +0 -0
- package/template-vue-mobile/src/views/sub.vue +0 -0
- package/template-vue-mobile/src/vite-env.d.ts +0 -0
- package/template-vue-mobile/tsconfig.json +0 -0
- package/template-vue-mobile/tsconfig.node.json +0 -0
- package/template-vue-mobile/unocss.config.ts +0 -0
- package/template-vue-mobile/vite.config.ts +0 -0
- package/template-vue-mobile/yarn.lock +0 -0
- package/template-vue-thin/.vscode/extensions.json +0 -0
- package/template-vue-thin/.vscode/settings.json +0 -0
- package/template-vue-thin/README.md +0 -0
- package/template-vue-thin/_env +0 -0
- package/template-vue-thin/_gitignore +0 -0
- package/template-vue-thin/index.html +0 -0
- package/template-vue-thin/package.json +0 -0
- package/template-vue-thin/public/vite.svg +0 -0
- package/template-vue-thin/src/App.vue +0 -0
- package/template-vue-thin/src/layouts/blank.vue +0 -0
- package/template-vue-thin/src/layouts/default.vue +0 -0
- package/template-vue-thin/src/layouts/list.vue +0 -0
- package/template-vue-thin/src/main.ts +0 -0
- package/template-vue-thin/src/views/[...all_404].vue +0 -0
- package/template-vue-thin/src/views/index.vue +0 -0
- package/template-vue-thin/src/views/list.vue +0 -0
- package/template-vue-thin/src/vite-env.d.ts +0 -0
- package/template-vue-thin/tsconfig.json +0 -0
- package/template-vue-thin/tsconfig.node.json +0 -0
- package/template-vue-thin/unocss.config.ts +0 -0
- package/template-vue-thin/vite.config.ts +0 -0
- package/template-nuxt-admin/rome.json +0 -26
- package/template-uni-app/rome.json +0 -26
@@ -4,23 +4,23 @@
|
|
4
4
|
* @LastEditTime: 2023-07-26 11:56:53
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
|
-
import { useHttp } from '@bluesyoung/http'
|
8
|
-
import {
|
7
|
+
import { useHttp } from '@bluesyoung/http'
|
8
|
+
import { useDelete, useGet, usePatch, usePost } from './apis'
|
9
9
|
|
10
|
-
export
|
11
|
-
const { isLoading } = storeToRefs(useNavStore())
|
12
|
-
isLoading.value = true
|
13
|
-
}
|
10
|
+
export function startLoading() {
|
11
|
+
const { isLoading } = storeToRefs(useNavStore())
|
12
|
+
isLoading.value = true
|
13
|
+
}
|
14
14
|
|
15
|
-
export
|
16
|
-
const { isLoading } = storeToRefs(useNavStore())
|
17
|
-
isLoading.value = false
|
18
|
-
}
|
15
|
+
export function endLoading() {
|
16
|
+
const { isLoading } = storeToRefs(useNavStore())
|
17
|
+
isLoading.value = false
|
18
|
+
}
|
19
19
|
|
20
20
|
const http = useHttp<{
|
21
|
-
code: number
|
22
|
-
data: any
|
23
|
-
msg: string
|
21
|
+
code: number
|
22
|
+
data: any
|
23
|
+
msg: string
|
24
24
|
}>({
|
25
25
|
timeout: -1,
|
26
26
|
loading: {
|
@@ -28,8 +28,8 @@ const http = useHttp<{
|
|
28
28
|
end: endLoading,
|
29
29
|
},
|
30
30
|
fail: (err: any) => {
|
31
|
-
console.log('🚀 ~ file: api.ts:28 ~ err:', err)
|
32
|
-
const { cookie } = storeToRefs(useUserStore())
|
31
|
+
console.log('🚀 ~ file: api.ts:28 ~ err:', err)
|
32
|
+
const { cookie } = storeToRefs(useUserStore())
|
33
33
|
if (err?.response?.status === 401) {
|
34
34
|
showDialog({
|
35
35
|
title: '温馨提示',
|
@@ -37,19 +37,19 @@ const http = useHttp<{
|
|
37
37
|
showCancelButton: true,
|
38
38
|
})
|
39
39
|
.then(() => {
|
40
|
-
cookie.value && (cookie.value.uuid = '')
|
40
|
+
cookie.value && (cookie.value.uuid = '')
|
41
41
|
navigateTo(
|
42
42
|
`/login?redirect=${encodeURIComponent(location.href.replace(location.origin, ''))}`,
|
43
|
-
)
|
43
|
+
)
|
44
44
|
})
|
45
45
|
.catch(() => {
|
46
46
|
navigateTo({
|
47
47
|
path: '/',
|
48
48
|
replace: true,
|
49
|
-
})
|
50
|
-
})
|
49
|
+
})
|
50
|
+
})
|
51
51
|
|
52
|
-
throw err
|
52
|
+
throw err
|
53
53
|
}
|
54
54
|
|
55
55
|
if (typeof err === 'string') {
|
@@ -57,48 +57,50 @@ const http = useHttp<{
|
|
57
57
|
showNotify({
|
58
58
|
type: 'danger',
|
59
59
|
message: err,
|
60
|
-
})
|
60
|
+
})
|
61
61
|
}
|
62
62
|
if ((err as any) instanceof Error) {
|
63
63
|
showNotify({
|
64
64
|
type: 'danger',
|
65
65
|
// 接口出错
|
66
66
|
message:
|
67
|
-
err?.response?.data?.message
|
68
|
-
err?.response?.data?.msg
|
69
|
-
err?.response?.data
|
70
|
-
err.message
|
71
|
-
'网络错误!',
|
72
|
-
})
|
67
|
+
err?.response?.data?.message
|
68
|
+
|| err?.response?.data?.msg
|
69
|
+
|| err?.response?.data
|
70
|
+
|| err.message
|
71
|
+
|| '网络错误!',
|
72
|
+
})
|
73
73
|
}
|
74
74
|
|
75
|
-
throw err
|
75
|
+
throw err
|
76
76
|
},
|
77
77
|
headers: {
|
78
78
|
getAuthHeaders: () => {
|
79
|
-
const { token } = storeToRefs(useUserStore())
|
79
|
+
const { token } = storeToRefs(useUserStore())
|
80
80
|
return {
|
81
81
|
Authorization: `Bearer ${token.value}`,
|
82
|
-
}
|
82
|
+
}
|
83
83
|
},
|
84
84
|
},
|
85
85
|
checkFn: ({ code, msg, data }) => {
|
86
86
|
if (code === 0) {
|
87
87
|
// 通用成功
|
88
|
-
return data
|
89
|
-
}
|
88
|
+
return data
|
89
|
+
}
|
90
|
+
else if (code === -1) {
|
90
91
|
// 通用失败
|
91
|
-
throw msg
|
92
|
-
}
|
92
|
+
throw msg
|
93
|
+
}
|
94
|
+
else {
|
93
95
|
// 特殊状态码
|
94
|
-
throw code
|
96
|
+
throw code
|
95
97
|
}
|
96
98
|
},
|
97
|
-
})
|
99
|
+
})
|
98
100
|
|
99
101
|
export const apis = http.__mixin__({
|
100
102
|
get: useGet(http),
|
101
103
|
post: usePost(http),
|
102
104
|
patch: usePatch(http),
|
103
105
|
delete: useDelete(http),
|
104
|
-
})
|
106
|
+
})
|
@@ -4,17 +4,17 @@
|
|
4
4
|
* @LastEditTime: 2023-07-26 11:56:39
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
|
-
import type { YoungHttp, YoungHttpAuthReq } from '@bluesyoung/http'
|
7
|
+
import type { YoungHttp, YoungHttpAuthReq } from '@bluesyoung/http'
|
8
8
|
|
9
|
-
export
|
10
|
-
const AuthReq: YoungHttpAuthReq =
|
9
|
+
export function useDelete(http: YoungHttp) {
|
10
|
+
const AuthReq: YoungHttpAuthReq = args => http.authReq({ method: 'DELETE', ...args })
|
11
11
|
|
12
12
|
const del = async (url: string, ids: string) => {
|
13
13
|
await AuthReq({
|
14
14
|
url,
|
15
15
|
data: { ids },
|
16
|
-
})
|
17
|
-
}
|
16
|
+
})
|
17
|
+
}
|
18
18
|
|
19
19
|
return {
|
20
20
|
/**
|
@@ -33,5 +33,5 @@ export const useDelete = (http: YoungHttp) => {
|
|
33
33
|
* 删除角色
|
34
34
|
*/
|
35
35
|
deleteRole: async (ids: string) => del('/role/delete/batch', ids),
|
36
|
-
}
|
37
|
-
}
|
36
|
+
}
|
37
|
+
}
|
@@ -4,18 +4,18 @@
|
|
4
4
|
* @LastEditTime: 2023-07-26 11:58:32
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
|
-
import type { YoungHttp,
|
7
|
+
import type { YoungHttp, YoungHttpAuthReq, YoungHttpFreeReq } from '@bluesyoung/http'
|
8
8
|
|
9
|
-
export
|
10
|
-
const FreeReq: YoungHttpFreeReq =
|
11
|
-
const AuthReq: YoungHttpAuthReq =
|
9
|
+
export function useGet(http: YoungHttp) {
|
10
|
+
const FreeReq: YoungHttpFreeReq = args => http.freeReq({ method: 'GET', ...args })
|
11
|
+
const AuthReq: YoungHttpAuthReq = args => http.authReq({ method: 'GET', ...args })
|
12
12
|
|
13
13
|
return {
|
14
14
|
/**
|
15
15
|
* 发送短信验证码
|
16
16
|
*/
|
17
17
|
sendCode: async (phone: string) => {
|
18
|
-
showToast(`todo: ${phone}发送短信验证码`)
|
18
|
+
showToast(`todo: ${phone}发送短信验证码`)
|
19
19
|
// await FreeReq({ url: '/v1/user/sendCode', params: { phone } });
|
20
20
|
},
|
21
21
|
/**
|
@@ -24,14 +24,14 @@ export const useGet = (http: YoungHttp) => {
|
|
24
24
|
getUserMenuTree: async () => {
|
25
25
|
return AuthReq<Record<number, NavArrItem>>({
|
26
26
|
url: '/menu/tree',
|
27
|
-
})
|
27
|
+
})
|
28
28
|
},
|
29
29
|
/**
|
30
30
|
* 获取角色列表
|
31
31
|
*/
|
32
32
|
getRoleList: async (params: Partial<BaseQuery> = {}) =>
|
33
33
|
AuthReq<PagesData>({
|
34
|
-
url:
|
34
|
+
url: '/role/list',
|
35
35
|
params,
|
36
36
|
}),
|
37
37
|
/**
|
@@ -64,8 +64,8 @@ export const useGet = (http: YoungHttp) => {
|
|
64
64
|
*/
|
65
65
|
getRoleMenuTree: async (id: number) =>
|
66
66
|
AuthReq<{
|
67
|
-
list: NavArrItem[]
|
68
|
-
accessIds: number[]
|
67
|
+
list: NavArrItem[]
|
68
|
+
accessIds: number[]
|
69
69
|
}>({
|
70
70
|
url: `/menu/all/${id}`,
|
71
71
|
}),
|
@@ -74,10 +74,10 @@ export const useGet = (http: YoungHttp) => {
|
|
74
74
|
*/
|
75
75
|
getRoleApis: async (id: number) =>
|
76
76
|
AuthReq<{
|
77
|
-
list: ApiItem[]
|
78
|
-
accessIds: number[]
|
77
|
+
list: ApiItem[]
|
78
|
+
accessIds: number[]
|
79
79
|
}>({
|
80
80
|
url: `/api/all/category/${id}`,
|
81
81
|
}),
|
82
|
-
}
|
83
|
-
}
|
82
|
+
}
|
83
|
+
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
* @LastEditTime: 2023-07-26 11:56:20
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
|
-
export * from './get'
|
8
|
-
export * from './post'
|
9
|
-
export * from './patch'
|
10
|
-
export * from './delete'
|
7
|
+
export * from './get'
|
8
|
+
export * from './post'
|
9
|
+
export * from './patch'
|
10
|
+
export * from './delete'
|
@@ -4,10 +4,10 @@
|
|
4
4
|
* @LastEditTime: 2023-07-26 16:37:45
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
|
-
import type { YoungHttp, YoungHttpAuthReq } from '@bluesyoung/http'
|
7
|
+
import type { YoungHttp, YoungHttpAuthReq } from '@bluesyoung/http'
|
8
8
|
|
9
|
-
export
|
10
|
-
const AuthReq: YoungHttpAuthReq =
|
9
|
+
export function usePatch(http: YoungHttp) {
|
10
|
+
const AuthReq: YoungHttpAuthReq = args => http.authReq({ method: 'PATCH', ...args })
|
11
11
|
|
12
12
|
return {
|
13
13
|
/**
|
@@ -17,7 +17,7 @@ export const usePatch = (http: YoungHttp) => {
|
|
17
17
|
await AuthReq({
|
18
18
|
url: `/api/update/${id}`,
|
19
19
|
data,
|
20
|
-
})
|
20
|
+
})
|
21
21
|
},
|
22
22
|
/**
|
23
23
|
* 更新菜单信息
|
@@ -26,7 +26,7 @@ export const usePatch = (http: YoungHttp) => {
|
|
26
26
|
await AuthReq({
|
27
27
|
url: `/menu/update/${id}`,
|
28
28
|
data,
|
29
|
-
})
|
29
|
+
})
|
30
30
|
},
|
31
31
|
/**
|
32
32
|
* 更新角色
|
@@ -35,7 +35,7 @@ export const usePatch = (http: YoungHttp) => {
|
|
35
35
|
await AuthReq({
|
36
36
|
url: `/role/update/${id}`,
|
37
37
|
data,
|
38
|
-
})
|
38
|
+
})
|
39
39
|
},
|
40
40
|
/**
|
41
41
|
* 更新角色菜单权限
|
@@ -47,7 +47,7 @@ export const usePatch = (http: YoungHttp) => {
|
|
47
47
|
create: add,
|
48
48
|
delete: del,
|
49
49
|
},
|
50
|
-
})
|
50
|
+
})
|
51
51
|
},
|
52
52
|
/**
|
53
53
|
* 更新角色接口权限
|
@@ -59,7 +59,7 @@ export const usePatch = (http: YoungHttp) => {
|
|
59
59
|
create: add,
|
60
60
|
delete: del,
|
61
61
|
},
|
62
|
-
})
|
62
|
+
})
|
63
63
|
},
|
64
64
|
/**
|
65
65
|
* 更新用户信息
|
@@ -68,7 +68,7 @@ export const usePatch = (http: YoungHttp) => {
|
|
68
68
|
await AuthReq({
|
69
69
|
url: `/user/update/${id}`,
|
70
70
|
data,
|
71
|
-
})
|
71
|
+
})
|
72
72
|
},
|
73
|
-
}
|
74
|
-
}
|
73
|
+
}
|
74
|
+
}
|
@@ -4,16 +4,16 @@
|
|
4
4
|
* @LastEditTime: 2023-07-26 16:39:22
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
|
-
import type { YoungHttp,
|
8
|
-
import { telMasaike } from '@bluesyoung/utils'
|
7
|
+
import type { YoungHttp, YoungHttpAuthReq, YoungHttpFreeReq } from '@bluesyoung/http'
|
8
|
+
import { telMasaike } from '@bluesyoung/utils'
|
9
9
|
|
10
|
-
export
|
11
|
-
const FreeReq: YoungHttpFreeReq =
|
12
|
-
const AuthReq: YoungHttpAuthReq =
|
10
|
+
export function usePost(http: YoungHttp) {
|
11
|
+
const FreeReq: YoungHttpFreeReq = args => http.freeReq({ method: 'POST', ...args })
|
12
|
+
const AuthReq: YoungHttpAuthReq = args => http.authReq({ method: 'POST', ...args })
|
13
13
|
|
14
14
|
return {
|
15
15
|
login: async (args: LoginForm) => {
|
16
|
-
console.log('🚀 ~ file: post.ts:15 ~ login: ~ args:', args)
|
16
|
+
console.log('🚀 ~ file: post.ts:15 ~ login: ~ args:', args)
|
17
17
|
|
18
18
|
const { token } = await FreeReq({
|
19
19
|
url: '/base/login',
|
@@ -21,7 +21,7 @@ export const usePost = (http: YoungHttp) => {
|
|
21
21
|
username: 'super',
|
22
22
|
password: '123456',
|
23
23
|
},
|
24
|
-
})
|
24
|
+
})
|
25
25
|
|
26
26
|
return {
|
27
27
|
uuid: '9527',
|
@@ -29,11 +29,11 @@ export const usePost = (http: YoungHttp) => {
|
|
29
29
|
headimgurl: 'https://avatars.githubusercontent.com/u/55608642?v=4',
|
30
30
|
token,
|
31
31
|
phone: telMasaike(args.mobile),
|
32
|
-
} as UserLoginRes
|
32
|
+
} as UserLoginRes
|
33
33
|
},
|
34
34
|
changePassword: async (args: LoginForm) => {
|
35
|
-
console.log('🚀 ~ file: post.ts:15 ~ login: ~ args:', args)
|
36
|
-
showToast('todo: user change password')
|
35
|
+
console.log('🚀 ~ file: post.ts:15 ~ login: ~ args:', args)
|
36
|
+
showToast('todo: user change password')
|
37
37
|
|
38
38
|
return {
|
39
39
|
uuid: '9527',
|
@@ -41,7 +41,7 @@ export const usePost = (http: YoungHttp) => {
|
|
41
41
|
headimgurl: 'https://avatars.githubusercontent.com/u/55608642?v=4',
|
42
42
|
token: 'xxx',
|
43
43
|
phone: telMasaike(args.mobile),
|
44
|
-
} as UserLoginRes
|
44
|
+
} as UserLoginRes
|
45
45
|
},
|
46
46
|
|
47
47
|
/**
|
@@ -51,7 +51,7 @@ export const usePost = (http: YoungHttp) => {
|
|
51
51
|
await AuthReq({
|
52
52
|
url: '/api/create',
|
53
53
|
data,
|
54
|
-
})
|
54
|
+
})
|
55
55
|
},
|
56
56
|
/**
|
57
57
|
* 创建菜单
|
@@ -60,7 +60,7 @@ export const usePost = (http: YoungHttp) => {
|
|
60
60
|
await AuthReq({
|
61
61
|
url: '/menu/create',
|
62
62
|
data,
|
63
|
-
})
|
63
|
+
})
|
64
64
|
},
|
65
65
|
/**
|
66
66
|
* 创建角色
|
@@ -69,7 +69,7 @@ export const usePost = (http: YoungHttp) => {
|
|
69
69
|
await AuthReq({
|
70
70
|
url: '/role/create',
|
71
71
|
data,
|
72
|
-
})
|
72
|
+
})
|
73
73
|
},
|
74
74
|
|
75
75
|
/**
|
@@ -79,7 +79,7 @@ export const usePost = (http: YoungHttp) => {
|
|
79
79
|
await AuthReq({
|
80
80
|
url: '/user/create',
|
81
81
|
data,
|
82
|
-
})
|
82
|
+
})
|
83
83
|
},
|
84
|
-
}
|
85
|
-
}
|
84
|
+
}
|
85
|
+
}
|
@@ -5,7 +5,7 @@
|
|
5
5
|
* @Description:
|
6
6
|
* @unocss-include
|
7
7
|
*/
|
8
|
-
import type { SelectOptionItem } from '@bluesyoung/ui-vue3-element-plus'
|
8
|
+
import type { SelectOptionItem } from '@bluesyoung/ui-vue3-element-plus'
|
9
9
|
|
10
10
|
export const MenuIcons = [
|
11
11
|
'i-icon-park-solid-analysis',
|
@@ -19,9 +19,9 @@ export const MenuIcons = [
|
|
19
19
|
'i-icon-park-solid-add-user',
|
20
20
|
'i-typcn-device-desktop',
|
21
21
|
'i-icon-park-solid-application-two',
|
22
|
-
] as const
|
22
|
+
] as const
|
23
23
|
|
24
|
-
export const MenuIconList: SelectOptionItem[] = MenuIcons.map(
|
24
|
+
export const MenuIconList: SelectOptionItem[] = MenuIcons.map(label => ({
|
25
25
|
label,
|
26
26
|
value: label,
|
27
|
-
}))
|
27
|
+
}))
|
@@ -5,43 +5,42 @@
|
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
7
|
export const useNavStore = defineStore('useNavStore', () => {
|
8
|
-
const title = ref('')
|
9
|
-
const sub_title = ref('')
|
8
|
+
const title = ref('')
|
9
|
+
const sub_title = ref('')
|
10
10
|
/**
|
11
11
|
* 树形导航数组(仅可见)
|
12
12
|
*/
|
13
|
-
const nav_arr = ref<NavArrItem[]>([])
|
13
|
+
const nav_arr = ref<NavArrItem[]>([])
|
14
14
|
/**
|
15
15
|
* 拍平之后的导航数组(仅可见,用于快速搜索)
|
16
16
|
*/
|
17
|
-
const flat_nav_arr = ref<NavArrItem[]>([])
|
17
|
+
const flat_nav_arr = ref<NavArrItem[]>([])
|
18
18
|
/**
|
19
19
|
* 拥有权限的路由
|
20
20
|
*/
|
21
|
-
const auth_routes = ref<string[]>([])
|
21
|
+
const auth_routes = ref<string[]>([])
|
22
22
|
|
23
|
-
const active_nav = ref('')
|
23
|
+
const active_nav = ref('')
|
24
24
|
|
25
|
-
const isLoading = ref(false)
|
26
|
-
const isCollapse = ref(false)
|
25
|
+
const isLoading = ref(false)
|
26
|
+
const isCollapse = ref(false)
|
27
27
|
|
28
28
|
watch(
|
29
29
|
() => WindowSize['lt-lg'],
|
30
30
|
(v) => {
|
31
|
-
isCollapse.value = v
|
31
|
+
isCollapse.value = v
|
32
32
|
},
|
33
33
|
{
|
34
34
|
immediate: true,
|
35
35
|
},
|
36
|
-
)
|
36
|
+
)
|
37
37
|
|
38
38
|
watchEffect(() => {
|
39
|
-
if (isLoading.value)
|
40
|
-
document.body.style.overflow = 'hidden'
|
41
|
-
|
42
|
-
document.body.style.overflow = 'auto'
|
43
|
-
|
44
|
-
});
|
39
|
+
if (isLoading.value)
|
40
|
+
document.body.style.overflow = 'hidden'
|
41
|
+
else
|
42
|
+
document.body.style.overflow = 'auto'
|
43
|
+
})
|
45
44
|
|
46
45
|
return {
|
47
46
|
title,
|
@@ -52,9 +51,8 @@ export const useNavStore = defineStore('useNavStore', () => {
|
|
52
51
|
auth_routes,
|
53
52
|
isLoading,
|
54
53
|
isCollapse,
|
55
|
-
}
|
56
|
-
})
|
54
|
+
}
|
55
|
+
})
|
57
56
|
|
58
|
-
if (import.meta.hot)
|
59
|
-
import.meta.hot.accept(acceptHMRUpdate(useNavStore, import.meta.hot))
|
60
|
-
}
|
57
|
+
if (import.meta.hot)
|
58
|
+
import.meta.hot.accept(acceptHMRUpdate(useNavStore, import.meta.hot))
|
@@ -1,52 +1,55 @@
|
|
1
1
|
/*
|
2
2
|
* @Author: zhangyang
|
3
3
|
* @Date: 2023-07-21 17:13:59
|
4
|
-
* @LastEditTime: 2023-
|
4
|
+
* @LastEditTime: 2023-09-06 16:09:39
|
5
5
|
* @Description:
|
6
6
|
*/
|
7
|
-
import type { RouteLocationNormalized } from 'vue-router'
|
7
|
+
import type { RouteLocationNormalized } from 'vue-router'
|
8
8
|
|
9
|
-
|
9
|
+
// hack nuxt3 的 keep-alive 没办法像 vue3 那样自由控制
|
10
|
+
export function useTabReOpen(cbk: Function = () => console.log('this tab page is reopen')) {
|
11
|
+
const tagState = useTagsStore()
|
12
|
+
const route = useRoute()
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
cachedViews: CachedView[];
|
14
|
+
tagState.$onAction(({ name, args, after }) => {
|
15
|
+
if (name === 'addToCache') {
|
16
|
+
if (args[0].name === route.name)
|
17
|
+
after(() => cbk())
|
18
|
+
}
|
19
|
+
})
|
20
|
+
|
21
|
+
cbk()
|
20
22
|
}
|
21
|
-
|
23
|
+
|
22
24
|
export const useTagsStore = defineStore('useTagsStore', {
|
23
25
|
state: () => {
|
24
|
-
const
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
const visitedViews = ref<RouteLocationNormalized[]>([])
|
27
|
+
const cachedViews = ref<string[]>([])
|
28
|
+
|
29
|
+
return {
|
30
|
+
visitedViews,
|
31
|
+
cachedViews,
|
32
|
+
}
|
29
33
|
},
|
30
34
|
actions: {
|
31
35
|
/**
|
32
36
|
* 打开某个页面
|
33
37
|
*/
|
34
38
|
addView(view: RouteLocationNormalized) {
|
35
|
-
if (view.path === '/')
|
36
|
-
return
|
37
|
-
}
|
39
|
+
if (view.path === '/')
|
40
|
+
return
|
38
41
|
|
39
42
|
// 非我族类其心必异,布局不是默认布局的页面,不缓存
|
40
|
-
if ((view.meta?.layout ?? 'default') !== 'default')
|
41
|
-
return
|
42
|
-
|
43
|
+
if ((view.meta?.layout ?? 'default') !== 'default')
|
44
|
+
return
|
45
|
+
|
43
46
|
// 查询是否已经访问过
|
44
|
-
if (!this.visitedViews.some(
|
47
|
+
if (!this.visitedViews.some(v => v.path === view.path)) {
|
45
48
|
// 添加到已访问
|
46
|
-
const { name, path, fullPath, meta } = view
|
47
|
-
this.visitedViews.push({ name, path, fullPath, meta } as RouteLocationNormalized)
|
49
|
+
const { name, path, fullPath, meta } = view
|
50
|
+
this.visitedViews.push({ name, path, fullPath, meta } as RouteLocationNormalized)
|
48
51
|
// 添加到缓存
|
49
|
-
this.addToCache(view)
|
52
|
+
this.addToCache(view)
|
50
53
|
}
|
51
54
|
},
|
52
55
|
/**
|
@@ -54,11 +57,8 @@ export const useTagsStore = defineStore('useTagsStore', {
|
|
54
57
|
*/
|
55
58
|
addToCache(view: RouteLocationNormalized) {
|
56
59
|
// 查询该标签是否已缓存
|
57
|
-
if (this.cachedViews.includes(view.name))
|
58
|
-
|
59
|
-
} else if (!view.meta?.noCache) {
|
60
|
-
this.cachedViews.push(view.name);
|
61
|
-
}
|
60
|
+
if (!this.cachedViews.includes(view.name as string) && !view.meta?.noCache)
|
61
|
+
this.cachedViews.push(view.name as string)
|
62
62
|
},
|
63
63
|
/**
|
64
64
|
* 关闭某个页面
|
@@ -66,43 +66,43 @@ export const useTagsStore = defineStore('useTagsStore', {
|
|
66
66
|
delView(view: RouteLocationNormalized) {
|
67
67
|
// 固定页不能关闭
|
68
68
|
if (view.meta.affix) {
|
69
|
-
ElMessage.warning('固定页无法关闭!')
|
70
|
-
return false
|
69
|
+
ElMessage.warning('固定页无法关闭!')
|
70
|
+
return false
|
71
71
|
}
|
72
72
|
// 删除访问记录
|
73
|
-
const index = this.visitedViews.findIndex(
|
74
|
-
index > -1 && this.visitedViews.splice(index, 1)
|
73
|
+
const index = this.visitedViews.findIndex(r => r.path === view.path)
|
74
|
+
index > -1 && this.visitedViews.splice(index, 1)
|
75
75
|
// 删除缓存
|
76
|
-
this.delCachedView(view)
|
77
|
-
return true
|
76
|
+
this.delCachedView(view)
|
77
|
+
return true
|
78
78
|
},
|
79
79
|
/**
|
80
80
|
* 删除页面缓存
|
81
81
|
*/
|
82
82
|
delCachedView(view: RouteLocationNormalized) {
|
83
|
-
const index = this.cachedViews.indexOf(view.name)
|
84
|
-
index > -1 && this.cachedViews.splice(index, 1)
|
83
|
+
const index = this.cachedViews.indexOf(view.name as string)
|
84
|
+
index > -1 && this.cachedViews.splice(index, 1)
|
85
85
|
},
|
86
86
|
/**
|
87
87
|
* 关闭其他页面
|
88
88
|
*/
|
89
89
|
delOtherViews(view: RouteLocationNormalized) {
|
90
90
|
this.visitedViews = this.visitedViews.filter((v) => {
|
91
|
-
return v?.meta?.affix || v.path === view.path
|
92
|
-
})
|
91
|
+
return v?.meta?.affix || v.path === view.path
|
92
|
+
})
|
93
93
|
this.cachedViews = this.cachedViews.filter((v) => {
|
94
|
-
return v === view.name
|
95
|
-
})
|
94
|
+
return v === view.name
|
95
|
+
})
|
96
96
|
},
|
97
97
|
/**
|
98
98
|
* 关闭所有页面
|
99
99
|
*/
|
100
100
|
delAllViews() {
|
101
|
-
const affixTags = this.visitedViews.filter(
|
102
|
-
this.visitedViews = affixTags
|
103
|
-
this.cachedViews.length = 0
|
101
|
+
const affixTags = this.visitedViews.filter(tag => tag?.meta?.affix)
|
102
|
+
this.visitedViews = affixTags
|
103
|
+
this.cachedViews.length = 0
|
104
104
|
},
|
105
105
|
},
|
106
|
-
})
|
106
|
+
})
|
107
107
|
|
108
|
-
import.meta.hot && import.meta.hot.accept(acceptHMRUpdate(useTagsStore, import.meta.hot))
|
108
|
+
import.meta.hot && import.meta.hot.accept(acceptHMRUpdate(useTagsStore, import.meta.hot))
|