diff --git a/atguigu-tuan/manifest.json b/atguigu-tuan/manifest.json deleted file mode 100644 index 71f216e..0000000 --- a/atguigu-tuan/manifest.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "atguigu-tuan", - "appid": "__UNI__3804DB8", - "description": "", - "versionName": "1.0.0", - "versionCode": "100", - "transformPx": false, - /* 5+App特有相关 */ - "app-plus": { - "usingComponents": true, - "nvueStyleCompiler": "uni-app", - "compilerVersion": 3, - "splashscreen": { - "alwaysShowBeforeRender": true, - "waiting": true, - "autoclose": true, - "delay": 0 - }, - /* 模块配置 */ - "modules": {}, - /* 应用发布信息 */ - "distribute": { - /* android打包配置 */ - "android": { - "permissions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - /* ios打包配置 */ - "ios": {}, - /* SDK配置 */ - "sdkConfigs": {} - } - }, - /* 快应用特有相关 */ - "quickapp": {}, - /* 小程序特有相关 */ - "mp-weixin": { - "appid": "wx2edefe049c6a37b9", - "setting": { - "urlCheck": false, - "es6": true, - "postcss": true, - "minified": true - }, - "usingComponents": true, - "permission": { - "scope.userLocation": { - "desc": "获取地理位置" - } - } - }, - "mp-alipay": { - "usingComponents": true - }, - "mp-baidu": { - "usingComponents": true - }, - "mp-toutiao": { - "usingComponents": true - }, - "uniStatistics": { - "enable": false - }, - "vueVersion": "2" -} diff --git a/atguigu-tuan/pagesLocation/myPickUpLocation/myPickUpLocation.vue b/atguigu-tuan/pagesLocation/myPickUpLocation/myPickUpLocation.vue deleted file mode 100644 index ff9cc17..0000000 --- a/atguigu-tuan/pagesLocation/myPickUpLocation/myPickUpLocation.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - - - diff --git a/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/vendor.js b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/vendor.js deleted file mode 100644 index 74a915d..0000000 --- a/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/vendor.js +++ /dev/null @@ -1,26191 +0,0 @@ -(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/vendor"], { - - /***/ 1: - /*!*********************************************************!*\ - !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js ***! - \*********************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - "use strict"; - - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = void 0; - var objectKeys = ['qy', 'env', 'error', 'version', 'lanDebug', 'cloud', 'serviceMarket', 'router', 'worklet', '__webpack_require_UNI_MP_PLUGIN__']; - var singlePageDisableKey = ['lanDebug', 'router', 'worklet']; - var target = typeof globalThis !== 'undefined' ? globalThis : function () { - return this; - }(); - var key = ['w', 'x'].join(''); - var oldWx = target[key]; - var launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null; - - function isWxKey(key) { - if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) { - return false; - } - return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'; - } - - function initWx() { - var newWx = {}; - for (var _key in oldWx) { - if (isWxKey(_key)) { - // TODO wrapper function - newWx[_key] = oldWx[_key]; - } - } - return newWx; - } - - target[key] = initWx(); - var _default = target[key]; - exports.default = _default; - - /***/ - }), - - /***/ 10: - /*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***! - \****************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports) { - - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 103: - /*!*************************************************************************!*\ - !*** /Users/yovinchen/project/Java/ssyx/atguigu-tuan/common/svgIcon.js ***! - \*************************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - "use strict"; - - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.recommend = exports.invite = exports.fruit = exports.discount = void 0; - var fruit = 'data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iODEiIGhlaWdodD0iODEiPjxwYXRoIGQ9Ik01NDMuNjQyIDI2NC4zOTdjNS4xNDUtNi45ODkgOC4yNDMtMTUuNTkgOC4yNDMtMjQuOTYgMC0yMy4yOTYtMTguODY3LTQyLjE2My00Mi4xNjMtNDIuMTYzLTE3LjIzIDAtMzIuMDUyIDEwLjM2OC0zOC41OCAyNS4xOS0xMTYuMjI0LTQwLjc4LTI2MC44MzggMTQuNzQ2LTM0NC45MDggMTQwLjY0Ni05My42MiAxNDAuMTg2LTc3LjkyNyAzMTYuMjEyIDMzLjEyNiA0MDEuMTAxLTUuMjc0IDcuMDQtOC40NDggMTUuNzctOC40NDggMjUuMjQyIDAgMjMuMjk2IDE4Ljg2NyA0Mi4xNjMgNDIuMTYzIDQyLjE2MyAxOS4wNzIgMCAzNS4xNDktMTIuNjcyIDQwLjM3MS0zMC4wMjkgMTE0LjA0OCAzMy4xNTIgMjUxLjgwMi0yMi43ODQgMzMzLjA1Ni0xNDQuNDYgOTAuNjI0LTEzNS43MDYgNzguNzk3LTMwNS4wNzYtMjIuODYtMzkyLjczeiIgZmlsbD0iI0Y5QzA1RCIvPjxwYXRoIGQ9Ik01NTguMzEgMjg5LjUxUzMzMC43MjYgMzAxLjkgMjY1LjQ5OCA1MzMuM2MtNTQuOTEyIDE5NC43OSA1Ni4yMTcgMjY5LjI4NiA1Ni4yMTcgMjY5LjI4Nmw4MS40Ni0xOC4zMDRzLTk1LjU5MS05OS4zMjgtNjQuNzk0LTI1Ny42MzljMTcuMzMxLTU4LjcyNiA1NS4yMTktMTY3Ljg4NSAyMzAuNC0yMTAuNjg4IDMuODkxLTIxLjM3Ni0xMC40Ny0yNi40NDUtMTAuNDctMjYuNDQ1eiIgZmlsbD0iI0VBQTI0MiIvPjxwYXRoIGQ9Ik0zMzguMzU1IDU4NS45MDdhMjY5LjYyIDI2OS42MiAwIDEgMCA1MzkuMjM5IDAgMjY5LjYyIDI2OS42MiAwIDEgMC01MzkuMjM5IDB6IiBmaWxsPSIjRkZFMDhBIi8+PHBhdGggZD0iTTI0NS4yMjIgMzU3Ljc4NmExNS4zMyAxNS4zMyAwIDAgMS0xMS40NDMtNS4wOTVjLTUuNjU3LTYuMzIzLTUuMTQ1LTE2LjAyNSAxLjE3OC0yMS42ODMgMS43OTItMS42MTMgNDQuMTYtMzkuMzczIDg3LjgzMy01NS44ODUgNy45MzYtMi45OTUgMTYuNzk0Ljk5OSAxOS43OSA4LjkzNSAyLjk5NCA3LjkzNi0xIDE2Ljc5My04LjkzNSAxOS43ODgtMzguMjQ3IDE0LjQ2NC03Ny43OTkgNDkuNjY0LTc4LjE4MyA1MC4wMjNhMTUuMTk0IDE1LjE5NCAwIDAgMS0xMC4yNCAzLjkxN3pNMzcwLjM1NSAyNzQuMzU1YTE2LjM4NCAxNi4zODQgMCAxIDAgMzIuNzY4IDAgMTYuMzg0IDE2LjM4NCAwIDEgMC0zMi43NjggMHoiIGZpbGw9IiNGN0Y4RjgiLz48cGF0aCBkPSJNNzA3LjEyMyAzMzUuMTA0YzEyLjg3Ny0yNC4zMiAyMS43ODYtOTAuMDYgMTAuNjc1LTEyMy4zOTItNzUuMzQgMjcuNDk0LTEwNi41OTggNzAuOTYzLTExOS40NSAxMDQuNzggMy4yLS4xMDIgNi40LS4xNzggOS42MjYtLjE3OCAxMDAuMTQ4IDAgMTg3LjU0NiA1NC42MDQgMjM0LjAzNiAxMzUuNjU0IDYzLjUzOS0zOS44MzQgMTEyLjg5Ni0xMTEuODQ2IDEyNC44LTE2MC41MTItMTI0Ljg1Mi0zNi42MDgtMjE0LjQuNjY2LTI1OS42ODcgNDMuNjQ4eiIgZmlsbD0iIzY0RDg4MiIvPjxwYXRoIGQ9Ik05NTEuNzgyIDI5Ny45ODRzLTc0LjUyMSA2NS4zNTctMTQ1LjEgODYuMjcyYzMwLjA1NCA0MC41MjUgNDQuMDA2IDYxLjk3OCA0NC4wMDYgNjEuOTc4czk5Ljc4OS04NS41MDQgMTAxLjA5NC0xNDguMjV6IiBmaWxsPSIjNTJDMTY5Ii8+PHBhdGggZD0iTTc5OC43NzEgNjAxLjI2N0g0MTQuODIyYy04LjQ3MyAwLTE1LjM2LTYuODg2LTE1LjM2LTE1LjM2czYuODg3LTE1LjM2IDE1LjM2LTE1LjM2aDM4My45NWM4LjQ3MyAwIDE1LjM2IDYuODg3IDE1LjM2IDE1LjM2cy02Ljg4NyAxNS4zNi0xNS4zNiAxNS4zNnoiIGZpbGw9IiNFQUEyNDIiLz48cGF0aCBkPSJNNjA2Ljc5NyA3OTMuMjQyYy04LjQ3NCAwLTE1LjM2LTYuODg3LTE1LjM2LTE1LjM2di0zODMuOTVjMC04LjQ3MyA2Ljg4Ni0xNS4zNiAxNS4zNi0xNS4zNnMxNS4zNiA2Ljg4NyAxNS4zNiAxNS4zNnYzODMuOTVjMCA4LjQ3My02Ljg2MSAxNS4zNi0xNS4zNiAxNS4zNnoiIGZpbGw9IiNFQUEyNDIiLz48cGF0aCBkPSJNNDcxLjA2NiA3MzcuMDI0YTE1LjM2IDE1LjM2IDAgMCAxLTEwLjg1NS0yNi4yMTRMNzMxLjcgNDM5LjI5NmExNS4zNiAxNS4zNiAwIDAgMSAyMS43MDkgMGM1Ljk5IDUuOTkgNS45OSAxNS43MTggMCAyMS43MzRMNDgxLjkyIDczMi41MThhMTUuMzM3IDE1LjMzNyAwIDAgMS0xMC44NTQgNC41MDZ6IiBmaWxsPSIjRUFBMjQyIi8+PHBhdGggZD0iTTc0Mi41NTQgNzM3LjAyNGMtMy45NDMgMC03Ljg2LTEuNTEtMTAuODU1LTQuNTA2TDQ2MC4xODYgNDYxLjAzYy01Ljk5LTUuOTktNS45OS0xNS43MTggMC0yMS43MzRhMTUuMzYgMTUuMzYgMCAwIDEgMjEuNzA4IDBMNzUzLjQwOCA3MTAuODFhMTUuMzYgMTUuMzYgMCAwIDEtMTAuODU0IDI2LjIxNHoiIGZpbGw9IiNFQUEyNDIiLz48cGF0aCBkPSJNODM0LjI3OCA4MzkuODM0Yy0xNS4xNTUgMC0yNy40NDMgMTIuMjg4LTI3LjQ0MyAyNy40NDNzMTIuMjg4IDI3LjQ0MyAyNy40NDMgMjcuNDQzIDI3LjQ0NC0xMi4yODggMjcuNDQ0LTI3LjQ0My0xMi4yNjMtMjcuNDQzLTI3LjQ0NC0yNy40NDN6TTQwOS44NTYgODk0Ljc0NmExOS40MDUgMTkuNDA1IDAgMSAwIDM4LjgxIDAgMTkuNDA1IDE5LjQwNSAwIDEgMC0zOC44MSAwek05NzMuMjg2IDI2OS4zMzhjLTEwNS4yNDEtMzAuODQ4LTE4MS42MzItMTEuMzY3LTIyOS4zMjQgMTIuNjk3IDMuMTIzLTI3LjkzIDIuMzgtNTcuNDcyLTQuMzI3LTc3LjYxOWEyMy4wNTggMjMuMDU4IDAgMCAwLTI5Ljc3My0xNC4zNjJjLTY0LjQ4NiAyMy41MjctOTkuODE0IDU4LjQ0NS0xMTkuMTkzIDkwLjA2MWEyNTkuODcyIDI1OS44NzIgMCAwIDAtMTguODE2LTIwLjk5MmMyLjAyMi02LjMyMyAzLjA0Ni0xMi45NTMgMy4wNDYtMTkuNzEyIDAtMzUuOTQyLTI5LjIzNS02NS4yMDMtNjUuMjAzLTY1LjIwM2E2NS4xMjYgNjUuMTI2IDAgMCAwLTQ4LjA1MSAyMS4xNzFjLTU3LjgwNS0xNS43MTgtMTIyLjI5MS0xMS4wODUtMTgzLjYwMyAxMy40OTEtNjcuNDA1IDI3LjAwOC0xMjguMTI4IDc3LjIzNi0xNzAuOTgzIDE0MS40MTVDMTEuMzQxIDQ5My42NyAyMi43ODQgNjczLjk3IDEzMC43MTQgNzcwLjQwNmE2NS4xNiA2NS4xNiAwIDAgMC0yLjg0MiAxOS4wNzJjMCAzNS45NDMgMjkuMjM1IDY1LjIwNCA2NS4yMDMgNjUuMjA0IDIwLjg2NCAwIDQwLjE2Ny0xMC4xOSA1Mi4yNzUtMjYuMzQzIDU3LjAxMiAxMi4wODMgMTE3LjQyOCA0LjcxIDE3My44NzYtMTguOTQ0IDUwLjk5NSA0My4xMzYgMTE2Ljg5IDY5LjE5NyAxODguNzQ4IDY5LjE5NyAxNjEuMzgzIDAgMjkyLjY2LTEzMS4yNzcgMjkyLjY2LTI5Mi42NiAwLTQ1LjI2LTEwLjM0My04OC4xNjYtMjguNzc1LTEyNi40ODkgNjEuNjItNDUuNTE3IDEwNS43OC0xMTUuMzc5IDExNy4zMjUtMTYyLjQ4MyAyLjk0NC0xMS45OC00LjA3LTI0LjE0LTE1Ljg5OC0yNy42MjJ6bS0yNzMuNTYxLTI0Ljk2Yy43MTcgMjAuMTcyLTIuMjI3IDQ0LjA4My02LjU4IDYxLjU0MmEyOTAuMTk0IDI5MC4xOTQgMCAwIDAtNTYuNjc4LTExLjI2NGMxMi44NTEtMTcuMjI5IDMyLjY2Ni0zNS4yMjYgNjMuMjU4LTUwLjI3OHptLTQ1OS44NTMgNTM1LjA5Yy0xMi4xMzQtMy41MDYtMjQuODU4IDMuMzgtMjguNDkzIDE1LjQ4OS0yLjQwNiA4LjAxMy05LjkzMyAxMy42MTktMTguMzA0IDEzLjYxOS0xMC41NDcgMC0xOS4xMjMtOC41NzYtMTkuMTIzLTE5LjEyMyAwLTUuMTk3IDIuMS05LjA4OCAzLjg0LTExLjQxOCA3LjU3OC0xMC4xMTIgNS42MDYtMjQuNDQ4LTQuNDI5LTMyLjEyOC0xMDIuMTE4LTc4LjA1NC0xMTQuNDA2LTI0MC41ODktMjcuOTgtMzY5Ljk5NyA2MC4xNi05MC4wODYgMTU2LjA1Ny0xNDMuNTY0IDI0Ni45MzctMTQzLjU2NCAyNC4zNDYgMCA0OC4zNTggMy44NCA3MS4xOTQgMTEuODUyYTIzLjAwMiAyMy4wMDIgMCAwIDAgMjguNjk3LTEyLjQ0MWMzLjA3Mi02LjkzOCA5LjkzMy0xMS40NDMgMTcuNDg1LTExLjQ0MyAxMC41NDcgMCAxOS4xMjMgOC41NzYgMTkuMTIzIDE5LjEyMyAwIDUuMTItMi4wMjIgOC45Ni0zLjczNyAxMS4yOWEyMy4wMyAyMy4wMyAwIDAgMCAzLjUwNyAzMS4xMDNjNi41MDIgNS42MDcgMTIuNTQ0IDExLjU5NyAxOC4yMjcgMTcuODctMTMyLjA5NiAyOC4yMS0yMzEuNSAxNDUuODE3LTIzMS41IDI4Ni4yMDcgMCA3MS40NSAyNS43NTMgMTM2Ljk4NiA2OC40NTQgMTg3Ljg1My00Ny43MTkgMTYuNDEtOTcuNjEzIDE5LjE3NC0xNDMuODk4IDUuNzA5em0zNjguMTAyIDUzLjAxOGMtNTMuNDc4IDAtMTAzLjAxNC0xNy4xMjYtMTQzLjQ2Mi00Ni4xMyAwIDAtMzEuNjE2LTIyLjE3LTM2LjUwNi0zMi4wNTItNDEuMjkyLTQ0LjEwOS02Ni42MzYtMTAzLjM0Ny02Ni42MzYtMTY4LjM5NyAwLTEyNS4xODQgOTMuNzcyLTIyOC44OSAyMTQuNzU4LTI0NC41MzEgMCAwIDMzLjYxMy02LjQ1MSA1MC41MzQtMS4zMDYgNDUuNDQgMy40ODIgODguNjI4IDE5LjUzMyAxMjQuOTU0IDQ1LjU2OGwuNTYzLjQxYzEuNjEzIDEuMTUyIDMuMiAyLjM1NSA0Ljc4NyAzLjU1OC44Mi42MTUgMS42MzkgMS4yMyAyLjQzMiAxLjg3YTE2NS43NyAxNjUuNzcgMCAwIDEgMi4yMDIgMS43NjZjNTYuNjAyIDQ1LjIxIDkyLjkyOCAxMTQuNzkgOTIuOTI4IDE5Mi42OS4wMjYgMTM1LjkzNy0xMTAuNTkyIDI0Ni41NTQtMjQ2LjU1NCAyNDYuNTU0ek04NDguNTkgNDE5LjMwMmEyOTIuNDAzIDI5Mi40MDMgMCAwIDAtNTkuMjktNjIuOTI0Yy0uNTYzLS40NjEtMS4xNTItLjg5Ni0xLjcxNS0xLjMzMi0xLjE1Mi0uODk2LTIuMzA0LTEuNzY2LTMuNDU2LTIuNjYyLTEuNDM0LTEuMDc1LTIuODkzLTIuMTUtNC4zNTItMy4yMjYtLjQxLS4zMDctLjg0NS0uNjE0LTEuMjU0LS45MjFhMjkyLjU5NyAyOTIuNTk3IDAgMCAwLTI3LjQ5NS0xNy41NjJjMzQuNDgzLTIwLjk5MiA5NS45MjMtNDMuNDk0IDE4Ni4wMzUtMjMuMTY4LTE1LjM4NSAzNi4xOTktNDcuODcyIDgwLjUzOC04OC40NzMgMTExLjc5NXoiIGZpbGw9IiM0NzRFNTQiLz48L3N2Zz4='; - exports.fruit = fruit; - var discount = 'data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iODEiIGhlaWdodD0iODEiPjxwYXRoIGQ9Ik05MjMuNTI0IDUxNC42NjZMNjIxLjU2MiAxMDMuMTk5YTguNzk1IDguNzk1IDAgMCAwLTcuMDYxLTMuNTg5bC0yNjQuMjI3LS44MzhoLS4wMjdhOC43OSA4Ljc5IDAgMCAwLTguMzk2IDYuMTg1bC00My4xMTMgMTM4LjgxMS0xMTIuNjM5LS4zNThoLS4wMjdhOC43OSA4Ljc5IDAgMCAwLTguMzk2IDYuMTg0bC03OC41MDggMjUyLjc3YTguNzg2IDguNzg2IDAgMCAwIDEuMzA5IDcuODExbDMwMS45NjEgNDExLjQ2NmE4Ljc5NSA4Ljc5NSAwIDAgMCAxMi4yOTcgMS44ODNsMzQyLjczNC0yNTEuOTNhOC43OTQgOC43OTQgMCAwIDAgMS44ODEtMTIuMjg5bC02LjIyMy04LjQ3OSAxNjguNTE4LTEyMy44NzFjMy45MDktMi44NzcgNC43NTEtOC4zNzcgMS44NzktMTIuMjg5em0tNTA3LjUzIDI0NC41OTJhNi44MzIgNi44MzIgMCAwIDEtOS41MjMtMS42ODIgNi44MzcgNi44MzcgMCAwIDEgMS42ODMtOS41MjNsOTAuNjY2LTYzLjQyOCA3LjIwNy01LjA0MyA3LjIwNy01LjA0MS0zOC41MDgtNTIuNDczLTcuMjA3IDUuMDQxLTcuMjA3IDUuMDQzLTkyLjE4NCA2NC40ODhhNi44MTQgNi44MTQgMCAwIDEtMy45MTQgMS4yMzYgNi44MjcgNi44MjcgMCAwIDEtNS42MDktMi45MiA2LjgzNiA2LjgzNiAwIDAgMSAxLjY4NC05LjUyM2w5MS45My02NC4zMTEgNy4yMDctNS4wNDMgNy4yMDctNS4wNDEtMzguNTEtNTIuNDczLTcuMjA2IDUuMDQxLTcuMjA3IDUuMDQxLTkzLjQ0OCA2NS4zNzVhNi44MzMgNi44MzMgMCAwIDEtOS41MjMtMS42ODQgNi44MzYgNi44MzYgMCAwIDEgMS42ODMtOS41MjNsOTMuMTk0LTY1LjE5NyA3LjIwNy01LjA0MSA3LjIwNy01LjA0MS01OS4zNzMtODAuOTA1YTc0Ljc1IDc0Ljc1IDAgMCAxLTYuNDI4IDYuMTA0IDc0LjU0NyA3NC41NDcgMCAwIDEtMy45ODggMy4xNjUgNzcuNDgxIDc3LjQ4MSAwIDAgMS0zLjA0MyAyLjExNmMtMzMuMDM5IDIxLjg0Mi03Ny45MDYgMTQuMDk4LTEwMS41OTItMTguMTc3LTI0LjQyLTMzLjI3NC0xNy4yMTUtODAuMjE0IDE2LjA2MS0xMDQuNjM0YTc0LjYxMiA3NC42MTIgMCAwIDEgMy4xMzctMi4xODIgNzQuNTEyIDc0LjUxMiAwIDAgMSAxMS4wNy02LjAwMiA3My45MTggNzMuOTE4IDAgMCAxIDEwLjM0NC0zLjY1NmwzMC45MTYtOTkuNTQzIDM5LjU4NC0xMjcuNDQ2IDI1My4yOTMuODAyIDI5NC4xNDEgNDAwLjgwOC0xNjEuNDMxIDExOC42Ni0xNjcuMTM4IDEyMi44NTgtNTQuMjU2LTczLjkzNC03LjIwNSA1LjA0MS03LjIwNyA1LjA0MS05MC45MjEgNjMuNjA2eiIgZmlsbD0iI0QzMjA1NSIvPjxwYXRoIGQ9Ik0yODguNzE2IDM4My40NjhhMzYuMjQxIDM2LjI0MSAwIDAgMC03LjE5MSA1LjA2MWMtMTMuNjk2IDEyLjM1OS0xNi4wODYgMzMuMzkzLTQuOTQxIDQ4LjU3OSAxMS4xNDUgMTUuMTg4IDMxLjkyNiAxOS4yMTUgNDcuODI0IDkuODU1YTM2LjIzMiAzNi4yMzIgMCAwIDAgMy4wOTgtMi4wMzkgMzYuNzE3IDM2LjcxNyAwIDAgMCAzLjg4OS0zLjMwNCAzNi4xMzggMzYuMTM4IDAgMCAwIDUuNjczLTcuMTNsLTM5Ljg0Ny01NC4yOTdhMzYuMTU3IDM2LjE1NyAwIDAgMC04LjUwNSAzLjI3NXptMjI1LjY5OS01Mi4yMDRhNzUuMjI3IDc1LjIyNyAwIDAgMCAyLjY3Ni0yLjA3MmMzMC45NjMtMjQuOTI0IDM3LjEzMi03MC4yMDIgMTMuMzgzLTEwMi41NjItMjQuNDE5LTMzLjI3NC03MS4zNTktNDAuNDc5LTEwNC42MzMtMTYuMDYtMTIuMDAxIDguODA3LTIwLjU5IDIwLjU0OS0yNS41NDkgMzMuNTE3LTguNzg5IDIyLjk4OS02LjEyNSA0OS44NDMgOS40ODggNzEuMTE4IDI0LjQyIDMzLjI3NCA3MS4zNTggNDAuNDc5IDEwNC42MzUgMTYuMDU5em0tNzMuNjU2LTM4Ljc5NGMtMTEuMDQ1LTE1LjA1LTguNzg5LTM1LjgzNyA0LjU4Mi00OC4yMzlhMzYuNTc3IDM2LjU3NyAwIDAgMSAzLjIzNC0yLjY4MmMxNi4xOTMtMTEuODg1IDM5LjAzNy04LjM3OCA1MC45MiA3LjgxNiAxMS4yMTEgMTUuMjcyIDguNzIzIDM2LjQ1Ni01LjE4NCA0OC43ODdhMzYuNDMgMzYuNDMgMCAwIDEtMi42MzEgMi4xMzVjLTE2LjE5NSAxMS44ODQtMzkuMDM3IDguMzc4LTUwLjkyMS03LjgxN3oiIGZpbGw9IiNEMzIwNTUiLz48cGF0aCBkPSJNNTU4LjM3NCA2NDMuMDU3bDcuOTU3IDEwLjg4NSAxLjMzMiAxLjgyMmE2Ljg0MyA2Ljg0MyAwIDAgMCA5LjU1NyAxLjQ4NWwxMTcuNTU0LTg1LjkzOEw4MDguNjkgNDg4LjAzYTYuODM3IDYuODM3IDAgMCAwIDEuNDg1LTkuNTU2TDcxMC4wNDggMzQxLjUxMmE2Ljg0NSA2Ljg0NSAwIDAgMC00LjQ3Mi0yLjcyMyA2Ljg1OSA2Ljg1OSAwIDAgMC01LjA4NSAxLjIzNmwtMTE0LjE4OCA4My40NzktMTE3LjI4MSA4NS43NGE2LjgzOSA2LjgzOSAwIDAgMC0yLjM2OSA3LjkxYy4yMTUuNTcyLjUwNCAxLjEyOS44ODMgMS42NDhsNC44NDYgNi42MjUgMzkuNzgzIDU0LjQyIDcuMzU5IDEwLjA2OCAzOC44NSA1My4xNDJ6IiBmaWxsPSIjRTNCOTMzIi8+PC9zdmc+'; - exports.discount = discount; - var invite = 'data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iODEiIGhlaWdodD0iODEiPjxwYXRoIGQ9Ik04MDcuMiA0MzcuMVYyMDEuMmMwLTI5LjQtMjMuOC01My4yLTUzLjItNTMuMkgyNzYuNWMtMjkuNCAwLTUzLjIgMjMuOC01My4yIDUzLjJ2MjM1LjljMCA2LjEtNC4zIDExLjUtMTAuMyAxMi43bC0zMC44IDYuNGMtMjEuNyA0LjUtMzcuMiAyMy42LTM3LjIgNDUuOHYyODcuN2MwIDQ0LjIgMzUuOSA4MC4xIDgwLjEgODAuMWg1ODAuNGM0NC4yIDAgODAuMS0zNS45IDgwLjEtODAuMVY1MDJjMC0yMi4yLTE1LjYtNDEuMi0zNy4yLTQ1LjhsLTMwLjgtNi40Yy02LjEtMS4zLTEwLjQtNi41LTEwLjQtMTIuN3oiIGZpbGw9IiNGRjU1NkUiLz48cGF0aCBkPSJNMjc2LjUgMTQ4Yy0yOS40IDAtNTMuMiAyMy44LTUzLjIgNTMuMnYxMy4xYzMxLTI2LjggNjUuNy00OS4zIDEwMy41LTY2LjNoLTUwLjN6bTUzMC43IDk2di00Mi45YzAtMjkuNC0yMy44LTUzLjItNTMuMi01My4yaC04MS4yYzUxIDIzLjEgOTYuNiA1NS45IDEzNC40IDk2LjF6TTE0NS4xIDc2MC4ydjI5LjVjMCA0NC4yIDM1LjkgODAuMSA4MC4xIDgwLjFoMjEuOWMtNDAuMy0zMC4yLTc0LjgtNjcuNC0xMDItMTA5LjZ6bTc0MC41IDI5LjV2LTg2LjljLTI5LjQgNjYuNC03NS40IDEyMy44LTEzMi44IDE2Ni45aDUyLjdjNDQuMiAwIDgwLjEtMzUuOSA4MC4xLTgweiIgZmlsbD0iI0ZGNTU2RSIvPjxwYXRoIGQ9Ik0xNDUuMSA2NDkuMnYxMTFjMjcuMiA0Mi4zIDYxLjggNzkuNSAxMDIgMTA5LjZoMTY4LjJDMjkyLjIgODQ3IDE5MSA3NjIuMyAxNDUuMSA2NDkuMnptNzQwLjUgNTMuNlY1MDJjMC0yMi4yLTE1LjYtNDEuMi0zNy4yLTQ1LjhsLTguMi0xLjdjMyAxOSA0LjcgMzguNCA0LjcgNTguMSAwIDE3Ny45LTEyNy44IDMyNS44LTI5Ni43IDM1N2gyMDQuNmM1Ny4zLTQzIDEwMy4zLTEwMC40IDEzMi44LTE2Ni44em0tNDA0LTU1My4yYzE0Mi43IDAgMjY2LjEgODIuMyAzMjUuNSAyMDIuMVYyNDRjLTM3LjctNDAuMi04My4zLTczLTEzNC4yLTk1LjloLTM0NmMtMzcuOCAxNy03Mi42IDM5LjUtMTAzLjQgNjYuM3Y0My4xYzY1LjctNjYuNiAxNTcuMS0xMDcuOSAyNTguMS0xMDcuOXoiIGZpbGw9IiNGRjVGNzEiLz48cGF0aCBkPSJNODQ0LjcgNTEyLjdjMC0xOS44LTEuNi0zOS4zLTQuNy01OC4xbC0yMi42LTQuN2MtNi0xLjMtMTAuMy02LjYtMTAuMy0xMi43di04NS40Qzc0Ny43IDIzMiA2MjQuMyAxNDkuNyA0ODEuNiAxNDkuN2MtMTAxIDAtMTkyLjQgNDEuMi0yNTguMyAxMDcuOHY0Ny43YzU1LjgtNzEuMSAxNDIuNS0xMTYuOCAyMzkuOS0xMTYuOCAxNjguMyAwIDMwNC42IDEzNi40IDMwNC42IDMwNC42UzYzMS42IDc5Ny41IDQ2My4zIDc5Ny41IDE1OC43IDY2MS4xIDE1OC43IDQ5Mi45YzAtOC40LjQtMTYuNiAxLTI0LjktOSA4LjYtMTQuNiAyMC43LTE0LjYgMzMuOXYxNDcuM0MxOTEgNzYyLjIgMjkyLjMgODQ3IDQxNS4yIDg2OS43aDEzM2MxNjguNy0zMS4yIDI5Ni41LTE3OS4xIDI5Ni41LTM1N3oiIGZpbGw9IiNGRjY5NzQiLz48cGF0aCBkPSJNNDYzLjMgNzk3LjVjMTY4LjMgMCAzMDQuNi0xMzYuNCAzMDQuNi0zMDQuNlM2MzEuNiAxODguMiA0NjMuMyAxODguMmMtOTcuNCAwLTE4NC4xIDQ1LjctMjM5LjkgMTE2Ljh2NjAuNGMzOS45LTgyIDEyNC4xLTEzOC43IDIyMS41LTEzOC43IDEzNiAwIDI0Ni4zIDExMC4yIDI0Ni4zIDI0Ni4zUzU4MC45IDcxOS4zIDQ0NSA3MTkuMyAxOTguOCA2MDkuMSAxOTguOCA0NzNjMC02LjkuMy0xMy43LjktMjAuNGwtMTcuMyAzLjZjLTguNyAxLjgtMTYuNCA2LTIyLjYgMTEuOC0uNyA4LjItMSAxNi41LTEgMjQuOS0uMSAxNjguMiAxMzYuMyAzMDQuNiAzMDQuNSAzMDQuNnoiIGZpbGw9IiNGRjczNzciLz48cGF0aCBkPSJNNDQ1IDcxOS4zYzEzNiAwIDI0Ni4zLTExMC4yIDI0Ni4zLTI0Ni4zUzU4MC45IDIyNi44IDQ0NSAyMjYuOGMtOTcuNCAwLTE4MS43IDU2LjYtMjIxLjUgMTM4Ljd2NzEuNmMwIDYuMS00LjMgMTEuNS0xMC4zIDEyLjdsLTEzLjUgMi44Yy0uNiA2LjctLjkgMTMuNS0uOSAyMC40IDAgMTM2LjEgMTEwLjIgMjQ2LjMgMjQ2LjIgMjQ2LjN6bS0xOC4yLTQ1My44YzEwMy43IDAgMTg3LjggODQuMSAxODcuOCAxODcuOHMtODQuMSAxODcuOC0xODcuOCAxODcuOFMyMzkgNTU3IDIzOSA0NTMuM3M4NC4xLTE4Ny44IDE4Ny44LTE4Ny44eiIgZmlsbD0iI0ZGN0U3QSIvPjxwYXRoIGQ9Ik00MjYuOCA2NDFjMTAzLjcgMCAxODcuOC04NC4xIDE4Ny44LTE4Ny44cy04NC4xLTE4Ny44LTE4Ny44LTE4Ny44UzIzOSAzNDkuNSAyMzkgNDUzLjIgMzIzLjEgNjQxIDQyNi44IDY0MXptLTE4LjQtMzM3YzcxLjQgMCAxMjkuNCA1Ny45IDEyOS40IDEyOS40cy01Ny45IDEyOS41LTEyOS40IDEyOS41UzI3OSA1MDQuOSAyNzkgNDMzLjUgMzM3IDMwNCA0MDguNCAzMDR6IiBmaWxsPSIjRkY4ODdEIi8+PHBhdGggZD0iTTMxNi45IDUyNS4wMjJBMTI5LjQgMTI5LjQgMCAxIDAgNDk5Ljg5NCAzNDIuMDIgMTI5LjQgMTI5LjQgMCAxIDAgMzE2LjkgNTI1LjAyMnoiIGZpbGw9IiNGRjkyODAiLz48cGF0aCBkPSJNODA1LjUgODc4LjhIMjI1LjFjLTQ5LjEgMC04OS4xLTQwLTg5LjEtODkuMVY1MDJjMC0yNi4zIDE4LjctNDkuMyA0NC40LTU0LjZsMzAuOC02LjRjMS44LS40IDMuMS0yIDMuMS0zLjlWMjAxLjJjMC0zNC4zIDI3LjktNjIuMiA2Mi4yLTYyLjJINzU0YzM0LjMgMCA2Mi4yIDI3LjkgNjIuMiA2Mi4ydjIzNS45YzAgMS45IDEuMyAzLjUgMy4zIDMuOWwzMC44IDYuNGMyNS43IDUuNSA0NC40IDI4LjQgNDQuNCA1NC42djI4Ny43Yy0uMSA0OS4xLTQwLjEgODkuMS04OS4yIDg5LjF6TTI3Ni41IDE1N2MtMjQuNCAwLTQ0LjIgMTkuOC00NC4yIDQ0LjJ2MjM1LjljMCAxMC40LTcuNCAxOS41LTE3LjUgMjEuNUwxODQgNDY1Yy0xNy40IDMuNi0zMCAxOS4yLTMwIDM3djI4Ny43YzAgMzkuMiAzMS45IDcxLjEgNzEuMSA3MS4xaDU4MC40YzM5LjIgMCA3MS4xLTMxLjkgNzEuMS03MS4xVjUwMmMwLTE3LjctMTIuNi0zMy4zLTMwLjEtMzdsLTMwLjgtNi40Yy0xMC40LTIuMi0xNy42LTExLTE3LjYtMjEuNVYyMDEuMmMwLTI0LjQtMTkuOC00NC4yLTQ0LjItNDQuMkgyNzYuNXoiIGZpbGw9IiNFRjQ4NjgiLz48cGF0aCBkPSJNNzY0LjUgNTI5LjNMNTQ1LjEgNjM0LjdjLTE4LjkgOS00MC43IDktNTkuNiAwTDI2Ni4xIDUyOS4zYy0xMi4yLTUuOC0yNi40IDMtMjYuNCAxNi42djE5OC44YzAgMjAuMyAxNi40IDM2LjcgMzYuNyAzNi43aDQ3Ny43YzIwLjMgMCAzNi43LTE2LjQgMzYuNy0zNi43VjU0NS45Yy4xLTEzLjYtMTQtMjIuNS0yNi4zLTE2LjZ6bS0yNTcuNi05My41YzIuNSAxLjkgNS4zIDIuNyA4LjQgMi43IDIuOSAwIDUuOC0xIDguNC0yLjcgMi41LTEuOSA2MC44LTQxLjcgODUuMS03OC40IDguNC0xMi42IDE4LjgtMjguNCAxOC44LTUwLjggMC0zNy42LTI5LjEtNjguMy02NC42LTY4LjMtMTkuNyAwLTM1LjQgOS42LTQ3LjQgMjUuNC0xMi4xLTE1LjctMjcuNy0yNS40LTQ3LjQtMjUuNC0zNS43IDAtNjQuOCAzMC42LTY0LjggNjguMyAwIDIyLjUgMTAuNCAzOC4zIDE4LjggNTAuOCAyMy44IDM2LjggODIuMSA3Ni41IDg0LjcgNzguNHoiIGZpbGw9IiNGRkM3QzciLz48cGF0aCBkPSJNMzQwLjEgMTg4LjJoLTljLTM0LjIgMC02MiAyNy44LTYyIDYydjY1LjZjMCA5LjkgOC4xIDE4IDE4IDE4czE4LTguMSAxOC0xOHYtNjUuNmMwLTE0LjQgMTEuNy0yNiAyNi0yNmg5YzkuOSAwIDE4LTguMSAxOC0xOHMtOC4xLTE4LTE4LTE4em0tNTMgMTY5LjdjLTkuOSAwLTE4IDguMS0xOCAxOHYxMmMwIDkuOSA4LjEgMTggMTggMThzMTgtOC4xIDE4LTE4di0xMmMwLTEwLTguMS0xOC0xOC0xOHoiIGZpbGw9IiNGRkYiLz48L3N2Zz4='; - exports.invite = invite; - var recommend = 'data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iODEiIGhlaWdodD0iODEiPjxwYXRoIGQ9Ik04MjYuMzY4IDI1My42NDVjLTU3LjM0NC01Ny4zNDQtMTQyLjQzOC02OS45NC0yMTIuMDItMzcuODM3LTMzLjc0IDE4NC4xMTUtMjMxLjM3MiAzMDguMjc1LTQ0OS41ODYgMjc5LjE0Mi0zLjIyNi0uNDEtNi4zNS0uOTcyLTkuNTc1LTEuNDg0IDYuNCA5LjI2NyAxMy42NyAxOC4xMjQgMjEuOTY1IDI2LjQxOWw1OC40MiA1OC40MTkgMjU4Ljk2OSAyNTguOTdjMy45OTMgMy45OTMgMTAuNDk2IDMuOTkzIDE0LjQ5IDBMNzY4IDU3OC4zMDRsNTguNDItNTguNDJjNzMuNDcxLTczLjU3NCA3My40NzEtMTkyLjc2Ny0uMDUyLTI2Ni4yNHoiIGZpbGw9IiNmZmUwNDgiLz48cGF0aCBkPSJNNTAxLjc2IDg2MC42NzJjLTguMTkyIDAtMTUuOTIzLTMuMTc0LTIxLjcwOS05LjAxMUwxNjIuNjYyIDUzNC4yNzJjLTgxLjM1Ni04MS4zNTctODEuMzU2LTIxMy44MTEgMC0yOTUuMTY4czIxMy44MTItODEuMzU3IDI5NS4xNjggMGEyMC41MjEgMjAuNTIxIDAgMCAxIDAgMjguOTggMjAuNTIxIDIwLjUyMSAwIDAgMS0yOC45NzkgMGMtNjUuNDMzLTY1LjM4My0xNzEuODI3LTY1LjQzNC0yMzcuMjYgMHMtNjUuNDM0IDE3MS44MjYgMCAyMzcuMjZMNTAxLjc2IDgxNS40NjJsMzEwLjExOC0zMTAuMTE4YzY1LjQzNC02NS40MzQgNjUuNDM0LTE3MS44MjcgMC0yMzcuMjZzLTE3MS44MjctNjUuNDM0LTIzNy4yNiAwTDQ1NC4xNDQgMzg0Ljk3MmEyMC40OCAyMC40OCAwIDAgMS0yOC45OC0uNDYxIDIwLjQ3NSAyMC40NzUgMCAwIDEgLjQ2Mi0yOC45OGwxMjAuMjY4LTExNi42ODRjMzkuMjItMzkuMjIgOTEuNTk3LTYwLjkyOCAxNDcuMzU0LTYwLjkyOHMxMDguMTg2IDIxLjcwOSAxNDcuNjEgNjEuMTMzYzgxLjM1NiA4MS4zNTcgODEuMzU2IDIxMy44MTEgMCAyOTUuMTY4TDUyMy40NjggODUxLjYxYTMwLjE5MyAzMC4xOTMgMCAwIDEtMjEuNzA4IDkuMDYyeiIgZmlsbD0iIzU1NTI0RiIvPjwvc3ZnPg=='; - exports.recommend = recommend; - - /***/ - }), - - /***/ 11: - /*!***************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***! - \***************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 12); - - function _defineProperty(obj, key, value) { - key = toPropertyKey(key); - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; - } - - module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 12: - /*!**************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/toPropertyKey.js ***! - \**************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - var _typeof = __webpack_require__(/*! ./typeof.js */ 13)["default"]; - var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ 14); - - function _toPropertyKey(arg) { - var key = toPrimitive(arg, "string"); - return _typeof(key) === "symbol" ? key : String(key); - } - - module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 13: - /*!*******************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! - \*******************************************************/ - /*! no static exports found */ - /***/ (function (module, exports) { - - function _typeof(obj) { - "@babel/helpers - typeof"; - - return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); - } - - module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 14: - /*!************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/toPrimitive.js ***! - \************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - var _typeof = __webpack_require__(/*! ./typeof.js */ 13)["default"]; - - function _toPrimitive(input, hint) { - if (_typeof(input) !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (_typeof(res) !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - - module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 15: - /*!**********************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/construct.js ***! - \**********************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 16); - var isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct.js */ 17); - - function _construct(Parent, args, Class) { - if (isNativeReflectConstruct()) { - module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports; - } else { - module.exports = _construct = function _construct(Parent, args, Class) { - var a = [null]; - a.push.apply(a, args); - var Constructor = Function.bind.apply(Parent, a); - var instance = new Constructor(); - if (Class) setPrototypeOf(instance, Class.prototype); - return instance; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - } - return _construct.apply(null, arguments); - } - - module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 16: - /*!***************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! - \***************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports) { - - function _setPrototypeOf(o, p) { - module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - return _setPrototypeOf(o, p); - } - - module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 17: - /*!*************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***! - \*************************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports) { - - function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - try { - Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () { - })); - return true; - } catch (e) { - return false; - } - } - - module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 18: - /*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/toConsumableArray.js ***! - \******************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ 19); - var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ 20); - var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 8); - var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ 21); - - function _toConsumableArray(arr) { - return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); - } - - module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 19: - /*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***! - \******************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ 9); - - function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return arrayLikeToArray(arr); - } - - module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 2: - /*!************************************************************!*\ - !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js ***! - \************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - "use strict"; - /* WEBPACK VAR INJECTION */ - (function (wx, global) { - - var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.createApp = createApp; - exports.createComponent = createComponent; - exports.createPage = createPage; - exports.createPlugin = createPlugin; - exports.createSubpackageApp = createSubpackageApp; - exports.default = void 0; - var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5)); - var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); - var _construct2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/construct */ 15)); - var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 18)); - var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13)); - var _uniI18n = __webpack_require__(/*! @dcloudio/uni-i18n */ 22); - var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25)); - - function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - 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 = null != arguments[i] ? arguments[i] : {}; - i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { - (0, _defineProperty2.default)(target, key, source[key]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - return target; - } - - var realAtob; - var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - var b64re = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/; - if (typeof atob !== 'function') { - realAtob = function realAtob(str) { - str = String(str).replace(/[\t\n\f\r ]+/g, ''); - if (!b64re.test(str)) { - throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded."); - } - - // Adding the padding if missing, for semplicity - str += '=='.slice(2 - (str.length & 3)); - var bitmap; - var result = ''; - var r1; - var r2; - var i = 0; - for (; i < str.length;) { - bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 | (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++))); - result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255) : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255) : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255); - } - return result; - }; - } else { - // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法 - realAtob = atob; - } - - function b64DecodeUnicode(str) { - return decodeURIComponent(realAtob(str).split('').map(function (c) { - return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); - }).join('')); - } - - function getCurrentUserInfo() { - var token = wx.getStorageSync('uni_id_token') || ''; - var tokenArr = token.split('.'); - if (!token || tokenArr.length !== 3) { - return { - uid: null, - role: [], - permission: [], - tokenExpired: 0 - }; - } - var userInfo; - try { - userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1])); - } catch (error) { - throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message); - } - userInfo.tokenExpired = userInfo.exp * 1000; - delete userInfo.exp; - delete userInfo.iat; - return userInfo; - } - - function uniIdMixin(Vue) { - Vue.prototype.uniIDHasRole = function (roleId) { - var _getCurrentUserInfo = getCurrentUserInfo(), - role = _getCurrentUserInfo.role; - return role.indexOf(roleId) > -1; - }; - Vue.prototype.uniIDHasPermission = function (permissionId) { - var _getCurrentUserInfo2 = getCurrentUserInfo(), - permission = _getCurrentUserInfo2.permission; - return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1; - }; - Vue.prototype.uniIDTokenValid = function () { - var _getCurrentUserInfo3 = getCurrentUserInfo(), - tokenExpired = _getCurrentUserInfo3.tokenExpired; - return tokenExpired > Date.now(); - }; - } - - var _toString = Object.prototype.toString; - var hasOwnProperty = Object.prototype.hasOwnProperty; - - function isFn(fn) { - return typeof fn === 'function'; - } - - function isStr(str) { - return typeof str === 'string'; - } - - function isObject(obj) { - return obj !== null && (0, _typeof2.default)(obj) === 'object'; - } - - function isPlainObject(obj) { - return _toString.call(obj) === '[object Object]'; - } - - function hasOwn(obj, key) { - return hasOwnProperty.call(obj, key); - } - - function noop() { - } - - /** - * Create a cached version of a pure function. - */ - function cached(fn) { - var cache = Object.create(null); - return function cachedFn(str) { - var hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; - } - - /** - * Camelize a hyphen-delimited string. - */ - var camelizeRE = /-(\w)/g; - var camelize = cached(function (str) { - return str.replace(camelizeRE, function (_, c) { - return c ? c.toUpperCase() : ''; - }); - }); - - function sortObject(obj) { - var sortObj = {}; - if (isPlainObject(obj)) { - Object.keys(obj).sort().forEach(function (key) { - sortObj[key] = obj[key]; - }); - } - return !Object.keys(sortObj) ? obj : sortObj; - } - - var HOOKS = ['invoke', 'success', 'fail', 'complete', 'returnValue']; - var globalInterceptors = {}; - var scopedInterceptors = {}; - - function mergeHook(parentVal, childVal) { - var res = childVal ? parentVal ? parentVal.concat(childVal) : Array.isArray(childVal) ? childVal : [childVal] : parentVal; - return res ? dedupeHooks(res) : res; - } - - function dedupeHooks(hooks) { - var res = []; - for (var i = 0; i < hooks.length; i++) { - if (res.indexOf(hooks[i]) === -1) { - res.push(hooks[i]); - } - } - return res; - } - - function removeHook(hooks, hook) { - var index = hooks.indexOf(hook); - if (index !== -1) { - hooks.splice(index, 1); - } - } - - function mergeInterceptorHook(interceptor, option) { - Object.keys(option).forEach(function (hook) { - if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) { - interceptor[hook] = mergeHook(interceptor[hook], option[hook]); - } - }); - } - - function removeInterceptorHook(interceptor, option) { - if (!interceptor || !option) { - return; - } - Object.keys(option).forEach(function (hook) { - if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) { - removeHook(interceptor[hook], option[hook]); - } - }); - } - - function addInterceptor(method, option) { - if (typeof method === 'string' && isPlainObject(option)) { - mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option); - } else if (isPlainObject(method)) { - mergeInterceptorHook(globalInterceptors, method); - } - } - - function removeInterceptor(method, option) { - if (typeof method === 'string') { - if (isPlainObject(option)) { - removeInterceptorHook(scopedInterceptors[method], option); - } else { - delete scopedInterceptors[method]; - } - } else if (isPlainObject(method)) { - removeInterceptorHook(globalInterceptors, method); - } - } - - function wrapperHook(hook, params) { - return function (data) { - return hook(data, params) || data; - }; - } - - function isPromise(obj) { - return !!obj && ((0, _typeof2.default)(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; - } - - function queue(hooks, data, params) { - var promise = false; - for (var i = 0; i < hooks.length; i++) { - var hook = hooks[i]; - if (promise) { - promise = Promise.resolve(wrapperHook(hook, params)); - } else { - var res = hook(data, params); - if (isPromise(res)) { - promise = Promise.resolve(res); - } - if (res === false) { - return { - then: function then() { - } - }; - } - } - } - return promise || { - then: function then(callback) { - return callback(data); - } - }; - } - - function wrapperOptions(interceptor) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - ['success', 'fail', 'complete'].forEach(function (name) { - if (Array.isArray(interceptor[name])) { - var oldCallback = options[name]; - options[name] = function callbackInterceptor(res) { - queue(interceptor[name], res, options).then(function (res) { - /* eslint-disable no-mixed-operators */ - return isFn(oldCallback) && oldCallback(res) || res; - }); - }; - } - }); - return options; - } - - function wrapperReturnValue(method, returnValue) { - var returnValueHooks = []; - if (Array.isArray(globalInterceptors.returnValue)) { - returnValueHooks.push.apply(returnValueHooks, (0, _toConsumableArray2.default)(globalInterceptors.returnValue)); - } - var interceptor = scopedInterceptors[method]; - if (interceptor && Array.isArray(interceptor.returnValue)) { - returnValueHooks.push.apply(returnValueHooks, (0, _toConsumableArray2.default)(interceptor.returnValue)); - } - returnValueHooks.forEach(function (hook) { - returnValue = hook(returnValue) || returnValue; - }); - return returnValue; - } - - function getApiInterceptorHooks(method) { - var interceptor = Object.create(null); - Object.keys(globalInterceptors).forEach(function (hook) { - if (hook !== 'returnValue') { - interceptor[hook] = globalInterceptors[hook].slice(); - } - }); - var scopedInterceptor = scopedInterceptors[method]; - if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(function (hook) { - if (hook !== 'returnValue') { - interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); - } - }); - } - return interceptor; - } - - function invokeApi(method, api, options) { - for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - params[_key - 3] = arguments[_key]; - } - var interceptor = getApiInterceptorHooks(method); - if (interceptor && Object.keys(interceptor).length) { - if (Array.isArray(interceptor.invoke)) { - var res = queue(interceptor.invoke, options); - return res.then(function (options) { - // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor - return api.apply(void 0, [wrapperOptions(getApiInterceptorHooks(method), options)].concat(params)); - }); - } else { - return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params)); - } - } - return api.apply(void 0, [options].concat(params)); - } - - var promiseInterceptor = { - returnValue: function returnValue(res) { - if (!isPromise(res)) { - return res; - } - return new Promise(function (resolve, reject) { - res.then(function (res) { - if (res[0]) { - reject(res[0]); - } else { - resolve(res[1]); - } - }); - }); - } - }; - var SYNC_API_RE = /^\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/; - var CONTEXT_API_RE = /^create|Manager$/; - -// Context例外情况 - var CONTEXT_API_RE_EXC = ['createBLEConnection']; - -// 同步例外情况 - var ASYNC_API = ['createBLEConnection', 'createPushMessage']; - var CALLBACK_API_RE = /^on|^off/; - - function isContextApi(name) { - return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1; - } - - function isSyncApi(name) { - return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1; - } - - function isCallbackApi(name) { - return CALLBACK_API_RE.test(name) && name !== 'onPush'; - } - - function handlePromise(promise) { - return promise.then(function (data) { - return [null, data]; - }).catch(function (err) { - return [err]; - }); - } - - function shouldPromise(name) { - if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { - return false; - } - return true; - } - - /* eslint-disable no-extend-native */ - if (!Promise.prototype.finally) { - Promise.prototype.finally = function (callback) { - var promise = this.constructor; - return this.then(function (value) { - return promise.resolve(callback()).then(function () { - return value; - }); - }, function (reason) { - return promise.resolve(callback()).then(function () { - throw reason; - }); - }); - }; - } - - function promisify(name, api) { - if (!shouldPromise(name) || !isFn(api)) { - return api; - } - return function promiseApi() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - params[_key2 - 1] = arguments[_key2]; - } - if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) { - return wrapperReturnValue(name, invokeApi.apply(void 0, [name, api, options].concat(params))); - } - return wrapperReturnValue(name, handlePromise(new Promise(function (resolve, reject) { - invokeApi.apply(void 0, [name, api, Object.assign({}, options, { - success: resolve, - fail: reject - })].concat(params)); - }))); - }; - } - - var EPS = 1e-4; - var BASE_DEVICE_WIDTH = 750; - var isIOS = false; - var deviceWidth = 0; - var deviceDPR = 0; - - function checkDeviceWidth() { - var _wx$getSystemInfoSync = wx.getSystemInfoSync(), - platform = _wx$getSystemInfoSync.platform, - pixelRatio = _wx$getSystemInfoSync.pixelRatio, - windowWidth = _wx$getSystemInfoSync.windowWidth; // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni - - deviceWidth = windowWidth; - deviceDPR = pixelRatio; - isIOS = platform === 'ios'; - } - - function upx2px(number, newDeviceWidth) { - if (deviceWidth === 0) { - checkDeviceWidth(); - } - number = Number(number); - if (number === 0) { - return 0; - } - var result = number / BASE_DEVICE_WIDTH * (newDeviceWidth || deviceWidth); - if (result < 0) { - result = -result; - } - result = Math.floor(result + EPS); - if (result === 0) { - if (deviceDPR === 1 || !isIOS) { - result = 1; - } else { - result = 0.5; - } - } - return number < 0 ? -result : result; - } - - var LOCALE_ZH_HANS = 'zh-Hans'; - var LOCALE_ZH_HANT = 'zh-Hant'; - var LOCALE_EN = 'en'; - var LOCALE_FR = 'fr'; - var LOCALE_ES = 'es'; - var messages = {}; - var locale; - { - locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN; - } - - function initI18nMessages() { - if (!isEnableLocale()) { - return; - } - var localeKeys = Object.keys(__uniConfig.locales); - if (localeKeys.length) { - localeKeys.forEach(function (locale) { - var curMessages = messages[locale]; - var userMessages = __uniConfig.locales[locale]; - if (curMessages) { - Object.assign(curMessages, userMessages); - } else { - messages[locale] = userMessages; - } - }); - } - } - - initI18nMessages(); - var i18n = (0, _uniI18n.initVueI18n)(locale, {}); - var t = i18n.t; - var i18nMixin = i18n.mixin = { - beforeCreate: function beforeCreate() { - var _this = this; - var unwatch = i18n.i18n.watchLocale(function () { - _this.$forceUpdate(); - }); - this.$once('hook:beforeDestroy', function () { - unwatch(); - }); - }, - methods: { - $$t: function $$t(key, values) { - return t(key, values); - } - } - }; - var setLocale = i18n.setLocale; - var getLocale = i18n.getLocale; - - function initAppLocale(Vue, appVm, locale) { - var state = Vue.observable({ - locale: locale || i18n.getLocale() - }); - var localeWatchers = []; - appVm.$watchLocale = function (fn) { - localeWatchers.push(fn); - }; - Object.defineProperty(appVm, '$locale', { - get: function get() { - return state.locale; - }, - set: function set(v) { - state.locale = v; - localeWatchers.forEach(function (watch) { - return watch(v); - }); - } - }); - } - - function isEnableLocale() { - return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length; - } - - function include(str, parts) { - return !!parts.find(function (part) { - return str.indexOf(part) !== -1; - }); - } - - function startsWith(str, parts) { - return parts.find(function (part) { - return str.indexOf(part) === 0; - }); - } - - function normalizeLocale(locale, messages) { - if (!locale) { - return; - } - locale = locale.trim().replace(/_/g, '-'); - if (messages && messages[locale]) { - return locale; - } - locale = locale.toLowerCase(); - if (locale === 'chinese') { - // 支付宝 - return LOCALE_ZH_HANS; - } - if (locale.indexOf('zh') === 0) { - if (locale.indexOf('-hans') > -1) { - return LOCALE_ZH_HANS; - } - if (locale.indexOf('-hant') > -1) { - return LOCALE_ZH_HANT; - } - if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) { - return LOCALE_ZH_HANT; - } - return LOCALE_ZH_HANS; - } - var lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]); - if (lang) { - return lang; - } - } -// export function initI18n() { -// const localeKeys = Object.keys(__uniConfig.locales || {}) -// if (localeKeys.length) { -// localeKeys.forEach((locale) => -// i18n.add(locale, __uniConfig.locales[locale]) -// ) -// } -// } - - function getLocale$1() { - // 优先使用 $locale - if (isFn(getApp)) { - var app = getApp({ - allowDefault: true - }); - if (app && app.$vm) { - return app.$vm.$locale; - } - } - return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN; - } - - function setLocale$1(locale) { - var app = isFn(getApp) ? getApp() : false; - if (!app) { - return false; - } - var oldLocale = app.$vm.$locale; - if (oldLocale !== locale) { - app.$vm.$locale = locale; - onLocaleChangeCallbacks.forEach(function (fn) { - return fn({ - locale: locale - }); - }); - return true; - } - return false; - } - - var onLocaleChangeCallbacks = []; - - function onLocaleChange(fn) { - if (onLocaleChangeCallbacks.indexOf(fn) === -1) { - onLocaleChangeCallbacks.push(fn); - } - } - - if (typeof global !== 'undefined') { - global.getLocale = getLocale$1; - } - var interceptors = { - promiseInterceptor: promiseInterceptor - }; - var baseApi = /*#__PURE__*/Object.freeze({ - __proto__: null, - upx2px: upx2px, - getLocale: getLocale$1, - setLocale: setLocale$1, - onLocaleChange: onLocaleChange, - addInterceptor: addInterceptor, - removeInterceptor: removeInterceptor, - interceptors: interceptors - }); - - function findExistsPageIndex(url) { - var pages = getCurrentPages(); - var len = pages.length; - while (len--) { - var page = pages[len]; - if (page.$page && page.$page.fullPath === url) { - return len; - } - } - return -1; - } - - var redirectTo = { - name: function name(fromArgs) { - if (fromArgs.exists === 'back' && fromArgs.delta) { - return 'navigateBack'; - } - return 'redirectTo'; - }, - args: function args(fromArgs) { - if (fromArgs.exists === 'back' && fromArgs.url) { - var existsPageIndex = findExistsPageIndex(fromArgs.url); - if (existsPageIndex !== -1) { - var delta = getCurrentPages().length - 1 - existsPageIndex; - if (delta > 0) { - fromArgs.delta = delta; - } - } - } - } - }; - var previewImage = { - args: function args(fromArgs) { - var currentIndex = parseInt(fromArgs.current); - if (isNaN(currentIndex)) { - return; - } - var urls = fromArgs.urls; - if (!Array.isArray(urls)) { - return; - } - var len = urls.length; - if (!len) { - return; - } - if (currentIndex < 0) { - currentIndex = 0; - } else if (currentIndex >= len) { - currentIndex = len - 1; - } - if (currentIndex > 0) { - fromArgs.current = urls[currentIndex]; - fromArgs.urls = urls.filter(function (item, index) { - return index < currentIndex ? item !== urls[currentIndex] : true; - }); - } else { - fromArgs.current = urls[0]; - } - return { - indicator: false, - loop: false - }; - } - }; - var UUID_KEY = '__DC_STAT_UUID'; - var deviceId; - - function useDeviceId(result) { - deviceId = deviceId || wx.getStorageSync(UUID_KEY); - if (!deviceId) { - deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7); - wx.setStorage({ - key: UUID_KEY, - data: deviceId - }); - } - result.deviceId = deviceId; - } - - function addSafeAreaInsets(result) { - if (result.safeArea) { - var safeArea = result.safeArea; - result.safeAreaInsets = { - top: safeArea.top, - left: safeArea.left, - right: result.windowWidth - safeArea.right, - bottom: result.screenHeight - safeArea.bottom - }; - } - } - - function populateParameters(result) { - var _result$brand = result.brand, - brand = _result$brand === void 0 ? '' : _result$brand, - _result$model = result.model, - model = _result$model === void 0 ? '' : _result$model, - _result$system = result.system, - system = _result$system === void 0 ? '' : _result$system, - _result$language = result.language, - language = _result$language === void 0 ? '' : _result$language, - theme = result.theme, - version = result.version, - platform = result.platform, - fontSizeSetting = result.fontSizeSetting, - SDKVersion = result.SDKVersion, - pixelRatio = result.pixelRatio, - deviceOrientation = result.deviceOrientation; - // const isQuickApp = "mp-weixin".indexOf('quickapp-webview') !== -1 - - var extraParam = {}; - - // osName osVersion - var osName = ''; - var osVersion = ''; - { - osName = system.split(' ')[0] || ''; - osVersion = system.split(' ')[1] || ''; - } - var hostVersion = version; - - // deviceType - var deviceType = getGetDeviceType(result, model); - - // deviceModel - var deviceBrand = getDeviceBrand(brand); - - // hostName - var _hostName = getHostName(result); - - // deviceOrientation - var _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持 - - // devicePixelRatio - var _devicePixelRatio = pixelRatio; - - // SDKVersion - var _SDKVersion = SDKVersion; - - // hostLanguage - var hostLanguage = language.replace(/_/g, '-'); - - // wx.getAccountInfoSync - - var parameters = { - appId: "__UNI__3804DB8", - appName: "atguigu-tuan", - appVersion: "1.0.0", - appVersionCode: "100", - appLanguage: getAppLanguage(hostLanguage), - uniCompileVersion: "3.8.12", - uniRuntimeVersion: "3.8.12", - uniPlatform: undefined || "mp-weixin", - deviceBrand: deviceBrand, - deviceModel: model, - deviceType: deviceType, - devicePixelRatio: _devicePixelRatio, - deviceOrientation: _deviceOrientation, - osName: osName.toLocaleLowerCase(), - osVersion: osVersion, - hostTheme: theme, - hostVersion: hostVersion, - hostLanguage: hostLanguage, - hostName: _hostName, - hostSDKVersion: _SDKVersion, - hostFontSizeSetting: fontSizeSetting, - windowTop: 0, - windowBottom: 0, - // TODO - osLanguage: undefined, - osTheme: undefined, - ua: undefined, - hostPackageName: undefined, - browserName: undefined, - browserVersion: undefined - }; - Object.assign(result, parameters, extraParam); - } - - function getGetDeviceType(result, model) { - var deviceType = result.deviceType || 'phone'; - { - var deviceTypeMaps = { - ipad: 'pad', - windows: 'pc', - mac: 'pc' - }; - var deviceTypeMapsKeys = Object.keys(deviceTypeMaps); - var _model = model.toLocaleLowerCase(); - for (var index = 0; index < deviceTypeMapsKeys.length; index++) { - var _m = deviceTypeMapsKeys[index]; - if (_model.indexOf(_m) !== -1) { - deviceType = deviceTypeMaps[_m]; - break; - } - } - } - return deviceType; - } - - function getDeviceBrand(brand) { - var deviceBrand = brand; - if (deviceBrand) { - deviceBrand = brand.toLocaleLowerCase(); - } - return deviceBrand; - } - - function getAppLanguage(defaultLanguage) { - return getLocale$1 ? getLocale$1() : defaultLanguage; - } - - function getHostName(result) { - var _platform = 'WeChat'; - var _hostName = result.hostName || _platform; // mp-jd - { - if (result.environment) { - _hostName = result.environment; - } else if (result.host && result.host.env) { - _hostName = result.host.env; - } - } - return _hostName; - } - - var getSystemInfo = { - returnValue: function returnValue(result) { - useDeviceId(result); - addSafeAreaInsets(result); - populateParameters(result); - } - }; - var showActionSheet = { - args: function args(fromArgs) { - if ((0, _typeof2.default)(fromArgs) === 'object') { - fromArgs.alertText = fromArgs.title; - } - } - }; - var getAppBaseInfo = { - returnValue: function returnValue(result) { - var _result = result, - version = _result.version, - language = _result.language, - SDKVersion = _result.SDKVersion, - theme = _result.theme; - var _hostName = getHostName(result); - var hostLanguage = language.replace('_', '-'); - result = sortObject(Object.assign(result, { - appId: "__UNI__3804DB8", - appName: "atguigu-tuan", - appVersion: "1.0.0", - appVersionCode: "100", - appLanguage: getAppLanguage(hostLanguage), - hostVersion: version, - hostLanguage: hostLanguage, - hostName: _hostName, - hostSDKVersion: SDKVersion, - hostTheme: theme - })); - } - }; - var getDeviceInfo = { - returnValue: function returnValue(result) { - var _result2 = result, - brand = _result2.brand, - model = _result2.model; - var deviceType = getGetDeviceType(result, model); - var deviceBrand = getDeviceBrand(brand); - useDeviceId(result); - result = sortObject(Object.assign(result, { - deviceType: deviceType, - deviceBrand: deviceBrand, - deviceModel: model - })); - } - }; - var getWindowInfo = { - returnValue: function returnValue(result) { - addSafeAreaInsets(result); - result = sortObject(Object.assign(result, { - windowTop: 0, - windowBottom: 0 - })); - } - }; - var getAppAuthorizeSetting = { - returnValue: function returnValue(result) { - var locationReducedAccuracy = result.locationReducedAccuracy; - result.locationAccuracy = 'unsupported'; - if (locationReducedAccuracy === true) { - result.locationAccuracy = 'reduced'; - } else if (locationReducedAccuracy === false) { - result.locationAccuracy = 'full'; - } - } - }; - -// import navigateTo from 'uni-helpers/navigate-to' - - var compressImage = { - args: function args(fromArgs) { - // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight - if (fromArgs.compressedHeight && !fromArgs.compressHeight) { - fromArgs.compressHeight = fromArgs.compressedHeight; - } - if (fromArgs.compressedWidth && !fromArgs.compressWidth) { - fromArgs.compressWidth = fromArgs.compressedWidth; - } - } - }; - var protocols = { - redirectTo: redirectTo, - // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP - previewImage: previewImage, - getSystemInfo: getSystemInfo, - getSystemInfoSync: getSystemInfo, - showActionSheet: showActionSheet, - getAppBaseInfo: getAppBaseInfo, - getDeviceInfo: getDeviceInfo, - getWindowInfo: getWindowInfo, - getAppAuthorizeSetting: getAppAuthorizeSetting, - compressImage: compressImage - }; - var todos = ['vibrate', 'preloadPage', 'unPreloadPage', 'loadSubPackage']; - var canIUses = []; - var CALLBACKS = ['success', 'fail', 'cancel', 'complete']; - - function processCallback(methodName, method, returnValue) { - return function (res) { - return method(processReturnValue(methodName, res, returnValue)); - }; - } - - function processArgs(methodName, fromArgs) { - var argsOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var returnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - var keepFromArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; - if (isPlainObject(fromArgs)) { - // 一般 api 的参数解析 - var toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值 - if (isFn(argsOption)) { - argsOption = argsOption(fromArgs, toArgs) || {}; - } - for (var key in fromArgs) { - if (hasOwn(argsOption, key)) { - var keyOption = argsOption[key]; - if (isFn(keyOption)) { - keyOption = keyOption(fromArgs[key], fromArgs, toArgs); - } - if (!keyOption) { - // 不支持的参数 - console.warn("The '".concat(methodName, "' method of platform '\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F' does not support option '").concat(key, "'")); - } else if (isStr(keyOption)) { - // 重写参数 key - toArgs[keyOption] = fromArgs[key]; - } else if (isPlainObject(keyOption)) { - // {name:newName,value:value}可重新指定参数 key:value - toArgs[keyOption.name ? keyOption.name : key] = keyOption.value; - } - } else if (CALLBACKS.indexOf(key) !== -1) { - if (isFn(fromArgs[key])) { - toArgs[key] = processCallback(methodName, fromArgs[key], returnValue); - } - } else { - if (!keepFromArgs) { - toArgs[key] = fromArgs[key]; - } - } - } - return toArgs; - } else if (isFn(fromArgs)) { - fromArgs = processCallback(methodName, fromArgs, returnValue); - } - return fromArgs; - } - - function processReturnValue(methodName, res, returnValue) { - var keepReturnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - if (isFn(protocols.returnValue)) { - // 处理通用 returnValue - res = protocols.returnValue(methodName, res); - } - return processArgs(methodName, res, returnValue, {}, keepReturnValue); - } - - function wrapper(methodName, method) { - if (hasOwn(protocols, methodName)) { - var protocol = protocols[methodName]; - if (!protocol) { - // 暂不支持的 api - return function () { - console.error("Platform '\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F' does not support '".concat(methodName, "'.")); - }; - } - return function (arg1, arg2) { - // 目前 api 最多两个参数 - var options = protocol; - if (isFn(protocol)) { - options = protocol(arg1); - } - arg1 = processArgs(methodName, arg1, options.args, options.returnValue); - var args = [arg1]; - if (typeof arg2 !== 'undefined') { - args.push(arg2); - } - if (isFn(options.name)) { - methodName = options.name(arg1); - } else if (isStr(options.name)) { - methodName = options.name; - } - var returnValue = wx[methodName].apply(wx, args); - if (isSyncApi(methodName)) { - // 同步 api - return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName)); - } - return returnValue; - }; - } - return method; - } - - var todoApis = Object.create(null); - var TODOS = ['onTabBarMidButtonTap', 'subscribePush', 'unsubscribePush', 'onPush', 'offPush', 'share']; - - function createTodoApi(name) { - return function todoApi(_ref) { - var fail = _ref.fail, - complete = _ref.complete; - var res = { - errMsg: "".concat(name, ":fail method '").concat(name, "' not supported") - }; - isFn(fail) && fail(res); - isFn(complete) && complete(res); - }; - } - - TODOS.forEach(function (name) { - todoApis[name] = createTodoApi(name); - }); - var providers = { - oauth: ['weixin'], - share: ['weixin'], - payment: ['wxpay'], - push: ['weixin'] - }; - - function getProvider(_ref2) { - var service = _ref2.service, - success = _ref2.success, - fail = _ref2.fail, - complete = _ref2.complete; - var res = false; - if (providers[service]) { - res = { - errMsg: 'getProvider:ok', - service: service, - provider: providers[service] - }; - isFn(success) && success(res); - } else { - res = { - errMsg: 'getProvider:fail service not found' - }; - isFn(fail) && fail(res); - } - isFn(complete) && complete(res); - } - - var extraApi = /*#__PURE__*/Object.freeze({ - __proto__: null, - getProvider: getProvider - }); - var getEmitter = function () { - var Emitter; - return function getUniEmitter() { - if (!Emitter) { - Emitter = new _vue.default(); - } - return Emitter; - }; - }(); - - function apply(ctx, method, args) { - return ctx[method].apply(ctx, args); - } - - function $on() { - return apply(getEmitter(), '$on', Array.prototype.slice.call(arguments)); - } - - function $off() { - return apply(getEmitter(), '$off', Array.prototype.slice.call(arguments)); - } - - function $once() { - return apply(getEmitter(), '$once', Array.prototype.slice.call(arguments)); - } - - function $emit() { - return apply(getEmitter(), '$emit', Array.prototype.slice.call(arguments)); - } - - var eventApi = /*#__PURE__*/Object.freeze({ - __proto__: null, - $on: $on, - $off: $off, - $once: $once, - $emit: $emit - }); - - /** - * 框架内 try-catch - */ - /** - * 开发者 try-catch - */ - function tryCatch(fn) { - return function () { - try { - return fn.apply(fn, arguments); - } catch (e) { - // TODO - console.error(e); - } - }; - } - - function getApiCallbacks(params) { - var apiCallbacks = {}; - for (var name in params) { - var param = params[name]; - if (isFn(param)) { - apiCallbacks[name] = tryCatch(param); - delete params[name]; - } - } - return apiCallbacks; - } - - var cid; - var cidErrMsg; - var enabled; - - function normalizePushMessage(message) { - try { - return JSON.parse(message); - } catch (e) { - } - return message; - } - - function invokePushCallback(args) { - if (args.type === 'enabled') { - enabled = true; - } else if (args.type === 'clientId') { - cid = args.cid; - cidErrMsg = args.errMsg; - invokeGetPushCidCallbacks(cid, args.errMsg); - } else if (args.type === 'pushMsg') { - var message = { - type: 'receive', - data: normalizePushMessage(args.message) - }; - for (var i = 0; i < onPushMessageCallbacks.length; i++) { - var callback = onPushMessageCallbacks[i]; - callback(message); - // 该消息已被阻止 - if (message.stopped) { - break; - } - } - } else if (args.type === 'click') { - onPushMessageCallbacks.forEach(function (callback) { - callback({ - type: 'click', - data: normalizePushMessage(args.message) - }); - }); - } - } - - var getPushCidCallbacks = []; - - function invokeGetPushCidCallbacks(cid, errMsg) { - getPushCidCallbacks.forEach(function (callback) { - callback(cid, errMsg); - }); - getPushCidCallbacks.length = 0; - } - - function getPushClientId(args) { - if (!isPlainObject(args)) { - args = {}; - } - var _getApiCallbacks = getApiCallbacks(args), - success = _getApiCallbacks.success, - fail = _getApiCallbacks.fail, - complete = _getApiCallbacks.complete; - var hasSuccess = isFn(success); - var hasFail = isFn(fail); - var hasComplete = isFn(complete); - Promise.resolve().then(function () { - if (typeof enabled === 'undefined') { - enabled = false; - cid = ''; - cidErrMsg = 'uniPush is not enabled'; - } - getPushCidCallbacks.push(function (cid, errMsg) { - var res; - if (cid) { - res = { - errMsg: 'getPushClientId:ok', - cid: cid - }; - hasSuccess && success(res); - } else { - res = { - errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '') - }; - hasFail && fail(res); - } - hasComplete && complete(res); - }); - if (typeof cid !== 'undefined') { - invokeGetPushCidCallbacks(cid, cidErrMsg); - } - }); - } - - var onPushMessageCallbacks = []; -// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现 - var onPushMessage = function onPushMessage(fn) { - if (onPushMessageCallbacks.indexOf(fn) === -1) { - onPushMessageCallbacks.push(fn); - } - }; - var offPushMessage = function offPushMessage(fn) { - if (!fn) { - onPushMessageCallbacks.length = 0; - } else { - var index = onPushMessageCallbacks.indexOf(fn); - if (index > -1) { - onPushMessageCallbacks.splice(index, 1); - } - } - }; - var baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo(); - if (!baseInfo) { - baseInfo = wx.getSystemInfoSync(); - } - var host = baseInfo ? baseInfo.host : null; - var shareVideoMessage = host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage; - var api = /*#__PURE__*/Object.freeze({ - __proto__: null, - shareVideoMessage: shareVideoMessage, - getPushClientId: getPushClientId, - onPushMessage: onPushMessage, - offPushMessage: offPushMessage, - invokePushCallback: invokePushCallback - }); - var mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__']; - - function findVmByVueId(vm, vuePid) { - var $children = vm.$children; - // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200) - for (var i = $children.length - 1; i >= 0; i--) { - var childVm = $children[i]; - if (childVm.$scope._$vueId === vuePid) { - return childVm; - } - } - // 反向递归查找 - var parentVm; - for (var _i = $children.length - 1; _i >= 0; _i--) { - parentVm = findVmByVueId($children[_i], vuePid); - if (parentVm) { - return parentVm; - } - } - } - - function initBehavior(options) { - return Behavior(options); - } - - function isPage() { - return !!this.route; - } - - function initRelation(detail) { - this.triggerEvent('__l', detail); - } - - function selectAllComponents(mpInstance, selector, $refs) { - var components = mpInstance.selectAllComponents(selector) || []; - components.forEach(function (component) { - var ref = component.dataset.ref; - $refs[ref] = component.$vm || toSkip(component); - { - if (component.dataset.vueGeneric === 'scoped') { - component.selectAllComponents('.scoped-ref').forEach(function (scopedComponent) { - selectAllComponents(scopedComponent, selector, $refs); - }); - } - } - }); - } - - function syncRefs(refs, newRefs) { - var oldKeys = (0, _construct2.default)(Set, (0, _toConsumableArray2.default)(Object.keys(refs))); - var newKeys = Object.keys(newRefs); - newKeys.forEach(function (key) { - var oldValue = refs[key]; - var newValue = newRefs[key]; - if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(function (value) { - return oldValue.includes(value); - })) { - return; - } - refs[key] = newValue; - oldKeys.delete(key); - }); - oldKeys.forEach(function (key) { - delete refs[key]; - }); - return refs; - } - - function initRefs(vm) { - var mpInstance = vm.$scope; - var refs = {}; - Object.defineProperty(vm, '$refs', { - get: function get() { - var $refs = {}; - selectAllComponents(mpInstance, '.vue-ref', $refs); - // TODO 暂不考虑 for 中的 scoped - var forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || []; - forComponents.forEach(function (component) { - var ref = component.dataset.ref; - if (!$refs[ref]) { - $refs[ref] = []; - } - $refs[ref].push(component.$vm || toSkip(component)); - }); - return syncRefs(refs, $refs); - } - }); - } - - function handleLink(event) { - var _ref3 = event.detail || event.value, - vuePid = _ref3.vuePid, - vueOptions = _ref3.vueOptions; // detail 是微信,value 是百度(dipatch) - - var parentVm; - if (vuePid) { - parentVm = findVmByVueId(this.$vm, vuePid); - } - if (!parentVm) { - parentVm = this.$vm; - } - vueOptions.parent = parentVm; - } - - function markMPComponent(component) { - // 在 Vue 中标记为小程序组件 - var IS_MP = '__v_isMPComponent'; - Object.defineProperty(component, IS_MP, { - configurable: true, - enumerable: false, - value: true - }); - return component; - } - - function toSkip(obj) { - var OB = '__ob__'; - var SKIP = '__v_skip'; - if (isObject(obj) && Object.isExtensible(obj)) { - // 避免被 @vue/composition-api 观测 - Object.defineProperty(obj, OB, { - configurable: true, - enumerable: false, - value: (0, _defineProperty2.default)({}, SKIP, true) - }); - } - return obj; - } - - var WORKLET_RE = /_(.*)_worklet_factory_/; - - function initWorkletMethods(mpMethods, vueMethods) { - if (vueMethods) { - Object.keys(vueMethods).forEach(function (name) { - var matches = name.match(WORKLET_RE); - if (matches) { - var workletName = matches[1]; - mpMethods[name] = vueMethods[name]; - mpMethods[workletName] = vueMethods[workletName]; - } - }); - } - } - - var MPPage = Page; - var MPComponent = Component; - var customizeRE = /:/g; - var customize = cached(function (str) { - return camelize(str.replace(customizeRE, '-')); - }); - - function initTriggerEvent(mpInstance) { - var oldTriggerEvent = mpInstance.triggerEvent; - var newTriggerEvent = function newTriggerEvent(event) { - for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { - args[_key3 - 1] = arguments[_key3]; - } - // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件 - if (this.$vm || this.dataset && this.dataset.comType) { - event = customize(event); - } else { - // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目 - var newEvent = customize(event); - if (newEvent !== event) { - oldTriggerEvent.apply(this, [newEvent].concat(args)); - } - } - return oldTriggerEvent.apply(this, [event].concat(args)); - }; - try { - // 京东小程序 triggerEvent 为只读 - mpInstance.triggerEvent = newTriggerEvent; - } catch (error) { - mpInstance._triggerEvent = newTriggerEvent; - } - } - - function initHook(name, options, isComponent) { - var oldHook = options[name]; - options[name] = function () { - markMPComponent(this); - initTriggerEvent(this); - if (oldHook) { - for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - args[_key4] = arguments[_key4]; - } - return oldHook.apply(this, args); - } - }; - } - - if (!MPPage.__$wrappered) { - MPPage.__$wrappered = true; - Page = function Page() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - initHook('onLoad', options); - return MPPage(options); - }; - Page.after = MPPage.after; - Component = function Component() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - initHook('created', options); - return MPComponent(options); - }; - } - var PAGE_EVENT_HOOKS = ['onPullDownRefresh', 'onReachBottom', 'onAddToFavorites', 'onShareTimeline', 'onShareAppMessage', 'onPageScroll', 'onResize', 'onTabItemTap']; - - function initMocks(vm, mocks) { - var mpInstance = vm.$mp[vm.mpType]; - mocks.forEach(function (mock) { - if (hasOwn(mpInstance, mock)) { - vm[mock] = mpInstance[mock]; - } - }); - } - - function hasHook(hook, vueOptions) { - if (!vueOptions) { - return true; - } - if (_vue.default.options && Array.isArray(_vue.default.options[hook])) { - return true; - } - vueOptions = vueOptions.default || vueOptions; - if (isFn(vueOptions)) { - if (isFn(vueOptions.extendOptions[hook])) { - return true; - } - if (vueOptions.super && vueOptions.super.options && Array.isArray(vueOptions.super.options[hook])) { - return true; - } - return false; - } - if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) { - return true; - } - var mixins = vueOptions.mixins; - if (Array.isArray(mixins)) { - return !!mixins.find(function (mixin) { - return hasHook(hook, mixin); - }); - } - } - - function initHooks(mpOptions, hooks, vueOptions) { - hooks.forEach(function (hook) { - if (hasHook(hook, vueOptions)) { - mpOptions[hook] = function (args) { - return this.$vm && this.$vm.__call_hook(hook, args); - }; - } - }); - } - - function initUnknownHooks(mpOptions, vueOptions) { - var excludes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - findHooks(vueOptions).forEach(function (hook) { - return initHook$1(mpOptions, hook, excludes); - }); - } - - function findHooks(vueOptions) { - var hooks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - if (vueOptions) { - Object.keys(vueOptions).forEach(function (name) { - if (name.indexOf('on') === 0 && isFn(vueOptions[name])) { - hooks.push(name); - } - }); - } - return hooks; - } - - function initHook$1(mpOptions, hook, excludes) { - if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) { - mpOptions[hook] = function (args) { - return this.$vm && this.$vm.__call_hook(hook, args); - }; - } - } - - function initVueComponent(Vue, vueOptions) { - vueOptions = vueOptions.default || vueOptions; - var VueComponent; - if (isFn(vueOptions)) { - VueComponent = vueOptions; - } else { - VueComponent = Vue.extend(vueOptions); - } - vueOptions = VueComponent.options; - return [VueComponent, vueOptions]; - } - - function initSlots(vm, vueSlots) { - if (Array.isArray(vueSlots) && vueSlots.length) { - var $slots = Object.create(null); - vueSlots.forEach(function (slotName) { - $slots[slotName] = true; - }); - vm.$scopedSlots = vm.$slots = $slots; - } - } - - function initVueIds(vueIds, mpInstance) { - vueIds = (vueIds || '').split(','); - var len = vueIds.length; - if (len === 1) { - mpInstance._$vueId = vueIds[0]; - } else if (len === 2) { - mpInstance._$vueId = vueIds[0]; - mpInstance._$vuePid = vueIds[1]; - } - } - - function initData(vueOptions, context) { - var data = vueOptions.data || {}; - var methods = vueOptions.methods || {}; - if (typeof data === 'function') { - try { - data = data.call(context); // 支持 Vue.prototype 上挂的数据 - } catch (e) { - if (Object({ - "NODE_ENV": "development", - "VUE_APP_DARK_MODE": "false", - "VUE_APP_NAME": "atguigu-tuan", - "VUE_APP_PLATFORM": "mp-weixin", - "BASE_URL": "/" - }).VUE_APP_DEBUG) { - console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data); - } - } - } else { - try { - // 对 data 格式化 - data = JSON.parse(JSON.stringify(data)); - } catch (e) { - } - } - if (!isPlainObject(data)) { - data = {}; - } - Object.keys(methods).forEach(function (methodName) { - if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) { - data[methodName] = methods[methodName]; - } - }); - return data; - } - - var PROP_TYPES = [String, Number, Boolean, Object, Array, null]; - - function createObserver(name) { - return function observer(newVal, oldVal) { - if (this.$vm) { - this.$vm[name] = newVal; // 为了触发其他非 render watcher - } - }; - } - - function initBehaviors(vueOptions, initBehavior) { - var vueBehaviors = vueOptions.behaviors; - var vueExtends = vueOptions.extends; - var vueMixins = vueOptions.mixins; - var vueProps = vueOptions.props; - if (!vueProps) { - vueOptions.props = vueProps = []; - } - var behaviors = []; - if (Array.isArray(vueBehaviors)) { - vueBehaviors.forEach(function (behavior) { - behaviors.push(behavior.replace('uni://', "wx".concat("://"))); - if (behavior === 'uni://form-field') { - if (Array.isArray(vueProps)) { - vueProps.push('name'); - vueProps.push('value'); - } else { - vueProps.name = { - type: String, - default: '' - }; - vueProps.value = { - type: [String, Number, Boolean, Array, Object, Date], - default: '' - }; - } - } - }); - } - if (isPlainObject(vueExtends) && vueExtends.props) { - behaviors.push(initBehavior({ - properties: initProperties(vueExtends.props, true) - })); - } - if (Array.isArray(vueMixins)) { - vueMixins.forEach(function (vueMixin) { - if (isPlainObject(vueMixin) && vueMixin.props) { - behaviors.push(initBehavior({ - properties: initProperties(vueMixin.props, true) - })); - } - }); - } - return behaviors; - } - - function parsePropType(key, type, defaultValue, file) { - // [String]=>String - if (Array.isArray(type) && type.length === 1) { - return type[0]; - } - return type; - } - - function initProperties(props) { - var isBehavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var file = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; - var options = arguments.length > 3 ? arguments[3] : undefined; - var properties = {}; - if (!isBehavior) { - properties.vueId = { - type: String, - value: '' - }; - { - if (options.virtualHost) { - properties.virtualHostStyle = { - type: null, - value: '' - }; - properties.virtualHostClass = { - type: null, - value: '' - }; - } - } - // scopedSlotsCompiler auto - properties.scopedSlotsCompiler = { - type: String, - value: '' - }; - properties.vueSlots = { - // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots - type: null, - value: [], - observer: function observer(newVal, oldVal) { - var $slots = Object.create(null); - newVal.forEach(function (slotName) { - $slots[slotName] = true; - }); - this.setData({ - $slots: $slots - }); - } - }; - } - if (Array.isArray(props)) { - // ['title'] - props.forEach(function (key) { - properties[key] = { - type: null, - observer: createObserver(key) - }; - }); - } else if (isPlainObject(props)) { - // {title:{type:String,default:''},content:String} - Object.keys(props).forEach(function (key) { - var opts = props[key]; - if (isPlainObject(opts)) { - // title:{type:String,default:''} - var value = opts.default; - if (isFn(value)) { - value = value(); - } - opts.type = parsePropType(key, opts.type); - properties[key] = { - type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null, - value: value, - observer: createObserver(key) - }; - } else { - // content:String - var type = parsePropType(key, opts); - properties[key] = { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - observer: createObserver(key) - }; - } - }); - } - return properties; - } - - function wrapper$1(event) { - // TODO 又得兼容 mpvue 的 mp 对象 - try { - event.mp = JSON.parse(JSON.stringify(event)); - } catch (e) { - } - event.stopPropagation = noop; - event.preventDefault = noop; - event.target = event.target || {}; - if (!hasOwn(event, 'detail')) { - event.detail = {}; - } - if (hasOwn(event, 'markerId')) { - event.detail = (0, _typeof2.default)(event.detail) === 'object' ? event.detail : {}; - event.detail.markerId = event.markerId; - } - if (isPlainObject(event.detail)) { - event.target = Object.assign({}, event.target, event.detail); - } - return event; - } - - function getExtraValue(vm, dataPathsArray) { - var context = vm; - dataPathsArray.forEach(function (dataPathArray) { - var dataPath = dataPathArray[0]; - var value = dataPathArray[2]; - if (dataPath || typeof value !== 'undefined') { - // ['','',index,'disable'] - var propPath = dataPathArray[1]; - var valuePath = dataPathArray[3]; - var vFor; - if (Number.isInteger(dataPath)) { - vFor = dataPath; - } else if (!dataPath) { - vFor = context; - } else if (typeof dataPath === 'string' && dataPath) { - if (dataPath.indexOf('#s#') === 0) { - vFor = dataPath.substr(3); - } else { - vFor = vm.__get_value(dataPath, context); - } - } - if (Number.isInteger(vFor)) { - context = value; - } else if (!propPath) { - context = vFor[value]; - } else { - if (Array.isArray(vFor)) { - context = vFor.find(function (vForItem) { - return vm.__get_value(propPath, vForItem) === value; - }); - } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(function (vForKey) { - return vm.__get_value(propPath, vFor[vForKey]) === value; - }); - } else { - console.error('v-for 暂不支持循环数据:', vFor); - } - } - if (valuePath) { - context = vm.__get_value(valuePath, context); - } - } - }); - return context; - } - - function processEventExtra(vm, extra, event, __args__) { - var extraObj = {}; - if (Array.isArray(extra) && extra.length) { - /** - *[ - * ['data.items', 'data.id', item.data.id], - * ['metas', 'id', meta.id] - *], - *[ - * ['data.items', 'data.id', item.data.id], - * ['metas', 'id', meta.id] - *], - *'test' - */ - extra.forEach(function (dataPath, index) { - if (typeof dataPath === 'string') { - if (!dataPath) { - // model,prop.sync - extraObj['$' + index] = vm; - } else { - if (dataPath === '$event') { - // $event - extraObj['$' + index] = event; - } else if (dataPath === 'arguments') { - extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__; - } else if (dataPath.indexOf('$event.') === 0) { - // $event.target.value - extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event); - } else { - extraObj['$' + index] = vm.__get_value(dataPath); - } - } - } else { - extraObj['$' + index] = getExtraValue(vm, dataPath); - } - }); - } - return extraObj; - } - - function getObjByArray(arr) { - var obj = {}; - for (var i = 1; i < arr.length; i++) { - var element = arr[i]; - obj[element[0]] = element[1]; - } - return obj; - } - - function processEventArgs(vm, event) { - var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - var extra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : []; - var isCustom = arguments.length > 4 ? arguments[4] : undefined; - var methodName = arguments.length > 5 ? arguments[5] : undefined; - var isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象 - - // fixed 用户直接触发 mpInstance.triggerEvent - var __args__ = isPlainObject(event.detail) ? event.detail.__args__ || [event.detail] : [event.detail]; - if (isCustom) { - // 自定义事件 - isCustomMPEvent = event.currentTarget && event.currentTarget.dataset && event.currentTarget.dataset.comType === 'wx'; - if (!args.length) { - // 无参数,直接传入 event 或 detail 数组 - if (isCustomMPEvent) { - return [event]; - } - return __args__; - } - } - var extraObj = processEventExtra(vm, extra, event, __args__); - var ret = []; - args.forEach(function (arg) { - if (arg === '$event') { - if (methodName === '__set_model' && !isCustom) { - // input v-model value - ret.push(event.target.value); - } else { - if (isCustom && !isCustomMPEvent) { - ret.push(__args__[0]); - } else { - // wxcomponent 组件或内置组件 - ret.push(event); - } - } - } else { - if (Array.isArray(arg) && arg[0] === 'o') { - ret.push(getObjByArray(arg)); - } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) { - ret.push(extraObj[arg]); - } else { - ret.push(arg); - } - } - }); - return ret; - } - - var ONCE = '~'; - var CUSTOM = '^'; - - function isMatchEventType(eventType, optType) { - return eventType === optType || optType === 'regionchange' && (eventType === 'begin' || eventType === 'end'); - } - - function getContextVm(vm) { - var $parent = vm.$parent; - // 父组件是 scoped slots 或者其他自定义组件时继续查找 - while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) { - $parent = $parent.$parent; - } - return $parent && $parent.$parent; - } - - function handleEvent(event) { - var _this2 = this; - event = wrapper$1(event); - - // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]] - var dataset = (event.currentTarget || event.target).dataset; - if (!dataset) { - return console.warn('事件信息不存在'); - } - var eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰 - if (!eventOpts) { - return console.warn('事件信息不存在'); - } - - // [['handle',[1,2,a]],['handle1',[1,2,a]]] - var eventType = event.type; - var ret = []; - eventOpts.forEach(function (eventOpt) { - var type = eventOpt[0]; - var eventsArray = eventOpt[1]; - var isCustom = type.charAt(0) === CUSTOM; - type = isCustom ? type.slice(1) : type; - var isOnce = type.charAt(0) === ONCE; - type = isOnce ? type.slice(1) : type; - if (eventsArray && isMatchEventType(eventType, type)) { - eventsArray.forEach(function (eventArray) { - var methodName = eventArray[0]; - if (methodName) { - var handlerCtx = _this2.$vm; - if (handlerCtx.$options.generic) { - // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots - handlerCtx = getContextVm(handlerCtx) || handlerCtx; - } - if (methodName === '$emit') { - handlerCtx.$emit.apply(handlerCtx, processEventArgs(_this2.$vm, event, eventArray[1], eventArray[2], isCustom, methodName)); - return; - } - var handler = handlerCtx[methodName]; - if (!isFn(handler)) { - var _type = _this2.$vm.mpType === 'page' ? 'Page' : 'Component'; - var path = _this2.route || _this2.is; - throw new Error("".concat(_type, " \"").concat(path, "\" does not have a method \"").concat(methodName, "\"")); - } - if (isOnce) { - if (handler.once) { - return; - } - handler.once = true; - } - var params = processEventArgs(_this2.$vm, event, eventArray[1], eventArray[2], isCustom, methodName); - params = Array.isArray(params) ? params : []; - // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据 - if (/=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(handler.toString())) { - // eslint-disable-next-line no-sparse-arrays - params = params.concat([, , , , , , , , , , event]); - } - ret.push(handler.apply(handlerCtx, params)); - } - }); - } - }); - if (eventType === 'input' && ret.length === 1 && typeof ret[0] !== 'undefined') { - return ret[0]; - } - } - - var eventChannels = {}; - - function getEventChannel(id) { - var eventChannel = eventChannels[id]; - delete eventChannels[id]; - return eventChannel; - } - - var hooks = ['onShow', 'onHide', 'onError', 'onPageNotFound', 'onThemeChange', 'onUnhandledRejection']; - - function initEventChannel() { - _vue.default.prototype.getOpenerEventChannel = function () { - // 微信小程序使用自身getOpenerEventChannel - { - return this.$scope.getOpenerEventChannel(); - } - }; - var callHook = _vue.default.prototype.__call_hook; - _vue.default.prototype.__call_hook = function (hook, args) { - if (hook === 'onLoad' && args && args.__id__) { - this.__eventChannel__ = getEventChannel(args.__id__); - delete args.__id__; - } - return callHook.call(this, hook, args); - }; - } - - function initScopedSlotsParams() { - var center = {}; - var parents = {}; - - function currentId(fn) { - var vueIds = this.$options.propsData.vueId; - if (vueIds) { - var vueId = vueIds.split(',')[0]; - fn(vueId); - } - } - - _vue.default.prototype.$hasSSP = function (vueId) { - var slot = center[vueId]; - if (!slot) { - parents[vueId] = this; - this.$on('hook:destroyed', function () { - delete parents[vueId]; - }); - } - return slot; - }; - _vue.default.prototype.$getSSP = function (vueId, name, needAll) { - var slot = center[vueId]; - if (slot) { - var params = slot[name] || []; - if (needAll) { - return params; - } - return params[0]; - } - }; - _vue.default.prototype.$setSSP = function (name, value) { - var index = 0; - currentId.call(this, function (vueId) { - var slot = center[vueId]; - var params = slot[name] = slot[name] || []; - params.push(value); - index = params.length - 1; - }); - return index; - }; - _vue.default.prototype.$initSSP = function () { - currentId.call(this, function (vueId) { - center[vueId] = {}; - }); - }; - _vue.default.prototype.$callSSP = function () { - currentId.call(this, function (vueId) { - if (parents[vueId]) { - parents[vueId].$forceUpdate(); - } - }); - }; - _vue.default.mixin({ - destroyed: function destroyed() { - var propsData = this.$options.propsData; - var vueId = propsData && propsData.vueId; - if (vueId) { - delete center[vueId]; - delete parents[vueId]; - } - } - }); - } - - function parseBaseApp(vm, _ref4) { - var mocks = _ref4.mocks, - initRefs = _ref4.initRefs; - initEventChannel(); - { - initScopedSlotsParams(); - } - if (vm.$options.store) { - _vue.default.prototype.$store = vm.$options.store; - } - uniIdMixin(_vue.default); - _vue.default.prototype.mpHost = "mp-weixin"; - _vue.default.mixin({ - beforeCreate: function beforeCreate() { - if (!this.$options.mpType) { - return; - } - this.mpType = this.$options.mpType; - this.$mp = (0, _defineProperty2.default)({ - data: {} - }, this.mpType, this.$options.mpInstance); - this.$scope = this.$options.mpInstance; - delete this.$options.mpType; - delete this.$options.mpInstance; - if (this.mpType === 'page' && typeof getApp === 'function') { - // hack vue-i18n - var app = getApp(); - if (app.$vm && app.$vm.$i18n) { - this._i18n = app.$vm.$i18n; - } - } - if (this.mpType !== 'app') { - initRefs(this); - initMocks(this, mocks); - } - } - }); - var appOptions = { - onLaunch: function onLaunch(args) { - if (this.$vm) { - // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前 - return; - } - { - if (wx.canIUse && !wx.canIUse('nextTick')) { - // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断 - console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上'); - } - } - this.$vm = vm; - this.$vm.$mp = { - app: this - }; - this.$vm.$scope = this; - // vm 上也挂载 globalData - this.$vm.globalData = this.globalData; - this.$vm._isMounted = true; - this.$vm.__call_hook('mounted', args); - this.$vm.__call_hook('onLaunch', args); - } - }; - - // 兼容旧版本 globalData - appOptions.globalData = vm.$options.globalData || {}; - // 将 methods 中的方法挂在 getApp() 中 - var methods = vm.$options.methods; - if (methods) { - Object.keys(methods).forEach(function (name) { - appOptions[name] = methods[name]; - }); - } - initAppLocale(_vue.default, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN); - initHooks(appOptions, hooks); - initUnknownHooks(appOptions, vm.$options); - return appOptions; - } - - function parseApp(vm) { - return parseBaseApp(vm, { - mocks: mocks, - initRefs: initRefs - }); - } - - function createApp(vm) { - App(parseApp(vm)); - return vm; - } - - var encodeReserveRE = /[!'()*]/g; - var encodeReserveReplacer = function encodeReserveReplacer(c) { - return '%' + c.charCodeAt(0).toString(16); - }; - var commaRE = /%2C/g; - -// fixed encodeURIComponent which is more conformant to RFC3986: -// - escapes [!'()*] -// - preserve commas - var encode = function encode(str) { - return encodeURIComponent(str).replace(encodeReserveRE, encodeReserveReplacer).replace(commaRE, ','); - }; - - function stringifyQuery(obj) { - var encodeStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : encode; - var res = obj ? Object.keys(obj).map(function (key) { - var val = obj[key]; - if (val === undefined) { - return ''; - } - if (val === null) { - return encodeStr(key); - } - if (Array.isArray(val)) { - var result = []; - val.forEach(function (val2) { - if (val2 === undefined) { - return; - } - if (val2 === null) { - result.push(encodeStr(key)); - } else { - result.push(encodeStr(key) + '=' + encodeStr(val2)); - } - }); - return result.join('&'); - } - return encodeStr(key) + '=' + encodeStr(val); - }).filter(function (x) { - return x.length > 0; - }).join('&') : null; - return res ? "?".concat(res) : ''; - } - - function parseBaseComponent(vueComponentOptions) { - var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - isPage = _ref5.isPage, - initRelation = _ref5.initRelation; - var needVueOptions = arguments.length > 2 ? arguments[2] : undefined; - var _initVueComponent = initVueComponent(_vue.default, vueComponentOptions), - _initVueComponent2 = (0, _slicedToArray2.default)(_initVueComponent, 2), - VueComponent = _initVueComponent2[0], - vueOptions = _initVueComponent2[1]; - var options = _objectSpread({ - multipleSlots: true, - // styleIsolation: 'apply-shared', - addGlobalClass: true - }, vueOptions.options || {}); - { - // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项 - if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) { - Object.assign(options, vueOptions['mp-weixin'].options); - } - } - var componentOptions = { - options: options, - data: initData(vueOptions, _vue.default.prototype), - behaviors: initBehaviors(vueOptions, initBehavior), - properties: initProperties(vueOptions.props, false, vueOptions.__file, options), - lifetimes: { - attached: function attached() { - var properties = this.properties; - var options = { - mpType: isPage.call(this) ? 'page' : 'component', - mpInstance: this, - propsData: properties - }; - initVueIds(properties.vueId, this); - - // 处理父子关系 - initRelation.call(this, { - vuePid: this._$vuePid, - vueOptions: options - }); - - // 初始化 vue 实例 - this.$vm = new VueComponent(options); - - // 处理$slots,$scopedSlots(暂不支持动态变化$slots) - initSlots(this.$vm, properties.vueSlots); - - // 触发首次 setData - this.$vm.$mount(); - }, - ready: function ready() { - // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发 - // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800 - if (this.$vm) { - this.$vm._isMounted = true; - this.$vm.__call_hook('mounted'); - this.$vm.__call_hook('onReady'); - } - }, - detached: function detached() { - this.$vm && this.$vm.$destroy(); - } - }, - pageLifetimes: { - show: function show(args) { - this.$vm && this.$vm.__call_hook('onPageShow', args); - }, - hide: function hide() { - this.$vm && this.$vm.__call_hook('onPageHide'); - }, - resize: function resize(size) { - this.$vm && this.$vm.__call_hook('onPageResize', size); - } - }, - methods: { - __l: handleLink, - __e: handleEvent - } - }; - // externalClasses - if (vueOptions.externalClasses) { - componentOptions.externalClasses = vueOptions.externalClasses; - } - if (Array.isArray(vueOptions.wxsCallMethods)) { - vueOptions.wxsCallMethods.forEach(function (callMethod) { - componentOptions.methods[callMethod] = function (args) { - return this.$vm[callMethod](args); - }; - }); - } - if (needVueOptions) { - return [componentOptions, vueOptions, VueComponent]; - } - if (isPage) { - return componentOptions; - } - return [componentOptions, VueComponent]; - } - - function parseComponent(vueComponentOptions, needVueOptions) { - return parseBaseComponent(vueComponentOptions, { - isPage: isPage, - initRelation: initRelation - }, needVueOptions); - } - - var hooks$1 = ['onShow', 'onHide', 'onUnload']; - hooks$1.push.apply(hooks$1, PAGE_EVENT_HOOKS); - - function parseBasePage(vuePageOptions) { - var _parseComponent = parseComponent(vuePageOptions, true), - _parseComponent2 = (0, _slicedToArray2.default)(_parseComponent, 2), - pageOptions = _parseComponent2[0], - vueOptions = _parseComponent2[1]; - initHooks(pageOptions.methods, hooks$1, vueOptions); - pageOptions.methods.onLoad = function (query) { - this.options = query; - var copyQuery = Object.assign({}, query); - delete copyQuery.__id__; - this.$page = { - fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery) - }; - this.$vm.$mp.query = query; // 兼容 mpvue - this.$vm.__call_hook('onLoad', query); - }; - { - initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']); - } - { - initWorkletMethods(pageOptions.methods, vueOptions.methods); - } - return pageOptions; - } - - function parsePage(vuePageOptions) { - return parseBasePage(vuePageOptions); - } - - function createPage(vuePageOptions) { - { - return Component(parsePage(vuePageOptions)); - } - } - - function createComponent(vueOptions) { - { - return Component(parseComponent(vueOptions)); - } - } - - function createSubpackageApp(vm) { - var appOptions = parseApp(vm); - var app = getApp({ - allowDefault: true - }); - vm.$scope = app; - var globalData = app.globalData; - if (globalData) { - Object.keys(appOptions.globalData).forEach(function (name) { - if (!hasOwn(globalData, name)) { - globalData[name] = appOptions.globalData[name]; - } - }); - } - Object.keys(appOptions).forEach(function (name) { - if (!hasOwn(app, name)) { - app[name] = appOptions[name]; - } - }); - if (isFn(appOptions.onShow) && wx.onAppShow) { - wx.onAppShow(function () { - for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { - args[_key5] = arguments[_key5]; - } - vm.__call_hook('onShow', args); - }); - } - if (isFn(appOptions.onHide) && wx.onAppHide) { - wx.onAppHide(function () { - for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { - args[_key6] = arguments[_key6]; - } - vm.__call_hook('onHide', args); - }); - } - if (isFn(appOptions.onLaunch)) { - var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync(); - vm.__call_hook('onLaunch', args); - } - return vm; - } - - function createPlugin(vm) { - var appOptions = parseApp(vm); - if (isFn(appOptions.onShow) && wx.onAppShow) { - wx.onAppShow(function () { - for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { - args[_key7] = arguments[_key7]; - } - vm.__call_hook('onShow', args); - }); - } - if (isFn(appOptions.onHide) && wx.onAppHide) { - wx.onAppHide(function () { - for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { - args[_key8] = arguments[_key8]; - } - vm.__call_hook('onHide', args); - }); - } - if (isFn(appOptions.onLaunch)) { - var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync(); - vm.__call_hook('onLaunch', args); - } - return vm; - } - - todos.forEach(function (todoApi) { - protocols[todoApi] = false; - }); - canIUses.forEach(function (canIUseApi) { - var apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name : canIUseApi; - if (!wx.canIUse(apiName)) { - protocols[canIUseApi] = false; - } - }); - var uni = {}; - if (typeof Proxy !== 'undefined' && "mp-weixin" !== 'app-plus') { - uni = new Proxy({}, { - get: function get(target, name) { - if (hasOwn(target, name)) { - return target[name]; - } - if (baseApi[name]) { - return baseApi[name]; - } - if (api[name]) { - return promisify(name, api[name]); - } - { - if (extraApi[name]) { - return promisify(name, extraApi[name]); - } - if (todoApis[name]) { - return promisify(name, todoApis[name]); - } - } - if (eventApi[name]) { - return eventApi[name]; - } - return promisify(name, wrapper(name, wx[name])); - }, - set: function set(target, name, value) { - target[name] = value; - return true; - } - }); - } else { - Object.keys(baseApi).forEach(function (name) { - uni[name] = baseApi[name]; - }); - { - Object.keys(todoApis).forEach(function (name) { - uni[name] = promisify(name, todoApis[name]); - }); - Object.keys(extraApi).forEach(function (name) { - uni[name] = promisify(name, extraApi[name]); - }); - } - Object.keys(eventApi).forEach(function (name) { - uni[name] = eventApi[name]; - }); - Object.keys(api).forEach(function (name) { - uni[name] = promisify(name, api[name]); - }); - Object.keys(wx).forEach(function (name) { - if (hasOwn(wx, name) || hasOwn(protocols, name)) { - uni[name] = promisify(name, wrapper(name, wx[name])); - } - }); - } - wx.createApp = createApp; - wx.createPage = createPage; - wx.createComponent = createComponent; - wx.createSubpackageApp = createSubpackageApp; - wx.createPlugin = createPlugin; - var uni$1 = uni; - var _default = uni$1; - exports.default = _default; - /* WEBPACK VAR INJECTION */ - }.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 3))) - - /***/ - }), - - /***/ 20: - /*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/iterableToArray.js ***! - \****************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports) { - - function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); - } - - module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 21: - /*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/nonIterableSpread.js ***! - \******************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports) { - - 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."); - } - - module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 22: - /*!*************************************************************!*\ - !*** ./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js ***! - \*************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - "use strict"; - /* WEBPACK VAR INJECTION */ - (function (uni, global) { - - var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.LOCALE_ZH_HANT = exports.LOCALE_ZH_HANS = exports.LOCALE_FR = exports.LOCALE_ES = exports.LOCALE_EN = exports.I18n = exports.Formatter = void 0; - exports.compileI18nJsonStr = compileI18nJsonStr; - exports.hasI18nJson = hasI18nJson; - exports.initVueI18n = initVueI18n; - exports.isI18nStr = isI18nStr; - exports.isString = void 0; - exports.normalizeLocale = normalizeLocale; - exports.parseI18nJson = parseI18nJson; - exports.resolveLocale = resolveLocale; - var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5)); - var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 23)); - var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 24)); - var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13)); - var isObject = function isObject(val) { - return val !== null && (0, _typeof2.default)(val) === 'object'; - }; - var defaultDelimiters = ['{', '}']; - var BaseFormatter = /*#__PURE__*/function () { - function BaseFormatter() { - (0, _classCallCheck2.default)(this, BaseFormatter); - this._caches = Object.create(null); - } - - (0, _createClass2.default)(BaseFormatter, [{ - key: "interpolate", - value: function interpolate(message, values) { - var delimiters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultDelimiters; - if (!values) { - return [message]; - } - var tokens = this._caches[message]; - if (!tokens) { - tokens = parse(message, delimiters); - this._caches[message] = tokens; - } - return compile(tokens, values); - } - }]); - return BaseFormatter; - }(); - exports.Formatter = BaseFormatter; - var RE_TOKEN_LIST_VALUE = /^(?:\d)+/; - var RE_TOKEN_NAMED_VALUE = /^(?:\w)+/; - - function parse(format, _ref) { - var _ref2 = (0, _slicedToArray2.default)(_ref, 2), - startDelimiter = _ref2[0], - endDelimiter = _ref2[1]; - var tokens = []; - var position = 0; - var text = ''; - while (position < format.length) { - var char = format[position++]; - if (char === startDelimiter) { - if (text) { - tokens.push({ - type: 'text', - value: text - }); - } - text = ''; - var sub = ''; - char = format[position++]; - while (char !== undefined && char !== endDelimiter) { - sub += char; - char = format[position++]; - } - var isClosed = char === endDelimiter; - var type = RE_TOKEN_LIST_VALUE.test(sub) ? 'list' : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ? 'named' : 'unknown'; - tokens.push({ - value: sub, - type: type - }); - } - // else if (char === '%') { - // // when found rails i18n syntax, skip text capture - // if (format[position] !== '{') { - // text += char - // } - // } - else { - text += char; - } - } - text && tokens.push({ - type: 'text', - value: text - }); - return tokens; - } - - function compile(tokens, values) { - var compiled = []; - var index = 0; - var mode = Array.isArray(values) ? 'list' : isObject(values) ? 'named' : 'unknown'; - if (mode === 'unknown') { - return compiled; - } - while (index < tokens.length) { - var token = tokens[index]; - switch (token.type) { - case 'text': - compiled.push(token.value); - break; - case 'list': - compiled.push(values[parseInt(token.value, 10)]); - break; - case 'named': - if (mode === 'named') { - compiled.push(values[token.value]); - } else { - if (true) { - console.warn("Type of token '".concat(token.type, "' and format of value '").concat(mode, "' don't match!")); - } - } - break; - case 'unknown': - if (true) { - console.warn("Detect 'unknown' type of token!"); - } - break; - } - index++; - } - return compiled; - } - - var LOCALE_ZH_HANS = 'zh-Hans'; - exports.LOCALE_ZH_HANS = LOCALE_ZH_HANS; - var LOCALE_ZH_HANT = 'zh-Hant'; - exports.LOCALE_ZH_HANT = LOCALE_ZH_HANT; - var LOCALE_EN = 'en'; - exports.LOCALE_EN = LOCALE_EN; - var LOCALE_FR = 'fr'; - exports.LOCALE_FR = LOCALE_FR; - var LOCALE_ES = 'es'; - exports.LOCALE_ES = LOCALE_ES; - var hasOwnProperty = Object.prototype.hasOwnProperty; - var hasOwn = function hasOwn(val, key) { - return hasOwnProperty.call(val, key); - }; - var defaultFormatter = new BaseFormatter(); - - function include(str, parts) { - return !!parts.find(function (part) { - return str.indexOf(part) !== -1; - }); - } - - function startsWith(str, parts) { - return parts.find(function (part) { - return str.indexOf(part) === 0; - }); - } - - function normalizeLocale(locale, messages) { - if (!locale) { - return; - } - locale = locale.trim().replace(/_/g, '-'); - if (messages && messages[locale]) { - return locale; - } - locale = locale.toLowerCase(); - if (locale === 'chinese') { - // 支付宝 - return LOCALE_ZH_HANS; - } - if (locale.indexOf('zh') === 0) { - if (locale.indexOf('-hans') > -1) { - return LOCALE_ZH_HANS; - } - if (locale.indexOf('-hant') > -1) { - return LOCALE_ZH_HANT; - } - if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) { - return LOCALE_ZH_HANT; - } - return LOCALE_ZH_HANS; - } - var locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES]; - if (messages && Object.keys(messages).length > 0) { - locales = Object.keys(messages); - } - var lang = startsWith(locale, locales); - if (lang) { - return lang; - } - } - - var I18n = /*#__PURE__*/function () { - function I18n(_ref3) { - var locale = _ref3.locale, - fallbackLocale = _ref3.fallbackLocale, - messages = _ref3.messages, - watcher = _ref3.watcher, - formater = _ref3.formater; - (0, _classCallCheck2.default)(this, I18n); - this.locale = LOCALE_EN; - this.fallbackLocale = LOCALE_EN; - this.message = {}; - this.messages = {}; - this.watchers = []; - if (fallbackLocale) { - this.fallbackLocale = fallbackLocale; - } - this.formater = formater || defaultFormatter; - this.messages = messages || {}; - this.setLocale(locale || LOCALE_EN); - if (watcher) { - this.watchLocale(watcher); - } - } - - (0, _createClass2.default)(I18n, [{ - key: "setLocale", - value: function setLocale(locale) { - var _this = this; - var oldLocale = this.locale; - this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale; - if (!this.messages[this.locale]) { - // 可能初始化时不存在 - this.messages[this.locale] = {}; - } - this.message = this.messages[this.locale]; - // 仅发生变化时,通知 - if (oldLocale !== this.locale) { - this.watchers.forEach(function (watcher) { - watcher(_this.locale, oldLocale); - }); - } - } - }, { - key: "getLocale", - value: function getLocale() { - return this.locale; - } - }, { - key: "watchLocale", - value: function watchLocale(fn) { - var _this2 = this; - var index = this.watchers.push(fn) - 1; - return function () { - _this2.watchers.splice(index, 1); - }; - } - }, { - key: "add", - value: function add(locale, message) { - var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var curMessages = this.messages[locale]; - if (curMessages) { - if (override) { - Object.assign(curMessages, message); - } else { - Object.keys(message).forEach(function (key) { - if (!hasOwn(curMessages, key)) { - curMessages[key] = message[key]; - } - }); - } - } else { - this.messages[locale] = message; - } - } - }, { - key: "f", - value: function f(message, values, delimiters) { - return this.formater.interpolate(message, values, delimiters).join(''); - } - }, { - key: "t", - value: function t(key, locale, values) { - var message = this.message; - if (typeof locale === 'string') { - locale = normalizeLocale(locale, this.messages); - locale && (message = this.messages[locale]); - } else { - values = locale; - } - if (!hasOwn(message, key)) { - console.warn("Cannot translate the value of keypath ".concat(key, ". Use the value of keypath as default.")); - return key; - } - return this.formater.interpolate(message[key], values).join(''); - } - }]); - return I18n; - }(); - exports.I18n = I18n; - - function watchAppLocale(appVm, i18n) { - // 需要保证 watch 的触发在组件渲染之前 - if (appVm.$watchLocale) { - // vue2 - appVm.$watchLocale(function (newLocale) { - i18n.setLocale(newLocale); - }); - } else { - appVm.$watch(function () { - return appVm.$locale; - }, function (newLocale) { - i18n.setLocale(newLocale); - }); - } - } - - function getDefaultLocale() { - if (typeof uni !== 'undefined' && uni.getLocale) { - return uni.getLocale(); - } - // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale - if (typeof global !== 'undefined' && global.getLocale) { - return global.getLocale(); - } - return LOCALE_EN; - } - - function initVueI18n(locale) { - var messages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var fallbackLocale = arguments.length > 2 ? arguments[2] : undefined; - var watcher = arguments.length > 3 ? arguments[3] : undefined; - // 兼容旧版本入参 - if (typeof locale !== 'string') { - var _ref4 = [messages, locale]; - locale = _ref4[0]; - messages = _ref4[1]; - } - if (typeof locale !== 'string') { - // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined - locale = getDefaultLocale(); - } - if (typeof fallbackLocale !== 'string') { - fallbackLocale = typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale || LOCALE_EN; - } - var i18n = new I18n({ - locale: locale, - fallbackLocale: fallbackLocale, - messages: messages, - watcher: watcher - }); - var _t = function t(key, values) { - if (typeof getApp !== 'function') { - // app view - /* eslint-disable no-func-assign */ - _t = function t(key, values) { - return i18n.t(key, values); - }; - } else { - var isWatchedAppLocale = false; - _t = function t(key, values) { - var appVm = getApp().$vm; - // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化 - // options: { - // type: Array, - // default () { - // return [{ - // icon: 'shop', - // text: t("uni-goods-nav.options.shop"), - // }, { - // icon: 'cart', - // text: t("uni-goods-nav.options.cart") - // }] - // } - // }, - if (appVm) { - // 触发响应式 - appVm.$locale; - if (!isWatchedAppLocale) { - isWatchedAppLocale = true; - watchAppLocale(appVm, i18n); - } - } - return i18n.t(key, values); - }; - } - return _t(key, values); - }; - return { - i18n: i18n, - f: function f(message, values, delimiters) { - return i18n.f(message, values, delimiters); - }, - t: function t(key, values) { - return _t(key, values); - }, - add: function add(locale, message) { - var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - return i18n.add(locale, message, override); - }, - watch: function watch(fn) { - return i18n.watchLocale(fn); - }, - getLocale: function getLocale() { - return i18n.getLocale(); - }, - setLocale: function setLocale(newLocale) { - return i18n.setLocale(newLocale); - } - }; - } - - var isString = function isString(val) { - return typeof val === 'string'; - }; - exports.isString = isString; - var formater; - - function hasI18nJson(jsonObj, delimiters) { - if (!formater) { - formater = new BaseFormatter(); - } - return walkJsonObj(jsonObj, function (jsonObj, key) { - var value = jsonObj[key]; - if (isString(value)) { - if (isI18nStr(value, delimiters)) { - return true; - } - } else { - return hasI18nJson(value, delimiters); - } - }); - } - - function parseI18nJson(jsonObj, values, delimiters) { - if (!formater) { - formater = new BaseFormatter(); - } - walkJsonObj(jsonObj, function (jsonObj, key) { - var value = jsonObj[key]; - if (isString(value)) { - if (isI18nStr(value, delimiters)) { - jsonObj[key] = compileStr(value, values, delimiters); - } - } else { - parseI18nJson(value, values, delimiters); - } - }); - return jsonObj; - } - - function compileI18nJsonStr(jsonStr, _ref5) { - var locale = _ref5.locale, - locales = _ref5.locales, - delimiters = _ref5.delimiters; - if (!isI18nStr(jsonStr, delimiters)) { - return jsonStr; - } - if (!formater) { - formater = new BaseFormatter(); - } - var localeValues = []; - Object.keys(locales).forEach(function (name) { - if (name !== locale) { - localeValues.push({ - locale: name, - values: locales[name] - }); - } - }); - localeValues.unshift({ - locale: locale, - values: locales[locale] - }); - try { - return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2); - } catch (e) { - } - return jsonStr; - } - - function isI18nStr(value, delimiters) { - return value.indexOf(delimiters[0]) > -1; - } - - function compileStr(value, values, delimiters) { - return formater.interpolate(value, values, delimiters).join(''); - } - - function compileValue(jsonObj, key, localeValues, delimiters) { - var value = jsonObj[key]; - if (isString(value)) { - // 存在国际化 - if (isI18nStr(value, delimiters)) { - jsonObj[key] = compileStr(value, localeValues[0].values, delimiters); - if (localeValues.length > 1) { - // 格式化国际化语言 - var valueLocales = jsonObj[key + 'Locales'] = {}; - localeValues.forEach(function (localValue) { - valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters); - }); - } - } - } else { - compileJsonObj(value, localeValues, delimiters); - } - } - - function compileJsonObj(jsonObj, localeValues, delimiters) { - walkJsonObj(jsonObj, function (jsonObj, key) { - compileValue(jsonObj, key, localeValues, delimiters); - }); - return jsonObj; - } - - function walkJsonObj(jsonObj, walk) { - if (Array.isArray(jsonObj)) { - for (var i = 0; i < jsonObj.length; i++) { - if (walk(jsonObj, i)) { - return true; - } - } - } else if (isObject(jsonObj)) { - for (var key in jsonObj) { - if (walk(jsonObj, key)) { - return true; - } - } - } - return false; - } - - function resolveLocale(locales) { - return function (locale) { - if (!locale) { - return locale; - } - locale = normalizeLocale(locale) || locale; - return resolveLocaleChain(locale).find(function (locale) { - return locales.indexOf(locale) > -1; - }); - }; - } - - function resolveLocaleChain(locale) { - var chain = []; - var tokens = locale.split('-'); - while (tokens.length) { - chain.push(tokens.join('-')); - tokens.pop(); - } - return chain; - } - - /* WEBPACK VAR INJECTION */ - }.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"], __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 3))) - - /***/ - }), - - /***/ 23: - /*!***************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***! - \***************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports) { - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 24: - /*!************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/createClass.js ***! - \************************************************************/ - /*! no static exports found */ - /***/ (function (module, exports, __webpack_require__) { - - var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 12); - - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); - } - } - - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; - } - - module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; - - /***/ - }), - - /***/ 25: - /*!******************************************************************************************!*\ - !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***! - \******************************************************************************************/ - /*! exports provided: default */ - /***/ (function (module, __webpack_exports__, __webpack_require__) { - - "use strict"; - __webpack_require__.r(__webpack_exports__); - /* WEBPACK VAR INJECTION */ - (function (global) {/*! - * Vue.js v2.6.11 - * (c) 2014-2023 Evan You - * Released under the MIT License. - */ - /* */ - - var emptyObject = Object.freeze({}); - -// These helpers produce better VM code in JS engines due to their -// explicitness and function inlining. - function isUndef(v) { - return v === undefined || v === null - } - - function isDef(v) { - return v !== undefined && v !== null - } - - function isTrue(v) { - return v === true - } - - function isFalse(v) { - return v === false - } - - /** - * Check if value is primitive. - */ - function isPrimitive(value) { - return ( - typeof value === 'string' || - typeof value === 'number' || - // $flow-disable-line - typeof value === 'symbol' || - typeof value === 'boolean' - ) - } - - /** - * Quick object check - this is primarily used to tell - * Objects from primitive values when we know the value - * is a JSON-compliant type. - */ - function isObject(obj) { - return obj !== null && typeof obj === 'object' - } - - /** - * Get the raw type string of a value, e.g., [object Object]. - */ - var _toString = Object.prototype.toString; - - function toRawType(value) { - return _toString.call(value).slice(8, -1) - } - - /** - * Strict object type check. Only returns true - * for plain JavaScript objects. - */ - function isPlainObject(obj) { - return _toString.call(obj) === '[object Object]' - } - - function isRegExp(v) { - return _toString.call(v) === '[object RegExp]' - } - - /** - * Check if val is a valid array index. - */ - function isValidArrayIndex(val) { - var n = parseFloat(String(val)); - return n >= 0 && Math.floor(n) === n && isFinite(val) - } - - function isPromise(val) { - return ( - isDef(val) && - typeof val.then === 'function' && - typeof val.catch === 'function' - ) - } - - /** - * Convert a value to a string that is actually rendered. - */ - function toString(val) { - return val == null - ? '' - : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) - ? JSON.stringify(val, null, 2) - : String(val) - } - - /** - * Convert an input value to a number for persistence. - * If the conversion fails, return original string. - */ - function toNumber(val) { - var n = parseFloat(val); - return isNaN(n) ? val : n - } - - /** - * Make a map and return a function for checking if a key - * is in that map. - */ - function makeMap( - str, - expectsLowerCase - ) { - var map = Object.create(null); - var list = str.split(','); - for (var i = 0; i < list.length; i++) { - map[list[i]] = true; - } - return expectsLowerCase - ? function (val) { - return map[val.toLowerCase()]; - } - : function (val) { - return map[val]; - } - } - - /** - * Check if a tag is a built-in tag. - */ - var isBuiltInTag = makeMap('slot,component', true); - - /** - * Check if an attribute is a reserved attribute. - */ - var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); - - /** - * Remove an item from an array. - */ - function remove(arr, item) { - if (arr.length) { - var index = arr.indexOf(item); - if (index > -1) { - return arr.splice(index, 1) - } - } - } - - /** - * Check whether an object has the property. - */ - var hasOwnProperty = Object.prototype.hasOwnProperty; - - function hasOwn(obj, key) { - return hasOwnProperty.call(obj, key) - } - - /** - * Create a cached version of a pure function. - */ - function cached(fn) { - var cache = Object.create(null); - return (function cachedFn(str) { - var hit = cache[str]; - return hit || (cache[str] = fn(str)) - }) - } - - /** - * Camelize a hyphen-delimited string. - */ - var camelizeRE = /-(\w)/g; - var camelize = cached(function (str) { - return str.replace(camelizeRE, function (_, c) { - return c ? c.toUpperCase() : ''; - }) - }); - - /** - * Capitalize a string. - */ - var capitalize = cached(function (str) { - return str.charAt(0).toUpperCase() + str.slice(1) - }); - - /** - * Hyphenate a camelCase string. - */ - var hyphenateRE = /\B([A-Z])/g; - var hyphenate = cached(function (str) { - return str.replace(hyphenateRE, '-$1').toLowerCase() - }); - - /** - * Simple bind polyfill for environments that do not support it, - * e.g., PhantomJS 1.x. Technically, we don't need this anymore - * since native bind is now performant enough in most browsers. - * But removing it would mean breaking code that was able to run in - * PhantomJS 1.x, so this must be kept for backward compatibility. - */ - - /* istanbul ignore next */ - function polyfillBind(fn, ctx) { - function boundFn(a) { - var l = arguments.length; - return l - ? l > 1 - ? fn.apply(ctx, arguments) - : fn.call(ctx, a) - : fn.call(ctx) - } - - boundFn._length = fn.length; - return boundFn - } - - function nativeBind(fn, ctx) { - return fn.bind(ctx) - } - - var bind = Function.prototype.bind - ? nativeBind - : polyfillBind; - - /** - * Convert an Array-like object to a real Array. - */ - function toArray(list, start) { - start = start || 0; - var i = list.length - start; - var ret = new Array(i); - while (i--) { - ret[i] = list[i + start]; - } - return ret - } - - /** - * Mix properties into target object. - */ - function extend(to, _from) { - for (var key in _from) { - to[key] = _from[key]; - } - return to - } - - /** - * Merge an Array of Objects into a single Object. - */ - function toObject(arr) { - var res = {}; - for (var i = 0; i < arr.length; i++) { - if (arr[i]) { - extend(res, arr[i]); - } - } - return res - } - - /* eslint-disable no-unused-vars */ - - /** - * Perform no operation. - * Stubbing args to make Flow happy without leaving useless transpiled code - * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). - */ - function noop(a, b, c) { - } - - /** - * Always return false. - */ - var no = function (a, b, c) { - return false; - }; - - /* eslint-enable no-unused-vars */ - - /** - * Return the same value. - */ - var identity = function (_) { - return _; - }; - - /** - * Check if two values are loosely equal - that is, - * if they are plain objects, do they have the same shape? - */ - function looseEqual(a, b) { - if (a === b) { - return true - } - var isObjectA = isObject(a); - var isObjectB = isObject(b); - if (isObjectA && isObjectB) { - try { - var isArrayA = Array.isArray(a); - var isArrayB = Array.isArray(b); - if (isArrayA && isArrayB) { - return a.length === b.length && a.every(function (e, i) { - return looseEqual(e, b[i]) - }) - } else if (a instanceof Date && b instanceof Date) { - return a.getTime() === b.getTime() - } else if (!isArrayA && !isArrayB) { - var keysA = Object.keys(a); - var keysB = Object.keys(b); - return keysA.length === keysB.length && keysA.every(function (key) { - return looseEqual(a[key], b[key]) - }) - } else { - /* istanbul ignore next */ - return false - } - } catch (e) { - /* istanbul ignore next */ - return false - } - } else if (!isObjectA && !isObjectB) { - return String(a) === String(b) - } else { - return false - } - } - - /** - * Return the first index at which a loosely equal value can be - * found in the array (if value is a plain object, the array must - * contain an object of the same shape), or -1 if it is not present. - */ - function looseIndexOf(arr, val) { - for (var i = 0; i < arr.length; i++) { - if (looseEqual(arr[i], val)) { - return i - } - } - return -1 - } - - /** - * Ensure a function is called only once. - */ - function once(fn) { - var called = false; - return function () { - if (!called) { - called = true; - fn.apply(this, arguments); - } - } - } - - var ASSET_TYPES = [ - 'component', - 'directive', - 'filter' - ]; - - var LIFECYCLE_HOOKS = [ - 'beforeCreate', - 'created', - 'beforeMount', - 'mounted', - 'beforeUpdate', - 'updated', - 'beforeDestroy', - 'destroyed', - 'activated', - 'deactivated', - 'errorCaptured', - 'serverPrefetch' - ]; - - /* */ - - - var config = ({ - /** - * Option merge strategies (used in core/util/options) - */ - // $flow-disable-line - optionMergeStrategies: Object.create(null), - - /** - * Whether to suppress warnings. - */ - silent: false, - - /** - * Show production mode tip message on boot? - */ - productionTip: "development" !== 'production', - - /** - * Whether to enable devtools - */ - devtools: "development" !== 'production', - - /** - * Whether to record perf - */ - performance: false, - - /** - * Error handler for watcher errors - */ - errorHandler: null, - - /** - * Warn handler for watcher warns - */ - warnHandler: null, - - /** - * Ignore certain custom elements - */ - ignoredElements: [], - - /** - * Custom user key aliases for v-on - */ - // $flow-disable-line - keyCodes: Object.create(null), - - /** - * Check if a tag is reserved so that it cannot be registered as a - * component. This is platform-dependent and may be overwritten. - */ - isReservedTag: no, - - /** - * Check if an attribute is reserved so that it cannot be used as a component - * prop. This is platform-dependent and may be overwritten. - */ - isReservedAttr: no, - - /** - * Check if a tag is an unknown element. - * Platform-dependent. - */ - isUnknownElement: no, - - /** - * Get the namespace of an element - */ - getTagNamespace: noop, - - /** - * Parse the real tag name for the specific platform. - */ - parsePlatformTagName: identity, - - /** - * Check if an attribute must be bound using property, e.g. value - * Platform-dependent. - */ - mustUseProp: no, - - /** - * Perform updates asynchronously. Intended to be used by Vue Test Utils - * This will significantly reduce performance if set to false. - */ - async: true, - - /** - * Exposed for legacy reasons - */ - _lifecycleHooks: LIFECYCLE_HOOKS - }); - - /* */ - - /** - * unicode letters used for parsing html tags, component names and property paths. - * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname - * skipping \u10000-\uEFFFF due to it freezing up PhantomJS - */ - var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; - - /** - * Check if a string starts with $ or _ - */ - function isReserved(str) { - var c = (str + '').charCodeAt(0); - return c === 0x24 || c === 0x5F - } - - /** - * Define a property. - */ - function def(obj, key, val, enumerable) { - Object.defineProperty(obj, key, { - value: val, - enumerable: !!enumerable, - writable: true, - configurable: true - }); - } - - /** - * Parse simple path. - */ - var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); - - function parsePath(path) { - if (bailRE.test(path)) { - return - } - var segments = path.split('.'); - return function (obj) { - for (var i = 0; i < segments.length; i++) { - if (!obj) { - return - } - obj = obj[segments[i]]; - } - return obj - } - } - - /* */ - -// can we use __proto__? - var hasProto = '__proto__' in {}; - -// Browser environment sniffing - var inBrowser = typeof window !== 'undefined'; - var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; - var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); - var UA = inBrowser && window.navigator.userAgent.toLowerCase(); - var isIE = UA && /msie|trident/.test(UA); - var isIE9 = UA && UA.indexOf('msie 9.0') > 0; - var isEdge = UA && UA.indexOf('edge/') > 0; - var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); - var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); - var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; - var isPhantomJS = UA && /phantomjs/.test(UA); - var isFF = UA && UA.match(/firefox\/(\d+)/); - -// Firefox has a "watch" function on Object.prototype... - var nativeWatch = ({}).watch; - if (inBrowser) { - try { - var opts = {}; - Object.defineProperty(opts, 'passive', ({ - get: function get() { - } - })); // https://github.com/facebook/flow/issues/285 - window.addEventListener('test-passive', null, opts); - } catch (e) { - } - } - -// this needs to be lazy-evaled because vue may be required before -// vue-server-renderer can set VUE_ENV - var _isServer; - var isServerRendering = function () { - if (_isServer === undefined) { - /* istanbul ignore if */ - if (!inBrowser && !inWeex && typeof global !== 'undefined') { - // detect presence of vue-server-renderer and avoid - // Webpack shimming the process - _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; - } else { - _isServer = false; - } - } - return _isServer - }; - -// detect devtools - var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; - - /* istanbul ignore next */ - function isNative(Ctor) { - return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) - } - - var hasSymbol = - typeof Symbol !== 'undefined' && isNative(Symbol) && - typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); - - var _Set; - /* istanbul ignore if */ // $flow-disable-line - if (typeof Set !== 'undefined' && isNative(Set)) { - // use native Set when available. - _Set = Set; - } else { - // a non-standard Set polyfill that only works with primitive keys. - _Set = /*@__PURE__*/(function () { - function Set() { - this.set = Object.create(null); - } - - Set.prototype.has = function has(key) { - return this.set[key] === true - }; - Set.prototype.add = function add(key) { - this.set[key] = true; - }; - Set.prototype.clear = function clear() { - this.set = Object.create(null); - }; - - return Set; - }()); - } - - /* */ - - var warn = noop; - var tip = noop; - var generateComponentTrace = (noop); // work around flow check - var formatComponentName = (noop); - - if (true) { - var hasConsole = typeof console !== 'undefined'; - var classifyRE = /(?:^|[-_])(\w)/g; - var classify = function (str) { - return str - .replace(classifyRE, function (c) { - return c.toUpperCase(); - }) - .replace(/[-_]/g, ''); - }; - - warn = function (msg, vm) { - var trace = vm ? generateComponentTrace(vm) : ''; - - if (config.warnHandler) { - config.warnHandler.call(null, msg, vm, trace); - } else if (hasConsole && (!config.silent)) { - console.error(("[Vue warn]: " + msg + trace)); - } - }; - - tip = function (msg, vm) { - if (hasConsole && (!config.silent)) { - console.warn("[Vue tip]: " + msg + ( - vm ? generateComponentTrace(vm) : '' - )); - } - }; - - formatComponentName = function (vm, includeFile) { - if (vm.$root === vm) { - if (vm.$options && vm.$options.__file) { // fixed by xxxxxx - return ('') + vm.$options.__file - } - return '' - } - var options = typeof vm === 'function' && vm.cid != null - ? vm.options - : vm._isVue - ? vm.$options || vm.constructor.options - : vm; - var name = options.name || options._componentTag; - var file = options.__file; - if (!name && file) { - var match = file.match(/([^/\\]+)\.vue$/); - name = match && match[1]; - } - - return ( - (name ? ("<" + (classify(name)) + ">") : "") + - (file && includeFile !== false ? (" at " + file) : '') - ) - }; - - var repeat = function (str, n) { - var res = ''; - while (n) { - if (n % 2 === 1) { - res += str; - } - if (n > 1) { - str += str; - } - n >>= 1; - } - return res - }; - - generateComponentTrace = function (vm) { - if (vm._isVue && vm.$parent) { - var tree = []; - var currentRecursiveSequence = 0; - while (vm && vm.$options.name !== 'PageBody') { - if (tree.length > 0) { - var last = tree[tree.length - 1]; - if (last.constructor === vm.constructor) { - currentRecursiveSequence++; - vm = vm.$parent; - continue - } else if (currentRecursiveSequence > 0) { - tree[tree.length - 1] = [last, currentRecursiveSequence]; - currentRecursiveSequence = 0; - } - } - !vm.$options.isReserved && tree.push(vm); - vm = vm.$parent; - } - return '\n\nfound in\n\n' + tree - .map(function (vm, i) { - return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) - ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") - : formatComponentName(vm))); - }) - .join('\n') - } else { - return ("\n\n(found in " + (formatComponentName(vm)) + ")") - } - }; - } - - /* */ - - var uid = 0; - - /** - * A dep is an observable that can have multiple - * directives subscribing to it. - */ - var Dep = function Dep() { - this.id = uid++; - this.subs = []; - }; - - Dep.prototype.addSub = function addSub(sub) { - this.subs.push(sub); - }; - - Dep.prototype.removeSub = function removeSub(sub) { - remove(this.subs, sub); - }; - - Dep.prototype.depend = function depend() { - if (Dep.SharedObject.target) { - Dep.SharedObject.target.addDep(this); - } - }; - - Dep.prototype.notify = function notify() { - // stabilize the subscriber list first - var subs = this.subs.slice(); - if (true && !config.async) { - // subs aren't sorted in scheduler if not running async - // we need to sort them now to make sure they fire in correct - // order - subs.sort(function (a, b) { - return a.id - b.id; - }); - } - for (var i = 0, l = subs.length; i < l; i++) { - subs[i].update(); - } - }; - -// The current target watcher being evaluated. -// This is globally unique because only one watcher -// can be evaluated at a time. -// fixed by xxxxxx (nvue shared vuex) - /* eslint-disable no-undef */ - Dep.SharedObject = {}; - Dep.SharedObject.target = null; - Dep.SharedObject.targetStack = []; - - function pushTarget(target) { - Dep.SharedObject.targetStack.push(target); - Dep.SharedObject.target = target; - Dep.target = target; - } - - function popTarget() { - Dep.SharedObject.targetStack.pop(); - Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1]; - Dep.target = Dep.SharedObject.target; - } - - /* */ - - var VNode = function VNode( - tag, - data, - children, - text, - elm, - context, - componentOptions, - asyncFactory - ) { - this.tag = tag; - this.data = data; - this.children = children; - this.text = text; - this.elm = elm; - this.ns = undefined; - this.context = context; - this.fnContext = undefined; - this.fnOptions = undefined; - this.fnScopeId = undefined; - this.key = data && data.key; - this.componentOptions = componentOptions; - this.componentInstance = undefined; - this.parent = undefined; - this.raw = false; - this.isStatic = false; - this.isRootInsert = true; - this.isComment = false; - this.isCloned = false; - this.isOnce = false; - this.asyncFactory = asyncFactory; - this.asyncMeta = undefined; - this.isAsyncPlaceholder = false; - }; - - var prototypeAccessors = {child: {configurable: true}}; - -// DEPRECATED: alias for componentInstance for backwards compat. - /* istanbul ignore next */ - prototypeAccessors.child.get = function () { - return this.componentInstance - }; - - Object.defineProperties(VNode.prototype, prototypeAccessors); - - var createEmptyVNode = function (text) { - if (text === void 0) text = ''; - - var node = new VNode(); - node.text = text; - node.isComment = true; - return node - }; - - function createTextVNode(val) { - return new VNode(undefined, undefined, undefined, String(val)) - } - -// optimized shallow clone -// used for static nodes and slot nodes because they may be reused across -// multiple renders, cloning them avoids errors when DOM manipulations rely -// on their elm reference. - function cloneVNode(vnode) { - var cloned = new VNode( - vnode.tag, - vnode.data, - // #7975 - // clone children array to avoid mutating original in case of cloning - // a child. - vnode.children && vnode.children.slice(), - vnode.text, - vnode.elm, - vnode.context, - vnode.componentOptions, - vnode.asyncFactory - ); - cloned.ns = vnode.ns; - cloned.isStatic = vnode.isStatic; - cloned.key = vnode.key; - cloned.isComment = vnode.isComment; - cloned.fnContext = vnode.fnContext; - cloned.fnOptions = vnode.fnOptions; - cloned.fnScopeId = vnode.fnScopeId; - cloned.asyncMeta = vnode.asyncMeta; - cloned.isCloned = true; - return cloned - } - - /* - * not type checking this file because flow doesn't play well with - * dynamically accessing methods on Array prototype - */ - - var arrayProto = Array.prototype; - var arrayMethods = Object.create(arrayProto); - - var methodsToPatch = [ - 'push', - 'pop', - 'shift', - 'unshift', - 'splice', - 'sort', - 'reverse' - ]; - - /** - * Intercept mutating methods and emit events - */ - methodsToPatch.forEach(function (method) { - // cache original method - var original = arrayProto[method]; - def(arrayMethods, method, function mutator() { - var args = [], len = arguments.length; - while (len--) args[len] = arguments[len]; - - var result = original.apply(this, args); - var ob = this.__ob__; - var inserted; - switch (method) { - case 'push': - case 'unshift': - inserted = args; - break - case 'splice': - inserted = args.slice(2); - break - } - if (inserted) { - ob.observeArray(inserted); - } - // notify change - ob.dep.notify(); - return result - }); - }); - - /* */ - - var arrayKeys = Object.getOwnPropertyNames(arrayMethods); - - /** - * In some cases we may want to disable observation inside a component's - * update computation. - */ - var shouldObserve = true; - - function toggleObserving(value) { - shouldObserve = value; - } - - /** - * Observer class that is attached to each observed - * object. Once attached, the observer converts the target - * object's property keys into getter/setters that - * collect dependencies and dispatch updates. - */ - var Observer = function Observer(value) { - this.value = value; - this.dep = new Dep(); - this.vmCount = 0; - def(value, '__ob__', this); - if (Array.isArray(value)) { - if (hasProto) { - {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑 - if (value.push !== value.__proto__.push) { - copyAugment(value, arrayMethods, arrayKeys); - } else { - protoAugment(value, arrayMethods); - } - } - } else { - copyAugment(value, arrayMethods, arrayKeys); - } - this.observeArray(value); - } else { - this.walk(value); - } - }; - - /** - * Walk through all properties and convert them into - * getter/setters. This method should only be called when - * value type is Object. - */ - Observer.prototype.walk = function walk(obj) { - var keys = Object.keys(obj); - for (var i = 0; i < keys.length; i++) { - defineReactive$$1(obj, keys[i]); - } - }; - - /** - * Observe a list of Array items. - */ - Observer.prototype.observeArray = function observeArray(items) { - for (var i = 0, l = items.length; i < l; i++) { - observe(items[i]); - } - }; - -// helpers - - /** - * Augment a target Object or Array by intercepting - * the prototype chain using __proto__ - */ - function protoAugment(target, src) { - /* eslint-disable no-proto */ - target.__proto__ = src; - /* eslint-enable no-proto */ - } - - /** - * Augment a target Object or Array by defining - * hidden properties. - */ - - /* istanbul ignore next */ - function copyAugment(target, src, keys) { - for (var i = 0, l = keys.length; i < l; i++) { - var key = keys[i]; - def(target, key, src[key]); - } - } - - /** - * Attempt to create an observer instance for a value, - * returns the new observer if successfully observed, - * or the existing observer if the value already has one. - */ - function observe(value, asRootData) { - if (!isObject(value) || value instanceof VNode) { - return - } - var ob; - if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { - ob = value.__ob__; - } else if ( - shouldObserve && - !isServerRendering() && - (Array.isArray(value) || isPlainObject(value)) && - Object.isExtensible(value) && - !value._isVue && - !value.__v_isMPComponent - ) { - ob = new Observer(value); - } - if (asRootData && ob) { - ob.vmCount++; - } - return ob - } - - /** - * Define a reactive property on an Object. - */ - function defineReactive$$1( - obj, - key, - val, - customSetter, - shallow - ) { - var dep = new Dep(); - - var property = Object.getOwnPropertyDescriptor(obj, key); - if (property && property.configurable === false) { - return - } - - // cater for pre-defined getter/setters - var getter = property && property.get; - var setter = property && property.set; - if ((!getter || setter) && arguments.length === 2) { - val = obj[key]; - } - - var childOb = !shallow && observe(val); - Object.defineProperty(obj, key, { - enumerable: true, - configurable: true, - get: function reactiveGetter() { - var value = getter ? getter.call(obj) : val; - if (Dep.SharedObject.target) { // fixed by xxxxxx - dep.depend(); - if (childOb) { - childOb.dep.depend(); - if (Array.isArray(value)) { - dependArray(value); - } - } - } - return value - }, - set: function reactiveSetter(newVal) { - var value = getter ? getter.call(obj) : val; - /* eslint-disable no-self-compare */ - if (newVal === value || (newVal !== newVal && value !== value)) { - return - } - /* eslint-enable no-self-compare */ - if (true && customSetter) { - customSetter(); - } - // #7981: for accessor properties without setter - if (getter && !setter) { - return - } - if (setter) { - setter.call(obj, newVal); - } else { - val = newVal; - } - childOb = !shallow && observe(newVal); - dep.notify(); - } - }); - } - - /** - * Set a property on an object. Adds the new property and - * triggers change notification if the property doesn't - * already exist. - */ - function set(target, key, val) { - if (true && - (isUndef(target) || isPrimitive(target)) - ) { - warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); - } - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.length = Math.max(target.length, key); - target.splice(key, 1, val); - return val - } - if (key in target && !(key in Object.prototype)) { - target[key] = val; - return val - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - true && warn( - 'Avoid adding reactive properties to a Vue instance or its root $data ' + - 'at runtime - declare it upfront in the data option.' - ); - return val - } - if (!ob) { - target[key] = val; - return val - } - defineReactive$$1(ob.value, key, val); - ob.dep.notify(); - return val - } - - /** - * Delete a property and trigger change if necessary. - */ - function del(target, key) { - if (true && - (isUndef(target) || isPrimitive(target)) - ) { - warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); - } - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.splice(key, 1); - return - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - true && warn( - 'Avoid deleting properties on a Vue instance or its root $data ' + - '- just set it to null.' - ); - return - } - if (!hasOwn(target, key)) { - return - } - delete target[key]; - if (!ob) { - return - } - ob.dep.notify(); - } - - /** - * Collect dependencies on array elements when the array is touched, since - * we cannot intercept array element access like property getters. - */ - function dependArray(value) { - for (var e = (void 0), i = 0, l = value.length; i < l; i++) { - e = value[i]; - e && e.__ob__ && e.__ob__.dep.depend(); - if (Array.isArray(e)) { - dependArray(e); - } - } - } - - /* */ - - /** - * Option overwriting strategies are functions that handle - * how to merge a parent option value and a child option - * value into the final value. - */ - var strats = config.optionMergeStrategies; - - /** - * Options with restrictions - */ - if (true) { - strats.el = strats.propsData = function (parent, child, vm, key) { - if (!vm) { - warn( - "option \"" + key + "\" can only be used during instance " + - 'creation with the `new` keyword.' - ); - } - return defaultStrat(parent, child) - }; - } - - /** - * Helper that recursively merges two data objects together. - */ - function mergeData(to, from) { - if (!from) { - return to - } - var key, toVal, fromVal; - - var keys = hasSymbol - ? Reflect.ownKeys(from) - : Object.keys(from); - - for (var i = 0; i < keys.length; i++) { - key = keys[i]; - // in case the object is already observed... - if (key === '__ob__') { - continue - } - toVal = to[key]; - fromVal = from[key]; - if (!hasOwn(to, key)) { - set(to, key, fromVal); - } else if ( - toVal !== fromVal && - isPlainObject(toVal) && - isPlainObject(fromVal) - ) { - mergeData(toVal, fromVal); - } - } - return to - } - - /** - * Data - */ - function mergeDataOrFn( - parentVal, - childVal, - vm - ) { - if (!vm) { - // in a Vue.extend merge, both should be functions - if (!childVal) { - return parentVal - } - if (!parentVal) { - return childVal - } - // when parentVal & childVal are both present, - // we need to return a function that returns the - // merged result of both functions... no need to - // check if parentVal is a function here because - // it has to be a function to pass previous merges. - return function mergedDataFn() { - return mergeData( - typeof childVal === 'function' ? childVal.call(this, this) : childVal, - typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal - ) - } - } else { - return function mergedInstanceDataFn() { - // instance merge - var instanceData = typeof childVal === 'function' - ? childVal.call(vm, vm) - : childVal; - var defaultData = typeof parentVal === 'function' - ? parentVal.call(vm, vm) - : parentVal; - if (instanceData) { - return mergeData(instanceData, defaultData) - } else { - return defaultData - } - } - } - } - - strats.data = function ( - parentVal, - childVal, - vm - ) { - if (!vm) { - if (childVal && typeof childVal !== 'function') { - true && warn( - 'The "data" option should be a function ' + - 'that returns a per-instance value in component ' + - 'definitions.', - vm - ); - - return parentVal - } - return mergeDataOrFn(parentVal, childVal) - } - - return mergeDataOrFn(parentVal, childVal, vm) - }; - - /** - * Hooks and props are merged as arrays. - */ - function mergeHook( - parentVal, - childVal - ) { - var res = childVal - ? parentVal - ? parentVal.concat(childVal) - : Array.isArray(childVal) - ? childVal - : [childVal] - : parentVal; - return res - ? dedupeHooks(res) - : res - } - - function dedupeHooks(hooks) { - var res = []; - for (var i = 0; i < hooks.length; i++) { - if (res.indexOf(hooks[i]) === -1) { - res.push(hooks[i]); - } - } - return res - } - - LIFECYCLE_HOOKS.forEach(function (hook) { - strats[hook] = mergeHook; - }); - - /** - * Assets - * - * When a vm is present (instance creation), we need to do - * a three-way merge between constructor options, instance - * options and parent options. - */ - function mergeAssets( - parentVal, - childVal, - vm, - key - ) { - var res = Object.create(parentVal || null); - if (childVal) { - true && assertObjectType(key, childVal, vm); - return extend(res, childVal) - } else { - return res - } - } - - ASSET_TYPES.forEach(function (type) { - strats[type + 's'] = mergeAssets; - }); - - /** - * Watchers. - * - * Watchers hashes should not overwrite one - * another, so we merge them as arrays. - */ - strats.watch = function ( - parentVal, - childVal, - vm, - key - ) { - // work around Firefox's Object.prototype.watch... - if (parentVal === nativeWatch) { - parentVal = undefined; - } - if (childVal === nativeWatch) { - childVal = undefined; - } - /* istanbul ignore if */ - if (!childVal) { - return Object.create(parentVal || null) - } - if (true) { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { - return childVal - } - var ret = {}; - extend(ret, parentVal); - for (var key$1 in childVal) { - var parent = ret[key$1]; - var child = childVal[key$1]; - if (parent && !Array.isArray(parent)) { - parent = [parent]; - } - ret[key$1] = parent - ? parent.concat(child) - : Array.isArray(child) ? child : [child]; - } - return ret - }; - - /** - * Other object hashes. - */ - strats.props = - strats.methods = - strats.inject = - strats.computed = function ( - parentVal, - childVal, - vm, - key - ) { - if (childVal && "development" !== 'production') { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { - return childVal - } - var ret = Object.create(null); - extend(ret, parentVal); - if (childVal) { - extend(ret, childVal); - } - return ret - }; - strats.provide = mergeDataOrFn; - - /** - * Default strategy. - */ - var defaultStrat = function (parentVal, childVal) { - return childVal === undefined - ? parentVal - : childVal - }; - - /** - * Validate component names - */ - function checkComponents(options) { - for (var key in options.components) { - validateComponentName(key); - } - } - - function validateComponentName(name) { - if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { - warn( - 'Invalid component name: "' + name + '". Component names ' + - 'should conform to valid custom element name in html5 specification.' - ); - } - if (isBuiltInTag(name) || config.isReservedTag(name)) { - warn( - 'Do not use built-in or reserved HTML elements as component ' + - 'id: ' + name - ); - } - } - - /** - * Ensure all props option syntax are normalized into the - * Object-based format. - */ - function normalizeProps(options, vm) { - var props = options.props; - if (!props) { - return - } - var res = {}; - var i, val, name; - if (Array.isArray(props)) { - i = props.length; - while (i--) { - val = props[i]; - if (typeof val === 'string') { - name = camelize(val); - res[name] = {type: null}; - } else if (true) { - warn('props must be strings when using array syntax.'); - } - } - } else if (isPlainObject(props)) { - for (var key in props) { - val = props[key]; - name = camelize(key); - res[name] = isPlainObject(val) - ? val - : {type: val}; - } - } else if (true) { - warn( - "Invalid value for option \"props\": expected an Array or an Object, " + - "but got " + (toRawType(props)) + ".", - vm - ); - } - options.props = res; - } - - /** - * Normalize all injections into Object-based format - */ - function normalizeInject(options, vm) { - var inject = options.inject; - if (!inject) { - return - } - var normalized = options.inject = {}; - if (Array.isArray(inject)) { - for (var i = 0; i < inject.length; i++) { - normalized[inject[i]] = {from: inject[i]}; - } - } else if (isPlainObject(inject)) { - for (var key in inject) { - var val = inject[key]; - normalized[key] = isPlainObject(val) - ? extend({from: key}, val) - : {from: val}; - } - } else if (true) { - warn( - "Invalid value for option \"inject\": expected an Array or an Object, " + - "but got " + (toRawType(inject)) + ".", - vm - ); - } - } - - /** - * Normalize raw function directives into object format. - */ - function normalizeDirectives(options) { - var dirs = options.directives; - if (dirs) { - for (var key in dirs) { - var def$$1 = dirs[key]; - if (typeof def$$1 === 'function') { - dirs[key] = {bind: def$$1, update: def$$1}; - } - } - } - } - - function assertObjectType(name, value, vm) { - if (!isPlainObject(value)) { - warn( - "Invalid value for option \"" + name + "\": expected an Object, " + - "but got " + (toRawType(value)) + ".", - vm - ); - } - } - - /** - * Merge two option objects into a new one. - * Core utility used in both instantiation and inheritance. - */ - function mergeOptions( - parent, - child, - vm - ) { - if (true) { - checkComponents(child); - } - - if (typeof child === 'function') { - child = child.options; - } - - normalizeProps(child, vm); - normalizeInject(child, vm); - normalizeDirectives(child); - - // Apply extends and mixins on the child options, - // but only if it is a raw options object that isn't - // the result of another mergeOptions call. - // Only merged options has the _base property. - if (!child._base) { - if (child.extends) { - parent = mergeOptions(parent, child.extends, vm); - } - if (child.mixins) { - for (var i = 0, l = child.mixins.length; i < l; i++) { - parent = mergeOptions(parent, child.mixins[i], vm); - } - } - } - - var options = {}; - var key; - for (key in parent) { - mergeField(key); - } - for (key in child) { - if (!hasOwn(parent, key)) { - mergeField(key); - } - } - - function mergeField(key) { - var strat = strats[key] || defaultStrat; - options[key] = strat(parent[key], child[key], vm, key); - } - - return options - } - - /** - * Resolve an asset. - * This function is used because child instances need access - * to assets defined in its ancestor chain. - */ - function resolveAsset( - options, - type, - id, - warnMissing - ) { - /* istanbul ignore if */ - if (typeof id !== 'string') { - return - } - var assets = options[type]; - // check local registration variations first - if (hasOwn(assets, id)) { - return assets[id] - } - var camelizedId = camelize(id); - if (hasOwn(assets, camelizedId)) { - return assets[camelizedId] - } - var PascalCaseId = capitalize(camelizedId); - if (hasOwn(assets, PascalCaseId)) { - return assets[PascalCaseId] - } - // fallback to prototype chain - var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; - if (true && warnMissing && !res) { - warn( - 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, - options - ); - } - return res - } - - /* */ - - - function validateProp( - key, - propOptions, - propsData, - vm - ) { - var prop = propOptions[key]; - var absent = !hasOwn(propsData, key); - var value = propsData[key]; - // boolean casting - var booleanIndex = getTypeIndex(Boolean, prop.type); - if (booleanIndex > -1) { - if (absent && !hasOwn(prop, 'default')) { - value = false; - } else if (value === '' || value === hyphenate(key)) { - // only cast empty string / same name to boolean if - // boolean has higher priority - var stringIndex = getTypeIndex(String, prop.type); - if (stringIndex < 0 || booleanIndex < stringIndex) { - value = true; - } - } - } - // check default value - if (value === undefined) { - value = getPropDefaultValue(vm, prop, key); - // since the default value is a fresh copy, - // make sure to observe it. - var prevShouldObserve = shouldObserve; - toggleObserving(true); - observe(value); - toggleObserving(prevShouldObserve); - } - if ( - true - ) { - assertProp(prop, key, value, vm, absent); - } - return value - } - - /** - * Get the default value of a prop. - */ - function getPropDefaultValue(vm, prop, key) { - // no default, return undefined - if (!hasOwn(prop, 'default')) { - return undefined - } - var def = prop.default; - // warn against non-factory defaults for Object & Array - if (true && isObject(def)) { - warn( - 'Invalid default value for prop "' + key + '": ' + - 'Props with type Object/Array must use a factory function ' + - 'to return the default value.', - vm - ); - } - // the raw prop value was also undefined from previous render, - // return previous default value to avoid unnecessary watcher trigger - if (vm && vm.$options.propsData && - vm.$options.propsData[key] === undefined && - vm._props[key] !== undefined - ) { - return vm._props[key] - } - // call factory function for non-Function types - // a value is Function if its prototype is function even across different execution context - return typeof def === 'function' && getType(prop.type) !== 'Function' - ? def.call(vm) - : def - } - - /** - * Assert whether a prop is valid. - */ - function assertProp( - prop, - name, - value, - vm, - absent - ) { - if (prop.required && absent) { - warn( - 'Missing required prop: "' + name + '"', - vm - ); - return - } - if (value == null && !prop.required) { - return - } - var type = prop.type; - var valid = !type || type === true; - var expectedTypes = []; - if (type) { - if (!Array.isArray(type)) { - type = [type]; - } - for (var i = 0; i < type.length && !valid; i++) { - var assertedType = assertType(value, type[i]); - expectedTypes.push(assertedType.expectedType || ''); - valid = assertedType.valid; - } - } - - if (!valid) { - warn( - getInvalidTypeMessage(name, value, expectedTypes), - vm - ); - return - } - var validator = prop.validator; - if (validator) { - if (!validator(value)) { - warn( - 'Invalid prop: custom validator check failed for prop "' + name + '".', - vm - ); - } - } - } - - var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; - - function assertType(value, type) { - var valid; - var expectedType = getType(type); - if (simpleCheckRE.test(expectedType)) { - var t = typeof value; - valid = t === expectedType.toLowerCase(); - // for primitive wrapper objects - if (!valid && t === 'object') { - valid = value instanceof type; - } - } else if (expectedType === 'Object') { - valid = isPlainObject(value); - } else if (expectedType === 'Array') { - valid = Array.isArray(value); - } else { - valid = value instanceof type; - } - return { - valid: valid, - expectedType: expectedType - } - } - - /** - * Use function string name to check built-in types, - * because a simple equality check will fail when running - * across different vms / iframes. - */ - function getType(fn) { - var match = fn && fn.toString().match(/^\s*function (\w+)/); - return match ? match[1] : '' - } - - function isSameType(a, b) { - return getType(a) === getType(b) - } - - function getTypeIndex(type, expectedTypes) { - if (!Array.isArray(expectedTypes)) { - return isSameType(expectedTypes, type) ? 0 : -1 - } - for (var i = 0, len = expectedTypes.length; i < len; i++) { - if (isSameType(expectedTypes[i], type)) { - return i - } - } - return -1 - } - - function getInvalidTypeMessage(name, value, expectedTypes) { - var message = "Invalid prop: type check failed for prop \"" + name + "\"." + - " Expected " + (expectedTypes.map(capitalize).join(', ')); - var expectedType = expectedTypes[0]; - var receivedType = toRawType(value); - var expectedValue = styleValue(value, expectedType); - var receivedValue = styleValue(value, receivedType); - // check if we need to specify expected value - if (expectedTypes.length === 1 && - isExplicable(expectedType) && - !isBoolean(expectedType, receivedType)) { - message += " with value " + expectedValue; - } - message += ", got " + receivedType + " "; - // check if we need to specify received value - if (isExplicable(receivedType)) { - message += "with value " + receivedValue + "."; - } - return message - } - - function styleValue(value, type) { - if (type === 'String') { - return ("\"" + value + "\"") - } else if (type === 'Number') { - return ("" + (Number(value))) - } else { - return ("" + value) - } - } - - function isExplicable(value) { - var explicitTypes = ['string', 'number', 'boolean']; - return explicitTypes.some(function (elem) { - return value.toLowerCase() === elem; - }) - } - - function isBoolean() { - var args = [], len = arguments.length; - while (len--) args[len] = arguments[len]; - - return args.some(function (elem) { - return elem.toLowerCase() === 'boolean'; - }) - } - - /* */ - - function handleError(err, vm, info) { - // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. - // See: https://github.com/vuejs/vuex/issues/1505 - pushTarget(); - try { - if (vm) { - var cur = vm; - while ((cur = cur.$parent)) { - var hooks = cur.$options.errorCaptured; - if (hooks) { - for (var i = 0; i < hooks.length; i++) { - try { - var capture = hooks[i].call(cur, err, vm, info) === false; - if (capture) { - return - } - } catch (e) { - globalHandleError(e, cur, 'errorCaptured hook'); - } - } - } - } - } - globalHandleError(err, vm, info); - } finally { - popTarget(); - } - } - - function invokeWithErrorHandling( - handler, - context, - args, - vm, - info - ) { - var res; - try { - res = args ? handler.apply(context, args) : handler.call(context); - if (res && !res._isVue && isPromise(res) && !res._handled) { - res.catch(function (e) { - return handleError(e, vm, info + " (Promise/async)"); - }); - // issue #9511 - // avoid catch triggering multiple times when nested calls - res._handled = true; - } - } catch (e) { - handleError(e, vm, info); - } - return res - } - - function globalHandleError(err, vm, info) { - if (config.errorHandler) { - try { - return config.errorHandler.call(null, err, vm, info) - } catch (e) { - // if the user intentionally throws the original error in the handler, - // do not log it twice - if (e !== err) { - logError(e, null, 'config.errorHandler'); - } - } - } - logError(err, vm, info); - } - - function logError(err, vm, info) { - if (true) { - warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); - } - /* istanbul ignore else */ - if ((inBrowser || inWeex) && typeof console !== 'undefined') { - console.error(err); - } else { - throw err - } - } - - /* */ - - var callbacks = []; - var pending = false; - - function flushCallbacks() { - pending = false; - var copies = callbacks.slice(0); - callbacks.length = 0; - for (var i = 0; i < copies.length; i++) { - copies[i](); - } - } - -// Here we have async deferring wrappers using microtasks. -// In 2.5 we used (macro) tasks (in combination with microtasks). -// However, it has subtle problems when state is changed right before repaint -// (e.g. #6813, out-in transitions). -// Also, using (macro) tasks in event handler would cause some weird behaviors -// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). -// So we now use microtasks everywhere, again. -// A major drawback of this tradeoff is that there are some scenarios -// where microtasks have too high a priority and fire in between supposedly -// sequential events (e.g. #4521, #6690, which have workarounds) -// or even between bubbling of the same event (#6566). - var timerFunc; - -// The nextTick behavior leverages the microtask queue, which can be accessed -// via either native Promise.then or MutationObserver. -// MutationObserver has wider support, however it is seriously bugged in -// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It -// completely stops working after triggering a few times... so, if native -// Promise is available, we will use it: - /* istanbul ignore next, $flow-disable-line */ - if (typeof Promise !== 'undefined' && isNative(Promise)) { - var p = Promise.resolve(); - timerFunc = function () { - p.then(flushCallbacks); - // In problematic UIWebViews, Promise.then doesn't completely break, but - // it can get stuck in a weird state where callbacks are pushed into the - // microtask queue but the queue isn't being flushed, until the browser - // needs to do some other work, e.g. handle a timer. Therefore we can - // "force" the microtask queue to be flushed by adding an empty timer. - if (isIOS) { - setTimeout(noop); - } - }; - } else if (!isIE && typeof MutationObserver !== 'undefined' && ( - isNative(MutationObserver) || - // PhantomJS and iOS 7.x - MutationObserver.toString() === '[object MutationObserverConstructor]' - )) { - // Use MutationObserver where native Promise is not available, - // e.g. PhantomJS, iOS7, Android 4.4 - // (#6466 MutationObserver is unreliable in IE11) - var counter = 1; - var observer = new MutationObserver(flushCallbacks); - var textNode = document.createTextNode(String(counter)); - observer.observe(textNode, { - characterData: true - }); - timerFunc = function () { - counter = (counter + 1) % 2; - textNode.data = String(counter); - }; - } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { - // Fallback to setImmediate. - // Technically it leverages the (macro) task queue, - // but it is still a better choice than setTimeout. - timerFunc = function () { - setImmediate(flushCallbacks); - }; - } else { - // Fallback to setTimeout. - timerFunc = function () { - setTimeout(flushCallbacks, 0); - }; - } - - function nextTick(cb, ctx) { - var _resolve; - callbacks.push(function () { - if (cb) { - try { - cb.call(ctx); - } catch (e) { - handleError(e, ctx, 'nextTick'); - } - } else if (_resolve) { - _resolve(ctx); - } - }); - if (!pending) { - pending = true; - timerFunc(); - } - // $flow-disable-line - if (!cb && typeof Promise !== 'undefined') { - return new Promise(function (resolve) { - _resolve = resolve; - }) - } - } - - /* */ - - /* not type checking this file because flow doesn't play well with Proxy */ - - var initProxy; - - if (true) { - var allowedGlobals = makeMap( - 'Infinity,undefined,NaN,isFinite,isNaN,' + - 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + - 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + - 'require' // for Webpack/Browserify - ); - - var warnNonPresent = function (target, key) { - warn( - "Property or method \"" + key + "\" is not defined on the instance but " + - 'referenced during render. Make sure that this property is reactive, ' + - 'either in the data option, or for class-based components, by ' + - 'initializing the property. ' + - 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', - target - ); - }; - - var warnReservedPrefix = function (target, key) { - warn( - "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + - 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + - 'prevent conflicts with Vue internals. ' + - 'See: https://vuejs.org/v2/api/#data', - target - ); - }; - - var hasProxy = - typeof Proxy !== 'undefined' && isNative(Proxy); - - if (hasProxy) { - var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); - config.keyCodes = new Proxy(config.keyCodes, { - set: function set(target, key, value) { - if (isBuiltInModifier(key)) { - warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); - return false - } else { - target[key] = value; - return true - } - } - }); - } - - var hasHandler = { - has: function has(target, key) { - var has = key in target; - var isAllowed = allowedGlobals(key) || - (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); - if (!has && !isAllowed) { - if (key in target.$data) { - warnReservedPrefix(target, key); - } else { - warnNonPresent(target, key); - } - } - return has || !isAllowed - } - }; - - var getHandler = { - get: function get(target, key) { - if (typeof key === 'string' && !(key in target)) { - if (key in target.$data) { - warnReservedPrefix(target, key); - } else { - warnNonPresent(target, key); - } - } - return target[key] - } - }; - - initProxy = function initProxy(vm) { - if (hasProxy) { - // determine which proxy handler to use - var options = vm.$options; - var handlers = options.render && options.render._withStripped - ? getHandler - : hasHandler; - vm._renderProxy = new Proxy(vm, handlers); - } else { - vm._renderProxy = vm; - } - }; - } - - /* */ - - var seenObjects = new _Set(); - - /** - * Recursively traverse an object to evoke all converted - * getters, so that every nested property inside the object - * is collected as a "deep" dependency. - */ - function traverse(val) { - _traverse(val, seenObjects); - seenObjects.clear(); - } - - function _traverse(val, seen) { - var i, keys; - var isA = Array.isArray(val); - if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { - return - } - if (val.__ob__) { - var depId = val.__ob__.dep.id; - if (seen.has(depId)) { - return - } - seen.add(depId); - } - if (isA) { - i = val.length; - while (i--) { - _traverse(val[i], seen); - } - } else { - keys = Object.keys(val); - i = keys.length; - while (i--) { - _traverse(val[keys[i]], seen); - } - } - } - - var mark; - var measure; - - if (true) { - var perf = inBrowser && window.performance; - /* istanbul ignore if */ - if ( - perf && - perf.mark && - perf.measure && - perf.clearMarks && - perf.clearMeasures - ) { - mark = function (tag) { - return perf.mark(tag); - }; - measure = function (name, startTag, endTag) { - perf.measure(name, startTag, endTag); - perf.clearMarks(startTag); - perf.clearMarks(endTag); - // perf.clearMeasures(name) - }; - } - } - - /* */ - - var normalizeEvent = cached(function (name) { - var passive = name.charAt(0) === '&'; - name = passive ? name.slice(1) : name; - var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first - name = once$$1 ? name.slice(1) : name; - var capture = name.charAt(0) === '!'; - name = capture ? name.slice(1) : name; - return { - name: name, - once: once$$1, - capture: capture, - passive: passive - } - }); - - function createFnInvoker(fns, vm) { - function invoker() { - var arguments$1 = arguments; - - var fns = invoker.fns; - if (Array.isArray(fns)) { - var cloned = fns.slice(); - for (var i = 0; i < cloned.length; i++) { - invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); - } - } else { - // return handler return value for single handlers - return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") - } - } - - invoker.fns = fns; - return invoker - } - - function updateListeners( - on, - oldOn, - add, - remove$$1, - createOnceHandler, - vm - ) { - var name, def$$1, cur, old, event; - for (name in on) { - def$$1 = cur = on[name]; - old = oldOn[name]; - event = normalizeEvent(name); - if (isUndef(cur)) { - true && warn( - "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), - vm - ); - } else if (isUndef(old)) { - if (isUndef(cur.fns)) { - cur = on[name] = createFnInvoker(cur, vm); - } - if (isTrue(event.once)) { - cur = on[name] = createOnceHandler(event.name, cur, event.capture); - } - add(event.name, cur, event.capture, event.passive, event.params); - } else if (cur !== old) { - old.fns = cur; - on[name] = old; - } - } - for (name in oldOn) { - if (isUndef(on[name])) { - event = normalizeEvent(name); - remove$$1(event.name, oldOn[name], event.capture); - } - } - } - - /* */ - - /* */ - -// fixed by xxxxxx (mp properties) - function extractPropertiesFromVNodeData(data, Ctor, res, context) { - var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties; - if (isUndef(propOptions)) { - return res - } - var externalClasses = Ctor.options.mpOptions.externalClasses || []; - var attrs = data.attrs; - var props = data.props; - if (isDef(attrs) || isDef(props)) { - for (var key in propOptions) { - var altKey = hyphenate(key); - var result = checkProp(res, props, key, altKey, true) || - checkProp(res, attrs, key, altKey, false); - // externalClass - if ( - result && - res[key] && - externalClasses.indexOf(altKey) !== -1 && - context[camelize(res[key])] - ) { - // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串) - res[key] = context[camelize(res[key])]; - } - } - } - return res - } - - function extractPropsFromVNodeData( - data, - Ctor, - tag, - context// fixed by xxxxxx - ) { - // we are only extracting raw values here. - // validation and default values are handled in the child - // component itself. - var propOptions = Ctor.options.props; - if (isUndef(propOptions)) { - // fixed by xxxxxx - return extractPropertiesFromVNodeData(data, Ctor, {}, context) - } - var res = {}; - var attrs = data.attrs; - var props = data.props; - if (isDef(attrs) || isDef(props)) { - for (var key in propOptions) { - var altKey = hyphenate(key); - if (true) { - var keyInLowerCase = key.toLowerCase(); - if ( - key !== keyInLowerCase && - attrs && hasOwn(attrs, keyInLowerCase) - ) { - tip( - "Prop \"" + keyInLowerCase + "\" is passed to component " + - (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + - " \"" + key + "\". " + - "Note that HTML attributes are case-insensitive and camelCased " + - "props need to use their kebab-case equivalents when using in-DOM " + - "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." - ); - } - } - checkProp(res, props, key, altKey, true) || - checkProp(res, attrs, key, altKey, false); - } - } - // fixed by xxxxxx - return extractPropertiesFromVNodeData(data, Ctor, res, context) - } - - function checkProp( - res, - hash, - key, - altKey, - preserve - ) { - if (isDef(hash)) { - if (hasOwn(hash, key)) { - res[key] = hash[key]; - if (!preserve) { - delete hash[key]; - } - return true - } else if (hasOwn(hash, altKey)) { - res[key] = hash[altKey]; - if (!preserve) { - delete hash[altKey]; - } - return true - } - } - return false - } - - /* */ - -// The template compiler attempts to minimize the need for normalization by -// statically analyzing the template at compile time. -// -// For plain HTML markup, normalization can be completely skipped because the -// generated render function is guaranteed to return Array. There are -// two cases where extra normalization is needed: - -// 1. When the children contains components - because a functional component -// may return an Array instead of a single root. In this case, just a simple -// normalization is needed - if any child is an Array, we flatten the whole -// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep -// because functional components already normalize their own children. - function simpleNormalizeChildren(children) { - for (var i = 0; i < children.length; i++) { - if (Array.isArray(children[i])) { - return Array.prototype.concat.apply([], children) - } - } - return children - } - -// 2. When the children contains constructs that always generated nested Arrays, -// e.g.