From 7017732df3db45a5391406437cc69052b5a87540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Fri, 15 Apr 2022 17:12:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Evue3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Vue3/.editorconfig | 22 + ZR.Vue3/.env.development | 14 + ZR.Vue3/.env.production | 14 + ZR.Vue3/.env.staging | 17 + ZR.Vue3/.gitignore | 23 + ZR.Vue3/.jsbeautifyrc | 12 + ZR.Vue3/.prettierrc | 4 + ZR.Vue3/LICENSE | 21 + ZR.Vue3/README.md | 89 +++ ZR.Vue3/bat/build.bat | 12 + ZR.Vue3/bat/package.bat | 12 + ZR.Vue3/bat/run-web.bat | 12 + ZR.Vue3/html/ie.html | 46 ++ ZR.Vue3/index.html | 215 ++++++ ZR.Vue3/package.json | 45 ++ ZR.Vue3/public/favicon.ico | Bin 0 -> 67646 bytes ZR.Vue3/src/App.vue | 3 + ZR.Vue3/src/api/common.js | 23 + ZR.Vue3/src/api/login.js | 40 ++ ZR.Vue3/src/api/monitor/cache.js | 9 + ZR.Vue3/src/api/monitor/job.js | 115 ++++ ZR.Vue3/src/api/monitor/jobLog.js | 35 + ZR.Vue3/src/api/monitor/logininfor.js | 35 + ZR.Vue3/src/api/monitor/online.js | 18 + ZR.Vue3/src/api/monitor/operlog.js | 35 + ZR.Vue3/src/api/monitor/server.js | 9 + ZR.Vue3/src/api/system/article.js | 66 ++ ZR.Vue3/src/api/system/config.js | 69 ++ ZR.Vue3/src/api/system/dept.js | 68 ++ ZR.Vue3/src/api/system/dict/data.js | 69 ++ ZR.Vue3/src/api/system/dict/type.js | 69 ++ ZR.Vue3/src/api/system/login.js | 40 ++ ZR.Vue3/src/api/system/menu.js | 78 +++ ZR.Vue3/src/api/system/notice.js | 61 ++ ZR.Vue3/src/api/system/post.js | 53 ++ ZR.Vue3/src/api/system/role.js | 75 +++ ZR.Vue3/src/api/system/user.js | 128 ++++ ZR.Vue3/src/api/system/userRoles.js | 37 ++ ZR.Vue3/src/api/tool/file.js | 69 ++ ZR.Vue3/src/api/tool/gen.js | 103 +++ ZR.Vue3/src/assets/401_images/401.gif | Bin 0 -> 164227 bytes ZR.Vue3/src/assets/404_images/404.png | Bin 0 -> 98071 bytes ZR.Vue3/src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes ZR.Vue3/src/assets/icons/svg/404.svg | 1 + ZR.Vue3/src/assets/icons/svg/Steve-Jobs.svg | 1 + ZR.Vue3/src/assets/icons/svg/alipay.svg | 1 + ZR.Vue3/src/assets/icons/svg/anq.svg | 1 + ZR.Vue3/src/assets/icons/svg/app.svg | 1 + ZR.Vue3/src/assets/icons/svg/backup.svg | 1 + ZR.Vue3/src/assets/icons/svg/bug.svg | 1 + ZR.Vue3/src/assets/icons/svg/build.svg | 1 + ZR.Vue3/src/assets/icons/svg/button.svg | 1 + ZR.Vue3/src/assets/icons/svg/cascader.svg | 1 + ZR.Vue3/src/assets/icons/svg/chain.svg | 1 + ZR.Vue3/src/assets/icons/svg/chart.svg | 1 + ZR.Vue3/src/assets/icons/svg/checkbox.svg | 1 + ZR.Vue3/src/assets/icons/svg/clipboard.svg | 1 + ZR.Vue3/src/assets/icons/svg/code.svg | 1 + ZR.Vue3/src/assets/icons/svg/codeConsole.svg | 1 + ZR.Vue3/src/assets/icons/svg/color.svg | 1 + ZR.Vue3/src/assets/icons/svg/component.svg | 1 + ZR.Vue3/src/assets/icons/svg/dashboard.svg | 1 + ZR.Vue3/src/assets/icons/svg/database.svg | 1 + ZR.Vue3/src/assets/icons/svg/date-range.svg | 1 + ZR.Vue3/src/assets/icons/svg/date.svg | 1 + ZR.Vue3/src/assets/icons/svg/deploy.svg | 1 + ZR.Vue3/src/assets/icons/svg/dept.svg | 1 + ZR.Vue3/src/assets/icons/svg/develop.svg | 1 + ZR.Vue3/src/assets/icons/svg/dict.svg | 1 + ZR.Vue3/src/assets/icons/svg/dictionary.svg | 1 + ZR.Vue3/src/assets/icons/svg/doc.svg | 1 + .../src/assets/icons/svg/documentation.svg | 1 + ZR.Vue3/src/assets/icons/svg/download.svg | 1 + ZR.Vue3/src/assets/icons/svg/drag.svg | 1 + ZR.Vue3/src/assets/icons/svg/druid.svg | 1 + ZR.Vue3/src/assets/icons/svg/edit.svg | 1 + ZR.Vue3/src/assets/icons/svg/education.svg | 1 + ZR.Vue3/src/assets/icons/svg/email.svg | 1 + ZR.Vue3/src/assets/icons/svg/error.svg | 1 + ZR.Vue3/src/assets/icons/svg/example.svg | 1 + ZR.Vue3/src/assets/icons/svg/excel.svg | 1 + .../src/assets/icons/svg/exit-fullscreen.svg | 1 + ZR.Vue3/src/assets/icons/svg/eye-open.svg | 1 + ZR.Vue3/src/assets/icons/svg/eye.svg | 1 + ZR.Vue3/src/assets/icons/svg/form.svg | 1 + ZR.Vue3/src/assets/icons/svg/fullscreen.svg | 1 + ZR.Vue3/src/assets/icons/svg/fwb.svg | 1 + ZR.Vue3/src/assets/icons/svg/github.svg | 1 + ZR.Vue3/src/assets/icons/svg/gonggao.svg | 1 + ZR.Vue3/src/assets/icons/svg/guide.svg | 1 + ZR.Vue3/src/assets/icons/svg/icon.svg | 1 + ZR.Vue3/src/assets/icons/svg/icon1.svg | 1 + ZR.Vue3/src/assets/icons/svg/image.svg | 1 + ZR.Vue3/src/assets/icons/svg/index.svg | 1 + ZR.Vue3/src/assets/icons/svg/input.svg | 1 + .../src/assets/icons/svg/international.svg | 1 + ZR.Vue3/src/assets/icons/svg/ipvisits.svg | 1 + ZR.Vue3/src/assets/icons/svg/java.svg | 1 + ZR.Vue3/src/assets/icons/svg/job.svg | 1 + ZR.Vue3/src/assets/icons/svg/language.svg | 1 + ZR.Vue3/src/assets/icons/svg/link.svg | 1 + ZR.Vue3/src/assets/icons/svg/list.svg | 1 + ZR.Vue3/src/assets/icons/svg/lock.svg | 1 + ZR.Vue3/src/assets/icons/svg/log.svg | 1 + ZR.Vue3/src/assets/icons/svg/login.svg | 1 + ZR.Vue3/src/assets/icons/svg/logininfor.svg | 1 + ZR.Vue3/src/assets/icons/svg/markdown.svg | 1 + ZR.Vue3/src/assets/icons/svg/menu.svg | 1 + ZR.Vue3/src/assets/icons/svg/message.svg | 1 + ZR.Vue3/src/assets/icons/svg/mnt.svg | 1 + ZR.Vue3/src/assets/icons/svg/money.svg | 1 + ZR.Vue3/src/assets/icons/svg/monitor.svg | 2 + ZR.Vue3/src/assets/icons/svg/nested.svg | 1 + ZR.Vue3/src/assets/icons/svg/number.svg | 1 + ZR.Vue3/src/assets/icons/svg/online.svg | 1 + ZR.Vue3/src/assets/icons/svg/password.svg | 1 + ZR.Vue3/src/assets/icons/svg/pdf.svg | 1 + ZR.Vue3/src/assets/icons/svg/people.svg | 1 + ZR.Vue3/src/assets/icons/svg/peoples.svg | 1 + ZR.Vue3/src/assets/icons/svg/permission.svg | 1 + ZR.Vue3/src/assets/icons/svg/phone.svg | 1 + ZR.Vue3/src/assets/icons/svg/post.svg | 1 + ZR.Vue3/src/assets/icons/svg/qiniu.svg | 1 + ZR.Vue3/src/assets/icons/svg/qq.svg | 1 + ZR.Vue3/src/assets/icons/svg/question.svg | 1 + ZR.Vue3/src/assets/icons/svg/radio.svg | 1 + ZR.Vue3/src/assets/icons/svg/rate.svg | 1 + ZR.Vue3/src/assets/icons/svg/redis.svg | 1 + ZR.Vue3/src/assets/icons/svg/role.svg | 1 + ZR.Vue3/src/assets/icons/svg/row.svg | 1 + ZR.Vue3/src/assets/icons/svg/search.svg | 1 + ZR.Vue3/src/assets/icons/svg/select.svg | 1 + ZR.Vue3/src/assets/icons/svg/server.svg | 1 + ZR.Vue3/src/assets/icons/svg/shopping.svg | 1 + ZR.Vue3/src/assets/icons/svg/size.svg | 1 + ZR.Vue3/src/assets/icons/svg/skill.svg | 1 + ZR.Vue3/src/assets/icons/svg/slider.svg | 1 + ZR.Vue3/src/assets/icons/svg/source.svg | 1 + ZR.Vue3/src/assets/icons/svg/sqlMonitor.svg | 1 + ZR.Vue3/src/assets/icons/svg/star.svg | 1 + ZR.Vue3/src/assets/icons/svg/swagger.svg | 1 + ZR.Vue3/src/assets/icons/svg/switch.svg | 1 + ZR.Vue3/src/assets/icons/svg/sys-tools.svg | 1 + ZR.Vue3/src/assets/icons/svg/system.svg | 2 + ZR.Vue3/src/assets/icons/svg/system1.svg | 1 + ZR.Vue3/src/assets/icons/svg/tab.svg | 1 + ZR.Vue3/src/assets/icons/svg/table.svg | 1 + ZR.Vue3/src/assets/icons/svg/textarea.svg | 1 + ZR.Vue3/src/assets/icons/svg/theme.svg | 1 + ZR.Vue3/src/assets/icons/svg/time-range.svg | 1 + ZR.Vue3/src/assets/icons/svg/time.svg | 1 + ZR.Vue3/src/assets/icons/svg/tool.svg | 1 + ZR.Vue3/src/assets/icons/svg/tools.svg | 1 + ZR.Vue3/src/assets/icons/svg/tree-table.svg | 1 + ZR.Vue3/src/assets/icons/svg/tree.svg | 1 + ZR.Vue3/src/assets/icons/svg/unlock.svg | 1 + ZR.Vue3/src/assets/icons/svg/upload.svg | 1 + ZR.Vue3/src/assets/icons/svg/user.svg | 1 + ZR.Vue3/src/assets/icons/svg/validCode.svg | 1 + ZR.Vue3/src/assets/icons/svg/visits.svg | 1 + ZR.Vue3/src/assets/icons/svg/web.svg | 1 + ZR.Vue3/src/assets/icons/svg/wechat.svg | 1 + ZR.Vue3/src/assets/icons/svg/weixin.svg | 1 + ZR.Vue3/src/assets/icons/svg/zip.svg | 1 + ZR.Vue3/src/assets/icons/svg/zujian.svg | 1 + ZR.Vue3/src/assets/images/dark.svg | 39 ++ ZR.Vue3/src/assets/images/light.svg | 39 ++ .../src/assets/images/login-background.jpg | Bin 0 -> 5577 bytes ZR.Vue3/src/assets/images/profile.jpg | Bin 0 -> 1865 bytes ZR.Vue3/src/assets/images/reward.jpg | Bin 0 -> 211602 bytes ZR.Vue3/src/assets/logo/logo.png | Bin 0 -> 10543 bytes ZR.Vue3/src/assets/styles/btn.scss | 99 +++ ZR.Vue3/src/assets/styles/element-ui.scss | 144 ++++ ZR.Vue3/src/assets/styles/index.scss | 265 ++++++++ ZR.Vue3/src/assets/styles/mixin.scss | 66 ++ ZR.Vue3/src/assets/styles/sidebar.scss | 235 +++++++ ZR.Vue3/src/assets/styles/transition.scss | 48 ++ .../src/assets/styles/variables.module.scss | 65 ++ ZR.Vue3/src/components/Breadcrumb/index.vue | 66 ++ ZR.Vue3/src/components/DictTag/index.vue | 41 ++ ZR.Vue3/src/components/Editor/index.vue | 198 ++++++ ZR.Vue3/src/components/FileUpload/index.vue | 224 +++++++ ZR.Vue3/src/components/Hamburger/index.vue | 41 ++ ZR.Vue3/src/components/HeaderSearch/index.vue | 180 +++++ ZR.Vue3/src/components/IconSelect/index.vue | 67 ++ .../src/components/IconSelect/requireIcons.js | 8 + ZR.Vue3/src/components/ImagePreview/index.vue | 85 +++ ZR.Vue3/src/components/ImageUpload/index.vue | 190 ++++++ ZR.Vue3/src/components/Pagination/index.vue | 105 +++ ZR.Vue3/src/components/ParentView/index.vue | 3 + ZR.Vue3/src/components/RightToolbar/index.vue | 88 +++ ZR.Vue3/src/components/Screenfull/index.vue | 22 + ZR.Vue3/src/components/SizeSelect/index.vue | 57 ++ ZR.Vue3/src/components/SvgIcon/index.vue | 53 ++ ZR.Vue3/src/components/SvgIcon/svgicon.js | 10 + ZR.Vue3/src/components/TopNav/index.vue | 184 ++++++ ZR.Vue3/src/components/TreeSelect/index.vue | 142 ++++ ZR.Vue3/src/components/Zr/Doc/index.vue | 12 + ZR.Vue3/src/components/Zr/Git/index.vue | 20 + ZR.Vue3/src/components/iFrame/index.vue | 31 + ZR.Vue3/src/directive/index.js | 9 + ZR.Vue3/src/directive/module/clipboard.js | 54 ++ ZR.Vue3/src/directive/permission/hasPermi.js | 28 + ZR.Vue3/src/directive/permission/hasRole.js | 28 + ZR.Vue3/src/layout/components/AppMain.vue | 54 ++ .../src/layout/components/InnerLink/index.vue | 30 + ZR.Vue3/src/layout/components/Navbar.vue | 198 ++++++ .../src/layout/components/Settings/index.vue | 266 ++++++++ .../src/layout/components/Sidebar/Link.vue | 40 ++ .../src/layout/components/Sidebar/Logo.vue | 80 +++ .../layout/components/Sidebar/SidebarItem.vue | 99 +++ .../src/layout/components/Sidebar/index.vue | 38 ++ .../layout/components/TagsView/ScrollPane.vue | 103 +++ .../src/layout/components/TagsView/index.vue | 331 ++++++++++ ZR.Vue3/src/layout/components/index.js | 4 + ZR.Vue3/src/layout/index.vue | 108 +++ ZR.Vue3/src/main.js | 80 +++ ZR.Vue3/src/permission.js | 58 ++ ZR.Vue3/src/plugins/auth.js | 60 ++ ZR.Vue3/src/plugins/cache.js | 77 +++ ZR.Vue3/src/plugins/download.js | 72 ++ ZR.Vue3/src/plugins/index.js | 18 + ZR.Vue3/src/plugins/modal.js | 82 +++ ZR.Vue3/src/plugins/tab.js | 67 ++ ZR.Vue3/src/router/index.js | 94 +++ ZR.Vue3/src/settings.js | 51 ++ ZR.Vue3/src/store/getters.js | 20 + ZR.Vue3/src/store/index.js | 21 + ZR.Vue3/src/store/modules/app.js | 66 ++ ZR.Vue3/src/store/modules/permission.js | 120 ++++ ZR.Vue3/src/store/modules/settings.js | 44 ++ ZR.Vue3/src/store/modules/tagsView.js | 207 ++++++ ZR.Vue3/src/store/modules/user.js | 110 ++++ ZR.Vue3/src/utils/auth.js | 15 + ZR.Vue3/src/utils/dynamicTitle.js | 13 + ZR.Vue3/src/utils/errorCode.js | 6 + ZR.Vue3/src/utils/index.js | 390 +++++++++++ ZR.Vue3/src/utils/jsencrypt.js | 30 + ZR.Vue3/src/utils/permission.js | 51 ++ ZR.Vue3/src/utils/request.js | 167 +++++ ZR.Vue3/src/utils/ruoyi.js | 271 ++++++++ ZR.Vue3/src/utils/scroll-to.js | 58 ++ ZR.Vue3/src/utils/validate.js | 93 +++ ZR.Vue3/src/views/components/dictData.vue | 363 ++++++++++ ZR.Vue3/src/views/error/401.vue | 82 +++ ZR.Vue3/src/views/error/404.vue | 227 +++++++ ZR.Vue3/src/views/index.vue | 203 ++++++ ZR.Vue3/src/views/index_v1.vue | 370 +++++++++++ ZR.Vue3/src/views/login.vue | 208 ++++++ .../src/views/monitor/logininfor/index.vue | 196 ++++++ ZR.Vue3/src/views/monitor/operlog/index.vue | 290 ++++++++ ZR.Vue3/src/views/redirect/index.vue | 13 + ZR.Vue3/src/views/system/config/index.vue | 274 ++++++++ ZR.Vue3/src/views/system/dept/index.vue | 292 ++++++++ ZR.Vue3/src/views/system/dict/index.vue | 316 +++++++++ ZR.Vue3/src/views/system/menu/index.vue | 436 ++++++++++++ ZR.Vue3/src/views/system/notice/index.vue | 250 +++++++ ZR.Vue3/src/views/system/post/index.vue | 279 ++++++++ ZR.Vue3/src/views/system/role/index.vue | 619 +++++++++++++++++ ZR.Vue3/src/views/system/roleusers/index.vue | 295 +++++++++ ZR.Vue3/src/views/system/user/index.vue | 621 ++++++++++++++++++ .../src/views/system/user/profile/index.vue | 118 ++++ .../views/system/user/profile/resetPwd.vue | 63 ++ .../views/system/user/profile/userAvatar.vue | 186 ++++++ .../views/system/user/profile/userInfo.vue | 70 ++ ZR.Vue3/src/views/tool/file/index.vue | 360 ++++++++++ ZR.Vue3/src/views/tool/swagger/index.vue | 30 + ZR.Vue3/vite.config.js | 47 ++ ZR.Vue3/vite/plugins/auto-import.js | 14 + ZR.Vue3/vite/plugins/compression.js | 30 + ZR.Vue3/vite/plugins/index.js | 15 + ZR.Vue3/vite/plugins/setup-extend.js | 5 + ZR.Vue3/vite/plugins/svg-icon.js | 10 + 273 files changed, 14909 insertions(+) create mode 100644 ZR.Vue3/.editorconfig create mode 100644 ZR.Vue3/.env.development create mode 100644 ZR.Vue3/.env.production create mode 100644 ZR.Vue3/.env.staging create mode 100644 ZR.Vue3/.gitignore create mode 100644 ZR.Vue3/.jsbeautifyrc create mode 100644 ZR.Vue3/.prettierrc create mode 100644 ZR.Vue3/LICENSE create mode 100644 ZR.Vue3/README.md create mode 100644 ZR.Vue3/bat/build.bat create mode 100644 ZR.Vue3/bat/package.bat create mode 100644 ZR.Vue3/bat/run-web.bat create mode 100644 ZR.Vue3/html/ie.html create mode 100644 ZR.Vue3/index.html create mode 100644 ZR.Vue3/package.json create mode 100644 ZR.Vue3/public/favicon.ico create mode 100644 ZR.Vue3/src/App.vue create mode 100644 ZR.Vue3/src/api/common.js create mode 100644 ZR.Vue3/src/api/login.js create mode 100644 ZR.Vue3/src/api/monitor/cache.js create mode 100644 ZR.Vue3/src/api/monitor/job.js create mode 100644 ZR.Vue3/src/api/monitor/jobLog.js create mode 100644 ZR.Vue3/src/api/monitor/logininfor.js create mode 100644 ZR.Vue3/src/api/monitor/online.js create mode 100644 ZR.Vue3/src/api/monitor/operlog.js create mode 100644 ZR.Vue3/src/api/monitor/server.js create mode 100644 ZR.Vue3/src/api/system/article.js create mode 100644 ZR.Vue3/src/api/system/config.js create mode 100644 ZR.Vue3/src/api/system/dept.js create mode 100644 ZR.Vue3/src/api/system/dict/data.js create mode 100644 ZR.Vue3/src/api/system/dict/type.js create mode 100644 ZR.Vue3/src/api/system/login.js create mode 100644 ZR.Vue3/src/api/system/menu.js create mode 100644 ZR.Vue3/src/api/system/notice.js create mode 100644 ZR.Vue3/src/api/system/post.js create mode 100644 ZR.Vue3/src/api/system/role.js create mode 100644 ZR.Vue3/src/api/system/user.js create mode 100644 ZR.Vue3/src/api/system/userRoles.js create mode 100644 ZR.Vue3/src/api/tool/file.js create mode 100644 ZR.Vue3/src/api/tool/gen.js create mode 100644 ZR.Vue3/src/assets/401_images/401.gif create mode 100644 ZR.Vue3/src/assets/404_images/404.png create mode 100644 ZR.Vue3/src/assets/404_images/404_cloud.png create mode 100644 ZR.Vue3/src/assets/icons/svg/404.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/Steve-Jobs.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/alipay.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/anq.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/app.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/backup.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/bug.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/build.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/button.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/cascader.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/chain.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/chart.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/checkbox.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/clipboard.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/code.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/codeConsole.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/color.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/component.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/dashboard.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/database.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/date-range.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/date.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/deploy.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/dept.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/develop.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/dict.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/dictionary.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/doc.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/documentation.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/download.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/drag.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/druid.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/edit.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/education.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/email.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/error.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/example.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/excel.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/exit-fullscreen.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/eye-open.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/eye.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/form.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/fullscreen.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/fwb.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/github.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/gonggao.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/guide.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/icon.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/icon1.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/image.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/index.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/input.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/international.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/ipvisits.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/java.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/job.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/language.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/link.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/list.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/lock.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/log.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/login.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/logininfor.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/markdown.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/menu.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/message.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/mnt.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/money.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/monitor.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/nested.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/number.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/online.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/password.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/pdf.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/people.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/peoples.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/permission.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/phone.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/post.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/qiniu.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/qq.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/question.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/radio.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/rate.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/redis.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/role.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/row.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/search.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/select.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/server.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/shopping.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/size.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/skill.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/slider.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/source.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/sqlMonitor.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/star.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/swagger.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/switch.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/sys-tools.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/system.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/system1.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/tab.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/table.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/textarea.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/theme.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/time-range.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/time.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/tool.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/tools.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/tree-table.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/tree.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/unlock.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/upload.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/user.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/validCode.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/visits.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/web.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/wechat.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/weixin.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/zip.svg create mode 100644 ZR.Vue3/src/assets/icons/svg/zujian.svg create mode 100644 ZR.Vue3/src/assets/images/dark.svg create mode 100644 ZR.Vue3/src/assets/images/light.svg create mode 100644 ZR.Vue3/src/assets/images/login-background.jpg create mode 100644 ZR.Vue3/src/assets/images/profile.jpg create mode 100644 ZR.Vue3/src/assets/images/reward.jpg create mode 100644 ZR.Vue3/src/assets/logo/logo.png create mode 100644 ZR.Vue3/src/assets/styles/btn.scss create mode 100644 ZR.Vue3/src/assets/styles/element-ui.scss create mode 100644 ZR.Vue3/src/assets/styles/index.scss create mode 100644 ZR.Vue3/src/assets/styles/mixin.scss create mode 100644 ZR.Vue3/src/assets/styles/sidebar.scss create mode 100644 ZR.Vue3/src/assets/styles/transition.scss create mode 100644 ZR.Vue3/src/assets/styles/variables.module.scss create mode 100644 ZR.Vue3/src/components/Breadcrumb/index.vue create mode 100644 ZR.Vue3/src/components/DictTag/index.vue create mode 100644 ZR.Vue3/src/components/Editor/index.vue create mode 100644 ZR.Vue3/src/components/FileUpload/index.vue create mode 100644 ZR.Vue3/src/components/Hamburger/index.vue create mode 100644 ZR.Vue3/src/components/HeaderSearch/index.vue create mode 100644 ZR.Vue3/src/components/IconSelect/index.vue create mode 100644 ZR.Vue3/src/components/IconSelect/requireIcons.js create mode 100644 ZR.Vue3/src/components/ImagePreview/index.vue create mode 100644 ZR.Vue3/src/components/ImageUpload/index.vue create mode 100644 ZR.Vue3/src/components/Pagination/index.vue create mode 100644 ZR.Vue3/src/components/ParentView/index.vue create mode 100644 ZR.Vue3/src/components/RightToolbar/index.vue create mode 100644 ZR.Vue3/src/components/Screenfull/index.vue create mode 100644 ZR.Vue3/src/components/SizeSelect/index.vue create mode 100644 ZR.Vue3/src/components/SvgIcon/index.vue create mode 100644 ZR.Vue3/src/components/SvgIcon/svgicon.js create mode 100644 ZR.Vue3/src/components/TopNav/index.vue create mode 100644 ZR.Vue3/src/components/TreeSelect/index.vue create mode 100644 ZR.Vue3/src/components/Zr/Doc/index.vue create mode 100644 ZR.Vue3/src/components/Zr/Git/index.vue create mode 100644 ZR.Vue3/src/components/iFrame/index.vue create mode 100644 ZR.Vue3/src/directive/index.js create mode 100644 ZR.Vue3/src/directive/module/clipboard.js create mode 100644 ZR.Vue3/src/directive/permission/hasPermi.js create mode 100644 ZR.Vue3/src/directive/permission/hasRole.js create mode 100644 ZR.Vue3/src/layout/components/AppMain.vue create mode 100644 ZR.Vue3/src/layout/components/InnerLink/index.vue create mode 100644 ZR.Vue3/src/layout/components/Navbar.vue create mode 100644 ZR.Vue3/src/layout/components/Settings/index.vue create mode 100644 ZR.Vue3/src/layout/components/Sidebar/Link.vue create mode 100644 ZR.Vue3/src/layout/components/Sidebar/Logo.vue create mode 100644 ZR.Vue3/src/layout/components/Sidebar/SidebarItem.vue create mode 100644 ZR.Vue3/src/layout/components/Sidebar/index.vue create mode 100644 ZR.Vue3/src/layout/components/TagsView/ScrollPane.vue create mode 100644 ZR.Vue3/src/layout/components/TagsView/index.vue create mode 100644 ZR.Vue3/src/layout/components/index.js create mode 100644 ZR.Vue3/src/layout/index.vue create mode 100644 ZR.Vue3/src/main.js create mode 100644 ZR.Vue3/src/permission.js create mode 100644 ZR.Vue3/src/plugins/auth.js create mode 100644 ZR.Vue3/src/plugins/cache.js create mode 100644 ZR.Vue3/src/plugins/download.js create mode 100644 ZR.Vue3/src/plugins/index.js create mode 100644 ZR.Vue3/src/plugins/modal.js create mode 100644 ZR.Vue3/src/plugins/tab.js create mode 100644 ZR.Vue3/src/router/index.js create mode 100644 ZR.Vue3/src/settings.js create mode 100644 ZR.Vue3/src/store/getters.js create mode 100644 ZR.Vue3/src/store/index.js create mode 100644 ZR.Vue3/src/store/modules/app.js create mode 100644 ZR.Vue3/src/store/modules/permission.js create mode 100644 ZR.Vue3/src/store/modules/settings.js create mode 100644 ZR.Vue3/src/store/modules/tagsView.js create mode 100644 ZR.Vue3/src/store/modules/user.js create mode 100644 ZR.Vue3/src/utils/auth.js create mode 100644 ZR.Vue3/src/utils/dynamicTitle.js create mode 100644 ZR.Vue3/src/utils/errorCode.js create mode 100644 ZR.Vue3/src/utils/index.js create mode 100644 ZR.Vue3/src/utils/jsencrypt.js create mode 100644 ZR.Vue3/src/utils/permission.js create mode 100644 ZR.Vue3/src/utils/request.js create mode 100644 ZR.Vue3/src/utils/ruoyi.js create mode 100644 ZR.Vue3/src/utils/scroll-to.js create mode 100644 ZR.Vue3/src/utils/validate.js create mode 100644 ZR.Vue3/src/views/components/dictData.vue create mode 100644 ZR.Vue3/src/views/error/401.vue create mode 100644 ZR.Vue3/src/views/error/404.vue create mode 100644 ZR.Vue3/src/views/index.vue create mode 100644 ZR.Vue3/src/views/index_v1.vue create mode 100644 ZR.Vue3/src/views/login.vue create mode 100644 ZR.Vue3/src/views/monitor/logininfor/index.vue create mode 100644 ZR.Vue3/src/views/monitor/operlog/index.vue create mode 100644 ZR.Vue3/src/views/redirect/index.vue create mode 100644 ZR.Vue3/src/views/system/config/index.vue create mode 100644 ZR.Vue3/src/views/system/dept/index.vue create mode 100644 ZR.Vue3/src/views/system/dict/index.vue create mode 100644 ZR.Vue3/src/views/system/menu/index.vue create mode 100644 ZR.Vue3/src/views/system/notice/index.vue create mode 100644 ZR.Vue3/src/views/system/post/index.vue create mode 100644 ZR.Vue3/src/views/system/role/index.vue create mode 100644 ZR.Vue3/src/views/system/roleusers/index.vue create mode 100644 ZR.Vue3/src/views/system/user/index.vue create mode 100644 ZR.Vue3/src/views/system/user/profile/index.vue create mode 100644 ZR.Vue3/src/views/system/user/profile/resetPwd.vue create mode 100644 ZR.Vue3/src/views/system/user/profile/userAvatar.vue create mode 100644 ZR.Vue3/src/views/system/user/profile/userInfo.vue create mode 100644 ZR.Vue3/src/views/tool/file/index.vue create mode 100644 ZR.Vue3/src/views/tool/swagger/index.vue create mode 100644 ZR.Vue3/vite.config.js create mode 100644 ZR.Vue3/vite/plugins/auto-import.js create mode 100644 ZR.Vue3/vite/plugins/compression.js create mode 100644 ZR.Vue3/vite/plugins/index.js create mode 100644 ZR.Vue3/vite/plugins/setup-extend.js create mode 100644 ZR.Vue3/vite/plugins/svg-icon.js diff --git a/ZR.Vue3/.editorconfig b/ZR.Vue3/.editorconfig new file mode 100644 index 0000000..7034f9b --- /dev/null +++ b/ZR.Vue3/.editorconfig @@ -0,0 +1,22 @@ +# 告诉EditorConfig插件,这是根文件,不用继续往上查找 +root = true + +# 匹配全部文件 +[*] +# 设置字符集 +charset = utf-8 +# 缩进风格,可选space、tab +indent_style = space +# 缩进的空格数 +indent_size = 2 +# 结尾换行符,可选lf、cr、crlf +end_of_line = lf +# 在文件结尾插入新行 +insert_final_newline = true +# 删除一行中的前后空格 +trim_trailing_whitespace = true + +# 匹配md结尾的文件 +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/ZR.Vue3/.env.development b/ZR.Vue3/.env.development new file mode 100644 index 0000000..68ab4bc --- /dev/null +++ b/ZR.Vue3/.env.development @@ -0,0 +1,14 @@ +# 开发环境配置 +ENV = 'development' + +# 页面标题 +VITE_APP_TITLE = 'ZRAdmin.NET后台管理' + +# 开发环境 +VITE_APP_BASE_API = '/dev-api' + +# 路由前缀 +VITE_APP_ROUTER_PREFIX = '/' + +# 默认上传地址 +VITE_APP_UPLOAD_URL = '/Common/UploadFile' \ No newline at end of file diff --git a/ZR.Vue3/.env.production b/ZR.Vue3/.env.production new file mode 100644 index 0000000..4e0e082 --- /dev/null +++ b/ZR.Vue3/.env.production @@ -0,0 +1,14 @@ +# 生产环境配置 +ENV = 'production' + +# 页面标题 +VITE_APP_TITLE = 'ZRAdmin.NET后台管理' + +# 生产环境 +VITE_APP_BASE_API = '/prod-api' + +# 路由前缀 +VITE_APP_ROUTER_PREFIX = '/' + +# 默认上传地址 +VITE_APP_UPLOAD_URL = '/Common/UploadFile' diff --git a/ZR.Vue3/.env.staging b/ZR.Vue3/.env.staging new file mode 100644 index 0000000..29d4dc2 --- /dev/null +++ b/ZR.Vue3/.env.staging @@ -0,0 +1,17 @@ +# 测试环境配置 +ENV = 'staging' + +# 页面标题 +VITE_APP_TITLE = 'ZRAdmin.NET后台管理' + +# 测试环境 +VITE_APP_BASE_API = '/stage-api' + +# 路由前缀 +VITE_APP_ROUTER_PREFIX = '/' + +# 默认上传地址 +VITE_APP_UPLOAD_URL = '/Common/UploadFile' + +# 是否在打包时开启压缩,支持 gzip 和 brotli +VITE_BUILD_COMPRESS = gzip \ No newline at end of file diff --git a/ZR.Vue3/.gitignore b/ZR.Vue3/.gitignore new file mode 100644 index 0000000..78a752d --- /dev/null +++ b/ZR.Vue3/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock diff --git a/ZR.Vue3/.jsbeautifyrc b/ZR.Vue3/.jsbeautifyrc new file mode 100644 index 0000000..d79fae6 --- /dev/null +++ b/ZR.Vue3/.jsbeautifyrc @@ -0,0 +1,12 @@ +{ + "brace_style": "none,preserve-inline", + "indent_size": 2, + "indent_char": " ", + "jslint_happy": true, + "unformatted": [ + "" + ], + "css": { + "indent_size": 2 + } +} \ No newline at end of file diff --git a/ZR.Vue3/.prettierrc b/ZR.Vue3/.prettierrc new file mode 100644 index 0000000..c3481a7 --- /dev/null +++ b/ZR.Vue3/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "semi": false +} \ No newline at end of file diff --git a/ZR.Vue3/LICENSE b/ZR.Vue3/LICENSE new file mode 100644 index 0000000..c9d9dc2 --- /dev/null +++ b/ZR.Vue3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 791736813@qq.com zr + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ZR.Vue3/README.md b/ZR.Vue3/README.md new file mode 100644 index 0000000..3cce63f --- /dev/null +++ b/ZR.Vue3/README.md @@ -0,0 +1,89 @@ +
+
+## 源码地址
+- [Gitee](https://gitee.com/izory/ZrAdminNetCore/)
+- [Github](https://github.com/izhaorui/ZrAdmin.NET/)
\ No newline at end of file
diff --git a/ZR.Vue3/bat/build.bat b/ZR.Vue3/bat/build.bat
new file mode 100644
index 0000000..ecbb454
--- /dev/null
+++ b/ZR.Vue3/bat/build.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] Weḅdistļ
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+yarn build:prod
+
+pause
\ No newline at end of file
diff --git a/ZR.Vue3/bat/package.bat b/ZR.Vue3/bat/package.bat
new file mode 100644
index 0000000..965883a
--- /dev/null
+++ b/ZR.Vue3/bat/package.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] װWeḅnode_modulesļ
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+yarn --registry=https://registry.npm.taobao.org
+
+pause
\ No newline at end of file
diff --git a/ZR.Vue3/bat/run-web.bat b/ZR.Vue3/bat/run-web.bat
new file mode 100644
index 0000000..d2fe397
--- /dev/null
+++ b/ZR.Vue3/bat/run-web.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] ʹ Vite Web ̡
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+yarn dev
+
+pause
\ No newline at end of file
diff --git a/ZR.Vue3/html/ie.html b/ZR.Vue3/html/ie.html
new file mode 100644
index 0000000..052ffcd
--- /dev/null
+++ b/ZR.Vue3/html/ie.html
@@ -0,0 +1,46 @@
+
+
+
+
+
+ 您正在使用 Internet Explorer 的早期版本(IE11以下版本或使用该内核的浏览器)。这意味着在升级浏览器前,您将无法访问此网站。
+自 2016 年 1 月 12 日起,Microsoft 不再为 IE 11 以下版本提供相应支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅 微软对 Internet Explorer 早期版本的支持将于 2016 年 1 月 12 日结束的说明 。
+推荐使用以下浏览器的最新版本。如果您的电脑已有以下浏览器的最新版本则直接使用该浏览器访问即可。
+ +~E&;2%VL9kmUa)4k8YU#^=tbO7I*Yv!ql|6YPRozl)v
zg-=g^FV-umda+yte&H9a7s=Ql)&$$|@C30L>-Ve!v>x#rtVt _bjC<1|h{OC4ctEDL
zd;C4xRRbB@`|}&{)-GEgbooj3)-fTE0aU{sB@5$EFHtjC(<5xetF&*)v&r1y;=_LN
zC3CBZF%TgVmz
7l&E*LGzvIkuB}#nV(m&|F7BxKtMZi^Xlb+aWHCDNQ
z&^YWq$JT1R76aa@1D
o$
z@CzRgdKL-M$$K+%g8#cht`(QdgjPy74oG;_tn)EieOO^(%N7F=S27#Z^E2BLV}rhy
zVw}luf$$8QX(+GBJo{o1>Zr_05S;^NufPL6#K_a$#^6cO1(Irz_1&hA#e*xeFc6&e
z-4qs3oOmopVKoTmuFL`JSE%Ec>4I?~L9uu+G8&o(Iq17nmZ3ry$#)Vl=+JjJ4X1ui
zl0To|hm6D$yw+c&ckt++B6h@ZmH=DF;@}jyMer{n5E&6H9WV0e7EUwl@QCesg6Y;_Q3xFO6I(@t^HK>4uZrZ-1v=
zfZyG|e@Lbr^Obf8&@1RDPWm_o$JWPidyw~5Zw#}ZIoYQTKI*~V2nYLoYU0TO(e^_!
zhm$wVna*m5e^C
1M2R{PdYEQ=(S1{QJJREf%tlI-R8pkN8;~>*YGVuPs#b@rr~8BBb8&g8Gqq
z5
(d^
z!uh-f(Cyy_R|(Dwf#j6RIN{$
CPKT2lYRs*!$%32f5~tZAUb8dXbxf5
ze#e*GGv{3v%f5OA!c&JLe}$QbKmesQ_wU+EhPS{!{!@E%l=0zg*`(Ef@rd)thZ2e0
zrtMeiS&;BJ^*`ZkwsAB@(h$JUqlLG?qG{omyFl(+e-3$lG;wtZ08;yp1?GB5_u#QV
zISg-stzOdj8u$mqrKBo(`B(yhRDo&v1$