diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..7b5c813 --- /dev/null +++ b/.env.development @@ -0,0 +1,2 @@ +VUE_APP_HOST=http://test-temple.wdx-tc.com/ +NODE_ENV = development \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..550e777 --- /dev/null +++ b/.env.production @@ -0,0 +1,2 @@ +VUE_APP_HOST=http://prod-temple.wdx-tc.com/ +NODE_ENV = production \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..4f0cb2c --- /dev/null +++ b/.env.test @@ -0,0 +1,2 @@ +VUE_APP_HOST=http://test-temple.wdx-tc.com/ +NODE_ENV = test \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e2addfc --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +.PHONY: dist test +default: @npm --version \ No newline at end of file diff --git a/babel.config.js b/babel.config.js index e955840..a3b7ca0 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,5 +1,12 @@ module.exports = { presets: [ '@vue/cli-plugin-babel/preset' + ], + plugins: [ + ['import', { + libraryName: 'vant', + libraryDirectory: 'es', + style: true + }, 'vant'] ] } diff --git a/package.json b/package.json index 806b318..b0e67a6 100644 --- a/package.json +++ b/package.json @@ -3,21 +3,31 @@ "version": "0.1.0", "private": true, "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", + "serve": "vue-cli-service serve --mode development", + "test": "vue-cli-service build --mode test", + "build": "vue-cli-service build --mode production", "lint": "vue-cli-service lint" }, "dependencies": { + "axios": "^0.24.0", "core-js": "^3.6.5", - "vue": "^2.6.11" + "dayjs": "^1.10.7", + "vant": "^2.12.30", + "vue": "^2.6.11", + "vue-router": "^3.5.3" }, "devDependencies": { + "@nbfe/postcss-px2rem": "^0.1.2", "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-service": "~4.5.0", "babel-eslint": "^10.1.0", + "babel-plugin-import": "^1.13.3", "eslint": "^6.7.2", "eslint-plugin-vue": "^6.2.2", + "postcss-short": "^5.0.0", + "sass": "^1.43.4", + "sass-loader": "^7.1.0", "vue-template-compiler": "^2.6.11" }, "eslintConfig": { diff --git a/src/App.vue b/src/App.vue index 55df315..16dd1e3 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,28 +1,23 @@ diff --git a/src/assets/css/reset.css b/src/assets/css/reset.css new file mode 100644 index 0000000..a3f7681 --- /dev/null +++ b/src/assets/css/reset.css @@ -0,0 +1,129 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/src/assets/js/flexable.js b/src/assets/js/flexable.js new file mode 100644 index 0000000..f2535c5 --- /dev/null +++ b/src/assets/js/flexable.js @@ -0,0 +1,129 @@ +/* eslint-disable */ +(function (win, lib) { + var doc = win.document; + var docEl = doc.documentElement; + var metaEl = doc.querySelector('meta[name="viewport"]'); + var flexibleEl = doc.querySelector('meta[name="flexible"]'); + var dpr = 0; + var scale = 0; + var tid; + var flexible = lib.flexible || (lib.flexible = {}); + if (metaEl) { + console.warn("将根据已有的meta标签来设置缩放比例"); + var match = metaEl + .getAttribute("content") + .match(/initial-scale=([d.]+)/); + if (match) { + scale = parseFloat(match[1]); + dpr = parseInt(1 / scale); + } + } else if (flexibleEl) { + var content = flexibleEl.getAttribute("content"); + if (content) { + var initialDpr = content.match(/initial-dpr=([d.]+)/); + var maximumDpr = content.match(/maximum-dpr=([d.]+)/); + if (initialDpr) { + dpr = parseFloat(initialDpr[1]); + scale = parseFloat((1 / dpr).toFixed(2)); + } + if (maximumDpr) { + dpr = parseFloat(maximumDpr[1]); + scale = parseFloat((1 / dpr).toFixed(2)); + } + } + } + if (!dpr && !scale) { + var isAndroid = win.navigator.appVersion.match(/android/gi); + var isIPhone = win.navigator.appVersion.match(/iphone/gi); + var devicePixelRatio = win.devicePixelRatio; + if (isIPhone) { + if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) { + dpr = 3; + } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) { + dpr = 2; + } else { + dpr = 1; + } + } else { + dpr = 1; + } + scale = 1 / dpr; + } + docEl.setAttribute("data-dpr", dpr); + if (!metaEl) { + metaEl = doc.createElement("meta"); + metaEl.setAttribute("name", "viewport"); + metaEl.setAttribute( + "content", + "initial-scale=" + + scale + + ", maximum-scale=" + + scale + + ", minimum-scale=" + + scale + + ", user-scalable=no" + ); + if (docEl.firstElementChild) { + docEl.firstElementChild.appendChild(metaEl); + } else { + var wrap = doc.createElement("div"); + wrap.appendChild(metaEl); + doc.write(wrap.innerHTML); + } + } + function refreshRem() { + var width = docEl.getBoundingClientRect().width; + if (width / dpr > 540) { + width = 540 * dpr; + } + var rem = width / 10; + docEl.style.fontSize = rem + "px"; + flexible.rem = win.rem = rem; + } + win.addEventListener( + "resize", + function () { + clearTimeout(tid); + tid = setTimeout(refreshRem, 300); + }, + false + ); + win.addEventListener( + "pageshow", + function (e) { + if (e.persisted) { + clearTimeout(tid); + tid = setTimeout(refreshRem, 300); + } + }, + false + ); + if (doc.readyState === "complete") { + doc.body.style.fontSize = 12 * dpr + "px"; + } else { + doc.addEventListener( + "DOMContentLoaded", + function (e) { + doc.body.style.fontSize = 12 * dpr + "px"; + }, + false + ); + } + refreshRem(); + flexible.dpr = win.dpr = dpr; + flexible.refreshRem = refreshRem; + flexible.rem2px = function (d) { + var val = parseFloat(d) * this.rem; + if (typeof d === "string" && d.match(/rem$/)) { + val += "px"; + } + return val; + }; + flexible.px2rem = function (d) { + var val = parseFloat(d) / this.rem; + if (typeof d === "string" && d.match(/px$/)) { + val += "rem"; + } + return val; + }; +})(window, window["lib"] || (window["lib"] = {})); diff --git a/src/common/vant.js b/src/common/vant.js new file mode 100644 index 0000000..f637b26 --- /dev/null +++ b/src/common/vant.js @@ -0,0 +1,11 @@ +import Vue from 'vue' +import 'vant/lib/index.css'; +import { Button, NavBar, Search, Swipe, SwipeItem, Grid, GridItem } from 'vant'; + +Vue.use(Button) +Vue.use(NavBar) +Vue.use(Search) +Vue.use(Swipe) +Vue.use(SwipeItem) +Vue.use(Grid) +Vue.use(GridItem) \ No newline at end of file diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index 879051a..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - diff --git a/src/main.js b/src/main.js index 63eb05f..8ee3c62 100644 --- a/src/main.js +++ b/src/main.js @@ -1,8 +1,12 @@ import Vue from 'vue' import App from './App.vue' +import router from './router'; +import '@/assets/js/flexable.js'; +import './common/vant'; Vue.config.productionTip = false new Vue({ render: h => h(App), + router, }).$mount('#app') diff --git a/src/pages/home.vue b/src/pages/home.vue new file mode 100644 index 0000000..3679aeb --- /dev/null +++ b/src/pages/home.vue @@ -0,0 +1,54 @@ + + + + + \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..2195755 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,18 @@ +import Vue from 'vue' +import Router from 'vue-router'; + +Vue.use(Router); + +const routes = [ + { + path: '/', + name: 'home', + component: () => import('../pages/home.vue') + } +] +const router = new Router({ + mode: 'hash', + routes +}) + +export default router; \ No newline at end of file diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..540aa30 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,23 @@ + +module.exports = { + devServer: { + disableHostCheck: true, + proxy: { + '/api': { + target: process.env.VUE_APP_HOST + } + } + }, + css: { + loaderOptions: { + scss: { + data: null, + }, + postcss: { + plugins: [ + + ] + } + } + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 9e3932c..a460409 100644 --- a/yarn.lock +++ b/yarn.lock @@ -864,7 +864,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4": +"@babel/runtime@7.x", "@babel/runtime@^7.0.0", "@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4": version "7.15.4" resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" integrity sha1-/RfRa/34eObdAtGXU6OfqKjZyEo= @@ -952,11 +952,23 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nbfe/postcss-px2rem@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nbfe/postcss-px2rem/-/postcss-px2rem-0.1.2.tgz#24e56927b6a78b5eaa4220c43a62960f3ef9c680" + integrity sha512-PMaLkM/sJZGGtsiOLp6zg3it2hkhAJxFvBshIKlcqMnidADsopj6HRPPx4prHcl7D3rwZjJcAeY6yzUP/lXtFg== + dependencies: + css "^3.0.0" + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= +"@popperjs/core@^2.9.2": + version "2.10.2" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.10.2.tgz#0798c03351f0dea1a5a4cabddf26a55a7cbee590" + integrity sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ== + "@soda/friendly-errors-webpack-plugin@^1.7.1": version "1.8.0" resolved "https://registry.nlark.com/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz#84751d82a93019d5c92c0cf0e45ac59087cd2240" @@ -1131,7 +1143,19 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": +"@vant/icons@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vant/icons/-/icons-1.7.1.tgz#49ae420302b5581e54e6894891e5a05bc76e9f87" + integrity sha512-66LPEq89w4kl258nALZcRNd14eUJC8VajvTJwvZKOaZawz6CUeVZ6ybhedTUhQhRjeA8SyWD7dFt4ALf33Sabw== + +"@vant/popperjs@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@vant/popperjs/-/popperjs-1.1.0.tgz#b4edee5bbfa6fb18705986e313d4fd5f17942a0f" + integrity sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w== + dependencies: + "@popperjs/core" "^2.9.2" + +"@vue/babel-helper-vue-jsx-merge-props@^1.0.0", "@vue/babel-helper-vue-jsx-merge-props@^1.2.1": version "1.2.1" resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" integrity sha1-MWJKelBfsU2h1YAjclpMXycOaoE= @@ -1836,6 +1860,13 @@ aws4@^1.8.0: resolved "https://registry.nlark.com/aws4/download/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= +axios@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== + dependencies: + follow-redirects "^1.14.4" + babel-eslint@^10.1.0: version "10.1.0" resolved "https://registry.nlark.com/babel-eslint/download/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -1865,6 +1896,14 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" +babel-plugin-import@^1.13.3: + version "1.13.3" + resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.3.tgz#9dbbba7d1ac72bd412917a830d445e00941d26d7" + integrity sha512-1qCWdljJOrDRH/ybaCZuDgySii4yYrtQ8OJQwrcDqdt0y67N30ng3X3nABg6j7gR7qUJgcMa9OMhc4AGViDwWw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/runtime" "^7.0.0" + babel-plugin-polyfill-corejs2@^0.2.2: version "0.2.2" resolved "https://registry.nlark.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" @@ -2316,6 +2355,21 @@ check-types@^8.0.3: resolved "https://registry.nlark.com/check-types/download/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1: + version "3.5.2" + resolved "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha1-26OXb8rbAW9m/TZQIdkWANAcHnU= + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chokidar@^2.1.8: version "2.1.8" resolved "https://registry.nlark.com/chokidar/download/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -2335,21 +2389,6 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.1: - version "3.5.2" - resolved "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha1-26OXb8rbAW9m/TZQIdkWANAcHnU= - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - chownr@^1.1.1: version "1.1.4" resolved "https://registry.nlark.com/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -2462,6 +2501,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + clone@^1.0.2: version "1.0.4" resolved "https://registry.nlark.com/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -2871,6 +2919,15 @@ css-what@^5.0.0: resolved "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha1-P3tweq32M7r2LCzrhXm1RbtA9/4= +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== + dependencies: + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.0" + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -2963,6 +3020,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +dayjs@^1.10.7: + version "1.10.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" + integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== + de-indent@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" @@ -3895,7 +3957,7 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@^1.0.0: +follow-redirects@^1.0.0, follow-redirects@^1.14.4: version "1.14.4" resolved "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" integrity sha1-g4/fSKi73XnlLuUfsclOPtmLk3k= @@ -5166,7 +5228,7 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1634740734133&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= @@ -6272,6 +6334,13 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" +postcss-font-weights@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-weights/-/postcss-font-weights-5.0.0.tgz#11b0f846f342a40488e5bb5e8ab19887097b1fc5" + integrity sha512-n/1sLibDcRcFS4HcGVzB81eUdxjG8p3XZFvM3Q+0Szz+e8f64dV3bJyUMs7Nw8ZV4qmO293SUVmOMmmhNMkzjw== + dependencies: + postcss "^7.0.5" + postcss-load-config@^2.0.0: version "2.1.2" resolved "https://registry.nlark.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" @@ -6512,6 +6581,78 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: cssesc "^3.0.0" util-deprecate "^1.0.2" +postcss-short-border-radius@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-short-border-radius/-/postcss-short-border-radius-3.0.0.tgz#44d5d4af9e74caf2e16229f145b2dc605509a9ac" + integrity sha512-s4g/NSUFA71+s4fJMUFo/IqcJL1ZdmWSz90GctW/f3msdhetgaU2OuORYQtUB2HGX5BdsvBFai8FBv/D3/lrVQ== + dependencies: + postcss "^7.0.5" + +postcss-short-border@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-short-border/-/postcss-short-border-4.0.0.tgz#c7ffa685d4e2b350fbb7c3571a1cc47302e9efd6" + integrity sha512-o9lZZ7yavQAs2Tj1BazltLBTDH4XdNtUuY15NhV6Nr1R+1sG4e9k2QZRhaOazPbntrw7pDHFqRwDYQND9DB8jw== + dependencies: + postcss "^7.0.5" + +postcss-short-color@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-short-color/-/postcss-short-color-4.0.0.tgz#e4ebcdda0c6d69ace1553ffb78b0628db9f5b513" + integrity sha512-2cIbOysfLRXweXDqVpt+csXNaAF46S150lN8SgItvKN3naWXfKSanYLefzF9xZ2eVl7qgkv7Fkd8NgNI0PZFHQ== + dependencies: + postcss "^7.0.5" + +postcss-short-font-size@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-short-font-size/-/postcss-short-font-size-5.0.0.tgz#064de7de2a6206ac0955fd809c370e1b5c2db12e" + integrity sha512-CaEzUc/YSOq2PDblqZuSxdecmCqN5HbxLLLu5h53GoKJpXPNxrk6R9cfBvB/cO1LQyXNFtzZuQwL/JglkuBy4A== + dependencies: + postcss "^7.0.5" + +postcss-short-overflow@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-short-overflow/-/postcss-short-overflow-1.0.0.tgz#02a8018ed5bf5d5c527077b58d04ef5745173b18" + integrity sha512-nYFZGCt4+/x3kyQjgX3unxx7942sU/7ZI3JE8jHdgJZ/c/sAOrwWyjrNdrdckJzUj1xrCYcrp+vcrj2wspsCJA== + dependencies: + postcss "^7.0.5" + +postcss-short-position@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-short-position/-/postcss-short-position-4.0.1.tgz#b5e628c081180bca43545142bacb54367f3b202a" + integrity sha512-/k2v8v+Wwrb+nIcXqOuD32y6Yss1lci1fq7FMzsJsu7nfWHf48mpgPR/afliGdZvrXRRB9IW2aJbwugoOCgDsw== + dependencies: + postcss "^7.0.5" + +postcss-short-size@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-short-size/-/postcss-short-size-4.0.0.tgz#66da8f2d816b2a7334abcc951f67fb12d394b219" + integrity sha512-/RRw2JFj+7xmX+GO5HIp9+sVNZTm+bXWKwHlxxXcxEJDPng/dNeWGXIdExbuknqgDeDX/lv5YfgjD2g5TUtUtA== + dependencies: + postcss "^7.0.5" + +postcss-short-spacing@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-short-spacing/-/postcss-short-spacing-4.0.0.tgz#0de9bf226915c66aca6f4262fb691de817e817f1" + integrity sha512-ThWP8vse9jtT26+l8fqfCriPVR7QGYUX7gEXYNPJ2+smD4XHpMJAmbhqa8aKuYsCMhvzeC9ZxCsR/B+nXA7iEw== + dependencies: + postcss "^7.0.5" + +postcss-short@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-short/-/postcss-short-5.0.0.tgz#1e6ebaa829dc4c1644a21b66d2f9746fafab6206" + integrity sha512-7VvAeY8Bm01cK+honNsQIisaJsUdhdNTPlYuo7iQq80Fbjl844pVNBXhjXjVeXi/+dKK5aRtCNKod7U0hSeTug== + dependencies: + postcss "^7.0.5" + postcss-font-weights "^5.0.0" + postcss-short-border "^4.0.0" + postcss-short-border-radius "^3.0.0" + postcss-short-color "^4.0.0" + postcss-short-font-size "^5.0.0" + postcss-short-overflow "^1.0.0" + postcss-short-position "^4.0.1" + postcss-short-size "^4.0.0" + postcss-short-spacing "^4.0.0" + postcss-svgo@^4.0.3: version "4.0.3" resolved "https://registry.nlark.com/postcss-svgo/download/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" @@ -7052,6 +7193,24 @@ safe-regex@^1.1.0: resolved "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= +sass-loader@^7.1.0: + version "7.3.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.3.1.tgz#a5bf68a04bcea1c13ff842d747150f7ab7d0d23f" + integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.0.1" + neo-async "^2.5.0" + pify "^4.0.1" + semver "^6.3.0" + +sass@^1.43.4: + version "1.43.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" + integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== + dependencies: + chokidar ">=3.0.0 <4.0.0" + sax@~1.2.4: version "1.2.4" resolved "https://registry.nlark.com/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -7189,6 +7348,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.nlark.com/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -7332,6 +7498,14 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + source-map-support@~0.5.12: version "0.5.20" resolved "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" @@ -8114,6 +8288,17 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +vant@^2.12.30: + version "2.12.30" + resolved "https://registry.yarnpkg.com/vant/-/vant-2.12.30.tgz#f0b8f2f01476e6ec1d2f8c05e23e6201870f1695" + integrity sha512-kvbG+X5ZdHxjWELalsoIP0T+LMAZZ/5ITVdETsvrQAycvcPISNK+0eO0wT+kVRLfwBMEvuljWSJGOWisDObJRA== + dependencies: + "@babel/runtime" "7.x" + "@vant/icons" "^1.7.1" + "@vant/popperjs" "^1.1.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + vue-lazyload "1.2.3" + vary@~1.1.2: version "1.1.2" resolved "https://registry.nlark.com/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -8156,6 +8341,11 @@ vue-hot-reload-api@^2.3.0: resolved "https://registry.nlark.com/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha1-UylVzB6yCKPZkLOp+acFdGV+CPI= +vue-lazyload@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/vue-lazyload/-/vue-lazyload-1.2.3.tgz#901f9ec15c7e6ca78781a2bae4a343686bdedb2c" + integrity sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g== + "vue-loader-v16@npm:vue-loader@^16.1.0": version "16.8.2" resolved "https://registry.npmmirror.com/vue-loader/download/vue-loader-16.8.2.tgz#78552d6558207a93f09e4fb68b068d44964eb740" @@ -8176,6 +8366,11 @@ vue-loader@^15.9.2: vue-hot-reload-api "^2.3.0" vue-style-loader "^4.1.0" +vue-router@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.3.tgz#041048053e336829d05dafacf6a8fb669a2e7999" + integrity sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg== + vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: version "4.1.3" resolved "https://registry.nlark.com/vue-style-loader/download/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35"