From 1f6bda36a7f7f33e08f451418efbff482f91fad4 Mon Sep 17 00:00:00 2001 From: Evan Fong Date: Wed, 29 Mar 2023 11:09:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=B8=8E=E4=B8=BB=E5=88=86=E6=94=AF=E4=BF=9D=E6=8C=81=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc-auto-import.json | 75 ++++ .eslintrc.js | 1 + package.json | 20 +- postcss.config.js | 43 +++ src/App.vue | 20 +- src/assets/app.css | 11 + src/assets/button/en-us/confirm.png | Bin 0 -> 6731 bytes src/assets/button/zh-cn/confirm.png | Bin 0 -> 6539 bytes src/assets/font/demo.css | 536 ++++++++++++++++++++++++++++ src/assets/font/iconfont.css | 37 ++ src/assets/font/iconfont.json | 51 +++ src/assets/font/iconfont.ttf | Bin 0 -> 3012 bytes src/assets/font/iconfont.woff | Bin 0 -> 1992 bytes src/assets/font/iconfont.woff2 | Bin 0 -> 1548 bytes src/lang/index.js | 26 ++ src/lang/module/en-us.js | 21 ++ src/lang/module/zh-cn.js | 21 ++ src/layout/basic/index.vue | 104 ++++++ src/main.js | 11 +- src/router/index.js | 27 +- src/router/routes.js | 61 ++++ src/store/index.js | 14 +- src/styles/index.scss | 3 + src/styles/mixin.scss | 23 ++ src/views/AboutView.vue | 5 - src/views/HomeView.vue | 18 - src/views/demo/index.vue | 75 ++++ src/views/home/index.vue | 111 ++++++ src/views/list/data.js | 71 ++++ src/views/list/details/index.vue | 57 +++ src/views/list/index.vue | 35 ++ src/views/login/index.vue | 7 + src/views/member/index.vue | 65 ++++ vue.config.js | 39 +- yarn.lock | 382 +++++++++++++------- 35 files changed, 1763 insertions(+), 207 deletions(-) create mode 100644 .eslintrc-auto-import.json create mode 100644 postcss.config.js create mode 100644 src/assets/app.css create mode 100644 src/assets/button/en-us/confirm.png create mode 100644 src/assets/button/zh-cn/confirm.png create mode 100644 src/assets/font/demo.css create mode 100644 src/assets/font/iconfont.css create mode 100644 src/assets/font/iconfont.json create mode 100644 src/assets/font/iconfont.ttf create mode 100644 src/assets/font/iconfont.woff create mode 100644 src/assets/font/iconfont.woff2 create mode 100644 src/lang/index.js create mode 100644 src/lang/module/en-us.js create mode 100644 src/lang/module/zh-cn.js create mode 100644 src/layout/basic/index.vue create mode 100644 src/router/routes.js create mode 100644 src/styles/index.scss create mode 100644 src/styles/mixin.scss delete mode 100644 src/views/AboutView.vue delete mode 100644 src/views/HomeView.vue create mode 100644 src/views/demo/index.vue create mode 100644 src/views/home/index.vue create mode 100644 src/views/list/data.js create mode 100644 src/views/list/details/index.vue create mode 100644 src/views/list/index.vue create mode 100644 src/views/login/index.vue create mode 100644 src/views/member/index.vue diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json new file mode 100644 index 0000000..ba2a093 --- /dev/null +++ b/.eslintrc-auto-import.json @@ -0,0 +1,75 @@ +{ + "globals": { + "Component": true, + "ComponentPublicInstance": true, + "ComputedRef": true, + "EffectScope": true, + "InjectionKey": true, + "PropType": true, + "Ref": true, + "VNode": true, + "computed": true, + "createApp": true, + "createLogger": true, + "createNamespacedHelpers": true, + "createStore": true, + "customRef": true, + "defineAsyncComponent": true, + "defineComponent": true, + "effectScope": true, + "getCurrentInstance": true, + "getCurrentScope": true, + "h": true, + "inject": true, + "isProxy": true, + "isReactive": true, + "isReadonly": true, + "isRef": true, + "mapActions": true, + "mapGetters": true, + "mapMutations": true, + "mapState": true, + "markRaw": true, + "nextTick": true, + "onActivated": true, + "onBeforeMount": true, + "onBeforeRouteLeave": true, + "onBeforeRouteUpdate": true, + "onBeforeUnmount": true, + "onBeforeUpdate": true, + "onDeactivated": true, + "onErrorCaptured": true, + "onMounted": true, + "onRenderTracked": true, + "onRenderTriggered": true, + "onScopeDispose": true, + "onServerPrefetch": true, + "onUnmounted": true, + "onUpdated": true, + "provide": true, + "reactive": true, + "readonly": true, + "ref": true, + "resolveComponent": true, + "shallowReactive": true, + "shallowReadonly": true, + "shallowRef": true, + "toRaw": true, + "toRef": true, + "toRefs": true, + "triggerRef": true, + "unref": true, + "useAttrs": true, + "useCssModule": true, + "useCssVars": true, + "useLink": true, + "useRoute": true, + "useRouter": true, + "useSlots": true, + "useStore": true, + "watch": true, + "watchEffect": true, + "watchPostEffect": true, + "watchSyncEffect": true + } +} \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index d9414c1..695e385 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,5 +14,6 @@ module.exports = { rules: { "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", + "vue/multi-word-component-names": false, }, }; diff --git a/package.json b/package.json index 3129f2a..877d3f6 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,19 @@ "deps": "yarn upgrade-interactive --latest" }, "dependencies": { - "@nutui/nutui": "^4.0.0", - "@varlet/ui": "^2.7.3", - "axios": "^1.3.1", + "@nutui/nutui": "^4.0.1", + "@varlet/ui": "^2.7.5", + "axios": "^1.3.2", "core-js": "^3.27.2", + "dayjs": "^1.11.7", "mitt": "^3.0.0", "pinia": "^2.0.30", + "pinia-plugin-persistedstate": "^3.0.2", + "unplugin-auto-import": "^0.14.2", "unplugin-vue-components": "^0.23.0", "vant": "^4.0.10", "vue": "^3.2.47", + "vue-i18n": "^9.2.2", "vue-router": "^4.1.6" }, "devDependencies": { @@ -28,12 +32,14 @@ "@vue/cli-plugin-router": "~5.0.8", "@vue/cli-plugin-vuex": "~5.0.8", "@vue/cli-service": "~5.0.8", - "eslint": "^8.33.0", + "autoprefixer": "^10.4.13", + "cnjm-postcss-px-to-viewport": "^1.0.0", + "eslint": "^8.34.0", "eslint-config-prettier": "^8.6.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-vue": "^9.9.0", - "less": "^4.0.0", - "less-loader": "^11.1.0", - "prettier": "^2.8.3" + "prettier": "^2.8.4", + "sass": "^1.58.0", + "sass-loader": "^13.2.0" } } diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..21d5432 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,43 @@ +const path = require("path"); + +const judgeComponent = (file) => { + const ignore = ["vant", "@nutui", "@varlet"]; + return ignore.some((item) => + path.join(file).includes(path.join("node_modules", item)) + ); +}; + +module.exports = { + plugins: { + autoprefixer: { + overrideBrowserslist: [ + "Android 4.1", + "iOS 7.1", + "Chrome > 31", + "ff > 31", + "ie >= 8", + ], + }, + "cnjm-postcss-px-to-viewport": { + unitToConvert: "px", // 要转化的单位 + viewportWidth: 750, // UI设计稿的宽度 + unitPrecision: 6, // 转换后的精度,即小数点位数 + propList: ["*"], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换 + viewportUnit: "vw", // 指定需要转换成的视窗单位,默认vw + fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位,默认vw + minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换 + mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false + replace: true, // 是否转换后直接更换属性值 + landscape: false, //是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape) + landscapeUnit: "rem", //横屏时使用的单位 + landscapeWidth: 1134, //横屏时使用的视口宽度 + include: [], + exclude: [], // 设置忽略文件,用正则做目录名匹配 + customFun: ({ file }) => { + // 这个自定义的方法是针对处理vant组件下的设计稿为375问题 + const designWidth = judgeComponent(file) ? 375 : 750; + return designWidth; + }, + }, + }, +}; diff --git a/src/App.vue b/src/App.vue index fb5128d..62a7d11 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,30 +1,12 @@ - diff --git a/src/assets/app.css b/src/assets/app.css new file mode 100644 index 0000000..6d1170e --- /dev/null +++ b/src/assets/app.css @@ -0,0 +1,11 @@ +html, +body, +h1, +h2, +h3, +h4, +h5, +h6, +p { + margin: 0; +} diff --git a/src/assets/button/en-us/confirm.png b/src/assets/button/en-us/confirm.png new file mode 100644 index 0000000000000000000000000000000000000000..f85b43f007568175fac4d2ca40d736d31241d9da GIT binary patch literal 6731 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 literal 0 HcmV?d00001 diff --git a/src/assets/button/zh-cn/confirm.png b/src/assets/button/zh-cn/confirm.png new file mode 100644 index 0000000000000000000000000000000000000000..bf68d0bd299c5d431cae4a3ef8d9f8de2d1021c7 GIT binary patch literal 6539 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 R@ZT2|q4ZKs9w%!Y^ndgP1aJTV literal 0 HcmV?d00001 diff --git a/src/assets/font/demo.css b/src/assets/font/demo.css new file mode 100644 index 0000000..a42a51f --- /dev/null +++ b/src/assets/font/demo.css @@ -0,0 +1,536 @@ +/* Logo 字体 */ +@font-face { + font-family: 'iconfont logo'; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: 'iconfont logo'; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown > p, +.markdown > blockquote, +.markdown > .highlight, +.markdown > ol, +.markdown > ul { + width: 80%; +} + +.markdown ul > li { + list-style: circle; +} + +.markdown > ul li, +.markdown blockquote ul > li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown > ul li p, +.markdown > ol li p { + margin: 0.6em 0; +} + +.markdown ol > li { + list-style: decimal; +} + +.markdown > ol li, +.markdown blockquote ol > li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown > table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown > table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown > table th, +.markdown > table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown > table th { + background: #f7f7f7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown > br, +.markdown > p > br { + clear: both; +} + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*='language-'], +pre[class*='language-'] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*='language-']::-moz-selection, +pre[class*='language-'] ::-moz-selection, +code[class*='language-']::-moz-selection, +code[class*='language-'] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*='language-']::selection, +pre[class*='language-'] ::selection, +code[class*='language-']::selection, +code[class*='language-'] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*='language-'] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} + +:not(pre) > code[class*='language-'], +pre[class*='language-'] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*='language-'] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: 0.7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #dd4a68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/assets/font/iconfont.css b/src/assets/font/iconfont.css new file mode 100644 index 0000000..8841fe0 --- /dev/null +++ b/src/assets/font/iconfont.css @@ -0,0 +1,37 @@ +@font-face { + font-family: 'iconfont'; /* Project id 3210904 */ + src: url('iconfont.woff2?t=1646452970429') format('woff2'), url('iconfont.woff?t=1646452970429') format('woff'), + url('iconfont.ttf?t=1646452970429') format('truetype'); +} + +.iconfont { + font-family: 'iconfont' !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-custom-ok:before { + content: '\e631'; +} + +.icon-github-fill:before { + content: '\e885'; +} + +.icon-l-search:before { + content: '\e79e'; +} + +.icon-home:before { + content: '\e603'; +} + +.icon-member:before { + content: '\e602'; +} + +.icon-list:before { + content: '\e601'; +} diff --git a/src/assets/font/iconfont.json b/src/assets/font/iconfont.json new file mode 100644 index 0000000..cc82d84 --- /dev/null +++ b/src/assets/font/iconfont.json @@ -0,0 +1,51 @@ +{ + "id": "3210904", + "name": "fast-vue3", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "517495", + "name": "ok", + "font_class": "custom-ok", + "unicode": "e631", + "unicode_decimal": 58929 + }, + { + "icon_id": "4937000", + "name": "github-fill", + "font_class": "github-fill", + "unicode": "e885", + "unicode_decimal": 59525 + }, + { + "icon_id": "12932129", + "name": "l-search", + "font_class": "l-search", + "unicode": "e79e", + "unicode_decimal": 59294 + }, + { + "icon_id": "109751", + "name": "home", + "font_class": "home", + "unicode": "e603", + "unicode_decimal": 58883 + }, + { + "icon_id": "663138", + "name": "member", + "font_class": "member", + "unicode": "e602", + "unicode_decimal": 58882 + }, + { + "icon_id": "21513638", + "name": "list", + "font_class": "list", + "unicode": "e601", + "unicode_decimal": 58881 + } + ] +} diff --git a/src/assets/font/iconfont.ttf b/src/assets/font/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..afb771611fa9585b3884e57f0f14f49ad7277b40 GIT binary patch literal 3012 zcmd^B&2JmW6@PDMIm<6oB2DgEGELKzP0DddiQj@P(TYB7*K!bBQEWF>Akp+vl*$i* zq>b1p6a}r(q$$$+k|1dj#Aq))6i9$x0wh3k3Xr5h5uiv9MdB0fqCFK!(}PX*&F(U; z73VMLP&4y;Z{BffLeiAL#)$inak@Nv3EuDEo$E$Efc*_N zNlf^7e@Nni51*nY;$2YwA09z)M1_E?KkdR7dAS0 zACrU_NOB(I2Nb7`bdl^(K2b#d|32JC0?u1$pp0}V(_)IA=uno#6qV^vWyBN(>?F-8 zs&e}cbBfB{xo*yHd$6iBuOubbLw)SF5d-lI7<1CC>~U}Ukjn8rt$^M=Q6Pb z#-c0|i^igvd@i3$X{x6B6|V4|(TIX{?7_WA(wNIgP+3}hIW{~TdwFr`&-Y>Fx%ygR zaR%%zhxQ z`O-hm_;($Opk3mw(UEl7=SPV-&;L9+JaMF4VVQ|>y>fN=+`>kPaoIJ`JuYpBW@jFs zB6FL2&%r^NDf)x00$yQMKeZqQ%0rzM%7tF6qOD5a^sba zlhMdCxv_L`cQTfYEIhq1G#X3p4yMO)&wQLXb2Jh;dS+2jAi9*9+clwXHJ}x8zeFzWk>G;t&{gq8__jQXL93aNGlzAw+%?DqI zjx)wiT1_mz$U7}8(G6g?g&FZ97M2M=VqqKQGG$>-{0R#?;SkJP*hLnNuc$0;6H)jH zbrBLq=!f51SfX#_I~Hcd|IorR;m<8>0~Kytm=ph=g`IE~cUag3Q7lb2^Md^=50eQ4c2*qdnGfy{e&=+%_F0l{LW|^t%`hY(L07WvQpZWEZb)wTrUh5%X({rtO&*15Hpx+US+5 z&@InVy4-3vYVpR8Tq~>X%H@mk@@lneuf|(?v019fl}1hHHNAFGZ_3rxR-0`87bWE7 A-v9sr literal 0 HcmV?d00001 diff --git a/src/assets/font/iconfont.woff b/src/assets/font/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..419467f81e9946979cf228528b6ea0551013ace3 GIT binary patch literal 1992 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 literal 0 HcmV?d00001 diff --git a/src/lang/index.js b/src/lang/index.js new file mode 100644 index 0000000..0bef995 --- /dev/null +++ b/src/lang/index.js @@ -0,0 +1,26 @@ +import { createI18n } from "vue-i18n"; + +export function loadLang() { + let modules = require.context("./module", true, /\.js$/); + const langs = {}; + modules.keys().forEach((key) => { + const filename = key.replace(/(\.\/|\.js)/g, ""); + langs[filename] = modules(key)["default"]; + }); + return langs; +} + +export const i18n = createI18n({ + // globalInjection: true, + locale: "zh-cn", + legacy: false, + fallbackLocale: "zh-cn", + messages: loadLang(), +}); + +export function setLang(locale) { + if (locale) { + localStorage.setItem("lang", locale); + } + i18n.global.locale.value = locale || localStorage.getItem("lang") || ""; +} diff --git a/src/lang/module/en-us.js b/src/lang/module/en-us.js new file mode 100644 index 0000000..bd9f8ed --- /dev/null +++ b/src/lang/module/en-us.js @@ -0,0 +1,21 @@ +export default { + title: "VUE H5 development template", + tabbar: { + home: "Home", + list: "List", + member: "Member", + demo: "demo", + }, + language: { + en: "English", + zh: "Chinese", + }, + introduction: "A rapid development vue3 of mobile terminal template", + home: { + support: "support", + cssMultiLanguage: "CSS picture multi-language", + }, + list: { + details: "list details", + }, +}; diff --git a/src/lang/module/zh-cn.js b/src/lang/module/zh-cn.js new file mode 100644 index 0000000..9cc3e94 --- /dev/null +++ b/src/lang/module/zh-cn.js @@ -0,0 +1,21 @@ +export default { + title: "VUE H5开发模板", + tabbar: { + home: "首页", + list: "列表", + member: "我的", + demo: "示例", + }, + language: { + en: "英文", + zh: "中文", + }, + introduction: "一个快速开发vue3的移动端模板", + home: { + support: "支持", + cssMultiLanguage: "css图片多语言", + }, + list: { + details: "列表详情", + }, +}; diff --git a/src/layout/basic/index.vue b/src/layout/basic/index.vue new file mode 100644 index 0000000..803c1f4 --- /dev/null +++ b/src/layout/basic/index.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/main.js b/src/main.js index 89ba0ea..bcb3134 100644 --- a/src/main.js +++ b/src/main.js @@ -2,5 +2,14 @@ import { createApp } from "vue"; import App from "./App.vue"; import router from "./router"; import store from "./store"; +import { i18n } from "@/lang"; -createApp(App).use(store).use(router).mount("#app"); +const app = createApp(App); + +app.use(store); + +app.use(router); + +app.use(i18n); + +app.mount("#app"); diff --git a/src/router/index.js b/src/router/index.js index 76687a1..0a4dea6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,26 +1,13 @@ import { createRouter, createWebHistory } from "vue-router"; -import HomeView from "../views/HomeView.vue"; - -const routes = [ - { - path: "/", - name: "home", - component: HomeView, - }, - { - path: "/about", - name: "about", - // route level code-splitting - // this generates a separate chunk (about.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => - import(/* webpackChunkName: "about" */ "../views/AboutView.vue"), - }, -]; +import routes from "./routes"; const router = createRouter({ - history: createWebHistory(process.env.BASE_URL), - routes, + history: createWebHistory("/"), + routes: routes, +}); + +router.beforeEach(async (_to, _from, next) => { + next(); }); export default router; diff --git a/src/router/routes.js b/src/router/routes.js new file mode 100644 index 0000000..1975363 --- /dev/null +++ b/src/router/routes.js @@ -0,0 +1,61 @@ +export const routes = [ + { + path: "/", + redirect: "/home", + component: () => import("@/layout/basic/index.vue"), + children: [ + { + path: "home", + component: () => import("@/views/home/index.vue"), + meta: { + title: "tabbar.home", + keepAlive: true, + }, + }, + { + path: "list", + component: () => import("@/views/list/index.vue"), + meta: { + title: "tabbar.list", + keepAlive: true, + }, + }, + { + path: "member", + component: () => import("@/views/member/index.vue"), + meta: { + title: "tabbar.member", + keepAlive: true, + }, + }, + { + path: "demo", + component: () => import("@/views/demo/index.vue"), + meta: { + title: "tabbar.demo", + keepAlive: true, + }, + }, + // { + // name: "listDetails", + // path: "/details", + // component: () => import("/@/views/list/details/index.vue"), + // meta: { + // title: "list.details", + // border: false, + // }, + // }, + ], + }, + { + name: "login", + path: "/login", + component: () => import("@/views/login/index.vue"), + meta: { + title: "", + keepAlive: true, + }, + }, +]; + +export default routes; diff --git a/src/store/index.js b/src/store/index.js index 100073a..45aa0b0 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,9 +1,7 @@ -import { createStore } from "vuex"; +import { createPinia } from "pinia"; +import piniaPluginPersistedstate from "pinia-plugin-persistedstate"; -export default createStore({ - state: {}, - getters: {}, - mutations: {}, - actions: {}, - modules: {}, -}); +const store = createPinia(); +store.use(piniaPluginPersistedstate); + +export default store; diff --git a/src/styles/index.scss b/src/styles/index.scss new file mode 100644 index 0000000..5e56d45 --- /dev/null +++ b/src/styles/index.scss @@ -0,0 +1,3 @@ +.abc { + width: 10px; +} diff --git a/src/styles/mixin.scss b/src/styles/mixin.scss new file mode 100644 index 0000000..67e6cc9 --- /dev/null +++ b/src/styles/mixin.scss @@ -0,0 +1,23 @@ +@mixin main-lang-bg($width, $height, $preUrl, $posUrl) { + width: $width; + height: $height; + background-repeat: no-repeat; + background-size: 100% 100%; + @include loop-lang-bg($preUrl, $posUrl); +} +// 背景图多语言 +@mixin loop-lang-bg($preUrl, $posUrl) { + $list: zh-cn, en-us; + @each $i in $list { + &.#{$i} { + background-image: url('#{$preUrl}/#{$i}/#{$posUrl}'); + } + } +} + +@mixin center { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue deleted file mode 100644 index 3fa2807..0000000 --- a/src/views/AboutView.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue deleted file mode 100644 index 318e397..0000000 --- a/src/views/HomeView.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/src/views/demo/index.vue b/src/views/demo/index.vue new file mode 100644 index 0000000..dd6a639 --- /dev/null +++ b/src/views/demo/index.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/home/index.vue b/src/views/home/index.vue new file mode 100644 index 0000000..9102b0a --- /dev/null +++ b/src/views/home/index.vue @@ -0,0 +1,111 @@ + + + + diff --git a/src/views/list/data.js b/src/views/list/data.js new file mode 100644 index 0000000..e7ec3a2 --- /dev/null +++ b/src/views/list/data.js @@ -0,0 +1,71 @@ +export const listData = [ + { + imgUrl: + "//img10.360buyimg.com/n2/s240x240_jfs/t1/210890/22/4728/163829/6163a590Eb7c6f4b5/6390526d49791cb9.jpg!q70.jpg", + title: + "【活蟹】湖塘煙雨 阳澄湖大闸蟹公4.5两 母3.5两 4对8只 鲜活生鲜螃蟹现货水产礼盒海鲜水", + price: "388", + vipPrice: "378", + shopDesc: "自营", + delivery: "厂商配送", + shopName: "阳澄湖大闸蟹自营店>", + }, + { + imgUrl: + "//m.360buyimg.com/mobilecms/s240x240_jfs/t1/181328/3/31476/203233/63b66ef1F60f5f0f8/f4e8c4b6df4194d6.jpg!q70.dpg.webp", + title: + "【礼券】湖塘烟雨 海鲜卡券海产提货礼品卡春节年夜饭年货生鲜过年海鲜礼盒大礼包8888", + price: "598", + vipPrice: "378", + shopDesc: "自营", + delivery: "厂商配送", + shopName: "阳澄湖大闸蟹自营店>", + }, + { + imgUrl: + "//m.360buyimg.com/mobilecms/s240x240_jfs/t1/214199/39/25134/127357/63c2b3adFed9c98f4/54126e85c23d0893.jpg!q80.dpg", + title: + "苏泊尔(SUPOR) 电饭煲远红外加热IH本釜内胆 电饭锅4L智能预约家用煮饭锅一键柴火饭SF40HC81【送礼优选】", + price: "1759", + vipPrice: "1749", + shopDesc: "自营", + delivery: "厂商配送", + shopName: "苏泊尔官方自营店", + }, +]; + +export const detailsData = [ + { + imgUrl: + "//img10.360buyimg.com/n2/s400x400_jfs/t1/210890/22/4728/163829/6163a590Eb7c6f4b5/6390526d49791cb9.jpg!q70.jpg", + title: + "【活蟹】湖塘煙雨 阳澄湖大闸蟹公4.5两 母3.5两 4对8只 鲜活生鲜螃蟹现货水产礼盒海鲜水", + price: "388", + vipPrice: "378", + shopDesc: "自营", + delivery: "厂商配送", + shopName: "阳澄湖大闸蟹自营店>", + }, + { + imgUrl: + "//m.360buyimg.com/mobilecms/s400x400_jfs/t1/181328/3/31476/203233/63b66ef1F60f5f0f8/f4e8c4b6df4194d6.jpg!q70.dpg.webp", + title: + "【礼券】湖塘烟雨 海鲜卡券海产提货礼品卡春节年夜饭年货生鲜过年海鲜礼盒大礼包8888", + price: "598", + vipPrice: "378", + shopDesc: "自营", + delivery: "厂商配送", + shopName: "阳澄湖大闸蟹自营店>", + }, + { + imgUrl: + "//m.360buyimg.com/mobilecms/s400x400_jfs/t1/214199/39/25134/127357/63c2b3adFed9c98f4/54126e85c23d0893.jpg!q80.dpg", + title: + "苏泊尔(SUPOR) 电饭煲远红外加热IH本釜内胆 电饭锅4L智能预约家用煮饭锅一键柴火饭SF40HC81【送礼优选】", + price: "1759", + vipPrice: "1749", + shopDesc: "自营", + delivery: "厂商配送", + shopName: "苏泊尔官方自营店", + }, +]; diff --git a/src/views/list/details/index.vue b/src/views/list/details/index.vue new file mode 100644 index 0000000..cbd2338 --- /dev/null +++ b/src/views/list/details/index.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/views/list/index.vue b/src/views/list/index.vue new file mode 100644 index 0000000..f5fe7ad --- /dev/null +++ b/src/views/list/index.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 0000000..677f24b --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/src/views/member/index.vue b/src/views/member/index.vue new file mode 100644 index 0000000..dde0999 --- /dev/null +++ b/src/views/member/index.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/vue.config.js b/vue.config.js index 267291d..0ba4c81 100644 --- a/vue.config.js +++ b/vue.config.js @@ -4,14 +4,51 @@ const { VarletUIResolver, VantResolver, } = require("unplugin-vue-components/resolvers"); +const AutoImport = require("unplugin-auto-import/webpack"); +const path = require("path"); //试过用import直接报错了 + +const resolve = (dir) => path.join(__dirname, dir); + +const NutUIResolver = () => { + return (name) => { + if (name.startsWith("Nut")) { + const partialName = name.slice(3); + return { + name: partialName, + from: "@nutui/nutui", + sideEffects: `@nutui/nutui/dist/packages/${partialName.toLowerCase()}/style`, + }; + } + }; +}; module.exports = defineConfig({ transpileDependencies: true, configureWebpack: { plugins: [ Component({ - resolvers: [VarletUIResolver(), VantResolver()], + resolvers: [VarletUIResolver(), VantResolver(), NutUIResolver()], + }), + AutoImport({ + imports: ["vue", "vue-router", "vuex"], + eslintrc: { + enabled: false, // 默认false, true启用。生成一次就可以,避免每次工程启动都生成 + filepath: "./.eslintrc-auto-import.json", // 生成json文件,eslintrc中引入 + globalsPropValue: true, + }, }), ], + resolve: { + alias: { + "@": resolve("./src"), + }, + }, + }, + css: { + loaderOptions: { + scss: { + additionalData: `@import "@nutui/nutui/dist/styles/variables.scss";@import '@/styles/mixin.scss';`, + }, + }, }, }); diff --git a/yarn.lock b/yarn.lock index 98b3f9d..f4730e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1155,6 +1155,44 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@intlify/core-base@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.2.2.tgz#5353369b05cc9fe35cab95fe20afeb8a4481f939" + integrity sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA== + dependencies: + "@intlify/devtools-if" "9.2.2" + "@intlify/message-compiler" "9.2.2" + "@intlify/shared" "9.2.2" + "@intlify/vue-devtools" "9.2.2" + +"@intlify/devtools-if@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@intlify/devtools-if/-/devtools-if-9.2.2.tgz#b13d9ac4b4e2fe6d2e7daa556517a8061fe8bd39" + integrity sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg== + dependencies: + "@intlify/shared" "9.2.2" + +"@intlify/message-compiler@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.2.2.tgz#e42ab6939b8ae5b3d21faf6a44045667a18bba1c" + integrity sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA== + dependencies: + "@intlify/shared" "9.2.2" + source-map "0.6.1" + +"@intlify/shared@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.2.2.tgz#5011be9ca2b4ab86f8660739286e2707f9abb4a5" + integrity sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q== + +"@intlify/vue-devtools@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz#b95701556daf7ebb3a2d45aa3ae9e6415aed8317" + integrity sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg== + dependencies: + "@intlify/core-base" "9.2.2" + "@intlify/shared" "9.2.2" + "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" @@ -1243,17 +1281,17 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nutui/icons-vue@^0.0.24": - version "0.0.24" - resolved "https://registry.yarnpkg.com/@nutui/icons-vue/-/icons-vue-0.0.24.tgz#60e0e1f0c02422829bd91fbc8cd89d8e661d0373" - integrity sha512-ek7JK0IBwARxd7V399WW/Gb6qPi3vfo2+kgTcVZP/rGjK/CCcvsK8HfswJ73yWTEDT9wINlrOQLLyqaPD1l0YQ== +"@nutui/icons-vue@^0.0.25": + version "0.0.25" + resolved "https://registry.yarnpkg.com/@nutui/icons-vue/-/icons-vue-0.0.25.tgz#6e8042786cfbf4c5a41a4c15b30ec00e2b6a8ab1" + integrity sha512-rJ9ke347snjSklMpYkPx8ZizRAbI71XMoal0QMEIrrFN+P/2x++zPGfzLxaTz1ZG9R2VHIkoIC+M7ZzmSUcgug== -"@nutui/nutui@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@nutui/nutui/-/nutui-4.0.0.tgz#d63cf5d2415ce8a8857dab094eef492e30c5650a" - integrity sha512-GnDPA/q/N0NXYpknzhllLKXUElxavRTID81oMVRkAfYPanAKUXtCG1pt9uFex8cBcw8XHx08zsNlJXsuhr1QwQ== +"@nutui/nutui@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@nutui/nutui/-/nutui-4.0.1.tgz#e271f24b9454f3e7f58ca452aebf5fcdf899ec22" + integrity sha512-489GkeFaUvCvy4GcrqlKqE/zFFbnQCeRbAnqtQ3kQixNWwAqyxPJH2t8MXDsiu7In4jwe+hXI47UXo6uR6EJiw== dependencies: - "@nutui/icons-vue" "^0.0.24" + "@nutui/icons-vue" "^0.0.25" sass "^1.50.0" "@nuxt/kit@^3.1.1": @@ -1280,6 +1318,30 @@ unimport "^2.0.1" untyped "^1.2.2" +"@nuxt/kit@^3.1.2": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@nuxt/kit/-/kit-3.2.0.tgz#d770e7f087f43d0030f84259671b8f6a5ea0b59d" + integrity sha512-Otb1S/08tDxbpeQYLMynjr2TX7ssU1ynbWDpVzFzLBdfHkGWHXpIhJr+0u3LdnPUBw6C/xPXe7fd7RuXI9avoA== + dependencies: + "@nuxt/schema" "3.2.0" + c12 "^1.1.0" + consola "^2.15.3" + defu "^6.1.2" + globby "^13.1.3" + hash-sum "^2.0.0" + ignore "^5.2.4" + jiti "^1.17.0" + knitwork "^1.0.0" + lodash.template "^4.5.0" + mlly "^1.1.0" + pathe "^1.1.0" + pkg-types "^1.0.1" + scule "^1.0.0" + semver "^7.3.8" + unctx "^2.1.1" + unimport "^2.2.4" + untyped "^1.2.2" + "@nuxt/schema@3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@nuxt/schema/-/schema-3.1.1.tgz#c45f67f245a117f99b028d98f259cce4c740ffa7" @@ -1299,6 +1361,25 @@ unimport "^2.0.1" untyped "^1.2.2" +"@nuxt/schema@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@nuxt/schema/-/schema-3.2.0.tgz#b1e072515db70b8f921b7d6f597f91b6f42573e8" + integrity sha512-tz9RandI5LgbT9BQ8dE8n4kItV7+4OUgbX42YemcGbtORVJAWJJvQyHGikJ5akUgiTFYTV8tjV6pRPH9Txx0Pg== + dependencies: + c12 "^1.1.0" + create-require "^1.1.1" + defu "^6.1.2" + hookable "^5.4.2" + jiti "^1.17.0" + pathe "^1.1.0" + pkg-types "^1.0.1" + postcss-import-resolver "^2.0.0" + scule "^1.0.0" + std-env "^3.3.2" + ufo "^1.0.1" + unimport "^2.2.4" + untyped "^1.2.2" + "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" resolved "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" @@ -1526,24 +1607,24 @@ resolved "https://registry.yarnpkg.com/@vant/use/-/use-1.4.4.tgz#9a5b19ba824d880a0d79a3634a860871dba581f4" integrity sha512-VFAU7oO3mAN/mA+xB0bRt36Ve2EVUyywmwH149qlRRrTBu1XwxoA8J7Kwpr1CoX9GTaoMsZle/+j3e2UtvsP3g== -"@varlet/icons@2.7.3": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@varlet/icons/-/icons-2.7.3.tgz#238a26960d8e2d65ea16373ce084a79234ddd083" - integrity sha512-qsl+6/41chT2+u2V4MnkIuN0gZa1iGeUhLg9fjQ4M7BrFUEQn71ssZi9BTXnHCQa0eeNzHS9a2kRJIG4OeVtMg== +"@varlet/icons@2.7.5": + version "2.7.5" + resolved "https://registry.yarnpkg.com/@varlet/icons/-/icons-2.7.5.tgz#7905e59bc9c351c3f0562f145dcf903dbb956776" + integrity sha512-9cRkVq16+xpdqlm+kMKANesNPs3rlXtFKuO1RZY8UHDHMXIeS0Q5GbjAGaQNbEV/hMG7/qeknlngWZVUms++sg== -"@varlet/shared@2.7.3": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@varlet/shared/-/shared-2.7.3.tgz#383bd89aea12d2bf5c1c59dec57a826ea22f9500" - integrity sha512-+8kxIuQz4HmLBYtjJ09t3Xp5kGEJNtaGGf/TImxrVhPa8+oZRlY71+rG1c29WsCNIqXktGi9gPA+IHarDmrKYA== +"@varlet/shared@2.7.5": + version "2.7.5" + resolved "https://registry.yarnpkg.com/@varlet/shared/-/shared-2.7.5.tgz#b3906477d9ca04e739c15818c3753bb2d09e0f87" + integrity sha512-acdVZURa4ZWiFOcSq8qDr12FEyrNjUKh+G1nP0rQioUFh/rTmEodILKPqav8YTn4CyT5jTOJR4qVe5JJ1btquw== -"@varlet/ui@^2.7.3": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@varlet/ui/-/ui-2.7.3.tgz#0c29ff90e5d288f3ceaf6a7c6e7ee27c7dbe5308" - integrity sha512-krpeUS6eDIz+ruxR2OxsSS5aLtvB+leGOfs7s/4GwJOJ4sJVgC8FlKStA62G38+CPZxIl1Y7h9mOG2AkqV19JA== +"@varlet/ui@^2.7.5": + version "2.7.5" + resolved "https://registry.yarnpkg.com/@varlet/ui/-/ui-2.7.5.tgz#815f513467e3f6230de400d4a782c9e55f8f2042" + integrity sha512-mu/EtrJYNrDlsQHsyZWNed4iSAptFnK5ItzKNKgE1f/vGzYvBl33FuhZnY56l+IZFb8dcTsksDkIfHQ5vtElkA== dependencies: "@popperjs/core" "^2.11.6" - "@varlet/icons" "2.7.3" - "@varlet/shared" "2.7.3" + "@varlet/icons" "2.7.5" + "@varlet/shared" "2.7.5" dayjs "^1.10.4" decimal.js "^10.2.1" @@ -1846,7 +1927,7 @@ optionalDependencies: prettier "^1.18.2 || ^2.0.0" -"@vue/devtools-api@^6.4.5": +"@vue/devtools-api@^6.2.1", "@vue/devtools-api@^6.4.5": version "6.5.0" resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07" integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q== @@ -2231,10 +2312,22 @@ autoprefixer@^10.2.4: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -axios@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.1.tgz#80bf6c8dbb46e6db1fa8fe9ab114c1ca7405c2ee" - integrity sha512-78pWJsQTceInlyaeBQeYZ/QgZeWS8hGeKiIJiDKQe3hEyBb7sEMq0K4gjx+Va6WHTYO4zI/RRl8qGRzn0YMadA== +autoprefixer@^10.4.13: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== + dependencies: + browserslist "^4.21.4" + caniuse-lite "^1.0.30001426" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +axios@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.2.tgz#7ac517f0fa3ec46e0e636223fd973713a09c72b3" + integrity sha512-1M3O703bYqYuPhbHeya5bnhpYVsDDRyQSabNja04mZtboLNSuZ4YrltestrLXfHgmzua4TpUqRiVKbiQuo2epw== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" @@ -2385,6 +2478,16 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4 node-releases "^2.0.6" update-browserslist-db "^1.0.5" +browserslist@^4.21.4: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -2468,6 +2571,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz#158a43011e7068ef7fc73590e9fd91a7cece5e7f" integrity sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g== +caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: + version "1.0.30001450" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz#022225b91200589196b814b51b1bbe45144cf74f" + integrity sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew== + case-sensitive-paths-webpack-plugin@^2.3.0: version "2.4.0" resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" @@ -2598,6 +2706,13 @@ clone@^1.0.2: resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== +cnjm-postcss-px-to-viewport@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cnjm-postcss-px-to-viewport/-/cnjm-postcss-px-to-viewport-1.0.0.tgz#db379693b4594af54d783d3fba0bc78b94644fcd" + integrity sha512-vokFS5qvl7JG/W79JYGZgA19LiVvDzQ5aSIQvnZiZAK2lumP+MP8WCs2AU/fK1aSIBpVmqgRpU4m27RBJ2F7rw== + dependencies: + object-assign ">=4.0.1" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -2730,13 +2845,6 @@ cookie@0.5.0: resolved "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -copy-anything@^2.0.1: - version "2.0.6" - resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" - integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== - dependencies: - is-what "^3.14.1" - copy-webpack-plugin@^9.0.1: version "9.1.0" resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz#2d2c460c4c4695ec0a58afb2801a1205256c4e6b" @@ -2943,6 +3051,11 @@ dayjs@^1.10.4: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== +dayjs@^1.11.7: + version "1.11.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" + integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== + debug@2.6.9: version "2.6.9" resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2957,7 +3070,7 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "2.1.2" -debug@^3.2.6, debug@^3.2.7: +debug@^3.2.7: version "3.2.7" resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -3147,6 +3260,11 @@ electron-to-chromium@^1.4.202: resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz#5aa03ab94db590d8269f4518157c24b1efad34d6" integrity sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw== +electron-to-chromium@^1.4.284: + version "1.4.286" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.286.tgz#0e039de59135f44ab9a8ec9025e53a9135eba11f" + integrity sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -3191,7 +3309,7 @@ entities@^2.0.0: resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -errno@^0.1.1, errno@^0.1.3: +errno@^0.1.3: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== @@ -3311,10 +3429,10 @@ eslint-webpack-plugin@^3.1.0: normalize-path "^3.0.0" schema-utils "^4.0.0" -eslint@^8.33.0: - version "8.33.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" - integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== +eslint@^8.34.0: + version "8.34.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" @@ -4034,13 +4152,6 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" @@ -4061,11 +4172,6 @@ ignore@^5.2.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== - immutable@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" @@ -4214,11 +4320,6 @@ is-unicode-supported@^0.1.0: resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-what@^3.14.1: - version "3.14.1" - resolved "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== - is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -4269,6 +4370,11 @@ jiti@^1.16.0, jiti@^1.16.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.16.2.tgz#75f7a0a8fde4a0e57e576f7d329491d588db89cf" integrity sha512-OKBOVWmU3FxDt/UH4zSwiKPuc1nihFZiOD722FuJlngvLz2glX1v2/TJIgoA4+mrpnXxHV6dSAoCvPcYQtoG5A== +jiti@^1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.17.0.tgz#9a4e1787b9d83e594a5ad27cdf9c9ab555112ac1" + integrity sha512-CByzPgFqYoB9odEeef7GNmQ3S5THIBOtzRYoSCya2Sv27AuQxy2jgoFjQ6VTF53xsq1MXRm+YWNvOoDHUAteOw== + joi@^17.4.0: version "17.6.0" resolved "https://registry.npmmirror.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" @@ -4373,7 +4479,12 @@ kind-of@^6.0.2: resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -klona@^2.0.4, klona@^2.0.5: +klona@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +klona@^2.0.5: version "2.0.5" resolved "https://registry.npmmirror.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== @@ -4398,30 +4509,6 @@ launch-editor@^2.2.1, launch-editor@^2.6.0: picocolors "^1.0.0" shell-quote "^1.7.3" -less-loader@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" - integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== - dependencies: - klona "^2.0.4" - -less@^4.0.0: - version "4.1.3" - resolved "https://registry.npmmirror.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" - integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== - dependencies: - copy-anything "^2.0.1" - parse-node-version "^1.0.1" - tslib "^2.3.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - needle "^3.1.0" - source-map "~0.6.0" - levn@^0.4.1: version "0.4.1" resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -4609,14 +4696,6 @@ magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -4696,7 +4775,7 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, dependencies: mime-db "1.52.0" -mime@1.6.0, mime@^1.4.1: +mime@1.6.0: version "1.6.0" resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -4853,15 +4932,6 @@ natural-compare@^1.4.0: resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -needle@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/needle/-/needle-3.1.0.tgz#3bf5cd090c28eb15644181ab6699e027bd6c53c9" - integrity sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw== - dependencies: - debug "^3.2.6" - iconv-lite "^0.6.3" - sax "^1.2.4" - negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -4907,6 +4977,11 @@ node-releases@^2.0.6: resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== +node-releases@^2.0.8: + version "2.0.9" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.9.tgz#fe66405285382b0c4ac6bcfbfbe7e8a510650b4d" + integrity sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA== + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -4958,7 +5033,7 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -object-assign@^4.0.1: +object-assign@>=4.0.1, object-assign@^4.0.1: version "4.1.1" resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -5133,11 +5208,6 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-node-version@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - parse5-htmlparser2-tree-adapter@^6.0.0: version "6.0.1" resolved "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" @@ -5223,10 +5293,10 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pinia-plugin-persistedstate@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.0.2.tgz#c604591442d23ba3a86eaf8156f019812d59038e" + integrity sha512-84vPyUhPA/8Pr+1mT1ioNb2d8z4tvdgYRqMQf8xyauOVBKjo0ZcRBwPQBV7ZAJG43Kwar43nXG2jU+ZMvAFFRQ== pinia@^2.0.30: version "2.0.30" @@ -5549,10 +5619,10 @@ prettier-linter-helpers@^1.0.0: resolved "https://registry.npmmirror.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -prettier@^2.8.3: - version "2.8.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" - integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== +prettier@^2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== pretty-error@^4.0.0: version "4.0.0" @@ -5851,25 +5921,28 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.50.0: - version "1.54.9" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" - integrity sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q== +sass-loader@^13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.2.0.tgz#80195050f58c9aac63b792fa52acb6f5e0f6bdc3" + integrity sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sass@^1.50.0, sass@^1.58.0: + version "1.58.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc" + integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" @@ -5915,7 +5988,7 @@ selfsigned@^2.0.1: dependencies: node-forge "^1" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.1" resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -6094,7 +6167,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -6185,6 +6258,11 @@ std-env@^3.3.1: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.3.1.tgz#93a81835815e618c8aa75e7c8a4dc04f7c314e29" integrity sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q== +std-env@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.3.2.tgz#af27343b001616015534292178327b202b9ee955" + integrity sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA== + string-width@^2.1.1: version "2.1.1" resolved "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -6414,7 +6492,7 @@ tr46@~0.0.3: resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -tslib@^2.0.3, tslib@^2.3.0: +tslib@^2.0.3: version "2.4.0" resolved "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== @@ -6504,6 +6582,23 @@ unimport@^2.0.1: strip-literal "^1.0.0" unplugin "^1.0.1" +unimport@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/unimport/-/unimport-2.2.4.tgz#3d0c7fb354e54ba277e58725aac73fbebabee0c7" + integrity sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw== + dependencies: + "@rollup/pluginutils" "^5.0.2" + escape-string-regexp "^5.0.0" + fast-glob "^3.2.12" + local-pkg "^0.4.3" + magic-string "^0.27.0" + mlly "^1.1.0" + pathe "^1.1.0" + pkg-types "^1.0.1" + scule "^1.0.0" + strip-literal "^1.0.0" + unplugin "^1.0.1" + universalify@^2.0.0: version "2.0.0" resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -6514,6 +6609,19 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +unplugin-auto-import@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/unplugin-auto-import/-/unplugin-auto-import-0.14.2.tgz#35b9c258db4b25259c3d5c776d39026114df29dd" + integrity sha512-6DptcCD+bKlxwK0yS4ehleZTvtG4Xl9k/XxhKWxc9ii2uE28HvcA3KbYpoHAzTlHDXRBrtcCAohR8vtIRB5bfg== + dependencies: + "@antfu/utils" "^0.7.2" + "@nuxt/kit" "^3.1.2" + "@rollup/pluginutils" "^5.0.2" + local-pkg "^0.4.3" + magic-string "^0.27.0" + unimport "^2.2.4" + unplugin "^1.0.1" + unplugin-vue-components@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/unplugin-vue-components/-/unplugin-vue-components-0.23.0.tgz#f4dce2f05672ab7b24e0ba149639d1fa7d12b906" @@ -6551,6 +6659,14 @@ untyped@^1.2.2: "@babel/types" "^7.20.7" scule "^1.0.0" +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + update-browserslist-db@^1.0.5: version "1.0.7" resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" @@ -6630,6 +6746,16 @@ vue-hot-reload-api@^2.3.0: resolved "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== +vue-i18n@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.2.2.tgz#aeb49d9424923c77e0d6441e3f21dafcecd0e666" + integrity sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ== + dependencies: + "@intlify/core-base" "9.2.2" + "@intlify/shared" "9.2.2" + "@intlify/vue-devtools" "9.2.2" + "@vue/devtools-api" "^6.2.1" + vue-loader@^17.0.0: version "17.0.0" resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.0.0.tgz#2eaa80aab125b19f00faa794b5bd867b17f85acb"