create-meadminjs 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +3 -0
- package/bin/index.js +3 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +97 -0
- package/dist/file-zuupOgeh.js +78 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +98 -0
- package/package.json +38 -0
- package/template/meadmin/.editorconfig +11 -0
- package/template/meadmin/.env +21 -0
- package/template/meadmin/.eslintrc.json +7 -0
- package/template/meadmin/.husky/pre-commit +4 -0
- package/template/meadmin/.mocharc.json +6 -0
- package/template/meadmin/.prettierignore +30 -0
- package/template/meadmin/.prettierrc.cjs +47 -0
- package/template/meadmin/.vscode/extensions.json +3 -0
- package/template/meadmin/.vscode/settings.json +28 -0
- package/template/meadmin/README.md +41 -0
- package/template/meadmin/bootstrap.js +2 -0
- package/template/meadmin/meadmin.sql +571 -0
- package/template/meadmin/nx.json +10 -0
- package/template/meadmin/packageTemplate.json +80 -0
- package/template/meadmin/pnpm-workspace.yaml +4 -0
- package/template/meadmin/public/admin/.gitkeep +0 -0
- package/template/meadmin/public/index/.gitkeep +0 -0
- package/template/meadmin/public/index/images/layout/bannerCode.jpg +0 -0
- package/template/meadmin/public/index/images/layout/bannerGift.jpg +0 -0
- package/template/meadmin/public/index/images/layout/bannerManage.jpg +0 -0
- package/template/meadmin/src/app/admin/controller/base.controller.ts +6 -0
- package/template/meadmin/src/app/admin/controller/example/demo.controller.ts +98 -0
- package/template/meadmin/src/app/admin/controller/file.controller.ts +105 -0
- package/template/meadmin/src/app/admin/controller/login.controller.ts +81 -0
- package/template/meadmin/src/app/admin/controller/system/admin.controller.ts +73 -0
- package/template/meadmin/src/app/admin/controller/system/menu.controller.ts +80 -0
- package/template/meadmin/src/app/admin/controller/system/role.controller.ts +81 -0
- package/template/meadmin/src/app/admin/controller/user.controller.ts +86 -0
- package/template/meadmin/src/app/admin/controller/userFile.controller.ts +84 -0
- package/template/meadmin/src/app/admin/dto/captchaResult.dto.ts +8 -0
- package/template/meadmin/src/app/admin/dto/example/demoCreate.dto.ts +9 -0
- package/template/meadmin/src/app/admin/dto/example/demoQuery.dto.ts +20 -0
- package/template/meadmin/src/app/admin/dto/example/demoUpdate.dto.ts +11 -0
- package/template/meadmin/src/app/admin/dto/fileCreate.dto.ts +9 -0
- package/template/meadmin/src/app/admin/dto/fileQuery.dto.ts +20 -0
- package/template/meadmin/src/app/admin/dto/fileUp.dto.ts +28 -0
- package/template/meadmin/src/app/admin/dto/fileUpdate.dto.ts +11 -0
- package/template/meadmin/src/app/admin/dto/loginCaptchaParam.dto.ts +9 -0
- package/template/meadmin/src/app/admin/dto/loginInfoResult.dto.ts +24 -0
- package/template/meadmin/src/app/admin/dto/loginParam.dto.ts +13 -0
- package/template/meadmin/src/app/admin/dto/loginResult.dto.ts +10 -0
- package/template/meadmin/src/app/admin/dto/system/adminCreate.dto.ts +14 -0
- package/template/meadmin/src/app/admin/dto/system/adminQuery.dto.ts +30 -0
- package/template/meadmin/src/app/admin/dto/system/adminUpdate.dto.ts +24 -0
- package/template/meadmin/src/app/admin/dto/system/menuCreate.dto.ts +11 -0
- package/template/meadmin/src/app/admin/dto/system/menuQuery.dto.ts +20 -0
- package/template/meadmin/src/app/admin/dto/system/menuTreeAllResult.dto.ts +9 -0
- package/template/meadmin/src/app/admin/dto/system/menuUpdate.dto.ts +8 -0
- package/template/meadmin/src/app/admin/dto/system/roleCreate.dto.ts +11 -0
- package/template/meadmin/src/app/admin/dto/system/roleQuery.dto.ts +20 -0
- package/template/meadmin/src/app/admin/dto/system/roleTreeAllResult.dto.ts +12 -0
- package/template/meadmin/src/app/admin/dto/system/roleUpdate.dto.ts +14 -0
- package/template/meadmin/src/app/admin/dto/userCreate.dto.ts +9 -0
- package/template/meadmin/src/app/admin/dto/userFileCreate.dto.ts +9 -0
- package/template/meadmin/src/app/admin/dto/userFileQuery.dto.ts +20 -0
- package/template/meadmin/src/app/admin/dto/userFileUp.dto.ts +28 -0
- package/template/meadmin/src/app/admin/dto/userFileUpdate.dto.ts +11 -0
- package/template/meadmin/src/app/admin/dto/userQuery.dto.ts +26 -0
- package/template/meadmin/src/app/admin/dto/userUpdate.dto.ts +11 -0
- package/template/meadmin/src/app/admin/middleware/admin.middleware.ts +41 -0
- package/template/meadmin/src/app/admin/service/example/demo.service.ts +260 -0
- package/template/meadmin/src/app/admin/service/file.service.ts +123 -0
- package/template/meadmin/src/app/admin/service/login.serveice.ts +209 -0
- package/template/meadmin/src/app/admin/service/system/admin.service.ts +206 -0
- package/template/meadmin/src/app/admin/service/system/menu.service.ts +133 -0
- package/template/meadmin/src/app/admin/service/system/role.service.ts +161 -0
- package/template/meadmin/src/app/admin/service/user.service.ts +205 -0
- package/template/meadmin/src/app/admin/service/userFile.service.ts +126 -0
- package/template/meadmin/src/app/home.controller.ts +19 -0
- package/template/meadmin/src/app/index/controller/base.controller.ts +6 -0
- package/template/meadmin/src/app/index/controller/file.controller.ts +116 -0
- package/template/meadmin/src/app/index/controller/index.controller.ts +70 -0
- package/template/meadmin/src/app/index/controller/login.controller.ts +81 -0
- package/template/meadmin/src/app/index/controller/user.controller.ts +43 -0
- package/template/meadmin/src/app/index/dto/captchaResult.dto.ts +8 -0
- package/template/meadmin/src/app/index/dto/fileCreate.dto.ts +9 -0
- package/template/meadmin/src/app/index/dto/fileQuery.dto.ts +20 -0
- package/template/meadmin/src/app/index/dto/fileUp.dto.ts +28 -0
- package/template/meadmin/src/app/index/dto/fileUpdate.dto.ts +11 -0
- package/template/meadmin/src/app/index/dto/loginCaptchaParam.dto.ts +9 -0
- package/template/meadmin/src/app/index/dto/loginParam.dto.ts +13 -0
- package/template/meadmin/src/app/index/dto/loginResult.dto.ts +10 -0
- package/template/meadmin/src/app/index/dto/userCreate.dto.ts +26 -0
- package/template/meadmin/src/app/index/dto/userUpdate.dto.ts +33 -0
- package/template/meadmin/src/app/index/middleware/index.middleware.ts +28 -0
- package/template/meadmin/src/app/index/service/file.service.ts +127 -0
- package/template/meadmin/src/app/index/service/login.serveice.ts +178 -0
- package/template/meadmin/src/app/index/service/user.service.ts +87 -0
- package/template/meadmin/src/config/config.default.ts +154 -0
- package/template/meadmin/src/config/config.unittest.ts +7 -0
- package/template/meadmin/src/config/database.ts +30 -0
- package/template/meadmin/src/configuration.ts +107 -0
- package/template/meadmin/src/controller/api.controller.ts +21 -0
- package/template/meadmin/src/decorators/admin/permission.ts +41 -0
- package/template/meadmin/src/decorators/index/permission.ts +37 -0
- package/template/meadmin/src/decorators/index.ts +61 -0
- package/template/meadmin/src/decorators/sequelize.ts +65 -0
- package/template/meadmin/src/decorators/swagger.ts +170 -0
- package/template/meadmin/src/decorators/transactions.ts +42 -0
- package/template/meadmin/src/dict/code.enum.ts +8 -0
- package/template/meadmin/src/dto/page.dto.ts +16 -0
- package/template/meadmin/src/entities/abstract/adminBase.entity.ts +35 -0
- package/template/meadmin/src/entities/abstract/adminTree.entity.ts +258 -0
- package/template/meadmin/src/entities/abstract/base.entity.ts +69 -0
- package/template/meadmin/src/entities/abstract/indexBase.entity.ts +39 -0
- package/template/meadmin/src/entities/exampleBook.entity.ts +22 -0
- package/template/meadmin/src/entities/exampleDemo.entity.ts +104 -0
- package/template/meadmin/src/entities/file.entity.ts +68 -0
- package/template/meadmin/src/entities/systemAdmin.entity.ts +164 -0
- package/template/meadmin/src/entities/systemMenu.entity.ts +161 -0
- package/template/meadmin/src/entities/systemRole.entity.ts +99 -0
- package/template/meadmin/src/entities/user.entity.ts +160 -0
- package/template/meadmin/src/entities/userFile.entity.ts +68 -0
- package/template/meadmin/src/fileManage/index.ts +12 -0
- package/template/meadmin/src/fileManage/storage/base.ts +6 -0
- package/template/meadmin/src/fileManage/storage/local.ts +93 -0
- package/template/meadmin/src/filter/badRequest.filter.ts +14 -0
- package/template/meadmin/src/filter/default.filter.ts +28 -0
- package/template/meadmin/src/filter/forbidden.filter.ts +15 -0
- package/template/meadmin/src/filter/index.ts +6 -0
- package/template/meadmin/src/filter/notfound.filter.ts +10 -0
- package/template/meadmin/src/filter/unauthorized.filter.ts +15 -0
- package/template/meadmin/src/filter/validate.filter.ts +23 -0
- package/template/meadmin/src/helper/dotenv.ts +13 -0
- package/template/meadmin/src/helper/dto.ts +195 -0
- package/template/meadmin/src/helper/snowflake.ts +50 -0
- package/template/meadmin/src/helper/utils.ts +57 -0
- package/template/meadmin/src/interface.ts +12 -0
- package/template/meadmin/src/locales/en.json +13 -0
- package/template/meadmin/src/logger.ts +24 -0
- package/template/meadmin/src/middleware/report.middleware.ts +23 -0
- package/template/meadmin/src/response/apiBase.res.ts +12 -0
- package/template/meadmin/src/response/apiError.res.ts +6 -0
- package/template/meadmin/src/response/apiPage.res.ts +19 -0
- package/template/meadmin/src/response/apiSuccess.res.ts +17 -0
- package/template/meadmin/src/ruleType/index.ts +3 -0
- package/template/meadmin/src/ruleType/string.ts +29 -0
- package/template/meadmin/src/service/dataSourceManager.service.ts +55 -0
- package/template/meadmin/src/service/response.service.ts +65 -0
- package/template/meadmin/src/types/decorator.ts +31 -0
- package/template/meadmin/src/types/entity.ts +209 -0
- package/template/meadmin/src/types/fileManage.ts +48 -0
- package/template/meadmin/src/types/koa.interface.ts +12 -0
- package/template/meadmin/src/types/uploadOptions.ts +7 -0
- package/template/meadmin/test/controller/api.test.ts +17 -0
- package/template/meadmin/test/controller/home.test.ts +18 -0
- package/template/meadmin/test/setup.ts +15 -0
- package/template/meadmin/test/tsconfig.json +19 -0
- package/template/meadmin/tsconfig.json +28 -0
- package/template/meadmin/types/mwtsc.d.ts +9 -0
- package/template/meadmin/uploadFile/admin/.gitkeep +0 -0
- package/template/meadmin/uploadFile/index/.gitkeep +0 -0
- package/template/meadmin/view/admin/.prettierignore +28 -0
- package/template/meadmin/view/admin/.prettierrc.cjs +4 -0
- package/template/meadmin/view/admin/cli/autoImport.ts +3 -0
- package/template/meadmin/view/admin/eslint.config.js +91 -0
- package/template/meadmin/view/admin/index.html +65 -0
- package/template/meadmin/view/admin/packageTemplate.json +123 -0
- package/template/meadmin/view/admin/plugins/autoComponents.ts +10 -0
- package/template/meadmin/view/admin/plugins/autoImport.ts +64 -0
- package/template/meadmin/view/admin/plugins/autoImportApi.ts +14 -0
- package/template/meadmin/view/admin/plugins/babel.ts +25 -0
- package/template/meadmin/view/admin/plugins/index.ts +107 -0
- package/template/meadmin/view/admin/plugins/svgLoader.ts +22 -0
- package/template/meadmin/view/admin/plugins/vueSetUpExtend.ts +5 -0
- package/template/meadmin/view/admin/public/favicon.ico +0 -0
- package/template/meadmin/view/admin/public/logo.png +0 -0
- package/template/meadmin/view/admin/public/logo.svg +1 -0
- package/template/meadmin/view/admin/src/App.vue +46 -0
- package/template/meadmin/view/admin/src/api/api.model.ts +11 -0
- package/template/meadmin/view/admin/src/api/example/demo.ts +189 -0
- package/template/meadmin/view/admin/src/api/file.ts +124 -0
- package/template/meadmin/view/admin/src/api/login.ts +55 -0
- package/template/meadmin/view/admin/src/api/system/admin.ts +111 -0
- package/template/meadmin/view/admin/src/api/system/menu.ts +125 -0
- package/template/meadmin/view/admin/src/api/system/role.ts +111 -0
- package/template/meadmin/view/admin/src/api/user.ts +106 -0
- package/template/meadmin/view/admin/src/api/userFile.ts +121 -0
- package/template/meadmin/view/admin/src/app.ts +13 -0
- package/template/meadmin/view/admin/src/assets/images/404.svg +339 -0
- package/template/meadmin/view/admin/src/assets/images/captcha.png +0 -0
- package/template/meadmin/view/admin/src/components/meButton.vue +39 -0
- package/template/meadmin/view/admin/src/components/meComponent.ts +73 -0
- package/template/meadmin/view/admin/src/components/meDarkSwitch.vue +36 -0
- package/template/meadmin/view/admin/src/components/meDialog/hooks/minMax.ts +163 -0
- package/template/meadmin/view/admin/src/components/meDialog/index.vue +86 -0
- package/template/meadmin/view/admin/src/components/meFilesView.vue +52 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/Suspense.ts +15 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/apiAsyncComponent.ts +3 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/component.ts +5 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/componentPublicInstance.ts +6 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/devtools.ts +43 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/errorHandling.ts +17 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/renderer.ts +103 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/shapeFlags.ts +13 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/core/vnode.ts +9 -0
- package/template/meadmin/view/admin/src/components/meKeepAlive/index.ts +347 -0
- package/template/meadmin/view/admin/src/components/meLocaleSelect.vue +34 -0
- package/template/meadmin/view/admin/src/components/meNumber.vue +74 -0
- package/template/meadmin/view/admin/src/components/meSearchForm.vue +175 -0
- package/template/meadmin/view/admin/src/components/meSearchMenu/index.vue +87 -0
- package/template/meadmin/view/admin/src/components/meSearchMenu/useSearchMenu.ts +87 -0
- package/template/meadmin/view/admin/src/components/meSelectFile/index.vue +87 -0
- package/template/meadmin/view/admin/src/components/meSelectFile/meSelectFile.ts +3 -0
- package/template/meadmin/view/admin/src/components/meSelectList.vue +80 -0
- package/template/meadmin/view/admin/src/components/meSelectUserFile/index.vue +96 -0
- package/template/meadmin/view/admin/src/components/meSelectUserFile/meSelectUserFile.ts +3 -0
- package/template/meadmin/view/admin/src/components/meSetting.vue +20 -0
- package/template/meadmin/view/admin/src/components/meSettingMenu.vue +152 -0
- package/template/meadmin/view/admin/src/components/meSizeSelect.vue +28 -0
- package/template/meadmin/view/admin/src/components/meUpload.vue +114 -0
- package/template/meadmin/view/admin/src/components/meUploadUserFile.vue +114 -0
- package/template/meadmin/view/admin/src/components/meVxeTable/components/pagination.vue +67 -0
- package/template/meadmin/view/admin/src/components/meVxeTable/directives/resize.ts +31 -0
- package/template/meadmin/view/admin/src/components/meVxeTable/index.vue +287 -0
- package/template/meadmin/view/admin/src/components/meVxeTable/install.ts +30 -0
- package/template/meadmin/view/admin/src/components/meVxeTable/util.ts +11 -0
- package/template/meadmin/view/admin/src/components/meWangEditor/index.vue +121 -0
- package/template/meadmin/view/admin/src/components/meWangEditor/meWangEditor.scss +24 -0
- package/template/meadmin/view/admin/src/components/page.vue +24 -0
- package/template/meadmin/view/admin/src/components/service/meImageViewer.ts +23 -0
- package/template/meadmin/view/admin/src/config/index.ts +11 -0
- package/template/meadmin/view/admin/src/config/locale.ts +245 -0
- package/template/meadmin/view/admin/src/config/login.ts +5 -0
- package/template/meadmin/view/admin/src/config/theme.ts +19 -0
- package/template/meadmin/view/admin/src/dict/configEnum.ts +5 -0
- package/template/meadmin/view/admin/src/dict/eventEnmu.ts +14 -0
- package/template/meadmin/view/admin/src/dict/menuModeEnum.ts +5 -0
- package/template/meadmin/view/admin/src/dict/pageEnum.ts +6 -0
- package/template/meadmin/view/admin/src/directives/clickOutside.ts +2 -0
- package/template/meadmin/view/admin/src/entry-client.ts +8 -0
- package/template/meadmin/view/admin/src/entry-server.ts +69 -0
- package/template/meadmin/view/admin/src/env.d.ts +6 -0
- package/template/meadmin/view/admin/src/event/index.ts +30 -0
- package/template/meadmin/view/admin/src/event/module.ts +1 -0
- package/template/meadmin/view/admin/src/event/modules/core.ts +27 -0
- package/template/meadmin/view/admin/src/hooks/actionModel.ts +54 -0
- package/template/meadmin/view/admin/src/hooks/core/computedProxy.ts +10 -0
- package/template/meadmin/view/admin/src/hooks/index.ts +24 -0
- package/template/meadmin/view/admin/src/icons/index.ts +52 -0
- package/template/meadmin/view/admin/src/icons/svg/dashboard.svg +5 -0
- package/template/meadmin/view/admin/src/icons/svg/moon.svg +5 -0
- package/template/meadmin/view/admin/src/icons/svg/size.svg +5 -0
- package/template/meadmin/view/admin/src/icons/svg/sunny.svg +5 -0
- package/template/meadmin/view/admin/src/icons/svg/translation.svg +5 -0
- package/template/meadmin/view/admin/src/layout/components/expand.vue +18 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/tagBar/components/contextmenu.vue +180 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/tagBar/index.vue +322 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/topBar/components/left.vue +59 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/topBar/components/right/components/messageBox.vue +82 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/topBar/components/right/components/user.vue +53 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/topBar/components/right/index.vue +44 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/topBar/components/topMenu.vue +33 -0
- package/template/meadmin/view/admin/src/layout/components/header/components/topBar/index.vue +30 -0
- package/template/meadmin/view/admin/src/layout/components/header/index.vue +15 -0
- package/template/meadmin/view/admin/src/layout/components/menu/components/menuItem.vue +72 -0
- package/template/meadmin/view/admin/src/layout/components/menu/index.vue +147 -0
- package/template/meadmin/view/admin/src/layout/components/page.vue +33 -0
- package/template/meadmin/view/admin/src/layout/components/title.vue +21 -0
- package/template/meadmin/view/admin/src/layout/index.vue +104 -0
- package/template/meadmin/view/admin/src/locales/helper.ts +127 -0
- package/template/meadmin/view/admin/src/locales/hooks.ts +50 -0
- package/template/meadmin/view/admin/src/locales/i18n.ts +16 -0
- package/template/meadmin/view/admin/src/locales/lang/en/default.json +65 -0
- package/template/meadmin/view/admin/src/locales/lang/en/index.ts +7 -0
- package/template/meadmin/view/admin/src/locales/lang/en/meTable.json +7 -0
- package/template/meadmin/view/admin/src/locales/lang/en/meVxeTable.ts +11 -0
- package/template/meadmin/view/admin/src/locales/lang/en/menu.json +1 -0
- package/template/meadmin/view/admin/src/locales/lang/en/rule.json +12 -0
- package/template/meadmin/view/admin/src/locales/lang/zh-cn/default.json +6 -0
- package/template/meadmin/view/admin/src/locales/lang/zh-cn/index.ts +7 -0
- package/template/meadmin/view/admin/src/locales/lang/zh-cn/meVxeTable.ts +2 -0
- package/template/meadmin/view/admin/src/main.ts +21 -0
- package/template/meadmin/view/admin/src/router/constant.ts +2 -0
- package/template/meadmin/view/admin/src/router/guard/index.ts +52 -0
- package/template/meadmin/view/admin/src/router/index.ts +115 -0
- package/template/meadmin/view/admin/src/setElGlobel.ts +16 -0
- package/template/meadmin/view/admin/src/store/index.ts +8 -0
- package/template/meadmin/view/admin/src/store/modules/global.ts +66 -0
- package/template/meadmin/view/admin/src/store/modules/route.ts +69 -0
- package/template/meadmin/view/admin/src/store/modules/setting.ts +46 -0
- package/template/meadmin/view/admin/src/store/modules/user.ts +115 -0
- package/template/meadmin/view/admin/src/styles/element-plus.scss +40 -0
- package/template/meadmin/view/admin/src/styles/index.scss +122 -0
- package/template/meadmin/view/admin/src/styles/transition.scss +33 -0
- package/template/meadmin/view/admin/src/styles/variables.scss +5 -0
- package/template/meadmin/view/admin/src/utils/fileMd5Work.ts +109 -0
- package/template/meadmin/view/admin/src/utils/fileUpload.ts +154 -0
- package/template/meadmin/view/admin/src/utils/formatting.ts +62 -0
- package/template/meadmin/view/admin/src/utils/helper.ts +315 -0
- package/template/meadmin/view/admin/src/utils/loading.ts +63 -0
- package/template/meadmin/view/admin/src/utils/log.ts +8 -0
- package/template/meadmin/view/admin/src/utils/mitt.ts +152 -0
- package/template/meadmin/view/admin/src/utils/nProgress.ts +31 -0
- package/template/meadmin/view/admin/src/utils/permission.ts +76 -0
- package/template/meadmin/view/admin/src/utils/request.ts +152 -0
- package/template/meadmin/view/admin/src/utils/userFileUpload.ts +154 -0
- package/template/meadmin/view/admin/src/utils/validate.ts +17 -0
- package/template/meadmin/view/admin/src/views/404.vue +50 -0
- package/template/meadmin/view/admin/src/views/example/demo/components/addOrUp.vue +118 -0
- package/template/meadmin/view/admin/src/views/example/demo/components/info.vue +56 -0
- package/template/meadmin/view/admin/src/views/example/demo/dict.ts +8 -0
- package/template/meadmin/view/admin/src/views/example/demo/index.vue +126 -0
- package/template/meadmin/view/admin/src/views/example/demo/lang/dict.ts +8 -0
- package/template/meadmin/view/admin/src/views/example/demo/lang/en.json +14 -0
- package/template/meadmin/view/admin/src/views/file/components/add.vue +24 -0
- package/template/meadmin/view/admin/src/views/file/components/info.vue +51 -0
- package/template/meadmin/view/admin/src/views/file/components/up.vue +72 -0
- package/template/meadmin/view/admin/src/views/file/index.vue +132 -0
- package/template/meadmin/view/admin/src/views/file/lang/en.json +11 -0
- package/template/meadmin/view/admin/src/views/login/components/header.vue +20 -0
- package/template/meadmin/view/admin/src/views/login/index.vue +163 -0
- package/template/meadmin/view/admin/src/views/redirect.vue +12 -0
- package/template/meadmin/view/admin/src/views/system/admin/components/addOrUp.vue +111 -0
- package/template/meadmin/view/admin/src/views/system/admin/components/info.vue +75 -0
- package/template/meadmin/view/admin/src/views/system/admin/dict.ts +7 -0
- package/template/meadmin/view/admin/src/views/system/admin/index.vue +145 -0
- package/template/meadmin/view/admin/src/views/system/admin/lang/en.json +19 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/menu/components/addOrUp.vue +145 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/menu/components/info.vue +68 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/menu/dict.ts +36 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/menu/index.vue +162 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/menu/lang/en.json +20 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/role/components/addOrUp.vue +94 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/role/components/info.vue +59 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/role/dict.ts +7 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/role/index.vue +153 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/components/role/lang/en.json +14 -0
- package/template/meadmin/view/admin/src/views/system/menuRole/index.vue +59 -0
- package/template/meadmin/view/admin/src/views/user/components/addOrUp.vue +120 -0
- package/template/meadmin/view/admin/src/views/user/components/info.vue +56 -0
- package/template/meadmin/view/admin/src/views/user/dict.ts +7 -0
- package/template/meadmin/view/admin/src/views/user/file/components/add.vue +24 -0
- package/template/meadmin/view/admin/src/views/user/file/components/info.vue +54 -0
- package/template/meadmin/view/admin/src/views/user/file/components/up.vue +82 -0
- package/template/meadmin/view/admin/src/views/user/file/index.vue +148 -0
- package/template/meadmin/view/admin/src/views/user/file/lang/en.json +17 -0
- package/template/meadmin/view/admin/src/views/user/index.vue +145 -0
- package/template/meadmin/view/admin/src/views/user/lang/en.json +18 -0
- package/template/meadmin/view/admin/template/components.d.ts +9 -0
- package/template/meadmin/view/admin/template/directives.d.ts +6 -0
- package/template/meadmin/view/admin/template/meIconComponents.d.ts +6 -0
- package/template/meadmin/view/admin/tsconfig.json +33 -0
- package/template/meadmin/view/admin/tsconfig.node.json +17 -0
- package/template/meadmin/view/admin/types/api.d.ts +15 -0
- package/template/meadmin/view/admin/types/auto-imports.d.ts +302 -0
- package/template/meadmin/view/admin/types/global.d.ts +60 -0
- package/template/meadmin/view/admin/types/globalComponents.d.ts +13 -0
- package/template/meadmin/view/admin/types/melIconComponents.d.d.ts +9 -0
- package/template/meadmin/view/admin/types/vue-router.d.ts +39 -0
- package/template/meadmin/view/admin/types/vueCustomProperties .d.ts +6 -0
- package/template/meadmin/view/admin/types/vueExtendType.d.ts +43 -0
- package/template/meadmin/view/admin/vite.config.ts +110 -0
- package/template/meadmin/view/index/.prettierignore +28 -0
- package/template/meadmin/view/index/.prettierrc.cjs +4 -0
- package/template/meadmin/view/index/README.md +84 -0
- package/template/meadmin/view/index/cli/autoImport.ts +3 -0
- package/template/meadmin/view/index/eslint.config.js +91 -0
- package/template/meadmin/view/index/index.html +22 -0
- package/template/meadmin/view/index/packageTemplate.json +122 -0
- package/template/meadmin/view/index/plugins/autoComponents.ts +10 -0
- package/template/meadmin/view/index/plugins/autoImport.ts +64 -0
- package/template/meadmin/view/index/plugins/autoImportApi.ts +14 -0
- package/template/meadmin/view/index/plugins/babel.ts +25 -0
- package/template/meadmin/view/index/plugins/index.ts +103 -0
- package/template/meadmin/view/index/plugins/svgLoader.ts +22 -0
- package/template/meadmin/view/index/plugins/vueSetUpExtend.ts +5 -0
- package/template/meadmin/view/index/public/favicon.ico +0 -0
- package/template/meadmin/view/index/public/logo.png +0 -0
- package/template/meadmin/view/index/public/logo.svg +1 -0
- package/template/meadmin/view/index/src/App.vue +30 -0
- package/template/meadmin/view/index/src/api/api.model.ts +11 -0
- package/template/meadmin/view/index/src/api/file.ts +123 -0
- package/template/meadmin/view/index/src/api/index.ts +25 -0
- package/template/meadmin/view/index/src/api/login.ts +72 -0
- package/template/meadmin/view/index/src/api/user.ts +42 -0
- package/template/meadmin/view/index/src/app.ts +39 -0
- package/template/meadmin/view/index/src/assets/images/404.svg +339 -0
- package/template/meadmin/view/index/src/assets/images/avatar.jpg +0 -0
- package/template/meadmin/view/index/src/components/meButton.vue +34 -0
- package/template/meadmin/view/index/src/components/meDialog/hooks/minMax.ts +166 -0
- package/template/meadmin/view/index/src/components/meDialog/index.vue +86 -0
- package/template/meadmin/view/index/src/components/meNumber.vue +74 -0
- package/template/meadmin/view/index/src/components/meSelectFile/index.vue +92 -0
- package/template/meadmin/view/index/src/components/meSelectFile/meSelectFile.ts +3 -0
- package/template/meadmin/view/index/src/components/meUpAvatar.vue +166 -0
- package/template/meadmin/view/index/src/components/meUpload.vue +111 -0
- package/template/meadmin/view/index/src/components/meVxeTable/components/pagination.vue +67 -0
- package/template/meadmin/view/index/src/components/meVxeTable/directives/resize.ts +31 -0
- package/template/meadmin/view/index/src/components/meVxeTable/index.vue +286 -0
- package/template/meadmin/view/index/src/components/meVxeTable/install.ts +18 -0
- package/template/meadmin/view/index/src/components/meVxeTable/util.ts +11 -0
- package/template/meadmin/view/index/src/components/meWangEditor/index.vue +121 -0
- package/template/meadmin/view/index/src/components/meWangEditor/meWangEditor.scss +24 -0
- package/template/meadmin/view/index/src/components/service/meImageViewer.ts +23 -0
- package/template/meadmin/view/index/src/config/index.ts +2 -0
- package/template/meadmin/view/index/src/config/login.ts +5 -0
- package/template/meadmin/view/index/src/dict/eventEnmu.ts +13 -0
- package/template/meadmin/view/index/src/dict/pageEnum.ts +8 -0
- package/template/meadmin/view/index/src/directives/clickOutside.ts +2 -0
- package/template/meadmin/view/index/src/entry-client.ts +8 -0
- package/template/meadmin/view/index/src/entry-server.ts +83 -0
- package/template/meadmin/view/index/src/env.d.ts +6 -0
- package/template/meadmin/view/index/src/event/index.ts +23 -0
- package/template/meadmin/view/index/src/hooks/actionModel.ts +54 -0
- package/template/meadmin/view/index/src/hooks/core/computedProxy.ts +10 -0
- package/template/meadmin/view/index/src/hooks/index.ts +24 -0
- package/template/meadmin/view/index/src/icons/index.ts +52 -0
- package/template/meadmin/view/index/src/icons/svg/dashboard.svg +5 -0
- package/template/meadmin/view/index/src/icons/svg/moon.svg +5 -0
- package/template/meadmin/view/index/src/icons/svg/size.svg +5 -0
- package/template/meadmin/view/index/src/icons/svg/sunny.svg +5 -0
- package/template/meadmin/view/index/src/icons/svg/translation.svg +5 -0
- package/template/meadmin/view/index/src/layout/default/components/footer.vue +22 -0
- package/template/meadmin/view/index/src/layout/default/components/header/components/menuItem.vue +69 -0
- package/template/meadmin/view/index/src/layout/default/components/header/components/user.vue +55 -0
- package/template/meadmin/view/index/src/layout/default/components/header/index.vue +53 -0
- package/template/meadmin/view/index/src/layout/default/index.vue +63 -0
- package/template/meadmin/view/index/src/layout/default/layout.scss +1 -0
- package/template/meadmin/view/index/src/layout/default/page.vue +11 -0
- package/template/meadmin/view/index/src/layout/layoutRoute.vue +13 -0
- package/template/meadmin/view/index/src/main.ts +28 -0
- package/template/meadmin/view/index/src/router/guard/index.ts +53 -0
- package/template/meadmin/view/index/src/router/index.ts +73 -0
- package/template/meadmin/view/index/src/router/routes/001-index.ts +42 -0
- package/template/meadmin/view/index/src/router/routes/002-demo.ts +12 -0
- package/template/meadmin/view/index/src/router/routes/003-user.ts +27 -0
- package/template/meadmin/view/index/src/router/routes/demo/001-demo.ts +36 -0
- package/template/meadmin/view/index/src/setElGlobel.ts +7 -0
- package/template/meadmin/view/index/src/store/index.ts +11 -0
- package/template/meadmin/view/index/src/store/module.ts +5 -0
- package/template/meadmin/view/index/src/store/modules/global.ts +52 -0
- package/template/meadmin/view/index/src/store/modules/route.ts +20 -0
- package/template/meadmin/view/index/src/store/modules/user.ts +98 -0
- package/template/meadmin/view/index/src/styles/element-plus.scss +40 -0
- package/template/meadmin/view/index/src/styles/index.scss +122 -0
- package/template/meadmin/view/index/src/styles/transition.scss +33 -0
- package/template/meadmin/view/index/src/styles/variables.scss +6 -0
- package/template/meadmin/view/index/src/utils/cookies.ts +59 -0
- package/template/meadmin/view/index/src/utils/fileMd5Work.ts +109 -0
- package/template/meadmin/view/index/src/utils/fileUpload.ts +156 -0
- package/template/meadmin/view/index/src/utils/helper.ts +261 -0
- package/template/meadmin/view/index/src/utils/loading.ts +71 -0
- package/template/meadmin/view/index/src/utils/log.ts +8 -0
- package/template/meadmin/view/index/src/utils/mitt.ts +152 -0
- package/template/meadmin/view/index/src/utils/nProgress.ts +52 -0
- package/template/meadmin/view/index/src/utils/request.ts +182 -0
- package/template/meadmin/view/index/src/utils/server.ts +73 -0
- package/template/meadmin/view/index/src/utils/validate.ts +17 -0
- package/template/meadmin/view/index/src/views/404.vue +50 -0
- package/template/meadmin/view/index/src/views/index/index.vue +137 -0
- package/template/meadmin/view/index/src/views/login/components/login.vue +117 -0
- package/template/meadmin/view/index/src/views/login/components/register.vue +192 -0
- package/template/meadmin/view/index/src/views/login/index.vue +147 -0
- package/template/meadmin/view/index/src/views/promiseError.vue +48 -0
- package/template/meadmin/view/index/src/views/redirect.vue +9 -0
- package/template/meadmin/view/index/src/views/user/components/editPass.vue +83 -0
- package/template/meadmin/view/index/src/views/user/components/userInfo.vue +91 -0
- package/template/meadmin/view/index/src/views/user/index.vue +67 -0
- package/template/meadmin/view/index/template/components.d.ts +9 -0
- package/template/meadmin/view/index/template/directives.d.ts +6 -0
- package/template/meadmin/view/index/template/meIconComponents.d.ts +6 -0
- package/template/meadmin/view/index/tsconfig.json +33 -0
- package/template/meadmin/view/index/tsconfig.node.json +17 -0
- package/template/meadmin/view/index/types/api.d.ts +15 -0
- package/template/meadmin/view/index/types/auto-imports.d.ts +301 -0
- package/template/meadmin/view/index/types/components.d.ts +25 -0
- package/template/meadmin/view/index/types/directives.d.ts +7 -0
- package/template/meadmin/view/index/types/global.d.ts +51 -0
- package/template/meadmin/view/index/types/globalComponents.d.ts +14 -0
- package/template/meadmin/view/index/types/meIconComponents.d.ts +11 -0
- package/template/meadmin/view/index/types/vue-router.d.ts +17 -0
- package/template/meadmin/view/index/types/vueCustomProperties .d.ts +6 -0
- package/template/meadmin/view/index/types/vueExtendType.d.ts +43 -0
- package/template/meadmin/view/index/vite.config.ts +92 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
//扩展 el-dailog 最大化最小化可移动
|
|
2
|
+
export default (el: HTMLDivElement & { fullscreen: boolean }) => {
|
|
3
|
+
if (el.fullscreen !== undefined) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
//自定义尺寸变化事件
|
|
7
|
+
const resizeEvent = new CustomEvent('drag-resize', { detail: '尺寸变化', bubbles: false });
|
|
8
|
+
el.fullscreen = false;
|
|
9
|
+
//当前宽高
|
|
10
|
+
let nowWidth = el.offsetWidth;
|
|
11
|
+
let nowHight = el.offsetHeight;
|
|
12
|
+
//弹框可拉伸最小宽高
|
|
13
|
+
const minWidth = Math.min(nowWidth, 300);
|
|
14
|
+
const minHeight = Math.min(nowHight, 300);
|
|
15
|
+
//当前顶部高度
|
|
16
|
+
let nowMarginTop = '0';
|
|
17
|
+
//获取弹框头部(这部分可双击全屏)
|
|
18
|
+
const dialogHeaderEl = el.querySelector('.el-dialog__header') as HTMLDivElement;
|
|
19
|
+
//弹窗
|
|
20
|
+
const dragDom = el;
|
|
21
|
+
const firstWidth = el.style.width;
|
|
22
|
+
const firstHeight = el.style.height;
|
|
23
|
+
const setWidthHeight = (width: string, height: string) => {
|
|
24
|
+
dragDom.style.maxHeight = 'unset';
|
|
25
|
+
if (width) {
|
|
26
|
+
dragDom.style.width = width;
|
|
27
|
+
}
|
|
28
|
+
if (height) {
|
|
29
|
+
dragDom.style.height = height;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
//清除选择头部文字效果
|
|
33
|
+
dialogHeaderEl.onselectstart = () => false;
|
|
34
|
+
//头部加上可拖动cursor
|
|
35
|
+
dialogHeaderEl.style.cursor = 'move';
|
|
36
|
+
|
|
37
|
+
// 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
|
|
38
|
+
const sty = window.getComputedStyle(dragDom, null);
|
|
39
|
+
|
|
40
|
+
//头部插入最大化最小化元素
|
|
41
|
+
const fullscreenSvg =
|
|
42
|
+
'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" data-v-029747aa=""><path fill="currentColor" d="m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64v.064zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64l-192 .192zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64v-.064z"></path></svg>';
|
|
43
|
+
const cropSvg =
|
|
44
|
+
'<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" data-v-029747aa=""><path fill="currentColor" d="M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0v672z"></path><path fill="currentColor" d="M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32z"></path></svg>';
|
|
45
|
+
const maxMinButton = document.createElement('button');
|
|
46
|
+
maxMinButton.className = 'el-dialog__headerbtn';
|
|
47
|
+
maxMinButton.style.color = 'var(--el-color-info)';
|
|
48
|
+
maxMinButton.onmouseover = function () {
|
|
49
|
+
//设置其背景颜色为主色
|
|
50
|
+
maxMinButton.style.color = 'var(--el-color-primary)';
|
|
51
|
+
};
|
|
52
|
+
maxMinButton.onmouseout = function () {
|
|
53
|
+
//设置其背景颜色为默认色
|
|
54
|
+
maxMinButton.style.color = 'var(--el-color-info)';
|
|
55
|
+
};
|
|
56
|
+
if (dialogHeaderEl.querySelector('.el-dialog__close')) {
|
|
57
|
+
maxMinButton.style.right = dialogHeaderEl.querySelector('.el-dialog__close')!.parentElement!.clientWidth + 'px';
|
|
58
|
+
}
|
|
59
|
+
const maxMin = document.createElement('i');
|
|
60
|
+
maxMinButton.appendChild(maxMin);
|
|
61
|
+
maxMin.style.fontSize = 'inherit';
|
|
62
|
+
maxMin.className = 'el-icon';
|
|
63
|
+
maxMin.innerHTML = el.fullscreen ? cropSvg : fullscreenSvg;
|
|
64
|
+
dialogHeaderEl.appendChild(maxMinButton);
|
|
65
|
+
const moveDown = (e: MouseEvent) => {
|
|
66
|
+
// 鼠标按下,计算当前元素距离可视区的距离
|
|
67
|
+
const disX = e.clientX ?? 0 - dialogHeaderEl.offsetLeft;
|
|
68
|
+
const disY = e.clientY ?? 0 - dialogHeaderEl.offsetTop;
|
|
69
|
+
// 获取到的值带px 正则匹配替换
|
|
70
|
+
let styL: number, styT: number;
|
|
71
|
+
// 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
|
|
72
|
+
if (sty.left.includes('%')) {
|
|
73
|
+
styL = +document.body.clientWidth * (+sty.left.replace(/%/g, '') / 100);
|
|
74
|
+
styT = +document.body.clientHeight * (+sty.top.replace(/%/g, '') / 100);
|
|
75
|
+
} else {
|
|
76
|
+
styL = +sty.left.replace(/\px/g, '');
|
|
77
|
+
styT = +sty.top.replace(/\px/g, '');
|
|
78
|
+
}
|
|
79
|
+
document.onmousemove = function (e) {
|
|
80
|
+
// 通过事件委托,计算移动的距离
|
|
81
|
+
const l = e.clientX - disX;
|
|
82
|
+
const t = e.clientY - disY;
|
|
83
|
+
// 移动当前元素
|
|
84
|
+
dragDom.style.left = `${l + styL}px`;
|
|
85
|
+
dragDom.style.top = `${t + styT}px`;
|
|
86
|
+
|
|
87
|
+
//将此时的位置传出去
|
|
88
|
+
//binding.value({x:e.pageX,y:e.pageY})
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
document.onmouseup = function () {
|
|
92
|
+
document.onmousemove = null;
|
|
93
|
+
document.onmouseup = null;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
dialogHeaderEl.onmousedown = moveDown;
|
|
97
|
+
const setMaxMin = () => {
|
|
98
|
+
if (el.fullscreen) {
|
|
99
|
+
maxMin.innerHTML = fullscreenSvg;
|
|
100
|
+
setWidthHeight(nowWidth + 'px', nowHight + 'px');
|
|
101
|
+
dragDom.style.marginTop = nowMarginTop;
|
|
102
|
+
dragDom.style.position = 'relative';
|
|
103
|
+
el.fullscreen = false;
|
|
104
|
+
dialogHeaderEl.style.cursor = 'move';
|
|
105
|
+
dialogHeaderEl.onmousedown = moveDown;
|
|
106
|
+
} else {
|
|
107
|
+
maxMin.innerHTML = cropSvg;
|
|
108
|
+
nowHight = dragDom.clientHeight;
|
|
109
|
+
nowWidth = dragDom.clientWidth;
|
|
110
|
+
nowMarginTop = dragDom.style.marginTop;
|
|
111
|
+
dragDom.style.left = '0';
|
|
112
|
+
dragDom.style.top = '0';
|
|
113
|
+
setWidthHeight('100vw', '100vh');
|
|
114
|
+
dragDom.style.marginTop = '0';
|
|
115
|
+
dragDom.style.position = 'fixed';
|
|
116
|
+
el.fullscreen = true;
|
|
117
|
+
dialogHeaderEl.style.cursor = 'initial';
|
|
118
|
+
dialogHeaderEl.onmousedown = null;
|
|
119
|
+
}
|
|
120
|
+
maxMinButton.style.color = 'var(--el-color-info)';
|
|
121
|
+
el.dispatchEvent(resizeEvent);
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
//点击放大缩小效果
|
|
125
|
+
maxMinButton.onclick = setMaxMin;
|
|
126
|
+
//双击头部效果
|
|
127
|
+
dialogHeaderEl.ondblclick = setMaxMin;
|
|
128
|
+
//拉伸
|
|
129
|
+
const resizeEl = document.createElement('div');
|
|
130
|
+
dragDom.appendChild(resizeEl);
|
|
131
|
+
//在弹窗右下角加上一个10-10px的控制块
|
|
132
|
+
resizeEl.style.cursor = 'se-resize';
|
|
133
|
+
resizeEl.style.position = 'absolute';
|
|
134
|
+
resizeEl.style.height = '10px';
|
|
135
|
+
resizeEl.style.width = '10px';
|
|
136
|
+
resizeEl.style.right = '0px';
|
|
137
|
+
resizeEl.style.bottom = '0px';
|
|
138
|
+
resizeEl.style.zIndex = '1999';
|
|
139
|
+
|
|
140
|
+
//鼠标拉伸弹窗
|
|
141
|
+
resizeEl.onmousedown = (e) => {
|
|
142
|
+
// 记录初始x位置
|
|
143
|
+
const clientX = e.clientX;
|
|
144
|
+
// 鼠标按下,计算当前元素距离可视区的距离
|
|
145
|
+
const disX = e.clientX - resizeEl.offsetLeft;
|
|
146
|
+
const disY = e.clientY - resizeEl.offsetTop;
|
|
147
|
+
document.onmousemove = function (e) {
|
|
148
|
+
e.preventDefault(); // 移动时禁用默认事件
|
|
149
|
+
// 通过事件委托,计算移动的距离
|
|
150
|
+
const x = e.clientX - disX + (e.clientX - clientX); //这里 由于elementUI的dialog控制居中的,所以水平拉伸效果是双倍
|
|
151
|
+
const y = e.clientY - disY;
|
|
152
|
+
//比较是否小于最小宽高
|
|
153
|
+
setWidthHeight(x > minWidth ? `${x}px` : minWidth + 'px', y > minHeight ? `${y}px` : minHeight + 'px');
|
|
154
|
+
};
|
|
155
|
+
//拉伸结束
|
|
156
|
+
document.onmouseup = function () {
|
|
157
|
+
document.onmousemove = null;
|
|
158
|
+
document.onmouseup = null;
|
|
159
|
+
el.dispatchEvent(resizeEvent);
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
return { resetWH: () => setWidthHeight(firstWidth, firstHeight) };
|
|
163
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-dialog ref="elDialogRef" class="me-dialog" :style="{ maxHeight }" @open="openHandle">
|
|
3
|
+
<template v-for="(item, key) in ($slots as Record<string,any>)" :key="key" #[key]>
|
|
4
|
+
<component :is="item"></component>
|
|
5
|
+
</template>
|
|
6
|
+
</el-dialog>
|
|
7
|
+
</template>
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import { ElDialog } from 'element-plus';
|
|
10
|
+
import minMax from './hooks/minMax';
|
|
11
|
+
const props = {
|
|
12
|
+
full: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: true,
|
|
15
|
+
},
|
|
16
|
+
maxHeight: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: '80vh',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const emits = ['open'] as unknown as {
|
|
23
|
+
open: () => void;
|
|
24
|
+
} & ArrayEmitsOptionsToFns<Parameters<InstanceType<typeof ElDialog>['$emit']>>;
|
|
25
|
+
export default defineComponent({
|
|
26
|
+
name: 'MeDialog',
|
|
27
|
+
props: props as unknown as typeof props & ComponentObjectPropsOptionsFromData<InstanceType<typeof ElDialog>['$props']>,
|
|
28
|
+
emits: emits,
|
|
29
|
+
setup(props, { expose, emit }) {
|
|
30
|
+
const elDialogRef = ref<InstanceType<typeof ElDialog>>();
|
|
31
|
+
let resetWH: undefined | (() => void);
|
|
32
|
+
watch(
|
|
33
|
+
[() => elDialogRef.value?.dialogContentRef, () => props.full],
|
|
34
|
+
async () => {
|
|
35
|
+
if (elDialogRef.value?.dialogContentRef && props.full) {
|
|
36
|
+
await nextTick();
|
|
37
|
+
resetWH = minMax(elDialogRef.value!.dialogContentRef.$el)?.resetWH;
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{ immediate: true },
|
|
41
|
+
);
|
|
42
|
+
const openHandle = () => {
|
|
43
|
+
resetWH?.();
|
|
44
|
+
emit('open');
|
|
45
|
+
};
|
|
46
|
+
expose({ elDialogRef });
|
|
47
|
+
return {
|
|
48
|
+
elDialogRef,
|
|
49
|
+
openHandle,
|
|
50
|
+
};
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
</script>
|
|
54
|
+
<style lang="scss">
|
|
55
|
+
.me-dialog {
|
|
56
|
+
display: flex;
|
|
57
|
+
flex-direction: column;
|
|
58
|
+
.el-dialog__headerbtn {
|
|
59
|
+
width: 40px;
|
|
60
|
+
}
|
|
61
|
+
.el-dialog__header {
|
|
62
|
+
position: sticky;
|
|
63
|
+
top: 0;
|
|
64
|
+
z-index: $z-index-top;
|
|
65
|
+
background-color: inherit;
|
|
66
|
+
flex-grow: 0;
|
|
67
|
+
flex-shrink: 0;
|
|
68
|
+
padding-right: 80px;
|
|
69
|
+
}
|
|
70
|
+
.el-dialog__body {
|
|
71
|
+
overflow-y: auto;
|
|
72
|
+
flex: 1;
|
|
73
|
+
margin-top: 10px;
|
|
74
|
+
flex-shrink: 0;
|
|
75
|
+
padding: 0 10px;
|
|
76
|
+
}
|
|
77
|
+
.el-dialog__footer {
|
|
78
|
+
position: sticky;
|
|
79
|
+
bottom: 0;
|
|
80
|
+
z-index: $z-index-top;
|
|
81
|
+
background-color: inherit;
|
|
82
|
+
flex-grow: 0;
|
|
83
|
+
flex-shrink: 0;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
</style>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!-- table中展示文件item组件 -->
|
|
2
|
+
<template>
|
|
3
|
+
<div class="me-files-view">
|
|
4
|
+
<el-image
|
|
5
|
+
v-for="(item, index) in fileList?.imageArr ?? []"
|
|
6
|
+
:key="index"
|
|
7
|
+
class="view-img"
|
|
8
|
+
:src="item"
|
|
9
|
+
:zoom-rate="1.2"
|
|
10
|
+
:max-scale="7"
|
|
11
|
+
:min-scale="0.2"
|
|
12
|
+
:preview-src-list="fileList.imageArr"
|
|
13
|
+
:initial-index="index"
|
|
14
|
+
:title="$t('点击预览')"
|
|
15
|
+
show-progress
|
|
16
|
+
preview-teleported
|
|
17
|
+
fit="scale-down"
|
|
18
|
+
/>
|
|
19
|
+
<el-link v-for="(item, index) in fileList?.fileArr ?? []" :key="index" class="view-link" type="primary" :href="item.url" target="_blank" :title="$t('点击下载')">{{
|
|
20
|
+
item.name ?? item.url
|
|
21
|
+
}}</el-link>
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script setup lang="ts" name="MeTableFileItem">
|
|
26
|
+
import { isImage } from '@/utils/helper.js';
|
|
27
|
+
const props = defineProps<{ files: { url: string; name?: string }[] }>();
|
|
28
|
+
const fileList = computed(() => {
|
|
29
|
+
const imageArr = [] as string[];
|
|
30
|
+
const fileArr = [] as { url: string; name?: string }[];
|
|
31
|
+
props.files.forEach((item) => {
|
|
32
|
+
if (isImage(item.url) || isImage(item.name)) {
|
|
33
|
+
imageArr.push(item.url);
|
|
34
|
+
} else {
|
|
35
|
+
fileArr.push(item);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return { imageArr, fileArr };
|
|
39
|
+
});
|
|
40
|
+
</script>
|
|
41
|
+
<style lang="scss" scoped>
|
|
42
|
+
.me-files-view {
|
|
43
|
+
.view-img {
|
|
44
|
+
width: 40px;
|
|
45
|
+
height: 40px;
|
|
46
|
+
}
|
|
47
|
+
.view-img:nth-child(n + 2),
|
|
48
|
+
.view-link:nth-child(n + 2) {
|
|
49
|
+
margin-left: 5px;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { isArray } from '@vue/shared';
|
|
2
|
+
import { queuePostFlushCb, SuspenseBoundary } from 'vue';
|
|
3
|
+
export function queueEffectWithSuspense(fn: Function | Function[], suspense: SuspenseBoundary | null): void {
|
|
4
|
+
if (suspense && suspense.pendingBranch) {
|
|
5
|
+
if (isArray(fn)) {
|
|
6
|
+
suspense.effects.push(...fn);
|
|
7
|
+
} else {
|
|
8
|
+
suspense.effects.push(fn);
|
|
9
|
+
}
|
|
10
|
+
} else {
|
|
11
|
+
queuePostFlushCb(fn);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const isSuspense = (type: any): boolean => type.__isSuspense;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { isFunction } from '@vue/shared';
|
|
2
|
+
import { ConcreteComponent } from 'vue';
|
|
3
|
+
export function getComponentName(Component: ConcreteComponent, includeInferred = true): string | false | undefined {
|
|
4
|
+
return isFunction(Component) ? Component.displayName || Component.name : Component.name || (includeInferred && Component.__name);
|
|
5
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ComponentInternalInstance, devtools } from 'vue';
|
|
2
|
+
const enum DevtoolsHooks {
|
|
3
|
+
APP_INIT = 'app:init',
|
|
4
|
+
APP_UNMOUNT = 'app:unmount',
|
|
5
|
+
COMPONENT_UPDATED = 'component:updated',
|
|
6
|
+
COMPONENT_ADDED = 'component:added',
|
|
7
|
+
COMPONENT_REMOVED = 'component:removed',
|
|
8
|
+
COMPONENT_EMIT = 'component:emit',
|
|
9
|
+
PERFORMANCE_START = 'perf:start',
|
|
10
|
+
PERFORMANCE_END = 'perf:end',
|
|
11
|
+
}
|
|
12
|
+
export const devtoolsComponentAdded = /* #__PURE__ */ createDevtoolsComponentHook(DevtoolsHooks.COMPONENT_ADDED);
|
|
13
|
+
|
|
14
|
+
function createDevtoolsComponentHook(hook: DevtoolsHooks) {
|
|
15
|
+
return (component: ComponentInternalInstance) => {
|
|
16
|
+
emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function emit(event: string, ...args: any[]) {
|
|
21
|
+
// if (devtools) {
|
|
22
|
+
// return devtools.emit(event, ...args)
|
|
23
|
+
// } else if (!devtoolsNotInstalled) {
|
|
24
|
+
// buffer.push({ event, args })
|
|
25
|
+
// }
|
|
26
|
+
// TODO::因为拿不到devtoolsNotInstalled和buffer这里只在devtools Installed 成功后处理
|
|
27
|
+
if (devtools) {
|
|
28
|
+
return devtools.emit(event, ...args);
|
|
29
|
+
}
|
|
30
|
+
// TODO::因为拿不到devtoolsNotInstalled和buffer这里做特别处理
|
|
31
|
+
// const doEmit = (event: string,frequency:number,...args: any[])=>{
|
|
32
|
+
// if (devtools) {
|
|
33
|
+
// return devtools.emit(event, ...args)
|
|
34
|
+
// }
|
|
35
|
+
// if(frequency > 3){
|
|
36
|
+
// return console.warn('devtools is Not installed');
|
|
37
|
+
// }
|
|
38
|
+
// setTimeout(() => {
|
|
39
|
+
// doEmit(event,frequency++,...args);
|
|
40
|
+
// }, 1000);
|
|
41
|
+
// }
|
|
42
|
+
// doEmit(event,1,args);
|
|
43
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const enum ErrorCodes {
|
|
2
|
+
SETUP_FUNCTION,
|
|
3
|
+
RENDER_FUNCTION,
|
|
4
|
+
WATCH_GETTER,
|
|
5
|
+
WATCH_CALLBACK,
|
|
6
|
+
WATCH_CLEANUP,
|
|
7
|
+
NATIVE_EVENT_HANDLER,
|
|
8
|
+
COMPONENT_EVENT_HANDLER,
|
|
9
|
+
VNODE_HOOK,
|
|
10
|
+
DIRECTIVE_HOOK,
|
|
11
|
+
TRANSITION_HOOK,
|
|
12
|
+
APP_ERROR_HANDLER,
|
|
13
|
+
APP_WARN_HANDLER,
|
|
14
|
+
FUNCTION_REF,
|
|
15
|
+
ASYNC_COMPONENT_LOADER,
|
|
16
|
+
SCHEDULER,
|
|
17
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { ComponentInternalInstance, RendererElement, RendererNode, RendererOptions, SuspenseBoundary, VNode, VNodeArrayChildren, queuePostFlushCb } from 'vue';
|
|
2
|
+
import { queueEffectWithSuspense } from './Suspense';
|
|
3
|
+
|
|
4
|
+
// An object exposing the internals of a renderer, passed to tree-shakeable
|
|
5
|
+
// features so that they can be decoupled from this file. Keys are shortened
|
|
6
|
+
// to optimize bundle size.
|
|
7
|
+
export interface RendererInternals<HostNode = RendererNode, HostElement = RendererElement> {
|
|
8
|
+
p: PatchFn;
|
|
9
|
+
um: UnmountFn;
|
|
10
|
+
r: RemoveFn;
|
|
11
|
+
m: MoveFn;
|
|
12
|
+
mt: MountComponentFn;
|
|
13
|
+
mc: MountChildrenFn;
|
|
14
|
+
pc: PatchChildrenFn;
|
|
15
|
+
pbc: PatchBlockChildrenFn;
|
|
16
|
+
n: NextFn;
|
|
17
|
+
o: RendererOptions<HostNode, HostElement>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// These functions are created inside a closure and therefore their types cannot
|
|
21
|
+
// be directly exported. In order to avoid maintaining function signatures in
|
|
22
|
+
// two places, we declare them once here and use them inside the closure.
|
|
23
|
+
type PatchFn = (
|
|
24
|
+
n1: VNode | null, // null means this is a mount
|
|
25
|
+
n2: VNode,
|
|
26
|
+
container: RendererElement,
|
|
27
|
+
anchor?: RendererNode | null,
|
|
28
|
+
parentComponent?: ComponentInternalInstance | null,
|
|
29
|
+
parentSuspense?: SuspenseBoundary | null,
|
|
30
|
+
isSVG?: boolean,
|
|
31
|
+
slotScopeIds?: string[] | null,
|
|
32
|
+
optimized?: boolean,
|
|
33
|
+
) => void;
|
|
34
|
+
|
|
35
|
+
type UnmountFn = (vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, doRemove?: boolean, optimized?: boolean) => void;
|
|
36
|
+
|
|
37
|
+
type RemoveFn = (vnode: VNode) => void;
|
|
38
|
+
|
|
39
|
+
type MoveFn = (vnode: VNode, container: RendererElement, anchor: RendererNode | null, type: MoveType, parentSuspense?: SuspenseBoundary | null) => void;
|
|
40
|
+
|
|
41
|
+
export const enum MoveType {
|
|
42
|
+
ENTER,
|
|
43
|
+
LEAVE,
|
|
44
|
+
REORDER,
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type MountComponentFn = (
|
|
48
|
+
initialVNode: VNode,
|
|
49
|
+
container: RendererElement,
|
|
50
|
+
anchor: RendererNode | null,
|
|
51
|
+
parentComponent: ComponentInternalInstance | null,
|
|
52
|
+
parentSuspense: SuspenseBoundary | null,
|
|
53
|
+
isSVG: boolean,
|
|
54
|
+
optimized: boolean,
|
|
55
|
+
) => void;
|
|
56
|
+
|
|
57
|
+
type MountChildrenFn = (
|
|
58
|
+
children: VNodeArrayChildren,
|
|
59
|
+
container: RendererElement,
|
|
60
|
+
anchor: RendererNode | null,
|
|
61
|
+
parentComponent: ComponentInternalInstance | null,
|
|
62
|
+
parentSuspense: SuspenseBoundary | null,
|
|
63
|
+
isSVG: boolean,
|
|
64
|
+
slotScopeIds: string[] | null,
|
|
65
|
+
optimized: boolean,
|
|
66
|
+
start?: number,
|
|
67
|
+
) => void;
|
|
68
|
+
|
|
69
|
+
type PatchChildrenFn = (
|
|
70
|
+
n1: VNode | null,
|
|
71
|
+
n2: VNode,
|
|
72
|
+
container: RendererElement,
|
|
73
|
+
anchor: RendererNode | null,
|
|
74
|
+
parentComponent: ComponentInternalInstance | null,
|
|
75
|
+
parentSuspense: SuspenseBoundary | null,
|
|
76
|
+
isSVG: boolean,
|
|
77
|
+
slotScopeIds: string[] | null,
|
|
78
|
+
optimized: boolean,
|
|
79
|
+
) => void;
|
|
80
|
+
|
|
81
|
+
type PatchBlockChildrenFn = (
|
|
82
|
+
oldChildren: VNode[],
|
|
83
|
+
newChildren: VNode[],
|
|
84
|
+
fallbackContainer: RendererElement,
|
|
85
|
+
parentComponent: ComponentInternalInstance | null,
|
|
86
|
+
parentSuspense: SuspenseBoundary | null,
|
|
87
|
+
isSVG: boolean,
|
|
88
|
+
slotScopeIds: string[] | null,
|
|
89
|
+
) => void;
|
|
90
|
+
|
|
91
|
+
type NextFn = (vnode: VNode) => RendererNode | null;
|
|
92
|
+
|
|
93
|
+
export const queuePostRenderEffect = __FEATURE_SUSPENSE__ ? queueEffectWithSuspense : queuePostFlushCb;
|
|
94
|
+
|
|
95
|
+
export type SetupRenderEffectFn = (
|
|
96
|
+
instance: ComponentInternalInstance,
|
|
97
|
+
initialVNode: VNode,
|
|
98
|
+
container: RendererElement,
|
|
99
|
+
anchor: RendererNode | null,
|
|
100
|
+
parentSuspense: SuspenseBoundary | null,
|
|
101
|
+
isSVG: boolean,
|
|
102
|
+
optimized: boolean,
|
|
103
|
+
) => void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const enum ShapeFlags {
|
|
2
|
+
ELEMENT = 1,
|
|
3
|
+
FUNCTIONAL_COMPONENT = 1 << 1,
|
|
4
|
+
STATEFUL_COMPONENT = 1 << 2,
|
|
5
|
+
TEXT_CHILDREN = 1 << 3,
|
|
6
|
+
ARRAY_CHILDREN = 1 << 4,
|
|
7
|
+
SLOTS_CHILDREN = 1 << 5,
|
|
8
|
+
TELEPORT = 1 << 6,
|
|
9
|
+
SUSPENSE = 1 << 7,
|
|
10
|
+
COMPONENT_SHOULD_KEEP_ALIVE = 1 << 8,
|
|
11
|
+
COMPONENT_KEPT_ALIVE = 1 << 9,
|
|
12
|
+
COMPONENT = ShapeFlags.STATEFUL_COMPONENT | ShapeFlags.FUNCTIONAL_COMPONENT,
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ComponentInternalInstance, VNode, callWithAsyncErrorHandling } from 'vue';
|
|
2
|
+
import { ErrorCodes } from './errorHandling';
|
|
3
|
+
type VNodeMountHook = (vnode: VNode) => void;
|
|
4
|
+
type VNodeUpdateHook = (vnode: VNode, oldVNode: VNode) => void;
|
|
5
|
+
export type VNodeHook = VNodeMountHook | VNodeUpdateHook | VNodeMountHook[] | VNodeUpdateHook[];
|
|
6
|
+
|
|
7
|
+
export function invokeVNodeHook(hook: VNodeHook, instance: ComponentInternalInstance | null, vnode: VNode, prevVNode: VNode | null = null) {
|
|
8
|
+
callWithAsyncErrorHandling(hook, instance, <any>ErrorCodes.VNODE_HOOK, [vnode, prevVNode]);
|
|
9
|
+
}
|