From 6319631d7e25bc8efb139575be385613d60e63d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=98=8E=E6=98=8E?= <970899069@qq.com> Date: Tue, 4 Jan 2022 09:58:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Evuex,router?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.js | 6 +- node_modules/uni-read-pages/README.md | 108 ++ node_modules/uni-read-pages/index.js | 83 + node_modules/uni-read-pages/package.json | 51 + node_modules/uni-simple-router/.eslintignore | 6 + node_modules/uni-simple-router/.eslintrc.js | 257 +++ .../.github/ISSUE_TEMPLATE/bug_report.md | 39 + .../.github/ISSUE_TEMPLATE/feature_request.md | 21 + .../uni-simple-router/CODE_OF_CONDUCT.md | 76 + node_modules/uni-simple-router/LICENSE | 21 + node_modules/uni-simple-router/README.md | 49 + node_modules/uni-simple-router/RFC.md | 38 + .../uni-simple-router/api-extractor.json | 50 + node_modules/uni-simple-router/dist/link.vue | 79 + .../dist/uni-simple-router.d.ts | 312 +++ .../dist/uni-simple-router.js | 1 + node_modules/uni-simple-router/github.sh | 107 ++ node_modules/uni-simple-router/jest.config.js | 5 + node_modules/uni-simple-router/package.json | 62 + node_modules/uni-simple-router/progress.md | 16 + .../uni-simple-router/src/H5/buildRouter.ts | 76 + .../uni-simple-router/src/H5/proxyHook.ts | 71 + .../uni-simple-router/src/app/appPatch.ts | 75 + .../src/applets/appletPatch.ts | 18 + .../uni-simple-router/src/component/link.vue | 79 + .../uni-simple-router/src/global.d.ts | 7 + .../uni-simple-router/src/helpers/config.ts | 78 + .../src/helpers/createRouteMap.ts | 47 + .../src/helpers/lifeCycle.ts | 36 + .../uni-simple-router/src/helpers/mixins.ts | 109 ++ .../uni-simple-router/src/helpers/utils.ts | 452 +++++ .../uni-simple-router/src/helpers/warn.ts | 37 + node_modules/uni-simple-router/src/index.ts | 11 + .../uni-simple-router/src/options/base.ts | 245 +++ .../uni-simple-router/src/options/config.ts | 57 + .../uni-simple-router/src/public/hooks.ts | 177 ++ .../uni-simple-router/src/public/methods.ts | 258 +++ .../uni-simple-router/src/public/page.ts | 103 + .../uni-simple-router/src/public/query.ts | 200 ++ .../uni-simple-router/src/public/rewrite.ts | 158 ++ .../uni-simple-router/src/public/router.ts | 129 ++ .../uni-simple-router/src/public/uniOrigin.ts | 112 ++ .../test/path-to-regexp.spec.ts | 70 + .../test/query-toggle.spec.ts | 83 + node_modules/uni-simple-router/tsconfig.json | 19 + .../webpack/webpack.common.js | 41 + .../uni-simple-router/webpack/webpack.dev.js | 22 + .../uni-simple-router/webpack/webpack.prod.js | 19 + node_modules/vuex/CHANGELOG.md | 356 ++++ node_modules/vuex/LICENSE | 21 + node_modules/vuex/README.md | 59 + node_modules/vuex/dist/logger.js | 155 ++ node_modules/vuex/dist/vuex.common.js | 1244 ++++++++++++ node_modules/vuex/dist/vuex.esm.browser.js | 1200 ++++++++++++ .../vuex/dist/vuex.esm.browser.min.js | 6 + node_modules/vuex/dist/vuex.esm.js | 1243 ++++++++++++ node_modules/vuex/dist/vuex.js | 1250 ++++++++++++ node_modules/vuex/dist/vuex.min.js | 6 + node_modules/vuex/dist/vuex.mjs | 26 + node_modules/vuex/package.json | 124 ++ node_modules/vuex/types/helpers.d.ts | 86 + node_modules/vuex/types/index.d.ts | 164 ++ node_modules/vuex/types/logger.d.ts | 20 + node_modules/vuex/types/vue.d.ts | 18 + package-lock.json | 21 + pages.json | 142 +- pages/address/edit.vue | 19 + pages/address/index.vue | 19 + pages/order/details.vue | 19 + pages/order/index.vue | 19 + pages/user/index.vue | 25 +- router/index.js | 23 + store/index.js | 43 + .../dist/dev/app-plus/app-config-service.js | 4 +- unpackage/dist/dev/app-plus/app-service.js | 1704 ++++++++++++++++- unpackage/dist/dev/app-plus/app-view.js | 688 ++++++- unpackage/dist/dev/app-plus/manifest.json | 2 +- vue.config.js | 18 + 78 files changed, 12778 insertions(+), 122 deletions(-) create mode 100644 node_modules/uni-read-pages/README.md create mode 100644 node_modules/uni-read-pages/index.js create mode 100644 node_modules/uni-read-pages/package.json create mode 100644 node_modules/uni-simple-router/.eslintignore create mode 100644 node_modules/uni-simple-router/.eslintrc.js create mode 100644 node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/feature_request.md create mode 100644 node_modules/uni-simple-router/CODE_OF_CONDUCT.md create mode 100644 node_modules/uni-simple-router/LICENSE create mode 100644 node_modules/uni-simple-router/README.md create mode 100644 node_modules/uni-simple-router/RFC.md create mode 100644 node_modules/uni-simple-router/api-extractor.json create mode 100644 node_modules/uni-simple-router/dist/link.vue create mode 100644 node_modules/uni-simple-router/dist/uni-simple-router.d.ts create mode 100644 node_modules/uni-simple-router/dist/uni-simple-router.js create mode 100644 node_modules/uni-simple-router/github.sh create mode 100644 node_modules/uni-simple-router/jest.config.js create mode 100644 node_modules/uni-simple-router/package.json create mode 100644 node_modules/uni-simple-router/progress.md create mode 100644 node_modules/uni-simple-router/src/H5/buildRouter.ts create mode 100644 node_modules/uni-simple-router/src/H5/proxyHook.ts create mode 100644 node_modules/uni-simple-router/src/app/appPatch.ts create mode 100644 node_modules/uni-simple-router/src/applets/appletPatch.ts create mode 100644 node_modules/uni-simple-router/src/component/link.vue create mode 100644 node_modules/uni-simple-router/src/global.d.ts create mode 100644 node_modules/uni-simple-router/src/helpers/config.ts create mode 100644 node_modules/uni-simple-router/src/helpers/createRouteMap.ts create mode 100644 node_modules/uni-simple-router/src/helpers/lifeCycle.ts create mode 100644 node_modules/uni-simple-router/src/helpers/mixins.ts create mode 100644 node_modules/uni-simple-router/src/helpers/utils.ts create mode 100644 node_modules/uni-simple-router/src/helpers/warn.ts create mode 100644 node_modules/uni-simple-router/src/index.ts create mode 100644 node_modules/uni-simple-router/src/options/base.ts create mode 100644 node_modules/uni-simple-router/src/options/config.ts create mode 100644 node_modules/uni-simple-router/src/public/hooks.ts create mode 100644 node_modules/uni-simple-router/src/public/methods.ts create mode 100644 node_modules/uni-simple-router/src/public/page.ts create mode 100644 node_modules/uni-simple-router/src/public/query.ts create mode 100644 node_modules/uni-simple-router/src/public/rewrite.ts create mode 100644 node_modules/uni-simple-router/src/public/router.ts create mode 100644 node_modules/uni-simple-router/src/public/uniOrigin.ts create mode 100644 node_modules/uni-simple-router/test/path-to-regexp.spec.ts create mode 100644 node_modules/uni-simple-router/test/query-toggle.spec.ts create mode 100644 node_modules/uni-simple-router/tsconfig.json create mode 100644 node_modules/uni-simple-router/webpack/webpack.common.js create mode 100644 node_modules/uni-simple-router/webpack/webpack.dev.js create mode 100644 node_modules/uni-simple-router/webpack/webpack.prod.js create mode 100644 node_modules/vuex/CHANGELOG.md create mode 100644 node_modules/vuex/LICENSE create mode 100644 node_modules/vuex/README.md create mode 100644 node_modules/vuex/dist/logger.js create mode 100644 node_modules/vuex/dist/vuex.common.js create mode 100644 node_modules/vuex/dist/vuex.esm.browser.js create mode 100644 node_modules/vuex/dist/vuex.esm.browser.min.js create mode 100644 node_modules/vuex/dist/vuex.esm.js create mode 100644 node_modules/vuex/dist/vuex.js create mode 100644 node_modules/vuex/dist/vuex.min.js create mode 100644 node_modules/vuex/dist/vuex.mjs create mode 100644 node_modules/vuex/package.json create mode 100644 node_modules/vuex/types/helpers.d.ts create mode 100644 node_modules/vuex/types/index.d.ts create mode 100644 node_modules/vuex/types/logger.d.ts create mode 100644 node_modules/vuex/types/vue.d.ts create mode 100644 package-lock.json create mode 100644 pages/address/edit.vue create mode 100644 pages/address/index.vue create mode 100644 pages/order/details.vue create mode 100644 pages/order/index.vue create mode 100644 router/index.js create mode 100644 store/index.js create mode 100644 vue.config.js diff --git a/main.js b/main.js index 365eb09..f8260f7 100644 --- a/main.js +++ b/main.js @@ -2,7 +2,11 @@ import App from './App' // #ifndef VUE3 import Vue from 'vue' -Vue.config.productionTip = false +import store from './store' +import {router, RouterMount} from 'router' +Vue.use(router) +Vue.config.productionTip = false +Vue.prototype.$store = store App.mpType = 'app' const app = new Vue({ ...App diff --git a/node_modules/uni-read-pages/README.md b/node_modules/uni-read-pages/README.md new file mode 100644 index 0000000..9552873 --- /dev/null +++ b/node_modules/uni-read-pages/README.md @@ -0,0 +1,108 @@ +# uni-read-pages + +![coverage](https://img.shields.io/badge/coverage%20-98%25-green) ![npm](https://img.shields.io/badge/npm%20-v2.6.11-blue) ![license](https://img.shields.io/badge/license-MIT-red) ![size](https://img.shields.io/badge/size-1.48%20kb-yellowgreen) + +通过 [vue.config.js](https://cli.vuejs.org/zh/config/) 配合此库,可以随心所欲的读取 `pages.json` 下的所有配置 + +## 安装 + +您可以使用 `Yarn` 或 `npm` 安装该软件包(选择一个): + +##### Yarn + +```sh +yarn add uni-read-pages +``` +##### npm + +```sh +npm install uni-read-pages +``` +## 开始 +配置 `vue.config.js` 通过 `webpack` 注入全局变量 [查看文档](https://www.webpackjs.com/plugins/define-plugin/) + +#### 配置 `vue.config.js` +```js +//vue.config.js +const TransformPages = require('uni-read-pages') +const tfPages = new TransformPages() +module.exports = { + configureWebpack: { + plugins: [ + new tfPages.webpack.DefinePlugin({ + ROUTES: JSON.stringify(tfPages.routes) + }) + ] + } +} +``` +借助`webpack.DefinePlugin` 轻松注入全局变量。`ROUTES` 及可全局使用 + +#### 使用 +```js +// xxx.vue + +``` +## API +#### options +```js +//默认值 +const CONFIG={ + cli:false, //当前是否为脚手架初始化的项目 + includes:['path','aliasPath','name'] //需要获取包涵的字段 +} +``` + +#### Instance method + +* **getPagesRoutes** + * 通过读取 `pages.json` 文件 生成直接可用的routes + +* **parsePages(pageCallback, subPageCallback)** + * 单条page对象解析 + +* **resolvePath(dir)** + * 解析绝对路径 + +#### Instance attr + +* **CONFIG** + * 当前配置项 + +* **webpack** + * 当前工程下需要用到 `webpack` + +* **uniPagesJSON** + * 当前 `uni-app` 内置对象,可以通过此属性调用一些内置方法 + +* **routes** + * 通过 **includes** 解析后得到的路由表 **可直接使用** + +#### getter + +* **pagesJson** + * 获取所有 `pages.json` 下的内容 返回 `json` + + +#### uniPagesJSON method + +* getMainEntry() +* getNVueMainEntry() +* parsePages (pagesJson, pageCallback, subPageCallback) +* parseEntry (pagesJson) +* getPagesJson() +* parsePagesJson (content, loader) + +#### uniPagesJSON attr +* pagesJsonJsFileName //默认值 pages.js \ No newline at end of file diff --git a/node_modules/uni-read-pages/index.js b/node_modules/uni-read-pages/index.js new file mode 100644 index 0000000..a938961 --- /dev/null +++ b/node_modules/uni-read-pages/index.js @@ -0,0 +1,83 @@ +const path = require('path') +const CONFIG = { + includes: ['path', 'aliasPath', 'name'] +} +const rootPath = path.resolve(process.cwd(), 'node_modules'); + +/** 解析绝对路径 + * @param {Object} dir + */ +function resolvePath(dir) { + return path.resolve(rootPath, dir); +} + +class TransformPages { + constructor(config) { + config = { + ...CONFIG, + ...config + }; + this.CONFIG = config; + this.webpack = require(resolvePath('webpack')); + this.uniPagesJSON = require(resolvePath('@dcloudio/uni-cli-shared/lib/pages.js')); + this.routes = this.getPagesRoutes().concat(this.getNotMpRoutes()); + } + /** + * 获取所有pages.json下的内容 返回json + */ + get pagesJson() { + return this.uniPagesJSON.getPagesJson(); + } + /** + * 通过读取pages.json文件 生成直接可用的routes + */ + getPagesRoutes(pages = this.pagesJson.pages, rootPath = null) { + const routes = []; + for (let i = 0; i < pages.length; i++) { + const item = pages[i]; + const route = {}; + for (let j = 0; j < this.CONFIG.includes.length; j++) { + const key = this.CONFIG.includes[j]; + let value = item[key]; + if (key === 'path') { + value = rootPath ? `/${rootPath}/${value}` : `/${value}` + } + if (key === 'aliasPath' && i == 0 && rootPath == null) { + route[key] = route[key] || '/' + } else if (value !== undefined) { + route[key] = value; + } + } + routes.push(route); + } + return routes; + } + /** + * 解析小程序分包路径 + */ + getNotMpRoutes() { + const { + subPackages + } = this.pagesJson; + let routes = []; + if (subPackages == null || subPackages.length == 0) { + return []; + } + for (let i = 0; i < subPackages.length; i++) { + const subPages = subPackages[i].pages; + const root = subPackages[i].root; + const subRoutes = this.getPagesRoutes(subPages, root); + routes = routes.concat(subRoutes) + } + return routes + } + /** + * 单条page对象解析 + * @param {Object} pageCallback + * @param {Object} subPageCallback + */ + parsePages(pageCallback, subPageCallback) { + this.uniPagesJSON.parsePages(this.pagesJson, pageCallback, subPageCallback) + } +} +module.exports = TransformPages \ No newline at end of file diff --git a/node_modules/uni-read-pages/package.json b/node_modules/uni-read-pages/package.json new file mode 100644 index 0000000..d658b8b --- /dev/null +++ b/node_modules/uni-read-pages/package.json @@ -0,0 +1,51 @@ +{ + "_from": "uni-read-pages", + "_id": "uni-read-pages@1.0.5", + "_inBundle": false, + "_integrity": "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==", + "_location": "/uni-read-pages", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "uni-read-pages", + "name": "uni-read-pages", + "escapedName": "uni-read-pages", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/uni-read-pages/-/uni-read-pages-1.0.5.tgz", + "_shasum": "452c8dcaa8977bbaef600909be926c8d9704387c", + "_spec": "uni-read-pages", + "_where": "/Users/WebTmm/Desktop/ZhHealth", + "author": "", + "bugs": { + "url": "https://github.com/SilurianYang/uni-read-pages/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "read `pages.json` file to generate the routes table", + "directories": { + "example": "examples" + }, + "homepage": "https://github.com/SilurianYang/uni-read-pages#readme", + "keywords": [], + "license": "ISC", + "main": "index.js", + "name": "uni-read-pages", + "repository": { + "type": "git", + "url": "git+https://github.com/SilurianYang/uni-read-pages.git" + }, + "scripts": { + "build": "webpack --progress --config webpack/webpack.prod.js", + "dev": "webpack --watch --progress --config webpack/webpack.dev.js", + "postinstall": "node -e \"console.log('\\x1b[91m','\\n\\n uni-simple-router 垫脚片,欢迎下载!\\n \\n 开源不易,需要鼓励。去给 uni-read-pages 项目 点个 star 吧 \\n\\n')\"" + }, + "version": "1.0.5" +} diff --git a/node_modules/uni-simple-router/.eslintignore b/node_modules/uni-simple-router/.eslintignore new file mode 100644 index 0000000..3661113 --- /dev/null +++ b/node_modules/uni-simple-router/.eslintignore @@ -0,0 +1,6 @@ +dist +/node_modules +/webpack +/src/global.d.ts +/test +/jest.config.js \ No newline at end of file diff --git a/node_modules/uni-simple-router/.eslintrc.js b/node_modules/uni-simple-router/.eslintrc.js new file mode 100644 index 0000000..e792a31 --- /dev/null +++ b/node_modules/uni-simple-router/.eslintrc.js @@ -0,0 +1,257 @@ +module.exports = { + root: true, + env: { + browser: true, + node: true, + es6: true + }, + globals: { + uni: true, + plus: true, + getCurrentPages: true, + getApp: true, + __uniConfig: true, + __uniRoutes: true, + $npm_package_name: true + }, + parser: '@typescript-eslint/parser', + extends: ['eslint:recommended'], + plugins: ['@typescript-eslint'], + rules: { + '@typescript-eslint/consistent-type-definitions': [ + 'error', + 'interface' + ], + 'accessor-pairs': 2, + 'arrow-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'block-spacing': [2, 'always'], + 'brace-style': [ + 2, + '1tbs', + { + allowSingleLine: true + } + ], + camelcase: [ + 0, + { + properties: 'always' + } + ], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [ + 2, + { + before: false, + after: true + } + ], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + curly: [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + eqeqeq: ['error', 'always', {null: 'ignore'}], + 'generator-star-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'handle-callback-err': [2, '^(err|error)$'], + indent: ['error', 4], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [ + 2, + { + beforeColon: false, + afterColon: true + } + ], + 'keyword-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'new-cap': [ + 2, + { + newIsCap: true, + capIsNew: false + } + ], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [ + 2, + { + allowLoop: false, + allowSwitch: false + } + ], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [ + 2, + { + max: 1 + } + ], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [ + 2, + { + defaultAssignment: false + } + ], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [ + 2, + { + vars: 'all', + args: 'none' + } + ], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [ + 2, + { + initialized: 'never' + } + ], + 'operator-linebreak': [ + 2, + 'after', + { + overrides: { + '?': 'before', + ':': 'before' + } + } + ], + 'padded-blocks': [2, 'never'], + quotes: [ + 2, + 'single', + { + avoidEscape: true, + allowTemplateLiterals: true + } + ], + semi: 'off', + 'semi-spacing': [ + 2, + { + before: false, + after: true + } + ], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [ + 2, + { + words: true, + nonwords: false + } + ], + 'spaced-comment': [ + 2, + 'always', + { + markers: [ + 'global', + 'globals', + 'eslint', + 'eslint-disable', + '*package', + '!', + ',' + ] + } + ], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + yoda: [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': 'off', + 'array-bracket-spacing': [2, 'never'] + } +}; diff --git a/node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/bug_report.md b/node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..ac848ad --- /dev/null +++ b/node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,39 @@ +--- +name: 报告问题(Bug report) +about: 详细描述你遇到的问题并寻求社区帮助 +title: '' +labels: '' +assignees: '' + +--- + +**问题描述** +[问题描述:尽可能简洁清晰地把问题描述清楚] + +**复现步骤** +[复现问题的步骤] +1. 启动 '...' +2. 点击 '....' +3. 查看 + +[或者可以直接贴源代码] + +**预期结果** +[使用简洁清晰的语言描述你希望生效的预期结果] + +**实际结果** +[这里请贴上你的报错截图或文字] + + +**系统信息:** + - 发行平台: [如 微信小程序、H5平台、5+ App等] + - 操作系统 [如 iOS 12.1.2、Android 7.0] + - HBuilderX版本 [如使用HBuilderX,则需提供 HBuilderX 版本号] + - 项目创建方法 [如使用Vue-cli创建/HBuilderX] + - 设备信息 [如 iPhone8 Plus] + - uni-simple-router版本 [如 v1.5.4] + + +**补充信息** +[可选] +[根据你的分析,出现这个问题的原因可能在哪里?] diff --git a/node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/feature_request.md b/node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..6559ac3 --- /dev/null +++ b/node_modules/uni-simple-router/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,21 @@ +--- +name: 建议新功能(Feature Request) +about: 对 uni-simple-router 提出改善建议 +title: '' +labels: '' +assignees: '' + +--- + +**新功能描述** +简洁描述你希望补充完善的增强功能 + +**现状及问题** +[当前现状及由此导致的不便] + +**尝试方案** +[如果你有尝试绕开或其它解决方案,在这里描述你的建议方案] + +**补充信息** +[其它你认为有参考价值的信息] + diff --git a/node_modules/uni-simple-router/CODE_OF_CONDUCT.md b/node_modules/uni-simple-router/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..d8f066b --- /dev/null +++ b/node_modules/uni-simple-router/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at 1606726660@qq.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/node_modules/uni-simple-router/LICENSE b/node_modules/uni-simple-router/LICENSE new file mode 100644 index 0000000..7eddf4c --- /dev/null +++ b/node_modules/uni-simple-router/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 hhyang + +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/node_modules/uni-simple-router/README.md b/node_modules/uni-simple-router/README.md new file mode 100644 index 0000000..1dbb5d8 --- /dev/null +++ b/node_modules/uni-simple-router/README.md @@ -0,0 +1,49 @@ +# uni-simple-router + +> 一个更为简洁的[Vue-router](https://router.vuejs.org/zh/),专为 [uni-app](https://uniapp.dcloud.io/) 量身打造 + +## 介绍 + +`uni-simple-router` 是专为 [uni-app](https://uniapp.dcloud.io/) 打造的路由器。它与 [uni-app](https://uniapp.dcloud.io/) 核心深度集成,使使用 [uni-app](https://uniapp.dcloud.io/) 轻松构建单页应用程序变得轻而易举。功能包括: + +* `H5端` 能完全使用 `vue-router` 进行开发。 + +* 模块化,基于组件的路由器配置。 + +* 路由参数,查询,通配符。 + +* `H5端` 查看由 `uni-simple-router` 过渡系统提供动力的过渡效果。 + +* 更细粒度的导航控制。 + +* `H端`自动控制活动的CSS类链接。 + +* 通配小程序端、APP端、H5端。 + + +开始使用 [查看文档](http://hhyang.cn),或 [使用示例](https://github.com/SilurianYang/uni-simple-router/tree/master/examples)(请参见下面的示例)。 + +## 问题 +在提交问题的之前,请确保阅读 [“问题报告清单”](https://github.com/SilurianYang/uni-simple-router/issues/new?assignees=&labels=&template=bug_report.md&title=) 。不符合准则的问题可能会立即被解决。 + +## 贡献 +提出拉取请求之前,请务必先阅读 [查看文档](http://hhyang.cn)(请参见下面的示例)。。 + +## 变更日志 +[发行说明](https://github.com/SilurianYang/uni-simple-router/releases) 中记录了每个发行版的详细信息更改。 + +## 特别感谢 + +特别感谢 [markrgba](https://github.com/markrgba) 一直以来对文档和相关测试的维护。 + +## 技术交流 + +uni-app  插件 + + +## 成品预览 + +
+

uni-simple-router@2.0+ts+uni-app

+ +
\ No newline at end of file diff --git a/node_modules/uni-simple-router/RFC.md b/node_modules/uni-simple-router/RFC.md new file mode 100644 index 0000000..d96f6e8 --- /dev/null +++ b/node_modules/uni-simple-router/RFC.md @@ -0,0 +1,38 @@ +```flow + +st=>start: 开始跳转 +e=>end: 跳转结束 +platform=>operation: 平台选择 +H5=>condition: H5 +APP=>condition: APP +applets=>condition: 小程序 +routerBeforeEach=>operation: routerBeforeEach +lock=>condition: 跳转加锁 + +runH5=>operation: H5 +runAPP=>parallel: APP +runapplets=>parallel: 小程序 + +beforeRouteLeave=>condition: beforeRouteLeave +beforeEach=>condition: beforeEach +beforeEnter=>condition: beforeEnter +afterEach=>operation: afterEach +runJump=>condition: 执行跳转成功或者失败 +stopJump=>operation: next(false) 停止跳转 +errorJump=>operation: 跳转失败 +routerErrorEach=>operation: routerErrorEach +routerAfterEach=>operation: routerAfterEach + +st->platform(right)->applets(yes)->routerBeforeEach +applets(no)->APP(yes)->routerBeforeEach +APP(no)->H5(yes)->routerBeforeEach +routerBeforeEach->lock(yes)->runAPP(path1)->runapplets(path1)->beforeRouteLeave +lock(no)->runH5->beforeRouteLeave(no)->stopJump->routerErrorEach +beforeRouteLeave(yes)->beforeEach(no)->stopJump->routerErrorEach +beforeEach(yes)->beforeEnter(no)->stopJump->routerErrorEach +beforeEnter(yes)->runJump(no)->errorJump->routerErrorEach +runJump(yes)->afterEach->routerAfterEach +routerAfterEach->e +routerErrorEach->e + +``` \ No newline at end of file diff --git a/node_modules/uni-simple-router/api-extractor.json b/node_modules/uni-simple-router/api-extractor.json new file mode 100644 index 0000000..5458aab --- /dev/null +++ b/node_modules/uni-simple-router/api-extractor.json @@ -0,0 +1,50 @@ +// this the shared base config for all packages. +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + "mainEntryPointFilePath": "./dist/src/index.d.ts", + + "apiReport": { + "enabled": true, + "reportFolder": "./temp/" + }, + + "docModel": { + "enabled": true + }, + + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "./dist/.d.ts" + }, + + "tsdocMetadata": { + "enabled": false + }, + + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + } + } + } + } + \ No newline at end of file diff --git a/node_modules/uni-simple-router/dist/link.vue b/node_modules/uni-simple-router/dist/link.vue new file mode 100644 index 0000000..873f412 --- /dev/null +++ b/node_modules/uni-simple-router/dist/link.vue @@ -0,0 +1,79 @@ + + + diff --git a/node_modules/uni-simple-router/dist/uni-simple-router.d.ts b/node_modules/uni-simple-router/dist/uni-simple-router.d.ts new file mode 100644 index 0000000..a5769eb --- /dev/null +++ b/node_modules/uni-simple-router/dist/uni-simple-router.d.ts @@ -0,0 +1,312 @@ + +export declare interface AppConfig { + registerLoadingPage?: boolean; + loadingPageStyle?: () => object; + loadingPageHook?: (view: any) => void; + launchedHook?: () => void; + animation?: startAnimationRule; +} + +export declare interface appletConfig { + animationDuration?: number; +} + +export declare type backTypeRule = 'backbutton' | 'navigateBack'; + +export declare function createRouter(params: InstantiateConfig): Router; + +export declare interface debuggerArrayConfig { + error?: boolean; + warn?: boolean; + log?: boolean; +} + +export declare type debuggerConfig = boolean | debuggerArrayConfig; + +export declare interface endAnimationRule { + animationType?: endAnimationType; + animationDuration?: number; +} + +export declare type endAnimationType = 'slide-out-right' | 'slide-out-left' | 'slide-out-top' | 'slide-out-bottom' | 'pop-out' | 'fade-out' | 'zoom-in' | 'zoom-fade-in' | 'none'; + +export declare type guardHookRule = (to: totalNextRoute, from: totalNextRoute, next: (rule?: navtoRule | false) => void) => void; + +export declare interface H5Config { + paramsToQuery?: boolean; + vueRouterDev?: boolean; + vueNext?: boolean; + mode?: string; + base?: string; + linkActiveClass?: string; + linkExactActiveClass?: string; + scrollBehavior?: Function; + fallback?: boolean; +} + +export declare interface h5NextRule { + fullPath?: string | undefined; + hash?: string | undefined; + matched?: Array; + meta?: object; + name?: undefined | string; + type?: undefined | string; +} + +export declare type hookListRule = Array<(router: Router, to: totalNextRoute, from: totalNextRoute, toRoute: RoutesRule, next: Function) => void>; + +export declare interface hookObjectRule { + options: Array; + hook: Function; +} + +export declare enum hookToggle { + 'beforeHooks' = "beforeEach", + 'afterHooks' = "afterEach", + 'enterHooks' = "beforeEnter" +} + +export declare interface InstantiateConfig { + [key: string]: any; + keepUniOriginNav?: boolean; + platform: platformRule; + h5?: H5Config; + APP?: AppConfig; + applet?: appletConfig; + debugger?: debuggerConfig; + routerBeforeEach?: (to: navtoRule, from: navtoRule, next: (rule?: navtoRule | false) => void) => void; + routerAfterEach?: (to: navtoRule, from: navtoRule, next?: Function) => void; + routerErrorEach?: (error: navErrorRule, router: Router) => void; + resolveQuery?: (jsonQuery: objectAny) => objectAny; + parseQuery?: (jsonQuery: objectAny) => objectAny; + detectBeforeLock?: (router: Router, to: string | number | totalNextRoute | navRoute, navType: NAVTYPE) => void; + routes: RoutesRule[]; +} + +export declare interface LifeCycleConfig { + beforeHooks: hookListRule; + afterHooks: hookListRule; + routerBeforeHooks: hookListRule; + routerAfterHooks: hookListRule; + routerErrorHooks: Array<(error: navErrorRule, router: Router) => void>; +} + +export declare interface navErrorRule { + type: navRuleStatus; + msg: string; + to?: totalNextRoute; + from?: totalNextRoute; + nextTo?: any; + [propName: string]: any; +} + +export declare type navMethodRule = Promise; + +export declare interface navRoute extends h5NextRule, navtoRule { +} + +export declare type navRuleStatus = 0 | 1 | 2 | 3; + +export declare interface navtoRule { + NAVTYPE?: NAVTYPE; + path?: string; + name?: string | undefined; + query?: objectAny; + params?: objectAny; + animationType?: startAnimationType | endAnimationType; + animationDuration?: number; + events?: objectAny; + success?: Function; + fail?: Function; + complete?: Function; +} + +export declare type NAVTYPE = 'push' | 'replace' | 'replaceAll' | 'pushTab' | 'back'; + +export declare enum navtypeToggle { + 'push' = "navigateTo", + 'replace' = "redirectTo", + 'replaceAll' = "reLaunch", + 'pushTab' = "switchTab", + 'back' = "navigateBack" +} + +export declare type objectAny = { + [propName: string]: any; +}; + +export declare interface originMixins extends uniNavApiRule { + BACKTYPE: '' | backTypeRule; +} + +export declare type pageTypeRule = 'app' | 'page' | 'component'; + +export declare type platformRule = 'h5' | 'app-plus' | 'app-lets' | 'mp-weixin' | 'mp-baidu' | 'mp-alipay' | 'mp-toutiao' | 'mp-qq' | 'mp-360'; + +export declare type PromiseResolve = (value?: void | PromiseLike | undefined) => void; + +export declare type proxyDepsRule = { + resetIndex: Array; + hooks: { + [key: number]: { + proxyHook: () => void; + callHook: (enterPath: string) => void; + resetHook: () => void; + }; + }; + options: { + [key: number]: Array; + }; +}; + +export declare type proxyHookName = 'beforeHooks' | 'afterHooks'; + +export declare type reloadNavRule = totalNextRoute | false | undefined | string; + +export declare type reNavMethodRule = 'navigateTo' | 'redirectTo' | 'reLaunch' | 'switchTab'; + +export declare type reNotNavMethodRule = 'navigateBack'; + +export declare enum rewriteMethodToggle { + 'navigateTo' = "push", + 'navigate' = "push", + 'redirectTo' = "replace", + 'reLaunch' = "replaceAll", + 'switchTab' = "pushTab", + 'navigateBack' = "back" +} + +export declare interface Router { + [key: string]: any; + readonly lifeCycle: LifeCycleConfig; + readonly options: InstantiateConfig; + $lockStatus: boolean; + $route: object | null; + enterPath: string; + Vue: any; + appMain: { + NAVTYPE: reNavMethodRule | reNotNavMethodRule; + path: string; + } | {}; + proxyHookDeps: proxyDepsRule; + routesMap: routesMapRule | {}; + mount: Array<{ + app: any; + el: string; + }>; + install(Vue: any): void; + push(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void; + replace(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void; + replaceAll(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void; + pushTab(to: totalNextRoute | navRoute | string, from?: totalNextRoute): void; + back(level: number | undefined, origin?: uniBackRule | uniBackApiRule): void; + forceGuardEach(navType: NAVTYPE | undefined, forceNav: boolean): void; + beforeEach(userGuard: guardHookRule): void; + afterEach(userGuard: (to: totalNextRoute, from: totalNextRoute) => void): void; +} + +export declare function RouterMount(Vim: any, router: Router, el?: string | undefined): void | never; + +export declare interface routeRule { + name: string | undefined; + meta: objectAny; + path: string; + query: objectAny; + params: objectAny; + fullPath: string; + NAVTYPE: NAVTYPE | ''; + BACKTYPE?: backTypeRule | ''; + [propName: string]: any; +} + +export declare type routesMapKeysRule = 'finallyPathList' | 'finallyPathMap' | 'aliasPathMap' | 'pathMap' | 'nameMap' | 'vueRouteMap'; + +export declare interface routesMapRule { + [key: string]: any; + finallyPathList: Array; + finallyPathMap: RoutesRule; + aliasPathMap: RoutesRule; + pathMap: RoutesRule; + nameMap: RoutesRule; + vueRouteMap: objectAny; +} + +export declare interface RoutesRule { + path: string; + component?: object; + name?: string; + components?: object; + redirect?: string | Function; + props?: boolean | object | Function; + aliasPath?: string; + alias?: string | Array; + children?: Array; + beforeEnter?: guardHookRule; + meta?: any; + [propName: string]: any; +} + +export declare function runtimeQuit(title?: string | undefined): void; + +export declare interface startAnimationRule { + animationType?: startAnimationType; + animationDuration?: number; +} + +export declare type startAnimationType = 'slide-in-right' | 'slide-in-left' | 'slide-in-top' | 'slide-in-bottom' | 'pop-in' | 'fade-in' | 'zoom-out' | 'zoom-fade-out' | 'none'; + +export declare interface totalNextRoute extends h5NextRule, navtoRule { + path: string; + delta?: number; + [propName: string]: any; +} + +export declare interface uniBackApiRule { + delta?: number; + animationDuration?: number; + animationType?: endAnimationType; +} + +export declare interface uniBackRule { + from: backTypeRule; +} + +export declare interface uniNavApiRule { + url: string; + openType?: 'appLaunch'; + query?: objectAny; + path?: string; + delta?: number; + detail?: { + [propName: string]: any; + }; + animationType?: startAnimationType; + animationDuration?: number; + events?: { + [propName: string]: any; + }; + success?: Function; + fail?: Function; + complete?: Function; + animation?: { + animationType?: startAnimationType; + animationDuration?: number; + }; +} + +export declare type vueHookNameRule = 'onLaunch' | 'onShow' | 'onHide' | 'onError' | 'onInit' | 'onLoad' | 'onReady' | 'onUnload' | 'onResize' | 'created' | 'beforeMount' | 'mounted' | 'beforeDestroy' | 'destroyed'; + +export declare type vueOptionRule = { + [propName in vueHookNameRule]: Array | undefined; +}; + +export { } + +// @ts-ignore +declare module 'vue/types/vue' { + interface Vue { + $Router: Router; + $Route: routeRule; + } +} + \ No newline at end of file diff --git a/node_modules/uni-simple-router/dist/uni-simple-router.js b/node_modules/uni-simple-router/dist/uni-simple-router.js new file mode 100644 index 0000000..7e25d3c --- /dev/null +++ b/node_modules/uni-simple-router/dist/uni-simple-router.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Router=t():e.Router=t()}(self,(function(){return e={779:(e,t,r)=>{var o=r(173);e.exports=function e(t,r,n){return o(r)||(n=r||n,r=[]),n=n||{},t instanceof RegExp?function(e,t){var r=e.source.match(/\((?!\?)/g);if(r)for(var o=0;o{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},844:function(e,t,r){"use strict";var o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,r=1,o=arguments.length;r0?t.vueEachArray[r](e,o,(function(){n&&n()})):t.myEachHook(e,o,(function(a){!1===a?n(!1):t.vueEachArray[r](e,o,(function(e){n(a)}))}),t.router,!0)}},t}(Array);t.MyArray=n,t.proxyEachHook=function(e,t){for(var r=["beforeHooks","afterHooks"],o=0;o0)return!1;window.location.reload()}),0)}else e.mount[0].app.$mount(),e.mount=[]}},814:function(e,t){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,r=1,o=arguments.length;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEnterPath=void 0,t.getEnterPath=function(e,t){switch(t.options.platform){case"mp-alipay":case"mp-weixin":case"mp-toutiao":case"mp-qq":return e.$options.mpInstance.route;case"mp-baidu":return e.$options.mpInstance.is||e.$options.mpInstance.pageinstance.route}return e.$options.mpInstance.route}},282:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.proxyHookName=t.proxyHookDeps=t.lifeCycle=t.baseConfig=t.mpPlatformReg=void 0;var o=r(883);t.mpPlatformReg="(^mp-weixin$)|(^mp-baidu$)|(^mp-alipay$)|(^mp-toutiao$)|(^mp-qq$)|(^mp-360$)",t.baseConfig={h5:{paramsToQuery:!1,vueRouterDev:!1,vueNext:!1,mode:"hash",base:"/",linkActiveClass:"router-link-active",linkExactActiveClass:"router-link-exact-active",scrollBehavior:function(e,t,r){return{x:0,y:0}},fallback:!0},APP:{registerLoadingPage:!0,loadingPageStyle:function(){return JSON.parse('{"backgroundColor":"#FFF"}')},loadingPageHook:function(e){e.show()},launchedHook:function(){plus.navigator.closeSplashscreen()},animation:{}},applet:{animationDuration:300},platform:"h5",keepUniOriginNav:!1,debugger:!1,routerBeforeEach:function(e,t,r){r()},routerAfterEach:function(e,t){},routerErrorEach:function(e,t){t.$lockStatus=!1,o.err(e,t,!0)},detectBeforeLock:function(e,t,r){},routes:[{path:"/choose-location"},{path:"/open-location"},{path:"/preview-image"}]},t.lifeCycle={beforeHooks:[],afterHooks:[],routerBeforeHooks:[],routerAfterHooks:[],routerErrorHooks:[]},t.proxyHookDeps={resetIndex:[],hooks:{},options:{}},t.proxyHookName=["onLaunch","onShow","onHide","onError","onInit","onLoad","onReady","onUnload","onResize","created","beforeMount","mounted","beforeDestroy","destroyed"]},801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createRouteMap=void 0;var o=r(883),n=r(789);t.createRouteMap=function(e,t){var r={finallyPathList:[],finallyPathMap:Object.create(null),aliasPathMap:Object.create(null),pathMap:Object.create(null),vueRouteMap:Object.create(null),nameMap:Object.create(null)};return t.forEach((function(t){var a=n.getRoutePath(t,e),i=a.finallyPath,u=a.aliasPath,l=a.path;if(null==l)throw new Error("请提供一个完整的路由对象,包括以绝对路径开始的 ‘path’ 字符串 "+JSON.stringify(t));if(i instanceof Array&&!e.options.h5.vueRouterDev&&"h5"===e.options.platform)throw new Error("非 vueRouterDev 模式下,route.alias 目前无法提供数组类型! "+JSON.stringify(t));var p=i,c=u;"h5"!==e.options.platform&&0!==p.indexOf("/")&&"*"!==l&&o.warn("当前路由对象下,route:"+JSON.stringify(t)+" 是否缺少了前缀 ‘/’",e,!0),r.finallyPathMap[p]||(r.finallyPathMap[p]=t,r.aliasPathMap[c]=t,r.pathMap[l]=t,r.finallyPathList.push(p),null!=t.name&&(r.nameMap[t.name]=t))})),r}},662:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerEachHooks=t.registerRouterHooks=t.registerHook=void 0;var o=r(366),n=r(169);function a(e,t){e[0]=t}t.registerHook=a,t.registerRouterHooks=function(e,t){return a(e.routerBeforeHooks,(function(e,r,o){t.routerBeforeEach(e,r,o)})),a(e.routerAfterHooks,(function(e,r){t.routerAfterEach(e,r)})),a(e.routerErrorHooks,(function(e,r){t.routerErrorEach(e,r)})),e},t.registerEachHooks=function(e,t,r){a(e.lifeCycle[t],(function(e,a,i,u,l){l?n.onTriggerEachHook(e,a,u,o.hookToggle[t],i):r(e,a,i)}))}},460:function(e,t,r){"use strict";var o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,r=1,o=arguments.length;r0)return P}if(""!==u)return h(t);throw new Error(r+" 路径无法在路由表中找到!检查跳转路径及路由表")},t.getDataType=v,t.copyData=function(e){return JSON.parse(JSON.stringify(e))},t.getUniCachePage=function(e){var t=getCurrentPages();if(null==e)return t;if(0===t.length)return t;var r=t.reverse()[e];return null==r?[]:r},t.urlToJson=function(e){var t={},r=e.split("?"),o=r[0],n=r[1];if(null!=n)for(var a=0,i=n.split("&");a3},t.baseClone=y,t.deepClone=g,t.lockDetectWarn=function(e,t,r,o,n,a){if(void 0===n&&(n={}),"afterHooks"===a)o();else{var i=e.options.detectBeforeLock;i&&i(e,t,r),e.$lockStatus?e.options.routerErrorEach({type:2,msg:"当前页面正在处于跳转状态,请稍后再进行跳转....",NAVTYPE:r,uniActualData:n},e):o()}},t.assertParentChild=function(e,t){for(;null!=t.$parent;){var r=t.$parent.$mp;if(r.page&&r.page.is===e)return!0;t=t.$parent}try{if(t.$mp.page.is===e||t.$mp.page.route===e)return!0}catch(e){return!1}return!1},t.resolveAbsolutePath=function(e,t){var r=/^\/?([^\?\s]+)(\?.+)?$/,o=e.trim();if(!r.test(o))throw new Error("【"+e+"】 路径错误,请提供完整的路径(10001)。");var n=o.match(r);if(null==n)throw new Error("【"+e+"】 路径错误,请提供完整的路径(10002)。");var a=n[2]||"";if(/^\.\/[^\.]+/.test(o))return(t.currentRoute.path+e).replace(/[^\/]+\.\//,"");var i=n[1].replace(/\//g,"\\/").replace(/\.\./g,"[^\\/]+").replace(/\./g,"\\."),u=new RegExp("^\\/"+i+"$"),l=t.options.routes.filter((function(e){return u.test(e.path)}));if(1!==l.length)throw new Error("【"+e+"】 路径错误,尝试转成绝对路径失败,请手动转成绝对路径(10003)。");return l[0].path+a},t.deepDecodeQuery=function e(t){for(var r="[object Array]"===v(t)?[]:{},o=Object.keys(t),n=0;n{"use strict";function r(e,t,r,o){if(void 0===o&&(o=!1),!o){var n="[object Object]"===t.toString();if(!1===t)return!1;if(n&&!1===t[e])return!1}return console[e](r),!0}Object.defineProperty(t,"__esModule",{value:!0}),t.warnLock=t.log=t.warn=t.err=t.isLog=void 0,t.isLog=r,t.err=function(e,t,o){r("error",t.options.debugger,e,o)},t.warn=function(e,t,o){r("warn",t.options.debugger,e,o)},t.log=function(e,t,o){r("log",t.options.debugger,e,o)},t.warnLock=function(e){console.warn(e)}},607:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.createRouter=t.RouterMount=t.runtimeQuit=void 0,n(r(366),t),n(r(309),t);var a=r(814);Object.defineProperty(t,"runtimeQuit",{enumerable:!0,get:function(){return a.runtimeQuit}});var i=r(963);Object.defineProperty(t,"RouterMount",{enumerable:!0,get:function(){return i.RouterMount}}),Object.defineProperty(t,"createRouter",{enumerable:!0,get:function(){return i.createRouter}})},366:(e,t)=>{"use strict";var r,o,n;Object.defineProperty(t,"__esModule",{value:!0}),t.rewriteMethodToggle=t.navtypeToggle=t.hookToggle=void 0,(n=t.hookToggle||(t.hookToggle={})).beforeHooks="beforeEach",n.afterHooks="afterEach",n.enterHooks="beforeEnter",(o=t.navtypeToggle||(t.navtypeToggle={})).push="navigateTo",o.replace="redirectTo",o.replaceAll="reLaunch",o.pushTab="switchTab",o.back="navigateBack",(r=t.rewriteMethodToggle||(t.rewriteMethodToggle={})).navigateTo="push",r.navigate="push",r.redirectTo="replace",r.reLaunch="replaceAll",r.switchTab="pushTab",r.navigateBack="back"},309:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},169:function(e,t,r){"use strict";var o=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(e);n0){var u=void 0;switch("h5"===e.options.platform?u=i.$options.beforeRouteLeave:null!=i.$vm&&(u=i.$vm.$options.beforeRouteLeave),n.getDataType(u)){case"[object Array]":a=(a=u[0]).bind(i);break;case"[object Function]":a=u.bind(i.$vm)}}return p(a,t,r,e,o)}function p(e,t,r,o,n,a){void 0===a&&(a=!0),null!=e&&e instanceof Function?!0===a?e(t,r,n,o,!1):(e(t,r,(function(){}),o,!1),n()):n()}function c(e,t,r,o,a,i){var u=n.forMatNextToFrom(e,t,r),l=u.matTo,p=u.matFrom;"h5"===e.options.platform?s(a,0,i,e,l,p,o):s(a.slice(0,4),0,(function(){i((function(){s(a.slice(4),0,n.voidFun,e,l,p,o)}))}),e,l,p,o)}function s(e,r,i,l,p,c,f){var h=n.routesForMapRoute(l,p.path,["finallyPathMap","pathMap"]);if(e.length-1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resetPageHook=t.resetAndCallPageHook=t.proxyPageHook=t.createFullPath=t.createToFrom=void 0;var o=r(282),n=r(789),a=r(890),i=r(99);function u(e){for(var t=e.proxyHookDeps,r=0,o=Object.entries(t.hooks);r{[propName: string]: any;}",t):e[r]=u}else{if(!n.assertDeepObject(o))return e;var l=JSON.stringify(o);e[r]={query:l}}return e},t.parseQuery=function(e,t){var r=t.options.parseQuery;if(r)e=r(n.copyData(e)),"[object Object]"!==n.getDataType(e)&&i.warn("请按格式返回参数: parseQuery?:(jsonQuery:{[propName: string]: any;})=>{[propName: string]: any;}",t);else if(Reflect.get(e,"query")){var o=Reflect.get(e,"query");if("string"==typeof o)try{o=JSON.parse(o)}catch(e){i.warn("尝试解析深度对象失败,按原样输出。"+e,t)}if("object"==typeof o)return n.deepDecodeQuery(o)}return e},t.stringifyQuery=function(e){var t=e?Object.keys(e).map((function(t){var r=e[t];if(void 0===r)return"";if(null===r)return c(t);if(Array.isArray(r)){var o=[];return r.forEach((function(e){void 0!==e&&(null===e?o.push(c(t)):o.push(c(t)+"="+c(e)))})),o.join("&")}return c(t)+"="+c(r)})).filter((function(e){return e.length>0})).join("&"):null;return t?"?"+t:""}},314:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rewriteMethod=void 0;var o=r(366),n=r(789),a=r(883),i=r(809),u=["navigateTo","redirectTo","reLaunch","switchTab","navigateBack"];t.rewriteMethod=function(e){!1===e.options.keepUniOriginNav&&u.forEach((function(t){var r=uni[t];uni[t]=function(u,l,p,c){void 0===l&&(l=!1),l?i.uniOriginJump(e,r,t,u,p,c):("app-plus"===e.options.platform&&0===Object.keys(e.appMain).length&&(e.appMain={NAVTYPE:t,path:u.url}),function(e,t,r){if("app-plus"===r.options.platform){var i=null;e&&(i=e.openType),null!=i&&"appLaunch"===i&&(t="reLaunch")}if("reLaunch"===t&&'{"url":"/"}'===JSON.stringify(e)&&(a.warn("uni-app 原生方法:reLaunch({url:'/'}) 默认被重写啦!你可以使用 this.$Router.replaceAll() 或者 uni.reLaunch({url:'/?xxx=xxx'})",r,!0),t="navigateBack",e={from:"backbutton"}),"navigateBack"===t){var u=1;null==e&&(e={delta:1}),"[object Number]"===n.getDataType(e.delta)&&(u=e.delta),r.back(u,e)}else{var l=o.rewriteMethodToggle[t],p=e.url;if(!p.startsWith("/")){var c=n.resolveAbsolutePath(p,r);p=c,e.url=c}if("switchTab"===t){var s=n.routesForMapRoute(r,p,["pathMap","finallyPathList"]),f=n.getRoutePath(s,r).finallyPath;if("[object Array]"===n.getDataType(f)&&a.warn("uni-app 原生方法跳转路径为:"+p+"。此路为是tab页面时,不允许设置 alias 为数组的情况,并且不能为动态路由!当然你可以通过通配符*解决!",r,!0),"*"===f&&a.warn("uni-app 原生方法跳转路径为:"+p+"。在路由表中找不到相关路由表!当然你可以通过通配符*解决!",r,!0),"h5"===r.options.platform){var h=e.success;e.success=function(){for(var t=[],r=0;r0&&Reflect.has(t,"index")){var r=n.getUniCachePage(0);if(0===Object.keys(r).length)return!1;var o=r,a=o.$options.onTabItemTap;if(a)for(var i=0;i0&&n[n.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1] 提交信息不能为空! \n \n" + fi + done + ;; + + # 推送到服务端 + "push") + read -p "请输入提交的分支(不输入默认主分支 [master] ):" branch + printf "\n\n -------------- 正在推送github,请稍后.... --------------- \n\n" + if [[ "$branch" == "" ]]; then + git push + else + eval "git push origin ${branch}" + fi + printf "\n -------------- 推送github完成 --------------- \n\n" + ;; + + # 拉取最新代码 + "pull") + printf "\n\n -------------- 正在拉取,请稍后.... --------------- \n\n" + git pull + printf "\n -------------- 正在拉取完成 --------------- \n\n" + ;; + + # 切换分支操作 + "branch") + read -p "请输入添加更多指令 【分支】 :" branchs + if [[ "$branchs" == "" ]]; then + printf "\n分支列表如下:\n\n" + git branch + else + eval "git branch ${branchs}" + fi + printf "\n -------------- 分支操作完毕 --------------- \n\n" + ;; + # + "checkout") + read -p "请输入添加更多指令 【默认切换到master】 :" out + if [[ "$out" == "" ]]; then + git checkout master + else + eval "git checkout ${out}" + fi + printf "\n -------------- 执行完毕 --------------- \n\n" + ;; + # 自定义指令 + *) + while read -p "请输入自定义命令 【输入:q退出】:" code; do + if [[ "$code" == ":q" ]];then + printf "\n" + break + fi + printf "\n\n -------------- 正在执行,请稍后.... --------------- \n\n" + eval "$code" + printf "\n -------------- 执行完毕 --------------- \n\n" + done + esac +done diff --git a/node_modules/uni-simple-router/jest.config.js b/node_modules/uni-simple-router/jest.config.js new file mode 100644 index 0000000..6bad1fa --- /dev/null +++ b/node_modules/uni-simple-router/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + moduleDirectories:['node_modules','src'] +}; \ No newline at end of file diff --git a/node_modules/uni-simple-router/package.json b/node_modules/uni-simple-router/package.json new file mode 100644 index 0000000..1732f21 --- /dev/null +++ b/node_modules/uni-simple-router/package.json @@ -0,0 +1,62 @@ +{ + "_from": "uni-simple-router@2.0.7", + "_id": "uni-simple-router@2.0.7", + "_inBundle": false, + "_integrity": "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA==", + "_location": "/uni-simple-router", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "uni-simple-router@2.0.7", + "name": "uni-simple-router", + "escapedName": "uni-simple-router", + "rawSpec": "2.0.7", + "saveSpec": null, + "fetchSpec": "2.0.7" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/uni-simple-router/-/uni-simple-router-2.0.7.tgz", + "_shasum": "04e0b5be6cd733a1ecb9d35a3dbe82f27f48204e", + "_spec": "uni-simple-router@2.0.7", + "_where": "/Users/WebTmm/Desktop/ZhHealth", + "author": { + "name": "hhyang" + }, + "bugs": { + "url": "https://github.com/SilurianYang/uni-simple-router/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "> 一个更为简洁的[Vue-router](https://router.vuejs.org/zh/),专为 [uni-app](https://uniapp.dcloud.io/) 量身打造", + "homepage": "https://github.com/SilurianYang/uni-simple-router#readme", + "keywords": [ + "router", + "uni-app-router", + "interceptor", + "uni-app", + "uniapp" + ], + "license": "MIT", + "main": "dist/uni-simple-router.js", + "name": "uni-simple-router", + "repository": { + "type": "git", + "url": "git+https://github.com/SilurianYang/uni-simple-router.git" + }, + "scripts": { + "build": "node ./publish/build.js", + "dev": "webpack --watch --progress --config webpack/webpack.dev.js", + "dist": "webpack --progress --config webpack/webpack.prod.js", + "dist:dts": "api-extractor run --local --verbose", + "lint": "eslint --ext .js,.ts src", + "lintFix": "eslint --ext .js,.ts src --fix", + "publish": "node ./publish/index.js", + "test": "jest test/query-toggle.spec.ts" + }, + "types": "dist/uni-simple-router.d.ts", + "version": "2.0.7" +} diff --git a/node_modules/uni-simple-router/progress.md b/node_modules/uni-simple-router/progress.md new file mode 100644 index 0000000..97f7684 --- /dev/null +++ b/node_modules/uni-simple-router/progress.md @@ -0,0 +1,16 @@ +## Fixes bug +* `小程序` 端 `onLoad`、`onShow` 执行不标准的BUG。(#206,#224,#291) +* `小程序` 端 启动页必须写 `onLoad` 才会执行的BUG。 +* `APP` 端 tab 拦截后无法自动还原选中区域现在已修复。 +* H5端设置 `aliasPath` 后,无法使用 `aliasPath` 跨端跳转 (#302) +* 重写代理生命周期逻辑、保证执行各端执行顺序 (#312) + +## Revise +* 参数可以直接传递 `null`。但是需要注意:**在非深度对象传参的情况下,小程序会将 `null` 解析为字符串`undefined`** +* 多端情况下自定义启动参数不仅限制于 `query` 传递深度参数,任何组合都可以 (#307,#301) +* 去除 `keyword` 白名单字段 +* 调整小程序启动页面生命周期的执行,让在小程序下的生命周期能更贴近App、H5 +* `routerErrorEach` 新增回调参数、包括:`NAVTYPE`、`uniActualData`、`level` + +## Known Issues +* `APP` 端启动页为tab时,拦截到其他页面后底部tabbar 还依然存在,请避免把原生 `tabbar` 页设置成启动页。你可以在 `beforeEach` 中使用 next 到tabbar页效果一致 \ No newline at end of file diff --git a/node_modules/uni-simple-router/src/H5/buildRouter.ts b/node_modules/uni-simple-router/src/H5/buildRouter.ts new file mode 100644 index 0000000..b733a2f --- /dev/null +++ b/node_modules/uni-simple-router/src/H5/buildRouter.ts @@ -0,0 +1,76 @@ +import {RoutesRule, Router, routesMapRule, totalNextRoute, hookToggle, navtoRule} from '../options/base'; +import {H5Config} from '../options/config'; +import {warn} from '../helpers/warn' +import {getDataType, getRoutePath} from '../helpers/utils' +import { onTriggerEachHook } from '../public/hooks'; + +export function buildVueRoutes(router: Router, vueRouteMap:RoutesRule):RoutesRule { + const {pathMap, finallyPathList} = (router.routesMap as routesMapRule); + const vueRoutePathList:Array = Object.keys(vueRouteMap); + for (let i = 0; i < vueRoutePathList.length; i++) { + const path = vueRoutePathList[i]; + const myRoute:RoutesRule = pathMap[path]; + const vueRoute:RoutesRule = vueRouteMap[path]; + if (!myRoute) { + warn(`${path} 路由地址在路由表中未找到,确定是否传递漏啦`, router, true); + } else { + const {finallyPath} = getRoutePath(myRoute, router); + if (finallyPath instanceof Array) { + throw new Error(`非 vueRouterDev 模式下,alias、aliasPath、path 无法提供数组类型! ${JSON.stringify(myRoute)}`); + } + if (myRoute.name != null) { + vueRoute.name = myRoute.name; + } + const vuePath = vueRoute['path']; + const vueAlias = vueRoute['alias']; + delete vueRoute['alias']; + vueRoute['path'] = (finallyPath as string); + if (vuePath === '/' && vueAlias != null) { + vueRoute['alias'] = vueAlias; + vueRoute['path'] = vuePath; + } + const beforeEnter = myRoute.beforeEnter; + if (beforeEnter) { + vueRoute['beforeEnter'] = function( + to:totalNextRoute, + from: totalNextRoute, + next:(rule?: navtoRule|false)=>void, + ):void{ + onTriggerEachHook(to, from, router, hookToggle['enterHooks'], next) + }; + } + } + } + if (finallyPathList.includes('*')) { + vueRouteMap['*'] = pathMap['*'] + } + return vueRouteMap +} + +export function buildVueRouter(router:Router, vueRouter:any, vueRouteMap:RoutesRule|RoutesRule[]) :void |never { + let routes:RoutesRule[] = []; + if (getDataType(vueRouteMap) === '[object Array]') { + routes = (vueRouteMap as RoutesRule[]); + } else { + routes = Object.values(vueRouteMap); + } + const {scrollBehavior, fallback} = router.options.h5 as H5Config; + const oldScrollBehavior = vueRouter.options.scrollBehavior; + vueRouter.options.scrollBehavior = function proxyScrollBehavior( + to:totalNextRoute, + from:totalNextRoute, + savedPosition:any + ) { + oldScrollBehavior && oldScrollBehavior(to, from, savedPosition); + return (scrollBehavior as Function)(to, from, savedPosition) + } + vueRouter.fallback = fallback; + // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 + const newVueRouter:any = new vueRouter.constructor({ + ...router.options.h5, + base: vueRouter.options.base, + mode: vueRouter.options.mode, + routes + }); + vueRouter.matcher = newVueRouter.matcher; +} diff --git a/node_modules/uni-simple-router/src/H5/proxyHook.ts b/node_modules/uni-simple-router/src/H5/proxyHook.ts new file mode 100644 index 0000000..a1d6c29 --- /dev/null +++ b/node_modules/uni-simple-router/src/H5/proxyHook.ts @@ -0,0 +1,71 @@ +import {Router, proxyHookName, totalNextRoute, navtoRule} from '../options/base'; + +export class MyArray extends Array { + constructor( + private router:Router, + private vueEachArray:Array, + private myEachHook:Function, + private hookName:'beforeHooks'| 'afterHooks', + ) { + super(); + Object.setPrototypeOf(this, MyArray.prototype) + } + push(v:any):any { + this.vueEachArray.push(v); + const index = this.length; + this[this.length] = (to: totalNextRoute, from: totalNextRoute, next:(rule?: navtoRule|false)=>void) => { + if (index > 0) { + this.vueEachArray[index](to, from, () => { + next && next() + }); + } else { + this.myEachHook(to, from, (nextTo?:navtoRule|false) => { + // Fixe https://github.com/SilurianYang/uni-simple-router/issues/241 2021年3月6日22:15:27 + // 目前不调用uni-app的守卫函数,因为会丢失页面栈信息 + if (nextTo === false) { + next(false); + } else { + this.vueEachArray[index](to, from, (uniNextTo?:navtoRule|false) => { + next(nextTo); + }) + } + }, this.router, true); + } + }; + } +} + +export function proxyEachHook(router:Router, vueRouter:any):void { + const hookList:Array<'beforeHooks'| 'afterHooks'> = ['beforeHooks', 'afterHooks']; + for (let i = 0; i < hookList.length; i++) { + const hookName = hookList[i]; + const myEachHook = router.lifeCycle[(hookName as proxyHookName)][0]; + if (myEachHook) { + const vueEachArray:Array = vueRouter[hookName]; + vueRouter[hookName] = new MyArray(router, vueEachArray, myEachHook, hookName); + } + } +} +export function proxyH5Mount(router:Router):void { + if (router.mount.length === 0) { + if (router.options.h5?.vueRouterDev) { + return + } + const uAgent = navigator.userAgent; + const isIos = !!uAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) + if (isIos) { + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/109 + setTimeout(() => { + const element = document.getElementsByTagName('uni-page'); + if (element.length > 0) { + return false + } + window.location.reload(); + }, 0); + } + } else { + const [{app}] = router.mount; + app.$mount(); + router.mount = []; + } +} diff --git a/node_modules/uni-simple-router/src/app/appPatch.ts b/node_modules/uni-simple-router/src/app/appPatch.ts new file mode 100644 index 0000000..c9b07ba --- /dev/null +++ b/node_modules/uni-simple-router/src/app/appPatch.ts @@ -0,0 +1,75 @@ +import { objectAny, Router, totalNextRoute } from '../options/base'; +import { AppConfig } from '../options/config'; + +let quitBefore:number|null = null; +let TABBAR:objectAny|null = null; + +export function registerLoddingPage( + router:Router, +):void{ + if (router.options.registerLoadingPage) { + const { loadingPageHook, loadingPageStyle } = router.options.APP as AppConfig; // 获取app所有配置 + const view = new plus.nativeObj.View('router-loadding', { + top: '0px', + left: '0px', + height: '100%', + width: '100%', + ...(loadingPageStyle as Function)() + }); + (loadingPageHook as Function)(view); // 触发等待页面生命周期 + } +} + +export function runtimeQuit( + title:string|undefined = '再按一次退出应用' +):void{ + const nowTime = +new Date(); + if (!quitBefore) { + quitBefore = nowTime; + uni.showToast({ + title, + icon: 'none', + position: 'bottom', + duration: 1000 + }); + setTimeout(() => { quitBefore = null }, 1000); + } else { + if (nowTime - quitBefore < 1000) { + plus.runtime.quit(); + } + } +} + +export function tabIndexSelect( + to:totalNextRoute, + from:totalNextRoute +):boolean { + if (!(__uniConfig.tabBar && Array.isArray(__uniConfig.tabBar.list))) { + return false + } + const tabBarList = __uniConfig.tabBar.list; + const routes:Array = []; + let activeIndex:number = 0; + for (let i = 0; i < tabBarList.length; i++) { + const route:totalNextRoute = tabBarList[i]; + if ('/' + route.pagePath === to.path || '/' + route.pagePath === from.path) { + if (route.pagePath === from.path) { + activeIndex = i; + } + routes.push(route); + } + if (routes.length === 2) { + break + } + } + if (routes.length !== 2) { + return false + } + if (TABBAR == null) { + TABBAR = uni.requireNativePlugin('uni-tabview') + } + (TABBAR as objectAny).switchSelect({ + index: activeIndex + }) + return true +} diff --git a/node_modules/uni-simple-router/src/applets/appletPatch.ts b/node_modules/uni-simple-router/src/applets/appletPatch.ts new file mode 100644 index 0000000..4f4f9ac --- /dev/null +++ b/node_modules/uni-simple-router/src/applets/appletPatch.ts @@ -0,0 +1,18 @@ +import { Router} from '../options/base'; + +export function getEnterPath( + vueVim:any, + router:Router, +) :string { + switch (router.options.platform) { + case 'mp-alipay': + case 'mp-weixin': + case 'mp-toutiao': + case 'mp-qq': + return vueVim.$options.mpInstance.route; + case 'mp-baidu': + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/251 + return vueVim.$options.mpInstance.is || vueVim.$options.mpInstance.pageinstance.route; + } + return vueVim.$options.mpInstance.route; // 这是暂时的 因为除了以上的小程序 其他没测试 先这样写 +} diff --git a/node_modules/uni-simple-router/src/component/link.vue b/node_modules/uni-simple-router/src/component/link.vue new file mode 100644 index 0000000..873f412 --- /dev/null +++ b/node_modules/uni-simple-router/src/component/link.vue @@ -0,0 +1,79 @@ + + + diff --git a/node_modules/uni-simple-router/src/global.d.ts b/node_modules/uni-simple-router/src/global.d.ts new file mode 100644 index 0000000..74a6427 --- /dev/null +++ b/node_modules/uni-simple-router/src/global.d.ts @@ -0,0 +1,7 @@ +declare var uni:any; +declare var plus:any; +declare var __uniConfig:any; +declare var __uniRoutes:any; +declare function getCurrentPages(isAll:boolean|undefined=false):any; +declare function getApp(args?:{allowDefault: true}):any; +declare var $npm_package_name:string; \ No newline at end of file diff --git a/node_modules/uni-simple-router/src/helpers/config.ts b/node_modules/uni-simple-router/src/helpers/config.ts new file mode 100644 index 0000000..1c376f0 --- /dev/null +++ b/node_modules/uni-simple-router/src/helpers/config.ts @@ -0,0 +1,78 @@ +import {err} from './warn' +import { InstantiateConfig, LifeCycleConfig} from '../options/config' +import { vueHookNameRule, proxyDepsRule } from '../options/base'; + +export const mpPlatformReg = '(^mp-weixin$)|(^mp-baidu$)|(^mp-alipay$)|(^mp-toutiao$)|(^mp-qq$)|(^mp-360$)' // 小程序下不能直接导出正则 需要重新组装成正则 不然bug一推 诡异 + +export const baseConfig:InstantiateConfig = { + h5: { + paramsToQuery: false, + vueRouterDev: false, + vueNext: false, + mode: 'hash', + base: '/', + linkActiveClass: 'router-link-active', + linkExactActiveClass: 'router-link-exact-active', + scrollBehavior: (to:any, from:any, savedPostion:Function) => ({ x: 0, y: 0 }), + fallback: true + }, + APP: { + registerLoadingPage: true, + loadingPageStyle: () => JSON.parse('{"backgroundColor":"#FFF"}'), + loadingPageHook: (view:any) => { view.show(); }, + launchedHook: () => { plus.navigator.closeSplashscreen(); }, + animation: {} + }, + applet: { + animationDuration: 300 + }, + platform: 'h5', + keepUniOriginNav: false, + debugger: false, + routerBeforeEach: (to, from, next) => { next() }, + routerAfterEach: (to, from) => {}, + routerErrorEach: (error, router) => { router.$lockStatus = false; err(error, router, true); }, + detectBeforeLock: (router, to, navType) => {}, + routes: [ + { + path: '/choose-location' + }, + { + path: '/open-location' + }, + { + path: '/preview-image' + } + ] +} + +export const lifeCycle:LifeCycleConfig = { + beforeHooks: [], + afterHooks: [], + routerBeforeHooks: [], + routerAfterHooks: [], + routerErrorHooks: [] +}; + +export const proxyHookDeps:proxyDepsRule = { + resetIndex: [], // 还原时执行的生命周期的索引 + hooks: {}, + options: {} +} + +export const proxyHookName:Array = [ + 'onLaunch', + 'onShow', + 'onHide', + 'onError', + 'onInit', + 'onLoad', + 'onReady', + 'onUnload', + 'onResize', + 'created', + 'beforeMount', + 'mounted', + 'beforeDestroy', + 'destroyed' +] diff --git a/node_modules/uni-simple-router/src/helpers/createRouteMap.ts b/node_modules/uni-simple-router/src/helpers/createRouteMap.ts new file mode 100644 index 0000000..288cc37 --- /dev/null +++ b/node_modules/uni-simple-router/src/helpers/createRouteMap.ts @@ -0,0 +1,47 @@ +import {RoutesRule, Router, routesMapRule} from '../options/base'; +import {H5Config} from '../options/config'; +import {warn} from './warn' +import {getRoutePath} from './utils' + +export function createRouteMap( + router: Router, + routes: RoutesRule[], +): routesMapRule|never { + const routesMap:routesMapRule = { + finallyPathList: [], + finallyPathMap: Object.create(null), + aliasPathMap: Object.create(null), + pathMap: Object.create(null), + vueRouteMap: Object.create(null), + nameMap: Object.create(null) + } + routes.forEach(route => { + const { finallyPath, aliasPath, path} = getRoutePath(route, router); + if (path == null) { + throw new Error(`请提供一个完整的路由对象,包括以绝对路径开始的 ‘path’ 字符串 ${JSON.stringify(route)}`); + } + if (finallyPath instanceof Array) { + if (!(router.options.h5 as H5Config).vueRouterDev && router.options.platform === 'h5') { + throw new Error(`非 vueRouterDev 模式下,route.alias 目前无法提供数组类型! ${JSON.stringify(route)}`); + } + } + const strFinallyPath = (finallyPath as string); + const strAliasPath = (aliasPath as string); + if (router.options.platform !== 'h5') { + if (strFinallyPath.indexOf('/') !== 0 && path !== '*') { + warn(`当前路由对象下,route:${JSON.stringify(route)} 是否缺少了前缀 ‘/’`, router, true); + } + } + if (!routesMap.finallyPathMap[strFinallyPath]) { + routesMap.finallyPathMap[strFinallyPath] = route; + routesMap.aliasPathMap[strAliasPath] = route; + routesMap.pathMap[path] = route; + routesMap.finallyPathList.push(strFinallyPath); + if (route.name != null) { + routesMap.nameMap[route.name] = route; + } + } + }) + + return routesMap; +} diff --git a/node_modules/uni-simple-router/src/helpers/lifeCycle.ts b/node_modules/uni-simple-router/src/helpers/lifeCycle.ts new file mode 100644 index 0000000..a2ab776 --- /dev/null +++ b/node_modules/uni-simple-router/src/helpers/lifeCycle.ts @@ -0,0 +1,36 @@ +import { navtoRule, navErrorRule, Router, proxyHookName, guardHookRule, totalNextRoute, hookToggle} from '../options/base'; +import { LifeCycleConfig, InstantiateConfig} from '../options/config'; +import {onTriggerEachHook} from '../public/hooks' + +export function registerHook(list:Array, fn:Function):void { + list[0] = fn; +} + +export function registerRouterHooks(cycleHooks:T, options:InstantiateConfig):T { + registerHook(cycleHooks.routerBeforeHooks, function(to:totalNextRoute, from: totalNextRoute, next:(rule?: navtoRule|false)=>void):void { + (options.routerBeforeEach as Function)(to, from, next); + }) + registerHook(cycleHooks.routerAfterHooks, function(to:totalNextRoute, from: totalNextRoute):void { + (options.routerAfterEach as Function)(to, from); + }) + registerHook(cycleHooks.routerErrorHooks, function(error:navErrorRule, router:Router):void { + (options.routerErrorEach as Function)(error, router); + }) + return cycleHooks; +} + +export function registerEachHooks(router:Router, hookType:proxyHookName, userGuard:guardHookRule) { + registerHook(router.lifeCycle[hookType], function( + to:totalNextRoute, + from: totalNextRoute, + next:(rule?: navtoRule|false)=>void, + router:Router, + auto:boolean, + ):void { + if (auto) { // h5端 vue-router自动触发 非自己调用触发 + onTriggerEachHook(to, from, router, hookToggle[hookType], next) + } else { + userGuard(to, from, next) + } + }) +} diff --git a/node_modules/uni-simple-router/src/helpers/mixins.ts b/node_modules/uni-simple-router/src/helpers/mixins.ts new file mode 100644 index 0000000..9a02f34 --- /dev/null +++ b/node_modules/uni-simple-router/src/helpers/mixins.ts @@ -0,0 +1,109 @@ +import { Router, routesMapRule, RoutesRule, pageTypeRule} from '../options/base'; +import {createRouteMap} from '../helpers/createRouteMap' +import {buildVueRoutes, buildVueRouter} from '../H5/buildRouter' +import {proxyEachHook} from '../H5/proxyHook' +import {registerLoddingPage} from '../app/appPatch'; +import { proxyPageHook } from '../public/page'; +import { forceGuardEach } from '../public/methods'; +import { assertParentChild, voidFun } from './utils'; +import { getEnterPath } from '../applets/appletPatch'; +import { mpPlatformReg } from './config'; + +let registerRouter:boolean = false; +let onloadProxyOk:boolean = false; + +const appletProxy:{ + app:boolean; + page:string; +} = { + app: false, + page: '' +} + +export function getMixins(Vue:any, router: Router):{ + beforeCreate(this: any): void; +} | { + beforeCreate(): void; +} | { + onLaunch(): void; +} { + let platform = router.options.platform; + if (new RegExp(mpPlatformReg, 'g').test(platform)) { + platform = 'app-lets'; + } + const toggleHooks = { + h5: { + beforeCreate(this: any): void { + if (this.$options.router) { + router.$route = this.$options.router; // 挂载vue-router到路由对象下 + let vueRouteMap:RoutesRule[]|RoutesRule = []; + if (router.options.h5?.vueRouterDev) { + vueRouteMap = router.options.routes; + } else { + vueRouteMap = createRouteMap(router, this.$options.router.options.routes).finallyPathMap; + (router.routesMap as routesMapRule).vueRouteMap = vueRouteMap; + buildVueRoutes(router, vueRouteMap); + } + buildVueRouter(router, this.$options.router, vueRouteMap); + proxyEachHook(router, this.$options.router); + } + } + }, + 'app-plus': { + beforeCreate(this: any): void { + if (!registerRouter) { + registerRouter = true; + proxyPageHook(this, router, 'app'); + registerLoddingPage(router); + } + } + }, + 'app-lets': { + beforeCreate(this: any): void { + // 保证这个函数不会被重写 + const pluginMark = $npm_package_name; + voidFun(pluginMark); + + let isProxy:boolean = true; + const pageType:pageTypeRule = this.$options.mpType; + + if (onloadProxyOk) { + return + } + + if (pageType === 'component') { + isProxy = assertParentChild(appletProxy['page'], this); + } else { + if (pageType === 'page') { + appletProxy[pageType] = getEnterPath(this, router); + router.enterPath = appletProxy[pageType]; // 我不确定在不同端是否都是同样的变现?可能有的为非绝对路径? + } else { + appletProxy[pageType] = true; + } + } + if (isProxy) { + proxyPageHook(this, router, pageType); + } + }, + onLoad(this: any):void{ + // 保证这个函数不会被重写,否则必须在启动页写onLoad + const pluginMark = $npm_package_name; + voidFun(pluginMark); + + if (!onloadProxyOk && assertParentChild(appletProxy['page'], this)) { + onloadProxyOk = true; + forceGuardEach(router); + } + } + } + }; + return toggleHooks[(platform as 'h5'|'app-plus'|'app-lets')]; +} +export function initMixins(Vue: any, router: Router) { + const routesMap = createRouteMap(router, router.options.routes); + router.routesMap = routesMap; // 挂载自身路由表到路由对象下 + // Vue.util.defineReactive(router, '_Route', createRoute(router, 19970806)) + Vue.mixin({ + ...getMixins(Vue, router) + }); +} diff --git a/node_modules/uni-simple-router/src/helpers/utils.ts b/node_modules/uni-simple-router/src/helpers/utils.ts new file mode 100644 index 0000000..7fbd76f --- /dev/null +++ b/node_modules/uni-simple-router/src/helpers/utils.ts @@ -0,0 +1,452 @@ +import {H5Config, InstantiateConfig} from '../options/config'; +import {RoutesRule, routesMapRule, routesMapKeysRule, Router, totalNextRoute, objectAny, navErrorRule, NAVTYPE, navRoute, uniBackApiRule, uniBackRule} from '../options/base'; +import {baseConfig} from '../helpers/config'; +import {ERRORHOOK} from '../public/hooks' +import {warnLock} from '../helpers/warn' +import { createRoute, navjump } from '../public/methods'; +const Regexp = require('path-to-regexp'); + +export function voidFun(...args:any):void{} + +export function def( + defObject:objectAny, + key:string, + getValue:Function +) { + Object.defineProperty(defObject, key, { + get() { + return getValue(); + } + }) +} + +export function timeOut(time:number):Promise { + return new Promise(resolve => { + setTimeout(() => { + resolve(); + }, time) + }) +} + +export function mergeConfig(baseConfig: T, userConfig: T): T { + const config: {[key: string]: any} = Object.create(null); + const baseConfigKeys: Array = Object.keys(baseConfig).concat(['resolveQuery', 'parseQuery']); + for (let i = 0; i < baseConfigKeys.length; i += 1) { + const key = baseConfigKeys[i]; + if (userConfig[key] != null) { + if (userConfig[key].constructor === Object) { + config[key] = { + ...baseConfig[key], + ...userConfig[key] + }; + } else if (key === 'routes') { + config[key] = [ + ...baseConfig[key], + ...userConfig[key] + ]; + } else { + config[key] = userConfig[key]; + } + } else { + config[key] = baseConfig[key]; + } + } + return config as T; +} + +export function notDeepClearNull(object:T):T { + for (const key in object) { + if (object[key] == null) { + delete object[key]; + } + } + return object; +} + +export function getRoutePath(route: RoutesRule, router:Router): { + finallyPath: string | string[]; + aliasPath: string; + path: string; + alias: string | string[] | undefined; +} { + let finallyPath = route.aliasPath || route.alias || route.path; + if (router.options.platform !== 'h5') { + finallyPath = route.path + } + return { + finallyPath, + aliasPath: route.aliasPath || route.path, + path: route.path, + alias: route.alias + } +} + +export function assertNewOptions( + options: T +): T | never { + const {platform, routes} = options; + if (platform == null) { + throw new Error(`你在实例化路由时必须传递 'platform'`); + } + if (routes == null || routes.length === 0) { + throw new Error(`你在实例化路由时必须传递 routes 为空,这是无意义的。`); + } + if (options.platform === 'h5') { + if (options.h5?.vueRouterDev) { + baseConfig.routes = []; + } + } + const mergeOptions = mergeConfig(baseConfig as T, options); + return mergeOptions; +} + +export function getWildcardRule( + router:Router, + msg?:navErrorRule +):RoutesRule|never { + const routesMap = (router.routesMap as routesMapRule); + const route = routesMap.finallyPathMap['*']; + if (route) { // 有写通配符 + return route + } + if (msg) { + ERRORHOOK[0](msg, router); + } + throw new Error(`当前路由表匹配规则已全部匹配完成,未找到满足的匹配规则。你可以使用 '*' 通配符捕捉最后的异常`); +} + +export function notRouteTo404( + router:Router, + toRoute:RoutesRule|{ + redirect:any; + path:string + }, + parseToRule:totalNextRoute, + navType:NAVTYPE +):RoutesRule|totalNextRoute|never { + if (toRoute.path !== '*') { // 不是通配符 正常匹配成功 + return (toRoute as RoutesRule); + } + + const redirect = toRoute.redirect; + + if (typeof redirect === 'undefined') { + throw new Error(` * 通配符必须配合 redirect 使用。redirect: string | Location | Function`); + } + + let newRoute = redirect; + if (typeof newRoute === 'function') { + newRoute = newRoute(parseToRule) as totalNextRoute; + } + const redirectRule = navjump(newRoute as totalNextRoute, router, navType, undefined, undefined, undefined, false); + return (redirectRule as totalNextRoute); +} + +export function routesForMapRoute( + router: Router, + path: string, + mapArrayKey:Array, + deepFind:boolean|undefined = false +):RoutesRule|never { + if (router.options.h5?.vueRouterDev) { + return {path} + } + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/252 + const startPath = path.split('?')[0]; + let wildcard = ''; + const routesMap = (router.routesMap as routesMapRule); + for (let i = 0; i < mapArrayKey.length; i++) { + const mapKey = mapArrayKey[i]; + const mapList = routesMap[mapKey]; + for (const [key, value] of Object.entries(mapList)) { + if (key === '*') { + if (wildcard === '') { + wildcard = '*' + } + continue; + } + const route:string|RoutesRule = value; + let rule:string = key; + if (getDataType|objectAny>(mapList) === '[object Array]') { + rule = (route as string); + } + const pathRule:RegExp = Regexp(rule); + const result = pathRule.exec(startPath); + if (result != null) { + if (getDataType(route) === '[object String]') { + return routesMap.finallyPathMap[(route as string)]; + } + return (route as RoutesRule); + } + } + } + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/302 2021-8-4 16:38:44 + if (deepFind) { + return ({} as RoutesRule); + } + if (routesMap['aliasPathMap']) { + const results = routesForMapRoute(router, path, ['aliasPathMap'], true); + if (Object.keys(results).length > 0) { + return results; + } + } + if (wildcard !== '') { + return getWildcardRule(router); + } + throw new Error(`${path} 路径无法在路由表中找到!检查跳转路径及路由表`); +} + +export function getDataType(data:T):string { + return Object.prototype.toString.call(data) +} + +export function copyData(object:T): T { + return JSON.parse(JSON.stringify(object)) +} + +export function getUniCachePage(pageIndex?:number):T|[] { + const pages:T = getCurrentPages(); + if (pageIndex == null) { + return pages + } + if (pages.length === 0) { + return pages; + } + const page = pages.reverse()[pageIndex]; + if (page == null) { + return [] + } + return page; +} + +export function urlToJson(url :string):{ + path:string; + query:objectAny +} { + const query:objectAny = {}; + const [path, params] = url.split('?'); + if (params != null) { + const parr = params.split('&'); + for (const i of parr) { + const arr = i.split('='); + query[arr[0]] = arr[1]; + } + } + return { + path, + query + } +} + +export function forMatNextToFrom( + router:Router, + to:T, + from:T +):{ + matTo:T; + matFrom: T; +} { + let [matTo, matFrom] = [to, from]; + if (router.options.platform === 'h5') { + const {vueNext, vueRouterDev} = (router.options.h5 as H5Config); + if (!vueNext && !vueRouterDev) { + matTo = createRoute(router, undefined, matTo) as T; + matFrom = createRoute(router, undefined, matFrom) as T; + } + } else { + matTo = createRoute(router, undefined, deepClone(matTo)) as T; + matFrom = createRoute(router, undefined, deepClone(matFrom)) as T; + } + return { + matTo: matTo, + matFrom: matFrom + } +} + +export function paramsToQuery( + router:Router, + toRule:totalNextRoute|string +):totalNextRoute|string { + if (router.options.platform === 'h5' && !router.options.h5?.paramsToQuery) { + return toRule; + } + if (getDataType(toRule) === '[object Object]') { + const {name, params, ...moreToRule} = (toRule as totalNextRoute); + let paramsQuery = params; + if (router.options.platform !== 'h5' && paramsQuery == null) { + paramsQuery = {}; + } + if (name != null && paramsQuery != null) { + let route = (router.routesMap as routesMapRule).nameMap[name]; + if (route == null) { + route = getWildcardRule(router, { type: 2, msg: `命名路由为:${name} 的路由,无法在路由表中找到!`, toRule}); + } + const {finallyPath} = getRoutePath(route, router); + if (finallyPath.includes(':')) { // 动态路由无法使用 paramsToQuery + ERRORHOOK[0]({ type: 2, msg: `动态路由:${finallyPath} 无法使用 paramsToQuery!`, toRule}, router); + } else { + return { + ...moreToRule, + path: finallyPath as string, + query: paramsQuery + } + } + } + } + return toRule +} + +export function assertDeepObject(object:objectAny):boolean { + let arrMark = null; + try { + arrMark = JSON.stringify(object).match(/\{|\[|\}|\]/g); + } catch (error) { + warnLock(`传递的参数解析对象失败。` + error) + } + if (arrMark == null) { + return false + } + if (arrMark.length > 3) { + return true; + } + return false +} + +export function baseClone< +T extends { + [key:string]:any +}, K extends keyof T +>( + source:T, + target:Array|objectAny +):Array|objectAny|null { + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/292 + // 小程序会将null解析为字符串 undefined 建议不要在参数中传递 null + if (source == null) { + target = source; + } else { + for (const key of Object.keys(source)) { + const dyKey = key as T[K]; + if (source[key] === source) continue + if (typeof source[key] === 'object') { + target[dyKey] = getDataType(source[key]) === '[object Array]' ? ([] as Array) : ({} as objectAny) + target[dyKey] = baseClone(source[key], target[dyKey]) + } else { + target[dyKey] = source[key] + } + } + } + return target; +} + +export function deepClone(source:T):T { + const __ob__ = getDataType(source) === '[object Array]' ? ([] as Array) : ({} as objectAny); + baseClone(source, __ob__) + return __ob__ as T +} + +export function lockDetectWarn( + router:Router, + to:string|number|totalNextRoute|navRoute, + navType:NAVTYPE, + next:Function, + uniActualData:uniBackApiRule|uniBackRule|undefined = {}, + passiveType?:'beforeHooks'| 'afterHooks' +):void{ + if (passiveType === 'afterHooks') { + next(); + } else { + const {detectBeforeLock} = router.options; + detectBeforeLock && detectBeforeLock(router, to, navType); + if (router.$lockStatus) { + (router.options.routerErrorEach as (error: navErrorRule, router:Router) => void)({ + type: 2, + msg: '当前页面正在处于跳转状态,请稍后再进行跳转....', + NAVTYPE: navType, + uniActualData + }, router); + } else { + next(); + } + } +} + +export function assertParentChild( + parentPath:string, + vueVim:any, +):boolean { + while (vueVim.$parent != null) { + const mpPage = vueVim.$parent.$mp; + if (mpPage.page && mpPage.page.is === parentPath) { + return true; + } + vueVim = vueVim.$parent; + } + try { + if (vueVim.$mp.page.is === parentPath || vueVim.$mp.page.route === parentPath) { + return true + } + } catch (error) { + return false + } + return false +} + +export function resolveAbsolutePath( + path:string, + router:Router +):string|never { + const reg = /^\/?([^\?\s]+)(\?.+)?$/; + const trimPath = path.trim(); + if (!reg.test(trimPath)) { + throw new Error(`【${path}】 路径错误,请提供完整的路径(10001)。`); + } + const paramsArray = trimPath.match(reg); + if (paramsArray == null) { + throw new Error(`【${path}】 路径错误,请提供完整的路径(10002)。`); + } + const query:string = paramsArray[2] || ''; + if (/^\.\/[^\.]+/.test(trimPath)) { // 当前路径下 + const navPath:string = router.currentRoute.path + path; + return navPath.replace(/[^\/]+\.\//, ''); + } + const relative = paramsArray[1].replace(/\//g, `\\/`).replace(/\.\./g, `[^\\/]+`).replace(/\./g, '\\.'); + const relativeReg = new RegExp(`^\\/${relative}$`); + const route = router.options.routes.filter(it => relativeReg.test(it.path)); + if (route.length !== 1) { + throw new Error(`【${path}】 路径错误,尝试转成绝对路径失败,请手动转成绝对路径(10003)。`); + } + return route[0].path + query; +} + +export function deepDecodeQuery( + query:objectAny +):objectAny { + const formatQuery:objectAny = getDataType(query) === '[object Array]' ? [] : {}; + const keys = Object.keys(query); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const it = query[key]; + if (typeof it === 'string') { + try { + let json = JSON.parse(decodeURIComponent(it)); + if (typeof json !== 'object') { + json = it; + } + formatQuery[key] = json; + } catch (error) { + try { + formatQuery[key] = decodeURIComponent(it) + } catch (error) { + formatQuery[key] = it + } + } + } else if (typeof it === 'object') { + const childQuery = deepDecodeQuery(it); + formatQuery[key] = childQuery + } else { + formatQuery[key] = it + } + } + return formatQuery +} diff --git a/node_modules/uni-simple-router/src/helpers/warn.ts b/node_modules/uni-simple-router/src/helpers/warn.ts new file mode 100644 index 0000000..817ffb7 --- /dev/null +++ b/node_modules/uni-simple-router/src/helpers/warn.ts @@ -0,0 +1,37 @@ + +import {debuggerConfig, debuggerArrayConfig} from '../options/config' +import {Router} from '../options/base' + +type callType='error'|'warn'|'log'; + +export function isLog(type:callType, dev:debuggerConfig, errText:any, enforce:boolean = false):boolean { + if (!enforce) { + const isObject = dev.toString() === '[object Object]'; + if (dev === false) { + return false + } else if (isObject) { + if ((dev as debuggerArrayConfig)[type] === false) { + return false; + } + } + } + console[type](errText); + return true; +} +export function err(errText:any, router:Router, enforce?:boolean):void { + const dev = (router.options.debugger as debuggerConfig); + isLog('error', dev, errText, enforce); +} + +export function warn(errText:any, router:Router, enforce?:boolean):void { + const dev = (router.options.debugger as debuggerConfig); + isLog('warn', dev, errText, enforce); +} + +export function log(errText:any, router:Router, enforce?:boolean):void { + const dev = (router.options.debugger as debuggerConfig); + isLog('log', dev, errText, enforce); +} +export function warnLock(errText:any):void { + console.warn(errText); +} diff --git a/node_modules/uni-simple-router/src/index.ts b/node_modules/uni-simple-router/src/index.ts new file mode 100644 index 0000000..3d5812f --- /dev/null +++ b/node_modules/uni-simple-router/src/index.ts @@ -0,0 +1,11 @@ +export * from './options/base' +export * from './options/config' + +export { + runtimeQuit +} from './app/appPatch' + +export { + RouterMount, + createRouter +} from './public/router' diff --git a/node_modules/uni-simple-router/src/options/base.ts b/node_modules/uni-simple-router/src/options/base.ts new file mode 100644 index 0000000..2f23883 --- /dev/null +++ b/node_modules/uni-simple-router/src/options/base.ts @@ -0,0 +1,245 @@ +import {InstantiateConfig, LifeCycleConfig} from '../options/config'; + +export enum hookToggle{ + 'beforeHooks'='beforeEach', + 'afterHooks'='afterEach', + 'enterHooks'='beforeEnter' +} +export enum navtypeToggle{ + 'push'='navigateTo', + 'replace'='redirectTo', + 'replaceAll'='reLaunch', + 'pushTab'='switchTab', + 'back'='navigateBack' +} +export enum rewriteMethodToggle{ + 'navigateTo'='push', + 'navigate'='push', + 'redirectTo'='replace', + 'reLaunch'='replaceAll', + 'switchTab'='pushTab', + 'navigateBack'='back', +} +export type proxyDepsRule={ + resetIndex:Array; + hooks: { + [key: number]:{ + proxyHook:()=>void; + callHook:(enterPath:string)=>void; + resetHook: ()=>void + } + }; + options: {[key: number]: Array;}; +}; +export type backTypeRule='backbutton'|'navigateBack' +export type pageTypeRule='app'|'page'|'component'; +export type vueHookNameRule='onLaunch'|'onShow'|'onHide'|'onError'|'onInit'|'onLoad'|'onReady'|'onUnload'|'onResize'|'created'|'beforeMount'|'mounted'|'beforeDestroy'|'destroyed' +export type reNavMethodRule='navigateTo'|'redirectTo'|'reLaunch'|'switchTab'; +export type reNotNavMethodRule='navigateBack'; +export type reloadNavRule=totalNextRoute | false | undefined|string; +export type hookListRule=Array<(router:Router, to:totalNextRoute, from: totalNextRoute, toRoute:RoutesRule,next:Function)=>void> +export type guardHookRule=(to: totalNextRoute, from: totalNextRoute, next:(rule?: navtoRule|false)=>void)=>void; +export type navRuleStatus= 0|1|2|3; //0: next(false) 1:next(unknownType) 2:加锁状态,禁止跳转 3:在获取页面栈的时候,页面栈不够level获取 +export type proxyHookName='beforeHooks'|'afterHooks'; +export type navMethodRule = Promise; +export type objectAny={[propName: string]: any;}; +export type NAVTYPE = 'push' | 'replace' | 'replaceAll' | 'pushTab'|'back'; +export type startAnimationType = + | 'slide-in-right' + | 'slide-in-left' + | 'slide-in-top' + | 'slide-in-bottom' + | 'pop-in' + | 'fade-in' + | 'zoom-out' + | 'zoom-fade-out' + | 'none'; +export type endAnimationType = + | 'slide-out-right' + | 'slide-out-left' + | 'slide-out-top' + | 'slide-out-bottom' + | 'pop-out' + | 'fade-out' + | 'zoom-in' + | 'zoom-fade-in' + | 'none'; + +export type vueOptionRule = { + [propName in vueHookNameRule]: Array | undefined; +}; + +// 跳转api时,传递的跳转规则 +export interface navtoRule { + NAVTYPE?: NAVTYPE; // 跳转类型 v1.1.0+ + path?: string; // 跳转路径 绝对路径 + name?: string | undefined; // 跳转路径名称 + query?: objectAny; // 跳转使用path时 query包含需要传递的参数 + params?: objectAny; // 跳转使用name时 params包含需要传递的参数 + animationType?: startAnimationType|endAnimationType; + animationDuration?: number; + events?: objectAny; + success?: Function; + fail?: Function; + complete?: Function; +} +// h5 next管道函数中传递的from及to对象 +export interface h5NextRule { + fullPath?: string | undefined; + hash?: string | undefined; + matched?: Array; + meta?: object; + name?: undefined | string; + type?: undefined | string; +} + +export interface totalNextRoute extends h5NextRule, navtoRule { + path:string; + delta?:number; + [propName: string]: any; +} +export interface navRoute extends h5NextRule, navtoRule { + +} + +// 开始切换窗口动画 app端可用 +export interface startAnimationRule { + animationType?: startAnimationType; // 窗口关闭的动画效果 + animationDuration?: number; // 窗口关闭动画的持续时间 +} +// 关闭窗口时的动画 app端可用 +export interface endAnimationRule { + animationType?: endAnimationType; // 窗口关闭的动画效果 + animationDuration?: number; // 窗口关闭动画的持续时间 +} +export interface hookObjectRule { + options:Array; + hook:Function; +} + +// 执行路由跳转失败或者 next(false) 时走的规则 +export interface navErrorRule { + type: navRuleStatus; + msg: string; + to?:totalNextRoute; + from?:totalNextRoute; + nextTo?:any; + [propName:string]:any; +} +// uni原生api跳转时的规则 +export interface uniNavApiRule { + url: string; + openType?:'appLaunch', + query?:objectAny; + path?:string; + delta?:number; + detail?:{[propName:string]:any}; + animationType?:startAnimationType; + animationDuration?:number; + events?:{[propName:string]:any}; + success?:Function; + fail?:Function; + complete?:Function; + animation?:{ + animationType?:startAnimationType; + animationDuration?:number; + } +} + +export interface originMixins extends uniNavApiRule{ + BACKTYPE:''|backTypeRule +} + +// uni-app 原始返回api 回调参数 +export interface uniBackRule{ + from:backTypeRule; +} + +export interface uniBackApiRule{ + delta?: number; + animationDuration?: number; + animationType?:endAnimationType; +} + +export type routesMapKeysRule= + 'finallyPathList'| + 'finallyPathMap'| + 'aliasPathMap'| + 'pathMap'| + 'nameMap'| + 'vueRouteMap'; + +export interface routesMapRule{ + [key:string]:any; + finallyPathList: Array; + finallyPathMap:RoutesRule; + aliasPathMap: RoutesRule; + pathMap: RoutesRule; + nameMap:RoutesRule, + vueRouteMap:objectAny +} + +export interface routeRule{ + name:string|undefined; + meta:objectAny; + path:string; + query:objectAny; + params:objectAny; + fullPath:string; + NAVTYPE:NAVTYPE|''; + BACKTYPE?:backTypeRule|''; // v2.0.5 + + [propName: string]: any; +} + + +export interface RoutesRule { + path: string; // pages.json中的path 必须加上 '/' 开头 + component?: object; // H5端可用 + name?: string; // 命名路由 + components?: object; // 命名视图组件,H5端可用 + redirect?: string | Function; // H5端可用 + props?: boolean | object | Function; // H5端可用 + aliasPath?: string; // h5端 设置一个别名路径来替换 uni-app的默认路径 + alias?: string | Array; // H5端可用 + children?: Array; // 嵌套路由,H5端可用 + beforeEnter?:guardHookRule; // 路由元守卫 + meta?: any; // 其他格外参数 + [propName: string]: any; +} + +export interface Router { + [key:string]:any; + readonly lifeCycle: LifeCycleConfig; + readonly options: InstantiateConfig; + $lockStatus:boolean; + $route: object | null; + enterPath:string; + Vue:any; + appMain:{ + NAVTYPE:reNavMethodRule|reNotNavMethodRule, + path:string + }|{}; + proxyHookDeps: proxyDepsRule; + routesMap: routesMapRule|{}; + mount: Array<{app: any; el: string}>; + install(Vue: any): void; + push(to: totalNextRoute|navRoute | string,from?:totalNextRoute): void; // 动态的导航到一个新 URL 保留浏览历史 + replace(to: totalNextRoute|navRoute | string,from?:totalNextRoute): void; // 动态的导航到一个新 URL 关闭当前页面,跳转到的某个页面。 + replaceAll(to: totalNextRoute|navRoute | string,from?:totalNextRoute): void; // 动态的导航到一个新 URL 关闭所有页面,打开到应用内的某个页面 + pushTab(to: totalNextRoute|navRoute | string,from?:totalNextRoute): void; // 动态的导航到一个新 url 关闭所有页面,打开到应用内的某个tab + back(level:number|undefined,origin?:uniBackRule|uniBackApiRule):void; + forceGuardEach(navType:NAVTYPE|undefined,forceNav:boolean):void; //强制触发当前守卫 + beforeEach(userGuard:guardHookRule): void; // 添加全局前置路由守卫 + afterEach(userGuard:(to: totalNextRoute, from: totalNextRoute)=>void): void; // 添加全局后置路由守卫 +} + + +export type PromiseResolve=(value?: void | PromiseLike | undefined) => void; + +// @ts-ignore +declare module 'vue/types/vue' { + interface Vue { + $Router: Router; + $Route: routeRule; + } +} \ No newline at end of file diff --git a/node_modules/uni-simple-router/src/options/config.ts b/node_modules/uni-simple-router/src/options/config.ts new file mode 100644 index 0000000..fc7efdc --- /dev/null +++ b/node_modules/uni-simple-router/src/options/config.ts @@ -0,0 +1,57 @@ +import {startAnimationRule, hookListRule, RoutesRule, navtoRule, navErrorRule, Router, objectAny, NAVTYPE, totalNextRoute, navRoute} from './base'; + +export type debuggerConfig=boolean|debuggerArrayConfig; +export type platformRule='h5'|'app-plus'|'app-lets'|'mp-weixin'|'mp-baidu'|'mp-alipay'|'mp-toutiao'|'mp-qq'|'mp-360'; + +export interface H5Config { + paramsToQuery?: boolean; // h5端上通过params传参时规则是vue-router 刷新会丢失 开启此开关将变成?连接的方式 + vueRouterDev?: boolean; // 完全使用采用vue-router的开发模式 + vueNext?: boolean; // 在next管道函数中是否获取vueRouter next的原本参数 + mode?: string; + base?: string; + linkActiveClass?: string; + linkExactActiveClass?: string; + scrollBehavior?: Function; + fallback?: boolean; +} +export interface AppConfig { + registerLoadingPage?:boolean; // 是否注册过渡加载页 +v2.0.6 + loadingPageStyle?: () => object; // 当前等待页面的样式 必须返回一个json + loadingPageHook?: (view:any)=>void; // 刚刚打开页面处于等待状态,会触发此函数 + launchedHook?:()=>void; // 首次启动app完成 + animation?: startAnimationRule; // 页面切换动画 +} +export interface appletConfig { + animationDuration?:number; // 页面切换时间,有助于路由锁精准解锁 +} + +export interface debuggerArrayConfig{ + error?:boolean; + warn?:boolean; + log?:boolean; +} + +export interface InstantiateConfig { + [key:string]:any; + keepUniOriginNav?:boolean; // 重写uni-app的跳转方法;关闭后使用uni-app的原始方法跳转和插件api跳转等同 + platform:platformRule; // 当前运行平台 + h5?: H5Config; + APP?: AppConfig; + applet?:appletConfig; + debugger?: debuggerConfig; // 是否处于开发阶段 设置为true则打印日志 + routerBeforeEach?: (to:navtoRule, from:navtoRule, next:(rule?: navtoRule|false)=>void) => void; // router 前置路由函数 每次触发跳转前先会触发此函数 + routerAfterEach?: (to:navtoRule, from:navtoRule, next?: Function) => void; // router 后置路由函数 每次触发跳转后会触发此函数 + routerErrorEach?: (error: navErrorRule, router:Router) => void; + resolveQuery?:(jsonQuery:objectAny)=>objectAny; // 跳转之前把参数传递给此函数、返回最终的数据!有此函数不走默认方法 + parseQuery?:(jsonQuery:objectAny)=>objectAny; // 读取值之前把参数传递给此函数,返回最终的数据!有此函数不走默认方法 + detectBeforeLock?:(router:Router, to:string|number|totalNextRoute|navRoute, navType:NAVTYPE)=>void; // 在检测路由锁之前触发的函数 + routes: RoutesRule[]; +} +export interface LifeCycleConfig{ + beforeHooks: hookListRule; + afterHooks: hookListRule; + routerBeforeHooks: hookListRule; + routerAfterHooks: hookListRule; + routerErrorHooks: Array<(error:navErrorRule, router:Router)=>void>; +} + diff --git a/node_modules/uni-simple-router/src/public/hooks.ts b/node_modules/uni-simple-router/src/public/hooks.ts new file mode 100644 index 0000000..e784b42 --- /dev/null +++ b/node_modules/uni-simple-router/src/public/hooks.ts @@ -0,0 +1,177 @@ +import { + Router, + hookListRule, + navtoRule, + reloadNavRule, + totalNextRoute, + hookToggle, + NAVTYPE, + navErrorRule, + objectAny +} from '../options/base'; +import { + routesForMapRoute, + getDataType, + forMatNextToFrom, + getUniCachePage, + voidFun +} from '../helpers/utils' +import { navjump } from './methods'; +import { proxyH5Mount } from '../H5/proxyHook'; +import { tabIndexSelect } from '../app/appPatch'; + +export const ERRORHOOK:Array<(error:navErrorRule, router:Router)=>void> = [ + (error, router) => router.lifeCycle.routerErrorHooks[0](error, router) +] +export const HOOKLIST: hookListRule = [ + (router, to, from, toRoute, next) => callHook(router.lifeCycle.routerBeforeHooks[0], to, from, router, next), + (router, to, from, toRoute, next) => callBeforeRouteLeave(router, to, from, next), + (router, to, from, toRoute, next) => callHook(router.lifeCycle.beforeHooks[0], to, from, router, next), + (router, to, from, toRoute, next) => callHook(toRoute.beforeEnter, to, from, router, next), + (router, to, from, toRoute, next) => callHook(router.lifeCycle.afterHooks[0], to, from, router, next, false), + (router, to, from, toRoute, next) => { + router.$lockStatus = false; + if (router.options.platform === 'h5') { + proxyH5Mount(router); + } + return callHook(router.lifeCycle.routerAfterHooks[0], to, from, router, next, false) + } +]; + +export function callBeforeRouteLeave( + router:Router, + to:totalNextRoute, + from:totalNextRoute, + resolve:Function +):void { + const page = getUniCachePage(0); + let beforeRouteLeave; + if (Object.keys(page).length > 0) { + let leaveHooks:Array|undefined|Function; + if (router.options.platform === 'h5') { + leaveHooks = (page as objectAny).$options.beforeRouteLeave; + } else { + if ((page as objectAny).$vm != null) { + leaveHooks = (page as objectAny).$vm.$options.beforeRouteLeave; + } + } + switch (getDataType>((leaveHooks as Array))) { + case '[object Array]': // h5端表现 + beforeRouteLeave = (leaveHooks as Array)[0]; + beforeRouteLeave = beforeRouteLeave.bind(page) + break; + case '[object Function]': // 目前app端表现 + beforeRouteLeave = (leaveHooks as Function).bind((page as objectAny).$vm); + break + } + } + return callHook(beforeRouteLeave, to, from, router, resolve); +} + +export function callHook( + hook:Function|undefined, + to:totalNextRoute, + from: totalNextRoute, + router:Router, + resolve:Function, + hookAwait:boolean|undefined = true +):void { + if (hook != null && hook instanceof Function) { + if (hookAwait === true) { + hook(to, from, resolve, router, false); + } else { + hook(to, from, () => {}, router, false); + resolve(); + } + } else { + resolve(); + } +} + +export function onTriggerEachHook( + to:totalNextRoute, + from: totalNextRoute, + router:Router, + hookType:hookToggle, + next:(rule?: navtoRule|false)=>void, +):void { + let callHookList:hookListRule = []; + switch (hookType) { + case 'beforeEach': + callHookList = HOOKLIST.slice(0, 3); + break; + case 'afterEach': + callHookList = HOOKLIST.slice(4); + break + case 'beforeEnter': + callHookList = HOOKLIST.slice(3, 4); + break; + } + transitionTo(router, to, from, 'push', callHookList, next); +} + +export function transitionTo( + router:Router, + to:totalNextRoute, + from: totalNextRoute, + navType:NAVTYPE, + callHookList:hookListRule, + hookCB:Function +) :void{ + const {matTo, matFrom} = forMatNextToFrom(router, to, from); + if (router.options.platform === 'h5') { + loopCallHook(callHookList, 0, hookCB, router, matTo, matFrom, navType); + } else { + loopCallHook(callHookList.slice(0, 4), 0, () => { + hookCB(() => { // 非H5端等他跳转完才触发最后两个生命周期 + loopCallHook(callHookList.slice(4), 0, voidFun, router, matTo, matFrom, navType); + }); + }, router, matTo, matFrom, navType); + } +} + +export function loopCallHook( + hooks:hookListRule, + index:number, + next:Function, + router:Router, + matTo:totalNextRoute, + matFrom: totalNextRoute, + navType:NAVTYPE, +): void|Function { + const toRoute = routesForMapRoute(router, matTo.path, ['finallyPathMap', 'pathMap']); + if (hooks.length - 1 < index) { + return next(); + } + const hook = hooks[index]; + const errHook = ERRORHOOK[0]; + hook(router, matTo, matFrom, toRoute, (nextTo:reloadNavRule) => { + if (router.options.platform === 'app-plus') { + if (nextTo === false || (typeof nextTo === 'string' || typeof nextTo === 'object')) { + tabIndexSelect(matTo, matFrom); + } + } + if (nextTo === false) { + if (router.options.platform === 'h5') { + next(false); + } + errHook({ type: 0, msg: '管道函数传递 false 导航被终止!', matTo, matFrom, nextTo }, router) + } else if (typeof nextTo === 'string' || typeof nextTo === 'object') { + let newNavType = navType; + let newNextTo = nextTo; + if (typeof nextTo === 'object') { + const {NAVTYPE: type, ...moreTo} = nextTo; + newNextTo = moreTo; + if (type != null) { + newNavType = type; + } + } + navjump(newNextTo, router, newNavType, {from: matFrom, next}) + } else if (nextTo == null) { + index++; + loopCallHook(hooks, index, next, router, matTo, matFrom, navType) + } else { + errHook({ type: 1, msg: '管道函数传递未知类型,无法被识别。导航被终止!', matTo, matFrom, nextTo }, router) + } + }); +} diff --git a/node_modules/uni-simple-router/src/public/methods.ts b/node_modules/uni-simple-router/src/public/methods.ts new file mode 100644 index 0000000..39cbc98 --- /dev/null +++ b/node_modules/uni-simple-router/src/public/methods.ts @@ -0,0 +1,258 @@ +import { + NAVTYPE, + Router, + totalNextRoute, + objectAny, + routeRule, + reNavMethodRule, + rewriteMethodToggle, + navtypeToggle, + navErrorRule, + uniBackApiRule, + uniBackRule, + navRoute +} from '../options/base' +import { + queryPageToMap, + resolveQuery, + parseQuery +} from './query' +import { + voidFun, + paramsToQuery, + getUniCachePage, + routesForMapRoute, + copyData, + lockDetectWarn, + getDataType, + notRouteTo404, + deepDecodeQuery +} from '../helpers/utils' +import { transitionTo } from './hooks'; +import {createFullPath, createToFrom} from '../public/page' +import {HOOKLIST} from './hooks' + +export function lockNavjump( + to:string|totalNextRoute|navRoute, + router:Router, + navType:NAVTYPE, + forceNav?:boolean, + animation?:uniBackApiRule|uniBackRule +):void{ + lockDetectWarn(router, to, navType, () => { + if (router.options.platform !== 'h5') { + router.$lockStatus = true; + } + navjump(to as totalNextRoute, router, navType, undefined, forceNav, animation); + }, animation); +} +export function navjump( + to:string|totalNextRoute, + router:Router, + navType:NAVTYPE, + nextCall?:{ + from:totalNextRoute; + next:Function; + }, + forceNav?:boolean, + animation?:uniBackApiRule|uniBackRule, + callHook:boolean|undefined = true +) :void|never|totalNextRoute { + if (navType === 'back') { + let level:number = 1; + if (typeof to === 'string') { + level = +to; + } else { + level = to.delta || 1; + } + if (router.options.platform === 'h5') { + (router.$route as any).go(-level); + + // Fixe https://github.com/SilurianYang/uni-simple-router/issues/266 2021年6月3日11:14:38 + // @ts-ignore + const success = (animation || {success: voidFun}).success || voidFun; + // @ts-ignore + const complete = (animation || {complete: voidFun}).complete || voidFun; + success({errMsg: 'navigateBack:ok'}); + complete({errMsg: 'navigateBack:ok'}); + return; + } else { + to = backOptionsBuild(router, level, animation); + } + } + const {rule} = queryPageToMap(to, router); + rule.type = navtypeToggle[navType]; + const toRule = paramsToQuery(router, rule); + let parseToRule = resolveQuery(toRule as totalNextRoute, router); + if (router.options.platform === 'h5') { + if (navType !== 'push') { + navType = 'replace'; + } + if (nextCall != null) { // next 管道函数拦截时 直接next即可 + nextCall.next({ + replace: navType !== 'push', + ...parseToRule + }) + } else { + // Fixe https://github.com/SilurianYang/uni-simple-router/issues/240 2021年3月7日14:45:36 + if (navType === 'push' && Reflect.has(parseToRule, 'events')) { + if (Reflect.has(parseToRule, 'name')) { + throw new Error(`在h5端上使用 'push'、'navigateTo' 跳转时,如果包含 events 不允许使用 name 跳转,因为 name 实现了动态路由。请更换为 path 或者 url 跳转!`); + } else { + uni['navigateTo'](parseToRule, true, voidFun, forceNav); + } + } else { + (router.$route as any)[navType](parseToRule, (parseToRule as totalNextRoute).success || voidFun, (parseToRule as totalNextRoute).fail || voidFun) + } + } + } else { + let from:totalNextRoute = {path: ''}; + if (nextCall == null) { + let toRoute = routesForMapRoute(router, parseToRule.path, ['finallyPathMap', 'pathMap']); + toRoute = notRouteTo404(router, toRoute, parseToRule, navType); + parseToRule = { ...toRoute, ...{params: {}}, ...parseToRule, ...{path: toRoute.path} } + from = createToFrom(parseToRule, router); + } else { + from = nextCall.from; + } + createFullPath(parseToRule, from); + if (callHook === false) { + return parseToRule; + } + transitionTo(router, parseToRule, from, navType, HOOKLIST, function( + callOkCb:Function + ):void { + uni[navtypeToggle[navType]](parseToRule, true, callOkCb, forceNav); + }) + } +} + +export function backOptionsBuild( + router:Router, + level:number, + animation:uniBackApiRule|uniBackRule|undefined = {}, +):totalNextRoute { + const toRule = createRoute(router, level, undefined, {NAVTYPE: 'back', ...animation}); + const navjumpRule:totalNextRoute = { + ...animation, + path: toRule.path, + query: toRule.query, + delta: level + } + if (getDataType(animation) === '[object Object]') { + const {animationDuration, animationType} = (animation as uniBackApiRule) + if (animationDuration != null) { + navjumpRule.animationDuration = animationDuration; + } + if (animationType != null) { + navjumpRule.animationType = animationType; + } + + const {from} = (animation as uniBackRule) + if (from != null) { + navjumpRule.BACKTYPE = from; + } + } + return navjumpRule; +} + +export function forceGuardEach( + router:Router, + navType:NAVTYPE|undefined = 'replaceAll', + forceNav:undefined|boolean = false +):void|never { + if (router.options.platform === 'h5') { + throw new Error(`在h5端上使用:forceGuardEach 是无意义的,目前 forceGuardEach 仅支持在非h5端上使用`); + } + const currentPage = getUniCachePage(0); + if (Object.keys(currentPage).length === 0) { + (router.options.routerErrorEach as (error: navErrorRule, router:Router) => void)({ + type: 3, + NAVTYPE: navType, + uniActualData: {}, + level: 0, + msg: `不存在的页面栈,请确保有足够的页面可用,当前 level:0` + }, router); + } + const {route, options} = currentPage as objectAny; + lockNavjump({ + path: `/${route}`, + query: deepDecodeQuery(options || {}) + }, router, navType, forceNav); +} + +export function createRoute( + router:Router, + level:number|undefined = 0, + orignRule?:totalNextRoute, + uniActualData:objectAny|undefined = {}, +):routeRule|never { + const route:routeRule = { + name: '', + meta: {}, + path: '', + fullPath: '', + NAVTYPE: '', + query: {}, + params: {}, + BACKTYPE: (orignRule || {BACKTYPE: ''}).BACKTYPE || '' // v2.0.5 + + }; + + if (level === 19970806) { // 首次构建响应式 页面不存在 直接返回 + return route + } + if (router.options.platform === 'h5') { + let vueRoute:totalNextRoute = {path: ''}; + if (orignRule != null) { + vueRoute = orignRule; + } else { + vueRoute = (router.$route as objectAny).currentRoute; + } + const matRouteParams = copyData(vueRoute.params as objectAny); + delete matRouteParams.__id__; + const toQuery = parseQuery({...matRouteParams, ...copyData(vueRoute.query as objectAny)}, router); + vueRoute = {...vueRoute, query: toQuery} + route.path = vueRoute.path; + route.fullPath = vueRoute.fullPath || ''; + route.query = deepDecodeQuery(vueRoute.query || {}); + route.NAVTYPE = rewriteMethodToggle[vueRoute.type as reNavMethodRule || 'reLaunch']; + } else { + let appPage:objectAny = {}; + if (orignRule != null) { + appPage = {...orignRule, openType: orignRule.type}; + } else { + const page = getUniCachePage(level); + if (Object.keys(page).length === 0) { + const {NAVTYPE: _NAVTYPE, ..._args} = uniActualData; + const errorMsg:string = `不存在的页面栈,请确保有足够的页面可用,当前 level:${level}`; + (router.options.routerErrorEach as (error: navErrorRule, router:Router) => void)({ + type: 3, + msg: errorMsg, + NAVTYPE: _NAVTYPE, + level, + uniActualData: _args + }, router); + throw new Error(errorMsg); + } + // Fixes: https://github.com/SilurianYang/uni-simple-router/issues/196 + const pageOptions:objectAny = (page as objectAny).options || {}; + appPage = { + ...(page as objectAny).$page || {}, + query: deepDecodeQuery(pageOptions), + fullPath: decodeURIComponent(((page as objectAny).$page || {}).fullPath || '/' + (page as objectAny).route) + } + if (router.options.platform !== 'app-plus') { + appPage.path = `/${(page as objectAny).route}` + } + } + const openType:reNavMethodRule|'navigateBack' = appPage.openType; + route.query = appPage.query; + route.path = appPage.path; + route.fullPath = appPage.fullPath; + route.NAVTYPE = rewriteMethodToggle[openType || 'reLaunch']; + } + const tableRoute = routesForMapRoute(router, route.path, ['finallyPathMap', 'pathMap']) + const perfectRoute = { ...route, ...tableRoute}; + perfectRoute.query = parseQuery(perfectRoute.query, router); + return perfectRoute; +} diff --git a/node_modules/uni-simple-router/src/public/page.ts b/node_modules/uni-simple-router/src/public/page.ts new file mode 100644 index 0000000..3a32bf3 --- /dev/null +++ b/node_modules/uni-simple-router/src/public/page.ts @@ -0,0 +1,103 @@ +import { proxyHookName } from '../helpers/config'; +import { getDataType, getUniCachePage, deepClone} from '../helpers/utils'; +import { objectAny, pageTypeRule, Router, totalNextRoute, vueOptionRule } from '../options/base'; +import {createRoute} from './methods' +import { stringifyQuery } from './query'; + +export function createToFrom( + to:totalNextRoute, + router:Router, +):totalNextRoute { + let fromRoute:totalNextRoute = {path: ''}; + const page = getUniCachePage|objectAny>(0); + if (getDataType|objectAny>(page) === '[object Array]') { + fromRoute = deepClone(to) + } else { + fromRoute = createRoute(router) as totalNextRoute; + } + return fromRoute; +} + +export function createFullPath( + to:totalNextRoute, + from:totalNextRoute +):void{ + if (to.fullPath == null) { + const strQuery = stringifyQuery(to.query as objectAny); + to.fullPath = to.path + strQuery; + } + if (from.fullPath == null) { + const strQuery = stringifyQuery(from.query as objectAny); + from.fullPath = from.path + strQuery; + } +} + +export function proxyPageHook( + vueVim:any, + router:Router, + pageType:pageTypeRule +):void { + const hookDeps = router.proxyHookDeps; + const pageHook:vueOptionRule = vueVim.$options; + for (let i = 0; i < proxyHookName.length; i++) { + const hookName = proxyHookName[i]; + const hookList = pageHook[hookName]; + if (hookList) { + for (let k = 0; k < hookList.length; k++) { + const originHook = hookList[k]; + if (originHook.toString().includes($npm_package_name)) { + continue + } + const resetIndex = Object.keys(hookDeps.hooks).length + 1 + const proxyHook = (...args:Array):void => { + hookDeps.resetIndex.push(resetIndex); + hookDeps.options[resetIndex] = args; + } + const [resetHook] = hookList.splice(k, 1, proxyHook); + hookDeps.hooks[resetIndex] = { + proxyHook, + callHook: (enterPath:string) :void => { + if (router.enterPath.replace(/^\//, '') !== enterPath.replace(/^\//, '') && pageType !== 'app') { + return; + } + const options = hookDeps.options[resetIndex]; + resetHook.apply(vueVim, options); + }, + resetHook: () :void => { + hookList.splice(k, 1, resetHook) + } + }; + } + } + } +} +export function resetAndCallPageHook( + router:Router, + enterPath:string, + reset:boolean|undefined = true +):void{ + // Fixe: https://github.com/SilurianYang/uni-simple-router/issues/206 + const pathInfo = enterPath.trim().match(/^(\/?[^\?\s]+)(\?[\s\S]*$)?$/); + if (pathInfo == null) { + throw new Error(`还原hook失败。请检查 【${enterPath}】 路径是否正确。`); + } + enterPath = pathInfo[1]; + const proxyHookDeps = router.proxyHookDeps; + const resetHooksArray = proxyHookDeps.resetIndex + for (let i = 0; i < resetHooksArray.length; i++) { + const index = resetHooksArray[i]; + const {callHook} = proxyHookDeps.hooks[index]; + callHook(enterPath); + } + if (reset) { + resetPageHook(router); + } +} +export function resetPageHook( + router:Router +) { + const proxyHookDeps = router.proxyHookDeps; + for (const [, {resetHook}] of Object.entries(proxyHookDeps.hooks)) { + resetHook(); + } +} diff --git a/node_modules/uni-simple-router/src/public/query.ts b/node_modules/uni-simple-router/src/public/query.ts new file mode 100644 index 0000000..a0354fa --- /dev/null +++ b/node_modules/uni-simple-router/src/public/query.ts @@ -0,0 +1,200 @@ +import { + objectAny, + Router, + routesMapRule, + RoutesRule, + totalNextRoute +} from '../options/base'; +import { + getDataType, + urlToJson, + routesForMapRoute, + getRoutePath, + assertDeepObject, + copyData, + getWildcardRule, + deepDecodeQuery +} from '../helpers/utils' +import {ERRORHOOK} from './hooks' +import {warn} from '../helpers/warn' + +const encodeReserveRE = /[!'()*]/g +const encodeReserveReplacer = (c:string) => '%' + c.charCodeAt(0).toString(16) +const commaRE = /%2C/g + +const encode = (str:string) => + encodeURIComponent(str) + .replace(encodeReserveRE, encodeReserveReplacer) + .replace(commaRE, ',') + +export function queryPageToMap( + toRule:string|totalNextRoute, + router:Router +) :{ + rule:totalNextRoute; + route:RoutesRule, + query:objectAny +} { + let query:objectAny = {}; + let route:RoutesRule|string = ''; + let successCb = (toRule as totalNextRoute).success; + let failCb = (toRule as totalNextRoute).fail; + if (getDataType(toRule) === '[object Object]') { + const objNavRule = (toRule as totalNextRoute); + if (objNavRule.path != null) { + const {path, query: newQuery} = urlToJson(objNavRule.path); + route = routesForMapRoute(router, path, ['finallyPathList', 'pathMap']); + query = {...newQuery, ...((toRule as totalNextRoute).query || {})}; + objNavRule.path = path; + objNavRule.query = query; + delete (toRule as totalNextRoute).params; + } else if (objNavRule.name != null) { + route = (router.routesMap as routesMapRule).nameMap[objNavRule.name]; + if (route == null) { + route = getWildcardRule(router, { type: 2, msg: `命名路由为:${objNavRule.name} 的路由,无法在路由表中找到!`, toRule}); + } else { + query = (toRule as totalNextRoute).params || {}; + delete (toRule as totalNextRoute).query; + } + } else { + route = getWildcardRule(router, { type: 2, msg: `${toRule} 解析失败,请检测当前路由表下是否有包含。`, toRule}); + } + } else { + toRule = urlToJson((toRule as string)) as totalNextRoute; + route = routesForMapRoute(router, toRule.path, ['finallyPathList', 'pathMap']) + query = toRule.query as objectAny; + } + if (router.options.platform === 'h5') { + const {finallyPath} = getRoutePath(route as RoutesRule, router); + if (finallyPath.includes(':') && (toRule as totalNextRoute).name == null) { + ERRORHOOK[0]({ type: 2, msg: `当有设置 alias或者aliasPath 为动态路由时,不允许使用 path 跳转。请使用 name 跳转!`, route}, router) + } + const completeCb = (toRule as totalNextRoute).complete; + const cacheSuccess = (toRule as totalNextRoute).success; + const cacheFail = (toRule as totalNextRoute).fail; + if (getDataType(completeCb) === '[object Function]') { + const publicCb = function(this:any, args:Array, callHook:Function|undefined):void { + if (getDataType(callHook) === '[object Function]') { + (callHook as Function).apply(this, args); + } + (completeCb as Function).apply(this, args); + } + successCb = function(this:any, ...args:any):void{ + publicCb.call(this, args, cacheSuccess); + }; + failCb = function(this:any, ...args:any):void{ + publicCb.call(this, args, cacheFail); + }; + } + } + const rule = (toRule as totalNextRoute); + if (getDataType(rule.success) === '[object Function]') { + rule.success = successCb; + } + if (getDataType(rule.fail) === '[object Function]') { + rule.fail = failCb; + } + return { + rule, + route: (route as RoutesRule), + query + } +} + +export function resolveQuery( + toRule:totalNextRoute, + router:Router +):totalNextRoute { + let queryKey:'params'|'query' = 'query'; + if (toRule.params as objectAny != null) { + queryKey = 'params'; + } + if (toRule.query as objectAny != null) { + queryKey = 'query'; + } + const query = copyData(toRule[queryKey] || {}); + const {resolveQuery: userResolveQuery} = router.options; + if (userResolveQuery) { + const jsonQuery = userResolveQuery(query); + if (getDataType(jsonQuery) !== '[object Object]') { + warn('请按格式返回参数: resolveQuery?:(jsonQuery:{[propName: string]: any;})=>{[propName: string]: any;}', router) + } else { + toRule[queryKey] = jsonQuery; + } + } else { + const deepObj = assertDeepObject(query as objectAny); + if (!deepObj) { + return toRule; + } + const encode = JSON.stringify(query); + toRule[queryKey] = { + query: encode + } + } + return toRule +} + +export function parseQuery( + query:objectAny, + router:Router, +):objectAny { + const {parseQuery: userParseQuery} = router.options; + if (userParseQuery) { + query = userParseQuery(copyData(query)); + if (getDataType(query) !== '[object Object]') { + warn('请按格式返回参数: parseQuery?:(jsonQuery:{[propName: string]: any;})=>{[propName: string]: any;}', router) + } + } else { + if (Reflect.get(query, 'query')) { // 验证一下是不是深度对象 + let deepQuery = Reflect.get(query, 'query'); + if (typeof deepQuery === 'string') { + try { + deepQuery = JSON.parse(deepQuery); + } catch (error) { + warn('尝试解析深度对象失败,按原样输出。' + error, router) + } + } + if (typeof deepQuery === 'object') { + return deepDecodeQuery(deepQuery); + } + } + } + return query +} + +export function stringifyQuery(obj:objectAny): string { + const res = obj + ? Object.keys(obj) + .map(key => { + const val = obj[key] + + if (val === undefined) { + return '' + } + + if (val === null) { + return encode(key) + } + + if (Array.isArray(val)) { + const result:Array = [] + val.forEach(val2 => { + if (val2 === undefined) { + return + } + if (val2 === null) { + result.push(encode(key)) + } else { + result.push(encode(key) + '=' + encode(val2)) + } + }) + return result.join('&') + } + + return encode(key) + '=' + encode(val) + }) + .filter(x => x.length > 0) + .join('&') + : null + return res ? `?${res}` : '' +} diff --git a/node_modules/uni-simple-router/src/public/rewrite.ts b/node_modules/uni-simple-router/src/public/rewrite.ts new file mode 100644 index 0000000..5ab8bb2 --- /dev/null +++ b/node_modules/uni-simple-router/src/public/rewrite.ts @@ -0,0 +1,158 @@ +import { + uniNavApiRule, + reNavMethodRule, + reNotNavMethodRule, + Router, + rewriteMethodToggle, + uniBackRule, + uniBackApiRule, + navtoRule, + totalNextRoute, + originMixins, + objectAny +} from '../options/base' + +import { + routesForMapRoute, + getRoutePath, + getDataType, + notDeepClearNull, + resolveAbsolutePath, + getUniCachePage, + timeOut +} from '../helpers/utils' + +import { + warn +} from '../helpers/warn' + +import {uniOriginJump} from './uniOrigin' + +const rewrite: Array = [ + 'navigateTo', + 'redirectTo', + 'reLaunch', + 'switchTab', + 'navigateBack' +]; + +export function rewriteMethod( + router:Router +): void { + if (router.options.keepUniOriginNav === false) { + rewrite.forEach(name => { + const oldMethod: Function = uni[name]; + uni[name] = function( + params:originMixins|{from:string}|navtoRule, + originCall:boolean = false, + callOkCb?:Function, + forceNav?:boolean + ):void { + if (originCall) { + uniOriginJump(router, oldMethod, name, params as originMixins, callOkCb, forceNav) + } else { + if (router.options.platform === 'app-plus') { + if (Object.keys(router.appMain).length === 0) { + router.appMain = { + NAVTYPE: name, + path: (params as uniNavApiRule).url + } + } + } + callRouterMethod(params as uniNavApiRule, name, router); + } + }; + }) + } +} +function callRouterMethod( + option: uniNavApiRule|uniBackRule|uniBackApiRule, + funName:reNavMethodRule|reNotNavMethodRule, + router:Router +): void { + if (router.options.platform === 'app-plus') { + let openType = null; + if (option) { + openType = (option as uniNavApiRule).openType; + } + if (openType != null && openType === 'appLaunch') { + funName = 'reLaunch' + } + } + if (funName === 'reLaunch' && JSON.stringify(option) === '{"url":"/"}') { + warn( + `uni-app 原生方法:reLaunch({url:'/'}) 默认被重写啦!你可以使用 this.$Router.replaceAll() 或者 uni.reLaunch({url:'/?xxx=xxx'})`, + router, + true + ); + funName = 'navigateBack'; + option = { + from: 'backbutton' + } + } + if (funName === 'navigateBack') { + let level:number = 1; + if (option == null) { + option = {delta: 1}; + } + if (getDataType((option as uniBackApiRule).delta) === '[object Number]') { + level = ((option as uniBackApiRule).delta as number); + } + router.back(level, (option as uniBackRule|uniBackApiRule)); + } else { + const routerMethodName = rewriteMethodToggle[(funName as reNavMethodRule)] + let path = (option as uniNavApiRule).url; + if (!path.startsWith('/')) { + const absolutePath = resolveAbsolutePath(path, router); + path = absolutePath; + (option as uniNavApiRule).url = absolutePath; + } + if (funName === 'switchTab') { + const route = routesForMapRoute(router, path, ['pathMap', 'finallyPathList']) + const {finallyPath} = getRoutePath(route, router); + if (getDataType(finallyPath) === '[object Array]') { + warn( + `uni-app 原生方法跳转路径为:${path}。此路为是tab页面时,不允许设置 alias 为数组的情况,并且不能为动态路由!当然你可以通过通配符*解决!`, + router, + true + ); + } + if ((finallyPath as string) === '*') { + warn( + `uni-app 原生方法跳转路径为:${path}。在路由表中找不到相关路由表!当然你可以通过通配符*解决!`, + router, + true + ); + } + // Fixe h5 端无法触发 onTabItemTap hook 2021年6月3日17:26:47 + if (router.options.platform === 'h5') { + const {success: userSuccess} = option as uniNavApiRule; + (option as uniNavApiRule).success = (...args:Array) => { + userSuccess?.apply(null, args); + timeOut(150).then(() => { + const cbArgs = (option as uniNavApiRule).detail || {}; + if (Object.keys(cbArgs).length > 0 && Reflect.has(cbArgs, 'index')) { + const cachePage = getUniCachePage(0); + if (Object.keys(cachePage).length === 0) { + return false + } + const page = cachePage as objectAny; + const hooks = page.$options.onTabItemTap; + if (hooks) { + for (let j = 0; j < hooks.length; j++) { + hooks[j].call(page, cbArgs) + } + } + } + }); + } + } + path = (finallyPath as string); + } + const {events, success, fail, complete, animationType, animationDuration} = option as uniNavApiRule; + const jumpOptions:totalNextRoute = {path, events, success, fail, complete, animationDuration, animationType}; + router[routerMethodName]( + notDeepClearNull(jumpOptions) + ) + } +} diff --git a/node_modules/uni-simple-router/src/public/router.ts b/node_modules/uni-simple-router/src/public/router.ts new file mode 100644 index 0000000..220d96a --- /dev/null +++ b/node_modules/uni-simple-router/src/public/router.ts @@ -0,0 +1,129 @@ +import {PromiseResolve, Router, uniBackApiRule, uniBackRule} from '../options/base'; +import {InstantiateConfig, LifeCycleConfig} from '../options/config'; +import { lifeCycle, proxyHookDeps} from '../helpers/config'; +import {assertNewOptions, def, getDataType} from '../helpers/utils'; +import {registerRouterHooks, registerEachHooks} from '../helpers/lifeCycle'; +import {initMixins} from '../helpers/mixins' +import {lockNavjump, forceGuardEach, createRoute} from '../public/methods' +import {rewriteMethod} from '../public/rewrite' + +let AppReadyResolve:PromiseResolve = () => {}; +const AppReady:Promise = new Promise(resolve => (AppReadyResolve = resolve)); + +function createRouter(params: InstantiateConfig):Router { + const options = assertNewOptions(params); + const router:Router = { + options, + mount: [], + Vue: null, + proxyHookDeps: proxyHookDeps, + appMain: {}, + enterPath: '', + $route: null, + $lockStatus: false, + routesMap: {}, + lifeCycle: registerRouterHooks(lifeCycle, options), + push(to) { + lockNavjump(to, router, 'push'); + }, + replace(to) { + lockNavjump(to, router, 'replace'); + }, + replaceAll(to) { + lockNavjump(to, router, 'replaceAll'); + }, + pushTab(to) { + lockNavjump(to, router, 'pushTab'); + }, + back(level = 1, animation) { + if (getDataType(animation) !== '[object Object]') { + const backRule:uniBackRule = { + from: 'navigateBack' + } + animation = backRule; + } else { + if (!Reflect.has((animation as uniBackRule | uniBackApiRule), 'from')) { + animation = { + ...animation, + from: 'navigateBack' + }; + } + } + lockNavjump(level + '', router, 'back', undefined, animation) + }, + forceGuardEach(navType, forceNav) { + forceGuardEach(router, navType, forceNav) + }, + beforeEach(userGuard):void { + registerEachHooks(router, 'beforeHooks', userGuard); + }, + afterEach(userGuard):void { + registerEachHooks(router, 'afterHooks', userGuard); + }, + install(Vue:any):void{ + router.Vue = Vue; + rewriteMethod(this); + initMixins(Vue, this); + Object.defineProperty(Vue.prototype, '$Router', { + get() { + const actualData = router; + + Object.defineProperty(this, '$Router', { + value: actualData, + writable: false, + configurable: false, + enumerable: false + }); + + return Object.seal(actualData); + } + }); + Object.defineProperty(Vue.prototype, '$Route', { + get() { + return createRoute(router); + } + }); + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/254 + Object.defineProperty(Vue.prototype, '$AppReady', { + get() { + if (router.options.platform === 'h5') { + return Promise.resolve(); + } + return AppReady; + }, + set(value:boolean) { + if (value === true) { + AppReadyResolve(); + } + } + }); + } + } + def(router, 'currentRoute', () => createRoute(router)); + + router.beforeEach((to, from, next) => next()); + router.afterEach(() => {}); + return router; +} + +function RouterMount(Vim:any, router:Router, el:string | undefined = '#app') :void|never { + if (getDataType>(router.mount) === '[object Array]') { + router.mount.push({ + app: Vim, + el + }) + } else { + throw new Error(`挂载路由失败,router.app 应该为数组类型。当前类型:${typeof router.mount}`); + } + if (router.options.platform === 'h5') { + const vueRouter = (router.$route as any); + vueRouter.replace({ + path: vueRouter.currentRoute.fullPath + }); + } // 其他端目前不需要做啥 +} + +export { + RouterMount, + createRouter +} diff --git a/node_modules/uni-simple-router/src/public/uniOrigin.ts b/node_modules/uni-simple-router/src/public/uniOrigin.ts new file mode 100644 index 0000000..25c975f --- /dev/null +++ b/node_modules/uni-simple-router/src/public/uniOrigin.ts @@ -0,0 +1,112 @@ +import { originMixins, reNavMethodRule, reNotNavMethodRule, Router, startAnimationRule, uniNavApiRule } from '../options/base'; +import { stringifyQuery } from './query'; +import {notDeepClearNull, timeOut} from '../helpers/utils' +import { mpPlatformReg } from '../helpers/config'; +import { resetAndCallPageHook, resetPageHook } from './page'; + +let routerNavCount:number = 0; +let lastNavType:reNavMethodRule|reNotNavMethodRule = 'reLaunch' + +export function uniOriginJump( + router:Router, + originMethod:Function, + funName:reNavMethodRule|reNotNavMethodRule, + options: originMixins, + callOkCb?:Function, + forceNav?:boolean +):void { + const {complete, ...originRule} = formatOriginURLQuery(router, options, funName); + const platform = router.options.platform; + if (forceNav != null && forceNav === false) { + if (routerNavCount === 0) { + routerNavCount++ + if (platform !== 'h5') { + resetAndCallPageHook(router, originRule.url) // 还原及执行app.vue及首页下已经重写后的生命周期 + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/254 + // 在小程序端 next 直接放行会执行这个 + router.Vue.prototype.$AppReady = true; + } + } + complete && complete.apply(null, {msg: 'forceGuardEach强制触发并且不执行跳转'}); + callOkCb && callOkCb.apply(null, {msg: 'forceGuardEach强制触发并且不执行跳转'}) + } else { + if (routerNavCount === 0) { + if (platform === 'app-plus') { + resetAndCallPageHook(router, originRule.url) // 还原及执行app.vue下已经重写后的生命周期 + } else { + if (new RegExp(mpPlatformReg, 'g').test(platform)) { + // 其他就是在小程序下,首次启动发生跳转会走这里 + // 我们先将app.vue的生命周期执行 + resetAndCallPageHook(router, originRule.url, false) + } + } + } + originMethod({ + ...originRule, + from: options.BACKTYPE, + complete: async function(...args:Array) { + if (routerNavCount === 0) { + routerNavCount++ + + if (platform !== 'h5') { + if (new RegExp(mpPlatformReg, 'g').test(platform)) { // 跳转完成后小程序下还原生命周期 + resetPageHook(router); + } + // 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/254 + // 在小程序端 第一次 next 做跳转 会触发这个 、在app端首次必定会触发这个 + router.Vue.prototype.$AppReady = true; + + if (platform === 'app-plus') { + const waitPage = plus.nativeObj.View.getViewById('router-loadding'); + waitPage && waitPage.close(); + const launchedHook = router.options.APP?.launchedHook; + launchedHook && launchedHook(); + } + } + } + let time:number = 0; + if (new RegExp(mpPlatformReg, 'g').test(platform)) { + time = (router.options.applet?.animationDuration) as number + } else if (platform === 'app-plus') { + if (funName === 'navigateBack' && lastNavType === 'navigateTo') { + time = (router.options.APP?.animation?.animationDuration) as number + } + } + if (funName === 'navigateTo' || funName === 'navigateBack') { + if (time !== 0) { + await timeOut(time); + } + } + lastNavType = funName; + complete && complete.apply(null, args); + callOkCb && callOkCb.apply(null, args) + } + }); + } +} +export function formatOriginURLQuery( + router:Router, + options:uniNavApiRule, + funName:reNavMethodRule|reNotNavMethodRule +):uniNavApiRule { + const {url, path, query, animationType, animationDuration, events, success, fail, complete, delta, animation} = options; + const strQuery = stringifyQuery(query || {}); + const queryURL = strQuery === '' ? (path || url) : (path || url) + strQuery; + let animationRule:startAnimationRule = {}; + if (router.options.platform === 'app-plus') { + if (funName !== 'navigateBack') { + animationRule = router.options.APP?.animation || {}; + animationRule = {...animationRule, ...animation || {}}; + } + } + return notDeepClearNull({ + delta, + url: queryURL, + animationType: animationType || animationRule.animationType, + animationDuration: animationDuration || animationRule.animationDuration, + events, + success, + fail, + complete + }) +} diff --git a/node_modules/uni-simple-router/test/path-to-regexp.spec.ts b/node_modules/uni-simple-router/test/path-to-regexp.spec.ts new file mode 100644 index 0000000..c8f7c2f --- /dev/null +++ b/node_modules/uni-simple-router/test/path-to-regexp.spec.ts @@ -0,0 +1,70 @@ +import {createRouter, routesMapKeysRule} from '../src/index'; + +import {routesForMapRoute} from '../src/helpers/utils'; + +const routes = [ + {path: '/pages/login/login', name: 'login', aliasPath: '/'}, + {path: '/pages/page2/page2', name: 'page2', aliasPath: '/page2/:id'}, + {path: '/pages/page3/page3', aliasPath: '/:name/page3/:id'}, + {path: '/pages/animation/animation', aliasPath: '/an-(\\d+)-on'}, + {path: '/static/1/1', aliasPath: '/static/(.*)'}, + {path: '/dynamic/1/1', aliasPath: '/dynamic-*'}, + {path: '/dynamic/3/3', aliasPath: '/dynamic3'}, + {path: '*'} +]; + +const router = createRouter({ + platform: 'app-plus', + keepUniOriginNav: true, + routes, +}); + +const Vue = function () {}; +Vue.mixin = () => {}; + +router.install(Vue); + +const rules: routesMapKeysRule[] = ['finallyPathMap', 'pathMap']; + +it('别名路径匹配',()=>{ + const toRoute1 = routesForMapRoute(router, '/dynamic3', rules); + expect(toRoute1).toEqual(routes[6]); + + const toRoute2 = routesForMapRoute(router, '/dynamic/3/3', rules); + expect(toRoute2).toEqual(routes[6]); +}) + +it('全局匹配', () => { + const toRoute1 = routesForMapRoute(router, '/pages/login/login', rules); + expect(toRoute1).toEqual(routes[0]); + + const toRoute2 = routesForMapRoute(router,'/pages/login/login?id=666',rules); + expect(toRoute2).toEqual(routes[0]); + + const toRoute3 = routesForMapRoute(router, '/page2/6666', rules); + expect(toRoute3).toEqual(routes[1]); + + const toRoute4 = routesForMapRoute(router, '/page2/6666?id=555', rules); + expect(toRoute4).toEqual(routes[1]); + + const toRoute5 = routesForMapRoute(router, '/pages/page3/page3', rules); + expect(toRoute5).toEqual(routes[2]); + + const toRoute6 = routesForMapRoute(router, '/test/page3/123', rules); + expect(toRoute6).toEqual(routes[2]); + + const toRoute7 = routesForMapRoute(router, '/an-123-on', rules); + expect(toRoute7).toEqual(routes[3]); + + const toRoute8 = routesForMapRoute(router, '/static/aaa/bbb?id=1444&name=999', rules); + expect(toRoute8).toEqual(routes[4]); + + const toRoute9 = routesForMapRoute(router, '/dynamic-6666-5555', rules); + expect(toRoute9).toEqual(routes[5]); + + const toRoute10 = routesForMapRoute(router, '/aaaaaa', rules); + expect(toRoute10).toEqual(routes[7]); + + const toRoute11 = routesForMapRoute(router, '---48848--14545', rules); + expect(toRoute11).toEqual(routes[7]); +}); diff --git a/node_modules/uni-simple-router/test/query-toggle.spec.ts b/node_modules/uni-simple-router/test/query-toggle.spec.ts new file mode 100644 index 0000000..91b09d8 --- /dev/null +++ b/node_modules/uni-simple-router/test/query-toggle.spec.ts @@ -0,0 +1,83 @@ +import {deepDecodeQuery} from '../src/helpers/utils'; + + +it('编码回转',()=>{ + const query={ + str:'%E7%9A%84%E6%8C%A5%E6%B4%92U%E7%9B%BE%E5%A5%BD%E6%92%92%E7%AC%AC%E4%B8%89%E5%A4%A7%E5%8E%A6%E5%8F%91%E7%9A%84%E6%92%92321312%2a%EF%BC%88%EF%BF%A5%23%254' + } + const result = deepDecodeQuery(query); + expect(JSON.stringify(result)).toEqual(JSON.stringify({ + str:'的挥洒U盾好撒第三大厦发的撒321312*(¥#%4' + })) +}) + +it('一些乱码字符',()=>{ + const query={ + str:`~!@#$%^&*()_+-,./|][]` + } + const result = deepDecodeQuery(query); + expect(JSON.stringify(result)).toEqual(JSON.stringify({ + str:`~!@#$%^&*()_+-,./|][]` + })) +}) + +it('单个加密参数',()=>{ + const query={ + name:'%7B%22status%22%3Atrue%2C%22list%22%3A%5B%7B%22id%22%3A1%7D%5D%7D' + } + const result = deepDecodeQuery(query); + expect(JSON.stringify(result)).toEqual(JSON.stringify({ + name:{ + status:true, + list:[ + { + id:1 + }, + ] + } + })); +}) + +it('单个普通参数',()=>{ + const query={ + name:'hhyang', + ages:22, + open:true + } + const result = deepDecodeQuery(query); + + expect(JSON.stringify(result)).toEqual(JSON.stringify(query)); +}) + +it('深度参数加混乱',()=>{ + const query={ + list:[ + 1,'2',true,encodeURIComponent(JSON.stringify({name:111})),{ + name:'hhyang', + strObj:encodeURIComponent(JSON.stringify({name:222})) + } + ], + obj:{ + strObj2:encodeURIComponent(JSON.stringify({name:333})), + number:1, + boolean:false, + }, + str4:encodeURIComponent(JSON.stringify({name:444})) + } + const result = deepDecodeQuery(query); + + expect(JSON.stringify(result)).toEqual(JSON.stringify({ + list:[ + 1,'2',true,{name:111},{ + name:'hhyang', + strObj:{name:222} + } + ], + obj:{ + strObj2:{name:333}, + number:1, + boolean:false, + }, + str4:{name:444} + })); +}) \ No newline at end of file diff --git a/node_modules/uni-simple-router/tsconfig.json b/node_modules/uni-simple-router/tsconfig.json new file mode 100644 index 0000000..0a076f1 --- /dev/null +++ b/node_modules/uni-simple-router/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "CommonJS", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "lib": ["ES2015", "DOM"], + "outDir": "dist/src", + "declaration": true, + "declarationMap": false, + "rootDir": "./src", + "baseUrl": ".", + "paths": {} + }, + "include": ["./src/global.d.ts", "./src/*"], + "exclude": ["node_modules", "**/*.spec.ts"] +} diff --git a/node_modules/uni-simple-router/webpack/webpack.common.js b/node_modules/uni-simple-router/webpack/webpack.common.js new file mode 100644 index 0000000..344fc05 --- /dev/null +++ b/node_modules/uni-simple-router/webpack/webpack.common.js @@ -0,0 +1,41 @@ +const {resolve} = require('path'); +const CopyPlugin = require('copy-webpack-plugin'); +const webpack =require('webpack'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'Router', + libraryTarget: 'umd', + }, + resolve: { + extensions: ['.tsx', '.ts', 'd.ts', '.js', '.json'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: [ + { + loader: 'ts-loader', + }, + ], + exclude: /node_modules/, + }, + ], + }, + plugins: [ + new CopyPlugin([ + { + force: true, + from: resolve(__dirname, '../src/component'), + to: resolve(__dirname, '../dist'), + }, + ]), + new webpack.DefinePlugin({ + $npm_package_name: webpack.DefinePlugin.runtimeValue(() => { + return JSON.stringify(process.env.npm_package_name.toLocaleUpperCase()) + }, true ) + }) + ], +}; diff --git a/node_modules/uni-simple-router/webpack/webpack.dev.js b/node_modules/uni-simple-router/webpack/webpack.dev.js new file mode 100644 index 0000000..79b1374 --- /dev/null +++ b/node_modules/uni-simple-router/webpack/webpack.dev.js @@ -0,0 +1,22 @@ +const {merge} = require("webpack-merge"); +const {resolve} = require('path'); +const common = require("./webpack.common.js"); +const CopyPlugin = require('copy-webpack-plugin'); + +const output=resolve(__dirname, '../examples/uni-simple-router2.0/dist'); + +module.exports = merge(common, { + mode: 'development', + devtool: 'source-map', + output: { + path:output , + filename: 'uni-simple-router.js', + }, + plugins: [ + new CopyPlugin([{ + force: true, + from: resolve(__dirname, '../src/component'), + to: output, + }]), + ] +}); \ No newline at end of file diff --git a/node_modules/uni-simple-router/webpack/webpack.prod.js b/node_modules/uni-simple-router/webpack/webpack.prod.js new file mode 100644 index 0000000..4d65e8f --- /dev/null +++ b/node_modules/uni-simple-router/webpack/webpack.prod.js @@ -0,0 +1,19 @@ +const {resolve} = require('path'); +const {merge} = require("webpack-merge"); +const common = require("./webpack.common.js"); +const rimraf = require('rimraf'); + + +function resolvePath(dir) { + return resolve(__dirname, '../', dir) +} + +rimraf('dist', () => {}); + +module.exports = merge(common, { + mode: "production", + output: { + path: resolvePath('dist'), + filename: 'uni-simple-router.js', + }, +}) \ No newline at end of file diff --git a/node_modules/vuex/CHANGELOG.md b/node_modules/vuex/CHANGELOG.md new file mode 100644 index 0000000..1ea2e51 --- /dev/null +++ b/node_modules/vuex/CHANGELOG.md @@ -0,0 +1,356 @@ +## [3.6.2](https://github.com/vuejs/vuex/compare/v3.6.1...v3.6.2) (2021-01-26) + +### Bug Fixes + +* **build:** fix wrong path name for the export module ([679313b](https://github.com/vuejs/vuex/commit/679313bf5e4de066f340a06ef9bfe08d1536fadd)) + +## [3.6.1](https://github.com/vuejs/vuex/compare/v3.6.0...v3.6.1) (2021-01-26) + +### Bug Fixes + +* fix tree shaking notworking in webpack bundle ([#1906](https://github.com/vuejs/vuex/issues/1906)) ([1dc2d1f](https://github.com/vuejs/vuex/commit/1dc2d1f21de42138053ea3281dde05487642a76d)) + +# [3.6.0](https://github.com/vuejs/vuex/compare/v3.5.1...v3.6.0) (2020-11-25) + +### Bug Fixes + +* stop throwing an error on `hasModule` when parent does not exists ([#1850](https://github.com/vuejs/vuex/issues/1850)) ([#1851](https://github.com/vuejs/vuex/issues/1851)) ([12aabe4](https://github.com/vuejs/vuex/commit/12aabe4cc470916d40691097dcb95badb8212f5c)) + +### Features + +* **types:** adding logger type for logger plugin ([#1853](https://github.com/vuejs/vuex/issues/1853)) ([cb3198d](https://github.com/vuejs/vuex/commit/cb3198d5998bdb11ef05dfa5ef98d5c5fa873089)) +* **build:** enable named esm module import on node.js >= 14 ([#1872](https://github.com/vuejs/vuex/issues/1872)) ([acddab2](https://github.com/vuejs/vuex/commit/acddab20769d1bb6125f2da78ac47561c682fc98)) + +## [3.5.1](https://github.com/vuejs/vuex/compare/v3.5.0...v3.5.1) (2020-06-29) + + +### Bug Fixes + +* **types:** add missing `logger.d.ts` file to the package ([#1789](https://github.com/vuejs/vuex/issues/1789)) ([a477334](https://github.com/vuejs/vuex/commit/a477334b909913f6a92bdbedcf4a3016a62eab7a)) +* warn when unregistering non existing module ([#1786](https://github.com/vuejs/vuex/issues/1786)) ([7cec79d](https://github.com/vuejs/vuex/commit/7cec79d339b874ec41f35891c891dfd27460c1d3)) + + + +# [3.5.0](https://github.com/vuejs/vuex/compare/v3.4.0...v3.5.0) (2020-06-29) + + +### Features + +* include logger plugin to the core export ([#1783](https://github.com/vuejs/vuex/issues/1783)) ([04e2bd8](https://github.com/vuejs/vuex/commit/04e2bd8b3509c67398a6fe73a3d53660069feca8)) + + + +# [3.4.0](https://github.com/vuejs/vuex/compare/v3.3.0...v3.4.0) (2020-05-11) + + +### Features + +* Allow action subscribers to catch rejections. ([#1740](https://github.com/vuejs/vuex/issues/1740)) ([6ebbe64](https://github.com/vuejs/vuex/commit/6ebbe64c5821d19e55a41dc8b1d81cfce6cbd195)), closes [#1489](https://github.com/vuejs/vuex/issues/1489) [#1558](https://github.com/vuejs/vuex/issues/1558) [#1625](https://github.com/vuejs/vuex/issues/1625) + + + +# [3.3.0](https://github.com/vuejs/vuex/compare/v3.2.0...v3.3.0) (2020-04-25) + + +### Bug Fixes + +* Prepend devtool handler ([#1358](https://github.com/vuejs/vuex/issues/1358)) ([a39d076](https://github.com/vuejs/vuex/commit/a39d0767e4041cdd5cf8050774106c01d39024e0)), closes [vuejs/vue-devtools#678](https://github.com/vuejs/vue-devtools/issues/678) +* **types:** Add `devtools` to store options type ([#1478](https://github.com/vuejs/vuex/issues/1478)) ([38c11dc](https://github.com/vuejs/vuex/commit/38c11dcbaea7d7e661a1623cabb5aef7c6e47ba7)) + + +### Features + +* Add `prepend` option for `subscribe` and `subscribeAction` ([#1358](https://github.com/vuejs/vuex/issues/1358)) ([a39d076](https://github.com/vuejs/vuex/commit/a39d0767e4041cdd5cf8050774106c01d39024e0)) +* **logger:** `createLogger` can optionally log actions ([#987](https://github.com/vuejs/vuex/issues/987)) ([18be128](https://github.com/vuejs/vuex/commit/18be128ad933d1fca6da05c060f7664ce0c819ae)) + + + +# [3.2.0](https://github.com/vuejs/vuex/compare/v3.1.3...v3.2.0) (2020-04-19) + + +### Features + +* add Store#hasModule(path) API ([#834](https://github.com/vuejs/vuex/issues/834)) ([d65d142](https://github.com/vuejs/vuex/commit/d65d14276e87aca17cfbd3fbf4af9e8dbb808f24)) + + + +## [3.1.3](https://github.com/vuejs/vuex/compare/v3.1.2...v3.1.3) (2020-03-09) + + +### Bug Fixes + +* Prevent invalidating subscription iterator ([#1438](https://github.com/vuejs/vuex/issues/1438)) ([e012653](https://github.com/vuejs/vuex/commit/e0126533301febf66072f1865cf9a77778cf2176)) + + + +## [3.1.2](https://github.com/vuejs/vuex/compare/v3.1.1...v3.1.2) (2019-11-10) + + +### Bug Fixes + +* tweak mapping helper warning message ([#1641](https://github.com/vuejs/vuex/issues/1641)) ([e60bc76](https://github.com/vuejs/vuex/commit/e60bc76154bb05c12b24342617b946d9a6e2f476)) +* **types:** avoid broadening vue instance type when using map helpers ([#1639](https://github.com/vuejs/vuex/issues/1639)) ([9a96720](https://github.com/vuejs/vuex/commit/9a9672050bcfee198c379069ec0e1b03ca6cb965)) +* add warnings when the different namespaced modules has the same names… ([#1554](https://github.com/vuejs/vuex/issues/1554)) ([91f3e69](https://github.com/vuejs/vuex/commit/91f3e69ed9e290cf91f8885c6d5ae2c97fa7ab81)) +* Should vuex mapState print error message [#1093](https://github.com/vuejs/vuex/issues/1093) ([#1297](https://github.com/vuejs/vuex/issues/1297)) ([e5ca2d5](https://github.com/vuejs/vuex/commit/e5ca2d52e89a126bd48bd8a6003be77379960ea9)) +* Warn about conflicts between state and module ([#1365](https://github.com/vuejs/vuex/issues/1365)) ([538ee58](https://github.com/vuejs/vuex/commit/538ee5803bbca2fc8077208fb30c8d56d8be5cae)) +* **docs:** Clearify state object type ([#1601](https://github.com/vuejs/vuex/issues/1601)) ([de06f76](https://github.com/vuejs/vuex/commit/de06f76380e7429489c0eb15acc8e0b34a383860)) + + +### Performance Improvements + +* Implementing a cache for the gettersProxy object creation ([#1546](https://github.com/vuejs/vuex/issues/1546)) ([4003382](https://github.com/vuejs/vuex/commit/40033825b7259c2e9b702bdf94e0b24ed4511d7c)) + + + +## [3.1.1](https://github.com/vuejs/vuex/compare/v3.1.0...v3.1.1) (2019-05-08) + + +### Bug Fixes + +* Memory leak happening while using registerModule/u… ([#1508](https://github.com/vuejs/vuex/issues/1508)) ([cb9986a](https://github.com/vuejs/vuex/commit/cb9986ae5a62e002a1d876e881ee5f31dd410888)), closes [issue#1507](https://github.com/issue/issues/1507) +* **types:** Make mutation and action payload optional in definition file ([#1517](https://github.com/vuejs/vuex/issues/1517)) ([0e109e2](https://github.com/vuejs/vuex/commit/0e109e2a38dafdc0c2bd6bd3892bc66cfe252b16)), closes [#1491](https://github.com/vuejs/vuex/issues/1491) + + +### Features + +* **devtool:** allow usage in non-browser environments ([#1404](https://github.com/vuejs/vuex/issues/1404)) ([665455f](https://github.com/vuejs/vuex/commit/665455f8daf8512e7adbf63c2842bc0b1e39efdb)) +* **esm build:** build ES modules for browser ([#1533](https://github.com/vuejs/vuex/issues/1533)) ([d7c7f98](https://github.com/vuejs/vuex/commit/d7c7f9844831f98c5c9aaca213746c4ccc5d6929)) + + + +# [3.1.0](https://github.com/vuejs/vuex/compare/v3.0.1...v3.1.0) (2019-01-17) + + +### Bug Fixes + +* **types:** add helpers to default export type declaration as in sources ([#1408](https://github.com/vuejs/vuex/issues/1408)) ([404d0de](https://github.com/vuejs/vuex/commit/404d0de9531322a1a462e53dfd858d20f0bd99af)) +* **types:** add type annotation for the context of actions ([#1322](https://github.com/vuejs/vuex/issues/1322)) ([d1b5c66](https://github.com/vuejs/vuex/commit/d1b5c66961ab53e0172cbc706ff616227bcb5c77)) +* **types:** allow a function type for root `state` option ([#1132](https://github.com/vuejs/vuex/issues/1132)) ([d39791b](https://github.com/vuejs/vuex/commit/d39791bd05830b1889705761ef5779449e35e97f)) +* Add key to v-for ([#1369](https://github.com/vuejs/vuex/issues/1369)) ([a9bd047](https://github.com/vuejs/vuex/commit/a9bd047ea147cacfcb4003946aeebccd2c5e1e4e)) +* avoid to call root state function twice ([#1034](https://github.com/vuejs/vuex/issues/1034)) ([86677eb](https://github.com/vuejs/vuex/commit/86677ebcbfaecf712f339b73a568150fc9fd5f5e)) +* fix [#1032](https://github.com/vuejs/vuex/issues/1032), relax vue typing in helpers ([#1044](https://github.com/vuejs/vuex/issues/1044)) ([7c7ed1d](https://github.com/vuejs/vuex/commit/7c7ed1d37ee8a5058082d763d80529e5fef86a0b)) + + +### Features + +* add ability to turn off devtools on vuex by passing an off options ([#1407](https://github.com/vuejs/vuex/issues/1407)) ([be75d41](https://github.com/vuejs/vuex/commit/be75d41cf54d50177a7db7e9218e8d1c820ae830)) +* ensure errors in action subscribers do not break actions ([acd7249](https://github.com/vuejs/vuex/commit/acd72492eaffff3661f75860a3d7ab37b73c3906)) + + +### Reverts + +* Revert "Update util find (#1205)" (fix #1286) ([273bf86](https://github.com/vuejs/vuex/commit/273bf86b330ee580a73176c300919996b7d9c2c3)), closes [#1286](https://github.com/vuejs/vuex/issues/1286) + + + +## [3.0.1](https://github.com/vuejs/vuex/compare/v3.0.0...v3.0.1) (2017-11-01) + + + +# [3.0.0](https://github.com/vuejs/vuex/compare/v2.5.0...v3.0.0) (2017-10-11) + + +### Features + +* **typings:** adapt to the new Vue typings ([#909](https://github.com/vuejs/vuex/issues/909)) ([65dbfec](https://github.com/vuejs/vuex/commit/65dbfec40d5fe7aac05aab333c7b70768997ca7f)) + + +### BREAKING CHANGES + +* **typings:** It is no longer compatible with the old Vue typings + +* chore(package): bump typescript and vue core typings + +* chore: bump vue + +* Update package.json + + + +# [2.5.0](https://github.com/vuejs/vuex/compare/v2.4.1...v2.5.0) (2017-10-11) + + +### Bug Fixes + +* initialize root state as an empty object if state function returns no value ([#927](https://github.com/vuejs/vuex/issues/927)) ([0e9756b](https://github.com/vuejs/vuex/commit/0e9756b93c5de8e03286d93f0b50af5f8dfd3bac)) + + +### Features + +* add logger plugin logger config support ([#771](https://github.com/vuejs/vuex/issues/771)) ([804c3bb](https://github.com/vuejs/vuex/commit/804c3bbd2e60f11412f5a7cb7694969f8f6c215c)) +* preserve state with registerModule ([#837](https://github.com/vuejs/vuex/issues/837)) ([4c1841e](https://github.com/vuejs/vuex/commit/4c1841e79e63ca0ca95d0cc1b218fde258f23c20)) +* root actions in namespaced modules ([#941](https://github.com/vuejs/vuex/issues/941)) ([73189eb](https://github.com/vuejs/vuex/commit/73189eb35509de7d49bd2b577900ad560d37dcb0)) +* subscribeAction ([#960](https://github.com/vuejs/vuex/issues/960)) ([a8326b1](https://github.com/vuejs/vuex/commit/a8326b1bd77158e7e5903eed4cc98b52599e3dbd)) + + + +## [2.4.1](https://github.com/vuejs/vuex/compare/v2.4.0...v2.4.1) (2017-09-27) + + +### Bug Fixes + +* allow installation on extended Vue copies ([c87b72f](https://github.com/vuejs/vuex/commit/c87b72f2ff7f65e708c4b59a752ef234d0f28d1f)) +* link to details of mutations in components ([#930](https://github.com/vuejs/vuex/issues/930)) ([e82782b](https://github.com/vuejs/vuex/commit/e82782ba81c398dd5b78a195257a9d1c3a6d85ef)) +* move auto installation code into the store constructor ([#914](https://github.com/vuejs/vuex/issues/914)) ([852ac43](https://github.com/vuejs/vuex/commit/852ac43ea4813ecaeb1e5106c4a29c74e57c2fd7)) + + +### Features + +* allow to passing functions in mapActions/mapMutations (fix [#750](https://github.com/vuejs/vuex/issues/750)) ([#924](https://github.com/vuejs/vuex/issues/924)) ([be15f32](https://github.com/vuejs/vuex/commit/be15f32c0077d8fe9bafa38c1b319b655cfd5f86)) + + + +# [2.4.0](https://github.com/vuejs/vuex/compare/v2.3.0...v2.4.0) (2017-08-29) + + +### Bug Fixes + +* **typings:** watch() returns an unwatch function ([#922](https://github.com/vuejs/vuex/issues/922)) ([a4bd081](https://github.com/vuejs/vuex/commit/a4bd0816838cc4a843d833363b9aa412c1256e5e)) +* add missing typings and docs of createNamespacedHelpers ([#910](https://github.com/vuejs/vuex/issues/910)) ([7ad573b](https://github.com/vuejs/vuex/commit/7ad573bba59d23dbd66e3a25e6614296aeb98d42)) + + +### Features + +* **store:** bind mutation and action handlers to store ([#872](https://github.com/vuejs/vuex/issues/872)) ([67da622](https://github.com/vuejs/vuex/commit/67da6225552e46266ed059c7f0d0128294cd08ed)) + + +### Performance Improvements + +* do not connect devtools if Vue.config.devtools == false ([#881](https://github.com/vuejs/vuex/issues/881)) ([dd7f817](https://github.com/vuejs/vuex/commit/dd7f8178d93e6121a447c410b9c652f40cd80937)) + + + +# [2.3.0](https://github.com/vuejs/vuex/compare/v2.2.1...v2.3.0) (2017-04-13) + + +* Add '-loader' suffix to webpack config (#722) ([84b4634](https://github.com/vuejs/vuex/commit/84b463438ea4133f7f326dc18212e3d4b7b5a177)), closes [#722](https://github.com/vuejs/vuex/issues/722) + + +### BREAKING CHANGES + +* It's no longer allowed to omit the '-loader' suffix when using loaders. You need to specify 'babel-loader' instead of 'babel'. +My version of webpack: 2.2.0-rc.3 +Adding the '-loader' suffix fixed the problem. +Not sure though how safe it is to use 'babel-loader' instead of 'babel' with previous webpack versions... + + + +## [2.2.1](https://github.com/vuejs/vuex/compare/v2.2.0...v2.2.1) (2017-02-26) + + + +# [2.2.0](https://github.com/vuejs/vuex/compare/v2.1.2...v2.2.0) (2017-02-26) + + + +## [2.1.2](https://github.com/vuejs/vuex/compare/v2.1.1...v2.1.2) (2017-02-06) + + +### Reverts + +* Revert "Update modules.md (#534)" ([5e145b3](https://github.com/vuejs/vuex/commit/5e145b3a2d45977b52cfff41b3b663f629d67e74)), closes [#534](https://github.com/vuejs/vuex/issues/534) + + + +## [2.1.1](https://github.com/vuejs/vuex/compare/v2.1.0...v2.1.1) (2016-12-17) + + + +# [2.1.0](https://github.com/vuejs/vuex/compare/v2.0.0...v2.1.0) (2016-12-16) + + + +# [2.0.0](https://github.com/vuejs/vuex/compare/v2.0.0-rc.6...v2.0.0) (2016-09-30) + + + +# [2.0.0-rc.6](https://github.com/vuejs/vuex/compare/v2.0.0-rc.5...v2.0.0-rc.6) (2016-09-24) + + + +# [2.0.0-rc.5](https://github.com/vuejs/vuex/compare/v2.0.0-rc.4...v2.0.0-rc.5) (2016-08-15) + + + +# [2.0.0-rc.4](https://github.com/vuejs/vuex/compare/v2.0.0-rc.3...v2.0.0-rc.4) (2016-08-05) + + + +# [2.0.0-rc.3](https://github.com/vuejs/vuex/compare/v2.0.0-rc.1...v2.0.0-rc.3) (2016-07-11) + + + +# [2.0.0-rc.1](https://github.com/vuejs/vuex/compare/v1.0.0-rc...v2.0.0-rc.1) (2016-07-05) + + + +# [1.0.0-rc](https://github.com/vuejs/vuex/compare/v0.8.2...v1.0.0-rc) (2016-07-01) + + + +## [0.8.2](https://github.com/vuejs/vuex/compare/v0.8.1...v0.8.2) (2016-06-28) + + + +## [0.8.1](https://github.com/vuejs/vuex/compare/v0.8.0...v0.8.1) (2016-06-28) + + + +# [0.8.0](https://github.com/vuejs/vuex/compare/v0.7.1...v0.8.0) (2016-06-23) + + + +## [0.7.1](https://github.com/vuejs/vuex/compare/v0.7.0...v0.7.1) (2016-06-22) + + + +# [0.7.0](https://github.com/vuejs/vuex/compare/v0.6.3...v0.7.0) (2016-06-21) + + + +## [0.6.3](https://github.com/vuejs/vuex/compare/v0.6.2...v0.6.3) (2016-04-23) + + + +## [0.6.2](https://github.com/vuejs/vuex/compare/v0.6.1...v0.6.2) (2016-03-08) + + + +## [0.6.1](https://github.com/vuejs/vuex/compare/v0.6.0...v0.6.1) (2016-03-07) + + + +# [0.6.0](https://github.com/vuejs/vuex/compare/v0.5.1...v0.6.0) (2016-03-07) + + + +## [0.5.1](https://github.com/vuejs/vuex/compare/v0.5.0...v0.5.1) (2016-03-04) + + + +# [0.5.0](https://github.com/vuejs/vuex/compare/v0.4.2...v0.5.0) (2016-03-04) + + + +## [0.4.2](https://github.com/vuejs/vuex/compare/v0.4.1...v0.4.2) (2016-03-02) + + + +## [0.4.1](https://github.com/vuejs/vuex/compare/v0.4.0...v0.4.1) (2016-03-01) + + + +# [0.4.0](https://github.com/vuejs/vuex/compare/v0.3.0...v0.4.0) (2016-03-01) + + + +# [0.3.0](https://github.com/vuejs/vuex/compare/4a22523b8cf4a1954ec95a0083ddef6c085f4905...v0.3.0) (2016-02-16) + + +### Bug Fixes + +* **api:** fix typo ([4a22523](https://github.com/vuejs/vuex/commit/4a22523b8cf4a1954ec95a0083ddef6c085f4905)) +* **forms:** fix typo ([50094a6](https://github.com/vuejs/vuex/commit/50094a604f32d00ceb784a3fbf07c82c502faca2)) + + + diff --git a/node_modules/vuex/LICENSE b/node_modules/vuex/LICENSE new file mode 100644 index 0000000..4ef6d01 --- /dev/null +++ b/node_modules/vuex/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-present Evan You + +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/node_modules/vuex/README.md b/node_modules/vuex/README.md new file mode 100644 index 0000000..d8371a5 --- /dev/null +++ b/node_modules/vuex/README.md @@ -0,0 +1,59 @@ +# Vuex + +[![npm](https://img.shields.io/npm/v/vuex.svg)](https://npmjs.com/package/vuex) +[![ci status](https://circleci.com/gh/vuejs/vuex/tree/dev.png?style=shield)](https://circleci.com/gh/vuejs/vuex) + +--- + +:fire: **HEADS UP!** You're currently looking at Vuex 3 branch. If you're looking for Vuex 4, [please check out `4.0` branch](https://github.com/vuejs/vuex/tree/4.0). + +--- + +Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion. It also integrates with Vue's official [devtools extension](https://github.com/vuejs/vue-devtools) to provide advanced features such as zero-config time-travel debugging and state snapshot export / import. + +Learn more about Vuex at "[What is Vuex?](https://vuex.vuejs.org/)", or get started by looking into [full documentation](http://vuex.vuejs.org/). + +## Documentation + +To check out docs, visit [vuex.vuejs.org](https://vuex.vuejs.org/). + +## Examples + +- [Counter](https://github.com/vuejs/vuex/tree/dev/examples/counter) +- [Counter with Hot Reload](https://github.com/vuejs/vuex/tree/dev/examples/counter-hot) +- [TodoMVC](https://github.com/vuejs/vuex/tree/dev/examples/todomvc) +- [Flux Chat](https://github.com/vuejs/vuex/tree/dev/examples/chat) +- [Shopping Cart](https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart) + +Running the examples: + +```bash +$ npm install +$ npm run dev # serve examples at localhost:8080 +``` + +## Questions + +For questions and support please use the [Discord chat server](https://chat.vuejs.org) or [the official forum](http://forum.vuejs.org). The issue list of this repo is **exclusively** for bug reports and feature requests. + +## Issues + +Please make sure to read the [Issue Reporting Checklist](https://github.com/vuejs/vuex/blob/dev/.github/contributing.md#issue-reporting-guidelines) before opening an issue. Issues not conforming to the guidelines may be closed immediately. + +## Changelog + +Detailed changes for each release are documented in the [release notes](https://github.com/vuejs/vuex/releases). + +## Stay In Touch + +For latest releases and announcements, follow on Twitter: [@vuejs](https://twitter.com/vuejs). + +## Contribution + +Please make sure to read the [Contributing Guide](https://github.com/vuejs/vuex/blob/dev/.github/contributing.md) before making a pull request. + +## License + +[MIT](http://opensource.org/licenses/MIT) + +Copyright (c) 2015-present Evan You diff --git a/node_modules/vuex/dist/logger.js b/node_modules/vuex/dist/logger.js new file mode 100644 index 0000000..0ccaf41 --- /dev/null +++ b/node_modules/vuex/dist/logger.js @@ -0,0 +1,155 @@ +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Vuex = factory()); +}(this, (function () { 'use strict'; + + /** + * Get the first item that pass the test + * by second argument function + * + * @param {Array} list + * @param {Function} f + * @return {*} + */ + function find (list, f) { + return list.filter(f)[0] + } + + /** + * Deep copy the given object considering circular structure. + * This function caches all nested objects and its copies. + * If it detects circular structure, use cached copy to avoid infinite loop. + * + * @param {*} obj + * @param {Array} cache + * @return {*} + */ + function deepCopy (obj, cache) { + if ( cache === void 0 ) cache = []; + + // just return if obj is immutable value + if (obj === null || typeof obj !== 'object') { + return obj + } + + // if obj is hit, it is in circular structure + var hit = find(cache, function (c) { return c.original === obj; }); + if (hit) { + return hit.copy + } + + var copy = Array.isArray(obj) ? [] : {}; + // put the copy into cache at first + // because we want to refer it in recursive deepCopy + cache.push({ + original: obj, + copy: copy + }); + + Object.keys(obj).forEach(function (key) { + copy[key] = deepCopy(obj[key], cache); + }); + + return copy + } + + // Credits: borrowed code from fcomb/redux-logger + + function createLogger (ref) { + if ( ref === void 0 ) ref = {}; + var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true; + var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; }; + var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; }; + var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; }; + var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; }; + var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; }; + var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true; + var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true; + var logger = ref.logger; if ( logger === void 0 ) logger = console; + + return function (store) { + var prevState = deepCopy(store.state); + + if (typeof logger === 'undefined') { + return + } + + if (logMutations) { + store.subscribe(function (mutation, state) { + var nextState = deepCopy(state); + + if (filter(mutation, prevState, nextState)) { + var formattedTime = getFormattedTime(); + var formattedMutation = mutationTransformer(mutation); + var message = "mutation " + (mutation.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState)); + logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation); + logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState)); + endMessage(logger); + } + + prevState = nextState; + }); + } + + if (logActions) { + store.subscribeAction(function (action, state) { + if (actionFilter(action, state)) { + var formattedTime = getFormattedTime(); + var formattedAction = actionTransformer(action); + var message = "action " + (action.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction); + endMessage(logger); + } + }); + } + } + } + + function startMessage (logger, message, collapsed) { + var startMessage = collapsed + ? logger.groupCollapsed + : logger.group; + + // render + try { + startMessage.call(logger, message); + } catch (e) { + logger.log(message); + } + } + + function endMessage (logger) { + try { + logger.groupEnd(); + } catch (e) { + logger.log('—— log end ——'); + } + } + + function getFormattedTime () { + var time = new Date(); + return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3))) + } + + function repeat (str, times) { + return (new Array(times + 1)).join(str) + } + + function pad (num, maxLength) { + return repeat('0', maxLength - num.toString().length) + num + } + + return createLogger; + +}))); diff --git a/node_modules/vuex/dist/vuex.common.js b/node_modules/vuex/dist/vuex.common.js new file mode 100644 index 0000000..8d1c521 --- /dev/null +++ b/node_modules/vuex/dist/vuex.common.js @@ -0,0 +1,1244 @@ +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +'use strict'; + +function applyMixin (Vue) { + var version = Number(Vue.version.split('.')[0]); + + if (version >= 2) { + Vue.mixin({ beforeCreate: vuexInit }); + } else { + // override init and inject vuex init procedure + // for 1.x backwards compatibility. + var _init = Vue.prototype._init; + Vue.prototype._init = function (options) { + if ( options === void 0 ) options = {}; + + options.init = options.init + ? [vuexInit].concat(options.init) + : vuexInit; + _init.call(this, options); + }; + } + + /** + * Vuex init hook, injected into each instances init hooks list. + */ + + function vuexInit () { + var options = this.$options; + // store injection + if (options.store) { + this.$store = typeof options.store === 'function' + ? options.store() + : options.store; + } else if (options.parent && options.parent.$store) { + this.$store = options.parent.$store; + } + } +} + +var target = typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__; + +function devtoolPlugin (store) { + if (!devtoolHook) { return } + + store._devtoolHook = devtoolHook; + + devtoolHook.emit('vuex:init', store); + + devtoolHook.on('vuex:travel-to-state', function (targetState) { + store.replaceState(targetState); + }); + + store.subscribe(function (mutation, state) { + devtoolHook.emit('vuex:mutation', mutation, state); + }, { prepend: true }); + + store.subscribeAction(function (action, state) { + devtoolHook.emit('vuex:action', action, state); + }, { prepend: true }); +} + +/** + * Get the first item that pass the test + * by second argument function + * + * @param {Array} list + * @param {Function} f + * @return {*} + */ +function find (list, f) { + return list.filter(f)[0] +} + +/** + * Deep copy the given object considering circular structure. + * This function caches all nested objects and its copies. + * If it detects circular structure, use cached copy to avoid infinite loop. + * + * @param {*} obj + * @param {Array} cache + * @return {*} + */ +function deepCopy (obj, cache) { + if ( cache === void 0 ) cache = []; + + // just return if obj is immutable value + if (obj === null || typeof obj !== 'object') { + return obj + } + + // if obj is hit, it is in circular structure + var hit = find(cache, function (c) { return c.original === obj; }); + if (hit) { + return hit.copy + } + + var copy = Array.isArray(obj) ? [] : {}; + // put the copy into cache at first + // because we want to refer it in recursive deepCopy + cache.push({ + original: obj, + copy: copy + }); + + Object.keys(obj).forEach(function (key) { + copy[key] = deepCopy(obj[key], cache); + }); + + return copy +} + +/** + * forEach for object + */ +function forEachValue (obj, fn) { + Object.keys(obj).forEach(function (key) { return fn(obj[key], key); }); +} + +function isObject (obj) { + return obj !== null && typeof obj === 'object' +} + +function isPromise (val) { + return val && typeof val.then === 'function' +} + +function assert (condition, msg) { + if (!condition) { throw new Error(("[vuex] " + msg)) } +} + +function partial (fn, arg) { + return function () { + return fn(arg) + } +} + +// Base data struct for store's module, package with some attribute and method +var Module = function Module (rawModule, runtime) { + this.runtime = runtime; + // Store some children item + this._children = Object.create(null); + // Store the origin module object which passed by programmer + this._rawModule = rawModule; + var rawState = rawModule.state; + + // Store the origin module's state + this.state = (typeof rawState === 'function' ? rawState() : rawState) || {}; +}; + +var prototypeAccessors = { namespaced: { configurable: true } }; + +prototypeAccessors.namespaced.get = function () { + return !!this._rawModule.namespaced +}; + +Module.prototype.addChild = function addChild (key, module) { + this._children[key] = module; +}; + +Module.prototype.removeChild = function removeChild (key) { + delete this._children[key]; +}; + +Module.prototype.getChild = function getChild (key) { + return this._children[key] +}; + +Module.prototype.hasChild = function hasChild (key) { + return key in this._children +}; + +Module.prototype.update = function update (rawModule) { + this._rawModule.namespaced = rawModule.namespaced; + if (rawModule.actions) { + this._rawModule.actions = rawModule.actions; + } + if (rawModule.mutations) { + this._rawModule.mutations = rawModule.mutations; + } + if (rawModule.getters) { + this._rawModule.getters = rawModule.getters; + } +}; + +Module.prototype.forEachChild = function forEachChild (fn) { + forEachValue(this._children, fn); +}; + +Module.prototype.forEachGetter = function forEachGetter (fn) { + if (this._rawModule.getters) { + forEachValue(this._rawModule.getters, fn); + } +}; + +Module.prototype.forEachAction = function forEachAction (fn) { + if (this._rawModule.actions) { + forEachValue(this._rawModule.actions, fn); + } +}; + +Module.prototype.forEachMutation = function forEachMutation (fn) { + if (this._rawModule.mutations) { + forEachValue(this._rawModule.mutations, fn); + } +}; + +Object.defineProperties( Module.prototype, prototypeAccessors ); + +var ModuleCollection = function ModuleCollection (rawRootModule) { + // register root module (Vuex.Store options) + this.register([], rawRootModule, false); +}; + +ModuleCollection.prototype.get = function get (path) { + return path.reduce(function (module, key) { + return module.getChild(key) + }, this.root) +}; + +ModuleCollection.prototype.getNamespace = function getNamespace (path) { + var module = this.root; + return path.reduce(function (namespace, key) { + module = module.getChild(key); + return namespace + (module.namespaced ? key + '/' : '') + }, '') +}; + +ModuleCollection.prototype.update = function update$1 (rawRootModule) { + update([], this.root, rawRootModule); +}; + +ModuleCollection.prototype.register = function register (path, rawModule, runtime) { + var this$1 = this; + if ( runtime === void 0 ) runtime = true; + + if ((process.env.NODE_ENV !== 'production')) { + assertRawModule(path, rawModule); + } + + var newModule = new Module(rawModule, runtime); + if (path.length === 0) { + this.root = newModule; + } else { + var parent = this.get(path.slice(0, -1)); + parent.addChild(path[path.length - 1], newModule); + } + + // register nested modules + if (rawModule.modules) { + forEachValue(rawModule.modules, function (rawChildModule, key) { + this$1.register(path.concat(key), rawChildModule, runtime); + }); + } +}; + +ModuleCollection.prototype.unregister = function unregister (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + var child = parent.getChild(key); + + if (!child) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn( + "[vuex] trying to unregister module '" + key + "', which is " + + "not registered" + ); + } + return + } + + if (!child.runtime) { + return + } + + parent.removeChild(key); +}; + +ModuleCollection.prototype.isRegistered = function isRegistered (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + + if (parent) { + return parent.hasChild(key) + } + + return false +}; + +function update (path, targetModule, newModule) { + if ((process.env.NODE_ENV !== 'production')) { + assertRawModule(path, newModule); + } + + // update target module + targetModule.update(newModule); + + // update nested modules + if (newModule.modules) { + for (var key in newModule.modules) { + if (!targetModule.getChild(key)) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn( + "[vuex] trying to add a new module '" + key + "' on hot reloading, " + + 'manual reload is needed' + ); + } + return + } + update( + path.concat(key), + targetModule.getChild(key), + newModule.modules[key] + ); + } + } +} + +var functionAssert = { + assert: function (value) { return typeof value === 'function'; }, + expected: 'function' +}; + +var objectAssert = { + assert: function (value) { return typeof value === 'function' || + (typeof value === 'object' && typeof value.handler === 'function'); }, + expected: 'function or object with "handler" function' +}; + +var assertTypes = { + getters: functionAssert, + mutations: functionAssert, + actions: objectAssert +}; + +function assertRawModule (path, rawModule) { + Object.keys(assertTypes).forEach(function (key) { + if (!rawModule[key]) { return } + + var assertOptions = assertTypes[key]; + + forEachValue(rawModule[key], function (value, type) { + assert( + assertOptions.assert(value), + makeAssertionMessage(path, key, type, value, assertOptions.expected) + ); + }); + }); +} + +function makeAssertionMessage (path, key, type, value, expected) { + var buf = key + " should be " + expected + " but \"" + key + "." + type + "\""; + if (path.length > 0) { + buf += " in module \"" + (path.join('.')) + "\""; + } + buf += " is " + (JSON.stringify(value)) + "."; + return buf +} + +var Vue; // bind on install + +var Store = function Store (options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + // Auto install if it is not done yet and `window` has `Vue`. + // To allow users to avoid auto-installation in some cases, + // this code should be placed here. See #731 + if (!Vue && typeof window !== 'undefined' && window.Vue) { + install(window.Vue); + } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Vue, "must call Vue.use(Vuex) before creating a store instance."); + assert(typeof Promise !== 'undefined', "vuex requires a Promise polyfill in this browser."); + assert(this instanceof Store, "store must be called with the new operator."); + } + + var plugins = options.plugins; if ( plugins === void 0 ) plugins = []; + var strict = options.strict; if ( strict === void 0 ) strict = false; + + // store internal state + this._committing = false; + this._actions = Object.create(null); + this._actionSubscribers = []; + this._mutations = Object.create(null); + this._wrappedGetters = Object.create(null); + this._modules = new ModuleCollection(options); + this._modulesNamespaceMap = Object.create(null); + this._subscribers = []; + this._watcherVM = new Vue(); + this._makeLocalGettersCache = Object.create(null); + + // bind commit and dispatch to self + var store = this; + var ref = this; + var dispatch = ref.dispatch; + var commit = ref.commit; + this.dispatch = function boundDispatch (type, payload) { + return dispatch.call(store, type, payload) + }; + this.commit = function boundCommit (type, payload, options) { + return commit.call(store, type, payload, options) + }; + + // strict mode + this.strict = strict; + + var state = this._modules.root.state; + + // init root module. + // this also recursively registers all sub-modules + // and collects all module getters inside this._wrappedGetters + installModule(this, state, [], this._modules.root); + + // initialize the store vm, which is responsible for the reactivity + // (also registers _wrappedGetters as computed properties) + resetStoreVM(this, state); + + // apply plugins + plugins.forEach(function (plugin) { return plugin(this$1); }); + + var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools; + if (useDevtools) { + devtoolPlugin(this); + } +}; + +var prototypeAccessors$1 = { state: { configurable: true } }; + +prototypeAccessors$1.state.get = function () { + return this._vm._data.$$state +}; + +prototypeAccessors$1.state.set = function (v) { + if ((process.env.NODE_ENV !== 'production')) { + assert(false, "use store.replaceState() to explicit replace store state."); + } +}; + +Store.prototype.commit = function commit (_type, _payload, _options) { + var this$1 = this; + + // check object-style commit + var ref = unifyObjectStyle(_type, _payload, _options); + var type = ref.type; + var payload = ref.payload; + var options = ref.options; + + var mutation = { type: type, payload: payload }; + var entry = this._mutations[type]; + if (!entry) { + if ((process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] unknown mutation type: " + type)); + } + return + } + this._withCommit(function () { + entry.forEach(function commitIterator (handler) { + handler(payload); + }); + }); + + this._subscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .forEach(function (sub) { return sub(mutation, this$1.state); }); + + if ( + (process.env.NODE_ENV !== 'production') && + options && options.silent + ) { + console.warn( + "[vuex] mutation type: " + type + ". Silent option has been removed. " + + 'Use the filter functionality in the vue-devtools' + ); + } +}; + +Store.prototype.dispatch = function dispatch (_type, _payload) { + var this$1 = this; + + // check object-style dispatch + var ref = unifyObjectStyle(_type, _payload); + var type = ref.type; + var payload = ref.payload; + + var action = { type: type, payload: payload }; + var entry = this._actions[type]; + if (!entry) { + if ((process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] unknown action type: " + type)); + } + return + } + + try { + this._actionSubscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .filter(function (sub) { return sub.before; }) + .forEach(function (sub) { return sub.before(action, this$1.state); }); + } catch (e) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn("[vuex] error in before action subscribers: "); + console.error(e); + } + } + + var result = entry.length > 1 + ? Promise.all(entry.map(function (handler) { return handler(payload); })) + : entry[0](payload); + + return new Promise(function (resolve, reject) { + result.then(function (res) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.after; }) + .forEach(function (sub) { return sub.after(action, this$1.state); }); + } catch (e) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn("[vuex] error in after action subscribers: "); + console.error(e); + } + } + resolve(res); + }, function (error) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.error; }) + .forEach(function (sub) { return sub.error(action, this$1.state, error); }); + } catch (e) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn("[vuex] error in error action subscribers: "); + console.error(e); + } + } + reject(error); + }); + }) +}; + +Store.prototype.subscribe = function subscribe (fn, options) { + return genericSubscribe(fn, this._subscribers, options) +}; + +Store.prototype.subscribeAction = function subscribeAction (fn, options) { + var subs = typeof fn === 'function' ? { before: fn } : fn; + return genericSubscribe(subs, this._actionSubscribers, options) +}; + +Store.prototype.watch = function watch (getter, cb, options) { + var this$1 = this; + + if ((process.env.NODE_ENV !== 'production')) { + assert(typeof getter === 'function', "store.watch only accepts a function."); + } + return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options) +}; + +Store.prototype.replaceState = function replaceState (state) { + var this$1 = this; + + this._withCommit(function () { + this$1._vm._data.$$state = state; + }); +}; + +Store.prototype.registerModule = function registerModule (path, rawModule, options) { + if ( options === void 0 ) options = {}; + + if (typeof path === 'string') { path = [path]; } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Array.isArray(path), "module path must be a string or an Array."); + assert(path.length > 0, 'cannot register the root module by using registerModule.'); + } + + this._modules.register(path, rawModule); + installModule(this, this.state, path, this._modules.get(path), options.preserveState); + // reset store to update getters... + resetStoreVM(this, this.state); +}; + +Store.prototype.unregisterModule = function unregisterModule (path) { + var this$1 = this; + + if (typeof path === 'string') { path = [path]; } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + this._modules.unregister(path); + this._withCommit(function () { + var parentState = getNestedState(this$1.state, path.slice(0, -1)); + Vue.delete(parentState, path[path.length - 1]); + }); + resetStore(this); +}; + +Store.prototype.hasModule = function hasModule (path) { + if (typeof path === 'string') { path = [path]; } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + return this._modules.isRegistered(path) +}; + +Store.prototype.hotUpdate = function hotUpdate (newOptions) { + this._modules.update(newOptions); + resetStore(this, true); +}; + +Store.prototype._withCommit = function _withCommit (fn) { + var committing = this._committing; + this._committing = true; + fn(); + this._committing = committing; +}; + +Object.defineProperties( Store.prototype, prototypeAccessors$1 ); + +function genericSubscribe (fn, subs, options) { + if (subs.indexOf(fn) < 0) { + options && options.prepend + ? subs.unshift(fn) + : subs.push(fn); + } + return function () { + var i = subs.indexOf(fn); + if (i > -1) { + subs.splice(i, 1); + } + } +} + +function resetStore (store, hot) { + store._actions = Object.create(null); + store._mutations = Object.create(null); + store._wrappedGetters = Object.create(null); + store._modulesNamespaceMap = Object.create(null); + var state = store.state; + // init all modules + installModule(store, state, [], store._modules.root, true); + // reset vm + resetStoreVM(store, state, hot); +} + +function resetStoreVM (store, state, hot) { + var oldVm = store._vm; + + // bind store public getters + store.getters = {}; + // reset local getters cache + store._makeLocalGettersCache = Object.create(null); + var wrappedGetters = store._wrappedGetters; + var computed = {}; + forEachValue(wrappedGetters, function (fn, key) { + // use computed to leverage its lazy-caching mechanism + // direct inline function use will lead to closure preserving oldVm. + // using partial to return function with only arguments preserved in closure environment. + computed[key] = partial(fn, store); + Object.defineProperty(store.getters, key, { + get: function () { return store._vm[key]; }, + enumerable: true // for local getters + }); + }); + + // use a Vue instance to store the state tree + // suppress warnings just in case the user has added + // some funky global mixins + var silent = Vue.config.silent; + Vue.config.silent = true; + store._vm = new Vue({ + data: { + $$state: state + }, + computed: computed + }); + Vue.config.silent = silent; + + // enable strict mode for new vm + if (store.strict) { + enableStrictMode(store); + } + + if (oldVm) { + if (hot) { + // dispatch changes in all subscribed watchers + // to force getter re-evaluation for hot reloading. + store._withCommit(function () { + oldVm._data.$$state = null; + }); + } + Vue.nextTick(function () { return oldVm.$destroy(); }); + } +} + +function installModule (store, rootState, path, module, hot) { + var isRoot = !path.length; + var namespace = store._modules.getNamespace(path); + + // register in namespace map + if (module.namespaced) { + if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] duplicate namespace " + namespace + " for the namespaced module " + (path.join('/')))); + } + store._modulesNamespaceMap[namespace] = module; + } + + // set state + if (!isRoot && !hot) { + var parentState = getNestedState(rootState, path.slice(0, -1)); + var moduleName = path[path.length - 1]; + store._withCommit(function () { + if ((process.env.NODE_ENV !== 'production')) { + if (moduleName in parentState) { + console.warn( + ("[vuex] state field \"" + moduleName + "\" was overridden by a module with the same name at \"" + (path.join('.')) + "\"") + ); + } + } + Vue.set(parentState, moduleName, module.state); + }); + } + + var local = module.context = makeLocalContext(store, namespace, path); + + module.forEachMutation(function (mutation, key) { + var namespacedType = namespace + key; + registerMutation(store, namespacedType, mutation, local); + }); + + module.forEachAction(function (action, key) { + var type = action.root ? key : namespace + key; + var handler = action.handler || action; + registerAction(store, type, handler, local); + }); + + module.forEachGetter(function (getter, key) { + var namespacedType = namespace + key; + registerGetter(store, namespacedType, getter, local); + }); + + module.forEachChild(function (child, key) { + installModule(store, rootState, path.concat(key), child, hot); + }); +} + +/** + * make localized dispatch, commit, getters and state + * if there is no namespace, just use root ones + */ +function makeLocalContext (store, namespace, path) { + var noNamespace = namespace === ''; + + var local = { + dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) { + console.error(("[vuex] unknown local action type: " + (args.type) + ", global type: " + type)); + return + } + } + + return store.dispatch(type, payload) + }, + + commit: noNamespace ? store.commit : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) { + console.error(("[vuex] unknown local mutation type: " + (args.type) + ", global type: " + type)); + return + } + } + + store.commit(type, payload, options); + } + }; + + // getters and state object must be gotten lazily + // because they will be changed by vm update + Object.defineProperties(local, { + getters: { + get: noNamespace + ? function () { return store.getters; } + : function () { return makeLocalGetters(store, namespace); } + }, + state: { + get: function () { return getNestedState(store.state, path); } + } + }); + + return local +} + +function makeLocalGetters (store, namespace) { + if (!store._makeLocalGettersCache[namespace]) { + var gettersProxy = {}; + var splitPos = namespace.length; + Object.keys(store.getters).forEach(function (type) { + // skip if the target getter is not match this namespace + if (type.slice(0, splitPos) !== namespace) { return } + + // extract local getter type + var localType = type.slice(splitPos); + + // Add a port to the getters proxy. + // Define as getter property because + // we do not want to evaluate the getters in this time. + Object.defineProperty(gettersProxy, localType, { + get: function () { return store.getters[type]; }, + enumerable: true + }); + }); + store._makeLocalGettersCache[namespace] = gettersProxy; + } + + return store._makeLocalGettersCache[namespace] +} + +function registerMutation (store, type, handler, local) { + var entry = store._mutations[type] || (store._mutations[type] = []); + entry.push(function wrappedMutationHandler (payload) { + handler.call(store, local.state, payload); + }); +} + +function registerAction (store, type, handler, local) { + var entry = store._actions[type] || (store._actions[type] = []); + entry.push(function wrappedActionHandler (payload) { + var res = handler.call(store, { + dispatch: local.dispatch, + commit: local.commit, + getters: local.getters, + state: local.state, + rootGetters: store.getters, + rootState: store.state + }, payload); + if (!isPromise(res)) { + res = Promise.resolve(res); + } + if (store._devtoolHook) { + return res.catch(function (err) { + store._devtoolHook.emit('vuex:error', err); + throw err + }) + } else { + return res + } + }); +} + +function registerGetter (store, type, rawGetter, local) { + if (store._wrappedGetters[type]) { + if ((process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] duplicate getter key: " + type)); + } + return + } + store._wrappedGetters[type] = function wrappedGetter (store) { + return rawGetter( + local.state, // local state + local.getters, // local getters + store.state, // root state + store.getters // root getters + ) + }; +} + +function enableStrictMode (store) { + store._vm.$watch(function () { return this._data.$$state }, function () { + if ((process.env.NODE_ENV !== 'production')) { + assert(store._committing, "do not mutate vuex store state outside mutation handlers."); + } + }, { deep: true, sync: true }); +} + +function getNestedState (state, path) { + return path.reduce(function (state, key) { return state[key]; }, state) +} + +function unifyObjectStyle (type, payload, options) { + if (isObject(type) && type.type) { + options = payload; + payload = type; + type = type.type; + } + + if ((process.env.NODE_ENV !== 'production')) { + assert(typeof type === 'string', ("expects string as the type, but found " + (typeof type) + ".")); + } + + return { type: type, payload: payload, options: options } +} + +function install (_Vue) { + if (Vue && _Vue === Vue) { + if ((process.env.NODE_ENV !== 'production')) { + console.error( + '[vuex] already installed. Vue.use(Vuex) should be called only once.' + ); + } + return + } + Vue = _Vue; + applyMixin(Vue); +} + +/** + * Reduce the code which written in Vue.js for getting the state. + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it. + * @param {Object} + */ +var mapState = normalizeNamespace(function (namespace, states) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) { + console.error('[vuex] mapState: mapper parameter must be either an Array or an Object'); + } + normalizeMap(states).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedState () { + var state = this.$store.state; + var getters = this.$store.getters; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapState', namespace); + if (!module) { + return + } + state = module.context.state; + getters = module.context.getters; + } + return typeof val === 'function' + ? val.call(this, state, getters) + : state[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for committing the mutation + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +var mapMutations = normalizeNamespace(function (namespace, mutations) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) { + console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object'); + } + normalizeMap(mutations).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedMutation () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // Get the commit method from store + var commit = this.$store.commit; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapMutations', namespace); + if (!module) { + return + } + commit = module.context.commit; + } + return typeof val === 'function' + ? val.apply(this, [commit].concat(args)) + : commit.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for getting the getters + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} getters + * @return {Object} + */ +var mapGetters = normalizeNamespace(function (namespace, getters) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) { + console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object'); + } + normalizeMap(getters).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + // The namespace has been mutated by normalizeNamespace + val = namespace + val; + res[key] = function mappedGetter () { + if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) { + return + } + if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) { + console.error(("[vuex] unknown getter: " + val)); + return + } + return this.$store.getters[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for dispatch the action + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +var mapActions = normalizeNamespace(function (namespace, actions) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) { + console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object'); + } + normalizeMap(actions).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedAction () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // get dispatch function from store + var dispatch = this.$store.dispatch; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapActions', namespace); + if (!module) { + return + } + dispatch = module.context.dispatch; + } + return typeof val === 'function' + ? val.apply(this, [dispatch].concat(args)) + : dispatch.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object + * @param {String} namespace + * @return {Object} + */ +var createNamespacedHelpers = function (namespace) { return ({ + mapState: mapState.bind(null, namespace), + mapGetters: mapGetters.bind(null, namespace), + mapMutations: mapMutations.bind(null, namespace), + mapActions: mapActions.bind(null, namespace) +}); }; + +/** + * Normalize the map + * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ] + * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ] + * @param {Array|Object} map + * @return {Object} + */ +function normalizeMap (map) { + if (!isValidMap(map)) { + return [] + } + return Array.isArray(map) + ? map.map(function (key) { return ({ key: key, val: key }); }) + : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); }) +} + +/** + * Validate whether given map is valid or not + * @param {*} map + * @return {Boolean} + */ +function isValidMap (map) { + return Array.isArray(map) || isObject(map) +} + +/** + * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map. + * @param {Function} fn + * @return {Function} + */ +function normalizeNamespace (fn) { + return function (namespace, map) { + if (typeof namespace !== 'string') { + map = namespace; + namespace = ''; + } else if (namespace.charAt(namespace.length - 1) !== '/') { + namespace += '/'; + } + return fn(namespace, map) + } +} + +/** + * Search a special module from store by namespace. if module not exist, print error message. + * @param {Object} store + * @param {String} helper + * @param {String} namespace + * @return {Object} + */ +function getModuleByNamespace (store, helper, namespace) { + var module = store._modulesNamespaceMap[namespace]; + if ((process.env.NODE_ENV !== 'production') && !module) { + console.error(("[vuex] module namespace not found in " + helper + "(): " + namespace)); + } + return module +} + +// Credits: borrowed code from fcomb/redux-logger + +function createLogger (ref) { + if ( ref === void 0 ) ref = {}; + var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true; + var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; }; + var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; }; + var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; }; + var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; }; + var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; }; + var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true; + var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true; + var logger = ref.logger; if ( logger === void 0 ) logger = console; + + return function (store) { + var prevState = deepCopy(store.state); + + if (typeof logger === 'undefined') { + return + } + + if (logMutations) { + store.subscribe(function (mutation, state) { + var nextState = deepCopy(state); + + if (filter(mutation, prevState, nextState)) { + var formattedTime = getFormattedTime(); + var formattedMutation = mutationTransformer(mutation); + var message = "mutation " + (mutation.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState)); + logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation); + logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState)); + endMessage(logger); + } + + prevState = nextState; + }); + } + + if (logActions) { + store.subscribeAction(function (action, state) { + if (actionFilter(action, state)) { + var formattedTime = getFormattedTime(); + var formattedAction = actionTransformer(action); + var message = "action " + (action.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction); + endMessage(logger); + } + }); + } + } +} + +function startMessage (logger, message, collapsed) { + var startMessage = collapsed + ? logger.groupCollapsed + : logger.group; + + // render + try { + startMessage.call(logger, message); + } catch (e) { + logger.log(message); + } +} + +function endMessage (logger) { + try { + logger.groupEnd(); + } catch (e) { + logger.log('—— log end ——'); + } +} + +function getFormattedTime () { + var time = new Date(); + return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3))) +} + +function repeat (str, times) { + return (new Array(times + 1)).join(str) +} + +function pad (num, maxLength) { + return repeat('0', maxLength - num.toString().length) + num +} + +var index_cjs = { + Store: Store, + install: install, + version: '3.6.2', + mapState: mapState, + mapMutations: mapMutations, + mapGetters: mapGetters, + mapActions: mapActions, + createNamespacedHelpers: createNamespacedHelpers, + createLogger: createLogger +}; + +module.exports = index_cjs; diff --git a/node_modules/vuex/dist/vuex.esm.browser.js b/node_modules/vuex/dist/vuex.esm.browser.js new file mode 100644 index 0000000..927d4c5 --- /dev/null +++ b/node_modules/vuex/dist/vuex.esm.browser.js @@ -0,0 +1,1200 @@ +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +function applyMixin (Vue) { + const version = Number(Vue.version.split('.')[0]); + + if (version >= 2) { + Vue.mixin({ beforeCreate: vuexInit }); + } else { + // override init and inject vuex init procedure + // for 1.x backwards compatibility. + const _init = Vue.prototype._init; + Vue.prototype._init = function (options = {}) { + options.init = options.init + ? [vuexInit].concat(options.init) + : vuexInit; + _init.call(this, options); + }; + } + + /** + * Vuex init hook, injected into each instances init hooks list. + */ + + function vuexInit () { + const options = this.$options; + // store injection + if (options.store) { + this.$store = typeof options.store === 'function' + ? options.store() + : options.store; + } else if (options.parent && options.parent.$store) { + this.$store = options.parent.$store; + } + } +} + +const target = typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +const devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__; + +function devtoolPlugin (store) { + if (!devtoolHook) return + + store._devtoolHook = devtoolHook; + + devtoolHook.emit('vuex:init', store); + + devtoolHook.on('vuex:travel-to-state', targetState => { + store.replaceState(targetState); + }); + + store.subscribe((mutation, state) => { + devtoolHook.emit('vuex:mutation', mutation, state); + }, { prepend: true }); + + store.subscribeAction((action, state) => { + devtoolHook.emit('vuex:action', action, state); + }, { prepend: true }); +} + +/** + * Get the first item that pass the test + * by second argument function + * + * @param {Array} list + * @param {Function} f + * @return {*} + */ +function find (list, f) { + return list.filter(f)[0] +} + +/** + * Deep copy the given object considering circular structure. + * This function caches all nested objects and its copies. + * If it detects circular structure, use cached copy to avoid infinite loop. + * + * @param {*} obj + * @param {Array} cache + * @return {*} + */ +function deepCopy (obj, cache = []) { + // just return if obj is immutable value + if (obj === null || typeof obj !== 'object') { + return obj + } + + // if obj is hit, it is in circular structure + const hit = find(cache, c => c.original === obj); + if (hit) { + return hit.copy + } + + const copy = Array.isArray(obj) ? [] : {}; + // put the copy into cache at first + // because we want to refer it in recursive deepCopy + cache.push({ + original: obj, + copy + }); + + Object.keys(obj).forEach(key => { + copy[key] = deepCopy(obj[key], cache); + }); + + return copy +} + +/** + * forEach for object + */ +function forEachValue (obj, fn) { + Object.keys(obj).forEach(key => fn(obj[key], key)); +} + +function isObject (obj) { + return obj !== null && typeof obj === 'object' +} + +function isPromise (val) { + return val && typeof val.then === 'function' +} + +function assert (condition, msg) { + if (!condition) throw new Error(`[vuex] ${msg}`) +} + +function partial (fn, arg) { + return function () { + return fn(arg) + } +} + +// Base data struct for store's module, package with some attribute and method +class Module { + constructor (rawModule, runtime) { + this.runtime = runtime; + // Store some children item + this._children = Object.create(null); + // Store the origin module object which passed by programmer + this._rawModule = rawModule; + const rawState = rawModule.state; + + // Store the origin module's state + this.state = (typeof rawState === 'function' ? rawState() : rawState) || {}; + } + + get namespaced () { + return !!this._rawModule.namespaced + } + + addChild (key, module) { + this._children[key] = module; + } + + removeChild (key) { + delete this._children[key]; + } + + getChild (key) { + return this._children[key] + } + + hasChild (key) { + return key in this._children + } + + update (rawModule) { + this._rawModule.namespaced = rawModule.namespaced; + if (rawModule.actions) { + this._rawModule.actions = rawModule.actions; + } + if (rawModule.mutations) { + this._rawModule.mutations = rawModule.mutations; + } + if (rawModule.getters) { + this._rawModule.getters = rawModule.getters; + } + } + + forEachChild (fn) { + forEachValue(this._children, fn); + } + + forEachGetter (fn) { + if (this._rawModule.getters) { + forEachValue(this._rawModule.getters, fn); + } + } + + forEachAction (fn) { + if (this._rawModule.actions) { + forEachValue(this._rawModule.actions, fn); + } + } + + forEachMutation (fn) { + if (this._rawModule.mutations) { + forEachValue(this._rawModule.mutations, fn); + } + } +} + +class ModuleCollection { + constructor (rawRootModule) { + // register root module (Vuex.Store options) + this.register([], rawRootModule, false); + } + + get (path) { + return path.reduce((module, key) => { + return module.getChild(key) + }, this.root) + } + + getNamespace (path) { + let module = this.root; + return path.reduce((namespace, key) => { + module = module.getChild(key); + return namespace + (module.namespaced ? key + '/' : '') + }, '') + } + + update (rawRootModule) { + update([], this.root, rawRootModule); + } + + register (path, rawModule, runtime = true) { + { + assertRawModule(path, rawModule); + } + + const newModule = new Module(rawModule, runtime); + if (path.length === 0) { + this.root = newModule; + } else { + const parent = this.get(path.slice(0, -1)); + parent.addChild(path[path.length - 1], newModule); + } + + // register nested modules + if (rawModule.modules) { + forEachValue(rawModule.modules, (rawChildModule, key) => { + this.register(path.concat(key), rawChildModule, runtime); + }); + } + } + + unregister (path) { + const parent = this.get(path.slice(0, -1)); + const key = path[path.length - 1]; + const child = parent.getChild(key); + + if (!child) { + { + console.warn( + `[vuex] trying to unregister module '${key}', which is ` + + `not registered` + ); + } + return + } + + if (!child.runtime) { + return + } + + parent.removeChild(key); + } + + isRegistered (path) { + const parent = this.get(path.slice(0, -1)); + const key = path[path.length - 1]; + + if (parent) { + return parent.hasChild(key) + } + + return false + } +} + +function update (path, targetModule, newModule) { + { + assertRawModule(path, newModule); + } + + // update target module + targetModule.update(newModule); + + // update nested modules + if (newModule.modules) { + for (const key in newModule.modules) { + if (!targetModule.getChild(key)) { + { + console.warn( + `[vuex] trying to add a new module '${key}' on hot reloading, ` + + 'manual reload is needed' + ); + } + return + } + update( + path.concat(key), + targetModule.getChild(key), + newModule.modules[key] + ); + } + } +} + +const functionAssert = { + assert: value => typeof value === 'function', + expected: 'function' +}; + +const objectAssert = { + assert: value => typeof value === 'function' || + (typeof value === 'object' && typeof value.handler === 'function'), + expected: 'function or object with "handler" function' +}; + +const assertTypes = { + getters: functionAssert, + mutations: functionAssert, + actions: objectAssert +}; + +function assertRawModule (path, rawModule) { + Object.keys(assertTypes).forEach(key => { + if (!rawModule[key]) return + + const assertOptions = assertTypes[key]; + + forEachValue(rawModule[key], (value, type) => { + assert( + assertOptions.assert(value), + makeAssertionMessage(path, key, type, value, assertOptions.expected) + ); + }); + }); +} + +function makeAssertionMessage (path, key, type, value, expected) { + let buf = `${key} should be ${expected} but "${key}.${type}"`; + if (path.length > 0) { + buf += ` in module "${path.join('.')}"`; + } + buf += ` is ${JSON.stringify(value)}.`; + return buf +} + +let Vue; // bind on install + +class Store { + constructor (options = {}) { + // Auto install if it is not done yet and `window` has `Vue`. + // To allow users to avoid auto-installation in some cases, + // this code should be placed here. See #731 + if (!Vue && typeof window !== 'undefined' && window.Vue) { + install(window.Vue); + } + + { + assert(Vue, `must call Vue.use(Vuex) before creating a store instance.`); + assert(typeof Promise !== 'undefined', `vuex requires a Promise polyfill in this browser.`); + assert(this instanceof Store, `store must be called with the new operator.`); + } + + const { + plugins = [], + strict = false + } = options; + + // store internal state + this._committing = false; + this._actions = Object.create(null); + this._actionSubscribers = []; + this._mutations = Object.create(null); + this._wrappedGetters = Object.create(null); + this._modules = new ModuleCollection(options); + this._modulesNamespaceMap = Object.create(null); + this._subscribers = []; + this._watcherVM = new Vue(); + this._makeLocalGettersCache = Object.create(null); + + // bind commit and dispatch to self + const store = this; + const { dispatch, commit } = this; + this.dispatch = function boundDispatch (type, payload) { + return dispatch.call(store, type, payload) + }; + this.commit = function boundCommit (type, payload, options) { + return commit.call(store, type, payload, options) + }; + + // strict mode + this.strict = strict; + + const state = this._modules.root.state; + + // init root module. + // this also recursively registers all sub-modules + // and collects all module getters inside this._wrappedGetters + installModule(this, state, [], this._modules.root); + + // initialize the store vm, which is responsible for the reactivity + // (also registers _wrappedGetters as computed properties) + resetStoreVM(this, state); + + // apply plugins + plugins.forEach(plugin => plugin(this)); + + const useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools; + if (useDevtools) { + devtoolPlugin(this); + } + } + + get state () { + return this._vm._data.$$state + } + + set state (v) { + { + assert(false, `use store.replaceState() to explicit replace store state.`); + } + } + + commit (_type, _payload, _options) { + // check object-style commit + const { + type, + payload, + options + } = unifyObjectStyle(_type, _payload, _options); + + const mutation = { type, payload }; + const entry = this._mutations[type]; + if (!entry) { + { + console.error(`[vuex] unknown mutation type: ${type}`); + } + return + } + this._withCommit(() => { + entry.forEach(function commitIterator (handler) { + handler(payload); + }); + }); + + this._subscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .forEach(sub => sub(mutation, this.state)); + + if ( + + options && options.silent + ) { + console.warn( + `[vuex] mutation type: ${type}. Silent option has been removed. ` + + 'Use the filter functionality in the vue-devtools' + ); + } + } + + dispatch (_type, _payload) { + // check object-style dispatch + const { + type, + payload + } = unifyObjectStyle(_type, _payload); + + const action = { type, payload }; + const entry = this._actions[type]; + if (!entry) { + { + console.error(`[vuex] unknown action type: ${type}`); + } + return + } + + try { + this._actionSubscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .filter(sub => sub.before) + .forEach(sub => sub.before(action, this.state)); + } catch (e) { + { + console.warn(`[vuex] error in before action subscribers: `); + console.error(e); + } + } + + const result = entry.length > 1 + ? Promise.all(entry.map(handler => handler(payload))) + : entry[0](payload); + + return new Promise((resolve, reject) => { + result.then(res => { + try { + this._actionSubscribers + .filter(sub => sub.after) + .forEach(sub => sub.after(action, this.state)); + } catch (e) { + { + console.warn(`[vuex] error in after action subscribers: `); + console.error(e); + } + } + resolve(res); + }, error => { + try { + this._actionSubscribers + .filter(sub => sub.error) + .forEach(sub => sub.error(action, this.state, error)); + } catch (e) { + { + console.warn(`[vuex] error in error action subscribers: `); + console.error(e); + } + } + reject(error); + }); + }) + } + + subscribe (fn, options) { + return genericSubscribe(fn, this._subscribers, options) + } + + subscribeAction (fn, options) { + const subs = typeof fn === 'function' ? { before: fn } : fn; + return genericSubscribe(subs, this._actionSubscribers, options) + } + + watch (getter, cb, options) { + { + assert(typeof getter === 'function', `store.watch only accepts a function.`); + } + return this._watcherVM.$watch(() => getter(this.state, this.getters), cb, options) + } + + replaceState (state) { + this._withCommit(() => { + this._vm._data.$$state = state; + }); + } + + registerModule (path, rawModule, options = {}) { + if (typeof path === 'string') path = [path]; + + { + assert(Array.isArray(path), `module path must be a string or an Array.`); + assert(path.length > 0, 'cannot register the root module by using registerModule.'); + } + + this._modules.register(path, rawModule); + installModule(this, this.state, path, this._modules.get(path), options.preserveState); + // reset store to update getters... + resetStoreVM(this, this.state); + } + + unregisterModule (path) { + if (typeof path === 'string') path = [path]; + + { + assert(Array.isArray(path), `module path must be a string or an Array.`); + } + + this._modules.unregister(path); + this._withCommit(() => { + const parentState = getNestedState(this.state, path.slice(0, -1)); + Vue.delete(parentState, path[path.length - 1]); + }); + resetStore(this); + } + + hasModule (path) { + if (typeof path === 'string') path = [path]; + + { + assert(Array.isArray(path), `module path must be a string or an Array.`); + } + + return this._modules.isRegistered(path) + } + + hotUpdate (newOptions) { + this._modules.update(newOptions); + resetStore(this, true); + } + + _withCommit (fn) { + const committing = this._committing; + this._committing = true; + fn(); + this._committing = committing; + } +} + +function genericSubscribe (fn, subs, options) { + if (subs.indexOf(fn) < 0) { + options && options.prepend + ? subs.unshift(fn) + : subs.push(fn); + } + return () => { + const i = subs.indexOf(fn); + if (i > -1) { + subs.splice(i, 1); + } + } +} + +function resetStore (store, hot) { + store._actions = Object.create(null); + store._mutations = Object.create(null); + store._wrappedGetters = Object.create(null); + store._modulesNamespaceMap = Object.create(null); + const state = store.state; + // init all modules + installModule(store, state, [], store._modules.root, true); + // reset vm + resetStoreVM(store, state, hot); +} + +function resetStoreVM (store, state, hot) { + const oldVm = store._vm; + + // bind store public getters + store.getters = {}; + // reset local getters cache + store._makeLocalGettersCache = Object.create(null); + const wrappedGetters = store._wrappedGetters; + const computed = {}; + forEachValue(wrappedGetters, (fn, key) => { + // use computed to leverage its lazy-caching mechanism + // direct inline function use will lead to closure preserving oldVm. + // using partial to return function with only arguments preserved in closure environment. + computed[key] = partial(fn, store); + Object.defineProperty(store.getters, key, { + get: () => store._vm[key], + enumerable: true // for local getters + }); + }); + + // use a Vue instance to store the state tree + // suppress warnings just in case the user has added + // some funky global mixins + const silent = Vue.config.silent; + Vue.config.silent = true; + store._vm = new Vue({ + data: { + $$state: state + }, + computed + }); + Vue.config.silent = silent; + + // enable strict mode for new vm + if (store.strict) { + enableStrictMode(store); + } + + if (oldVm) { + if (hot) { + // dispatch changes in all subscribed watchers + // to force getter re-evaluation for hot reloading. + store._withCommit(() => { + oldVm._data.$$state = null; + }); + } + Vue.nextTick(() => oldVm.$destroy()); + } +} + +function installModule (store, rootState, path, module, hot) { + const isRoot = !path.length; + const namespace = store._modules.getNamespace(path); + + // register in namespace map + if (module.namespaced) { + if (store._modulesNamespaceMap[namespace] && true) { + console.error(`[vuex] duplicate namespace ${namespace} for the namespaced module ${path.join('/')}`); + } + store._modulesNamespaceMap[namespace] = module; + } + + // set state + if (!isRoot && !hot) { + const parentState = getNestedState(rootState, path.slice(0, -1)); + const moduleName = path[path.length - 1]; + store._withCommit(() => { + { + if (moduleName in parentState) { + console.warn( + `[vuex] state field "${moduleName}" was overridden by a module with the same name at "${path.join('.')}"` + ); + } + } + Vue.set(parentState, moduleName, module.state); + }); + } + + const local = module.context = makeLocalContext(store, namespace, path); + + module.forEachMutation((mutation, key) => { + const namespacedType = namespace + key; + registerMutation(store, namespacedType, mutation, local); + }); + + module.forEachAction((action, key) => { + const type = action.root ? key : namespace + key; + const handler = action.handler || action; + registerAction(store, type, handler, local); + }); + + module.forEachGetter((getter, key) => { + const namespacedType = namespace + key; + registerGetter(store, namespacedType, getter, local); + }); + + module.forEachChild((child, key) => { + installModule(store, rootState, path.concat(key), child, hot); + }); +} + +/** + * make localized dispatch, commit, getters and state + * if there is no namespace, just use root ones + */ +function makeLocalContext (store, namespace, path) { + const noNamespace = namespace === ''; + + const local = { + dispatch: noNamespace ? store.dispatch : (_type, _payload, _options) => { + const args = unifyObjectStyle(_type, _payload, _options); + const { payload, options } = args; + let { type } = args; + + if (!options || !options.root) { + type = namespace + type; + if ( !store._actions[type]) { + console.error(`[vuex] unknown local action type: ${args.type}, global type: ${type}`); + return + } + } + + return store.dispatch(type, payload) + }, + + commit: noNamespace ? store.commit : (_type, _payload, _options) => { + const args = unifyObjectStyle(_type, _payload, _options); + const { payload, options } = args; + let { type } = args; + + if (!options || !options.root) { + type = namespace + type; + if ( !store._mutations[type]) { + console.error(`[vuex] unknown local mutation type: ${args.type}, global type: ${type}`); + return + } + } + + store.commit(type, payload, options); + } + }; + + // getters and state object must be gotten lazily + // because they will be changed by vm update + Object.defineProperties(local, { + getters: { + get: noNamespace + ? () => store.getters + : () => makeLocalGetters(store, namespace) + }, + state: { + get: () => getNestedState(store.state, path) + } + }); + + return local +} + +function makeLocalGetters (store, namespace) { + if (!store._makeLocalGettersCache[namespace]) { + const gettersProxy = {}; + const splitPos = namespace.length; + Object.keys(store.getters).forEach(type => { + // skip if the target getter is not match this namespace + if (type.slice(0, splitPos) !== namespace) return + + // extract local getter type + const localType = type.slice(splitPos); + + // Add a port to the getters proxy. + // Define as getter property because + // we do not want to evaluate the getters in this time. + Object.defineProperty(gettersProxy, localType, { + get: () => store.getters[type], + enumerable: true + }); + }); + store._makeLocalGettersCache[namespace] = gettersProxy; + } + + return store._makeLocalGettersCache[namespace] +} + +function registerMutation (store, type, handler, local) { + const entry = store._mutations[type] || (store._mutations[type] = []); + entry.push(function wrappedMutationHandler (payload) { + handler.call(store, local.state, payload); + }); +} + +function registerAction (store, type, handler, local) { + const entry = store._actions[type] || (store._actions[type] = []); + entry.push(function wrappedActionHandler (payload) { + let res = handler.call(store, { + dispatch: local.dispatch, + commit: local.commit, + getters: local.getters, + state: local.state, + rootGetters: store.getters, + rootState: store.state + }, payload); + if (!isPromise(res)) { + res = Promise.resolve(res); + } + if (store._devtoolHook) { + return res.catch(err => { + store._devtoolHook.emit('vuex:error', err); + throw err + }) + } else { + return res + } + }); +} + +function registerGetter (store, type, rawGetter, local) { + if (store._wrappedGetters[type]) { + { + console.error(`[vuex] duplicate getter key: ${type}`); + } + return + } + store._wrappedGetters[type] = function wrappedGetter (store) { + return rawGetter( + local.state, // local state + local.getters, // local getters + store.state, // root state + store.getters // root getters + ) + }; +} + +function enableStrictMode (store) { + store._vm.$watch(function () { return this._data.$$state }, () => { + { + assert(store._committing, `do not mutate vuex store state outside mutation handlers.`); + } + }, { deep: true, sync: true }); +} + +function getNestedState (state, path) { + return path.reduce((state, key) => state[key], state) +} + +function unifyObjectStyle (type, payload, options) { + if (isObject(type) && type.type) { + options = payload; + payload = type; + type = type.type; + } + + { + assert(typeof type === 'string', `expects string as the type, but found ${typeof type}.`); + } + + return { type, payload, options } +} + +function install (_Vue) { + if (Vue && _Vue === Vue) { + { + console.error( + '[vuex] already installed. Vue.use(Vuex) should be called only once.' + ); + } + return + } + Vue = _Vue; + applyMixin(Vue); +} + +/** + * Reduce the code which written in Vue.js for getting the state. + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it. + * @param {Object} + */ +const mapState = normalizeNamespace((namespace, states) => { + const res = {}; + if ( !isValidMap(states)) { + console.error('[vuex] mapState: mapper parameter must be either an Array or an Object'); + } + normalizeMap(states).forEach(({ key, val }) => { + res[key] = function mappedState () { + let state = this.$store.state; + let getters = this.$store.getters; + if (namespace) { + const module = getModuleByNamespace(this.$store, 'mapState', namespace); + if (!module) { + return + } + state = module.context.state; + getters = module.context.getters; + } + return typeof val === 'function' + ? val.call(this, state, getters) + : state[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for committing the mutation + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +const mapMutations = normalizeNamespace((namespace, mutations) => { + const res = {}; + if ( !isValidMap(mutations)) { + console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object'); + } + normalizeMap(mutations).forEach(({ key, val }) => { + res[key] = function mappedMutation (...args) { + // Get the commit method from store + let commit = this.$store.commit; + if (namespace) { + const module = getModuleByNamespace(this.$store, 'mapMutations', namespace); + if (!module) { + return + } + commit = module.context.commit; + } + return typeof val === 'function' + ? val.apply(this, [commit].concat(args)) + : commit.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for getting the getters + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} getters + * @return {Object} + */ +const mapGetters = normalizeNamespace((namespace, getters) => { + const res = {}; + if ( !isValidMap(getters)) { + console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object'); + } + normalizeMap(getters).forEach(({ key, val }) => { + // The namespace has been mutated by normalizeNamespace + val = namespace + val; + res[key] = function mappedGetter () { + if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) { + return + } + if ( !(val in this.$store.getters)) { + console.error(`[vuex] unknown getter: ${val}`); + return + } + return this.$store.getters[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for dispatch the action + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +const mapActions = normalizeNamespace((namespace, actions) => { + const res = {}; + if ( !isValidMap(actions)) { + console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object'); + } + normalizeMap(actions).forEach(({ key, val }) => { + res[key] = function mappedAction (...args) { + // get dispatch function from store + let dispatch = this.$store.dispatch; + if (namespace) { + const module = getModuleByNamespace(this.$store, 'mapActions', namespace); + if (!module) { + return + } + dispatch = module.context.dispatch; + } + return typeof val === 'function' + ? val.apply(this, [dispatch].concat(args)) + : dispatch.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object + * @param {String} namespace + * @return {Object} + */ +const createNamespacedHelpers = (namespace) => ({ + mapState: mapState.bind(null, namespace), + mapGetters: mapGetters.bind(null, namespace), + mapMutations: mapMutations.bind(null, namespace), + mapActions: mapActions.bind(null, namespace) +}); + +/** + * Normalize the map + * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ] + * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ] + * @param {Array|Object} map + * @return {Object} + */ +function normalizeMap (map) { + if (!isValidMap(map)) { + return [] + } + return Array.isArray(map) + ? map.map(key => ({ key, val: key })) + : Object.keys(map).map(key => ({ key, val: map[key] })) +} + +/** + * Validate whether given map is valid or not + * @param {*} map + * @return {Boolean} + */ +function isValidMap (map) { + return Array.isArray(map) || isObject(map) +} + +/** + * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map. + * @param {Function} fn + * @return {Function} + */ +function normalizeNamespace (fn) { + return (namespace, map) => { + if (typeof namespace !== 'string') { + map = namespace; + namespace = ''; + } else if (namespace.charAt(namespace.length - 1) !== '/') { + namespace += '/'; + } + return fn(namespace, map) + } +} + +/** + * Search a special module from store by namespace. if module not exist, print error message. + * @param {Object} store + * @param {String} helper + * @param {String} namespace + * @return {Object} + */ +function getModuleByNamespace (store, helper, namespace) { + const module = store._modulesNamespaceMap[namespace]; + if ( !module) { + console.error(`[vuex] module namespace not found in ${helper}(): ${namespace}`); + } + return module +} + +// Credits: borrowed code from fcomb/redux-logger + +function createLogger ({ + collapsed = true, + filter = (mutation, stateBefore, stateAfter) => true, + transformer = state => state, + mutationTransformer = mut => mut, + actionFilter = (action, state) => true, + actionTransformer = act => act, + logMutations = true, + logActions = true, + logger = console +} = {}) { + return store => { + let prevState = deepCopy(store.state); + + if (typeof logger === 'undefined') { + return + } + + if (logMutations) { + store.subscribe((mutation, state) => { + const nextState = deepCopy(state); + + if (filter(mutation, prevState, nextState)) { + const formattedTime = getFormattedTime(); + const formattedMutation = mutationTransformer(mutation); + const message = `mutation ${mutation.type}${formattedTime}`; + + startMessage(logger, message, collapsed); + logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState)); + logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation); + logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState)); + endMessage(logger); + } + + prevState = nextState; + }); + } + + if (logActions) { + store.subscribeAction((action, state) => { + if (actionFilter(action, state)) { + const formattedTime = getFormattedTime(); + const formattedAction = actionTransformer(action); + const message = `action ${action.type}${formattedTime}`; + + startMessage(logger, message, collapsed); + logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction); + endMessage(logger); + } + }); + } + } +} + +function startMessage (logger, message, collapsed) { + const startMessage = collapsed + ? logger.groupCollapsed + : logger.group; + + // render + try { + startMessage.call(logger, message); + } catch (e) { + logger.log(message); + } +} + +function endMessage (logger) { + try { + logger.groupEnd(); + } catch (e) { + logger.log('—— log end ——'); + } +} + +function getFormattedTime () { + const time = new Date(); + return ` @ ${pad(time.getHours(), 2)}:${pad(time.getMinutes(), 2)}:${pad(time.getSeconds(), 2)}.${pad(time.getMilliseconds(), 3)}` +} + +function repeat (str, times) { + return (new Array(times + 1)).join(str) +} + +function pad (num, maxLength) { + return repeat('0', maxLength - num.toString().length) + num +} + +var index = { + Store, + install, + version: '3.6.2', + mapState, + mapMutations, + mapGetters, + mapActions, + createNamespacedHelpers, + createLogger +}; + +export default index; +export { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState }; diff --git a/node_modules/vuex/dist/vuex.esm.browser.min.js b/node_modules/vuex/dist/vuex.esm.browser.min.js new file mode 100644 index 0000000..277efe5 --- /dev/null +++ b/node_modules/vuex/dist/vuex.esm.browser.min.js @@ -0,0 +1,6 @@ +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +const t=("undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function e(t,s=[]){if(null===t||"object"!=typeof t)return t;const o=(i=e=>e.original===t,s.filter(i)[0]);var i;if(o)return o.copy;const n=Array.isArray(t)?[]:{};return s.push({original:t,copy:n}),Object.keys(t).forEach(o=>{n[o]=e(t[o],s)}),n}function s(t,e){Object.keys(t).forEach(s=>e(t[s],s))}function o(t){return null!==t&&"object"==typeof t}class i{constructor(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;const s=t.state;this.state=("function"==typeof s?s():s)||{}}get namespaced(){return!!this._rawModule.namespaced}addChild(t,e){this._children[t]=e}removeChild(t){delete this._children[t]}getChild(t){return this._children[t]}hasChild(t){return t in this._children}update(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)}forEachChild(t){s(this._children,t)}forEachGetter(t){this._rawModule.getters&&s(this._rawModule.getters,t)}forEachAction(t){this._rawModule.actions&&s(this._rawModule.actions,t)}forEachMutation(t){this._rawModule.mutations&&s(this._rawModule.mutations,t)}}class n{constructor(t){this.register([],t,!1)}get(t){return t.reduce((t,e)=>t.getChild(e),this.root)}getNamespace(t){let e=this.root;return t.reduce((t,s)=>(e=e.getChild(s),t+(e.namespaced?s+"/":"")),"")}update(t){!function t(e,s,o){if(s.update(o),o.modules)for(const i in o.modules){if(!s.getChild(i))return;t(e.concat(i),s.getChild(i),o.modules[i])}}([],this.root,t)}register(t,e,o=!0){const n=new i(e,o);if(0===t.length)this.root=n;else{this.get(t.slice(0,-1)).addChild(t[t.length-1],n)}e.modules&&s(e.modules,(e,s)=>{this.register(t.concat(s),e,o)})}unregister(t){const e=this.get(t.slice(0,-1)),s=t[t.length-1],o=e.getChild(s);o&&o.runtime&&e.removeChild(s)}isRegistered(t){const e=this.get(t.slice(0,-1)),s=t[t.length-1];return!!e&&e.hasChild(s)}}let r;class c{constructor(e={}){!r&&"undefined"!=typeof window&&window.Vue&&f(window.Vue);const{plugins:s=[],strict:o=!1}=e;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new n(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new r,this._makeLocalGettersCache=Object.create(null);const i=this,{dispatch:c,commit:a}=this;this.dispatch=function(t,e){return c.call(i,t,e)},this.commit=function(t,e,s){return a.call(i,t,e,s)},this.strict=o;const u=this._modules.root.state;h(this,u,[],this._modules.root),l(this,u),s.forEach(t=>t(this));(void 0!==e.devtools?e.devtools:r.config.devtools)&&function(e){t&&(e._devtoolHook=t,t.emit("vuex:init",e),t.on("vuex:travel-to-state",t=>{e.replaceState(t)}),e.subscribe((e,s)=>{t.emit("vuex:mutation",e,s)},{prepend:!0}),e.subscribeAction((e,s)=>{t.emit("vuex:action",e,s)},{prepend:!0}))}(this)}get state(){return this._vm._data.$$state}set state(t){}commit(t,e,s){const{type:o,payload:i,options:n}=p(t,e,s),r={type:o,payload:i},c=this._mutations[o];c&&(this._withCommit(()=>{c.forEach((function(t){t(i)}))}),this._subscribers.slice().forEach(t=>t(r,this.state)))}dispatch(t,e){const{type:s,payload:o}=p(t,e),i={type:s,payload:o},n=this._actions[s];if(!n)return;try{this._actionSubscribers.slice().filter(t=>t.before).forEach(t=>t.before(i,this.state))}catch(t){}const r=n.length>1?Promise.all(n.map(t=>t(o))):n[0](o);return new Promise((t,e)=>{r.then(e=>{try{this._actionSubscribers.filter(t=>t.after).forEach(t=>t.after(i,this.state))}catch(t){}t(e)},t=>{try{this._actionSubscribers.filter(t=>t.error).forEach(e=>e.error(i,this.state,t))}catch(t){}e(t)})})}subscribe(t,e){return a(t,this._subscribers,e)}subscribeAction(t,e){return a("function"==typeof t?{before:t}:t,this._actionSubscribers,e)}watch(t,e,s){return this._watcherVM.$watch(()=>t(this.state,this.getters),e,s)}replaceState(t){this._withCommit(()=>{this._vm._data.$$state=t})}registerModule(t,e,s={}){"string"==typeof t&&(t=[t]),this._modules.register(t,e),h(this,this.state,t,this._modules.get(t),s.preserveState),l(this,this.state)}unregisterModule(t){"string"==typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit(()=>{const e=d(this.state,t.slice(0,-1));r.delete(e,t[t.length-1])}),u(this)}hasModule(t){return"string"==typeof t&&(t=[t]),this._modules.isRegistered(t)}hotUpdate(t){this._modules.update(t),u(this,!0)}_withCommit(t){const e=this._committing;this._committing=!0,t(),this._committing=e}}function a(t,e,s){return e.indexOf(t)<0&&(s&&s.prepend?e.unshift(t):e.push(t)),()=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)}}function u(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);const s=t.state;h(t,s,[],t._modules.root,!0),l(t,s,e)}function l(t,e,o){const i=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);const n=t._wrappedGetters,c={};s(n,(e,s)=>{c[s]=function(t,e){return function(){return t(e)}}(e,t),Object.defineProperty(t.getters,s,{get:()=>t._vm[s],enumerable:!0})});const a=r.config.silent;r.config.silent=!0,t._vm=new r({data:{$$state:e},computed:c}),r.config.silent=a,t.strict&&function(t){t._vm.$watch((function(){return this._data.$$state}),()=>{},{deep:!0,sync:!0})}(t),i&&(o&&t._withCommit(()=>{i._data.$$state=null}),r.nextTick(()=>i.$destroy()))}function h(t,e,s,o,i){const n=!s.length,c=t._modules.getNamespace(s);if(o.namespaced&&(t._modulesNamespaceMap[c],t._modulesNamespaceMap[c]=o),!n&&!i){const i=d(e,s.slice(0,-1)),n=s[s.length-1];t._withCommit(()=>{r.set(i,n,o.state)})}const a=o.context=function(t,e,s){const o=""===e,i={dispatch:o?t.dispatch:(s,o,i)=>{const n=p(s,o,i),{payload:r,options:c}=n;let{type:a}=n;return c&&c.root||(a=e+a),t.dispatch(a,r)},commit:o?t.commit:(s,o,i)=>{const n=p(s,o,i),{payload:r,options:c}=n;let{type:a}=n;c&&c.root||(a=e+a),t.commit(a,r,c)}};return Object.defineProperties(i,{getters:{get:o?()=>t.getters:()=>function(t,e){if(!t._makeLocalGettersCache[e]){const s={},o=e.length;Object.keys(t.getters).forEach(i=>{if(i.slice(0,o)!==e)return;const n=i.slice(o);Object.defineProperty(s,n,{get:()=>t.getters[i],enumerable:!0})}),t._makeLocalGettersCache[e]=s}return t._makeLocalGettersCache[e]}(t,e)},state:{get:()=>d(t.state,s)}}),i}(t,c,s);o.forEachMutation((e,s)=>{!function(t,e,s,o){(t._mutations[e]||(t._mutations[e]=[])).push((function(e){s.call(t,o.state,e)}))}(t,c+s,e,a)}),o.forEachAction((e,s)=>{const o=e.root?s:c+s,i=e.handler||e;!function(t,e,s,o){(t._actions[e]||(t._actions[e]=[])).push((function(e){let i=s.call(t,{dispatch:o.dispatch,commit:o.commit,getters:o.getters,state:o.state,rootGetters:t.getters,rootState:t.state},e);var n;return(n=i)&&"function"==typeof n.then||(i=Promise.resolve(i)),t._devtoolHook?i.catch(e=>{throw t._devtoolHook.emit("vuex:error",e),e}):i}))}(t,o,i,a)}),o.forEachGetter((e,s)=>{!function(t,e,s,o){if(t._wrappedGetters[e])return;t._wrappedGetters[e]=function(t){return s(o.state,o.getters,t.state,t.getters)}}(t,c+s,e,a)}),o.forEachChild((o,n)=>{h(t,e,s.concat(n),o,i)})}function d(t,e){return e.reduce((t,e)=>t[e],t)}function p(t,e,s){return o(t)&&t.type&&(s=e,e=t,t=t.type),{type:t,payload:e,options:s}}function f(t){r&&t===r||(r=t,function(t){if(Number(t.version.split(".")[0])>=2)t.mixin({beforeCreate:e});else{const s=t.prototype._init;t.prototype._init=function(t={}){t.init=t.init?[e].concat(t.init):e,s.call(this,t)}}function e(){const t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}(r))}const m=v((t,e)=>{const s={};return w(e).forEach(({key:e,val:o})=>{s[e]=function(){let e=this.$store.state,s=this.$store.getters;if(t){const o=$(this.$store,"mapState",t);if(!o)return;e=o.context.state,s=o.context.getters}return"function"==typeof o?o.call(this,e,s):e[o]},s[e].vuex=!0}),s}),g=v((t,e)=>{const s={};return w(e).forEach(({key:e,val:o})=>{s[e]=function(...e){let s=this.$store.commit;if(t){const e=$(this.$store,"mapMutations",t);if(!e)return;s=e.context.commit}return"function"==typeof o?o.apply(this,[s].concat(e)):s.apply(this.$store,[o].concat(e))}}),s}),_=v((t,e)=>{const s={};return w(e).forEach(({key:e,val:o})=>{o=t+o,s[e]=function(){if(!t||$(this.$store,"mapGetters",t))return this.$store.getters[o]},s[e].vuex=!0}),s}),y=v((t,e)=>{const s={};return w(e).forEach(({key:e,val:o})=>{s[e]=function(...e){let s=this.$store.dispatch;if(t){const e=$(this.$store,"mapActions",t);if(!e)return;s=e.context.dispatch}return"function"==typeof o?o.apply(this,[s].concat(e)):s.apply(this.$store,[o].concat(e))}}),s}),b=t=>({mapState:m.bind(null,t),mapGetters:_.bind(null,t),mapMutations:g.bind(null,t),mapActions:y.bind(null,t)});function w(t){return function(t){return Array.isArray(t)||o(t)}(t)?Array.isArray(t)?t.map(t=>({key:t,val:t})):Object.keys(t).map(e=>({key:e,val:t[e]})):[]}function v(t){return(e,s)=>("string"!=typeof e?(s=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,s))}function $(t,e,s){return t._modulesNamespaceMap[s]}function M({collapsed:t=!0,filter:s=((t,e,s)=>!0),transformer:o=(t=>t),mutationTransformer:i=(t=>t),actionFilter:n=((t,e)=>!0),actionTransformer:r=(t=>t),logMutations:c=!0,logActions:a=!0,logger:u=console}={}){return l=>{let h=e(l.state);void 0!==u&&(c&&l.subscribe((n,r)=>{const c=e(r);if(s(n,h,c)){const e=O(),s=i(n),r=`mutation ${n.type}${e}`;C(u,r,t),u.log("%c prev state","color: #9E9E9E; font-weight: bold",o(h)),u.log("%c mutation","color: #03A9F4; font-weight: bold",s),u.log("%c next state","color: #4CAF50; font-weight: bold",o(c)),E(u)}h=c}),a&&l.subscribeAction((e,s)=>{if(n(e,s)){const s=O(),o=r(e),i=`action ${e.type}${s}`;C(u,i,t),u.log("%c action","color: #03A9F4; font-weight: bold",o),E(u)}}))}}function C(t,e,s){const o=s?t.groupCollapsed:t.group;try{o.call(t,e)}catch(s){t.log(e)}}function E(t){try{t.groupEnd()}catch(e){t.log("—— log end ——")}}function O(){const t=new Date;return` @ ${j(t.getHours(),2)}:${j(t.getMinutes(),2)}:${j(t.getSeconds(),2)}.${j(t.getMilliseconds(),3)}`}function j(t,e){return s="0",o=e-t.toString().length,new Array(o+1).join(s)+t;var s,o}var A={Store:c,install:f,version:"3.6.2",mapState:m,mapMutations:g,mapGetters:_,mapActions:y,createNamespacedHelpers:b,createLogger:M};export default A;export{c as Store,M as createLogger,b as createNamespacedHelpers,f as install,y as mapActions,_ as mapGetters,g as mapMutations,m as mapState}; diff --git a/node_modules/vuex/dist/vuex.esm.js b/node_modules/vuex/dist/vuex.esm.js new file mode 100644 index 0000000..9466ff0 --- /dev/null +++ b/node_modules/vuex/dist/vuex.esm.js @@ -0,0 +1,1243 @@ +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +function applyMixin (Vue) { + var version = Number(Vue.version.split('.')[0]); + + if (version >= 2) { + Vue.mixin({ beforeCreate: vuexInit }); + } else { + // override init and inject vuex init procedure + // for 1.x backwards compatibility. + var _init = Vue.prototype._init; + Vue.prototype._init = function (options) { + if ( options === void 0 ) options = {}; + + options.init = options.init + ? [vuexInit].concat(options.init) + : vuexInit; + _init.call(this, options); + }; + } + + /** + * Vuex init hook, injected into each instances init hooks list. + */ + + function vuexInit () { + var options = this.$options; + // store injection + if (options.store) { + this.$store = typeof options.store === 'function' + ? options.store() + : options.store; + } else if (options.parent && options.parent.$store) { + this.$store = options.parent.$store; + } + } +} + +var target = typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__; + +function devtoolPlugin (store) { + if (!devtoolHook) { return } + + store._devtoolHook = devtoolHook; + + devtoolHook.emit('vuex:init', store); + + devtoolHook.on('vuex:travel-to-state', function (targetState) { + store.replaceState(targetState); + }); + + store.subscribe(function (mutation, state) { + devtoolHook.emit('vuex:mutation', mutation, state); + }, { prepend: true }); + + store.subscribeAction(function (action, state) { + devtoolHook.emit('vuex:action', action, state); + }, { prepend: true }); +} + +/** + * Get the first item that pass the test + * by second argument function + * + * @param {Array} list + * @param {Function} f + * @return {*} + */ +function find (list, f) { + return list.filter(f)[0] +} + +/** + * Deep copy the given object considering circular structure. + * This function caches all nested objects and its copies. + * If it detects circular structure, use cached copy to avoid infinite loop. + * + * @param {*} obj + * @param {Array} cache + * @return {*} + */ +function deepCopy (obj, cache) { + if ( cache === void 0 ) cache = []; + + // just return if obj is immutable value + if (obj === null || typeof obj !== 'object') { + return obj + } + + // if obj is hit, it is in circular structure + var hit = find(cache, function (c) { return c.original === obj; }); + if (hit) { + return hit.copy + } + + var copy = Array.isArray(obj) ? [] : {}; + // put the copy into cache at first + // because we want to refer it in recursive deepCopy + cache.push({ + original: obj, + copy: copy + }); + + Object.keys(obj).forEach(function (key) { + copy[key] = deepCopy(obj[key], cache); + }); + + return copy +} + +/** + * forEach for object + */ +function forEachValue (obj, fn) { + Object.keys(obj).forEach(function (key) { return fn(obj[key], key); }); +} + +function isObject (obj) { + return obj !== null && typeof obj === 'object' +} + +function isPromise (val) { + return val && typeof val.then === 'function' +} + +function assert (condition, msg) { + if (!condition) { throw new Error(("[vuex] " + msg)) } +} + +function partial (fn, arg) { + return function () { + return fn(arg) + } +} + +// Base data struct for store's module, package with some attribute and method +var Module = function Module (rawModule, runtime) { + this.runtime = runtime; + // Store some children item + this._children = Object.create(null); + // Store the origin module object which passed by programmer + this._rawModule = rawModule; + var rawState = rawModule.state; + + // Store the origin module's state + this.state = (typeof rawState === 'function' ? rawState() : rawState) || {}; +}; + +var prototypeAccessors = { namespaced: { configurable: true } }; + +prototypeAccessors.namespaced.get = function () { + return !!this._rawModule.namespaced +}; + +Module.prototype.addChild = function addChild (key, module) { + this._children[key] = module; +}; + +Module.prototype.removeChild = function removeChild (key) { + delete this._children[key]; +}; + +Module.prototype.getChild = function getChild (key) { + return this._children[key] +}; + +Module.prototype.hasChild = function hasChild (key) { + return key in this._children +}; + +Module.prototype.update = function update (rawModule) { + this._rawModule.namespaced = rawModule.namespaced; + if (rawModule.actions) { + this._rawModule.actions = rawModule.actions; + } + if (rawModule.mutations) { + this._rawModule.mutations = rawModule.mutations; + } + if (rawModule.getters) { + this._rawModule.getters = rawModule.getters; + } +}; + +Module.prototype.forEachChild = function forEachChild (fn) { + forEachValue(this._children, fn); +}; + +Module.prototype.forEachGetter = function forEachGetter (fn) { + if (this._rawModule.getters) { + forEachValue(this._rawModule.getters, fn); + } +}; + +Module.prototype.forEachAction = function forEachAction (fn) { + if (this._rawModule.actions) { + forEachValue(this._rawModule.actions, fn); + } +}; + +Module.prototype.forEachMutation = function forEachMutation (fn) { + if (this._rawModule.mutations) { + forEachValue(this._rawModule.mutations, fn); + } +}; + +Object.defineProperties( Module.prototype, prototypeAccessors ); + +var ModuleCollection = function ModuleCollection (rawRootModule) { + // register root module (Vuex.Store options) + this.register([], rawRootModule, false); +}; + +ModuleCollection.prototype.get = function get (path) { + return path.reduce(function (module, key) { + return module.getChild(key) + }, this.root) +}; + +ModuleCollection.prototype.getNamespace = function getNamespace (path) { + var module = this.root; + return path.reduce(function (namespace, key) { + module = module.getChild(key); + return namespace + (module.namespaced ? key + '/' : '') + }, '') +}; + +ModuleCollection.prototype.update = function update$1 (rawRootModule) { + update([], this.root, rawRootModule); +}; + +ModuleCollection.prototype.register = function register (path, rawModule, runtime) { + var this$1 = this; + if ( runtime === void 0 ) runtime = true; + + if ((process.env.NODE_ENV !== 'production')) { + assertRawModule(path, rawModule); + } + + var newModule = new Module(rawModule, runtime); + if (path.length === 0) { + this.root = newModule; + } else { + var parent = this.get(path.slice(0, -1)); + parent.addChild(path[path.length - 1], newModule); + } + + // register nested modules + if (rawModule.modules) { + forEachValue(rawModule.modules, function (rawChildModule, key) { + this$1.register(path.concat(key), rawChildModule, runtime); + }); + } +}; + +ModuleCollection.prototype.unregister = function unregister (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + var child = parent.getChild(key); + + if (!child) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn( + "[vuex] trying to unregister module '" + key + "', which is " + + "not registered" + ); + } + return + } + + if (!child.runtime) { + return + } + + parent.removeChild(key); +}; + +ModuleCollection.prototype.isRegistered = function isRegistered (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + + if (parent) { + return parent.hasChild(key) + } + + return false +}; + +function update (path, targetModule, newModule) { + if ((process.env.NODE_ENV !== 'production')) { + assertRawModule(path, newModule); + } + + // update target module + targetModule.update(newModule); + + // update nested modules + if (newModule.modules) { + for (var key in newModule.modules) { + if (!targetModule.getChild(key)) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn( + "[vuex] trying to add a new module '" + key + "' on hot reloading, " + + 'manual reload is needed' + ); + } + return + } + update( + path.concat(key), + targetModule.getChild(key), + newModule.modules[key] + ); + } + } +} + +var functionAssert = { + assert: function (value) { return typeof value === 'function'; }, + expected: 'function' +}; + +var objectAssert = { + assert: function (value) { return typeof value === 'function' || + (typeof value === 'object' && typeof value.handler === 'function'); }, + expected: 'function or object with "handler" function' +}; + +var assertTypes = { + getters: functionAssert, + mutations: functionAssert, + actions: objectAssert +}; + +function assertRawModule (path, rawModule) { + Object.keys(assertTypes).forEach(function (key) { + if (!rawModule[key]) { return } + + var assertOptions = assertTypes[key]; + + forEachValue(rawModule[key], function (value, type) { + assert( + assertOptions.assert(value), + makeAssertionMessage(path, key, type, value, assertOptions.expected) + ); + }); + }); +} + +function makeAssertionMessage (path, key, type, value, expected) { + var buf = key + " should be " + expected + " but \"" + key + "." + type + "\""; + if (path.length > 0) { + buf += " in module \"" + (path.join('.')) + "\""; + } + buf += " is " + (JSON.stringify(value)) + "."; + return buf +} + +var Vue; // bind on install + +var Store = function Store (options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + // Auto install if it is not done yet and `window` has `Vue`. + // To allow users to avoid auto-installation in some cases, + // this code should be placed here. See #731 + if (!Vue && typeof window !== 'undefined' && window.Vue) { + install(window.Vue); + } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Vue, "must call Vue.use(Vuex) before creating a store instance."); + assert(typeof Promise !== 'undefined', "vuex requires a Promise polyfill in this browser."); + assert(this instanceof Store, "store must be called with the new operator."); + } + + var plugins = options.plugins; if ( plugins === void 0 ) plugins = []; + var strict = options.strict; if ( strict === void 0 ) strict = false; + + // store internal state + this._committing = false; + this._actions = Object.create(null); + this._actionSubscribers = []; + this._mutations = Object.create(null); + this._wrappedGetters = Object.create(null); + this._modules = new ModuleCollection(options); + this._modulesNamespaceMap = Object.create(null); + this._subscribers = []; + this._watcherVM = new Vue(); + this._makeLocalGettersCache = Object.create(null); + + // bind commit and dispatch to self + var store = this; + var ref = this; + var dispatch = ref.dispatch; + var commit = ref.commit; + this.dispatch = function boundDispatch (type, payload) { + return dispatch.call(store, type, payload) + }; + this.commit = function boundCommit (type, payload, options) { + return commit.call(store, type, payload, options) + }; + + // strict mode + this.strict = strict; + + var state = this._modules.root.state; + + // init root module. + // this also recursively registers all sub-modules + // and collects all module getters inside this._wrappedGetters + installModule(this, state, [], this._modules.root); + + // initialize the store vm, which is responsible for the reactivity + // (also registers _wrappedGetters as computed properties) + resetStoreVM(this, state); + + // apply plugins + plugins.forEach(function (plugin) { return plugin(this$1); }); + + var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools; + if (useDevtools) { + devtoolPlugin(this); + } +}; + +var prototypeAccessors$1 = { state: { configurable: true } }; + +prototypeAccessors$1.state.get = function () { + return this._vm._data.$$state +}; + +prototypeAccessors$1.state.set = function (v) { + if ((process.env.NODE_ENV !== 'production')) { + assert(false, "use store.replaceState() to explicit replace store state."); + } +}; + +Store.prototype.commit = function commit (_type, _payload, _options) { + var this$1 = this; + + // check object-style commit + var ref = unifyObjectStyle(_type, _payload, _options); + var type = ref.type; + var payload = ref.payload; + var options = ref.options; + + var mutation = { type: type, payload: payload }; + var entry = this._mutations[type]; + if (!entry) { + if ((process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] unknown mutation type: " + type)); + } + return + } + this._withCommit(function () { + entry.forEach(function commitIterator (handler) { + handler(payload); + }); + }); + + this._subscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .forEach(function (sub) { return sub(mutation, this$1.state); }); + + if ( + (process.env.NODE_ENV !== 'production') && + options && options.silent + ) { + console.warn( + "[vuex] mutation type: " + type + ". Silent option has been removed. " + + 'Use the filter functionality in the vue-devtools' + ); + } +}; + +Store.prototype.dispatch = function dispatch (_type, _payload) { + var this$1 = this; + + // check object-style dispatch + var ref = unifyObjectStyle(_type, _payload); + var type = ref.type; + var payload = ref.payload; + + var action = { type: type, payload: payload }; + var entry = this._actions[type]; + if (!entry) { + if ((process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] unknown action type: " + type)); + } + return + } + + try { + this._actionSubscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .filter(function (sub) { return sub.before; }) + .forEach(function (sub) { return sub.before(action, this$1.state); }); + } catch (e) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn("[vuex] error in before action subscribers: "); + console.error(e); + } + } + + var result = entry.length > 1 + ? Promise.all(entry.map(function (handler) { return handler(payload); })) + : entry[0](payload); + + return new Promise(function (resolve, reject) { + result.then(function (res) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.after; }) + .forEach(function (sub) { return sub.after(action, this$1.state); }); + } catch (e) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn("[vuex] error in after action subscribers: "); + console.error(e); + } + } + resolve(res); + }, function (error) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.error; }) + .forEach(function (sub) { return sub.error(action, this$1.state, error); }); + } catch (e) { + if ((process.env.NODE_ENV !== 'production')) { + console.warn("[vuex] error in error action subscribers: "); + console.error(e); + } + } + reject(error); + }); + }) +}; + +Store.prototype.subscribe = function subscribe (fn, options) { + return genericSubscribe(fn, this._subscribers, options) +}; + +Store.prototype.subscribeAction = function subscribeAction (fn, options) { + var subs = typeof fn === 'function' ? { before: fn } : fn; + return genericSubscribe(subs, this._actionSubscribers, options) +}; + +Store.prototype.watch = function watch (getter, cb, options) { + var this$1 = this; + + if ((process.env.NODE_ENV !== 'production')) { + assert(typeof getter === 'function', "store.watch only accepts a function."); + } + return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options) +}; + +Store.prototype.replaceState = function replaceState (state) { + var this$1 = this; + + this._withCommit(function () { + this$1._vm._data.$$state = state; + }); +}; + +Store.prototype.registerModule = function registerModule (path, rawModule, options) { + if ( options === void 0 ) options = {}; + + if (typeof path === 'string') { path = [path]; } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Array.isArray(path), "module path must be a string or an Array."); + assert(path.length > 0, 'cannot register the root module by using registerModule.'); + } + + this._modules.register(path, rawModule); + installModule(this, this.state, path, this._modules.get(path), options.preserveState); + // reset store to update getters... + resetStoreVM(this, this.state); +}; + +Store.prototype.unregisterModule = function unregisterModule (path) { + var this$1 = this; + + if (typeof path === 'string') { path = [path]; } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + this._modules.unregister(path); + this._withCommit(function () { + var parentState = getNestedState(this$1.state, path.slice(0, -1)); + Vue.delete(parentState, path[path.length - 1]); + }); + resetStore(this); +}; + +Store.prototype.hasModule = function hasModule (path) { + if (typeof path === 'string') { path = [path]; } + + if ((process.env.NODE_ENV !== 'production')) { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + return this._modules.isRegistered(path) +}; + +Store.prototype.hotUpdate = function hotUpdate (newOptions) { + this._modules.update(newOptions); + resetStore(this, true); +}; + +Store.prototype._withCommit = function _withCommit (fn) { + var committing = this._committing; + this._committing = true; + fn(); + this._committing = committing; +}; + +Object.defineProperties( Store.prototype, prototypeAccessors$1 ); + +function genericSubscribe (fn, subs, options) { + if (subs.indexOf(fn) < 0) { + options && options.prepend + ? subs.unshift(fn) + : subs.push(fn); + } + return function () { + var i = subs.indexOf(fn); + if (i > -1) { + subs.splice(i, 1); + } + } +} + +function resetStore (store, hot) { + store._actions = Object.create(null); + store._mutations = Object.create(null); + store._wrappedGetters = Object.create(null); + store._modulesNamespaceMap = Object.create(null); + var state = store.state; + // init all modules + installModule(store, state, [], store._modules.root, true); + // reset vm + resetStoreVM(store, state, hot); +} + +function resetStoreVM (store, state, hot) { + var oldVm = store._vm; + + // bind store public getters + store.getters = {}; + // reset local getters cache + store._makeLocalGettersCache = Object.create(null); + var wrappedGetters = store._wrappedGetters; + var computed = {}; + forEachValue(wrappedGetters, function (fn, key) { + // use computed to leverage its lazy-caching mechanism + // direct inline function use will lead to closure preserving oldVm. + // using partial to return function with only arguments preserved in closure environment. + computed[key] = partial(fn, store); + Object.defineProperty(store.getters, key, { + get: function () { return store._vm[key]; }, + enumerable: true // for local getters + }); + }); + + // use a Vue instance to store the state tree + // suppress warnings just in case the user has added + // some funky global mixins + var silent = Vue.config.silent; + Vue.config.silent = true; + store._vm = new Vue({ + data: { + $$state: state + }, + computed: computed + }); + Vue.config.silent = silent; + + // enable strict mode for new vm + if (store.strict) { + enableStrictMode(store); + } + + if (oldVm) { + if (hot) { + // dispatch changes in all subscribed watchers + // to force getter re-evaluation for hot reloading. + store._withCommit(function () { + oldVm._data.$$state = null; + }); + } + Vue.nextTick(function () { return oldVm.$destroy(); }); + } +} + +function installModule (store, rootState, path, module, hot) { + var isRoot = !path.length; + var namespace = store._modules.getNamespace(path); + + // register in namespace map + if (module.namespaced) { + if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] duplicate namespace " + namespace + " for the namespaced module " + (path.join('/')))); + } + store._modulesNamespaceMap[namespace] = module; + } + + // set state + if (!isRoot && !hot) { + var parentState = getNestedState(rootState, path.slice(0, -1)); + var moduleName = path[path.length - 1]; + store._withCommit(function () { + if ((process.env.NODE_ENV !== 'production')) { + if (moduleName in parentState) { + console.warn( + ("[vuex] state field \"" + moduleName + "\" was overridden by a module with the same name at \"" + (path.join('.')) + "\"") + ); + } + } + Vue.set(parentState, moduleName, module.state); + }); + } + + var local = module.context = makeLocalContext(store, namespace, path); + + module.forEachMutation(function (mutation, key) { + var namespacedType = namespace + key; + registerMutation(store, namespacedType, mutation, local); + }); + + module.forEachAction(function (action, key) { + var type = action.root ? key : namespace + key; + var handler = action.handler || action; + registerAction(store, type, handler, local); + }); + + module.forEachGetter(function (getter, key) { + var namespacedType = namespace + key; + registerGetter(store, namespacedType, getter, local); + }); + + module.forEachChild(function (child, key) { + installModule(store, rootState, path.concat(key), child, hot); + }); +} + +/** + * make localized dispatch, commit, getters and state + * if there is no namespace, just use root ones + */ +function makeLocalContext (store, namespace, path) { + var noNamespace = namespace === ''; + + var local = { + dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) { + console.error(("[vuex] unknown local action type: " + (args.type) + ", global type: " + type)); + return + } + } + + return store.dispatch(type, payload) + }, + + commit: noNamespace ? store.commit : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) { + console.error(("[vuex] unknown local mutation type: " + (args.type) + ", global type: " + type)); + return + } + } + + store.commit(type, payload, options); + } + }; + + // getters and state object must be gotten lazily + // because they will be changed by vm update + Object.defineProperties(local, { + getters: { + get: noNamespace + ? function () { return store.getters; } + : function () { return makeLocalGetters(store, namespace); } + }, + state: { + get: function () { return getNestedState(store.state, path); } + } + }); + + return local +} + +function makeLocalGetters (store, namespace) { + if (!store._makeLocalGettersCache[namespace]) { + var gettersProxy = {}; + var splitPos = namespace.length; + Object.keys(store.getters).forEach(function (type) { + // skip if the target getter is not match this namespace + if (type.slice(0, splitPos) !== namespace) { return } + + // extract local getter type + var localType = type.slice(splitPos); + + // Add a port to the getters proxy. + // Define as getter property because + // we do not want to evaluate the getters in this time. + Object.defineProperty(gettersProxy, localType, { + get: function () { return store.getters[type]; }, + enumerable: true + }); + }); + store._makeLocalGettersCache[namespace] = gettersProxy; + } + + return store._makeLocalGettersCache[namespace] +} + +function registerMutation (store, type, handler, local) { + var entry = store._mutations[type] || (store._mutations[type] = []); + entry.push(function wrappedMutationHandler (payload) { + handler.call(store, local.state, payload); + }); +} + +function registerAction (store, type, handler, local) { + var entry = store._actions[type] || (store._actions[type] = []); + entry.push(function wrappedActionHandler (payload) { + var res = handler.call(store, { + dispatch: local.dispatch, + commit: local.commit, + getters: local.getters, + state: local.state, + rootGetters: store.getters, + rootState: store.state + }, payload); + if (!isPromise(res)) { + res = Promise.resolve(res); + } + if (store._devtoolHook) { + return res.catch(function (err) { + store._devtoolHook.emit('vuex:error', err); + throw err + }) + } else { + return res + } + }); +} + +function registerGetter (store, type, rawGetter, local) { + if (store._wrappedGetters[type]) { + if ((process.env.NODE_ENV !== 'production')) { + console.error(("[vuex] duplicate getter key: " + type)); + } + return + } + store._wrappedGetters[type] = function wrappedGetter (store) { + return rawGetter( + local.state, // local state + local.getters, // local getters + store.state, // root state + store.getters // root getters + ) + }; +} + +function enableStrictMode (store) { + store._vm.$watch(function () { return this._data.$$state }, function () { + if ((process.env.NODE_ENV !== 'production')) { + assert(store._committing, "do not mutate vuex store state outside mutation handlers."); + } + }, { deep: true, sync: true }); +} + +function getNestedState (state, path) { + return path.reduce(function (state, key) { return state[key]; }, state) +} + +function unifyObjectStyle (type, payload, options) { + if (isObject(type) && type.type) { + options = payload; + payload = type; + type = type.type; + } + + if ((process.env.NODE_ENV !== 'production')) { + assert(typeof type === 'string', ("expects string as the type, but found " + (typeof type) + ".")); + } + + return { type: type, payload: payload, options: options } +} + +function install (_Vue) { + if (Vue && _Vue === Vue) { + if ((process.env.NODE_ENV !== 'production')) { + console.error( + '[vuex] already installed. Vue.use(Vuex) should be called only once.' + ); + } + return + } + Vue = _Vue; + applyMixin(Vue); +} + +/** + * Reduce the code which written in Vue.js for getting the state. + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it. + * @param {Object} + */ +var mapState = normalizeNamespace(function (namespace, states) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) { + console.error('[vuex] mapState: mapper parameter must be either an Array or an Object'); + } + normalizeMap(states).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedState () { + var state = this.$store.state; + var getters = this.$store.getters; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapState', namespace); + if (!module) { + return + } + state = module.context.state; + getters = module.context.getters; + } + return typeof val === 'function' + ? val.call(this, state, getters) + : state[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for committing the mutation + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +var mapMutations = normalizeNamespace(function (namespace, mutations) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) { + console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object'); + } + normalizeMap(mutations).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedMutation () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // Get the commit method from store + var commit = this.$store.commit; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapMutations', namespace); + if (!module) { + return + } + commit = module.context.commit; + } + return typeof val === 'function' + ? val.apply(this, [commit].concat(args)) + : commit.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for getting the getters + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} getters + * @return {Object} + */ +var mapGetters = normalizeNamespace(function (namespace, getters) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) { + console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object'); + } + normalizeMap(getters).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + // The namespace has been mutated by normalizeNamespace + val = namespace + val; + res[key] = function mappedGetter () { + if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) { + return + } + if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) { + console.error(("[vuex] unknown getter: " + val)); + return + } + return this.$store.getters[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for dispatch the action + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +var mapActions = normalizeNamespace(function (namespace, actions) { + var res = {}; + if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) { + console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object'); + } + normalizeMap(actions).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedAction () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // get dispatch function from store + var dispatch = this.$store.dispatch; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapActions', namespace); + if (!module) { + return + } + dispatch = module.context.dispatch; + } + return typeof val === 'function' + ? val.apply(this, [dispatch].concat(args)) + : dispatch.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object + * @param {String} namespace + * @return {Object} + */ +var createNamespacedHelpers = function (namespace) { return ({ + mapState: mapState.bind(null, namespace), + mapGetters: mapGetters.bind(null, namespace), + mapMutations: mapMutations.bind(null, namespace), + mapActions: mapActions.bind(null, namespace) +}); }; + +/** + * Normalize the map + * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ] + * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ] + * @param {Array|Object} map + * @return {Object} + */ +function normalizeMap (map) { + if (!isValidMap(map)) { + return [] + } + return Array.isArray(map) + ? map.map(function (key) { return ({ key: key, val: key }); }) + : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); }) +} + +/** + * Validate whether given map is valid or not + * @param {*} map + * @return {Boolean} + */ +function isValidMap (map) { + return Array.isArray(map) || isObject(map) +} + +/** + * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map. + * @param {Function} fn + * @return {Function} + */ +function normalizeNamespace (fn) { + return function (namespace, map) { + if (typeof namespace !== 'string') { + map = namespace; + namespace = ''; + } else if (namespace.charAt(namespace.length - 1) !== '/') { + namespace += '/'; + } + return fn(namespace, map) + } +} + +/** + * Search a special module from store by namespace. if module not exist, print error message. + * @param {Object} store + * @param {String} helper + * @param {String} namespace + * @return {Object} + */ +function getModuleByNamespace (store, helper, namespace) { + var module = store._modulesNamespaceMap[namespace]; + if ((process.env.NODE_ENV !== 'production') && !module) { + console.error(("[vuex] module namespace not found in " + helper + "(): " + namespace)); + } + return module +} + +// Credits: borrowed code from fcomb/redux-logger + +function createLogger (ref) { + if ( ref === void 0 ) ref = {}; + var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true; + var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; }; + var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; }; + var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; }; + var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; }; + var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; }; + var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true; + var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true; + var logger = ref.logger; if ( logger === void 0 ) logger = console; + + return function (store) { + var prevState = deepCopy(store.state); + + if (typeof logger === 'undefined') { + return + } + + if (logMutations) { + store.subscribe(function (mutation, state) { + var nextState = deepCopy(state); + + if (filter(mutation, prevState, nextState)) { + var formattedTime = getFormattedTime(); + var formattedMutation = mutationTransformer(mutation); + var message = "mutation " + (mutation.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState)); + logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation); + logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState)); + endMessage(logger); + } + + prevState = nextState; + }); + } + + if (logActions) { + store.subscribeAction(function (action, state) { + if (actionFilter(action, state)) { + var formattedTime = getFormattedTime(); + var formattedAction = actionTransformer(action); + var message = "action " + (action.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction); + endMessage(logger); + } + }); + } + } +} + +function startMessage (logger, message, collapsed) { + var startMessage = collapsed + ? logger.groupCollapsed + : logger.group; + + // render + try { + startMessage.call(logger, message); + } catch (e) { + logger.log(message); + } +} + +function endMessage (logger) { + try { + logger.groupEnd(); + } catch (e) { + logger.log('—— log end ——'); + } +} + +function getFormattedTime () { + var time = new Date(); + return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3))) +} + +function repeat (str, times) { + return (new Array(times + 1)).join(str) +} + +function pad (num, maxLength) { + return repeat('0', maxLength - num.toString().length) + num +} + +var index = { + Store: Store, + install: install, + version: '3.6.2', + mapState: mapState, + mapMutations: mapMutations, + mapGetters: mapGetters, + mapActions: mapActions, + createNamespacedHelpers: createNamespacedHelpers, + createLogger: createLogger +}; + +export default index; +export { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState }; diff --git a/node_modules/vuex/dist/vuex.js b/node_modules/vuex/dist/vuex.js new file mode 100644 index 0000000..2913004 --- /dev/null +++ b/node_modules/vuex/dist/vuex.js @@ -0,0 +1,1250 @@ +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Vuex = factory()); +}(this, (function () { 'use strict'; + + function applyMixin (Vue) { + var version = Number(Vue.version.split('.')[0]); + + if (version >= 2) { + Vue.mixin({ beforeCreate: vuexInit }); + } else { + // override init and inject vuex init procedure + // for 1.x backwards compatibility. + var _init = Vue.prototype._init; + Vue.prototype._init = function (options) { + if ( options === void 0 ) options = {}; + + options.init = options.init + ? [vuexInit].concat(options.init) + : vuexInit; + _init.call(this, options); + }; + } + + /** + * Vuex init hook, injected into each instances init hooks list. + */ + + function vuexInit () { + var options = this.$options; + // store injection + if (options.store) { + this.$store = typeof options.store === 'function' + ? options.store() + : options.store; + } else if (options.parent && options.parent.$store) { + this.$store = options.parent.$store; + } + } + } + + var target = typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; + var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__; + + function devtoolPlugin (store) { + if (!devtoolHook) { return } + + store._devtoolHook = devtoolHook; + + devtoolHook.emit('vuex:init', store); + + devtoolHook.on('vuex:travel-to-state', function (targetState) { + store.replaceState(targetState); + }); + + store.subscribe(function (mutation, state) { + devtoolHook.emit('vuex:mutation', mutation, state); + }, { prepend: true }); + + store.subscribeAction(function (action, state) { + devtoolHook.emit('vuex:action', action, state); + }, { prepend: true }); + } + + /** + * Get the first item that pass the test + * by second argument function + * + * @param {Array} list + * @param {Function} f + * @return {*} + */ + function find (list, f) { + return list.filter(f)[0] + } + + /** + * Deep copy the given object considering circular structure. + * This function caches all nested objects and its copies. + * If it detects circular structure, use cached copy to avoid infinite loop. + * + * @param {*} obj + * @param {Array} cache + * @return {*} + */ + function deepCopy (obj, cache) { + if ( cache === void 0 ) cache = []; + + // just return if obj is immutable value + if (obj === null || typeof obj !== 'object') { + return obj + } + + // if obj is hit, it is in circular structure + var hit = find(cache, function (c) { return c.original === obj; }); + if (hit) { + return hit.copy + } + + var copy = Array.isArray(obj) ? [] : {}; + // put the copy into cache at first + // because we want to refer it in recursive deepCopy + cache.push({ + original: obj, + copy: copy + }); + + Object.keys(obj).forEach(function (key) { + copy[key] = deepCopy(obj[key], cache); + }); + + return copy + } + + /** + * forEach for object + */ + function forEachValue (obj, fn) { + Object.keys(obj).forEach(function (key) { return fn(obj[key], key); }); + } + + function isObject (obj) { + return obj !== null && typeof obj === 'object' + } + + function isPromise (val) { + return val && typeof val.then === 'function' + } + + function assert (condition, msg) { + if (!condition) { throw new Error(("[vuex] " + msg)) } + } + + function partial (fn, arg) { + return function () { + return fn(arg) + } + } + + // Base data struct for store's module, package with some attribute and method + var Module = function Module (rawModule, runtime) { + this.runtime = runtime; + // Store some children item + this._children = Object.create(null); + // Store the origin module object which passed by programmer + this._rawModule = rawModule; + var rawState = rawModule.state; + + // Store the origin module's state + this.state = (typeof rawState === 'function' ? rawState() : rawState) || {}; + }; + + var prototypeAccessors = { namespaced: { configurable: true } }; + + prototypeAccessors.namespaced.get = function () { + return !!this._rawModule.namespaced + }; + + Module.prototype.addChild = function addChild (key, module) { + this._children[key] = module; + }; + + Module.prototype.removeChild = function removeChild (key) { + delete this._children[key]; + }; + + Module.prototype.getChild = function getChild (key) { + return this._children[key] + }; + + Module.prototype.hasChild = function hasChild (key) { + return key in this._children + }; + + Module.prototype.update = function update (rawModule) { + this._rawModule.namespaced = rawModule.namespaced; + if (rawModule.actions) { + this._rawModule.actions = rawModule.actions; + } + if (rawModule.mutations) { + this._rawModule.mutations = rawModule.mutations; + } + if (rawModule.getters) { + this._rawModule.getters = rawModule.getters; + } + }; + + Module.prototype.forEachChild = function forEachChild (fn) { + forEachValue(this._children, fn); + }; + + Module.prototype.forEachGetter = function forEachGetter (fn) { + if (this._rawModule.getters) { + forEachValue(this._rawModule.getters, fn); + } + }; + + Module.prototype.forEachAction = function forEachAction (fn) { + if (this._rawModule.actions) { + forEachValue(this._rawModule.actions, fn); + } + }; + + Module.prototype.forEachMutation = function forEachMutation (fn) { + if (this._rawModule.mutations) { + forEachValue(this._rawModule.mutations, fn); + } + }; + + Object.defineProperties( Module.prototype, prototypeAccessors ); + + var ModuleCollection = function ModuleCollection (rawRootModule) { + // register root module (Vuex.Store options) + this.register([], rawRootModule, false); + }; + + ModuleCollection.prototype.get = function get (path) { + return path.reduce(function (module, key) { + return module.getChild(key) + }, this.root) + }; + + ModuleCollection.prototype.getNamespace = function getNamespace (path) { + var module = this.root; + return path.reduce(function (namespace, key) { + module = module.getChild(key); + return namespace + (module.namespaced ? key + '/' : '') + }, '') + }; + + ModuleCollection.prototype.update = function update$1 (rawRootModule) { + update([], this.root, rawRootModule); + }; + + ModuleCollection.prototype.register = function register (path, rawModule, runtime) { + var this$1 = this; + if ( runtime === void 0 ) runtime = true; + + { + assertRawModule(path, rawModule); + } + + var newModule = new Module(rawModule, runtime); + if (path.length === 0) { + this.root = newModule; + } else { + var parent = this.get(path.slice(0, -1)); + parent.addChild(path[path.length - 1], newModule); + } + + // register nested modules + if (rawModule.modules) { + forEachValue(rawModule.modules, function (rawChildModule, key) { + this$1.register(path.concat(key), rawChildModule, runtime); + }); + } + }; + + ModuleCollection.prototype.unregister = function unregister (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + var child = parent.getChild(key); + + if (!child) { + { + console.warn( + "[vuex] trying to unregister module '" + key + "', which is " + + "not registered" + ); + } + return + } + + if (!child.runtime) { + return + } + + parent.removeChild(key); + }; + + ModuleCollection.prototype.isRegistered = function isRegistered (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + + if (parent) { + return parent.hasChild(key) + } + + return false + }; + + function update (path, targetModule, newModule) { + { + assertRawModule(path, newModule); + } + + // update target module + targetModule.update(newModule); + + // update nested modules + if (newModule.modules) { + for (var key in newModule.modules) { + if (!targetModule.getChild(key)) { + { + console.warn( + "[vuex] trying to add a new module '" + key + "' on hot reloading, " + + 'manual reload is needed' + ); + } + return + } + update( + path.concat(key), + targetModule.getChild(key), + newModule.modules[key] + ); + } + } + } + + var functionAssert = { + assert: function (value) { return typeof value === 'function'; }, + expected: 'function' + }; + + var objectAssert = { + assert: function (value) { return typeof value === 'function' || + (typeof value === 'object' && typeof value.handler === 'function'); }, + expected: 'function or object with "handler" function' + }; + + var assertTypes = { + getters: functionAssert, + mutations: functionAssert, + actions: objectAssert + }; + + function assertRawModule (path, rawModule) { + Object.keys(assertTypes).forEach(function (key) { + if (!rawModule[key]) { return } + + var assertOptions = assertTypes[key]; + + forEachValue(rawModule[key], function (value, type) { + assert( + assertOptions.assert(value), + makeAssertionMessage(path, key, type, value, assertOptions.expected) + ); + }); + }); + } + + function makeAssertionMessage (path, key, type, value, expected) { + var buf = key + " should be " + expected + " but \"" + key + "." + type + "\""; + if (path.length > 0) { + buf += " in module \"" + (path.join('.')) + "\""; + } + buf += " is " + (JSON.stringify(value)) + "."; + return buf + } + + var Vue; // bind on install + + var Store = function Store (options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + // Auto install if it is not done yet and `window` has `Vue`. + // To allow users to avoid auto-installation in some cases, + // this code should be placed here. See #731 + if (!Vue && typeof window !== 'undefined' && window.Vue) { + install(window.Vue); + } + + { + assert(Vue, "must call Vue.use(Vuex) before creating a store instance."); + assert(typeof Promise !== 'undefined', "vuex requires a Promise polyfill in this browser."); + assert(this instanceof Store, "store must be called with the new operator."); + } + + var plugins = options.plugins; if ( plugins === void 0 ) plugins = []; + var strict = options.strict; if ( strict === void 0 ) strict = false; + + // store internal state + this._committing = false; + this._actions = Object.create(null); + this._actionSubscribers = []; + this._mutations = Object.create(null); + this._wrappedGetters = Object.create(null); + this._modules = new ModuleCollection(options); + this._modulesNamespaceMap = Object.create(null); + this._subscribers = []; + this._watcherVM = new Vue(); + this._makeLocalGettersCache = Object.create(null); + + // bind commit and dispatch to self + var store = this; + var ref = this; + var dispatch = ref.dispatch; + var commit = ref.commit; + this.dispatch = function boundDispatch (type, payload) { + return dispatch.call(store, type, payload) + }; + this.commit = function boundCommit (type, payload, options) { + return commit.call(store, type, payload, options) + }; + + // strict mode + this.strict = strict; + + var state = this._modules.root.state; + + // init root module. + // this also recursively registers all sub-modules + // and collects all module getters inside this._wrappedGetters + installModule(this, state, [], this._modules.root); + + // initialize the store vm, which is responsible for the reactivity + // (also registers _wrappedGetters as computed properties) + resetStoreVM(this, state); + + // apply plugins + plugins.forEach(function (plugin) { return plugin(this$1); }); + + var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools; + if (useDevtools) { + devtoolPlugin(this); + } + }; + + var prototypeAccessors$1 = { state: { configurable: true } }; + + prototypeAccessors$1.state.get = function () { + return this._vm._data.$$state + }; + + prototypeAccessors$1.state.set = function (v) { + { + assert(false, "use store.replaceState() to explicit replace store state."); + } + }; + + Store.prototype.commit = function commit (_type, _payload, _options) { + var this$1 = this; + + // check object-style commit + var ref = unifyObjectStyle(_type, _payload, _options); + var type = ref.type; + var payload = ref.payload; + var options = ref.options; + + var mutation = { type: type, payload: payload }; + var entry = this._mutations[type]; + if (!entry) { + { + console.error(("[vuex] unknown mutation type: " + type)); + } + return + } + this._withCommit(function () { + entry.forEach(function commitIterator (handler) { + handler(payload); + }); + }); + + this._subscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .forEach(function (sub) { return sub(mutation, this$1.state); }); + + if ( + + options && options.silent + ) { + console.warn( + "[vuex] mutation type: " + type + ". Silent option has been removed. " + + 'Use the filter functionality in the vue-devtools' + ); + } + }; + + Store.prototype.dispatch = function dispatch (_type, _payload) { + var this$1 = this; + + // check object-style dispatch + var ref = unifyObjectStyle(_type, _payload); + var type = ref.type; + var payload = ref.payload; + + var action = { type: type, payload: payload }; + var entry = this._actions[type]; + if (!entry) { + { + console.error(("[vuex] unknown action type: " + type)); + } + return + } + + try { + this._actionSubscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .filter(function (sub) { return sub.before; }) + .forEach(function (sub) { return sub.before(action, this$1.state); }); + } catch (e) { + { + console.warn("[vuex] error in before action subscribers: "); + console.error(e); + } + } + + var result = entry.length > 1 + ? Promise.all(entry.map(function (handler) { return handler(payload); })) + : entry[0](payload); + + return new Promise(function (resolve, reject) { + result.then(function (res) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.after; }) + .forEach(function (sub) { return sub.after(action, this$1.state); }); + } catch (e) { + { + console.warn("[vuex] error in after action subscribers: "); + console.error(e); + } + } + resolve(res); + }, function (error) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.error; }) + .forEach(function (sub) { return sub.error(action, this$1.state, error); }); + } catch (e) { + { + console.warn("[vuex] error in error action subscribers: "); + console.error(e); + } + } + reject(error); + }); + }) + }; + + Store.prototype.subscribe = function subscribe (fn, options) { + return genericSubscribe(fn, this._subscribers, options) + }; + + Store.prototype.subscribeAction = function subscribeAction (fn, options) { + var subs = typeof fn === 'function' ? { before: fn } : fn; + return genericSubscribe(subs, this._actionSubscribers, options) + }; + + Store.prototype.watch = function watch (getter, cb, options) { + var this$1 = this; + + { + assert(typeof getter === 'function', "store.watch only accepts a function."); + } + return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options) + }; + + Store.prototype.replaceState = function replaceState (state) { + var this$1 = this; + + this._withCommit(function () { + this$1._vm._data.$$state = state; + }); + }; + + Store.prototype.registerModule = function registerModule (path, rawModule, options) { + if ( options === void 0 ) options = {}; + + if (typeof path === 'string') { path = [path]; } + + { + assert(Array.isArray(path), "module path must be a string or an Array."); + assert(path.length > 0, 'cannot register the root module by using registerModule.'); + } + + this._modules.register(path, rawModule); + installModule(this, this.state, path, this._modules.get(path), options.preserveState); + // reset store to update getters... + resetStoreVM(this, this.state); + }; + + Store.prototype.unregisterModule = function unregisterModule (path) { + var this$1 = this; + + if (typeof path === 'string') { path = [path]; } + + { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + this._modules.unregister(path); + this._withCommit(function () { + var parentState = getNestedState(this$1.state, path.slice(0, -1)); + Vue.delete(parentState, path[path.length - 1]); + }); + resetStore(this); + }; + + Store.prototype.hasModule = function hasModule (path) { + if (typeof path === 'string') { path = [path]; } + + { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + return this._modules.isRegistered(path) + }; + + Store.prototype.hotUpdate = function hotUpdate (newOptions) { + this._modules.update(newOptions); + resetStore(this, true); + }; + + Store.prototype._withCommit = function _withCommit (fn) { + var committing = this._committing; + this._committing = true; + fn(); + this._committing = committing; + }; + + Object.defineProperties( Store.prototype, prototypeAccessors$1 ); + + function genericSubscribe (fn, subs, options) { + if (subs.indexOf(fn) < 0) { + options && options.prepend + ? subs.unshift(fn) + : subs.push(fn); + } + return function () { + var i = subs.indexOf(fn); + if (i > -1) { + subs.splice(i, 1); + } + } + } + + function resetStore (store, hot) { + store._actions = Object.create(null); + store._mutations = Object.create(null); + store._wrappedGetters = Object.create(null); + store._modulesNamespaceMap = Object.create(null); + var state = store.state; + // init all modules + installModule(store, state, [], store._modules.root, true); + // reset vm + resetStoreVM(store, state, hot); + } + + function resetStoreVM (store, state, hot) { + var oldVm = store._vm; + + // bind store public getters + store.getters = {}; + // reset local getters cache + store._makeLocalGettersCache = Object.create(null); + var wrappedGetters = store._wrappedGetters; + var computed = {}; + forEachValue(wrappedGetters, function (fn, key) { + // use computed to leverage its lazy-caching mechanism + // direct inline function use will lead to closure preserving oldVm. + // using partial to return function with only arguments preserved in closure environment. + computed[key] = partial(fn, store); + Object.defineProperty(store.getters, key, { + get: function () { return store._vm[key]; }, + enumerable: true // for local getters + }); + }); + + // use a Vue instance to store the state tree + // suppress warnings just in case the user has added + // some funky global mixins + var silent = Vue.config.silent; + Vue.config.silent = true; + store._vm = new Vue({ + data: { + $$state: state + }, + computed: computed + }); + Vue.config.silent = silent; + + // enable strict mode for new vm + if (store.strict) { + enableStrictMode(store); + } + + if (oldVm) { + if (hot) { + // dispatch changes in all subscribed watchers + // to force getter re-evaluation for hot reloading. + store._withCommit(function () { + oldVm._data.$$state = null; + }); + } + Vue.nextTick(function () { return oldVm.$destroy(); }); + } + } + + function installModule (store, rootState, path, module, hot) { + var isRoot = !path.length; + var namespace = store._modules.getNamespace(path); + + // register in namespace map + if (module.namespaced) { + if (store._modulesNamespaceMap[namespace] && true) { + console.error(("[vuex] duplicate namespace " + namespace + " for the namespaced module " + (path.join('/')))); + } + store._modulesNamespaceMap[namespace] = module; + } + + // set state + if (!isRoot && !hot) { + var parentState = getNestedState(rootState, path.slice(0, -1)); + var moduleName = path[path.length - 1]; + store._withCommit(function () { + { + if (moduleName in parentState) { + console.warn( + ("[vuex] state field \"" + moduleName + "\" was overridden by a module with the same name at \"" + (path.join('.')) + "\"") + ); + } + } + Vue.set(parentState, moduleName, module.state); + }); + } + + var local = module.context = makeLocalContext(store, namespace, path); + + module.forEachMutation(function (mutation, key) { + var namespacedType = namespace + key; + registerMutation(store, namespacedType, mutation, local); + }); + + module.forEachAction(function (action, key) { + var type = action.root ? key : namespace + key; + var handler = action.handler || action; + registerAction(store, type, handler, local); + }); + + module.forEachGetter(function (getter, key) { + var namespacedType = namespace + key; + registerGetter(store, namespacedType, getter, local); + }); + + module.forEachChild(function (child, key) { + installModule(store, rootState, path.concat(key), child, hot); + }); + } + + /** + * make localized dispatch, commit, getters and state + * if there is no namespace, just use root ones + */ + function makeLocalContext (store, namespace, path) { + var noNamespace = namespace === ''; + + var local = { + dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if ( !store._actions[type]) { + console.error(("[vuex] unknown local action type: " + (args.type) + ", global type: " + type)); + return + } + } + + return store.dispatch(type, payload) + }, + + commit: noNamespace ? store.commit : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if ( !store._mutations[type]) { + console.error(("[vuex] unknown local mutation type: " + (args.type) + ", global type: " + type)); + return + } + } + + store.commit(type, payload, options); + } + }; + + // getters and state object must be gotten lazily + // because they will be changed by vm update + Object.defineProperties(local, { + getters: { + get: noNamespace + ? function () { return store.getters; } + : function () { return makeLocalGetters(store, namespace); } + }, + state: { + get: function () { return getNestedState(store.state, path); } + } + }); + + return local + } + + function makeLocalGetters (store, namespace) { + if (!store._makeLocalGettersCache[namespace]) { + var gettersProxy = {}; + var splitPos = namespace.length; + Object.keys(store.getters).forEach(function (type) { + // skip if the target getter is not match this namespace + if (type.slice(0, splitPos) !== namespace) { return } + + // extract local getter type + var localType = type.slice(splitPos); + + // Add a port to the getters proxy. + // Define as getter property because + // we do not want to evaluate the getters in this time. + Object.defineProperty(gettersProxy, localType, { + get: function () { return store.getters[type]; }, + enumerable: true + }); + }); + store._makeLocalGettersCache[namespace] = gettersProxy; + } + + return store._makeLocalGettersCache[namespace] + } + + function registerMutation (store, type, handler, local) { + var entry = store._mutations[type] || (store._mutations[type] = []); + entry.push(function wrappedMutationHandler (payload) { + handler.call(store, local.state, payload); + }); + } + + function registerAction (store, type, handler, local) { + var entry = store._actions[type] || (store._actions[type] = []); + entry.push(function wrappedActionHandler (payload) { + var res = handler.call(store, { + dispatch: local.dispatch, + commit: local.commit, + getters: local.getters, + state: local.state, + rootGetters: store.getters, + rootState: store.state + }, payload); + if (!isPromise(res)) { + res = Promise.resolve(res); + } + if (store._devtoolHook) { + return res.catch(function (err) { + store._devtoolHook.emit('vuex:error', err); + throw err + }) + } else { + return res + } + }); + } + + function registerGetter (store, type, rawGetter, local) { + if (store._wrappedGetters[type]) { + { + console.error(("[vuex] duplicate getter key: " + type)); + } + return + } + store._wrappedGetters[type] = function wrappedGetter (store) { + return rawGetter( + local.state, // local state + local.getters, // local getters + store.state, // root state + store.getters // root getters + ) + }; + } + + function enableStrictMode (store) { + store._vm.$watch(function () { return this._data.$$state }, function () { + { + assert(store._committing, "do not mutate vuex store state outside mutation handlers."); + } + }, { deep: true, sync: true }); + } + + function getNestedState (state, path) { + return path.reduce(function (state, key) { return state[key]; }, state) + } + + function unifyObjectStyle (type, payload, options) { + if (isObject(type) && type.type) { + options = payload; + payload = type; + type = type.type; + } + + { + assert(typeof type === 'string', ("expects string as the type, but found " + (typeof type) + ".")); + } + + return { type: type, payload: payload, options: options } + } + + function install (_Vue) { + if (Vue && _Vue === Vue) { + { + console.error( + '[vuex] already installed. Vue.use(Vuex) should be called only once.' + ); + } + return + } + Vue = _Vue; + applyMixin(Vue); + } + + /** + * Reduce the code which written in Vue.js for getting the state. + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it. + * @param {Object} + */ + var mapState = normalizeNamespace(function (namespace, states) { + var res = {}; + if ( !isValidMap(states)) { + console.error('[vuex] mapState: mapper parameter must be either an Array or an Object'); + } + normalizeMap(states).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedState () { + var state = this.$store.state; + var getters = this.$store.getters; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapState', namespace); + if (!module) { + return + } + state = module.context.state; + getters = module.context.getters; + } + return typeof val === 'function' + ? val.call(this, state, getters) + : state[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res + }); + + /** + * Reduce the code which written in Vue.js for committing the mutation + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ + var mapMutations = normalizeNamespace(function (namespace, mutations) { + var res = {}; + if ( !isValidMap(mutations)) { + console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object'); + } + normalizeMap(mutations).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedMutation () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // Get the commit method from store + var commit = this.$store.commit; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapMutations', namespace); + if (!module) { + return + } + commit = module.context.commit; + } + return typeof val === 'function' + ? val.apply(this, [commit].concat(args)) + : commit.apply(this.$store, [val].concat(args)) + }; + }); + return res + }); + + /** + * Reduce the code which written in Vue.js for getting the getters + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} getters + * @return {Object} + */ + var mapGetters = normalizeNamespace(function (namespace, getters) { + var res = {}; + if ( !isValidMap(getters)) { + console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object'); + } + normalizeMap(getters).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + // The namespace has been mutated by normalizeNamespace + val = namespace + val; + res[key] = function mappedGetter () { + if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) { + return + } + if ( !(val in this.$store.getters)) { + console.error(("[vuex] unknown getter: " + val)); + return + } + return this.$store.getters[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res + }); + + /** + * Reduce the code which written in Vue.js for dispatch the action + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ + var mapActions = normalizeNamespace(function (namespace, actions) { + var res = {}; + if ( !isValidMap(actions)) { + console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object'); + } + normalizeMap(actions).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedAction () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // get dispatch function from store + var dispatch = this.$store.dispatch; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapActions', namespace); + if (!module) { + return + } + dispatch = module.context.dispatch; + } + return typeof val === 'function' + ? val.apply(this, [dispatch].concat(args)) + : dispatch.apply(this.$store, [val].concat(args)) + }; + }); + return res + }); + + /** + * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object + * @param {String} namespace + * @return {Object} + */ + var createNamespacedHelpers = function (namespace) { return ({ + mapState: mapState.bind(null, namespace), + mapGetters: mapGetters.bind(null, namespace), + mapMutations: mapMutations.bind(null, namespace), + mapActions: mapActions.bind(null, namespace) + }); }; + + /** + * Normalize the map + * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ] + * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ] + * @param {Array|Object} map + * @return {Object} + */ + function normalizeMap (map) { + if (!isValidMap(map)) { + return [] + } + return Array.isArray(map) + ? map.map(function (key) { return ({ key: key, val: key }); }) + : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); }) + } + + /** + * Validate whether given map is valid or not + * @param {*} map + * @return {Boolean} + */ + function isValidMap (map) { + return Array.isArray(map) || isObject(map) + } + + /** + * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map. + * @param {Function} fn + * @return {Function} + */ + function normalizeNamespace (fn) { + return function (namespace, map) { + if (typeof namespace !== 'string') { + map = namespace; + namespace = ''; + } else if (namespace.charAt(namespace.length - 1) !== '/') { + namespace += '/'; + } + return fn(namespace, map) + } + } + + /** + * Search a special module from store by namespace. if module not exist, print error message. + * @param {Object} store + * @param {String} helper + * @param {String} namespace + * @return {Object} + */ + function getModuleByNamespace (store, helper, namespace) { + var module = store._modulesNamespaceMap[namespace]; + if ( !module) { + console.error(("[vuex] module namespace not found in " + helper + "(): " + namespace)); + } + return module + } + + // Credits: borrowed code from fcomb/redux-logger + + function createLogger (ref) { + if ( ref === void 0 ) ref = {}; + var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true; + var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; }; + var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; }; + var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; }; + var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; }; + var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; }; + var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true; + var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true; + var logger = ref.logger; if ( logger === void 0 ) logger = console; + + return function (store) { + var prevState = deepCopy(store.state); + + if (typeof logger === 'undefined') { + return + } + + if (logMutations) { + store.subscribe(function (mutation, state) { + var nextState = deepCopy(state); + + if (filter(mutation, prevState, nextState)) { + var formattedTime = getFormattedTime(); + var formattedMutation = mutationTransformer(mutation); + var message = "mutation " + (mutation.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState)); + logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation); + logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState)); + endMessage(logger); + } + + prevState = nextState; + }); + } + + if (logActions) { + store.subscribeAction(function (action, state) { + if (actionFilter(action, state)) { + var formattedTime = getFormattedTime(); + var formattedAction = actionTransformer(action); + var message = "action " + (action.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction); + endMessage(logger); + } + }); + } + } + } + + function startMessage (logger, message, collapsed) { + var startMessage = collapsed + ? logger.groupCollapsed + : logger.group; + + // render + try { + startMessage.call(logger, message); + } catch (e) { + logger.log(message); + } + } + + function endMessage (logger) { + try { + logger.groupEnd(); + } catch (e) { + logger.log('—— log end ——'); + } + } + + function getFormattedTime () { + var time = new Date(); + return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3))) + } + + function repeat (str, times) { + return (new Array(times + 1)).join(str) + } + + function pad (num, maxLength) { + return repeat('0', maxLength - num.toString().length) + num + } + + var index_cjs = { + Store: Store, + install: install, + version: '3.6.2', + mapState: mapState, + mapMutations: mapMutations, + mapGetters: mapGetters, + mapActions: mapActions, + createNamespacedHelpers: createNamespacedHelpers, + createLogger: createLogger + }; + + return index_cjs; + +}))); diff --git a/node_modules/vuex/dist/vuex.min.js b/node_modules/vuex/dist/vuex.min.js new file mode 100644 index 0000000..3871c68 --- /dev/null +++ b/node_modules/vuex/dist/vuex.min.js @@ -0,0 +1,6 @@ +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Vuex=e()}(this,(function(){"use strict";var t=("undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function e(t,n){if(void 0===n&&(n=[]),null===t||"object"!=typeof t)return t;var o,r=(o=function(e){return e.original===t},n.filter(o)[0]);if(r)return r.copy;var i=Array.isArray(t)?[]:{};return n.push({original:t,copy:i}),Object.keys(t).forEach((function(o){i[o]=e(t[o],n)})),i}function n(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function o(t){return null!==t&&"object"==typeof t}var r=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"==typeof n?n():n)||{}},i={namespaced:{configurable:!0}};i.namespaced.get=function(){return!!this._rawModule.namespaced},r.prototype.addChild=function(t,e){this._children[t]=e},r.prototype.removeChild=function(t){delete this._children[t]},r.prototype.getChild=function(t){return this._children[t]},r.prototype.hasChild=function(t){return t in this._children},r.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},r.prototype.forEachChild=function(t){n(this._children,t)},r.prototype.forEachGetter=function(t){this._rawModule.getters&&n(this._rawModule.getters,t)},r.prototype.forEachAction=function(t){this._rawModule.actions&&n(this._rawModule.actions,t)},r.prototype.forEachMutation=function(t){this._rawModule.mutations&&n(this._rawModule.mutations,t)},Object.defineProperties(r.prototype,i);var c,a=function(t){this.register([],t,!1)};a.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},a.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return t+((e=e.getChild(n)).namespaced?n+"/":"")}),"")},a.prototype.update=function(t){!function t(e,n,o){if(n.update(o),o.modules)for(var r in o.modules){if(!n.getChild(r))return;t(e.concat(r),n.getChild(r),o.modules[r])}}([],this.root,t)},a.prototype.register=function(t,e,o){var i=this;void 0===o&&(o=!0);var c=new r(e,o);0===t.length?this.root=c:this.get(t.slice(0,-1)).addChild(t[t.length-1],c);e.modules&&n(e.modules,(function(e,n){i.register(t.concat(n),e,o)}))},a.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],o=e.getChild(n);o&&o.runtime&&e.removeChild(n)},a.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};var s=function(e){var n=this;void 0===e&&(e={}),!c&&"undefined"!=typeof window&&window.Vue&&v(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var r=e.strict;void 0===r&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new a(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new c,this._makeLocalGettersCache=Object.create(null);var i=this,s=this.dispatch,u=this.commit;this.dispatch=function(t,e){return s.call(i,t,e)},this.commit=function(t,e,n){return u.call(i,t,e,n)},this.strict=r;var f=this._modules.root.state;p(this,f,[],this._modules.root),h(this,f),o.forEach((function(t){return t(n)})),(void 0!==e.devtools?e.devtools:c.config.devtools)&&function(e){t&&(e._devtoolHook=t,t.emit("vuex:init",e),t.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,n){t.emit("vuex:mutation",e,n)}),{prepend:!0}),e.subscribeAction((function(e,n){t.emit("vuex:action",e,n)}),{prepend:!0}))}(this)},u={state:{configurable:!0}};function f(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function l(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;p(t,n,[],t._modules.root,!0),h(t,n,e)}function h(t,e,o){var r=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var i=t._wrappedGetters,a={};n(i,(function(e,n){a[n]=function(t,e){return function(){return t(e)}}(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var s=c.config.silent;c.config.silent=!0,t._vm=new c({data:{$$state:e},computed:a}),c.config.silent=s,t.strict&&function(t){t._vm.$watch((function(){return this._data.$$state}),(function(){}),{deep:!0,sync:!0})}(t),r&&(o&&t._withCommit((function(){r._data.$$state=null})),c.nextTick((function(){return r.$destroy()})))}function p(t,e,n,o,r){var i=!n.length,a=t._modules.getNamespace(n);if(o.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=o),!i&&!r){var s=d(e,n.slice(0,-1)),u=n[n.length-1];t._withCommit((function(){c.set(s,u,o.state)}))}var f=o.context=function(t,e,n){var o=""===e,r={dispatch:o?t.dispatch:function(n,o,r){var i=m(n,o,r),c=i.payload,a=i.options,s=i.type;return a&&a.root||(s=e+s),t.dispatch(s,c)},commit:o?t.commit:function(n,o,r){var i=m(n,o,r),c=i.payload,a=i.options,s=i.type;a&&a.root||(s=e+s),t.commit(s,c,a)}};return Object.defineProperties(r,{getters:{get:o?function(){return t.getters}:function(){return function(t,e){if(!t._makeLocalGettersCache[e]){var n={},o=e.length;Object.keys(t.getters).forEach((function(r){if(r.slice(0,o)===e){var i=r.slice(o);Object.defineProperty(n,i,{get:function(){return t.getters[r]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}(t,e)}},state:{get:function(){return d(t.state,n)}}}),r}(t,a,n);o.forEachMutation((function(e,n){!function(t,e,n,o){(t._mutations[e]||(t._mutations[e]=[])).push((function(e){n.call(t,o.state,e)}))}(t,a+n,e,f)})),o.forEachAction((function(e,n){var o=e.root?n:a+n,r=e.handler||e;!function(t,e,n,o){(t._actions[e]||(t._actions[e]=[])).push((function(e){var r,i=n.call(t,{dispatch:o.dispatch,commit:o.commit,getters:o.getters,state:o.state,rootGetters:t.getters,rootState:t.state},e);return(r=i)&&"function"==typeof r.then||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}(t,o,r,f)})),o.forEachGetter((function(e,n){!function(t,e,n,o){if(t._wrappedGetters[e])return;t._wrappedGetters[e]=function(t){return n(o.state,o.getters,t.state,t.getters)}}(t,a+n,e,f)})),o.forEachChild((function(o,i){p(t,e,n.concat(i),o,r)}))}function d(t,e){return e.reduce((function(t,e){return t[e]}),t)}function m(t,e,n){return o(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function v(t){c&&t===c||function(t){if(Number(t.version.split(".")[0])>=2)t.mixin({beforeCreate:n});else{var e=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[n].concat(t.init):n,e.call(this,t)}}function n(){var t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}(c=t)}u.state.get=function(){return this._vm._data.$$state},u.state.set=function(t){},s.prototype.commit=function(t,e,n){var o=this,r=m(t,e,n),i=r.type,c=r.payload,a={type:i,payload:c},s=this._mutations[i];s&&(this._withCommit((function(){s.forEach((function(t){t(c)}))})),this._subscribers.slice().forEach((function(t){return t(a,o.state)})))},s.prototype.dispatch=function(t,e){var n=this,o=m(t,e),r=o.type,i=o.payload,c={type:r,payload:i},a=this._actions[r];if(a){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(c,n.state)}))}catch(t){}var s=a.length>1?Promise.all(a.map((function(t){return t(i)}))):a[0](i);return new Promise((function(t,e){s.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(c,n.state)}))}catch(t){}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(c,n.state,t)}))}catch(t){}e(t)}))}))}},s.prototype.subscribe=function(t,e){return f(t,this._subscribers,e)},s.prototype.subscribeAction=function(t,e){return f("function"==typeof t?{before:t}:t,this._actionSubscribers,e)},s.prototype.watch=function(t,e,n){var o=this;return this._watcherVM.$watch((function(){return t(o.state,o.getters)}),e,n)},s.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},s.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"==typeof t&&(t=[t]),this._modules.register(t,e),p(this,this.state,t,this._modules.get(t),n.preserveState),h(this,this.state)},s.prototype.unregisterModule=function(t){var e=this;"string"==typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=d(e.state,t.slice(0,-1));c.delete(n,t[t.length-1])})),l(this)},s.prototype.hasModule=function(t){return"string"==typeof t&&(t=[t]),this._modules.isRegistered(t)},s.prototype.hotUpdate=function(t){this._modules.update(t),l(this,!0)},s.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(s.prototype,u);var g=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;n[o]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var o=$(this.$store,"mapState",t);if(!o)return;e=o.context.state,n=o.context.getters}return"function"==typeof r?r.call(this,e,n):e[r]},n[o].vuex=!0})),n})),y=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;n[o]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=this.$store.commit;if(t){var i=$(this.$store,"mapMutations",t);if(!i)return;o=i.context.commit}return"function"==typeof r?r.apply(this,[o].concat(e)):o.apply(this.$store,[r].concat(e))}})),n})),_=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;r=t+r,n[o]=function(){if(!t||$(this.$store,"mapGetters",t))return this.$store.getters[r]},n[o].vuex=!0})),n})),b=M((function(t,e){var n={};return w(e).forEach((function(e){var o=e.key,r=e.val;n[o]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=this.$store.dispatch;if(t){var i=$(this.$store,"mapActions",t);if(!i)return;o=i.context.dispatch}return"function"==typeof r?r.apply(this,[o].concat(e)):o.apply(this.$store,[r].concat(e))}})),n}));function w(t){return function(t){return Array.isArray(t)||o(t)}(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function M(t){return function(e,n){return"string"!=typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function $(t,e,n){return t._modulesNamespaceMap[n]}function C(t,e,n){var o=n?t.groupCollapsed:t.group;try{o.call(t,e)}catch(n){t.log(e)}}function E(t){try{t.groupEnd()}catch(e){t.log("—— log end ——")}}function O(){var t=new Date;return" @ "+j(t.getHours(),2)+":"+j(t.getMinutes(),2)+":"+j(t.getSeconds(),2)+"."+j(t.getMilliseconds(),3)}function j(t,e){return n="0",o=e-t.toString().length,new Array(o+1).join(n)+t;var n,o}return{Store:s,install:v,version:"3.6.2",mapState:g,mapMutations:y,mapGetters:_,mapActions:b,createNamespacedHelpers:function(t){return{mapState:g.bind(null,t),mapGetters:_.bind(null,t),mapMutations:y.bind(null,t),mapActions:b.bind(null,t)}},createLogger:function(t){void 0===t&&(t={});var n=t.collapsed;void 0===n&&(n=!0);var o=t.filter;void 0===o&&(o=function(t,e,n){return!0});var r=t.transformer;void 0===r&&(r=function(t){return t});var i=t.mutationTransformer;void 0===i&&(i=function(t){return t});var c=t.actionFilter;void 0===c&&(c=function(t,e){return!0});var a=t.actionTransformer;void 0===a&&(a=function(t){return t});var s=t.logMutations;void 0===s&&(s=!0);var u=t.logActions;void 0===u&&(u=!0);var f=t.logger;return void 0===f&&(f=console),function(t){var l=e(t.state);void 0!==f&&(s&&t.subscribe((function(t,c){var a=e(c);if(o(t,l,a)){var s=O(),u=i(t),h="mutation "+t.type+s;C(f,h,n),f.log("%c prev state","color: #9E9E9E; font-weight: bold",r(l)),f.log("%c mutation","color: #03A9F4; font-weight: bold",u),f.log("%c next state","color: #4CAF50; font-weight: bold",r(a)),E(f)}l=a})),u&&t.subscribeAction((function(t,e){if(c(t,e)){var o=O(),r=a(t),i="action "+t.type+o;C(f,i,n),f.log("%c action","color: #03A9F4; font-weight: bold",r),E(f)}})))}}}})); diff --git a/node_modules/vuex/dist/vuex.mjs b/node_modules/vuex/dist/vuex.mjs new file mode 100644 index 0000000..2140898 --- /dev/null +++ b/node_modules/vuex/dist/vuex.mjs @@ -0,0 +1,26 @@ +import Vuex from '../dist/vuex.common.js' + +const { + Store, + install, + version, + mapState, + mapMutations, + mapGetters, + mapActions, + createNamespacedHelpers, + createLogger +} = Vuex + +export { + Vuex as default, + Store, + install, + version, + mapState, + mapMutations, + mapGetters, + mapActions, + createNamespacedHelpers, + createLogger +} diff --git a/node_modules/vuex/package.json b/node_modules/vuex/package.json new file mode 100644 index 0000000..5b65032 --- /dev/null +++ b/node_modules/vuex/package.json @@ -0,0 +1,124 @@ +{ + "_from": "vuex", + "_id": "vuex@3.6.2", + "_inBundle": false, + "_integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", + "_location": "/vuex", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "vuex", + "name": "vuex", + "escapedName": "vuex", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "_shasum": "236bc086a870c3ae79946f107f16de59d5895e71", + "_spec": "vuex", + "_where": "/Users/WebTmm/Desktop/ZhHealth", + "author": { + "name": "Evan You" + }, + "bugs": { + "url": "https://github.com/vuejs/vuex/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "state management for Vue.js", + "devDependencies": { + "@babel/core": "^7.12.10", + "@babel/preset-env": "^7.12.11", + "@rollup/plugin-buble": "^0.21.3", + "@rollup/plugin-commonjs": "^11.1.0", + "@rollup/plugin-node-resolve": "^7.1.3", + "@rollup/plugin-replace": "^2.3.2", + "@types/node": "^13.13.5", + "@vuepress/theme-vue": "^1.8.0", + "babel-jest": "^26.6.3", + "babel-loader": "^8.2.2", + "brotli": "^1.3.2", + "chalk": "^4.0.0", + "conventional-changelog-cli": "^2.1.1", + "cross-env": "^5.2.0", + "css-loader": "^2.1.0", + "enquirer": "^2.3.5", + "eslint": "^6.8.0", + "eslint-plugin-vue-libs": "^4.0.0", + "execa": "^5.0.0", + "express": "^4.17.1", + "jest": "^26.6.3", + "puppeteer": "^4.0.0", + "regenerator-runtime": "^0.13.5", + "rollup": "^2.38.0", + "rollup-plugin-terser": "^5.3.0", + "semver": "^7.3.2", + "start-server-and-test": "^1.11.7", + "todomvc-app-css": "^2.3.0", + "typescript": "^3.8.3", + "vue": "2.5.22", + "vue-loader": "15.2.1", + "vue-server-renderer": "2.5.22", + "vue-template-compiler": "2.5.22", + "vuepress": "^1.8.0", + "webpack": "^4.43.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-hot-middleware": "^2.25.0" + }, + "exports": { + ".": { + "module": "./dist/vuex.esm.js", + "require": "./dist/vuex.common.js", + "import": "./dist/vuex.mjs" + }, + "./": "./" + }, + "files": [ + "dist", + "types/index.d.ts", + "types/helpers.d.ts", + "types/logger.d.ts", + "types/vue.d.ts" + ], + "homepage": "https://github.com/vuejs/vuex#readme", + "jsdelivr": "dist/vuex.js", + "license": "MIT", + "main": "dist/vuex.common.js", + "module": "dist/vuex.esm.js", + "name": "vuex", + "peerDependencies": { + "vue": "^2.0.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/vuex.git" + }, + "scripts": { + "build": "npm run build:main && npm run build:logger", + "build:logger": "node scripts/build-logger.js", + "build:main": "node scripts/build-main.js", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s", + "coverage": "jest --testPathIgnorePatterns test/e2e --coverage", + "dev": "node examples/server.js", + "docs": "vuepress dev docs", + "docs:build": "vuepress build docs", + "lint": "eslint src test", + "release": "node scripts/release.js", + "test": "npm run lint && npm run test:types && npm run test:unit && npm run test:ssr && npm run test:e2e && npm run test:esm", + "test:e2e": "start-server-and-test dev http://localhost:8080 \"jest --testPathIgnorePatterns test/unit\"", + "test:esm": "node test/esm/esm-test.js", + "test:ssr": "cross-env VUE_ENV=server jest --testPathIgnorePatterns test/e2e", + "test:types": "tsc -p types/test", + "test:unit": "jest --testPathIgnorePatterns test/e2e" + }, + "sideEffects": false, + "typings": "types/index.d.ts", + "unpkg": "dist/vuex.js", + "version": "3.6.2" +} diff --git a/node_modules/vuex/types/helpers.d.ts b/node_modules/vuex/types/helpers.d.ts new file mode 100644 index 0000000..2de5cf9 --- /dev/null +++ b/node_modules/vuex/types/helpers.d.ts @@ -0,0 +1,86 @@ +import Vue from 'vue'; +import { Dispatch, Commit } from './index'; + +type Computed = () => any; +type InlineComputed = T extends (...args: any[]) => infer R ? () => R : never +type MutationMethod = (...args: any[]) => void; +type ActionMethod = (...args: any[]) => Promise; +type InlineMethod any> = T extends (fn: any, ...args: infer Args) => infer R ? (...args: Args) => R : never +type CustomVue = Vue & Record; + +interface Mapper { + (map: Key[]): { [K in Key]: R }; + >(map: Map): { [K in keyof Map]: R }; +} + +interface MapperWithNamespace { + (namespace: string, map: Key[]): { [K in Key]: R }; + >(namespace: string, map: Map): { [K in keyof Map]: R }; +} + +interface MapperForState { + any> = {}>( + map: Map + ): { [K in keyof Map]: InlineComputed }; +} + +interface MapperForStateWithNamespace { + any> = {}>( + namespace: string, + map: Map + ): { [K in keyof Map]: InlineComputed }; +} + +interface MapperForAction { + any>>( + map: Map + ): { [K in keyof Map]: InlineMethod }; +} + +interface MapperForActionWithNamespace { + any>>( + namespace: string, + map: Map + ): { [K in keyof Map]: InlineMethod }; +} + +interface MapperForMutation { + any>>( + map: Map + ): { [K in keyof Map]: InlineMethod }; +} + +interface MapperForMutationWithNamespace { + any>>( + namespace: string, + map: Map + ): { [K in keyof Map]: InlineMethod }; +} + + +interface NamespacedMappers { + mapState: Mapper & MapperForState; + mapMutations: Mapper & MapperForMutation; + mapGetters: Mapper; + mapActions: Mapper & MapperForAction; +} + +export declare const mapState: Mapper + & MapperWithNamespace + & MapperForState + & MapperForStateWithNamespace; + +export declare const mapMutations: Mapper + & MapperWithNamespace + & MapperForMutation + & MapperForMutationWithNamespace; + +export declare const mapGetters: Mapper + & MapperWithNamespace; + +export declare const mapActions: Mapper + & MapperWithNamespace + & MapperForAction + & MapperForActionWithNamespace; + +export declare function createNamespacedHelpers(namespace: string): NamespacedMappers; diff --git a/node_modules/vuex/types/index.d.ts b/node_modules/vuex/types/index.d.ts new file mode 100644 index 0000000..aeb6961 --- /dev/null +++ b/node_modules/vuex/types/index.d.ts @@ -0,0 +1,164 @@ +import _Vue, { WatchOptions } from "vue"; + +// augment typings of Vue.js +import "./vue"; + +import { mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers } from "./helpers"; +import createLogger from "./logger"; + +export * from "./helpers"; +export * from "./logger"; + +export declare class Store { + constructor(options: StoreOptions); + + readonly state: S; + readonly getters: any; + + replaceState(state: S): void; + + dispatch: Dispatch; + commit: Commit; + + subscribe

(fn: (mutation: P, state: S) => any, options?: SubscribeOptions): () => void; + subscribeAction

(fn: SubscribeActionOptions, options?: SubscribeOptions): () => void; + watch(getter: (state: S, getters: any) => T, cb: (value: T, oldValue: T) => void, options?: WatchOptions): () => void; + + registerModule(path: string, module: Module, options?: ModuleOptions): void; + registerModule(path: string[], module: Module, options?: ModuleOptions): void; + + unregisterModule(path: string): void; + unregisterModule(path: string[]): void; + + hasModule(path: string): boolean; + hasModule(path: string[]): boolean; + + hotUpdate(options: { + actions?: ActionTree; + mutations?: MutationTree; + getters?: GetterTree; + modules?: ModuleTree; + }): void; +} + +export declare function install(Vue: typeof _Vue): void; + +export interface Dispatch { + (type: string, payload?: any, options?: DispatchOptions): Promise; +

(payloadWithType: P, options?: DispatchOptions): Promise; +} + +export interface Commit { + (type: string, payload?: any, options?: CommitOptions): void; +

(payloadWithType: P, options?: CommitOptions): void; +} + +export interface ActionContext { + dispatch: Dispatch; + commit: Commit; + state: S; + getters: any; + rootState: R; + rootGetters: any; +} + +export interface Payload { + type: string; +} + +export interface MutationPayload extends Payload { + payload: any; +} + +export interface ActionPayload extends Payload { + payload: any; +} + +export interface SubscribeOptions { + prepend?: boolean +} + +export type ActionSubscriber = (action: P, state: S) => any; +export type ActionErrorSubscriber = (action: P, state: S, error: Error) => any; + +export interface ActionSubscribersObject { + before?: ActionSubscriber; + after?: ActionSubscriber; + error?: ActionErrorSubscriber; +} + +export type SubscribeActionOptions = ActionSubscriber | ActionSubscribersObject; + +export interface DispatchOptions { + root?: boolean; +} + +export interface CommitOptions { + silent?: boolean; + root?: boolean; +} + +export interface StoreOptions { + state?: S | (() => S); + getters?: GetterTree; + actions?: ActionTree; + mutations?: MutationTree; + modules?: ModuleTree; + plugins?: Plugin[]; + strict?: boolean; + devtools?: boolean; +} + +export type ActionHandler = (this: Store, injectee: ActionContext, payload?: any) => any; +export interface ActionObject { + root?: boolean; + handler: ActionHandler; +} + +export type Getter = (state: S, getters: any, rootState: R, rootGetters: any) => any; +export type Action = ActionHandler | ActionObject; +export type Mutation = (state: S, payload?: any) => any; +export type Plugin = (store: Store) => any; + +export interface Module { + namespaced?: boolean; + state?: S | (() => S); + getters?: GetterTree; + actions?: ActionTree; + mutations?: MutationTree; + modules?: ModuleTree; +} + +export interface ModuleOptions { + preserveState?: boolean; +} + +export interface GetterTree { + [key: string]: Getter; +} + +export interface ActionTree { + [key: string]: Action; +} + +export interface MutationTree { + [key: string]: Mutation; +} + +export interface ModuleTree { + [key: string]: Module; +} + +export { createLogger } + +declare const _default: { + Store: typeof Store; + install: typeof install; + mapState: typeof mapState, + mapMutations: typeof mapMutations, + mapGetters: typeof mapGetters, + mapActions: typeof mapActions, + createNamespacedHelpers: typeof createNamespacedHelpers, + createLogger: typeof createLogger +}; +export default _default; diff --git a/node_modules/vuex/types/logger.d.ts b/node_modules/vuex/types/logger.d.ts new file mode 100644 index 0000000..b813a67 --- /dev/null +++ b/node_modules/vuex/types/logger.d.ts @@ -0,0 +1,20 @@ +import { Payload, Plugin } from "./index"; + +interface Logger extends Partial> { + log(message: string, color: string, payload: any): void; + log(message: string): void; +} + +export interface LoggerOption { + collapsed?: boolean; + filter?:

(mutation: P, stateBefore: S, stateAfter: S) => boolean; + transformer?: (state: S) => any; + mutationTransformer?:

(mutation: P) => any; + actionFilter?:

(action: P, state: S) => boolean; + actionTransformer?:

(action: P) => any; + logMutations?: boolean; + logActions?: boolean; + logger?: Logger; +} + +export default function createLogger(option?: LoggerOption): Plugin; diff --git a/node_modules/vuex/types/vue.d.ts b/node_modules/vuex/types/vue.d.ts new file mode 100644 index 0000000..302fc4e --- /dev/null +++ b/node_modules/vuex/types/vue.d.ts @@ -0,0 +1,18 @@ +/** + * Extends interfaces in Vue.js + */ + +import Vue, { ComponentOptions } from "vue"; +import { Store } from "./index"; + +declare module "vue/types/options" { + interface ComponentOptions { + store?: Store; + } +} + +declare module "vue/types/vue" { + interface Vue { + $store: Store; + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..19f04c0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,21 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "uni-read-pages": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/uni-read-pages/-/uni-read-pages-1.0.5.tgz", + "integrity": "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==" + }, + "uni-simple-router": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/uni-simple-router/-/uni-simple-router-2.0.7.tgz", + "integrity": "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA==" + }, + "vuex": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==" + } + } +} diff --git a/pages.json b/pages.json index d8b7718..0dfbb7e 100644 --- a/pages.json +++ b/pages.json @@ -1,57 +1,61 @@ { "pages": [{ - "path": "pages/index/index", + "path": "pages/index/index", + "name": "Index", "style": { - "navigationBarTitleText": "发现", + "navigationBarTitleText": "发现", "navigationStyle": "custom" } }, { - "path": "pages/record/index", + "path": "pages/record/index", + "name": "Record", "style": { "navigationBarTitleText": "记录", "navigationStyle": "custom" } }, { - "path": "pages/store/index", + "path": "pages/store/index", + "name": "Store", "style": { - "navigationBarTitleText": "健康生活", - "app-plus": { - "titleNView": { - "backgroundColor": "#FFFFFF", - "titleSize": "16", - "buttons": [ - { - "float": "left", - "text": "\ue601", - "fontSrc": "/static/iconfont.ttf", - "color": "#666", - "fontSize": "20px" - }, - { - "float": "right", - "text": "\ue603", - "fontSrc": "/static/iconfont.ttf", - "color": "#666", - "fontSize": "20px" - } - ] - } - } + "navigationBarTitleText": "健康生活", + "app-plus": { + "titleNView": { + "backgroundColor": "#FFFFFF", + "titleSize": "16", + "buttons": [{ + "float": "left", + "text": "\ue601", + "fontSrc": "/static/iconfont.ttf", + "color": "#666", + "fontSize": "20px" + }, + { + "float": "right", + "text": "\ue603", + "fontSrc": "/static/iconfont.ttf", + "color": "#666", + "fontSize": "20px" + } + ] + } + } } }, { - "path": "pages/user/index", + "path": "pages/user/index", + "name": "User", "style": { "navigationBarTitleText": "我的", "navigationStyle": "custom" } }, { - "path": "pages/auth/auth", + "path": "pages/auth/auth", + "name": "Auth", "style": { - "navigationBarTitleText": "登录", - "navigationStyle": "custom" + "navigationBarTitleText": "登录" } }, { - "path": "pages/store/goods", + "path": "pages/store/goods", + "name": "StoreGoods", "style": { "navigationStyle": "custom", "navigationBarTitleText": "详情", @@ -63,36 +67,76 @@ } } }, { - "path": "pages/store/buy", + "path": "pages/store/buy", + "name": "StoreBuy", "style": { "navigationBarTitleText": "确认订单", "enablePullDownRefresh": false } + }, { + "path": "pages/order/index", + "name": "Order", + "style": { + "navigationBarTitleText": "订单", + "enablePullDownRefresh": false + } + }, { + "path": "pages/order/details", + "name": "OrderDetails", + "style": { + "navigationBarTitleText": "订单详情", + "enablePullDownRefresh": false + } + }, { + "path": "pages/address/index", + "name": "Address", + "style": { + "navigationBarTitleText": "地址", + "app-plus": { + "titleNView": { + "backgroundColor": "#FFFFFF", + "titleSize": "16", + "buttons": [{ + "float": "right", + "text": "新增", + "color": "#34CE98", + "fontSize": "14px" + }] + } + } + } + }, { + "path": "pages/address/edit", + "name": "AddressEdit", + "style": { + "navigationBarTitleText": "编辑", + "enablePullDownRefresh": false + } }], "tabBar": { - "borderStyle": "white", - "selectedColor":"#34CE98", - "list": [{ - "iconPath":"static/tabBar/tabBar_00.png", - "selectedIconPath":"static/tabBar/tabBar_show_00.png", + "borderStyle": "white", + "selectedColor": "#34CE98", + "list": [{ + "iconPath": "static/tabBar/tabBar_00.png", + "selectedIconPath": "static/tabBar/tabBar_show_00.png", "pagePath": "pages/index/index", "text": "发现" }, - { - "iconPath":"static/tabBar/tabBar_01.png", - "selectedIconPath":"static/tabBar/tabBar_show_01.png", + { + "iconPath": "static/tabBar/tabBar_01.png", + "selectedIconPath": "static/tabBar/tabBar_show_01.png", "pagePath": "pages/record/index", "text": "记录" }, - { - "iconPath":"static/tabBar/tabBar_02.png", - "selectedIconPath":"static/tabBar/tabBar_show_02.png", + { + "iconPath": "static/tabBar/tabBar_02.png", + "selectedIconPath": "static/tabBar/tabBar_show_02.png", "pagePath": "pages/store/index", "text": "商城" }, - { - "iconPath":"static/tabBar/tabBar_03.png", - "selectedIconPath":"static/tabBar/tabBar_show_03.png", + { + "iconPath": "static/tabBar/tabBar_03.png", + "selectedIconPath": "static/tabBar/tabBar_show_03.png", "pagePath": "pages/user/index", "text": "我的" } @@ -100,8 +144,8 @@ }, "globalStyle": { "navigationBarTextStyle": "black", - "navigationBarTitleText": "ZH健康", - "navigationBarBackgroundColor":"#F3F6FB", + "navigationBarTitleText": "ZH健康", + "navigationBarBackgroundColor": "#F3F6FB", "backgroundColorTop": "#F3F6FB", "backgroundColorBottom": "#F3F6FB" } diff --git a/pages/address/edit.vue b/pages/address/edit.vue new file mode 100644 index 0000000..fb5fb47 --- /dev/null +++ b/pages/address/edit.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/pages/address/index.vue b/pages/address/index.vue new file mode 100644 index 0000000..5a6c647 --- /dev/null +++ b/pages/address/index.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/pages/order/details.vue b/pages/order/details.vue new file mode 100644 index 0000000..8c3b35f --- /dev/null +++ b/pages/order/details.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/pages/order/index.vue b/pages/order/index.vue new file mode 100644 index 0000000..8c3b35f --- /dev/null +++ b/pages/order/index.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/pages/user/index.vue b/pages/user/index.vue index 8c3b35f..c91cc0f 100644 --- a/pages/user/index.vue +++ b/pages/user/index.vue @@ -1,6 +1,8 @@ @@ -10,10 +12,27 @@ return { }; + }, + mounted() { + console.log(this.$store.state) } } diff --git a/router/index.js b/router/index.js new file mode 100644 index 0000000..3fa9ec7 --- /dev/null +++ b/router/index.js @@ -0,0 +1,23 @@ +import { + RouterMount, + createRouter +} from 'uni-simple-router'; + +const router = createRouter({ + platform: process.env.VUE_APP_PLATFORM, + routes: [...ROUTES] +}); + +//全局路由前置守卫 +router.beforeEach((to, from, next) => { + next(); +}); +// 全局路由后置守卫 +router.afterEach((to, from) => { + console.log('跳转结束') +}) + +export { + router, + RouterMount +} diff --git a/store/index.js b/store/index.js new file mode 100644 index 0000000..4483f7e --- /dev/null +++ b/store/index.js @@ -0,0 +1,43 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +import Vue from 'vue' +import Vuex from 'vuex' + +Vue.use(Vuex) + +export default new Vuex.Store({ + state: { + token : uni.getStorageSync('token') || '', + code : uni.getStorageSync('wxCode') || '', + coupongoods : [] + }, + getters: { + getToken: state => { + return state.token + }, + getCoupongoods: state => { + return state.coupongoods + }, + getCode: state => { + return state.code + } + }, + mutations: { + setToken(state, tokenString) { + state.token = tokenString + uni.setStorageSync('token', tokenString) + }, + setCoupongoods(state, value) { + state.coupongoods = value + }, + setCode(state, value) { + state.code = value + uni.setStorageSync('wxCode', value) + } + } +}) diff --git a/unpackage/dist/dev/app-plus/app-config-service.js b/unpackage/dist/dev/app-plus/app-config-service.js index dcc6493..91f54f1 100644 --- a/unpackage/dist/dev/app-plus/app-config-service.js +++ b/unpackage/dist/dev/app-plus/app-config-service.js @@ -1,8 +1,8 @@ var isReady=false;var onReadyCallbacks=[]; var isServiceReady=false;var onServiceReadyCallbacks=[]; -var __uniConfig = {"pages":["pages/index/index","pages/record/index","pages/store/index","pages/user/index","pages/auth/auth","pages/store/goods","pages/store/buy"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"ZH健康","navigationBarBackgroundColor":"#F3F6FB","backgroundColorTop":"#F3F6FB","backgroundColorBottom":"#F3F6FB"},"tabBar":{"borderStyle":"white","selectedColor":"#34CE98","list":[{"iconPath":"static/tabBar/tabBar_00.png","selectedIconPath":"static/tabBar/tabBar_show_00.png","pagePath":"pages/index/index","text":"发现"},{"iconPath":"static/tabBar/tabBar_01.png","selectedIconPath":"static/tabBar/tabBar_show_01.png","pagePath":"pages/record/index","text":"记录"},{"iconPath":"static/tabBar/tabBar_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png","pagePath":"pages/store/index","text":"商城"},{"iconPath":"static/tabBar/tabBar_03.png","selectedIconPath":"static/tabBar/tabBar_show_03.png","pagePath":"pages/user/index","text":"我的"}]},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"健康监测","compilerVersion":"3.3.5","entryPagePath":"pages/store/buy","entryPageQuery":"","realEntryPagePath":"pages/index/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}}; -var __uniRoutes = [{"path":"/pages/index/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"发现","navigationStyle":"custom"}},{"path":"/pages/record/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"记录","navigationStyle":"custom"}},{"path":"/pages/store/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"健康生活","titleNView":{"backgroundColor":"#FFFFFF","titleSize":"16","buttons":[{"float":"left","text":"","fontSrc":"/static/iconfont.ttf","color":"#666","fontSize":"20px"},{"float":"right","text":"","fontSrc":"/static/iconfont.ttf","color":"#666","fontSize":"20px"}]}}},{"path":"/pages/user/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"我的","navigationStyle":"custom"}},{"path":"/pages/auth/auth","meta":{},"window":{"navigationBarTitleText":"登录","navigationStyle":"custom"}},{"path":"/pages/store/goods","meta":{},"window":{"navigationStyle":"custom","navigationBarTitleText":"详情","titleNView":{"backgroundColor":"#FFFFFF","type":"transparent"}}},{"path":"/pages/store/buy","meta":{},"window":{"navigationBarTitleText":"确认订单","enablePullDownRefresh":false}}]; +var __uniConfig = {"pages":["pages/index/index","pages/record/index","pages/store/index","pages/user/index","pages/auth/auth","pages/store/goods","pages/store/buy","pages/order/index","pages/order/details","pages/address/index","pages/address/edit"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"ZH健康","navigationBarBackgroundColor":"#F3F6FB","backgroundColorTop":"#F3F6FB","backgroundColorBottom":"#F3F6FB"},"tabBar":{"borderStyle":"white","selectedColor":"#34CE98","list":[{"iconPath":"static/tabBar/tabBar_00.png","selectedIconPath":"static/tabBar/tabBar_show_00.png","pagePath":"pages/index/index","text":"发现"},{"iconPath":"static/tabBar/tabBar_01.png","selectedIconPath":"static/tabBar/tabBar_show_01.png","pagePath":"pages/record/index","text":"记录"},{"iconPath":"static/tabBar/tabBar_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png","pagePath":"pages/store/index","text":"商城"},{"iconPath":"static/tabBar/tabBar_03.png","selectedIconPath":"static/tabBar/tabBar_show_03.png","pagePath":"pages/user/index","text":"我的"}]},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"健康监测","compilerVersion":"3.3.5","entryPagePath":"pages/index/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}}; +var __uniRoutes = [{"path":"/pages/index/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"发现","navigationStyle":"custom"}},{"path":"/pages/record/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"记录","navigationStyle":"custom"}},{"path":"/pages/store/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"健康生活","titleNView":{"backgroundColor":"#FFFFFF","titleSize":"16","buttons":[{"float":"left","text":"","fontSrc":"/static/iconfont.ttf","color":"#666","fontSize":"20px"},{"float":"right","text":"","fontSrc":"/static/iconfont.ttf","color":"#666","fontSize":"20px"}]}}},{"path":"/pages/user/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"我的","navigationStyle":"custom"}},{"path":"/pages/auth/auth","meta":{},"window":{"navigationBarTitleText":"登录"}},{"path":"/pages/store/goods","meta":{},"window":{"navigationStyle":"custom","navigationBarTitleText":"详情","titleNView":{"backgroundColor":"#FFFFFF","type":"transparent"}}},{"path":"/pages/store/buy","meta":{},"window":{"navigationBarTitleText":"确认订单","enablePullDownRefresh":false}},{"path":"/pages/order/index","meta":{},"window":{"navigationBarTitleText":"订单","enablePullDownRefresh":false}},{"path":"/pages/order/details","meta":{},"window":{"navigationBarTitleText":"订单详情","enablePullDownRefresh":false}},{"path":"/pages/address/index","meta":{},"window":{"navigationBarTitleText":"地址","titleNView":{"backgroundColor":"#FFFFFF","titleSize":"16","buttons":[{"float":"right","text":"新增","color":"#34CE98","fontSize":"14px"}]}}},{"path":"/pages/address/edit","meta":{},"window":{"navigationBarTitleText":"编辑","enablePullDownRefresh":false}}]; __uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); __uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}}); diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index 3c0ba87..c53efaf 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -7,7 +7,7 @@ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("__webpack_require__(/*! uni-pages */ 1);var _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 50));\n\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 53));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}\n_vue.default.config.productionTip = false;\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({},\n_App.default));\n\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50Il0sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBbUI7OztBQUduQixzRTtBQUNBQSxhQUFJQyxNQUFKLENBQVdDLGFBQVgsR0FBMkIsS0FBM0I7QUFDQUMsYUFBSUMsTUFBSixHQUFhLEtBQWI7QUFDQSxJQUFNQyxHQUFHLEdBQUcsSUFBSUwsWUFBSjtBQUNMRyxZQURLLEVBQVo7O0FBR0FFLEdBQUcsQ0FBQ0MsTUFBSiIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd1bmktcGFnZXMnO2ltcG9ydCBBcHAgZnJvbSAnLi9BcHAnXG5cblxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5WdWUuY29uZmlnLnByb2R1Y3Rpb25UaXAgPSBmYWxzZVxuQXBwLm1wVHlwZSA9ICdhcHAnXG5jb25zdCBhcHAgPSBuZXcgVnVlKHtcbiAgICAuLi5BcHBcbn0pXG5hcHAuJG1vdW50KClcblxuXG5cblxuXG5cblxuXG5cblxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n"); +eval("__webpack_require__(/*! uni-pages */ 1);var _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 70));\n\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 73));\nvar _store = _interopRequireDefault(__webpack_require__(/*! ./store */ 74));\nvar _router = __webpack_require__(/*! router */ 77);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}\n_vue.default.use(_router.router);\n_vue.default.config.productionTip = false;\n_vue.default.prototype.$store = _store.default;\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({},\n_App.default));\n\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJ1c2UiLCJyb3V0ZXIiLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwicHJvdG90eXBlIiwiJHN0b3JlIiwic3RvcmUiLCJBcHAiLCJtcFR5cGUiLCJhcHAiLCIkbW91bnQiXSwibWFwcGluZ3MiOiJBQUFBLHdDQUFtQjs7O0FBR25CO0FBQ0E7QUFDQSxvRDtBQUNBQSxhQUFJQyxHQUFKLENBQVFDLGNBQVI7QUFDQUYsYUFBSUcsTUFBSixDQUFXQyxhQUFYLEdBQTJCLEtBQTNCO0FBQ0FKLGFBQUlLLFNBQUosQ0FBY0MsTUFBZCxHQUF1QkMsY0FBdkI7QUFDQUMsYUFBSUMsTUFBSixHQUFhLEtBQWI7QUFDQSxJQUFNQyxHQUFHLEdBQUcsSUFBSVYsWUFBSjtBQUNMUSxZQURLLEVBQVo7O0FBR0FFLEdBQUcsQ0FBQ0MsTUFBSiIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd1bmktcGFnZXMnO2ltcG9ydCBBcHAgZnJvbSAnLi9BcHAnXG5cblxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgc3RvcmUgZnJvbSAnLi9zdG9yZSdcbmltcG9ydCB7cm91dGVyLCBSb3V0ZXJNb3VudH0gZnJvbSAncm91dGVyJ1xuVnVlLnVzZShyb3V0ZXIpXG5WdWUuY29uZmlnLnByb2R1Y3Rpb25UaXAgPSBmYWxzZVxuVnVlLnByb3RvdHlwZS4kc3RvcmUgPSBzdG9yZVxuQXBwLm1wVHlwZSA9ICdhcHAnXG5jb25zdCBhcHAgPSBuZXcgVnVlKHtcbiAgICAuLi5BcHBcbn0pXG5hcHAuJG1vdW50KClcblxuXG5cblxuXG5cblxuXG5cblxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n"); /***/ }), /* 1 */ @@ -40,6 +40,10 @@ __definePage('pages/user/index', function () {return Vue.extend(__webpack_requir __definePage('pages/auth/auth', function () {return Vue.extend(__webpack_require__(/*! pages/auth/auth.vue?mpType=page */ 35).default);}); __definePage('pages/store/goods', function () {return Vue.extend(__webpack_require__(/*! pages/store/goods.vue?mpType=page */ 40).default);}); __definePage('pages/store/buy', function () {return Vue.extend(__webpack_require__(/*! pages/store/buy.vue?mpType=page */ 45).default);}); +__definePage('pages/order/index', function () {return Vue.extend(__webpack_require__(/*! pages/order/index.vue?mpType=page */ 50).default);}); +__definePage('pages/order/details', function () {return Vue.extend(__webpack_require__(/*! pages/order/details.vue?mpType=page */ 55).default);}); +__definePage('pages/address/index', function () {return Vue.extend(__webpack_require__(/*! pages/address/index.vue?mpType=page */ 60).default);}); +__definePage('pages/address/edit', function () {return Vue.extend(__webpack_require__(/*! pages/address/edit.vue?mpType=page */ 65).default);}); /***/ }), /* 2 */ @@ -556,7 +560,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n title: 'Hello' };\n\n },\n onLoad: function onLoad() {\n\n },\n methods: {} };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJ0aXRsZSIsIm9uTG9hZCIsIm1ldGhvZHMiXSwibWFwcGluZ3MiOiJ3RkFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWU7QUFDZEEsTUFEYyxrQkFDUDtBQUNOLFdBQU87QUFDTkMsV0FBSyxFQUFFLE9BREQsRUFBUDs7QUFHQSxHQUxhO0FBTWRDLFFBTmMsb0JBTUw7O0FBRVIsR0FSYTtBQVNkQyxTQUFPLEVBQUUsRUFUSyxFIiwiZmlsZSI6IjEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHRpdGxlOiAnSGVsbG8nXG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQoKSB7XG5cblx0fSxcblx0bWV0aG9kczoge1xuXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n"); +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n title: 'Hello' };\n\n },\n onLoad: function onLoad() {\n\n },\n methods: {} };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0RUE7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxvQkFEQTs7QUFHQSxHQUxBO0FBTUEsUUFOQSxvQkFNQTs7QUFFQSxHQVJBO0FBU0EsYUFUQSxFIiwiZmlsZSI6IjEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiY29udGVudFwiPlxuXHRcdDx2aWV3IGNsYXNzPVwic3RhdHVzXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1cy1tYWluXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaGVsbG9lXCI+XG5cdFx0XHRcdFx05qyi6L+O5L2/55SoWkjlgaXlurdcblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnNcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMtaXRlbVwiPlxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2ljb24vc2lnbi1pY29uLnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucy1pdGVtIHNob3dcIj5cblx0XHRcdFx0XHRcdDx1bmktaWNvbnMgY3VzdG9tLXByZWZpeD1cImljb25mb250XCIgdHlwZT1cImljb24tcGluZ2x1blwiIHNpemU9XCIyNVwiPjwvdW5pLWljb25zPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8IS0tIOaQnOe0oiAtLT5cblx0XHQ8dmlldyBjbGFzcz1cInNlYXJjaFwiPlxuXHRcdFx0PG5hdmlnYXRvciBjbGFzcz1cInNlYXJjaC1uYXZcIiB1cmw9XCJcIj5cblx0XHRcdFx0PHVuaS1pY29ucyBjbGFzcz1cInNlYXJjaC1pY29uXCIgY3VzdG9tLXByZWZpeD1cImljb25mb250XCIgdHlwZT1cImljb24tc291c3VvXCIgY29sb3I9XCIjMzRDRTk4XCIgc2l6ZT1cIjIwXCI+PC91bmktaWNvbnM+XG5cdFx0XHRcdOS9juiEgum4oeiDuOiCiVxuXHRcdFx0PC9uYXZpZ2F0b3I+XG5cdFx0PC92aWV3PlxuXHRcdDwhLS0g5o6S6KGM5qacIC0tPlxuXHRcdDx2aWV3IGNsYXNzPVwiaW1nLWNhcmRcIj5cblx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9kZXYvaW1nLTAxLnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0PC92aWV3PlxuXHRcdDwhLS0g57K+6YCJ5o6o6I2QIC0tPlxuXHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJuZXctYm94XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlXCI+57K+6YCJ5o6o6I2QPC92aWV3PlxuXHRcdDwvdmlldz4gLS0+XG5cdFx0PCEtLSDor53popjlub/lnLogLS0+XG5cdFx0PHZpZXcgY2xhc3M9XCJuZXctYm94XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlXCI+6K+d6aKY5bm/5Zy6PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctaXRlbVwiPlxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJuZXctY292ZXJcIiBzcmM9XCJodHRwOi8vdXAuYm9vaGVlLmNuL2hvdXNlL3UvbWJvb2hlZS9pbWcvb3RoZXJzLzcuMi5qcGdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRpdGxlXCI+5Z2a5oyB5YGa55Gc5Ly95Y+v5Lul5YeP6IKl5ZCXPC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10b29sXCI+XG5cdFx0XHRcdFx0PHRleHQ+6ZiF6K+7MTAwPC90ZXh0PlxuXHRcdFx0XHRcdDx0ZXh0Pui1njEwMDwvdGV4dD5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctaXRlbVwiPlxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJuZXctY292ZXJcIiBzcmM9XCJodHRwOi8vdXAuYm9vaGVlLmNuL2hvdXNlL3UvbWJvb2hlZS9pbWcvb3RoZXJzL3l1bmRvbmcxLmpwZ1wiIG1vZGU9XCJhc3BlY3RGaWxsXCI+PC9pbWFnZT5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGl0bGVcIj7mnInmsqHmnInlh4/ogqXnp5jor4Av5YeP6IKl5YGP5pa5L+WHj+iCpeeqjemXqDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdG9vbFwiPlxuXHRcdFx0XHRcdDx0ZXh0PumYheivuzEwMDwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dD7otZ4xMDA8L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LWl0ZW1cIj5cblx0XHRcdFx0PGltYWdlIGNsYXNzPVwibmV3LWNvdmVyXCIgc3JjPVwiaHR0cDovL3VwLmJvb2hlZS5jbi9ob3VzZS91L21ib29oZWUvaW1nL290aGVycy95dW5kb25nMi5qcGdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRpdGxlXCI+5Y+q6ZyAMuaLm+i/hemAn+WPmOWHuuWwj+ibruiFsDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdG9vbFwiPlxuXHRcdFx0XHRcdDx0ZXh0PumYheivuzEwMDwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dD7otZ4xMDA8L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LWl0ZW1cIj5cblx0XHRcdFx0PGltYWdlIGNsYXNzPVwibmV3LWNvdmVyXCIgc3JjPVwiaHR0cDovL3VwLmJvb2hlZS5jbi9ob3VzZS91L21ib29oZWUvaW1nL290aGVycy9qaWFuLmpwZ1wiIG1vZGU9XCJhc3BlY3RGaWxsXCI+PC9pbWFnZT5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGl0bGVcIj7mnInmlYjmlrnkvr/nmoTlh4/ogqXmlrnms5XmnInlk6rkups8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRvb2xcIj5cblx0XHRcdFx0XHQ8dGV4dD7pmIXor7sxMDA8L3RleHQ+XG5cdFx0XHRcdFx0PHRleHQ+6LWeMTAwPC90ZXh0PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDwhLS0gWkjlgaXlurcgLS0+XG5cdFx0PHZpZXcgY2xhc3M9XCJpbWctY2FyZFwiPlxuXHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2Rldi9pbWctMDAucG5nXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHQ8L3ZpZXc+XG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHR0aXRsZTogJ0hlbGxvJ1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5cdC5jb250ZW50e1xuXHRcdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXN0YXR1cy1iYXItaGVpZ2h0KSArIDEwMHJweCk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxyXG5cdC5zdGF0dXN7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHotaW5kZXg6IDk5O1xuXHRcdGhlaWdodDogMTAwcnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdEBleHRlbmQgLmlvcy10b3A7XG5cdFx0LnN0YXR1cy1tYWlue1xuXHRcdFx0cGFkZGluZzogMCAkcGFkZGluZztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LmhlbGxvZXtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEwMHJweDtcblx0XHRcdFx0Zm9udC1zaXplOiAkdGl0bGUtc2l6ZSArIDEwO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdH1cblx0XHRcdC5idG5ze1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogJG1hcmdpbjtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0LmJ0bnMtaXRlbXtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRtYXJnaW47XG5cdFx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0XHR3aWR0aDogNDZycHg7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLnNob3c6OmJlZm9yZXtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwcnB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwcnB4O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkdGV4dC1wcmljZTtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC8vIOaQnOe0olxuXHQuc2VhcmNoe1xuXHRcdHBhZGRpbmc6IDAgJHBhZGRpbmc7XG5cdFx0LnNlYXJjaC1uYXZ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2luZG93LWNvbG9yO1xuXHRcdFx0aGVpZ2h0OiA4MHJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA4MHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDQwcnB4O1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWdyYXk7XG5cdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLWxnO1xuXHRcdFx0cGFkZGluZzogMCAkcGFkZGluZztcblx0XHRcdC5zZWFyY2gtaWNvbntcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAkbWFyZ2luLzI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQvLyDor53popjlub/lnLpcblx0Lm5ldy1ib3h7XG5cdFx0bWFyZ2luOiAkbWFyZ2luO1xuXHRcdC50aXRsZXtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Zm9udC1zaXplOiAkdGl0bGUtc2l6ZSArIDQ7XG5cdFx0fVxuXHRcdC5uZXctaXRlbXtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi10b3A6ICRtYXJnaW4gLSAxMDtcblx0XHRcdGJhY2tncm91bmQ6ICNmNWZkZmE7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXHRcdFx0cGFkZGluZzogJHBhZGRpbmcgKCRwYWRkaW5nKjIgKyAyMDBycHgpICRwYWRkaW5nICRwYWRkaW5nO1xuXHRcdFx0Lm5ldy1jb3Zlcntcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogJHBhZGRpbmc7XG5cdFx0XHRcdHRvcDogJHBhZGRpbmc7XG5cdFx0XHRcdHdpZHRoOiAyMDBycHg7XG5cdFx0XHRcdGhlaWdodDogMTUwcnB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXHRcdFx0fVxuXHRcdFx0Lm5ldy10aXRsZXtcblx0XHRcdFx0Zm9udC1zaXplOiAkdGl0bGUtc2l6ZTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQ1cnB4O1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxMDBycHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHQubmV3LXRvb2x7XG5cdFx0XHRcdGNvbG9yOiAkdGV4dC1ncmF5O1xuXHRcdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLXNtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XG5cdFx0XHRcdHRleHR7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAkbWFyZ2luLzI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC8vIOWNoeeJh1xuXHQuaW1nLWNhcmR7XG5cdFx0bWFyZ2luOiAkbWFyZ2luO1xuXHRcdGltYWdle1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cztcblx0XHR9XG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n"); /***/ }), /* 14 */ @@ -645,7 +649,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvcmVjb3JkL2luZGV4LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIl0sIm1hcHBpbmdzIjoid0ZBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFZTtBQUNkQSxNQURjLGtCQUNQO0FBQ04sV0FBTyxFQUFQOzs7QUFHQSxHQUxhLEUiLCJmaWxlIjoiMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcblx0XHR9O1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///18\n"); +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvcmVjb3JkL2luZGV4LnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkE7QUFDQSxNQURBLGtCQUNBO0FBQ0E7OztBQUdBLEdBTEEsRSIsImZpbGUiOiIxOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJcIj5cblx0XHRcdOWBpeW6t+aho+ahiOWfuuacrOS/oeaBr++8iOWnk+WQje+8jOW5tOm+hO+8jOaAp+WIq++8iVxuXHRcdDwvdmlldz5cblx0XHQ8dmlldyBjbGFzcz1cIlwiPlxuXHRcdFx05L2T6YeNXG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiXCI+XG5cdFx0XHTllp3msLRcblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJcIj5cblx0XHRcdOW/g+eOh1xuXHRcdDwvdmlldz5cblx0XHQ8dmlldyBjbGFzcz1cIlwiPlxuXHRcdFx06KGA5Y6LXG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiXCI+XG5cdFx0XHTooYDns5Zcblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJcIj5cblx0XHRcdOihgOiEglxuXHRcdDwvdmlldz5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGRhdGEoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcblx0XHRcdH07XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XG5cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///18\n"); /***/ }), /* 19 */ @@ -1036,7 +1040,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n swiperCount: 0,\n newGood: [\n {\n cover: \"https://yanxuan-item.nosdn.127.net/0aabfb9974965f4983fcc71344022dc7.png\",\n name: \"蜂蜜山楂条\",\n description: \"酸甜软糯,松脆不粘牙\",\n price: {\n price_min: 13 } },\n\n {\n cover: \"https://yanxuan-item.nosdn.127.net/1b9003483b0c429403477cad336aa9d7.png\",\n name: \"卤汁牛肉\",\n description: \"松软蛋糕,浓醇奶香\",\n price: {\n price_min: 39 } },\n\n {\n cover: \"https://yanxuan-item.nosdn.127.net/ca123e1f1fac9af57df06a14d91e6417.png\",\n name: \"东北开口松子\",\n description: \"醇正松香,壳薄肉厚\",\n price: {\n price_min: 42.8 } },\n\n {\n cover: \"https://yanxuan-item.nosdn.127.net/b2aac81d1116fb3e4d2a747896064bdd.png\",\n name: \"蓝莓果干\",\n description: \"苹果汁浸泡,无蔗糖添加\",\n price: {\n price_min: 19 } }],\n\n\n\n goodsArr: [\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/6d48e6ea51a06b1356ccda21497fdb14.png\",\n name: \"茅台王子酒 金王子 53度 500毫升\",\n description: \"酱香突出,优雅细腻\",\n price: {\n price_min: 275 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/87357968bc1d8d8334557148d15296da.png\",\n name: \"飞天53%vol 500ml贵州茅台酒(带杯)\",\n description: \"茅台飘香,正品溯源\",\n price: {\n price_min: 1499 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/57a95961e03552e8583d670431d68b92.png\",\n name: \"赖茅酒 传承蓝 53度 500毫升*6瓶\",\n description: \"传统酱香典范\",\n price: {\n price_min: 2928 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/e83ebcf07e511c3ef24e2f2845ad0a28.jpg\",\n name: \"开盖即食,冰糖银耳莲子羹 280克*9杯\",\n description: \"开盖即食,清甜软糯\",\n price: {\n price_min: 50 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/5a7e0c73b731f5c18941697dc7e1b522.jpg\",\n name: \"奶油鸡蛋卷 150克(5袋)\",\n description: \"香浓蛋味 入口即化\",\n price: {\n price_min: 13.9 } },\n\n {\n goods_id: \"\",\n cover: \"https://balenciaga.dam.kering.com/m/611d17da66cdafac/Large-6801252104T1169_D.jpg\",\n name: \"Hacker graffiti medium tote bag in canvas jacquard\",\n description: \"Coming soon\",\n price: {\n price_min: 13.9 } }] };\n\n\n\n\n },\n methods: {\n onGoods: function onGoods(val) {\n __f__(\"log\", val, \" at pages/store/index.vue:146\");\n uni.navigateTo({\n url: \"./goods\" });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 29)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc3RvcmUvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJzd2lwZXJDb3VudCIsIm5ld0dvb2QiLCJjb3ZlciIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsInByaWNlIiwicHJpY2VfbWluIiwiZ29vZHNBcnIiLCJnb29kc19pZCIsIm1ldGhvZHMiLCJvbkdvb2RzIiwidmFsIiwidW5pIiwibmF2aWdhdGVUbyIsInVybCJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFZTtBQUNkQSxNQURjLGtCQUNQO0FBQ04sV0FBTztBQUNOQyxpQkFBVyxFQUFFLENBRFA7QUFFTkMsYUFBTyxFQUFHO0FBQ1Q7QUFDQ0MsYUFBSyxFQUFJLHlFQURWO0FBRUNDLFlBQUksRUFBSSxPQUZUO0FBR0NDLG1CQUFXLEVBQUcsWUFIZjtBQUlDQyxhQUFLLEVBQUk7QUFDUkMsbUJBQVMsRUFBRSxFQURILEVBSlYsRUFEUzs7QUFRUDtBQUNESixhQUFLLEVBQUkseUVBRFI7QUFFREMsWUFBSSxFQUFJLE1BRlA7QUFHREMsbUJBQVcsRUFBRyxXQUhiO0FBSURDLGFBQUssRUFBSTtBQUNSQyxtQkFBUyxFQUFFLEVBREgsRUFKUixFQVJPOztBQWVQO0FBQ0RKLGFBQUssRUFBSSx5RUFEUjtBQUVEQyxZQUFJLEVBQUksUUFGUDtBQUdEQyxtQkFBVyxFQUFHLFdBSGI7QUFJREMsYUFBSyxFQUFJO0FBQ1JDLG1CQUFTLEVBQUUsSUFESCxFQUpSLEVBZk87O0FBc0JQO0FBQ0RKLGFBQUssRUFBSSx5RUFEUjtBQUVEQyxZQUFJLEVBQUksTUFGUDtBQUdEQyxtQkFBVyxFQUFHLGFBSGI7QUFJREMsYUFBSyxFQUFJO0FBQ1JDLG1CQUFTLEVBQUUsRUFESCxFQUpSLEVBdEJPLENBRko7Ozs7QUFpQ05DLGNBQVEsRUFBRTtBQUNUO0FBQ0NDLGdCQUFRLEVBQUcsRUFEWjtBQUVDTixhQUFLLEVBQUkseUVBRlY7QUFHQ0MsWUFBSSxFQUFJLHFCQUhUO0FBSUNDLG1CQUFXLEVBQUcsV0FKZjtBQUtDQyxhQUFLLEVBQUk7QUFDUkMsbUJBQVMsRUFBRSxHQURILEVBTFYsRUFEUzs7QUFTUDtBQUNERSxnQkFBUSxFQUFHLEVBRFY7QUFFRE4sYUFBSyxFQUFJLHlFQUZSO0FBR0RDLFlBQUksRUFBSSx5QkFIUDtBQUlEQyxtQkFBVyxFQUFHLFdBSmI7QUFLREMsYUFBSyxFQUFJO0FBQ1JDLG1CQUFTLEVBQUUsSUFESCxFQUxSLEVBVE87O0FBaUJQO0FBQ0RFLGdCQUFRLEVBQUcsRUFEVjtBQUVETixhQUFLLEVBQUkseUVBRlI7QUFHREMsWUFBSSxFQUFJLHNCQUhQO0FBSURDLG1CQUFXLEVBQUcsUUFKYjtBQUtEQyxhQUFLLEVBQUk7QUFDUkMsbUJBQVMsRUFBRSxJQURILEVBTFIsRUFqQk87O0FBeUJQO0FBQ0RFLGdCQUFRLEVBQUcsRUFEVjtBQUVETixhQUFLLEVBQUkseUVBRlI7QUFHREMsWUFBSSxFQUFJLHNCQUhQO0FBSURDLG1CQUFXLEVBQUcsV0FKYjtBQUtEQyxhQUFLLEVBQUk7QUFDUkMsbUJBQVMsRUFBRSxFQURILEVBTFIsRUF6Qk87O0FBaUNQO0FBQ0RFLGdCQUFRLEVBQUcsRUFEVjtBQUVETixhQUFLLEVBQUkseUVBRlI7QUFHREMsWUFBSSxFQUFJLGdCQUhQO0FBSURDLG1CQUFXLEVBQUcsV0FKYjtBQUtEQyxhQUFLLEVBQUk7QUFDUkMsbUJBQVMsRUFBRSxJQURILEVBTFIsRUFqQ087O0FBeUNQO0FBQ0RFLGdCQUFRLEVBQUcsRUFEVjtBQUVETixhQUFLLEVBQUksa0ZBRlI7QUFHREMsWUFBSSxFQUFJLG9EQUhQO0FBSURDLG1CQUFXLEVBQUcsYUFKYjtBQUtEQyxhQUFLLEVBQUk7QUFDUkMsbUJBQVMsRUFBRSxJQURILEVBTFIsRUF6Q08sQ0FqQ0osRUFBUDs7Ozs7QUFxRkEsR0F2RmE7QUF3RmRHLFNBQU8sRUFBQztBQUNQQyxXQURPLG1CQUNDQyxHQURELEVBQ0s7QUFDWCxtQkFBWUEsR0FBWjtBQUNBQyxTQUFHLENBQUNDLFVBQUosQ0FBZTtBQUNkQyxXQUFHLEVBQUUsU0FEUyxFQUFmOztBQUdBLEtBTk0sRUF4Rk0sRSIsImZpbGUiOiIyOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRzd2lwZXJDb3VudDogMCxcblx0XHRcdG5ld0dvb2QgOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRjb3Zlclx0XHQ6IFwiaHR0cHM6Ly95YW54dWFuLWl0ZW0ubm9zZG4uMTI3Lm5ldC8wYWFiZmI5OTc0OTY1ZjQ5ODNmY2M3MTM0NDAyMmRjNy5wbmdcIixcblx0XHRcdFx0XHRuYW1lXHRcdDogXCLonILonJzlsbHmpYLmnaFcIixcblx0XHRcdFx0XHRkZXNjcmlwdGlvblx0OiBcIumFuOeUnOi9r+ezr++8jOadvuiEhuS4jeeymOeJmVwiLFxuXHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0cHJpY2VfbWluOiAxM1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSx7XG5cdFx0XHRcdFx0Y292ZXJcdFx0OiBcImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMWI5MDAzNDgzYjBjNDI5NDAzNDc3Y2FkMzM2YWE5ZDcucG5nXCIsXG5cdFx0XHRcdFx0bmFtZVx0XHQ6IFwi5Y2k5rGB54mb6IKJXCIsXG5cdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCLmnb7ova/om4vns5XvvIzmtZPphoflpbbppplcIixcblx0XHRcdFx0XHRwcmljZVx0XHQ6IHtcblx0XHRcdFx0XHRcdHByaWNlX21pbjogMzlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0se1xuXHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0L2NhMTIzZTFmMWZhYzlhZjU3ZGYwNmExNGQ5MWU2NDE3LnBuZ1wiLFxuXHRcdFx0XHRcdG5hbWVcdFx0OiBcIuS4nOWMl+W8gOWPo+advuWtkFwiLFxuXHRcdFx0XHRcdGRlc2NyaXB0aW9uXHQ6IFwi6YaH5q2j5p2+6aaZ77yM5aOz6JaE6IKJ5Y6aXCIsXG5cdFx0XHRcdFx0cHJpY2VcdFx0OiB7XG5cdFx0XHRcdFx0XHRwcmljZV9taW46IDQyLjhcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0se1xuXHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0L2IyYWFjODFkMTExNmZiM2U0ZDJhNzQ3ODk2MDY0YmRkLnBuZ1wiLFxuXHRcdFx0XHRcdG5hbWVcdFx0OiBcIuiTneiOk+aenOW5slwiLFxuXHRcdFx0XHRcdGRlc2NyaXB0aW9uXHQ6IFwi6Iu55p6c5rGB5rW45rOh77yM5peg6JSX57OW5re75YqgXCIsXG5cdFx0XHRcdFx0cHJpY2VcdFx0OiB7XG5cdFx0XHRcdFx0XHRwcmljZV9taW46IDE5XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0Z29vZHNBcnI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGdvb2RzX2lkXHQ6IFwiXCIsXG5cdFx0XHRcdFx0Y292ZXJcdFx0OiBcImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvNmQ0OGU2ZWE1MWEwNmIxMzU2Y2NkYTIxNDk3ZmRiMTQucG5nXCIsXG5cdFx0XHRcdFx0bmFtZVx0XHQ6IFwi6IyF5Y+w546L5a2Q6YWSIOmHkeeOi+WtkCA1M+W6piA1MDDmr6vljYdcIixcblx0XHRcdFx0XHRkZXNjcmlwdGlvblx0OiBcIumFsemmmeeqgeWHuu+8jOS8mOmbhee7huiFu1wiLFxuXHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0cHJpY2VfbWluOiAyNzVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0se1xuXHRcdFx0XHRcdGdvb2RzX2lkXHQ6IFwiXCIsXG5cdFx0XHRcdFx0Y292ZXJcdFx0OiBcImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvODczNTc5NjhiYzFkOGQ4MzM0NTU3MTQ4ZDE1Mjk2ZGEucG5nXCIsXG5cdFx0XHRcdFx0bmFtZVx0XHQ6IFwi6aOe5aSpNTMldm9sIDUwMG1s6LS15bee6IyF5Y+w6YWS77yI5bim5p2v77yJXCIsXG5cdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCLojIXlj7Dpo5jpppnvvIzmraPlk4Hmuq/mupBcIixcblx0XHRcdFx0XHRwcmljZVx0XHQ6IHtcblx0XHRcdFx0XHRcdHByaWNlX21pbjogMTQ5OVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSx7XG5cdFx0XHRcdFx0Z29vZHNfaWRcdDogXCJcIixcblx0XHRcdFx0XHRjb3Zlclx0XHQ6IFwiaHR0cHM6Ly95YW54dWFuLWl0ZW0ubm9zZG4uMTI3Lm5ldC81N2E5NTk2MWUwMzU1MmU4NTgzZDY3MDQzMWQ2OGI5Mi5wbmdcIixcblx0XHRcdFx0XHRuYW1lXHRcdDogXCLotZbojIXphZIg5Lyg5om/6JOdIDUz5bqmIDUwMOavq+WNhyo255O2XCIsXG5cdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCLkvKDnu5/phbHpppnlhbjojINcIixcblx0XHRcdFx0XHRwcmljZVx0XHQ6IHtcblx0XHRcdFx0XHRcdHByaWNlX21pbjogMjkyOFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSx7XG5cdFx0XHRcdFx0Z29vZHNfaWRcdDogXCJcIixcblx0XHRcdFx0XHRjb3Zlclx0XHQ6IFwiaHR0cHM6Ly95YW54dWFuLWl0ZW0ubm9zZG4uMTI3Lm5ldC9lODNlYmNmMDdlNTExYzNlZjI0ZTJmMjg0NWFkMGEyOC5qcGdcIixcblx0XHRcdFx0XHRuYW1lXHRcdDogXCLlvIDnm5bljbPpo5/vvIzlhrDns5bpk7bogLPojrLlrZDnvrkgMjgw5YWLKjnmna9cIixcblx0XHRcdFx0XHRkZXNjcmlwdGlvblx0OiBcIuW8gOebluWNs+mjn++8jOa4heeUnOi9r+ezr1wiLFxuXHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0cHJpY2VfbWluOiA1MFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSx7XG5cdFx0XHRcdFx0Z29vZHNfaWRcdDogXCJcIixcblx0XHRcdFx0XHRjb3Zlclx0XHQ6IFwiaHR0cHM6Ly95YW54dWFuLWl0ZW0ubm9zZG4uMTI3Lm5ldC81YTdlMGM3M2I3MzFmNWMxODk0MTY5N2RjN2UxYjUyMi5qcGdcIixcblx0XHRcdFx0XHRuYW1lXHRcdDogXCLlpbbmsrnpuKHom4vljbcgMTUw5YWL77yINeiii++8iVwiLFxuXHRcdFx0XHRcdGRlc2NyaXB0aW9uXHQ6IFwi6aaZ5rWT6JuL5ZGzIOWFpeWPo+WNs+WMllwiLFxuXHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0cHJpY2VfbWluOiAxMy45XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LHtcblx0XHRcdFx0XHRnb29kc19pZFx0OiBcIlwiLFxuXHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL2JhbGVuY2lhZ2EuZGFtLmtlcmluZy5jb20vbS82MTFkMTdkYTY2Y2RhZmFjL0xhcmdlLTY4MDEyNTIxMDRUMTE2OV9ELmpwZ1wiLFxuXHRcdFx0XHRcdG5hbWVcdFx0OiBcIkhhY2tlciBncmFmZml0aSBtZWRpdW0gdG90ZSBiYWcgaW4gY2FudmFzIGphY3F1YXJkXCIsXG5cdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCJDb21pbmcgc29vblwiLFxuXHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0cHJpY2VfbWluOiAxMy45XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fTtcblx0fSxcblx0bWV0aG9kczp7XG5cdFx0b25Hb29kcyh2YWwpe1xuXHRcdFx0Y29uc29sZS5sb2codmFsKVxuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6IFwiLi9nb29kc1wiXG5cdFx0XHR9KVxuXHRcdH1cblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///28\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n swiperCount: 0,\n newGood: [\n {\n cover: \"https://yanxuan-item.nosdn.127.net/0aabfb9974965f4983fcc71344022dc7.png\",\n name: \"蜂蜜山楂条\",\n description: \"酸甜软糯,松脆不粘牙\",\n price: {\n price_min: 13 } },\n\n {\n cover: \"https://yanxuan-item.nosdn.127.net/1b9003483b0c429403477cad336aa9d7.png\",\n name: \"卤汁牛肉\",\n description: \"松软蛋糕,浓醇奶香\",\n price: {\n price_min: 39 } },\n\n {\n cover: \"https://yanxuan-item.nosdn.127.net/ca123e1f1fac9af57df06a14d91e6417.png\",\n name: \"东北开口松子\",\n description: \"醇正松香,壳薄肉厚\",\n price: {\n price_min: 42.8 } },\n\n {\n cover: \"https://yanxuan-item.nosdn.127.net/b2aac81d1116fb3e4d2a747896064bdd.png\",\n name: \"蓝莓果干\",\n description: \"苹果汁浸泡,无蔗糖添加\",\n price: {\n price_min: 19 } }],\n\n\n\n goodsArr: [\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/6d48e6ea51a06b1356ccda21497fdb14.png\",\n name: \"茅台王子酒 金王子 53度 500毫升\",\n description: \"酱香突出,优雅细腻\",\n price: {\n price_min: 275 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/87357968bc1d8d8334557148d15296da.png\",\n name: \"飞天53%vol 500ml贵州茅台酒(带杯)\",\n description: \"茅台飘香,正品溯源\",\n price: {\n price_min: 1499 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/57a95961e03552e8583d670431d68b92.png\",\n name: \"赖茅酒 传承蓝 53度 500毫升*6瓶\",\n description: \"传统酱香典范\",\n price: {\n price_min: 2928 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/e83ebcf07e511c3ef24e2f2845ad0a28.jpg\",\n name: \"开盖即食,冰糖银耳莲子羹 280克*9杯\",\n description: \"开盖即食,清甜软糯\",\n price: {\n price_min: 50 } },\n\n {\n goods_id: \"\",\n cover: \"https://yanxuan-item.nosdn.127.net/5a7e0c73b731f5c18941697dc7e1b522.jpg\",\n name: \"奶油鸡蛋卷 150克(5袋)\",\n description: \"香浓蛋味 入口即化\",\n price: {\n price_min: 13.9 } },\n\n {\n goods_id: \"\",\n cover: \"https://balenciaga.dam.kering.com/m/611d17da66cdafac/Large-6801252104T1169_D.jpg\",\n name: \"Hacker graffiti medium tote bag in canvas jacquard\",\n description: \"Coming soon\",\n price: {\n price_min: 13.9 } }] };\n\n\n\n\n },\n methods: {\n onGoods: function onGoods(val) {\n __f__(\"log\", val, \" at pages/store/index.vue:146\");\n uni.navigateTo({\n url: \"./goods\" });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 29)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc3RvcmUvaW5kZXgudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1REE7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxvQkFEQTtBQUVBO0FBQ0E7QUFDQSx3RkFEQTtBQUVBLHFCQUZBO0FBR0EsaUNBSEE7QUFJQTtBQUNBLHVCQURBLEVBSkEsRUFEQTs7QUFRQTtBQUNBLHdGQURBO0FBRUEsb0JBRkE7QUFHQSxnQ0FIQTtBQUlBO0FBQ0EsdUJBREEsRUFKQSxFQVJBOztBQWVBO0FBQ0Esd0ZBREE7QUFFQSxzQkFGQTtBQUdBLGdDQUhBO0FBSUE7QUFDQSx5QkFEQSxFQUpBLEVBZkE7O0FBc0JBO0FBQ0Esd0ZBREE7QUFFQSxvQkFGQTtBQUdBLGtDQUhBO0FBSUE7QUFDQSx1QkFEQSxFQUpBLEVBdEJBLENBRkE7Ozs7QUFpQ0E7QUFDQTtBQUNBLG9CQURBO0FBRUEsd0ZBRkE7QUFHQSxtQ0FIQTtBQUlBLGdDQUpBO0FBS0E7QUFDQSx3QkFEQSxFQUxBLEVBREE7O0FBU0E7QUFDQSxvQkFEQTtBQUVBLHdGQUZBO0FBR0EsdUNBSEE7QUFJQSxnQ0FKQTtBQUtBO0FBQ0EseUJBREEsRUFMQSxFQVRBOztBQWlCQTtBQUNBLG9CQURBO0FBRUEsd0ZBRkE7QUFHQSxvQ0FIQTtBQUlBLDZCQUpBO0FBS0E7QUFDQSx5QkFEQSxFQUxBLEVBakJBOztBQXlCQTtBQUNBLG9CQURBO0FBRUEsd0ZBRkE7QUFHQSxvQ0FIQTtBQUlBLGdDQUpBO0FBS0E7QUFDQSx1QkFEQSxFQUxBLEVBekJBOztBQWlDQTtBQUNBLG9CQURBO0FBRUEsd0ZBRkE7QUFHQSw4QkFIQTtBQUlBLGdDQUpBO0FBS0E7QUFDQSx5QkFEQSxFQUxBLEVBakNBOztBQXlDQTtBQUNBLG9CQURBO0FBRUEsaUdBRkE7QUFHQSxrRUFIQTtBQUlBLGtDQUpBO0FBS0E7QUFDQSx5QkFEQSxFQUxBLEVBekNBLENBakNBOzs7OztBQXFGQSxHQXZGQTtBQXdGQTtBQUNBLFdBREEsbUJBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQURBOztBQUdBLEtBTkEsRUF4RkEsRSIsImZpbGUiOiIyOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXcgY2xhc3M9XCJjb250ZW50XCI+XG5cdFx0PCEtLSBzd2lwZXIgLS0+XG5cdFx0PHZpZXcgY2xhc3M9XCJzd2lwZXJcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwic3dpcGVyLWJveFwiPlxuXHRcdFx0XHQ8c3dpcGVyIGF1dG9wbGF5IEBjaGFuZ2U9XCJzd2lwZXJDb3VudCA9ICRldmVudC5kZXRhaWwuY3VycmVudFwiPlxuXHRcdFx0XHRcdDxzd2lwZXItaXRlbT5cblx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwczovL3lhbnh1YW4ubm9zZG4uMTI3Lm5ldC9zdGF0aWMtdW5pb24vMTYzOTcxMTcwNzY1MzgyYi5qcGdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PC9zd2lwZXItaXRlbT5cblx0XHRcdFx0XHQ8c3dpcGVyLWl0ZW0+XG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cHM6Ly95YW54dWFuLm5vc2RuLjEyNy5uZXQvOTQ4MjQwZWMxN2FjY2JiOGJiMjE4NGJkZTliNjJlOGYuanBnXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDwvc3dpcGVyLWl0ZW0+XG5cdFx0XHRcdDwvc3dpcGVyPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1wYWdlc1wiPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGFnZXMtaXRlbVwiIDpjbGFzcz1cInsnc2hvdyc6c3dpcGVyQ291bnQgPT09IDB9XCI+PC90ZXh0PlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGFnZXMtaXRlbVwiIDpjbGFzcz1cInsnc2hvdyc6c3dpcGVyQ291bnQgPT09IDF9XCI+PC90ZXh0PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDwhLS0g5YGl5bq35Lqn5ZOB5YiG57G7IC0tPlxuXHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+77yIaWNvbu+8iTEw5pak5oyR5oiYPC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj7vvIhpY29u77yJ5o6n5Y2h5Li76aOfPC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj7vvIhpY29u77yJ6L275Y2h5bCP6aOfPC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj7vvIhpY29u77yJ6IKg6IOD5ZG15oqkPC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj7vvIhpY29u77yJ54eD5Yqb5Zeo5ZCDPC92aWV3PlxuXHRcdDwvdmlldz4gLS0+XG5cdFx0PCEtLSDmr4/ml6XkuIrmlrAgLS0+XG5cdFx0PHZpZXcgY2xhc3M9XCJuZXctYm94XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlXCI+5LiK5paw57K+6YCJPC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuZXdzXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3cy1pdGVtXCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIG5ld0dvb2RcIiA6a2V5PVwiaW5kZXhcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ld3MtY292ZXJcIj5cblx0XHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwiaXRlbS5jb3ZlclwiIG1vZGU9XCJhc3BlY3RGaWxsXCI+PC9pbWFnZT5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXdzLXRpdGxlIG5vd3JhcFwiPnt7aXRlbS5uYW1lfX08L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXdzLXByaWNlIG5vd3JhcFwiPu+/pXt7aXRlbS5wcmljZS5wcmljZV9taW59fTwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8IS0tIOWNoeeJh+WMuiAtLT5cblx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIlwiPu+8iOWNoeeJh++8ieWunei0neeIseWQgzwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+77yI5Y2h54mH77yJ6L275Y2h5bCP6aOfPC92aWV3PlxuXHRcdDwvdmlldz4gLS0+XG5cdFx0PCEtLSBnb29kcyAtLT5cblx0XHQ8b2N0LWdvb2RzXG5cdFx0XHQ6bGlzdHM9XCJnb29kc0FyclwiXG5cdFx0XHRjb2xvcj1cIiNlNjU3NmJcIlxuXHRcdFx0QG9uR29vZHM9XCJvbkdvb2RzXCJcblx0XHQvPlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHN3aXBlckNvdW50OiAwLFxuXHRcdFx0XHRuZXdHb29kIDogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0LzBhYWJmYjk5NzQ5NjVmNDk4M2ZjYzcxMzQ0MDIyZGM3LnBuZ1wiLFxuXHRcdFx0XHRcdFx0bmFtZVx0XHQ6IFwi6JyC6Jyc5bGx5qWC5p2hXCIsXG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvblx0OiBcIumFuOeUnOi9r+ezr++8jOadvuiEhuS4jeeymOeJmVwiLFxuXHRcdFx0XHRcdFx0cHJpY2VcdFx0OiB7XG5cdFx0XHRcdFx0XHRcdHByaWNlX21pbjogMTNcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LHtcblx0XHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0LzFiOTAwMzQ4M2IwYzQyOTQwMzQ3N2NhZDMzNmFhOWQ3LnBuZ1wiLFxuXHRcdFx0XHRcdFx0bmFtZVx0XHQ6IFwi5Y2k5rGB54mb6IKJXCIsXG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvblx0OiBcIuadvui9r+ibi+ezle+8jOa1k+mGh+WltummmVwiLFxuXHRcdFx0XHRcdFx0cHJpY2VcdFx0OiB7XG5cdFx0XHRcdFx0XHRcdHByaWNlX21pbjogMzlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LHtcblx0XHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0L2NhMTIzZTFmMWZhYzlhZjU3ZGYwNmExNGQ5MWU2NDE3LnBuZ1wiLFxuXHRcdFx0XHRcdFx0bmFtZVx0XHQ6IFwi5Lic5YyX5byA5Y+j5p2+5a2QXCIsXG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvblx0OiBcIumGh+ato+advummme+8jOWjs+iWhOiCieWOmlwiLFxuXHRcdFx0XHRcdFx0cHJpY2VcdFx0OiB7XG5cdFx0XHRcdFx0XHRcdHByaWNlX21pbjogNDIuOFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0se1xuXHRcdFx0XHRcdFx0Y292ZXJcdFx0OiBcImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvYjJhYWM4MWQxMTE2ZmIzZTRkMmE3NDc4OTYwNjRiZGQucG5nXCIsXG5cdFx0XHRcdFx0XHRuYW1lXHRcdDogXCLok53ojpPmnpzlubJcIixcblx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uXHQ6IFwi6Iu55p6c5rGB5rW45rOh77yM5peg6JSX57OW5re75YqgXCIsXG5cdFx0XHRcdFx0XHRwcmljZVx0XHQ6IHtcblx0XHRcdFx0XHRcdFx0cHJpY2VfbWluOiAxOVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XSxcblx0XHRcdFx0Z29vZHNBcnI6IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRnb29kc19pZFx0OiBcIlwiLFxuXHRcdFx0XHRcdFx0Y292ZXJcdFx0OiBcImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvNmQ0OGU2ZWE1MWEwNmIxMzU2Y2NkYTIxNDk3ZmRiMTQucG5nXCIsXG5cdFx0XHRcdFx0XHRuYW1lXHRcdDogXCLojIXlj7DnjovlrZDphZIg6YeR546L5a2QIDUz5bqmIDUwMOavq+WNh1wiLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCLphbHpppnnqoHlh7rvvIzkvJjpm4Xnu4bohbtcIixcblx0XHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0XHRwcmljZV9taW46IDI3NVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0se1xuXHRcdFx0XHRcdFx0Z29vZHNfaWRcdDogXCJcIixcblx0XHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0Lzg3MzU3OTY4YmMxZDhkODMzNDU1NzE0OGQxNTI5NmRhLnBuZ1wiLFxuXHRcdFx0XHRcdFx0bmFtZVx0XHQ6IFwi6aOe5aSpNTMldm9sIDUwMG1s6LS15bee6IyF5Y+w6YWS77yI5bim5p2v77yJXCIsXG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvblx0OiBcIuiMheWPsOmjmOmmme+8jOato+WTgea6r+a6kFwiLFxuXHRcdFx0XHRcdFx0cHJpY2VcdFx0OiB7XG5cdFx0XHRcdFx0XHRcdHByaWNlX21pbjogMTQ5OVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0se1xuXHRcdFx0XHRcdFx0Z29vZHNfaWRcdDogXCJcIixcblx0XHRcdFx0XHRcdGNvdmVyXHRcdDogXCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0LzU3YTk1OTYxZTAzNTUyZTg1ODNkNjcwNDMxZDY4YjkyLnBuZ1wiLFxuXHRcdFx0XHRcdFx0bmFtZVx0XHQ6IFwi6LWW6IyF6YWSIOS8oOaJv+iTnSA1M+W6piA1MDDmr6vljYcqNueTtlwiLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCLkvKDnu5/phbHpppnlhbjojINcIixcblx0XHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0XHRwcmljZV9taW46IDI5Mjhcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LHtcblx0XHRcdFx0XHRcdGdvb2RzX2lkXHQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRjb3Zlclx0XHQ6IFwiaHR0cHM6Ly95YW54dWFuLWl0ZW0ubm9zZG4uMTI3Lm5ldC9lODNlYmNmMDdlNTExYzNlZjI0ZTJmMjg0NWFkMGEyOC5qcGdcIixcblx0XHRcdFx0XHRcdG5hbWVcdFx0OiBcIuW8gOebluWNs+mjn++8jOWGsOezlumTtuiAs+iOsuWtkOe+uSAyODDlhYsqOeadr1wiLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCLlvIDnm5bljbPpo5/vvIzmuIXnlJzova/ns69cIixcblx0XHRcdFx0XHRcdHByaWNlXHRcdDoge1xuXHRcdFx0XHRcdFx0XHRwcmljZV9taW46IDUwXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSx7XG5cdFx0XHRcdFx0XHRnb29kc19pZFx0OiBcIlwiLFxuXHRcdFx0XHRcdFx0Y292ZXJcdFx0OiBcImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvNWE3ZTBjNzNiNzMxZjVjMTg5NDE2OTdkYzdlMWI1MjIuanBnXCIsXG5cdFx0XHRcdFx0XHRuYW1lXHRcdDogXCLlpbbmsrnpuKHom4vljbcgMTUw5YWL77yINeiii++8iVwiLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCLpppnmtZPom4vlkbMg5YWl5Y+j5Y2z5YyWXCIsXG5cdFx0XHRcdFx0XHRwcmljZVx0XHQ6IHtcblx0XHRcdFx0XHRcdFx0cHJpY2VfbWluOiAxMy45XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSx7XG5cdFx0XHRcdFx0XHRnb29kc19pZFx0OiBcIlwiLFxuXHRcdFx0XHRcdFx0Y292ZXJcdFx0OiBcImh0dHBzOi8vYmFsZW5jaWFnYS5kYW0ua2VyaW5nLmNvbS9tLzYxMWQxN2RhNjZjZGFmYWMvTGFyZ2UtNjgwMTI1MjEwNFQxMTY5X0QuanBnXCIsXG5cdFx0XHRcdFx0XHRuYW1lXHRcdDogXCJIYWNrZXIgZ3JhZmZpdGkgbWVkaXVtIHRvdGUgYmFnIGluIGNhbnZhcyBqYWNxdWFyZFwiLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb25cdDogXCJDb21pbmcgc29vblwiLFxuXHRcdFx0XHRcdFx0cHJpY2VcdFx0OiB7XG5cdFx0XHRcdFx0XHRcdHByaWNlX21pbjogMTMuOVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XVxuXHRcdFx0fTtcblx0XHR9LFxuXHRcdG1ldGhvZHM6e1xuXHRcdFx0b25Hb29kcyh2YWwpe1xuXHRcdFx0XHRjb25zb2xlLmxvZyh2YWwpXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHR1cmw6IFwiLi9nb29kc1wiXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XG5cdC5jb250ZW50e1xuXHRcdGJhY2tncm91bmQ6ICR3aW5kb3ctY29sb3I7XG5cdH1cblx0Lm5ldy1ib3h7XG5cdFx0cGFkZGluZzogMCAkcGFkZGluZztcblx0XHQudGl0bGV7XG5cdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLWxnO1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXHRcdC5uZXdze1xuXHRcdFx0bWFyZ2luOiAkbWFyZ2luLzIgLTEwcnB4IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Lm5ld3MtaXRlbXtcblx0XHRcdFx0bWFyZ2luOiAwIDEwcnB4O1xuXHRcdFx0XHR3aWR0aDogY2FsYygyNSUgLSAyMHJweCk7XG5cdFx0XHRcdC5uZXdzLWNvdmVye1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTAwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5uZXdzLXRpdGxle1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6ICRtYXJnaW4vMjtcblx0XHRcdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLXNtO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtY29sb3I7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDQwcnB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5uZXdzLXByaWNle1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLXNtO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1wcmljZTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ly8gXG5cdC8vIFxuXHQvLyBcblx0Ly8gc3dpcGVyXG5cdC5zd2lwZXJ7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNGRkYsICNGM0Y2RkIpO1xuXHRcdHBhZGRpbmc6ICRwYWRkaW5nO1xuXHRcdC5zd2lwZXItYm94e1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy10b3A6IDQwJTtcblx0XHRcdHN3aXBlcixcblx0XHRcdGltYWdle1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHRcdGltYWdle1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuc3dpcGVyLXBhZ2Vze1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogOTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogJG1hcmdpbiAtIDEwO1xuXHRcdFx0aGVpZ2h0OiA3cnB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0LnBhZ2VzLWl0ZW17XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0aGVpZ2h0OiA3cnB4O1xuXHRcdFx0XHR3aWR0aDogMjVycHg7XG5cdFx0XHRcdG1hcmdpbjogMCA1cnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcjogI2ZmZiwgJGFscGhhOiAuNSk7XG5cdFx0XHRcdCYuc2hvd3tcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n"); /***/ }), /* 29 */ @@ -1183,7 +1187,36 @@ var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h - return _c("view") + return _c( + "view", + { staticClass: _vm._$s(0, "sc", "user-demo"), attrs: { _i: 0 } }, + [ + _c("view", { + attrs: { _i: 1 }, + on: { + click: function($event) { + return _vm.$Router.push({ name: "Address" }) + } + } + }), + _c("view", { + attrs: { _i: 2 }, + on: { + click: function($event) { + return _vm.$Router.push({ name: "Order" }) + } + } + }), + _c("view", { + attrs: { _i: 3 }, + on: { + click: function($event) { + return _vm.$Router.push({ name: "Auth" }) + } + } + }) + ] + ) } var recyclableRender = false var staticRenderFns = [] @@ -1211,7 +1244,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdXNlci9pbmRleC52dWUiXSwibmFtZXMiOlsiZGF0YSJdLCJtYXBwaW5ncyI6IndGQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFZTtBQUNkQSxNQURjLGtCQUNQO0FBQ04sV0FBTyxFQUFQOzs7QUFHQSxHQUxhLEUiLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XG5cdFx0fTtcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///34\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n },\n mounted: function mounted() {\n __f__(\"log\", this.$store.state, \" at pages/user/index.vue:17\");\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 29)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdXNlci9pbmRleC52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBU0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7OztBQUdBLEdBTEE7QUFNQSxTQU5BLHFCQU1BO0FBQ0E7QUFDQSxHQVJBLEUiLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwidXNlci1kZW1vXCI+XG5cdFx0PHZpZXcgQGNsaWNrPVwiJFJvdXRlci5wdXNoKHtuYW1lOiAnQWRkcmVzcyd9KVwiPuWcsOWdgOeuoeeQhjwvdmlldz5cblx0XHQ8dmlldyBAY2xpY2s9XCIkUm91dGVyLnB1c2goe25hbWU6ICdPcmRlcid9KVwiPuiuouWNleeuoeeQhjwvdmlldz5cblx0XHQ8dmlldyBAY2xpY2s9XCIkUm91dGVyLnB1c2goe25hbWU6ICdBdXRoJ30pXCI+55m75b2VPC92aWV3PlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFxuXHRcdFx0fTtcblx0XHR9LFxuXHRcdG1vdW50ZWQoKSB7XG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLiRzdG9yZS5zdGF0ZSlcblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cblx0LnVzZXItZGVtb3tcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdHZpZXd7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjMkM0MDVBO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0d2lkdGg6IDUwdnc7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRsaW5lLWhlaWdodDogOTBycHg7XG5cdFx0XHRtYXJnaW46ICRtYXJnaW4gMDtcblx0XHR9XG5cdH1cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///34\n"); /***/ }), /* 35 */ @@ -1292,7 +1325,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYXV0aC9hdXRoLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIl0sIm1hcHBpbmdzIjoid0ZBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2RBLE1BRGMsa0JBQ1A7QUFDTixXQUFPLEVBQVA7OztBQUdBLEdBTGEsRSIsImZpbGUiOiIzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcblx0XHR9O1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///39\n"); +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYXV0aC9hdXRoLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7OztBQUdBLEdBTEEsRSIsImZpbGUiOiIzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXc+XG5cdFx0XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxuXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///39\n"); /***/ }), /* 40 */ @@ -1488,7 +1521,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n current: 1 };\n\n },\n methods: {\n buy: function buy() {\n uni.navigateTo({\n url: \"./buy\" });\n\n } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc3RvcmUvZ29vZHMudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJjdXJyZW50IiwibWV0aG9kcyIsImJ1eSIsInVuaSIsIm5hdmlnYXRlVG8iLCJ1cmwiXSwibWFwcGluZ3MiOiJ3RkFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWU7QUFDZEEsTUFEYyxrQkFDUDtBQUNOLFdBQU87QUFDTkMsYUFBTyxFQUFFLENBREgsRUFBUDs7QUFHQSxHQUxhO0FBTWRDLFNBQU8sRUFBQztBQUNQQyxPQURPLGlCQUNGO0FBQ0pDLFNBQUcsQ0FBQ0MsVUFBSixDQUFlO0FBQ2RDLFdBQUcsRUFBRSxPQURTLEVBQWY7O0FBR0EsS0FMTSxFQU5NLEUiLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y3VycmVudDogMVxuXHRcdH07XG5cdH0sXG5cdG1ldGhvZHM6e1xuXHRcdGJ1eSgpe1xuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6IFwiLi9idXlcIlxuXHRcdFx0fSlcblx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n"); +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n current: 1 };\n\n },\n methods: {\n buy: function buy() {\n uni.navigateTo({\n url: \"./buy\" });\n\n } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc3RvcmUvZ29vZHMudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5RUE7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxnQkFEQTs7QUFHQSxHQUxBO0FBTUE7QUFDQSxPQURBLGlCQUNBO0FBQ0E7QUFDQSxvQkFEQTs7QUFHQSxLQUxBLEVBTkEsRSIsImZpbGUiOiI0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXc+XG5cdFx0PCEtLSDkuqflk4HlsIHpnaIgLS0+XG5cdFx0PHZpZXcgY2xhc3M9XCJnb29kcy1zd2lwZXJcIj5cblx0XHRcdDxzd2lwZXIgOmluZGljYXRvci1kb3RzPVwiZmFsc2VcIiBAY2hhbmdlPVwiY3VycmVudCA9ICRldmVudC5kZXRhaWwuY3VycmVudCArIDFcIj5cblx0XHRcdFx0PHN3aXBlci1pdGVtPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3dpcGVyLWNvdmVyXCI+XG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cHM6Ly95YW54dWFuLWl0ZW0ubm9zZG4uMTI3Lm5ldC9lYzU1NTBiZjQ1MGY2YzY1YTk2MTBhNGM4OTFlMjE3Yi5qcGdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiIC8+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3N3aXBlci1pdGVtPlxuXHRcdFx0XHQ8c3dpcGVyLWl0ZW0+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzd2lwZXItY292ZXJcIj5cblx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwczovL3lhbnh1YW4taXRlbS5ub3Nkbi4xMjcubmV0L2RjMjc4NjRiNzI3MDFlMzEyODZjYTJiZjZmN2JiMjQ1LmpwZ1wiIG1vZGU9XCJhc3BlY3RGaWxsXCIgLz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvc3dpcGVyLWl0ZW0+XG5cdFx0XHRcdDxzd2lwZXItaXRlbT5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1jb3ZlclwiPlxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvZDg5ZjFmMTNjMzZjMTc4ODQzZjNiZDQ2NzgzZjVhZDUuanBnXCIgbW9kZT1cImFzcGVjdEZpbGxcIiAvPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC9zd2lwZXItaXRlbT5cblx0XHRcdDwvc3dpcGVyPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzd2lwZXItcGFnZXNcIj5cblx0XHRcdFx0e3tjdXJyZW50fX0vM1xuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8IS0tIOivpuaDhSAtLT5cblx0XHQ8dmlldyBjbGFzcz1cIm1haW5cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGVcIj7lrabnlJ/lpbYgMy44Z+S5s+ibi+eZveWon+Wnl+e6r+eJm+WltiAyNTBtbCoxMOebkjwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwic3ViLXRpdGxlXCI+MSXoi7Hlm73nj43nqIDniZvnp43vvIzkvJjnuqflj6PmhJ/kuI7okKXlhbs8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cImJveC1mbGV4XCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicHJpY2VcIj5cblx0XHRcdFx0XHQ8dGV4dD7CpTwvdGV4dD41OS45XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzYWxlc1wiPumUgOmHjzJ3Kzwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJcIj5cblx0XHRcdFx05LyY5oOg5Yi4XG5cdFx0XHQ8L3ZpZXc+IC0tPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJoclwiPlxuXHRcdFx0XHQ8dGV4dD7or6bmg4U8L3RleHQ+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cImltZ3NcIj5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvZWI2ZWI2MmEyMTNjMWU3NmUwMzI2ZjVkNzdhNWU0MmIuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvOGUxMzJhMWQyYWJmYzRmZjMyZmFkMWNkMjc2YzM5MTkuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvNzQ4NTUzNzU1MmU2ODZjYTE2MDUwOWIwMDM2NmQ2NjkuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvNmZiNzdlZjYyMDRjNWU4ZjY5NWJmNTQzMzJjNzRkMjMuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMjdiNTNiZGIzZjMxMzFmZmZkNmU1MGM0MmRjMDQ2OGIuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvN2Q1NzkxNjZiOGRkNGUzMmQyM2JiOWIyN2EwMmQyZTIuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvY2UxMTgzMjhhMDYxYzMzMmJmZTRiNzc0ODUxOGIyZDMuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvYWU0Nzk0OGMyNzU5YWM5M2JhYmE3NWVlMDZkNjU3YmUuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvZjQ2Y2NkMzEzOWNiOWM4MGU1ODNhYjUyY2I4ZmIyOTYuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMGVlODQ3OGFlNzdmZDU2MWIzMGQxYTViMjEyNGZjZDguanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvYTg1NmZhMGMyMGZkNzk1YWFjN2U5ZTZhMTk2ZGI5MDEuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMjQ5MjZhMTlmNzIwZDhhOTQyYzQ0ZTIyOGUzYzZlYzkuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvYzFkYjlhOTk4YTY2NjQ2Y2U2NTlkYjU3YjhjMmVjNmUuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvYTg1ZTBiMzJlNTc5MGEyODdhOTUxNDZmNmZiMjY2ZWQuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMzhjMzM3Mjg3YWYxNmRjZTg1NjM0ZDg3MGNiM2RiNDEuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvNmU0YmRiZjZjMjk0NWYxYzhhM2Y2MjM0NGYyMDU2ZmUuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMjQ0NjA1OTFjZjA5MTc2Zjc3MDgyYTg2YThiMDNkYWUuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvODVkNTdlN2IzYzhlMWNkY2ZmNWExOWNlOGYwMWNlYWYuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMmViZTQzNDAxZDc5YTU5YzYzMGNlMDg2ODUyZjhkNjAuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMDI2Y2ZkNzMxN2E0MGVjMjk1MDE4MzQ2MWMwZTFlZTEuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHBzOi8veWFueHVhbi1pdGVtLm5vc2RuLjEyNy5uZXQvMzk3YmFkMGU1MWUxNGI2NDY2NGM4ZTM2NWFlYTMyNjYuanBnXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cdFx0PCEtLSDnq4vljbPotK3kubAgLS0+XG5cdFx0PHZpZXcgY2xhc3M9XCJmb290ZXJcIj5cblx0XHRcdDxidXR0b24gdHlwZT1cImRlZmF1bHRcIiBob3Zlci1jbGFzcz1cIm5vbmVcIiBAY2xpY2s9XCJidXlcIj7nq4vljbPotK3kubA8L2J1dHRvbj5cblx0XHQ8L3ZpZXc+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Y3VycmVudDogMVxuXHRcdFx0fTtcblx0XHR9LFxuXHRcdG1ldGhvZHM6e1xuXHRcdFx0YnV5KCl7XG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHR1cmw6IFwiLi9idXlcIlxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxuXHQuZ29vZHMtc3dpcGVye1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogMTEwJTtcblx0XHRiYWNrZ3JvdW5kOiAkd2luZG93LWNvbG9yO1xuXHRcdCY+IHN3aXBlcntcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdC5zd2lwZXItY292ZXJ7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGltYWdle1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnN3aXBlci1wYWdlc3tcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbToyMHJweDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IDk7XG5cdFx0XHRsaW5lLWhlaWdodDogOTBycHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLW07XG5cdFx0XHR0ZXh0LXNoYWRvdzogMCA1cnB4IDVycHggcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogLjAyKTtcblx0XHR9XG5cdH1cblx0Ly8g6K+m5oOFXG5cdC5tYWlue1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiA5O1xuXHRcdG1hcmdpbi10b3A6IC0yMHJweDtcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzICRyYWRpdXMgMCAwO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAxMHJweCAxMHJweCByZ2JhKCRjb2xvcjogIzAwMDAwMCwgJGFscGhhOiAuMDIpO1xuXHRcdHBhZGRpbmctYm90dG9tOiAoJHBhZGRpbmcqMikgKyA5MDtcblx0XHQuaHJ7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtaW4taGVpZ2h0OiAxcnB4O1xuXHRcdFx0bWFyZ2luOiAwICRtYXJnaW47XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR0ZXh0e1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdGNvbG9yOiAkdGV4dC1ncmF5O1xuXHRcdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLW07XG5cdFx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0XHRwYWRkaW5nOiAwICRwYWRkaW5nO1xuXHRcdFx0fVxuXHRcdFx0Jjo6YWZ0ZXJ7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYm9yZGVyLWNvbG9yO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxcnB4O1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudGl0bGV7XG5cdFx0XHRwYWRkaW5nOiAkcGFkZGluZztcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Zm9udC1zaXplOiAkdGl0bGUtc2l6ZSArIDE0O1xuXHRcdH1cblx0XHQuc3ViLXRpdGxle1xuXHRcdFx0cGFkZGluZzogMCAkcGFkZGluZztcblx0XHRcdGZvbnQtc2l6ZTogJHRpdGxlLXNpemUtbTtcblx0XHRcdGNvbG9yOiAkdGV4dC1ncmF5O1xuXHRcdH1cblx0XHQuYm94LWZsZXh7XG5cdFx0XHRwYWRkaW5nOiAkcGFkZGluZztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LnByaWNle1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0LXByaWNlO1xuXHRcdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplICsgMTA7XG5cdFx0XHRcdHRleHR7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA4MCU7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnNhbGVze1xuXHRcdFx0XHRmb250LXNpemU6ICR0aXRsZS1zaXplLW07XG5cdFx0XHRcdGNvbG9yOiAkdGV4dC1ncmF5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaW1nc3tcblx0XHRcdGltYWdle1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ly8g6LSt5LmwXG5cdC5mb290ZXJ7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHBhZGRpbmc6ICRwYWRkaW5nO1xuXHRcdHotaW5kZXg6IDk4O1xuXHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdC8vIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHdoaXRlIDg2JSwgcmdiYSgyNTUsMjU1LDI1NSwuMCkpXG5cdFx0YnV0dG9ue1xuXHRcdFx0YmFja2dyb3VuZDogJG1haW4tY29sb3I7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xuXHRcdFx0aGVpZ2h0OiA5MHJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA5MHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Zm9udC1zaXplOiAkdGl0bGUtc2l6ZTtcblx0XHRcdCY6OmFmdGVye1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n"); /***/ }), /* 45 */ @@ -1719,6 +1752,330 @@ eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.de /***/ }), /* 50 */ +/*!************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/order/index.vue?mpType=page ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=63eb3890&mpType=page */ 51);\n/* harmony import */ var _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js&mpType=page */ 53);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/order/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQzZNO0FBQzdNLGdCQUFnQixpTkFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02M2ViMzg5MCZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL29yZGVyL2luZGV4LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///50\n"); + +/***/ }), +/* 51 */ +/*!******************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/order/index.vue?vue&type=template&id=63eb3890&mpType=page ***! + \******************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=63eb3890&mpType=page */ 52); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_63eb3890_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 52 */ +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/order/index.vue?vue&type=template&id=63eb3890&mpType=page ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("view") +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 53 */ +/*!************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/order/index.vue?vue&type=script&lang=js&mpType=page ***! + \************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js&mpType=page */ 54);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW90QixDQUFnQixzdEJBQUcsRUFBQyIsImZpbGUiOiI1My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTYtMSEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///53\n"); + +/***/ }), +/* 54 */ +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/order/index.vue?vue&type=script&lang=js&mpType=page ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvb3JkZXIvaW5kZXgudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFPQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTs7O0FBR0EsR0FMQSxFIiwiZmlsZSI6IjU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8dmlldz5cblx0XHRcblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGRhdGEoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcblx0XHRcdH07XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XG5cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///54\n"); + +/***/ }), +/* 55 */ +/*!**************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/order/details.vue?mpType=page ***! + \**************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./details.vue?vue&type=template&id=7d8285a8&mpType=page */ 56);\n/* harmony import */ var _details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./details.vue?vue&type=script&lang=js&mpType=page */ 58);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/order/details.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0g7QUFDL0g7QUFDc0U7QUFDTDs7O0FBR2pFO0FBQzZNO0FBQzdNLGdCQUFnQixpTkFBVTtBQUMxQixFQUFFLHdGQUFNO0FBQ1IsRUFBRSw2RkFBTTtBQUNSLEVBQUUsc0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsaUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTdkODI4NWE4Jm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9kZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9kZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL29yZGVyL2RldGFpbHMudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///55\n"); + +/***/ }), +/* 56 */ +/*!********************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/order/details.vue?vue&type=template&id=7d8285a8&mpType=page ***! + \********************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./details.vue?vue&type=template&id=7d8285a8&mpType=page */ 57); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_template_id_7d8285a8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 57 */ +/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/order/details.vue?vue&type=template&id=7d8285a8&mpType=page ***! + \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("view") +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 58 */ +/*!**************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/order/details.vue?vue&type=script&lang=js&mpType=page ***! + \**************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./details.vue?vue&type=script&lang=js&mpType=page */ 59);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_details_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXN0QixDQUFnQix3dEJBQUcsRUFBQyIsImZpbGUiOiI1OC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///58\n"); + +/***/ }), +/* 59 */ +/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/order/details.vue?vue&type=script&lang=js&mpType=page ***! + \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvb3JkZXIvZGV0YWlscy52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU9BO0FBQ0EsTUFEQSxrQkFDQTtBQUNBOzs7QUFHQSxHQUxBLEUiLCJmaWxlIjoiNTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3PlxuXHRcdFxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFxuXHRcdFx0fTtcblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cblxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///59\n"); + +/***/ }), +/* 60 */ +/*!**************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/address/index.vue?mpType=page ***! + \**************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=7be5d7c4&mpType=page */ 61);\n/* harmony import */ var _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js&mpType=page */ 63);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/address/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQzZNO0FBQzdNLGdCQUFnQixpTkFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03YmU1ZDdjNCZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2FkZHJlc3MvaW5kZXgudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///60\n"); + +/***/ }), +/* 61 */ +/*!********************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/address/index.vue?vue&type=template&id=7be5d7c4&mpType=page ***! + \********************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=7be5d7c4&mpType=page */ 62); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_7be5d7c4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 62 */ +/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/address/index.vue?vue&type=template&id=7be5d7c4&mpType=page ***! + \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("view") +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 63 */ +/*!**************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/address/index.vue?vue&type=script&lang=js&mpType=page ***! + \**************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js&mpType=page */ 64);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW90QixDQUFnQixzdEJBQUcsRUFBQyIsImZpbGUiOiI2My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTYtMSEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///63\n"); + +/***/ }), +/* 64 */ +/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/address/index.vue?vue&type=script&lang=js&mpType=page ***! + \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYWRkcmVzcy9pbmRleC52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU9BO0FBQ0EsTUFEQSxrQkFDQTtBQUNBOzs7QUFHQSxHQUxBLEUiLCJmaWxlIjoiNjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3PlxuXHRcdOWcsOWdgOeuoeeQhlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFxuXHRcdFx0fTtcblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cblxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///64\n"); + +/***/ }), +/* 65 */ +/*!*************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/address/edit.vue?mpType=page ***! + \*************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./edit.vue?vue&type=template&id=5347f3e4&mpType=page */ 66);\n/* harmony import */ var _edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edit.vue?vue&type=script&lang=js&mpType=page */ 68);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/address/edit.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQzZNO0FBQzdNLGdCQUFnQixpTkFBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2VkaXQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUzNDdmM2U0Jm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9lZGl0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9lZGl0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2FkZHJlc3MvZWRpdC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///65\n"); + +/***/ }), +/* 66 */ +/*!*******************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/address/edit.vue?vue&type=template&id=5347f3e4&mpType=page ***! + \*******************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./edit.vue?vue&type=template&id=5347f3e4&mpType=page */ 67); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_template_id_5347f3e4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 67 */ +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/address/edit.vue?vue&type=template&id=5347f3e4&mpType=page ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("view") +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 68 */ +/*!*************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/address/edit.vue?vue&type=script&lang=js&mpType=page ***! + \*************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./edit.vue?vue&type=script&lang=js&mpType=page */ 69);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_edit_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW10QixDQUFnQixxdEJBQUcsRUFBQyIsImZpbGUiOiI2OC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2VkaXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2VkaXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///68\n"); + +/***/ }), +/* 69 */ +/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/pages/address/edit.vue?vue&type=script&lang=js&mpType=page ***! + \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYWRkcmVzcy9lZGl0LnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7OztBQUdBLEdBTEEsRSIsImZpbGUiOiI2OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXc+XG5cdFx057yW6L6R5Zyw5Z2AXG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxuXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///69\n"); + +/***/ }), +/* 70 */ /*!**********************************************!*\ !*** /Users/WebTmm/Desktop/ZhHealth/App.vue ***! \**********************************************/ @@ -1726,10 +2083,10 @@ eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.de /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 51);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);\nvar render, staticRenderFns, recyclableRender, components\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUN1RDtBQUNMOzs7QUFHbEQ7QUFDdU07QUFDdk0sZ0JBQWdCLGlOQUFVO0FBQzFCLEVBQUUseUVBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNlLGdGIiwiZmlsZSI6IjUwLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJBcHAudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///50\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 71);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 11);\nvar render, staticRenderFns, recyclableRender, components\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUN1RDtBQUNMOzs7QUFHbEQ7QUFDdU07QUFDdk0sZ0JBQWdCLGlOQUFVO0FBQzFCLEVBQUUseUVBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNlLGdGIiwiZmlsZSI6IjcwLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJBcHAudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///70\n"); /***/ }), -/* 51 */ +/* 71 */ /*!***********************************************************************!*\ !*** /Users/WebTmm/Desktop/ZhHealth/App.vue?vue&type=script&lang=js& ***! \***********************************************************************/ @@ -1737,10 +2094,10 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ 52);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStxQixDQUFnQix5c0JBQUcsRUFBQyIsImZpbGUiOiI1MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///51\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ 72);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStxQixDQUFnQix5c0JBQUcsRUFBQyIsImZpbGUiOiI3MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi0xIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///71\n"); /***/ }), -/* 52 */ +/* 72 */ /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!/Users/WebTmm/Desktop/ZhHealth/App.vue?vue&type=script&lang=js& ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ @@ -1748,10 +2105,10 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _default =\n{\n onLaunch: function onLaunch() {\n __f__(\"log\", 'App Launch', \" at App.vue:4\");\n },\n onShow: function onShow() {\n __f__(\"log\", 'App Show', \" at App.vue:7\");\n },\n onHide: function onHide() {\n __f__(\"log\", 'App Hide', \" at App.vue:10\");\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 29)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsIm9uU2hvdyIsIm9uSGlkZSJdLCJtYXBwaW5ncyI6IjtBQUNlO0FBQ2RBLFVBQVEsRUFBRSxvQkFBVztBQUNwQixpQkFBWSxZQUFaO0FBQ0EsR0FIYTtBQUlkQyxRQUFNLEVBQUUsa0JBQVc7QUFDbEIsaUJBQVksVUFBWjtBQUNBLEdBTmE7QUFPZEMsUUFBTSxFQUFFLGtCQUFXO0FBQ2xCLGlCQUFZLFVBQVo7QUFDQSxHQVRhLEUiLCJmaWxlIjoiNTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBkZWZhdWx0IHtcblx0b25MYXVuY2g6IGZ1bmN0aW9uKCkge1xuXHRcdGNvbnNvbGUubG9nKCdBcHAgTGF1bmNoJylcblx0fSxcblx0b25TaG93OiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIFNob3cnKVxuXHR9LFxuXHRvbkhpZGU6IGZ1bmN0aW9uKCkge1xuXHRcdGNvbnNvbGUubG9nKCdBcHAgSGlkZScpXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///52\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _default =\n{\n onLaunch: function onLaunch() {\n __f__(\"log\", 'App Launch', \" at App.vue:4\");\n },\n onShow: function onShow() {\n __f__(\"log\", 'App Show', \" at App.vue:7\");\n },\n onHide: function onHide() {\n __f__(\"log\", 'App Hide', \" at App.vue:10\");\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 29)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsIm9uU2hvdyIsIm9uSGlkZSJdLCJtYXBwaW5ncyI6IjtBQUNlO0FBQ2RBLFVBQVEsRUFBRSxvQkFBVztBQUNwQixpQkFBWSxZQUFaO0FBQ0EsR0FIYTtBQUlkQyxRQUFNLEVBQUUsa0JBQVc7QUFDbEIsaUJBQVksVUFBWjtBQUNBLEdBTmE7QUFPZEMsUUFBTSxFQUFFLGtCQUFXO0FBQ2xCLGlCQUFZLFVBQVo7QUFDQSxHQVRhLEUiLCJmaWxlIjoiNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBkZWZhdWx0IHtcblx0b25MYXVuY2g6IGZ1bmN0aW9uKCkge1xuXHRcdGNvbnNvbGUubG9nKCdBcHAgTGF1bmNoJylcblx0fSxcblx0b25TaG93OiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIFNob3cnKVxuXHR9LFxuXHRvbkhpZGU6IGZ1bmN0aW9uKCkge1xuXHRcdGNvbnNvbGUubG9nKCdBcHAgSGlkZScpXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///72\n"); /***/ }), -/* 53 */ +/* 73 */ /*!**********************!*\ !*** external "Vue" ***! \**********************/ @@ -1760,5 +2117,1324 @@ eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports module.exports = Vue; +/***/ }), +/* 74 */ +/*!*****************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/store/index.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 73));\nvar _vuex = _interopRequireDefault(__webpack_require__(/*! vuex */ 75));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} /**\n * Web唐明明\n * 匆匆数载恍如梦,岁月迢迢华发增。\n * 碌碌无为枉半生,一朝惊醒万事空。\n */_vue.default.use(_vuex.default);var _default = new _vuex.default.Store({\n state: {\n token: uni.getStorageSync('token') || '',\n code: uni.getStorageSync('wxCode') || '',\n coupongoods: [] },\n\n getters: {\n getToken: function getToken(state) {\n return state.token;\n },\n getCoupongoods: function getCoupongoods(state) {\n return state.coupongoods;\n },\n getCode: function getCode(state) {\n return state.code;\n } },\n\n mutations: {\n setToken: function setToken(state, tokenString) {\n state.token = tokenString;\n uni.setStorageSync('token', tokenString);\n },\n setCoupongoods: function setCoupongoods(state, value) {\n state.coupongoods = value;\n },\n setCode: function setCode(state, value) {\n state.code = value;\n uni.setStorageSync('wxCode', value);\n } } });exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RvcmUvaW5kZXguanMiXSwibmFtZXMiOlsiVnVlIiwidXNlIiwiVnVleCIsIlN0b3JlIiwic3RhdGUiLCJ0b2tlbiIsInVuaSIsImdldFN0b3JhZ2VTeW5jIiwiY29kZSIsImNvdXBvbmdvb2RzIiwiZ2V0dGVycyIsImdldFRva2VuIiwiZ2V0Q291cG9uZ29vZHMiLCJnZXRDb2RlIiwibXV0YXRpb25zIiwic2V0VG9rZW4iLCJ0b2tlblN0cmluZyIsInNldFN0b3JhZ2VTeW5jIiwic2V0Q291cG9uZ29vZHMiLCJ2YWx1ZSIsInNldENvZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFPQTtBQUNBLHdFLDhGQVBBOzs7O3FKQVNBQSxhQUFJQyxHQUFKLENBQVFDLGFBQVIsRSxlQUVlLElBQUlBLGNBQUtDLEtBQVQsQ0FBZTtBQUM3QkMsT0FBSyxFQUFFO0FBQ05DLFNBQUssRUFBS0MsR0FBRyxDQUFDQyxjQUFKLENBQW1CLE9BQW5CLEtBQStCLEVBRG5DO0FBRU5DLFFBQUksRUFBSUYsR0FBRyxDQUFDQyxjQUFKLENBQW1CLFFBQW5CLEtBQWdDLEVBRmxDO0FBR05FLGVBQVcsRUFBRyxFQUhSLEVBRHNCOztBQU03QkMsU0FBTyxFQUFFO0FBQ1JDLFlBQVEsRUFBRSxrQkFBQVAsS0FBSyxFQUFJO0FBQ2xCLGFBQU9BLEtBQUssQ0FBQ0MsS0FBYjtBQUNBLEtBSE87QUFJUk8sa0JBQWMsRUFBRSx3QkFBQVIsS0FBSyxFQUFJO0FBQ3hCLGFBQU9BLEtBQUssQ0FBQ0ssV0FBYjtBQUNBLEtBTk87QUFPUkksV0FBTyxFQUFFLGlCQUFBVCxLQUFLLEVBQUk7QUFDakIsYUFBT0EsS0FBSyxDQUFDSSxJQUFiO0FBQ0EsS0FUTyxFQU5vQjs7QUFpQjdCTSxXQUFTLEVBQUU7QUFDVkMsWUFEVSxvQkFDRFgsS0FEQyxFQUNNWSxXQUROLEVBQ21CO0FBQzVCWixXQUFLLENBQUNDLEtBQU4sR0FBY1csV0FBZDtBQUNBVixTQUFHLENBQUNXLGNBQUosQ0FBbUIsT0FBbkIsRUFBNEJELFdBQTVCO0FBQ0EsS0FKUztBQUtWRSxrQkFMVSwwQkFLS2QsS0FMTCxFQUtZZSxLQUxaLEVBS21CO0FBQzVCZixXQUFLLENBQUNLLFdBQU4sR0FBb0JVLEtBQXBCO0FBQ0EsS0FQUztBQVFWQyxXQVJVLG1CQVFGaEIsS0FSRSxFQVFLZSxLQVJMLEVBUVk7QUFDckJmLFdBQUssQ0FBQ0ksSUFBTixHQUFhVyxLQUFiO0FBQ0FiLFNBQUcsQ0FBQ1csY0FBSixDQUFtQixRQUFuQixFQUE2QkUsS0FBN0I7QUFDQSxLQVhTLEVBakJrQixFQUFmLEMiLCJmaWxlIjoiNzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogV2Vi5ZSQ5piO5piOXG4gKiDljIbljIbmlbDovb3mgY3lpoLmoqbvvIzlsoHmnIjov6Lov6LljY7lj5Hlop7jgIJcbiAqIOeijOeijOaXoOS4uuaeieWNiueUn++8jOS4gOacneaDiumGkuS4h+S6i+epuuOAglxuICovXG5cbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuaW1wb3J0IFZ1ZXggZnJvbSAndnVleCdcblxuVnVlLnVzZShWdWV4KVxuXG5leHBvcnQgZGVmYXVsdCBuZXcgVnVleC5TdG9yZSh7XG5cdHN0YXRlOiB7XG5cdFx0dG9rZW4gXHRcdDogdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpIHx8ICcnLFxuXHRcdGNvZGVcdFx0OiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3d4Q29kZScpIHx8ICcnLFxuXHRcdGNvdXBvbmdvb2RzXHQ6IFtdXG5cdH0sXG5cdGdldHRlcnM6IHtcblx0XHRnZXRUb2tlbjogc3RhdGUgPT4ge1xuXHRcdFx0cmV0dXJuIHN0YXRlLnRva2VuXG5cdFx0fSxcblx0XHRnZXRDb3Vwb25nb29kczogc3RhdGUgPT4ge1xuXHRcdFx0cmV0dXJuIHN0YXRlLmNvdXBvbmdvb2RzXG5cdFx0fSxcblx0XHRnZXRDb2RlOiBzdGF0ZSA9PiB7XG5cdFx0XHRyZXR1cm4gc3RhdGUuY29kZVxuXHRcdH1cblx0fSxcblx0bXV0YXRpb25zOiB7XG5cdFx0c2V0VG9rZW4oc3RhdGUsIHRva2VuU3RyaW5nKSB7XG5cdFx0XHRzdGF0ZS50b2tlbiA9IHRva2VuU3RyaW5nXG5cdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3Rva2VuJywgdG9rZW5TdHJpbmcpXG5cdFx0fSxcblx0XHRzZXRDb3Vwb25nb29kcyhzdGF0ZSwgdmFsdWUpIHtcblx0XHRcdHN0YXRlLmNvdXBvbmdvb2RzID0gdmFsdWVcblx0XHR9LFxuXHRcdHNldENvZGUoc3RhdGUsIHZhbHVlKSB7XG5cdFx0XHRzdGF0ZS5jb2RlID0gdmFsdWVcblx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnd3hDb2RlJywgdmFsdWUpXG5cdFx0fVxuXHR9XG59KVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///74\n"); + +/***/ }), +/* 75 */ +/*!**************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js ***! + \**************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ + + +function applyMixin (Vue) { + var version = Number(Vue.version.split('.')[0]); + + if (version >= 2) { + Vue.mixin({ beforeCreate: vuexInit }); + } else { + // override init and inject vuex init procedure + // for 1.x backwards compatibility. + var _init = Vue.prototype._init; + Vue.prototype._init = function (options) { + if ( options === void 0 ) options = {}; + + options.init = options.init + ? [vuexInit].concat(options.init) + : vuexInit; + _init.call(this, options); + }; + } + + /** + * Vuex init hook, injected into each instances init hooks list. + */ + + function vuexInit () { + var options = this.$options; + // store injection + if (options.store) { + this.$store = typeof options.store === 'function' + ? options.store() + : options.store; + } else if (options.parent && options.parent.$store) { + this.$store = options.parent.$store; + } + } +} + +var target = typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__; + +function devtoolPlugin (store) { + if (!devtoolHook) { return } + + store._devtoolHook = devtoolHook; + + devtoolHook.emit('vuex:init', store); + + devtoolHook.on('vuex:travel-to-state', function (targetState) { + store.replaceState(targetState); + }); + + store.subscribe(function (mutation, state) { + devtoolHook.emit('vuex:mutation', mutation, state); + }, { prepend: true }); + + store.subscribeAction(function (action, state) { + devtoolHook.emit('vuex:action', action, state); + }, { prepend: true }); +} + +/** + * Get the first item that pass the test + * by second argument function + * + * @param {Array} list + * @param {Function} f + * @return {*} + */ +function find (list, f) { + return list.filter(f)[0] +} + +/** + * Deep copy the given object considering circular structure. + * This function caches all nested objects and its copies. + * If it detects circular structure, use cached copy to avoid infinite loop. + * + * @param {*} obj + * @param {Array} cache + * @return {*} + */ +function deepCopy (obj, cache) { + if ( cache === void 0 ) cache = []; + + // just return if obj is immutable value + if (obj === null || typeof obj !== 'object') { + return obj + } + + // if obj is hit, it is in circular structure + var hit = find(cache, function (c) { return c.original === obj; }); + if (hit) { + return hit.copy + } + + var copy = Array.isArray(obj) ? [] : {}; + // put the copy into cache at first + // because we want to refer it in recursive deepCopy + cache.push({ + original: obj, + copy: copy + }); + + Object.keys(obj).forEach(function (key) { + copy[key] = deepCopy(obj[key], cache); + }); + + return copy +} + +/** + * forEach for object + */ +function forEachValue (obj, fn) { + Object.keys(obj).forEach(function (key) { return fn(obj[key], key); }); +} + +function isObject (obj) { + return obj !== null && typeof obj === 'object' +} + +function isPromise (val) { + return val && typeof val.then === 'function' +} + +function assert (condition, msg) { + if (!condition) { throw new Error(("[vuex] " + msg)) } +} + +function partial (fn, arg) { + return function () { + return fn(arg) + } +} + +// Base data struct for store's module, package with some attribute and method +var Module = function Module (rawModule, runtime) { + this.runtime = runtime; + // Store some children item + this._children = Object.create(null); + // Store the origin module object which passed by programmer + this._rawModule = rawModule; + var rawState = rawModule.state; + + // Store the origin module's state + this.state = (typeof rawState === 'function' ? rawState() : rawState) || {}; +}; + +var prototypeAccessors = { namespaced: { configurable: true } }; + +prototypeAccessors.namespaced.get = function () { + return !!this._rawModule.namespaced +}; + +Module.prototype.addChild = function addChild (key, module) { + this._children[key] = module; +}; + +Module.prototype.removeChild = function removeChild (key) { + delete this._children[key]; +}; + +Module.prototype.getChild = function getChild (key) { + return this._children[key] +}; + +Module.prototype.hasChild = function hasChild (key) { + return key in this._children +}; + +Module.prototype.update = function update (rawModule) { + this._rawModule.namespaced = rawModule.namespaced; + if (rawModule.actions) { + this._rawModule.actions = rawModule.actions; + } + if (rawModule.mutations) { + this._rawModule.mutations = rawModule.mutations; + } + if (rawModule.getters) { + this._rawModule.getters = rawModule.getters; + } +}; + +Module.prototype.forEachChild = function forEachChild (fn) { + forEachValue(this._children, fn); +}; + +Module.prototype.forEachGetter = function forEachGetter (fn) { + if (this._rawModule.getters) { + forEachValue(this._rawModule.getters, fn); + } +}; + +Module.prototype.forEachAction = function forEachAction (fn) { + if (this._rawModule.actions) { + forEachValue(this._rawModule.actions, fn); + } +}; + +Module.prototype.forEachMutation = function forEachMutation (fn) { + if (this._rawModule.mutations) { + forEachValue(this._rawModule.mutations, fn); + } +}; + +Object.defineProperties( Module.prototype, prototypeAccessors ); + +var ModuleCollection = function ModuleCollection (rawRootModule) { + // register root module (Vuex.Store options) + this.register([], rawRootModule, false); +}; + +ModuleCollection.prototype.get = function get (path) { + return path.reduce(function (module, key) { + return module.getChild(key) + }, this.root) +}; + +ModuleCollection.prototype.getNamespace = function getNamespace (path) { + var module = this.root; + return path.reduce(function (namespace, key) { + module = module.getChild(key); + return namespace + (module.namespaced ? key + '/' : '') + }, '') +}; + +ModuleCollection.prototype.update = function update$1 (rawRootModule) { + update([], this.root, rawRootModule); +}; + +ModuleCollection.prototype.register = function register (path, rawModule, runtime) { + var this$1 = this; + if ( runtime === void 0 ) runtime = true; + + if ((true)) { + assertRawModule(path, rawModule); + } + + var newModule = new Module(rawModule, runtime); + if (path.length === 0) { + this.root = newModule; + } else { + var parent = this.get(path.slice(0, -1)); + parent.addChild(path[path.length - 1], newModule); + } + + // register nested modules + if (rawModule.modules) { + forEachValue(rawModule.modules, function (rawChildModule, key) { + this$1.register(path.concat(key), rawChildModule, runtime); + }); + } +}; + +ModuleCollection.prototype.unregister = function unregister (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + var child = parent.getChild(key); + + if (!child) { + if ((true)) { + console.warn( + "[vuex] trying to unregister module '" + key + "', which is " + + "not registered" + ); + } + return + } + + if (!child.runtime) { + return + } + + parent.removeChild(key); +}; + +ModuleCollection.prototype.isRegistered = function isRegistered (path) { + var parent = this.get(path.slice(0, -1)); + var key = path[path.length - 1]; + + if (parent) { + return parent.hasChild(key) + } + + return false +}; + +function update (path, targetModule, newModule) { + if ((true)) { + assertRawModule(path, newModule); + } + + // update target module + targetModule.update(newModule); + + // update nested modules + if (newModule.modules) { + for (var key in newModule.modules) { + if (!targetModule.getChild(key)) { + if ((true)) { + console.warn( + "[vuex] trying to add a new module '" + key + "' on hot reloading, " + + 'manual reload is needed' + ); + } + return + } + update( + path.concat(key), + targetModule.getChild(key), + newModule.modules[key] + ); + } + } +} + +var functionAssert = { + assert: function (value) { return typeof value === 'function'; }, + expected: 'function' +}; + +var objectAssert = { + assert: function (value) { return typeof value === 'function' || + (typeof value === 'object' && typeof value.handler === 'function'); }, + expected: 'function or object with "handler" function' +}; + +var assertTypes = { + getters: functionAssert, + mutations: functionAssert, + actions: objectAssert +}; + +function assertRawModule (path, rawModule) { + Object.keys(assertTypes).forEach(function (key) { + if (!rawModule[key]) { return } + + var assertOptions = assertTypes[key]; + + forEachValue(rawModule[key], function (value, type) { + assert( + assertOptions.assert(value), + makeAssertionMessage(path, key, type, value, assertOptions.expected) + ); + }); + }); +} + +function makeAssertionMessage (path, key, type, value, expected) { + var buf = key + " should be " + expected + " but \"" + key + "." + type + "\""; + if (path.length > 0) { + buf += " in module \"" + (path.join('.')) + "\""; + } + buf += " is " + (JSON.stringify(value)) + "."; + return buf +} + +var Vue; // bind on install + +var Store = function Store (options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + // Auto install if it is not done yet and `window` has `Vue`. + // To allow users to avoid auto-installation in some cases, + // this code should be placed here. See #731 + if (!Vue && typeof window !== 'undefined' && window.Vue) { + install(window.Vue); + } + + if ((true)) { + assert(Vue, "must call Vue.use(Vuex) before creating a store instance."); + assert(typeof Promise !== 'undefined', "vuex requires a Promise polyfill in this browser."); + assert(this instanceof Store, "store must be called with the new operator."); + } + + var plugins = options.plugins; if ( plugins === void 0 ) plugins = []; + var strict = options.strict; if ( strict === void 0 ) strict = false; + + // store internal state + this._committing = false; + this._actions = Object.create(null); + this._actionSubscribers = []; + this._mutations = Object.create(null); + this._wrappedGetters = Object.create(null); + this._modules = new ModuleCollection(options); + this._modulesNamespaceMap = Object.create(null); + this._subscribers = []; + this._watcherVM = new Vue(); + this._makeLocalGettersCache = Object.create(null); + + // bind commit and dispatch to self + var store = this; + var ref = this; + var dispatch = ref.dispatch; + var commit = ref.commit; + this.dispatch = function boundDispatch (type, payload) { + return dispatch.call(store, type, payload) + }; + this.commit = function boundCommit (type, payload, options) { + return commit.call(store, type, payload, options) + }; + + // strict mode + this.strict = strict; + + var state = this._modules.root.state; + + // init root module. + // this also recursively registers all sub-modules + // and collects all module getters inside this._wrappedGetters + installModule(this, state, [], this._modules.root); + + // initialize the store vm, which is responsible for the reactivity + // (also registers _wrappedGetters as computed properties) + resetStoreVM(this, state); + + // apply plugins + plugins.forEach(function (plugin) { return plugin(this$1); }); + + var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools; + if (useDevtools) { + devtoolPlugin(this); + } +}; + +var prototypeAccessors$1 = { state: { configurable: true } }; + +prototypeAccessors$1.state.get = function () { + return this._vm._data.$$state +}; + +prototypeAccessors$1.state.set = function (v) { + if ((true)) { + assert(false, "use store.replaceState() to explicit replace store state."); + } +}; + +Store.prototype.commit = function commit (_type, _payload, _options) { + var this$1 = this; + + // check object-style commit + var ref = unifyObjectStyle(_type, _payload, _options); + var type = ref.type; + var payload = ref.payload; + var options = ref.options; + + var mutation = { type: type, payload: payload }; + var entry = this._mutations[type]; + if (!entry) { + if ((true)) { + console.error(("[vuex] unknown mutation type: " + type)); + } + return + } + this._withCommit(function () { + entry.forEach(function commitIterator (handler) { + handler(payload); + }); + }); + + this._subscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .forEach(function (sub) { return sub(mutation, this$1.state); }); + + if ( + ( true) && + options && options.silent + ) { + console.warn( + "[vuex] mutation type: " + type + ". Silent option has been removed. " + + 'Use the filter functionality in the vue-devtools' + ); + } +}; + +Store.prototype.dispatch = function dispatch (_type, _payload) { + var this$1 = this; + + // check object-style dispatch + var ref = unifyObjectStyle(_type, _payload); + var type = ref.type; + var payload = ref.payload; + + var action = { type: type, payload: payload }; + var entry = this._actions[type]; + if (!entry) { + if ((true)) { + console.error(("[vuex] unknown action type: " + type)); + } + return + } + + try { + this._actionSubscribers + .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe + .filter(function (sub) { return sub.before; }) + .forEach(function (sub) { return sub.before(action, this$1.state); }); + } catch (e) { + if ((true)) { + console.warn("[vuex] error in before action subscribers: "); + console.error(e); + } + } + + var result = entry.length > 1 + ? Promise.all(entry.map(function (handler) { return handler(payload); })) + : entry[0](payload); + + return new Promise(function (resolve, reject) { + result.then(function (res) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.after; }) + .forEach(function (sub) { return sub.after(action, this$1.state); }); + } catch (e) { + if ((true)) { + console.warn("[vuex] error in after action subscribers: "); + console.error(e); + } + } + resolve(res); + }, function (error) { + try { + this$1._actionSubscribers + .filter(function (sub) { return sub.error; }) + .forEach(function (sub) { return sub.error(action, this$1.state, error); }); + } catch (e) { + if ((true)) { + console.warn("[vuex] error in error action subscribers: "); + console.error(e); + } + } + reject(error); + }); + }) +}; + +Store.prototype.subscribe = function subscribe (fn, options) { + return genericSubscribe(fn, this._subscribers, options) +}; + +Store.prototype.subscribeAction = function subscribeAction (fn, options) { + var subs = typeof fn === 'function' ? { before: fn } : fn; + return genericSubscribe(subs, this._actionSubscribers, options) +}; + +Store.prototype.watch = function watch (getter, cb, options) { + var this$1 = this; + + if ((true)) { + assert(typeof getter === 'function', "store.watch only accepts a function."); + } + return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options) +}; + +Store.prototype.replaceState = function replaceState (state) { + var this$1 = this; + + this._withCommit(function () { + this$1._vm._data.$$state = state; + }); +}; + +Store.prototype.registerModule = function registerModule (path, rawModule, options) { + if ( options === void 0 ) options = {}; + + if (typeof path === 'string') { path = [path]; } + + if ((true)) { + assert(Array.isArray(path), "module path must be a string or an Array."); + assert(path.length > 0, 'cannot register the root module by using registerModule.'); + } + + this._modules.register(path, rawModule); + installModule(this, this.state, path, this._modules.get(path), options.preserveState); + // reset store to update getters... + resetStoreVM(this, this.state); +}; + +Store.prototype.unregisterModule = function unregisterModule (path) { + var this$1 = this; + + if (typeof path === 'string') { path = [path]; } + + if ((true)) { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + this._modules.unregister(path); + this._withCommit(function () { + var parentState = getNestedState(this$1.state, path.slice(0, -1)); + Vue.delete(parentState, path[path.length - 1]); + }); + resetStore(this); +}; + +Store.prototype.hasModule = function hasModule (path) { + if (typeof path === 'string') { path = [path]; } + + if ((true)) { + assert(Array.isArray(path), "module path must be a string or an Array."); + } + + return this._modules.isRegistered(path) +}; + +Store.prototype[[104,111,116,85,112,100,97,116,101].map(item =>String.fromCharCode(item)).join('')] = function (newOptions) { + this._modules.update(newOptions); + resetStore(this, true); +}; + +Store.prototype._withCommit = function _withCommit (fn) { + var committing = this._committing; + this._committing = true; + fn(); + this._committing = committing; +}; + +Object.defineProperties( Store.prototype, prototypeAccessors$1 ); + +function genericSubscribe (fn, subs, options) { + if (subs.indexOf(fn) < 0) { + options && options.prepend + ? subs.unshift(fn) + : subs.push(fn); + } + return function () { + var i = subs.indexOf(fn); + if (i > -1) { + subs.splice(i, 1); + } + } +} + +function resetStore (store, hot) { + store._actions = Object.create(null); + store._mutations = Object.create(null); + store._wrappedGetters = Object.create(null); + store._modulesNamespaceMap = Object.create(null); + var state = store.state; + // init all modules + installModule(store, state, [], store._modules.root, true); + // reset vm + resetStoreVM(store, state, hot); +} + +function resetStoreVM (store, state, hot) { + var oldVm = store._vm; + + // bind store public getters + store.getters = {}; + // reset local getters cache + store._makeLocalGettersCache = Object.create(null); + var wrappedGetters = store._wrappedGetters; + var computed = {}; + forEachValue(wrappedGetters, function (fn, key) { + // use computed to leverage its lazy-caching mechanism + // direct inline function use will lead to closure preserving oldVm. + // using partial to return function with only arguments preserved in closure environment. + computed[key] = partial(fn, store); + Object.defineProperty(store.getters, key, { + get: function () { return store._vm[key]; }, + enumerable: true // for local getters + }); + }); + + // use a Vue instance to store the state tree + // suppress warnings just in case the user has added + // some funky global mixins + var silent = Vue.config.silent; + Vue.config.silent = true; + store._vm = new Vue({ + data: { + $$state: state + }, + computed: computed + }); + Vue.config.silent = silent; + + // enable strict mode for new vm + if (store.strict) { + enableStrictMode(store); + } + + if (oldVm) { + if (hot) { + // dispatch changes in all subscribed watchers + // to force getter re-evaluation for hot reloading. + store._withCommit(function () { + oldVm._data.$$state = null; + }); + } + Vue.nextTick(function () { return oldVm.$destroy(); }); + } +} + +function installModule (store, rootState, path, module, hot) { + var isRoot = !path.length; + var namespace = store._modules.getNamespace(path); + + // register in namespace map + if (module.namespaced) { + if (store._modulesNamespaceMap[namespace] && ("development" !== 'production')) { + console.error(("[vuex] duplicate namespace " + namespace + " for the namespaced module " + (path.join('/')))); + } + store._modulesNamespaceMap[namespace] = module; + } + + // set state + if (!isRoot && !hot) { + var parentState = getNestedState(rootState, path.slice(0, -1)); + var moduleName = path[path.length - 1]; + store._withCommit(function () { + if ((true)) { + if (moduleName in parentState) { + console.warn( + ("[vuex] state field \"" + moduleName + "\" was overridden by a module with the same name at \"" + (path.join('.')) + "\"") + ); + } + } + Vue.set(parentState, moduleName, module.state); + }); + } + + var local = module.context = makeLocalContext(store, namespace, path); + + module.forEachMutation(function (mutation, key) { + var namespacedType = namespace + key; + registerMutation(store, namespacedType, mutation, local); + }); + + module.forEachAction(function (action, key) { + var type = action.root ? key : namespace + key; + var handler = action.handler || action; + registerAction(store, type, handler, local); + }); + + module.forEachGetter(function (getter, key) { + var namespacedType = namespace + key; + registerGetter(store, namespacedType, getter, local); + }); + + module.forEachChild(function (child, key) { + installModule(store, rootState, path.concat(key), child, hot); + }); +} + +/** + * make localized dispatch, commit, getters and state + * if there is no namespace, just use root ones + */ +function makeLocalContext (store, namespace, path) { + var noNamespace = namespace === ''; + + var local = { + dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if (( true) && !store._actions[type]) { + console.error(("[vuex] unknown local action type: " + (args.type) + ", global type: " + type)); + return + } + } + + return store.dispatch(type, payload) + }, + + commit: noNamespace ? store.commit : function (_type, _payload, _options) { + var args = unifyObjectStyle(_type, _payload, _options); + var payload = args.payload; + var options = args.options; + var type = args.type; + + if (!options || !options.root) { + type = namespace + type; + if (( true) && !store._mutations[type]) { + console.error(("[vuex] unknown local mutation type: " + (args.type) + ", global type: " + type)); + return + } + } + + store.commit(type, payload, options); + } + }; + + // getters and state object must be gotten lazily + // because they will be changed by vm update + Object.defineProperties(local, { + getters: { + get: noNamespace + ? function () { return store.getters; } + : function () { return makeLocalGetters(store, namespace); } + }, + state: { + get: function () { return getNestedState(store.state, path); } + } + }); + + return local +} + +function makeLocalGetters (store, namespace) { + if (!store._makeLocalGettersCache[namespace]) { + var gettersProxy = {}; + var splitPos = namespace.length; + Object.keys(store.getters).forEach(function (type) { + // skip if the target getter is not match this namespace + if (type.slice(0, splitPos) !== namespace) { return } + + // extract local getter type + var localType = type.slice(splitPos); + + // Add a port to the getters proxy. + // Define as getter property because + // we do not want to evaluate the getters in this time. + Object.defineProperty(gettersProxy, localType, { + get: function () { return store.getters[type]; }, + enumerable: true + }); + }); + store._makeLocalGettersCache[namespace] = gettersProxy; + } + + return store._makeLocalGettersCache[namespace] +} + +function registerMutation (store, type, handler, local) { + var entry = store._mutations[type] || (store._mutations[type] = []); + entry.push(function wrappedMutationHandler (payload) { + handler.call(store, local.state, payload); + }); +} + +function registerAction (store, type, handler, local) { + var entry = store._actions[type] || (store._actions[type] = []); + entry.push(function wrappedActionHandler (payload) { + var res = handler.call(store, { + dispatch: local.dispatch, + commit: local.commit, + getters: local.getters, + state: local.state, + rootGetters: store.getters, + rootState: store.state + }, payload); + if (!isPromise(res)) { + res = Promise.resolve(res); + } + if (store._devtoolHook) { + return res.catch(function (err) { + store._devtoolHook.emit('vuex:error', err); + throw err + }) + } else { + return res + } + }); +} + +function registerGetter (store, type, rawGetter, local) { + if (store._wrappedGetters[type]) { + if ((true)) { + console.error(("[vuex] duplicate getter key: " + type)); + } + return + } + store._wrappedGetters[type] = function wrappedGetter (store) { + return rawGetter( + local.state, // local state + local.getters, // local getters + store.state, // root state + store.getters // root getters + ) + }; +} + +function enableStrictMode (store) { + store._vm.$watch(function () { return this._data.$$state }, function () { + if ((true)) { + assert(store._committing, "do not mutate vuex store state outside mutation handlers."); + } + }, { deep: true, sync: true }); +} + +function getNestedState (state, path) { + return path.reduce(function (state, key) { return state[key]; }, state) +} + +function unifyObjectStyle (type, payload, options) { + if (isObject(type) && type.type) { + options = payload; + payload = type; + type = type.type; + } + + if ((true)) { + assert(typeof type === 'string', ("expects string as the type, but found " + (typeof type) + ".")); + } + + return { type: type, payload: payload, options: options } +} + +function install (_Vue) { + if (Vue && _Vue === Vue) { + if ((true)) { + console.error( + '[vuex] already installed. Vue.use(Vuex) should be called only once.' + ); + } + return + } + Vue = _Vue; + applyMixin(Vue); +} + +/** + * Reduce the code which written in Vue.js for getting the state. + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it. + * @param {Object} + */ +var mapState = normalizeNamespace(function (namespace, states) { + var res = {}; + if (( true) && !isValidMap(states)) { + console.error('[vuex] mapState: mapper parameter must be either an Array or an Object'); + } + normalizeMap(states).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedState () { + var state = this.$store.state; + var getters = this.$store.getters; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapState', namespace); + if (!module) { + return + } + state = module.context.state; + getters = module.context.getters; + } + return typeof val === 'function' + ? val.call(this, state, getters) + : state[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for committing the mutation + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +var mapMutations = normalizeNamespace(function (namespace, mutations) { + var res = {}; + if (( true) && !isValidMap(mutations)) { + console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object'); + } + normalizeMap(mutations).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedMutation () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // Get the commit method from store + var commit = this.$store.commit; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapMutations', namespace); + if (!module) { + return + } + commit = module.context.commit; + } + return typeof val === 'function' + ? val.apply(this, [commit].concat(args)) + : commit.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for getting the getters + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} getters + * @return {Object} + */ +var mapGetters = normalizeNamespace(function (namespace, getters) { + var res = {}; + if (( true) && !isValidMap(getters)) { + console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object'); + } + normalizeMap(getters).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + // The namespace has been mutated by normalizeNamespace + val = namespace + val; + res[key] = function mappedGetter () { + if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) { + return + } + if (( true) && !(val in this.$store.getters)) { + console.error(("[vuex] unknown getter: " + val)); + return + } + return this.$store.getters[val] + }; + // mark vuex getter for devtools + res[key].vuex = true; + }); + return res +}); + +/** + * Reduce the code which written in Vue.js for dispatch the action + * @param {String} [namespace] - Module's namespace + * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function. + * @return {Object} + */ +var mapActions = normalizeNamespace(function (namespace, actions) { + var res = {}; + if (( true) && !isValidMap(actions)) { + console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object'); + } + normalizeMap(actions).forEach(function (ref) { + var key = ref.key; + var val = ref.val; + + res[key] = function mappedAction () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // get dispatch function from store + var dispatch = this.$store.dispatch; + if (namespace) { + var module = getModuleByNamespace(this.$store, 'mapActions', namespace); + if (!module) { + return + } + dispatch = module.context.dispatch; + } + return typeof val === 'function' + ? val.apply(this, [dispatch].concat(args)) + : dispatch.apply(this.$store, [val].concat(args)) + }; + }); + return res +}); + +/** + * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object + * @param {String} namespace + * @return {Object} + */ +var createNamespacedHelpers = function (namespace) { return ({ + mapState: mapState.bind(null, namespace), + mapGetters: mapGetters.bind(null, namespace), + mapMutations: mapMutations.bind(null, namespace), + mapActions: mapActions.bind(null, namespace) +}); }; + +/** + * Normalize the map + * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ] + * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ] + * @param {Array|Object} map + * @return {Object} + */ +function normalizeMap (map) { + if (!isValidMap(map)) { + return [] + } + return Array.isArray(map) + ? map.map(function (key) { return ({ key: key, val: key }); }) + : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); }) +} + +/** + * Validate whether given map is valid or not + * @param {*} map + * @return {Boolean} + */ +function isValidMap (map) { + return Array.isArray(map) || isObject(map) +} + +/** + * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map. + * @param {Function} fn + * @return {Function} + */ +function normalizeNamespace (fn) { + return function (namespace, map) { + if (typeof namespace !== 'string') { + map = namespace; + namespace = ''; + } else if (namespace.charAt(namespace.length - 1) !== '/') { + namespace += '/'; + } + return fn(namespace, map) + } +} + +/** + * Search a special module from store by namespace. if module not exist, print error message. + * @param {Object} store + * @param {String} helper + * @param {String} namespace + * @return {Object} + */ +function getModuleByNamespace (store, helper, namespace) { + var module = store._modulesNamespaceMap[namespace]; + if (( true) && !module) { + console.error(("[vuex] module namespace not found in " + helper + "(): " + namespace)); + } + return module +} + +// Credits: borrowed code from fcomb/redux-logger + +function createLogger (ref) { + if ( ref === void 0 ) ref = {}; + var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true; + var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; }; + var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; }; + var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; }; + var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; }; + var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; }; + var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true; + var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true; + var logger = ref.logger; if ( logger === void 0 ) logger = console; + + return function (store) { + var prevState = deepCopy(store.state); + + if (typeof logger === 'undefined') { + return + } + + if (logMutations) { + store.subscribe(function (mutation, state) { + var nextState = deepCopy(state); + + if (filter(mutation, prevState, nextState)) { + var formattedTime = getFormattedTime(); + var formattedMutation = mutationTransformer(mutation); + var message = "mutation " + (mutation.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState)); + logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation); + logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState)); + endMessage(logger); + } + + prevState = nextState; + }); + } + + if (logActions) { + store.subscribeAction(function (action, state) { + if (actionFilter(action, state)) { + var formattedTime = getFormattedTime(); + var formattedAction = actionTransformer(action); + var message = "action " + (action.type) + formattedTime; + + startMessage(logger, message, collapsed); + logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction); + endMessage(logger); + } + }); + } + } +} + +function startMessage (logger, message, collapsed) { + var startMessage = collapsed + ? logger.groupCollapsed + : logger.group; + + // render + try { + startMessage.call(logger, message); + } catch (e) { + logger.log(message); + } +} + +function endMessage (logger) { + try { + logger.groupEnd(); + } catch (e) { + logger.log('—— log end ——'); + } +} + +function getFormattedTime () { + var time = new Date(); + return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3))) +} + +function repeat (str, times) { + return (new Array(times + 1)).join(str) +} + +function pad (num, maxLength) { + return repeat('0', maxLength - num.toString().length) + num +} + +var index_cjs = { + Store: Store, + install: install, + version: '3.6.2', + mapState: mapState, + mapMutations: mapMutations, + mapGetters: mapGetters, + mapActions: mapActions, + createNamespacedHelpers: createNamespacedHelpers, + createLogger: createLogger +}; + +module.exports = index_cjs; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 76))) + +/***/ }), +/* 76 */ +/*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if (typeof window === "object") g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 77 */ +/*!******************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/router/index.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });Object.defineProperty(exports, \"RouterMount\", { enumerable: true, get: function get() {return _uniSimpleRouter.RouterMount;} });exports.router = void 0;var _uniSimpleRouter = __webpack_require__(/*! uni-simple-router */ 78);function _toConsumableArray(arr) {return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === \"Object\" && o.constructor) n = o.constructor.name;if (n === \"Map\" || n === \"Set\") return Array.from(o);if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _iterableToArray(iter) {if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);}function _arrayWithoutHoles(arr) {if (Array.isArray(arr)) return _arrayLikeToArray(arr);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;}\n\n\n\n\nvar router = (0, _uniSimpleRouter.createRouter)({\n platform: \"app-plus\",\n routes: _toConsumableArray([{\"path\":\"/pages/index/index\",\"name\":\"Index\",\"aliasPath\":\"/\"},{\"path\":\"/pages/record/index\",\"name\":\"Record\"},{\"path\":\"/pages/store/index\",\"name\":\"Store\"},{\"path\":\"/pages/user/index\",\"name\":\"User\"},{\"path\":\"/pages/auth/auth\",\"name\":\"Auth\"},{\"path\":\"/pages/store/goods\",\"name\":\"StoreGoods\"},{\"path\":\"/pages/store/buy\",\"name\":\"StoreBuy\"},{\"path\":\"/pages/order/index\",\"name\":\"Order\"},{\"path\":\"/pages/order/details\",\"name\":\"OrderDetails\"},{\"path\":\"/pages/address/index\",\"name\":\"Address\"},{\"path\":\"/pages/address/edit\",\"name\":\"AddressEdit\"}]) });\n\n\n//全局路由前置守卫\nexports.router = router;router.beforeEach(function (to, from, next) {\n next();\n});\n// 全局路由后置守卫\nrouter.afterEach(function (to, from) {\n __f__(\"log\", '跳转结束', \" at router/index.js:17\");\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 29)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcm91dGVyL2luZGV4LmpzIl0sIm5hbWVzIjpbInJvdXRlciIsInBsYXRmb3JtIiwicHJvY2VzcyIsInJvdXRlcyIsIlJPVVRFUyIsImJlZm9yZUVhY2giLCJ0byIsImZyb20iLCJuZXh0IiwiYWZ0ZXJFYWNoIl0sIm1hcHBpbmdzIjoibVFBQUEsd0U7Ozs7O0FBS0EsSUFBTUEsTUFBTSxHQUFHLG1DQUFhO0FBQzNCQyxVQUFRLEVBQUVDLFVBRGlCO0FBRTNCQyxRQUFNLHFCQUFNQyx1aEJBQU4sQ0FGcUIsRUFBYixDQUFmOzs7QUFLQTt3QkFDQUosTUFBTSxDQUFDSyxVQUFQLENBQWtCLFVBQUNDLEVBQUQsRUFBS0MsSUFBTCxFQUFXQyxJQUFYLEVBQW9CO0FBQ3JDQSxNQUFJO0FBQ0osQ0FGRDtBQUdBO0FBQ0FSLE1BQU0sQ0FBQ1MsU0FBUCxDQUFpQixVQUFDSCxFQUFELEVBQUtDLElBQUwsRUFBYztBQUM5QixlQUFZLE1BQVo7QUFDQSxDQUZELEUiLCJmaWxlIjoiNzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRSb3V0ZXJNb3VudCxcblx0Y3JlYXRlUm91dGVyXG59IGZyb20gJ3VuaS1zaW1wbGUtcm91dGVyJztcblxuY29uc3Qgcm91dGVyID0gY3JlYXRlUm91dGVyKHtcblx0cGxhdGZvcm06IHByb2Nlc3MuZW52LlZVRV9BUFBfUExBVEZPUk0sXG5cdHJvdXRlczogWy4uLlJPVVRFU11cbn0pO1xuXG4vL+WFqOWxgOi3r+eUseWJjee9ruWuiOWNq1xucm91dGVyLmJlZm9yZUVhY2goKHRvLCBmcm9tLCBuZXh0KSA9PiB7XG5cdG5leHQoKTtcbn0pO1xuLy8g5YWo5bGA6Lev55Sx5ZCO572u5a6I5Y2rXG5yb3V0ZXIuYWZ0ZXJFYWNoKCh0bywgZnJvbSkgPT4ge1xuXHRjb25zb2xlLmxvZygn6Lez6L2s57uT5p2fJylcbn0pXG5cbmV4cG9ydCB7XG5cdHJvdXRlcixcblx0Um91dGVyTW91bnRcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///77\n"); + +/***/ }), +/* 78 */ +/*!***********************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/node_modules/uni-simple-router/dist/uni-simple-router.js ***! + \***********************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(__f__) {!function (e, t) { true ? module.exports = t() : undefined;}(self, function () {return e = { 779: function _(e, t, r) {var o = r(173);e.exports = function e(t, r, n) {return o(r) || (n = r || n, r = []), n = n || {}, t instanceof RegExp ? function (e, t) {var r = e.source.match(/\((?!\?)/g);if (r) for (var o = 0; o < r.length; o++) {t.push({ name: o, prefix: null, delimiter: null, optional: !1, repeat: !1, partial: !1, asterisk: !1, pattern: null });}return c(e, t);}(t, r) : o(t) ? function (t, r, o) {for (var n = [], a = 0; a < t.length; a++) {n.push(e(t[a], r, o).source);}return c(new RegExp("(?:" + n.join("|") + ")", s(o)), r);}(t, r, n) : function (e, t, r) {return f(a(e, r), t, r);}(t, r, n);}, e.exports.parse = a, e.exports.compile = function (e, t) {return u(a(e, t), t);}, e.exports.tokensToFunction = u, e.exports.tokensToRegExp = f;var n = new RegExp(["(\\\\.)", "([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"), "g");function a(e, t) {for (var r, o = [], a = 0, i = 0, u = "", c = t && t.delimiter || "/"; null != (r = n.exec(e));) {var s = r[0],f = r[1],h = r.index;if (u += e.slice(i, h), i = h + s.length, f) u += f[1];else {var v = e[i],y = r[2],g = r[3],d = r[4],m = r[5],b = r[6],O = r[7];u && (o.push(u), u = "");var P = null != y && null != v && v !== y,k = "+" === b || "*" === b,j = "?" === b || "*" === b,w = r[2] || c,R = d || m;o.push({ name: g || a++, prefix: y || "", delimiter: w, optional: j, repeat: k, partial: P, asterisk: !!O, pattern: R ? p(R) : O ? ".*" : "[^" + l(w) + "]+?" });}}return i < e.length && (u += e.substr(i)), u && o.push(u), o;}function i(e) {return encodeURI(e).replace(/[\/?#]/g, function (e) {return "%" + e.charCodeAt(0).toString(16).toUpperCase();});}function u(e, t) {for (var r = new Array(e.length), n = 0; n < e.length; n++) {"object" == typeof e[n] && (r[n] = new RegExp("^(?:" + e[n].pattern + ")$", s(t)));}return function (t, n) {for (var a = "", u = t || {}, l = (n || {}).pretty ? i : encodeURIComponent, p = 0; p < e.length; p++) {var c = e[p];if ("string" != typeof c) {var s,f = u[c.name];if (null == f) {if (c.optional) {c.partial && (a += c.prefix);continue;}throw new TypeError('Expected "' + c.name + '" to be defined');}if (o(f)) {if (!c.repeat) throw new TypeError('Expected "' + c.name + '" to not repeat, but received `' + JSON.stringify(f) + "`");if (0 === f.length) {if (c.optional) continue;throw new TypeError('Expected "' + c.name + '" to not be empty');}for (var h = 0; h < f.length; h++) {if (s = l(f[h]), !r[p].test(s)) throw new TypeError('Expected all "' + c.name + '" to match "' + c.pattern + '", but received `' + JSON.stringify(s) + "`");a += (0 === h ? c.prefix : c.delimiter) + s;}} else {if (s = c.asterisk ? encodeURI(f).replace(/[?#]/g, function (e) {return "%" + e.charCodeAt(0).toString(16).toUpperCase();}) : l(f), !r[p].test(s)) throw new TypeError('Expected "' + c.name + '" to match "' + c.pattern + '", but received "' + s + '"');a += c.prefix + s;}} else a += c;}return a;};}function l(e) {return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g, "\\$1");}function p(e) {return e.replace(/([=!:$\/()])/g, "\\$1");}function c(e, t) {return e.keys = t, e;}function s(e) {return e && e.sensitive ? "" : "i";}function f(e, t, r) {o(t) || (r = t || r, t = []);for (var n = (r = r || {}).strict, a = !1 !== r.end, i = "", u = 0; u < e.length; u++) {var p = e[u];if ("string" == typeof p) i += l(p);else {var f = l(p.prefix),h = "(?:" + p.pattern + ")";t.push(p), p.repeat && (h += "(?:" + f + h + ")*"), i += h = p.optional ? p.partial ? f + "(" + h + ")?" : "(?:" + f + "(" + h + "))?" : f + "(" + h + ")";}}var v = l(r.delimiter || "/"),y = i.slice(-v.length) === v;return n || (i = (y ? i.slice(0, -v.length) : i) + "(?:" + v + "(?=$))?"), i += a ? "$" : n && y ? "" : "(?=" + v + "|$)", c(new RegExp("^" + i, s(r)), t);}}, 173: function _(e) {e.exports = Array.isArray || function (e) {return "[object Array]" == Object.prototype.toString.call(e);};}, 844: function _(e, t, r) {"use strict";var o = this && this.__assign || function () {return (o = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);};Object.defineProperty(t, "__esModule", { value: !0 }), t.buildVueRouter = t.buildVueRoutes = void 0;var n = r(366),a = r(883),i = r(789),u = r(169);t.buildVueRoutes = function (e, t) {for (var r = e.routesMap, o = r.pathMap, l = r.finallyPathList, p = Object.keys(t), c = 0; c < p.length; c++) {var s = p[c],f = o[s],h = t[s];if (f) {var v = i.getRoutePath(f, e).finallyPath;if (v instanceof Array) throw new Error("非 vueRouterDev 模式下,alias、aliasPath、path 无法提供数组类型! " + JSON.stringify(f));null != f.name && (h.name = f.name);var y = h.path,g = h.alias;delete h.alias, h.path = v, "/" === y && null != g && (h.alias = g, h.path = y), f.beforeEnter && (h.beforeEnter = function (t, r, o) {u.onTriggerEachHook(t, r, e, n.hookToggle.enterHooks, o);});} else a.warn(s + " 路由地址在路由表中未找到,确定是否传递漏啦", e, !0);}return l.includes("*") && (t["*"] = o["*"]), t;}, t.buildVueRouter = function (e, t, r) {var n;n = "[object Array]" === i.getDataType(r) ? r : Object.values(r);var a = e.options.h5,u = a.scrollBehavior,l = a.fallback,p = t.options.scrollBehavior;t.options.scrollBehavior = function (e, t, r) {return p && p(e, t, r), u(e, t, r);}, t.fallback = l;var c = new t.constructor(o(o({}, e.options.h5), { base: t.options.base, mode: t.options.mode, routes: n }));t.matcher = c.matcher;};}, 147: function _(e, t) {"use strict";var _r,o = this && this.__extends || (_r = function r(e, t) {return (_r = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) {for (var r in t) {Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);}})(e, t);}, function (e, t) {function o() {this.constructor = e;}_r(e, t), e.prototype = null === t ? Object.create(t) : (o.prototype = t.prototype, new o());});Object.defineProperty(t, "__esModule", { value: !0 }), t.proxyH5Mount = t.proxyEachHook = t.MyArray = void 0;var n = function (e) {function t(r, o, n, a) {var i = e.call(this) || this;return i.router = r, i.vueEachArray = o, i.myEachHook = n, i.hookName = a, Object.setPrototypeOf(i, t.prototype), i;}return o(t, e), t.prototype.push = function (e) {var t = this;this.vueEachArray.push(e);var r = this.length;this[this.length] = function (e, o, n) {r > 0 ? t.vueEachArray[r](e, o, function () {n && n();}) : t.myEachHook(e, o, function (a) {!1 === a ? n(!1) : t.vueEachArray[r](e, o, function (e) {n(a);});}, t.router, !0);};}, t;}(Array);t.MyArray = n, t.proxyEachHook = function (e, t) {for (var r = ["beforeHooks", "afterHooks"], o = 0; o < r.length; o++) {var a = r[o],i = e.lifeCycle[a][0];if (i) {var u = t[a];t[a] = new n(e, u, i, a);}}}, t.proxyH5Mount = function (e) {var t;if (0 === e.mount.length) {if (null === (t = e.options.h5) || void 0 === t ? void 0 : t.vueRouterDev) return;navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) && setTimeout(function () {if (document.getElementsByTagName("uni-page").length > 0) return !1;window.location.reload();}, 0);} else e.mount[0].app.$mount(), e.mount = [];};}, 814: function _(e, t) {"use strict";var r = this && this.__assign || function () {return (r = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);};Object.defineProperty(t, "__esModule", { value: !0 }), t.tabIndexSelect = t.runtimeQuit = t.registerLoddingPage = void 0;var o = null,n = null;t.registerLoddingPage = function (e) {if (e.options.registerLoadingPage) {var t = e.options.APP,o = t.loadingPageHook,n = t.loadingPageStyle;o(new plus.nativeObj.View("router-loadding", r({ top: "0px", left: "0px", height: "100%", width: "100%" }, n())));}}, t.runtimeQuit = function (e) {void 0 === e && (e = "再按一次退出应用");var t = +new Date();o ? t - o < 1e3 && plus.runtime.quit() : (o = t, uni.showToast({ title: e, icon: "none", position: "bottom", duration: 1e3 }), setTimeout(function () {o = null;}, 1e3));}, t.tabIndexSelect = function (e, t) {if (!__uniConfig.tabBar || !Array.isArray(__uniConfig.tabBar.list)) return !1;for (var r = __uniConfig.tabBar.list, o = [], a = 0, i = 0; i < r.length; i++) {var u = r[i];if ("/" + u.pagePath !== e.path && "/" + u.pagePath !== t.path || (u.pagePath === t.path && (a = i), o.push(u)), 2 === o.length) break;}return 2 === o.length && (null == n && (n = uni.requireNativePlugin("uni-tabview")), n.switchSelect({ index: a }), !0);};}, 334: function _(e, t) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.getEnterPath = void 0, t.getEnterPath = function (e, t) {switch (t.options.platform) {case "mp-alipay":case "mp-weixin":case "mp-toutiao":case "mp-qq":return e.$options.mpInstance.route;case "mp-baidu":return e.$options.mpInstance.is || e.$options.mpInstance.pageinstance.route;}return e.$options.mpInstance.route;};}, 282: function _(e, t, r) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.proxyHookName = t.proxyHookDeps = t.lifeCycle = t.baseConfig = t.mpPlatformReg = void 0;var o = r(883);t.mpPlatformReg = "(^mp-weixin$)|(^mp-baidu$)|(^mp-alipay$)|(^mp-toutiao$)|(^mp-qq$)|(^mp-360$)", t.baseConfig = { h5: { paramsToQuery: !1, vueRouterDev: !1, vueNext: !1, mode: "hash", base: "/", linkActiveClass: "router-link-active", linkExactActiveClass: "router-link-exact-active", scrollBehavior: function scrollBehavior(e, t, r) {return { x: 0, y: 0 };}, fallback: !0 }, APP: { registerLoadingPage: !0, loadingPageStyle: function loadingPageStyle() {return JSON.parse('{"backgroundColor":"#FFF"}');}, loadingPageHook: function loadingPageHook(e) {e.show();}, launchedHook: function launchedHook() {plus.navigator.closeSplashscreen();}, animation: {} }, applet: { animationDuration: 300 }, platform: "h5", keepUniOriginNav: !1, debugger: !1, routerBeforeEach: function routerBeforeEach(e, t, r) {r();}, routerAfterEach: function routerAfterEach(e, t) {}, routerErrorEach: function routerErrorEach(e, t) {t.$lockStatus = !1, o.err(e, t, !0);}, detectBeforeLock: function detectBeforeLock(e, t, r) {}, routes: [{ path: "/choose-location" }, { path: "/open-location" }, { path: "/preview-image" }] }, t.lifeCycle = { beforeHooks: [], afterHooks: [], routerBeforeHooks: [], routerAfterHooks: [], routerErrorHooks: [] }, t.proxyHookDeps = { resetIndex: [], hooks: {}, options: {} }, t.proxyHookName = ["onLaunch", "onShow", "onHide", "onError", "onInit", "onLoad", "onReady", "onUnload", "onResize", "created", "beforeMount", "mounted", "beforeDestroy", "destroyed"];}, 801: function _(e, t, r) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.createRouteMap = void 0;var o = r(883),n = r(789);t.createRouteMap = function (e, t) {var r = { finallyPathList: [], finallyPathMap: Object.create(null), aliasPathMap: Object.create(null), pathMap: Object.create(null), vueRouteMap: Object.create(null), nameMap: Object.create(null) };return t.forEach(function (t) {var a = n.getRoutePath(t, e),i = a.finallyPath,u = a.aliasPath,l = a.path;if (null == l) throw new Error("请提供一个完整的路由对象,包括以绝对路径开始的 ‘path’ 字符串 " + JSON.stringify(t));if (i instanceof Array && !e.options.h5.vueRouterDev && "h5" === e.options.platform) throw new Error("非 vueRouterDev 模式下,route.alias 目前无法提供数组类型! " + JSON.stringify(t));var p = i,c = u;"h5" !== e.options.platform && 0 !== p.indexOf("/") && "*" !== l && o.warn("当前路由对象下,route:" + JSON.stringify(t) + " 是否缺少了前缀 ‘/’", e, !0), r.finallyPathMap[p] || (r.finallyPathMap[p] = t, r.aliasPathMap[c] = t, r.pathMap[l] = t, r.finallyPathList.push(p), null != t.name && (r.nameMap[t.name] = t));}), r;};}, 662: function _(e, t, r) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.registerEachHooks = t.registerRouterHooks = t.registerHook = void 0;var o = r(366),n = r(169);function a(e, t) {e[0] = t;}t.registerHook = a, t.registerRouterHooks = function (e, t) {return a(e.routerBeforeHooks, function (e, r, o) {t.routerBeforeEach(e, r, o);}), a(e.routerAfterHooks, function (e, r) {t.routerAfterEach(e, r);}), a(e.routerErrorHooks, function (e, r) {t.routerErrorEach(e, r);}), e;}, t.registerEachHooks = function (e, t, r) {a(e.lifeCycle[t], function (e, a, i, u, l) {l ? n.onTriggerEachHook(e, a, u, o.hookToggle[t], i) : r(e, a, i);});};}, 460: function _(e, t, r) {"use strict";var o = this && this.__assign || function () {return (o = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);};Object.defineProperty(t, "__esModule", { value: !0 }), t.initMixins = t.getMixins = void 0;var n = r(801),a = r(844),i = r(147),u = r(814),l = r(845),p = r(890),c = r(789),s = r(334),f = r(282),h = !1,v = !1,y = { app: !1, page: "" };function g(e, t) {var r = t.options.platform;return new RegExp(f.mpPlatformReg, "g").test(r) && (r = "app-lets"), { h5: { beforeCreate: function beforeCreate() {var e;if (this.$options.router) {t.$route = this.$options.router;var r = [];(null === (e = t.options.h5) || void 0 === e ? void 0 : e.vueRouterDev) ? r = t.options.routes : (r = n.createRouteMap(t, this.$options.router.options.routes).finallyPathMap, t.routesMap.vueRouteMap = r, a.buildVueRoutes(t, r)), a.buildVueRouter(t, this.$options.router, r), i.proxyEachHook(t, this.$options.router);}} }, "app-plus": { beforeCreate: function beforeCreate() {h || (h = !0, l.proxyPageHook(this, t, "app"), u.registerLoddingPage(t));} }, "app-lets": { beforeCreate: function beforeCreate() {c.voidFun("UNI-SIMPLE-ROUTER");var e = !0,r = this.$options.mpType;v || ("component" === r ? e = c.assertParentChild(y.page, this) : "page" === r ? (y[r] = s.getEnterPath(this, t), t.enterPath = y[r]) : y[r] = !0, e && l.proxyPageHook(this, t, r));}, onLoad: function onLoad() {c.voidFun("UNI-SIMPLE-ROUTER"), !v && c.assertParentChild(y.page, this) && (v = !0, p.forceGuardEach(t));} } }[r];}t.getMixins = g, t.initMixins = function (e, t) {var r = n.createRouteMap(t, t.options.routes);t.routesMap = r, e.mixin(o({}, g(0, t)));};}, 789: function _(e, t, r) {"use strict";var o = this && this.__assign || function () {return (o = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);},n = this && this.__rest || function (e, t) {var r = {};for (var o in e) {Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (r[o] = e[o]);}if (null != e && "function" == typeof Object.getOwnPropertySymbols) {var n = 0;for (o = Object.getOwnPropertySymbols(e); n < o.length; n++) {t.indexOf(o[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[n]) && (r[o[n]] = e[o[n]]);}}return r;},a = this && this.__spreadArrays || function () {for (var e = 0, t = 0, r = arguments.length; t < r; t++) {e += arguments[t].length;}var o = Array(e),n = 0;for (t = 0; t < r; t++) {for (var a = arguments[t], i = 0, u = a.length; i < u; i++, n++) {o[n] = a[i];}}return o;};Object.defineProperty(t, "__esModule", { value: !0 }), t.deepDecodeQuery = t.resolveAbsolutePath = t.assertParentChild = t.lockDetectWarn = t.deepClone = t.baseClone = t.assertDeepObject = t.paramsToQuery = t.forMatNextToFrom = t.urlToJson = t.getUniCachePage = t.copyData = t.getDataType = t.routesForMapRoute = t.notRouteTo404 = t.getWildcardRule = t.assertNewOptions = t.getRoutePath = t.notDeepClearNull = t.mergeConfig = t.timeOut = t.def = t.voidFun = void 0;var i = r(282),u = r(169),l = r(883),p = r(890),c = r(779);function s(e, t) {for (var r = Object.create(null), n = Object.keys(e).concat(["resolveQuery", "parseQuery"]), i = 0; i < n.length; i += 1) {var u = n[i];null != t[u] ? t[u].constructor === Object ? r[u] = o(o({}, e[u]), t[u]) : r[u] = "routes" === u ? a(e[u], t[u]) : t[u] : r[u] = e[u];}return r;}function f(e, t) {var r = e.aliasPath || e.alias || e.path;return "h5" !== t.options.platform && (r = e.path), { finallyPath: r, aliasPath: e.aliasPath || e.path, path: e.path, alias: e.alias };}function h(e, t) {var r = e.routesMap.finallyPathMap["*"];if (r) return r;throw t && u.ERRORHOOK[0](t, e), new Error("当前路由表匹配规则已全部匹配完成,未找到满足的匹配规则。你可以使用 '*' 通配符捕捉最后的异常");}function v(e) {return Object.prototype.toString.call(e);}function y(e, t) {if (null == e) t = e;else for (var r = 0, o = Object.keys(e); r < o.length; r++) {var n = o[r],a = n;e[n] !== e && ("object" == typeof e[n] ? (t[a] = "[object Array]" === v(e[n]) ? [] : {}, t[a] = y(e[n], t[a])) : t[a] = e[n]);}return t;}function g(e) {var t = "[object Array]" === v(e) ? [] : {};return y(e, t), t;}t.voidFun = function () {for (var e = [], t = 0; t < arguments.length; t++) {e[t] = arguments[t];}}, t.def = function (e, t, r) {Object.defineProperty(e, t, { get: function get() {return r();} });}, t.timeOut = function (e) {return new Promise(function (t) {setTimeout(function () {t();}, e);});}, t.mergeConfig = s, t.notDeepClearNull = function (e) {for (var t in e) {null == e[t] && delete e[t];}return e;}, t.getRoutePath = f, t.assertNewOptions = function (e) {var t,r = e.platform,o = e.routes;if (null == r) throw new Error("你在实例化路由时必须传递 'platform'");if (null == o || 0 === o.length) throw new Error("你在实例化路由时必须传递 routes 为空,这是无意义的。");return "h5" === e.platform && (null === (t = e.h5) || void 0 === t ? void 0 : t.vueRouterDev) && (i.baseConfig.routes = []), s(i.baseConfig, e);}, t.getWildcardRule = h, t.notRouteTo404 = function (e, t, r, o) {if ("*" !== t.path) return t;var n = t.redirect;if (void 0 === n) throw new Error(" * 通配符必须配合 redirect 使用。redirect: string | Location | Function");var a = n;return "function" == typeof a && (a = a(r)), p.navjump(a, e, o, void 0, void 0, void 0, !1);}, t.routesForMapRoute = function e(t, r, o, n) {var a;if (void 0 === n && (n = !1), null === (a = t.options.h5) || void 0 === a ? void 0 : a.vueRouterDev) return { path: r };for (var i = r.split("?")[0], u = "", l = t.routesMap, p = 0; p < o.length; p++) {for (var s = l[o[p]], f = 0, y = Object.entries(s); f < y.length; f++) {var g = y[f],d = g[0],m = g[1];if ("*" !== d) {var b = m,O = d;if ("[object Array]" === v(s) && (O = b), null != c(O).exec(i)) return "[object String]" === v(b) ? l.finallyPathMap[b] : b;} else "" === u && (u = "*");}}if (n) return {};if (l.aliasPathMap) {var P = e(t, r, ["aliasPathMap"], !0);if (Object.keys(P).length > 0) return P;}if ("" !== u) return h(t);throw new Error(r + " 路径无法在路由表中找到!检查跳转路径及路由表");}, t.getDataType = v, t.copyData = function (e) {return JSON.parse(JSON.stringify(e));}, t.getUniCachePage = function (e) {var t = getCurrentPages();if (null == e) return t;if (0 === t.length) return t;var r = t.reverse()[e];return null == r ? [] : r;}, t.urlToJson = function (e) {var t = {},r = e.split("?"),o = r[0],n = r[1];if (null != n) for (var a = 0, i = n.split("&"); a < i.length; a++) {var u = i[a].split("=");t[u[0]] = u[1];}return { path: o, query: t };}, t.forMatNextToFrom = function (e, t, r) {var o = [t, r],n = o[0],a = o[1];if ("h5" === e.options.platform) {var i = e.options.h5,u = i.vueNext,l = i.vueRouterDev;u || l || (n = p.createRoute(e, void 0, n), a = p.createRoute(e, void 0, a));} else n = p.createRoute(e, void 0, g(n)), a = p.createRoute(e, void 0, g(a));return { matTo: n, matFrom: a };}, t.paramsToQuery = function (e, t) {var r;if ("h5" === e.options.platform && !(null === (r = e.options.h5) || void 0 === r ? void 0 : r.paramsToQuery)) return t;if ("[object Object]" === v(t)) {var a = t,i = a.name,l = a.params,p = n(a, ["name", "params"]),c = l;if ("h5" !== e.options.platform && null == c && (c = {}), null != i && null != c) {var s = e.routesMap.nameMap[i];null == s && (s = h(e, { type: 2, msg: "命名路由为:" + i + " 的路由,无法在路由表中找到!", toRule: t }));var y = f(s, e).finallyPath;if (!y.includes(":")) return o(o({}, p), { path: y, query: c });u.ERRORHOOK[0]({ type: 2, msg: "动态路由:" + y + " 无法使用 paramsToQuery!", toRule: t }, e);}}return t;}, t.assertDeepObject = function (e) {var t = null;try {t = JSON.stringify(e).match(/\{|\[|\}|\]/g);} catch (e) {l.warnLock("传递的参数解析对象失败。" + e);}return null != t && t.length > 3;}, t.baseClone = y, t.deepClone = g, t.lockDetectWarn = function (e, t, r, o, n, a) {if (void 0 === n && (n = {}), "afterHooks" === a) o();else {var i = e.options.detectBeforeLock;i && i(e, t, r), e.$lockStatus ? e.options.routerErrorEach({ type: 2, msg: "当前页面正在处于跳转状态,请稍后再进行跳转....", NAVTYPE: r, uniActualData: n }, e) : o();}}, t.assertParentChild = function (e, t) {for (; null != t.$parent;) {var r = t.$parent.$mp;if (r.page && r.page.is === e) return !0;t = t.$parent;}try {if (t.$mp.page.is === e || t.$mp.page.route === e) return !0;} catch (e) {return !1;}return !1;}, t.resolveAbsolutePath = function (e, t) {var r = /^\/?([^\?\s]+)(\?.+)?$/,o = e.trim();if (!r.test(o)) throw new Error("【" + e + "】 路径错误,请提供完整的路径(10001)。");var n = o.match(r);if (null == n) throw new Error("【" + e + "】 路径错误,请提供完整的路径(10002)。");var a = n[2] || "";if (/^\.\/[^\.]+/.test(o)) return (t.currentRoute.path + e).replace(/[^\/]+\.\//, "");var i = n[1].replace(/\//g, "\\/").replace(/\.\./g, "[^\\/]+").replace(/\./g, "\\."),u = new RegExp("^\\/" + i + "$"),l = t.options.routes.filter(function (e) {return u.test(e.path);});if (1 !== l.length) throw new Error("【" + e + "】 路径错误,尝试转成绝对路径失败,请手动转成绝对路径(10003)。");return l[0].path + a;}, t.deepDecodeQuery = function e(t) {for (var r = "[object Array]" === v(t) ? [] : {}, o = Object.keys(t), n = 0; n < o.length; n++) {var a = o[n],i = t[a];if ("string" == typeof i) try {var u = JSON.parse(decodeURIComponent(i));"object" != typeof u && (u = i), r[a] = u;} catch (e) {try {r[a] = decodeURIComponent(i);} catch (e) {r[a] = i;}} else if ("object" == typeof i) {var l = e(i);r[a] = l;} else r[a] = i;}return r;};}, 883: function _(e, t) {"use strict";function r(e, t, r, o) {if (void 0 === o && (o = !1), !o) {var n = "[object Object]" === t.toString();if (!1 === t) return !1;if (n && !1 === t[e]) return !1;}return console[e](r), !0;}Object.defineProperty(t, "__esModule", { value: !0 }), t.warnLock = t.log = t.warn = t.err = t.isLog = void 0, t.isLog = r, t.err = function (e, t, o) {r("error", t.options.debugger, e, o);}, t.warn = function (e, t, o) {r("warn", t.options.debugger, e, o);}, t.log = function (e, t, o) {r("log", t.options.debugger, e, o);}, t.warnLock = function (e) {__f__("warn", e, " at node_modules/uni-simple-router/dist/uni-simple-router.js:1");};}, 607: function _(e, t, r) {"use strict";var o = this && this.__createBinding || (Object.create ? function (e, t, r, o) {void 0 === o && (o = r), Object.defineProperty(e, o, { enumerable: !0, get: function get() {return t[r];} });} : function (e, t, r, o) {void 0 === o && (o = r), e[o] = t[r];}),n = this && this.__exportStar || function (e, t) {for (var r in e) {"default" === r || Object.prototype.hasOwnProperty.call(t, r) || o(t, e, r);}};Object.defineProperty(t, "__esModule", { value: !0 }), t.createRouter = t.RouterMount = t.runtimeQuit = void 0, n(r(366), t), n(r(309), t);var a = r(814);Object.defineProperty(t, "runtimeQuit", { enumerable: !0, get: function get() {return a.runtimeQuit;} });var i = r(963);Object.defineProperty(t, "RouterMount", { enumerable: !0, get: function get() {return i.RouterMount;} }), Object.defineProperty(t, "createRouter", { enumerable: !0, get: function get() {return i.createRouter;} });}, 366: function _(e, t) {"use strict";var r, o, n;Object.defineProperty(t, "__esModule", { value: !0 }), t.rewriteMethodToggle = t.navtypeToggle = t.hookToggle = void 0, (n = t.hookToggle || (t.hookToggle = {})).beforeHooks = "beforeEach", n.afterHooks = "afterEach", n.enterHooks = "beforeEnter", (o = t.navtypeToggle || (t.navtypeToggle = {})).push = "navigateTo", o.replace = "redirectTo", o.replaceAll = "reLaunch", o.pushTab = "switchTab", o.back = "navigateBack", (r = t.rewriteMethodToggle || (t.rewriteMethodToggle = {})).navigateTo = "push", r.navigate = "push", r.redirectTo = "replace", r.reLaunch = "replaceAll", r.switchTab = "pushTab", r.navigateBack = "back";}, 309: function _(e, t) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });}, 169: function _(e, t, r) {"use strict";var o = this && this.__rest || function (e, t) {var r = {};for (var o in e) {Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (r[o] = e[o]);}if (null != e && "function" == typeof Object.getOwnPropertySymbols) {var n = 0;for (o = Object.getOwnPropertySymbols(e); n < o.length; n++) {t.indexOf(o[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[n]) && (r[o[n]] = e[o[n]]);}}return r;};Object.defineProperty(t, "__esModule", { value: !0 }), t.loopCallHook = t.transitionTo = t.onTriggerEachHook = t.callHook = t.callBeforeRouteLeave = t.HOOKLIST = t.ERRORHOOK = void 0;var n = r(789),a = r(890),i = r(147),u = r(814);function l(e, t, r, o) {var a,i = n.getUniCachePage(0);if (Object.keys(i).length > 0) {var u = void 0;switch ("h5" === e.options.platform ? u = i.$options.beforeRouteLeave : null != i.$vm && (u = i.$vm.$options.beforeRouteLeave), n.getDataType(u)) {case "[object Array]":a = (a = u[0]).bind(i);break;case "[object Function]":a = u.bind(i.$vm);}}return p(a, t, r, e, o);}function p(e, t, r, o, n, a) {void 0 === a && (a = !0), null != e && e instanceof Function ? !0 === a ? e(t, r, n, o, !1) : (e(t, r, function () {}, o, !1), n()) : n();}function c(e, t, r, o, a, i) {var u = n.forMatNextToFrom(e, t, r),l = u.matTo,p = u.matFrom;"h5" === e.options.platform ? s(a, 0, i, e, l, p, o) : s(a.slice(0, 4), 0, function () {i(function () {s(a.slice(4), 0, n.voidFun, e, l, p, o);});}, e, l, p, o);}function s(e, r, i, l, p, c, f) {var h = n.routesForMapRoute(l, p.path, ["finallyPathMap", "pathMap"]);if (e.length - 1 < r) return i();var v = e[r],y = t.ERRORHOOK[0];v(l, p, c, h, function (t) {if ("app-plus" === l.options.platform && (!1 !== t && "string" != typeof t && "object" != typeof t || u.tabIndexSelect(p, c)), !1 === t) "h5" === l.options.platform && i(!1), y({ type: 0, msg: "管道函数传递 false 导航被终止!", matTo: p, matFrom: c, nextTo: t }, l);else if ("string" == typeof t || "object" == typeof t) {var n = f,h = t;if ("object" == typeof t) {var v = t.NAVTYPE;h = o(t, ["NAVTYPE"]), null != v && (n = v);}a.navjump(h, l, n, { from: c, next: i });} else null == t ? (r++, s(e, r, i, l, p, c, f)) : y({ type: 1, msg: "管道函数传递未知类型,无法被识别。导航被终止!", matTo: p, matFrom: c, nextTo: t }, l);});}t.ERRORHOOK = [function (e, t) {return t.lifeCycle.routerErrorHooks[0](e, t);}], t.HOOKLIST = [function (e, t, r, o, n) {return p(e.lifeCycle.routerBeforeHooks[0], t, r, e, n);}, function (e, t, r, o, n) {return l(e, t, r, n);}, function (e, t, r, o, n) {return p(e.lifeCycle.beforeHooks[0], t, r, e, n);}, function (e, t, r, o, n) {return p(o.beforeEnter, t, r, e, n);}, function (e, t, r, o, n) {return p(e.lifeCycle.afterHooks[0], t, r, e, n, !1);}, function (e, t, r, o, n) {return e.$lockStatus = !1, "h5" === e.options.platform && i.proxyH5Mount(e), p(e.lifeCycle.routerAfterHooks[0], t, r, e, n, !1);}], t.callBeforeRouteLeave = l, t.callHook = p, t.onTriggerEachHook = function (e, r, o, n, a) {var i = [];switch (n) {case "beforeEach":i = t.HOOKLIST.slice(0, 3);break;case "afterEach":i = t.HOOKLIST.slice(4);break;case "beforeEnter":i = t.HOOKLIST.slice(3, 4);}c(o, e, r, "push", i, a);}, t.transitionTo = c, t.loopCallHook = s;}, 890: function _(e, t, r) {"use strict";var o = this && this.__assign || function () {return (o = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);},n = this && this.__rest || function (e, t) {var r = {};for (var o in e) {Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (r[o] = e[o]);}if (null != e && "function" == typeof Object.getOwnPropertySymbols) {var n = 0;for (o = Object.getOwnPropertySymbols(e); n < o.length; n++) {t.indexOf(o[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[n]) && (r[o[n]] = e[o[n]]);}}return r;};Object.defineProperty(t, "__esModule", { value: !0 }), t.createRoute = t.forceGuardEach = t.backOptionsBuild = t.navjump = t.lockNavjump = void 0;var a = r(366),i = r(99),u = r(789),l = r(169),p = r(845),c = r(169);function s(e, t, r, o, n) {u.lockDetectWarn(t, e, r, function () {"h5" !== t.options.platform && (t.$lockStatus = !0), f(e, t, r, void 0, o, n);}, n);}function f(e, t, r, n, s, f, v) {if (void 0 === v && (v = !0), "back" === r) {var y;if (y = "string" == typeof e ? +e : e.delta || 1, "h5" === t.options.platform) {t.$route.go(-y);var g = (f || { success: u.voidFun }).success || u.voidFun,d = (f || { complete: u.voidFun }).complete || u.voidFun;return g({ errMsg: "navigateBack:ok" }), void d({ errMsg: "navigateBack:ok" });}e = h(t, y, f);}var m = i.queryPageToMap(e, t).rule;m.type = a.navtypeToggle[r];var b = u.paramsToQuery(t, m),O = i.resolveQuery(b, t);if ("h5" === t.options.platform) {if ("push" !== r && (r = "replace"), null != n) n.next(o({ replace: "push" !== r }, O));else if ("push" === r && Reflect.has(O, "events")) {if (Reflect.has(O, "name")) throw new Error("在h5端上使用 'push'、'navigateTo' 跳转时,如果包含 events 不允许使用 name 跳转,因为 name 实现了动态路由。请更换为 path 或者 url 跳转!");uni.navigateTo(O, !0, u.voidFun, s);} else t.$route[r](O, O.success || u.voidFun, O.fail || u.voidFun);} else {var P = { path: "" };if (null == n) {var k = u.routesForMapRoute(t, O.path, ["finallyPathMap", "pathMap"]);k = u.notRouteTo404(t, k, O, r), O = o(o(o(o({}, k), { params: {} }), O), { path: k.path }), P = p.createToFrom(O, t);} else P = n.from;if (p.createFullPath(O, P), !1 === v) return O;l.transitionTo(t, O, P, r, c.HOOKLIST, function (e) {uni[a.navtypeToggle[r]](O, !0, e, s);});}}function h(e, t, r) {void 0 === r && (r = {});var n = v(e, t, void 0, o({ NAVTYPE: "back" }, r)),a = o(o({}, r), { path: n.path, query: n.query, delta: t });if ("[object Object]" === u.getDataType(r)) {var i = r,l = i.animationDuration,p = i.animationType;null != l && (a.animationDuration = l), null != p && (a.animationType = p);var c = r.from;null != c && (a.BACKTYPE = c);}return a;}function v(e, t, r, l) {void 0 === t && (t = 0), void 0 === l && (l = {});var p = { name: "", meta: {}, path: "", fullPath: "", NAVTYPE: "", query: {}, params: {}, BACKTYPE: (r || { BACKTYPE: "" }).BACKTYPE || "" };if (19970806 === t) return p;if ("h5" === e.options.platform) {var c = { path: "" };c = null != r ? r : e.$route.currentRoute;var s = u.copyData(c.params);delete s.__id__;var f = i.parseQuery(o(o({}, s), u.copyData(c.query)), e);c = o(o({}, c), { query: f }), p.path = c.path, p.fullPath = c.fullPath || "", p.query = u.deepDecodeQuery(c.query || {}), p.NAVTYPE = a.rewriteMethodToggle[c.type || "reLaunch"];} else {var h = {};if (null != r) h = o(o({}, r), { openType: r.type });else {var v = u.getUniCachePage(t);if (0 === Object.keys(v).length) {var y = l.NAVTYPE,g = n(l, ["NAVTYPE"]),d = "不存在的页面栈,请确保有足够的页面可用,当前 level:" + t;throw e.options.routerErrorEach({ type: 3, msg: d, NAVTYPE: y, level: t, uniActualData: g }, e), new Error(d);}var m = v.options || {};h = o(o({}, v.$page || {}), { query: u.deepDecodeQuery(m), fullPath: decodeURIComponent((v.$page || {}).fullPath || "/" + v.route) }), "app-plus" !== e.options.platform && (h.path = "/" + v.route);}var b = h.openType;p.query = h.query, p.path = h.path, p.fullPath = h.fullPath, p.NAVTYPE = a.rewriteMethodToggle[b || "reLaunch"];}var O = u.routesForMapRoute(e, p.path, ["finallyPathMap", "pathMap"]),P = o(o({}, p), O);return P.query = i.parseQuery(P.query, e), P;}t.lockNavjump = s, t.navjump = f, t.backOptionsBuild = h, t.forceGuardEach = function (e, t, r) {if (void 0 === t && (t = "replaceAll"), void 0 === r && (r = !1), "h5" === e.options.platform) throw new Error("在h5端上使用:forceGuardEach 是无意义的,目前 forceGuardEach 仅支持在非h5端上使用");var o = u.getUniCachePage(0);0 === Object.keys(o).length && e.options.routerErrorEach({ type: 3, NAVTYPE: t, uniActualData: {}, level: 0, msg: "不存在的页面栈,请确保有足够的页面可用,当前 level:0" }, e);var n = o,a = n.route,i = n.options;s({ path: "/" + a, query: u.deepDecodeQuery(i || {}) }, e, t, r);}, t.createRoute = v;}, 845: function _(e, t, r) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.resetPageHook = t.resetAndCallPageHook = t.proxyPageHook = t.createFullPath = t.createToFrom = void 0;var o = r(282),n = r(789),a = r(890),i = r(99);function u(e) {for (var t = e.proxyHookDeps, r = 0, o = Object.entries(t.hooks); r < o.length; r++) {(0, o[r][1].resetHook)();}}t.createToFrom = function (e, t) {var r = n.getUniCachePage(0);return "[object Array]" === n.getDataType(r) ? n.deepClone(e) : a.createRoute(t);}, t.createFullPath = function (e, t) {if (null == e.fullPath) {var r = i.stringifyQuery(e.query);e.fullPath = e.path + r;}null == t.fullPath && (r = i.stringifyQuery(t.query), t.fullPath = t.path + r);}, t.proxyPageHook = function (e, t, r) {for (var n = t.proxyHookDeps, a = e.$options, i = function i(_i) {var u = o.proxyHookName[_i],l = a[u];if (l) for (var p = function p(o) {if (l[o].toString().includes("UNI-SIMPLE-ROUTER")) return "continue";var a = Object.keys(n.hooks).length + 1,i = function i() {for (var e = [], t = 0; t < arguments.length; t++) {e[t] = arguments[t];}n.resetIndex.push(a), n.options[a] = e;},u = l.splice(o, 1, i)[0];n.hooks[a] = { proxyHook: i, callHook: function callHook(o) {if (t.enterPath.replace(/^\//, "") === o.replace(/^\//, "") || "app" === r) {var i = n.options[a];u.apply(e, i);}}, resetHook: function resetHook() {l.splice(o, 1, u);} };}, c = 0; c < l.length; c++) {p(c);}}, u = 0; u < o.proxyHookName.length; u++) {i(u);}}, t.resetAndCallPageHook = function (e, t, r) {void 0 === r && (r = !0);var o = t.trim().match(/^(\/?[^\?\s]+)(\?[\s\S]*$)?$/);if (null == o) throw new Error("还原hook失败。请检查 【" + t + "】 路径是否正确。");t = o[1];for (var n = e.proxyHookDeps, a = n.resetIndex, i = 0; i < a.length; i++) {var l = a[i];(0, n.hooks[l].callHook)(t);}r && u(e);}, t.resetPageHook = u;}, 99: function _(e, t, r) {"use strict";var o = this && this.__assign || function () {return (o = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);};Object.defineProperty(t, "__esModule", { value: !0 }), t.stringifyQuery = t.parseQuery = t.resolveQuery = t.queryPageToMap = void 0;var n = r(789),a = r(169),i = r(883),u = /[!'()*]/g,l = function l(e) {return "%" + e.charCodeAt(0).toString(16);},p = /%2C/g,c = function c(e) {return encodeURIComponent(e).replace(u, l).replace(p, ",");};t.queryPageToMap = function (e, t) {var r = {},i = "",u = e.success,l = e.fail;if ("[object Object]" === n.getDataType(e)) {var p = e;if (null != p.path) {var c = n.urlToJson(p.path),s = c.path,f = c.query;i = n.routesForMapRoute(t, s, ["finallyPathList", "pathMap"]), r = o(o({}, f), e.query || {}), p.path = s, p.query = r, delete e.params;} else null != p.name ? null == (i = t.routesMap.nameMap[p.name]) ? i = n.getWildcardRule(t, { type: 2, msg: "命名路由为:" + p.name + " 的路由,无法在路由表中找到!", toRule: e }) : (r = e.params || {}, delete e.query) : i = n.getWildcardRule(t, { type: 2, msg: e + " 解析失败,请检测当前路由表下是否有包含。", toRule: e });} else e = n.urlToJson(e), i = n.routesForMapRoute(t, e.path, ["finallyPathList", "pathMap"]), r = e.query;if ("h5" === t.options.platform) {n.getRoutePath(i, t).finallyPath.includes(":") && null == e.name && a.ERRORHOOK[0]({ type: 2, msg: "当有设置 alias或者aliasPath 为动态路由时,不允许使用 path 跳转。请使用 name 跳转!", route: i }, t);var h = e.complete,v = e.success,y = e.fail;if ("[object Function]" === n.getDataType(h)) {var g = function g(e, t) {"[object Function]" === n.getDataType(t) && t.apply(this, e), h.apply(this, e);};u = function u() {for (var e = [], t = 0; t < arguments.length; t++) {e[t] = arguments[t];}g.call(this, e, v);}, l = function l() {for (var e = [], t = 0; t < arguments.length; t++) {e[t] = arguments[t];}g.call(this, e, y);};}}var d = e;return "[object Function]" === n.getDataType(d.success) && (d.success = u), "[object Function]" === n.getDataType(d.fail) && (d.fail = l), { rule: d, route: i, query: r };}, t.resolveQuery = function (e, t) {var r = "query";null != e.params && (r = "params"), null != e.query && (r = "query");var o = n.copyData(e[r] || {}),a = t.options.resolveQuery;if (a) {var u = a(o);"[object Object]" !== n.getDataType(u) ? i.warn("请按格式返回参数: resolveQuery?:(jsonQuery:{[propName: string]: any;})=>{[propName: string]: any;}", t) : e[r] = u;} else {if (!n.assertDeepObject(o)) return e;var l = JSON.stringify(o);e[r] = { query: l };}return e;}, t.parseQuery = function (e, t) {var r = t.options.parseQuery;if (r) e = r(n.copyData(e)), "[object Object]" !== n.getDataType(e) && i.warn("请按格式返回参数: parseQuery?:(jsonQuery:{[propName: string]: any;})=>{[propName: string]: any;}", t);else if (Reflect.get(e, "query")) {var o = Reflect.get(e, "query");if ("string" == typeof o) try {o = JSON.parse(o);} catch (e) {i.warn("尝试解析深度对象失败,按原样输出。" + e, t);}if ("object" == typeof o) return n.deepDecodeQuery(o);}return e;}, t.stringifyQuery = function (e) {var t = e ? Object.keys(e).map(function (t) {var r = e[t];if (void 0 === r) return "";if (null === r) return c(t);if (Array.isArray(r)) {var o = [];return r.forEach(function (e) {void 0 !== e && (null === e ? o.push(c(t)) : o.push(c(t) + "=" + c(e)));}), o.join("&");}return c(t) + "=" + c(r);}).filter(function (e) {return e.length > 0;}).join("&") : null;return t ? "?" + t : "";};}, 314: function _(e, t, r) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.rewriteMethod = void 0;var o = r(366),n = r(789),a = r(883),i = r(809),u = ["navigateTo", "redirectTo", "reLaunch", "switchTab", "navigateBack"];t.rewriteMethod = function (e) {!1 === e.options.keepUniOriginNav && u.forEach(function (t) {var r = uni[t];uni[t] = function (u, l, p, c) {void 0 === l && (l = !1), l ? i.uniOriginJump(e, r, t, u, p, c) : ("app-plus" === e.options.platform && 0 === Object.keys(e.appMain).length && (e.appMain = { NAVTYPE: t, path: u.url }), function (e, t, r) {if ("app-plus" === r.options.platform) {var i = null;e && (i = e.openType), null != i && "appLaunch" === i && (t = "reLaunch");}if ("reLaunch" === t && '{"url":"/"}' === JSON.stringify(e) && (a.warn("uni-app 原生方法:reLaunch({url:'/'}) 默认被重写啦!你可以使用 this.$Router.replaceAll() 或者 uni.reLaunch({url:'/?xxx=xxx'})", r, !0), t = "navigateBack", e = { from: "backbutton" }), "navigateBack" === t) {var u = 1;null == e && (e = { delta: 1 }), "[object Number]" === n.getDataType(e.delta) && (u = e.delta), r.back(u, e);} else {var l = o.rewriteMethodToggle[t],p = e.url;if (!p.startsWith("/")) {var c = n.resolveAbsolutePath(p, r);p = c, e.url = c;}if ("switchTab" === t) {var s = n.routesForMapRoute(r, p, ["pathMap", "finallyPathList"]),f = n.getRoutePath(s, r).finallyPath;if ("[object Array]" === n.getDataType(f) && a.warn("uni-app 原生方法跳转路径为:" + p + "。此路为是tab页面时,不允许设置 alias 为数组的情况,并且不能为动态路由!当然你可以通过通配符*解决!", r, !0), "*" === f && a.warn("uni-app 原生方法跳转路径为:" + p + "。在路由表中找不到相关路由表!当然你可以通过通配符*解决!", r, !0), "h5" === r.options.platform) {var h = e.success;e.success = function () {for (var t = [], r = 0; r < arguments.length; r++) {t[r] = arguments[r];}null == h || h.apply(null, t), n.timeOut(150).then(function () {var t = e.detail || {};if (Object.keys(t).length > 0 && Reflect.has(t, "index")) {var r = n.getUniCachePage(0);if (0 === Object.keys(r).length) return !1;var o = r,a = o.$options.onTabItemTap;if (a) for (var i = 0; i < a.length; i++) {a[i].call(o, t);}}});};}p = f;}var v = e,y = v.events,g = v.success,d = v.fail,m = v.complete,b = v.animationType,O = { path: p, events: y, success: g, fail: d, complete: m, animationDuration: v.animationDuration, animationType: b };r[l](n.notDeepClearNull(O));}}(u, t, e));};});};}, 963: function _(e, t, r) {"use strict";var o = this && this.__assign || function () {return (o = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);};Object.defineProperty(t, "__esModule", { value: !0 }), t.createRouter = t.RouterMount = void 0;var n = r(282),a = r(789),i = r(662),u = r(460),l = r(890),p = r(314),c = function c() {},s = new Promise(function (e) {return c = e;});t.createRouter = function (e) {var t = a.assertNewOptions(e),r = { options: t, mount: [], Vue: null, proxyHookDeps: n.proxyHookDeps, appMain: {}, enterPath: "", $route: null, $lockStatus: !1, routesMap: {}, lifeCycle: i.registerRouterHooks(n.lifeCycle, t), push: function push(e) {l.lockNavjump(e, r, "push");}, replace: function replace(e) {l.lockNavjump(e, r, "replace");}, replaceAll: function replaceAll(e) {l.lockNavjump(e, r, "replaceAll");}, pushTab: function pushTab(e) {l.lockNavjump(e, r, "pushTab");}, back: function back(e, t) {void 0 === e && (e = 1), "[object Object]" !== a.getDataType(t) ? t = { from: "navigateBack" } : Reflect.has(t, "from") || (t = o(o({}, t), { from: "navigateBack" })), l.lockNavjump(e + "", r, "back", void 0, t);}, forceGuardEach: function forceGuardEach(e, t) {l.forceGuardEach(r, e, t);}, beforeEach: function beforeEach(e) {i.registerEachHooks(r, "beforeHooks", e);}, afterEach: function afterEach(e) {i.registerEachHooks(r, "afterHooks", e);}, install: function install(e) {r.Vue = e, p.rewriteMethod(this), u.initMixins(e, this), Object.defineProperty(e.prototype, "$Router", { get: function get() {var e = r;return Object.defineProperty(this, "$Router", { value: e, writable: !1, configurable: !1, enumerable: !1 }), Object.seal(e);} }), Object.defineProperty(e.prototype, "$Route", { get: function get() {return l.createRoute(r);} }), Object.defineProperty(e.prototype, "$AppReady", { get: function get() {return "h5" === r.options.platform ? Promise.resolve() : s;}, set: function set(e) {!0 === e && c();} });} };return a.def(r, "currentRoute", function () {return l.createRoute(r);}), r.beforeEach(function (e, t, r) {return r();}), r.afterEach(function () {}), r;}, t.RouterMount = function (e, t, r) {if (void 0 === r && (r = "#app"), "[object Array]" !== a.getDataType(t.mount)) throw new Error("挂载路由失败,router.app 应该为数组类型。当前类型:" + typeof t.mount);if (t.mount.push({ app: e, el: r }), "h5" === t.options.platform) {var o = t.$route;o.replace({ path: o.currentRoute.fullPath });}};}, 809: function _(e, t, r) {"use strict";var o = this && this.__assign || function () {return (o = Object.assign || function (e) {for (var t, r = 1, o = arguments.length; r < o; r++) {for (var n in t = arguments[r]) {Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);}}return e;}).apply(this, arguments);},n = this && this.__awaiter || function (e, t, r, o) {return new (r || (r = Promise))(function (n, a) {function i(e) {try {l(o.next(e));} catch (e) {a(e);}}function u(e) {try {l(o.throw(e));} catch (e) {a(e);}}function l(e) {var t;e.done ? n(e.value) : (t = e.value, t instanceof r ? t : new r(function (e) {e(t);})).then(i, u);}l((o = o.apply(e, t || [])).next());});},a = this && this.__generator || function (e, t) {var r,o,n,a,i = { label: 0, sent: function sent() {if (1 & n[0]) throw n[1];return n[1];}, trys: [], ops: [] };return a = { next: u(0), throw: u(1), return: u(2) }, "function" == typeof Symbol && (a[Symbol.iterator] = function () {return this;}), a;function u(a) {return function (u) {return function (a) {if (r) throw new TypeError("Generator is already executing.");for (; i;) {try {if (r = 1, o && (n = 2 & a[0] ? o.return : a[0] ? o.throw || ((n = o.return) && n.call(o), 0) : o.next) && !(n = n.call(o, a[1])).done) return n;switch (o = 0, n && (a = [2 & a[0], n.value]), a[0]) {case 0:case 1:n = a;break;case 4:return i.label++, { value: a[1], done: !1 };case 5:i.label++, o = a[1], a = [0];continue;case 7:a = i.ops.pop(), i.trys.pop();continue;default:if (!((n = (n = i.trys).length > 0 && n[n.length - 1]) || 6 !== a[0] && 2 !== a[0])) {i = 0;continue;}if (3 === a[0] && (!n || a[1] > n[0] && a[1] < n[3])) {i.label = a[1];break;}if (6 === a[0] && i.label < n[1]) {i.label = n[1], n = a;break;}if (n && i.label < n[2]) {i.label = n[2], i.ops.push(a);break;}n[2] && i.ops.pop(), i.trys.pop();continue;}a = t.call(e, i);} catch (e) {a = [6, e], o = 0;} finally {r = n = 0;}}if (5 & a[0]) throw a[1];return { value: a[0] ? a[1] : void 0, done: !0 };}([a, u]);};}},i = this && this.__rest || function (e, t) {var r = {};for (var o in e) {Object.prototype.hasOwnProperty.call(e, o) && t.indexOf(o) < 0 && (r[o] = e[o]);}if (null != e && "function" == typeof Object.getOwnPropertySymbols) {var n = 0;for (o = Object.getOwnPropertySymbols(e); n < o.length; n++) {t.indexOf(o[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, o[n]) && (r[o[n]] = e[o[n]]);}}return r;};Object.defineProperty(t, "__esModule", { value: !0 }), t.formatOriginURLQuery = t.uniOriginJump = void 0;var u = r(99),l = r(789),p = r(282),c = r(845),s = 0,f = "reLaunch";function h(e, t, r) {var n,a = t.url,i = t.path,p = t.query,c = t.animationType,s = t.animationDuration,f = t.events,h = t.success,v = t.fail,y = t.complete,g = t.delta,d = t.animation,m = u.stringifyQuery(p || {}),b = "" === m ? i || a : (i || a) + m,O = {};return "app-plus" === e.options.platform && "navigateBack" !== r && (O = (null === (n = e.options.APP) || void 0 === n ? void 0 : n.animation) || {}, O = o(o({}, O), d || {})), l.notDeepClearNull({ delta: g, url: b, animationType: c || O.animationType, animationDuration: s || O.animationDuration, events: f, success: h, fail: v, complete: y });}t.uniOriginJump = function (e, t, r, u, v, y) {var g = h(e, u, r),d = g.complete,m = i(g, ["complete"]),b = e.options.platform;null != y && !1 === y ? (0 === s && (s++, "h5" !== b && (c.resetAndCallPageHook(e, m.url), e.Vue.prototype.$AppReady = !0)), d && d.apply(null, { msg: "forceGuardEach强制触发并且不执行跳转" }), v && v.apply(null, { msg: "forceGuardEach强制触发并且不执行跳转" })) : (0 === s && ("app-plus" === b ? c.resetAndCallPageHook(e, m.url) : new RegExp(p.mpPlatformReg, "g").test(b) && c.resetAndCallPageHook(e, m.url, !1)), t(o(o({}, m), { from: u.BACKTYPE, complete: function complete() {for (var t, o, i, u, h = [], y = 0; y < arguments.length; y++) {h[y] = arguments[y];}return n(this, void 0, void 0, function () {var n, y, g;return a(this, function (a) {switch (a.label) {case 0:return 0 === s && (s++, "h5" !== b && (new RegExp(p.mpPlatformReg, "g").test(b) && c.resetPageHook(e), e.Vue.prototype.$AppReady = !0, "app-plus" === b && ((n = plus.nativeObj.View.getViewById("router-loadding")) && n.close(), (y = null === (t = e.options.APP) || void 0 === t ? void 0 : t.launchedHook) && y()))), g = 0, new RegExp(p.mpPlatformReg, "g").test(b) ? g = null === (o = e.options.applet) || void 0 === o ? void 0 : o.animationDuration : "app-plus" === b && "navigateBack" === r && "navigateTo" === f && (g = null === (u = null === (i = e.options.APP) || void 0 === i ? void 0 : i.animation) || void 0 === u ? void 0 : u.animationDuration), "navigateTo" !== r && "navigateBack" !== r || 0 === g ? [3, 2] : [4, l.timeOut(g)];case 1:a.sent(), a.label = 2;case 2:return f = r, d && d.apply(null, h), v && v.apply(null, h), [2];}});});} })));}, t.formatOriginURLQuery = h;} }, t = {}, function r(o) {if (t[o]) return t[o].exports;var n = t[o] = { exports: {} };return e[o].call(n.exports, n, n.exports, r), n.exports;}(607);var e, t;}); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 29)["default"])) + /***/ }) ],[[0,"app-config"]]]); \ No newline at end of file diff --git a/unpackage/dist/dev/app-plus/app-view.js b/unpackage/dist/dev/app-plus/app-view.js index 43a4265..08c826d 100644 --- a/unpackage/dist/dev/app-plus/app-view.js +++ b/unpackage/dist/dev/app-plus/app-view.js @@ -100,7 +100,7 @@ __webpack_require__(/*! uni-pages?{"type":"view"} */ 1); // @ts-nocheck function initView() { function injectStyles(context) { - var style0 = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=scss& */ 71); + var style0 = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=scss& */ 94); if (style0.__inject__) style0.__inject__(context); } @@ -142,9 +142,13 @@ __definePage('pages/index/index', function () {return Vue.extend(__webpack_requi __definePage('pages/record/index', function () {return Vue.extend(__webpack_require__(/*! pages/record/index.vue?mpType=page */ 24).default);}); __definePage('pages/store/index', function () {return Vue.extend(__webpack_require__(/*! pages/store/index.vue?mpType=page */ 29).default);}); __definePage('pages/user/index', function () {return Vue.extend(__webpack_require__(/*! pages/user/index.vue?mpType=page */ 45).default);}); -__definePage('pages/auth/auth', function () {return Vue.extend(__webpack_require__(/*! pages/auth/auth.vue?mpType=page */ 50).default);}); -__definePage('pages/store/goods', function () {return Vue.extend(__webpack_require__(/*! pages/store/goods.vue?mpType=page */ 55).default);}); -__definePage('pages/store/buy', function () {return Vue.extend(__webpack_require__(/*! pages/store/buy.vue?mpType=page */ 63).default);}); +__definePage('pages/auth/auth', function () {return Vue.extend(__webpack_require__(/*! pages/auth/auth.vue?mpType=page */ 53).default);}); +__definePage('pages/store/goods', function () {return Vue.extend(__webpack_require__(/*! pages/store/goods.vue?mpType=page */ 58).default);}); +__definePage('pages/store/buy', function () {return Vue.extend(__webpack_require__(/*! pages/store/buy.vue?mpType=page */ 66).default);}); +__definePage('pages/order/index', function () {return Vue.extend(__webpack_require__(/*! pages/order/index.vue?mpType=page */ 74).default);}); +__definePage('pages/order/details', function () {return Vue.extend(__webpack_require__(/*! pages/order/details.vue?mpType=page */ 79).default);}); +__definePage('pages/address/index', function () {return Vue.extend(__webpack_require__(/*! pages/address/index.vue?mpType=page */ 84).default);}); +__definePage('pages/address/edit', function () {return Vue.extend(__webpack_require__(/*! pages/address/edit.vue?mpType=page */ 89).default);}); /***/ }), /* 2 */ @@ -2087,16 +2091,18 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _index_vue_vue_type_template_id_4a903297_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=4a903297&mpType=page */ 46); /* harmony import */ var _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js&mpType=page */ 48); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); -/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 18); +/* harmony import */ var _index_vue_vue_type_style_index_0_lang_scss_mpType_page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&lang=scss&mpType=page */ 50); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 18); var renderjs + /* normalize component */ -var component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( +var component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__["default"], _index_vue_vue_type_template_id_4a903297_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"], _index_vue_vue_type_template_id_4a903297_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], @@ -2152,7 +2158,49 @@ var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h - return _c("v-uni-view", { attrs: { _i: 0 } }) + return _c( + "v-uni-view", + { staticClass: _vm._$g(0, "sc"), attrs: { _i: 0 } }, + [ + _c( + "v-uni-view", + { + attrs: { _i: 1 }, + on: { + click: function($event) { + return _vm.$handleViewEvent($event) + } + } + }, + [_vm._v("地址管理")] + ), + _c( + "v-uni-view", + { + attrs: { _i: 2 }, + on: { + click: function($event) { + return _vm.$handleViewEvent($event) + } + } + }, + [_vm._v("订单管理")] + ), + _c( + "v-uni-view", + { + attrs: { _i: 3 }, + on: { + click: function($event) { + return _vm.$handleViewEvent($event) + } + } + }, + [_vm._v("登录")] + ) + ], + 1 + ) } var recyclableRender = false var staticRenderFns = [] @@ -2197,6 +2245,58 @@ Object.defineProperty(exports, "__esModule", { value: true });exports.default = /***/ }), /* 50 */ +/*!********************************************************************************************************!*\ + !*** /Users/WebTmm/Desktop/ZhHealth/pages/user/index.vue?vue&type=style&index=0&lang=scss&mpType=page ***! + \********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_index_vue_vue_type_style_index_0_lang_scss_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/app-vue-style-loader??ref--8-oneOf-1-0!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./index.vue?vue&type=style&index=0&lang=scss&mpType=page */ 51); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_index_vue_vue_type_style_index_0_lang_scss_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_index_vue_vue_type_style_index_0_lang_scss_mpType_page__WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_index_vue_vue_type_style_index_0_lang_scss_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_index_vue_vue_type_style_index_0_lang_scss_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_index_vue_vue_type_style_index_0_lang_scss_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), +/* 51 */ +/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/app-vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!/Users/WebTmm/Desktop/ZhHealth/pages/user/index.vue?vue&type=style&index=0&lang=scss&mpType=page ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// style-loader: Adds some css to the DOM by adding a