diff --git a/.idea/compiler.xml b/.idea/compiler.xml index dfc8203..860071c 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -9,16 +9,19 @@ + + + + + + - - - @@ -32,11 +35,14 @@ + + + diff --git a/.idea/encodings.xml b/.idea/encodings.xml index f8295f9..c7a5815 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,6 +1,6 @@ - + @@ -8,11 +8,14 @@ + + + diff --git a/atguigu-tuan/common/http.interceptor.js b/atguigu-tuan/common/http.interceptor.js index 7e2e168..772588a 100644 --- a/atguigu-tuan/common/http.interceptor.js +++ b/atguigu-tuan/common/http.interceptor.js @@ -1,7 +1,7 @@ const install = (Vue, vm) => { Vue.prototype.$u.http.setConfig({ - //baseUrl: 'https://gmall-prod.atguigu.cn/api', - baseUrl: 'http://localhost:8200/api', + //baseUrl: 'http://ssyxyovinchen.free.idcfengye.com/api', + baseUrl: 'http://127.0.0.1:8200/api', loadingText: '请求中...', // 请求loading中的文字提示 loadingTime: 800, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms loadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透 diff --git a/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/main.js b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/main.js new file mode 100644 index 0000000..515b95c --- /dev/null +++ b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/main.js @@ -0,0 +1,162 @@ +(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/main"],{ + +/***/ 0: +/*!***************************************************************!*\ + !*** /Users/yovinchen/project/Java/ssyx/atguigu-tuan/main.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(wx, createApp) { + +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); +__webpack_require__(/*! uni-pages */ 26); +var _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 27)); +var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25)); +var _uviewUi = _interopRequireDefault(__webpack_require__(/*! uview-ui */ 33)); +var _store = _interopRequireDefault(__webpack_require__(/*! ./store */ 62)); +var _dayjs = _interopRequireDefault(__webpack_require__(/*! dayjs */ 69)); +var _httpInterceptor = _interopRequireDefault(__webpack_require__(/*! @/common/http.interceptor.js */ 70)); +var _httpApi = _interopRequireDefault(__webpack_require__(/*! @/common/http.api.js */ 71)); +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; } +// @ts-ignore +wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__; +_vue.default.prototype.$dayjs = _dayjs.default; +_vue.default.use(_uviewUi.default); +_vue.default.config.productionTip = false; +_App.default.mpType = 'app'; +var app = new _vue.default(_objectSpread(_objectSpread({}, _App.default), {}, { + store: _store.default +})); + +// http拦截器,将此部分放在new Vue()和app.$mount()之间,才能App.vue中正常使用 + +_vue.default.use(_httpInterceptor.default, app); + +// http接口API集中管理引入部分 + +_vue.default.use(_httpApi.default, app); +createApp(app).$mount(); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["createApp"])) + +/***/ }), + +/***/ 27: +/*!***************************************************************!*\ + !*** /Users/yovinchen/project/Java/ssyx/atguigu-tuan/App.vue ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 28); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); +/* harmony import */ var _App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=scss& */ 30); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32); +var render, staticRenderFns, recyclableRender, components +var renderjs + + + + + +/* normalize component */ + +var component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( + _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"], + render, + staticRenderFns, + false, + null, + null, + null, + false, + components, + renderjs +) + +component.options.__file = "App.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ 28: +/*!****************************************************************************************!*\ + !*** /Users/yovinchen/project/Java/ssyx/atguigu-tuan/App.vue?vue&type=script&lang=js& ***! + \****************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js& */ 29); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ 29: +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!/Users/yovinchen/project/Java/ssyx/atguigu-tuan/App.vue?vue&type=script&lang=js& ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = { + onLaunch: function onLaunch() { + console.log('App Launch'); + }, + onShow: function onShow() { + console.log('App Show'); + }, + onHide: function onHide() { + console.log('App Hide'); + } +}; +exports.default = _default; + +/***/ }), + +/***/ 30: +/*!*************************************************************************************************!*\ + !*** /Users/yovinchen/project/Java/ssyx/atguigu-tuan/App.vue?vue&type=style&index=0&lang=scss& ***! + \*************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=scss& */ 31); +/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ 31: +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!/Users/yovinchen/project/Java/ssyx/atguigu-tuan/App.vue?vue&type=style&index=0&lang=scss& ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + if(false) { var cssReload; } + + +/***/ }) + +},[[0,"common/runtime","common/vendor"]]]); +//# sourceMappingURL=../../.sourcemap/mp-weixin/common/main.js.map \ No newline at end of file diff --git a/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/main.wxss b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/main.wxss new file mode 100644 index 0000000..a4d54a1 --- /dev/null +++ b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/main.wxss @@ -0,0 +1,3268 @@ +@charset "UTF-8"; +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */ +@font-face { + font-family: "iconfont"; /* Project id 2738663 */ + src: url(data:font/woff2;base64,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) format('woff2'), + url(data:font/woff;base64,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) format('woff'), + url(data:font/ttf;base64,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ODhgcWA4Ab4bMkBHQTIaGjJBR0AyGyA4YHFgODhgcWA4lyIwIgEhMCIgNUo1ATRKNQAAAAACAAD/nwPXA2EAIwA2AAABJjEnFyYjAS4BIgcGBwEGFxEUFjMhNTQ2MhYdASEyNjURJicDITU0LgEiDgEdASERATYyFwERA80BAQIFBf6tGDs7HB8X/qoLBBUOAWAuPi4BYw8UBAMy/uMjOkY6I/7jAU0iXCIBUAITAQECCgEZFBYKCxX+5AsJ/b0OFc0fLi4fzRUOAkAFB/3EmiI7IyM7IpoCJwEWHR3+6v3ZAAAAAAAAEgDeAAEAAAAAAAAAEwAAAAEAAAAAAAEACAATAAEAAAAAAAIABwAbAAEAAAAAAAMACAAiAAEAAAAAAAQACAAqAAEAAAAAAAUACwAyAAEAAAAAAAYACAA9AAEAAAAAAAoAKwBFAAEAAAAAAAsAEwBwAAMAAQQJAAAAJgCDAAMAAQQJAAEAEACpAAMAAQQJAAIADgC5AAMAAQQJAAMAEADHAAMAAQQJAAQAEADXAAMAAQQJAAUAFgDnAAMAAQQJAAYAEAD9AAMAAQQJAAoAVgENAAMAAQQJAAsAJgFjQ3JlYXRlZCBieSBpY29uZm9udGljb25mb250UmVndWxhcmljb25mb250aWNvbmZvbnRWZXJzaW9uIDEuMGljb25mb250R2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQAIcGluZ2x1bjILdGlodW9ndWFubGkJZGFpZmFodW8xCWRhaWZ1a3Vhbg50dWlrdWFuc2hvdWhvdQp0cnVjay1mdWxsCGRhaWZhaHVvBmRpYW5wdQdtaWFvc2hhDXR1Ymlhb2x1bmt1by0Ea2VmdQZzaGV6aGkGeW9uZ2h1B3lhb3FpbmcDaWNvB3lvbmdodTEHemhla291LQV0b3VzdQdqaWFtZW5nE3NoYW5naHVwaWxpYW5ncnV6aHUbYmlhb3FpYW5rdW96aGFuX3R1aWppYW4tMzk0EXR1Ymlhb3poaXp1b21vYmFuB3NodWlndW8EY2FydAthdWktaWNvbi1teQpjYXRlZ29yaWVzBGhvbWUAAAAA) format('truetype'); +} +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.icon-pinglun2:before { + content: "\e629"; +} +.icon-tihuoguanli:before { + content: "\e6a9"; +} +.icon-daifahuo1:before { + content: "\e612"; +} +.icon-daifukuan:before { + content: "\e621"; +} +.icon-tuikuanshouhou:before { + content: "\e6bb"; +} +.icon-truck-full:before { + content: "\e9d9"; +} +.icon-daifahuo:before { + content: "\e708"; +} +.icon-dianpu:before { + content: "\e650"; +} +.icon-miaosha:before { + content: "\e60e"; +} +.icon-tubiaolunkuo-:before { + content: "\e605"; +} +.icon-kefu:before { + content: "\e601"; +} +.icon-shezhi:before { + content: "\e61c"; +} +.icon-yonghu:before { + content: "\e616"; +} +.icon-yaoqing:before { + content: "\e687"; +} +.icon-ico:before { + content: "\e646"; +} +.icon-yonghu1:before { + content: "\e615"; +} +.icon-zhekou-:before { + content: "\e607"; +} +.icon-tousu:before { + content: "\e638"; +} +.icon-jiameng:before { + content: "\e624"; +} +.icon-shanghupiliangruzhu:before { + content: "\e62b"; +} +.icon-biaoqiankuozhan_tuijian-394:before { + content: "\ebfb"; +} +.icon-tubiaozhizuomoban:before { + content: "\e647"; +} +.icon-shuiguo:before { + content: "\f342"; +} +.icon-cart:before { + content: "\e60c"; +} +.icon-aui-icon-my:before { + content: "\e61f"; +} +.icon-categories:before { + content: "\e60f"; +} +.icon-home:before { + content: "\e61b"; +} +.u-relative, +.u-rela { + position: relative; +} +.u-absolute, +.u-abso { + position: absolute; +} +image { + display: inline-block; +} +view, +text { + box-sizing: border-box; +} +.u-font-xs { + font-size: 22rpx; +} +.u-font-sm { + font-size: 26rpx; +} +.u-font-md { + font-size: 28rpx; +} +.u-font-lg { + font-size: 30rpx; +} +.u-font-xl { + font-size: 34rpx; +} +.u-flex { + display: flex; + flex-direction: row; + align-items: center; +} +.u-flex-wrap { + flex-wrap: wrap; +} +.u-flex-nowrap { + flex-wrap: nowrap; +} +.u-col-center { + align-items: center; +} +.u-col-top { + align-items: flex-start; +} +.u-col-bottom { + align-items: flex-end; +} +.u-row-center { + justify-content: center; +} +.u-row-left { + justify-content: flex-start; +} +.u-row-right { + justify-content: flex-end; +} +.u-row-between { + justify-content: space-between; +} +.u-row-around { + justify-content: space-around; +} +.u-text-left { + text-align: left; +} +.u-text-center { + text-align: center; +} +.u-text-right { + text-align: right; +} +.u-flex-col { + display: flex; + flex-direction: column; +} +.u-flex-0 { + flex: 0; +} +.u-flex-1 { + flex: 1; +} +.u-flex-2 { + flex: 2; +} +.u-flex-3 { + flex: 3; +} +.u-flex-4 { + flex: 4; +} +.u-flex-5 { + flex: 5; +} +.u-flex-6 { + flex: 6; +} +.u-flex-7 { + flex: 7; +} +.u-flex-8 { + flex: 8; +} +.u-flex-9 { + flex: 9; +} +.u-flex-10 { + flex: 10; +} +.u-flex-11 { + flex: 11; +} +.u-flex-12 { + flex: 12; +} +.u-font-9 { + font-size: 9px; +} +.u-font-10 { + font-size: 10px; +} +.u-font-11 { + font-size: 11px; +} +.u-font-12 { + font-size: 12px; +} +.u-font-13 { + font-size: 13px; +} +.u-font-14 { + font-size: 14px; +} +.u-font-15 { + font-size: 15px; +} +.u-font-16 { + font-size: 16px; +} +.u-font-17 { + font-size: 17px; +} +.u-font-18 { + font-size: 18px; +} +.u-font-19 { + font-size: 19px; +} +.u-font-20 { + font-size: 20rpx; +} +.u-font-21 { + font-size: 21rpx; +} +.u-font-22 { + font-size: 22rpx; +} +.u-font-23 { + font-size: 23rpx; +} +.u-font-24 { + font-size: 24rpx; +} +.u-font-25 { + font-size: 25rpx; +} +.u-font-26 { + font-size: 26rpx; +} +.u-font-27 { + font-size: 27rpx; +} +.u-font-28 { + font-size: 28rpx; +} +.u-font-29 { + font-size: 29rpx; +} +.u-font-30 { + font-size: 30rpx; +} +.u-font-31 { + font-size: 31rpx; +} +.u-font-32 { + font-size: 32rpx; +} +.u-font-33 { + font-size: 33rpx; +} +.u-font-34 { + font-size: 34rpx; +} +.u-font-35 { + font-size: 35rpx; +} +.u-font-36 { + font-size: 36rpx; +} +.u-font-37 { + font-size: 37rpx; +} +.u-font-38 { + font-size: 38rpx; +} +.u-font-39 { + font-size: 39rpx; +} +.u-font-40 { + font-size: 40rpx; +} +.u-margin-0, .u-m-0 { + margin: 0rpx !important; +} +.u-padding-0, .u-p-0 { + padding: 0rpx !important; +} +.u-m-l-0 { + margin-left: 0rpx !important; +} +.u-p-l-0 { + padding-left: 0rpx !important; +} +.u-margin-left-0 { + margin-left: 0rpx !important; +} +.u-padding-left-0 { + padding-left: 0rpx !important; +} +.u-m-t-0 { + margin-top: 0rpx !important; +} +.u-p-t-0 { + padding-top: 0rpx !important; +} +.u-margin-top-0 { + margin-top: 0rpx !important; +} +.u-padding-top-0 { + padding-top: 0rpx !important; +} +.u-m-r-0 { + margin-right: 0rpx !important; +} +.u-p-r-0 { + padding-right: 0rpx !important; +} +.u-margin-right-0 { + margin-right: 0rpx !important; +} +.u-padding-right-0 { + padding-right: 0rpx !important; +} +.u-m-b-0 { + margin-bottom: 0rpx !important; +} +.u-p-b-0 { + padding-bottom: 0rpx !important; +} +.u-margin-bottom-0 { + margin-bottom: 0rpx !important; +} +.u-padding-bottom-0 { + padding-bottom: 0rpx !important; +} +.u-margin-2, .u-m-2 { + margin: 2rpx !important; +} +.u-padding-2, .u-p-2 { + padding: 2rpx !important; +} +.u-m-l-2 { + margin-left: 2rpx !important; +} +.u-p-l-2 { + padding-left: 2rpx !important; +} +.u-margin-left-2 { + margin-left: 2rpx !important; +} +.u-padding-left-2 { + padding-left: 2rpx !important; +} +.u-m-t-2 { + margin-top: 2rpx !important; +} +.u-p-t-2 { + padding-top: 2rpx !important; +} +.u-margin-top-2 { + margin-top: 2rpx !important; +} +.u-padding-top-2 { + padding-top: 2rpx !important; +} +.u-m-r-2 { + margin-right: 2rpx !important; +} +.u-p-r-2 { + padding-right: 2rpx !important; +} +.u-margin-right-2 { + margin-right: 2rpx !important; +} +.u-padding-right-2 { + padding-right: 2rpx !important; +} +.u-m-b-2 { + margin-bottom: 2rpx !important; +} +.u-p-b-2 { + padding-bottom: 2rpx !important; +} +.u-margin-bottom-2 { + margin-bottom: 2rpx !important; +} +.u-padding-bottom-2 { + padding-bottom: 2rpx !important; +} +.u-margin-4, .u-m-4 { + margin: 4rpx !important; +} +.u-padding-4, .u-p-4 { + padding: 4rpx !important; +} +.u-m-l-4 { + margin-left: 4rpx !important; +} +.u-p-l-4 { + padding-left: 4rpx !important; +} +.u-margin-left-4 { + margin-left: 4rpx !important; +} +.u-padding-left-4 { + padding-left: 4rpx !important; +} +.u-m-t-4 { + margin-top: 4rpx !important; +} +.u-p-t-4 { + padding-top: 4rpx !important; +} +.u-margin-top-4 { + margin-top: 4rpx !important; +} +.u-padding-top-4 { + padding-top: 4rpx !important; +} +.u-m-r-4 { + margin-right: 4rpx !important; +} +.u-p-r-4 { + padding-right: 4rpx !important; +} +.u-margin-right-4 { + margin-right: 4rpx !important; +} +.u-padding-right-4 { + padding-right: 4rpx !important; +} +.u-m-b-4 { + margin-bottom: 4rpx !important; +} +.u-p-b-4 { + padding-bottom: 4rpx !important; +} +.u-margin-bottom-4 { + margin-bottom: 4rpx !important; +} +.u-padding-bottom-4 { + padding-bottom: 4rpx !important; +} +.u-margin-5, .u-m-5 { + margin: 5rpx !important; +} +.u-padding-5, .u-p-5 { + padding: 5rpx !important; +} +.u-m-l-5 { + margin-left: 5rpx !important; +} +.u-p-l-5 { + padding-left: 5rpx !important; +} +.u-margin-left-5 { + margin-left: 5rpx !important; +} +.u-padding-left-5 { + padding-left: 5rpx !important; +} +.u-m-t-5 { + margin-top: 5rpx !important; +} +.u-p-t-5 { + padding-top: 5rpx !important; +} +.u-margin-top-5 { + margin-top: 5rpx !important; +} +.u-padding-top-5 { + padding-top: 5rpx !important; +} +.u-m-r-5 { + margin-right: 5rpx !important; +} +.u-p-r-5 { + padding-right: 5rpx !important; +} +.u-margin-right-5 { + margin-right: 5rpx !important; +} +.u-padding-right-5 { + padding-right: 5rpx !important; +} +.u-m-b-5 { + margin-bottom: 5rpx !important; +} +.u-p-b-5 { + padding-bottom: 5rpx !important; +} +.u-margin-bottom-5 { + margin-bottom: 5rpx !important; +} +.u-padding-bottom-5 { + padding-bottom: 5rpx !important; +} +.u-margin-6, .u-m-6 { + margin: 6rpx !important; +} +.u-padding-6, .u-p-6 { + padding: 6rpx !important; +} +.u-m-l-6 { + margin-left: 6rpx !important; +} +.u-p-l-6 { + padding-left: 6rpx !important; +} +.u-margin-left-6 { + margin-left: 6rpx !important; +} +.u-padding-left-6 { + padding-left: 6rpx !important; +} +.u-m-t-6 { + margin-top: 6rpx !important; +} +.u-p-t-6 { + padding-top: 6rpx !important; +} +.u-margin-top-6 { + margin-top: 6rpx !important; +} +.u-padding-top-6 { + padding-top: 6rpx !important; +} +.u-m-r-6 { + margin-right: 6rpx !important; +} +.u-p-r-6 { + padding-right: 6rpx !important; +} +.u-margin-right-6 { + margin-right: 6rpx !important; +} +.u-padding-right-6 { + padding-right: 6rpx !important; +} +.u-m-b-6 { + margin-bottom: 6rpx !important; +} +.u-p-b-6 { + padding-bottom: 6rpx !important; +} +.u-margin-bottom-6 { + margin-bottom: 6rpx !important; +} +.u-padding-bottom-6 { + padding-bottom: 6rpx !important; +} +.u-margin-8, .u-m-8 { + margin: 8rpx !important; +} +.u-padding-8, .u-p-8 { + padding: 8rpx !important; +} +.u-m-l-8 { + margin-left: 8rpx !important; +} +.u-p-l-8 { + padding-left: 8rpx !important; +} +.u-margin-left-8 { + margin-left: 8rpx !important; +} +.u-padding-left-8 { + padding-left: 8rpx !important; +} +.u-m-t-8 { + margin-top: 8rpx !important; +} +.u-p-t-8 { + padding-top: 8rpx !important; +} +.u-margin-top-8 { + margin-top: 8rpx !important; +} +.u-padding-top-8 { + padding-top: 8rpx !important; +} +.u-m-r-8 { + margin-right: 8rpx !important; +} +.u-p-r-8 { + padding-right: 8rpx !important; +} +.u-margin-right-8 { + margin-right: 8rpx !important; +} +.u-padding-right-8 { + padding-right: 8rpx !important; +} +.u-m-b-8 { + margin-bottom: 8rpx !important; +} +.u-p-b-8 { + padding-bottom: 8rpx !important; +} +.u-margin-bottom-8 { + margin-bottom: 8rpx !important; +} +.u-padding-bottom-8 { + padding-bottom: 8rpx !important; +} +.u-margin-10, .u-m-10 { + margin: 10rpx !important; +} +.u-padding-10, .u-p-10 { + padding: 10rpx !important; +} +.u-m-l-10 { + margin-left: 10rpx !important; +} +.u-p-l-10 { + padding-left: 10rpx !important; +} +.u-margin-left-10 { + margin-left: 10rpx !important; +} +.u-padding-left-10 { + padding-left: 10rpx !important; +} +.u-m-t-10 { + margin-top: 10rpx !important; +} +.u-p-t-10 { + padding-top: 10rpx !important; +} +.u-margin-top-10 { + margin-top: 10rpx !important; +} +.u-padding-top-10 { + padding-top: 10rpx !important; +} +.u-m-r-10 { + margin-right: 10rpx !important; +} +.u-p-r-10 { + padding-right: 10rpx !important; +} +.u-margin-right-10 { + margin-right: 10rpx !important; +} +.u-padding-right-10 { + padding-right: 10rpx !important; +} +.u-m-b-10 { + margin-bottom: 10rpx !important; +} +.u-p-b-10 { + padding-bottom: 10rpx !important; +} +.u-margin-bottom-10 { + margin-bottom: 10rpx !important; +} +.u-padding-bottom-10 { + padding-bottom: 10rpx !important; +} +.u-margin-12, .u-m-12 { + margin: 12rpx !important; +} +.u-padding-12, .u-p-12 { + padding: 12rpx !important; +} +.u-m-l-12 { + margin-left: 12rpx !important; +} +.u-p-l-12 { + padding-left: 12rpx !important; +} +.u-margin-left-12 { + margin-left: 12rpx !important; +} +.u-padding-left-12 { + padding-left: 12rpx !important; +} +.u-m-t-12 { + margin-top: 12rpx !important; +} +.u-p-t-12 { + padding-top: 12rpx !important; +} +.u-margin-top-12 { + margin-top: 12rpx !important; +} +.u-padding-top-12 { + padding-top: 12rpx !important; +} +.u-m-r-12 { + margin-right: 12rpx !important; +} +.u-p-r-12 { + padding-right: 12rpx !important; +} +.u-margin-right-12 { + margin-right: 12rpx !important; +} +.u-padding-right-12 { + padding-right: 12rpx !important; +} +.u-m-b-12 { + margin-bottom: 12rpx !important; +} +.u-p-b-12 { + padding-bottom: 12rpx !important; +} +.u-margin-bottom-12 { + margin-bottom: 12rpx !important; +} +.u-padding-bottom-12 { + padding-bottom: 12rpx !important; +} +.u-margin-14, .u-m-14 { + margin: 14rpx !important; +} +.u-padding-14, .u-p-14 { + padding: 14rpx !important; +} +.u-m-l-14 { + margin-left: 14rpx !important; +} +.u-p-l-14 { + padding-left: 14rpx !important; +} +.u-margin-left-14 { + margin-left: 14rpx !important; +} +.u-padding-left-14 { + padding-left: 14rpx !important; +} +.u-m-t-14 { + margin-top: 14rpx !important; +} +.u-p-t-14 { + padding-top: 14rpx !important; +} +.u-margin-top-14 { + margin-top: 14rpx !important; +} +.u-padding-top-14 { + padding-top: 14rpx !important; +} +.u-m-r-14 { + margin-right: 14rpx !important; +} +.u-p-r-14 { + padding-right: 14rpx !important; +} +.u-margin-right-14 { + margin-right: 14rpx !important; +} +.u-padding-right-14 { + padding-right: 14rpx !important; +} +.u-m-b-14 { + margin-bottom: 14rpx !important; +} +.u-p-b-14 { + padding-bottom: 14rpx !important; +} +.u-margin-bottom-14 { + margin-bottom: 14rpx !important; +} +.u-padding-bottom-14 { + padding-bottom: 14rpx !important; +} +.u-margin-15, .u-m-15 { + margin: 15rpx !important; +} +.u-padding-15, .u-p-15 { + padding: 15rpx !important; +} +.u-m-l-15 { + margin-left: 15rpx !important; +} +.u-p-l-15 { + padding-left: 15rpx !important; +} +.u-margin-left-15 { + margin-left: 15rpx !important; +} +.u-padding-left-15 { + padding-left: 15rpx !important; +} +.u-m-t-15 { + margin-top: 15rpx !important; +} +.u-p-t-15 { + padding-top: 15rpx !important; +} +.u-margin-top-15 { + margin-top: 15rpx !important; +} +.u-padding-top-15 { + padding-top: 15rpx !important; +} +.u-m-r-15 { + margin-right: 15rpx !important; +} +.u-p-r-15 { + padding-right: 15rpx !important; +} +.u-margin-right-15 { + margin-right: 15rpx !important; +} +.u-padding-right-15 { + padding-right: 15rpx !important; +} +.u-m-b-15 { + margin-bottom: 15rpx !important; +} +.u-p-b-15 { + padding-bottom: 15rpx !important; +} +.u-margin-bottom-15 { + margin-bottom: 15rpx !important; +} +.u-padding-bottom-15 { + padding-bottom: 15rpx !important; +} +.u-margin-16, .u-m-16 { + margin: 16rpx !important; +} +.u-padding-16, .u-p-16 { + padding: 16rpx !important; +} +.u-m-l-16 { + margin-left: 16rpx !important; +} +.u-p-l-16 { + padding-left: 16rpx !important; +} +.u-margin-left-16 { + margin-left: 16rpx !important; +} +.u-padding-left-16 { + padding-left: 16rpx !important; +} +.u-m-t-16 { + margin-top: 16rpx !important; +} +.u-p-t-16 { + padding-top: 16rpx !important; +} +.u-margin-top-16 { + margin-top: 16rpx !important; +} +.u-padding-top-16 { + padding-top: 16rpx !important; +} +.u-m-r-16 { + margin-right: 16rpx !important; +} +.u-p-r-16 { + padding-right: 16rpx !important; +} +.u-margin-right-16 { + margin-right: 16rpx !important; +} +.u-padding-right-16 { + padding-right: 16rpx !important; +} +.u-m-b-16 { + margin-bottom: 16rpx !important; +} +.u-p-b-16 { + padding-bottom: 16rpx !important; +} +.u-margin-bottom-16 { + margin-bottom: 16rpx !important; +} +.u-padding-bottom-16 { + padding-bottom: 16rpx !important; +} +.u-margin-18, .u-m-18 { + margin: 18rpx !important; +} +.u-padding-18, .u-p-18 { + padding: 18rpx !important; +} +.u-m-l-18 { + margin-left: 18rpx !important; +} +.u-p-l-18 { + padding-left: 18rpx !important; +} +.u-margin-left-18 { + margin-left: 18rpx !important; +} +.u-padding-left-18 { + padding-left: 18rpx !important; +} +.u-m-t-18 { + margin-top: 18rpx !important; +} +.u-p-t-18 { + padding-top: 18rpx !important; +} +.u-margin-top-18 { + margin-top: 18rpx !important; +} +.u-padding-top-18 { + padding-top: 18rpx !important; +} +.u-m-r-18 { + margin-right: 18rpx !important; +} +.u-p-r-18 { + padding-right: 18rpx !important; +} +.u-margin-right-18 { + margin-right: 18rpx !important; +} +.u-padding-right-18 { + padding-right: 18rpx !important; +} +.u-m-b-18 { + margin-bottom: 18rpx !important; +} +.u-p-b-18 { + padding-bottom: 18rpx !important; +} +.u-margin-bottom-18 { + margin-bottom: 18rpx !important; +} +.u-padding-bottom-18 { + padding-bottom: 18rpx !important; +} +.u-margin-20, .u-m-20 { + margin: 20rpx !important; +} +.u-padding-20, .u-p-20 { + padding: 20rpx !important; +} +.u-m-l-20 { + margin-left: 20rpx !important; +} +.u-p-l-20 { + padding-left: 20rpx !important; +} +.u-margin-left-20 { + margin-left: 20rpx !important; +} +.u-padding-left-20 { + padding-left: 20rpx !important; +} +.u-m-t-20 { + margin-top: 20rpx !important; +} +.u-p-t-20 { + padding-top: 20rpx !important; +} +.u-margin-top-20 { + margin-top: 20rpx !important; +} +.u-padding-top-20 { + padding-top: 20rpx !important; +} +.u-m-r-20 { + margin-right: 20rpx !important; +} +.u-p-r-20 { + padding-right: 20rpx !important; +} +.u-margin-right-20 { + margin-right: 20rpx !important; +} +.u-padding-right-20 { + padding-right: 20rpx !important; +} +.u-m-b-20 { + margin-bottom: 20rpx !important; +} +.u-p-b-20 { + padding-bottom: 20rpx !important; +} +.u-margin-bottom-20 { + margin-bottom: 20rpx !important; +} +.u-padding-bottom-20 { + padding-bottom: 20rpx !important; +} +.u-margin-22, .u-m-22 { + margin: 22rpx !important; +} +.u-padding-22, .u-p-22 { + padding: 22rpx !important; +} +.u-m-l-22 { + margin-left: 22rpx !important; +} +.u-p-l-22 { + padding-left: 22rpx !important; +} +.u-margin-left-22 { + margin-left: 22rpx !important; +} +.u-padding-left-22 { + padding-left: 22rpx !important; +} +.u-m-t-22 { + margin-top: 22rpx !important; +} +.u-p-t-22 { + padding-top: 22rpx !important; +} +.u-margin-top-22 { + margin-top: 22rpx !important; +} +.u-padding-top-22 { + padding-top: 22rpx !important; +} +.u-m-r-22 { + margin-right: 22rpx !important; +} +.u-p-r-22 { + padding-right: 22rpx !important; +} +.u-margin-right-22 { + margin-right: 22rpx !important; +} +.u-padding-right-22 { + padding-right: 22rpx !important; +} +.u-m-b-22 { + margin-bottom: 22rpx !important; +} +.u-p-b-22 { + padding-bottom: 22rpx !important; +} +.u-margin-bottom-22 { + margin-bottom: 22rpx !important; +} +.u-padding-bottom-22 { + padding-bottom: 22rpx !important; +} +.u-margin-24, .u-m-24 { + margin: 24rpx !important; +} +.u-padding-24, .u-p-24 { + padding: 24rpx !important; +} +.u-m-l-24 { + margin-left: 24rpx !important; +} +.u-p-l-24 { + padding-left: 24rpx !important; +} +.u-margin-left-24 { + margin-left: 24rpx !important; +} +.u-padding-left-24 { + padding-left: 24rpx !important; +} +.u-m-t-24 { + margin-top: 24rpx !important; +} +.u-p-t-24 { + padding-top: 24rpx !important; +} +.u-margin-top-24 { + margin-top: 24rpx !important; +} +.u-padding-top-24 { + padding-top: 24rpx !important; +} +.u-m-r-24 { + margin-right: 24rpx !important; +} +.u-p-r-24 { + padding-right: 24rpx !important; +} +.u-margin-right-24 { + margin-right: 24rpx !important; +} +.u-padding-right-24 { + padding-right: 24rpx !important; +} +.u-m-b-24 { + margin-bottom: 24rpx !important; +} +.u-p-b-24 { + padding-bottom: 24rpx !important; +} +.u-margin-bottom-24 { + margin-bottom: 24rpx !important; +} +.u-padding-bottom-24 { + padding-bottom: 24rpx !important; +} +.u-margin-25, .u-m-25 { + margin: 25rpx !important; +} +.u-padding-25, .u-p-25 { + padding: 25rpx !important; +} +.u-m-l-25 { + margin-left: 25rpx !important; +} +.u-p-l-25 { + padding-left: 25rpx !important; +} +.u-margin-left-25 { + margin-left: 25rpx !important; +} +.u-padding-left-25 { + padding-left: 25rpx !important; +} +.u-m-t-25 { + margin-top: 25rpx !important; +} +.u-p-t-25 { + padding-top: 25rpx !important; +} +.u-margin-top-25 { + margin-top: 25rpx !important; +} +.u-padding-top-25 { + padding-top: 25rpx !important; +} +.u-m-r-25 { + margin-right: 25rpx !important; +} +.u-p-r-25 { + padding-right: 25rpx !important; +} +.u-margin-right-25 { + margin-right: 25rpx !important; +} +.u-padding-right-25 { + padding-right: 25rpx !important; +} +.u-m-b-25 { + margin-bottom: 25rpx !important; +} +.u-p-b-25 { + padding-bottom: 25rpx !important; +} +.u-margin-bottom-25 { + margin-bottom: 25rpx !important; +} +.u-padding-bottom-25 { + padding-bottom: 25rpx !important; +} +.u-margin-26, .u-m-26 { + margin: 26rpx !important; +} +.u-padding-26, .u-p-26 { + padding: 26rpx !important; +} +.u-m-l-26 { + margin-left: 26rpx !important; +} +.u-p-l-26 { + padding-left: 26rpx !important; +} +.u-margin-left-26 { + margin-left: 26rpx !important; +} +.u-padding-left-26 { + padding-left: 26rpx !important; +} +.u-m-t-26 { + margin-top: 26rpx !important; +} +.u-p-t-26 { + padding-top: 26rpx !important; +} +.u-margin-top-26 { + margin-top: 26rpx !important; +} +.u-padding-top-26 { + padding-top: 26rpx !important; +} +.u-m-r-26 { + margin-right: 26rpx !important; +} +.u-p-r-26 { + padding-right: 26rpx !important; +} +.u-margin-right-26 { + margin-right: 26rpx !important; +} +.u-padding-right-26 { + padding-right: 26rpx !important; +} +.u-m-b-26 { + margin-bottom: 26rpx !important; +} +.u-p-b-26 { + padding-bottom: 26rpx !important; +} +.u-margin-bottom-26 { + margin-bottom: 26rpx !important; +} +.u-padding-bottom-26 { + padding-bottom: 26rpx !important; +} +.u-margin-28, .u-m-28 { + margin: 28rpx !important; +} +.u-padding-28, .u-p-28 { + padding: 28rpx !important; +} +.u-m-l-28 { + margin-left: 28rpx !important; +} +.u-p-l-28 { + padding-left: 28rpx !important; +} +.u-margin-left-28 { + margin-left: 28rpx !important; +} +.u-padding-left-28 { + padding-left: 28rpx !important; +} +.u-m-t-28 { + margin-top: 28rpx !important; +} +.u-p-t-28 { + padding-top: 28rpx !important; +} +.u-margin-top-28 { + margin-top: 28rpx !important; +} +.u-padding-top-28 { + padding-top: 28rpx !important; +} +.u-m-r-28 { + margin-right: 28rpx !important; +} +.u-p-r-28 { + padding-right: 28rpx !important; +} +.u-margin-right-28 { + margin-right: 28rpx !important; +} +.u-padding-right-28 { + padding-right: 28rpx !important; +} +.u-m-b-28 { + margin-bottom: 28rpx !important; +} +.u-p-b-28 { + padding-bottom: 28rpx !important; +} +.u-margin-bottom-28 { + margin-bottom: 28rpx !important; +} +.u-padding-bottom-28 { + padding-bottom: 28rpx !important; +} +.u-margin-30, .u-m-30 { + margin: 30rpx !important; +} +.u-padding-30, .u-p-30 { + padding: 30rpx !important; +} +.u-m-l-30 { + margin-left: 30rpx !important; +} +.u-p-l-30 { + padding-left: 30rpx !important; +} +.u-margin-left-30 { + margin-left: 30rpx !important; +} +.u-padding-left-30 { + padding-left: 30rpx !important; +} +.u-m-t-30 { + margin-top: 30rpx !important; +} +.u-p-t-30 { + padding-top: 30rpx !important; +} +.u-margin-top-30 { + margin-top: 30rpx !important; +} +.u-padding-top-30 { + padding-top: 30rpx !important; +} +.u-m-r-30 { + margin-right: 30rpx !important; +} +.u-p-r-30 { + padding-right: 30rpx !important; +} +.u-margin-right-30 { + margin-right: 30rpx !important; +} +.u-padding-right-30 { + padding-right: 30rpx !important; +} +.u-m-b-30 { + margin-bottom: 30rpx !important; +} +.u-p-b-30 { + padding-bottom: 30rpx !important; +} +.u-margin-bottom-30 { + margin-bottom: 30rpx !important; +} +.u-padding-bottom-30 { + padding-bottom: 30rpx !important; +} +.u-margin-32, .u-m-32 { + margin: 32rpx !important; +} +.u-padding-32, .u-p-32 { + padding: 32rpx !important; +} +.u-m-l-32 { + margin-left: 32rpx !important; +} +.u-p-l-32 { + padding-left: 32rpx !important; +} +.u-margin-left-32 { + margin-left: 32rpx !important; +} +.u-padding-left-32 { + padding-left: 32rpx !important; +} +.u-m-t-32 { + margin-top: 32rpx !important; +} +.u-p-t-32 { + padding-top: 32rpx !important; +} +.u-margin-top-32 { + margin-top: 32rpx !important; +} +.u-padding-top-32 { + padding-top: 32rpx !important; +} +.u-m-r-32 { + margin-right: 32rpx !important; +} +.u-p-r-32 { + padding-right: 32rpx !important; +} +.u-margin-right-32 { + margin-right: 32rpx !important; +} +.u-padding-right-32 { + padding-right: 32rpx !important; +} +.u-m-b-32 { + margin-bottom: 32rpx !important; +} +.u-p-b-32 { + padding-bottom: 32rpx !important; +} +.u-margin-bottom-32 { + margin-bottom: 32rpx !important; +} +.u-padding-bottom-32 { + padding-bottom: 32rpx !important; +} +.u-margin-34, .u-m-34 { + margin: 34rpx !important; +} +.u-padding-34, .u-p-34 { + padding: 34rpx !important; +} +.u-m-l-34 { + margin-left: 34rpx !important; +} +.u-p-l-34 { + padding-left: 34rpx !important; +} +.u-margin-left-34 { + margin-left: 34rpx !important; +} +.u-padding-left-34 { + padding-left: 34rpx !important; +} +.u-m-t-34 { + margin-top: 34rpx !important; +} +.u-p-t-34 { + padding-top: 34rpx !important; +} +.u-margin-top-34 { + margin-top: 34rpx !important; +} +.u-padding-top-34 { + padding-top: 34rpx !important; +} +.u-m-r-34 { + margin-right: 34rpx !important; +} +.u-p-r-34 { + padding-right: 34rpx !important; +} +.u-margin-right-34 { + margin-right: 34rpx !important; +} +.u-padding-right-34 { + padding-right: 34rpx !important; +} +.u-m-b-34 { + margin-bottom: 34rpx !important; +} +.u-p-b-34 { + padding-bottom: 34rpx !important; +} +.u-margin-bottom-34 { + margin-bottom: 34rpx !important; +} +.u-padding-bottom-34 { + padding-bottom: 34rpx !important; +} +.u-margin-35, .u-m-35 { + margin: 35rpx !important; +} +.u-padding-35, .u-p-35 { + padding: 35rpx !important; +} +.u-m-l-35 { + margin-left: 35rpx !important; +} +.u-p-l-35 { + padding-left: 35rpx !important; +} +.u-margin-left-35 { + margin-left: 35rpx !important; +} +.u-padding-left-35 { + padding-left: 35rpx !important; +} +.u-m-t-35 { + margin-top: 35rpx !important; +} +.u-p-t-35 { + padding-top: 35rpx !important; +} +.u-margin-top-35 { + margin-top: 35rpx !important; +} +.u-padding-top-35 { + padding-top: 35rpx !important; +} +.u-m-r-35 { + margin-right: 35rpx !important; +} +.u-p-r-35 { + padding-right: 35rpx !important; +} +.u-margin-right-35 { + margin-right: 35rpx !important; +} +.u-padding-right-35 { + padding-right: 35rpx !important; +} +.u-m-b-35 { + margin-bottom: 35rpx !important; +} +.u-p-b-35 { + padding-bottom: 35rpx !important; +} +.u-margin-bottom-35 { + margin-bottom: 35rpx !important; +} +.u-padding-bottom-35 { + padding-bottom: 35rpx !important; +} +.u-margin-36, .u-m-36 { + margin: 36rpx !important; +} +.u-padding-36, .u-p-36 { + padding: 36rpx !important; +} +.u-m-l-36 { + margin-left: 36rpx !important; +} +.u-p-l-36 { + padding-left: 36rpx !important; +} +.u-margin-left-36 { + margin-left: 36rpx !important; +} +.u-padding-left-36 { + padding-left: 36rpx !important; +} +.u-m-t-36 { + margin-top: 36rpx !important; +} +.u-p-t-36 { + padding-top: 36rpx !important; +} +.u-margin-top-36 { + margin-top: 36rpx !important; +} +.u-padding-top-36 { + padding-top: 36rpx !important; +} +.u-m-r-36 { + margin-right: 36rpx !important; +} +.u-p-r-36 { + padding-right: 36rpx !important; +} +.u-margin-right-36 { + margin-right: 36rpx !important; +} +.u-padding-right-36 { + padding-right: 36rpx !important; +} +.u-m-b-36 { + margin-bottom: 36rpx !important; +} +.u-p-b-36 { + padding-bottom: 36rpx !important; +} +.u-margin-bottom-36 { + margin-bottom: 36rpx !important; +} +.u-padding-bottom-36 { + padding-bottom: 36rpx !important; +} +.u-margin-38, .u-m-38 { + margin: 38rpx !important; +} +.u-padding-38, .u-p-38 { + padding: 38rpx !important; +} +.u-m-l-38 { + margin-left: 38rpx !important; +} +.u-p-l-38 { + padding-left: 38rpx !important; +} +.u-margin-left-38 { + margin-left: 38rpx !important; +} +.u-padding-left-38 { + padding-left: 38rpx !important; +} +.u-m-t-38 { + margin-top: 38rpx !important; +} +.u-p-t-38 { + padding-top: 38rpx !important; +} +.u-margin-top-38 { + margin-top: 38rpx !important; +} +.u-padding-top-38 { + padding-top: 38rpx !important; +} +.u-m-r-38 { + margin-right: 38rpx !important; +} +.u-p-r-38 { + padding-right: 38rpx !important; +} +.u-margin-right-38 { + margin-right: 38rpx !important; +} +.u-padding-right-38 { + padding-right: 38rpx !important; +} +.u-m-b-38 { + margin-bottom: 38rpx !important; +} +.u-p-b-38 { + padding-bottom: 38rpx !important; +} +.u-margin-bottom-38 { + margin-bottom: 38rpx !important; +} +.u-padding-bottom-38 { + padding-bottom: 38rpx !important; +} +.u-margin-40, .u-m-40 { + margin: 40rpx !important; +} +.u-padding-40, .u-p-40 { + padding: 40rpx !important; +} +.u-m-l-40 { + margin-left: 40rpx !important; +} +.u-p-l-40 { + padding-left: 40rpx !important; +} +.u-margin-left-40 { + margin-left: 40rpx !important; +} +.u-padding-left-40 { + padding-left: 40rpx !important; +} +.u-m-t-40 { + margin-top: 40rpx !important; +} +.u-p-t-40 { + padding-top: 40rpx !important; +} +.u-margin-top-40 { + margin-top: 40rpx !important; +} +.u-padding-top-40 { + padding-top: 40rpx !important; +} +.u-m-r-40 { + margin-right: 40rpx !important; +} +.u-p-r-40 { + padding-right: 40rpx !important; +} +.u-margin-right-40 { + margin-right: 40rpx !important; +} +.u-padding-right-40 { + padding-right: 40rpx !important; +} +.u-m-b-40 { + margin-bottom: 40rpx !important; +} +.u-p-b-40 { + padding-bottom: 40rpx !important; +} +.u-margin-bottom-40 { + margin-bottom: 40rpx !important; +} +.u-padding-bottom-40 { + padding-bottom: 40rpx !important; +} +.u-margin-42, .u-m-42 { + margin: 42rpx !important; +} +.u-padding-42, .u-p-42 { + padding: 42rpx !important; +} +.u-m-l-42 { + margin-left: 42rpx !important; +} +.u-p-l-42 { + padding-left: 42rpx !important; +} +.u-margin-left-42 { + margin-left: 42rpx !important; +} +.u-padding-left-42 { + padding-left: 42rpx !important; +} +.u-m-t-42 { + margin-top: 42rpx !important; +} +.u-p-t-42 { + padding-top: 42rpx !important; +} +.u-margin-top-42 { + margin-top: 42rpx !important; +} +.u-padding-top-42 { + padding-top: 42rpx !important; +} +.u-m-r-42 { + margin-right: 42rpx !important; +} +.u-p-r-42 { + padding-right: 42rpx !important; +} +.u-margin-right-42 { + margin-right: 42rpx !important; +} +.u-padding-right-42 { + padding-right: 42rpx !important; +} +.u-m-b-42 { + margin-bottom: 42rpx !important; +} +.u-p-b-42 { + padding-bottom: 42rpx !important; +} +.u-margin-bottom-42 { + margin-bottom: 42rpx !important; +} +.u-padding-bottom-42 { + padding-bottom: 42rpx !important; +} +.u-margin-44, .u-m-44 { + margin: 44rpx !important; +} +.u-padding-44, .u-p-44 { + padding: 44rpx !important; +} +.u-m-l-44 { + margin-left: 44rpx !important; +} +.u-p-l-44 { + padding-left: 44rpx !important; +} +.u-margin-left-44 { + margin-left: 44rpx !important; +} +.u-padding-left-44 { + padding-left: 44rpx !important; +} +.u-m-t-44 { + margin-top: 44rpx !important; +} +.u-p-t-44 { + padding-top: 44rpx !important; +} +.u-margin-top-44 { + margin-top: 44rpx !important; +} +.u-padding-top-44 { + padding-top: 44rpx !important; +} +.u-m-r-44 { + margin-right: 44rpx !important; +} +.u-p-r-44 { + padding-right: 44rpx !important; +} +.u-margin-right-44 { + margin-right: 44rpx !important; +} +.u-padding-right-44 { + padding-right: 44rpx !important; +} +.u-m-b-44 { + margin-bottom: 44rpx !important; +} +.u-p-b-44 { + padding-bottom: 44rpx !important; +} +.u-margin-bottom-44 { + margin-bottom: 44rpx !important; +} +.u-padding-bottom-44 { + padding-bottom: 44rpx !important; +} +.u-margin-45, .u-m-45 { + margin: 45rpx !important; +} +.u-padding-45, .u-p-45 { + padding: 45rpx !important; +} +.u-m-l-45 { + margin-left: 45rpx !important; +} +.u-p-l-45 { + padding-left: 45rpx !important; +} +.u-margin-left-45 { + margin-left: 45rpx !important; +} +.u-padding-left-45 { + padding-left: 45rpx !important; +} +.u-m-t-45 { + margin-top: 45rpx !important; +} +.u-p-t-45 { + padding-top: 45rpx !important; +} +.u-margin-top-45 { + margin-top: 45rpx !important; +} +.u-padding-top-45 { + padding-top: 45rpx !important; +} +.u-m-r-45 { + margin-right: 45rpx !important; +} +.u-p-r-45 { + padding-right: 45rpx !important; +} +.u-margin-right-45 { + margin-right: 45rpx !important; +} +.u-padding-right-45 { + padding-right: 45rpx !important; +} +.u-m-b-45 { + margin-bottom: 45rpx !important; +} +.u-p-b-45 { + padding-bottom: 45rpx !important; +} +.u-margin-bottom-45 { + margin-bottom: 45rpx !important; +} +.u-padding-bottom-45 { + padding-bottom: 45rpx !important; +} +.u-margin-46, .u-m-46 { + margin: 46rpx !important; +} +.u-padding-46, .u-p-46 { + padding: 46rpx !important; +} +.u-m-l-46 { + margin-left: 46rpx !important; +} +.u-p-l-46 { + padding-left: 46rpx !important; +} +.u-margin-left-46 { + margin-left: 46rpx !important; +} +.u-padding-left-46 { + padding-left: 46rpx !important; +} +.u-m-t-46 { + margin-top: 46rpx !important; +} +.u-p-t-46 { + padding-top: 46rpx !important; +} +.u-margin-top-46 { + margin-top: 46rpx !important; +} +.u-padding-top-46 { + padding-top: 46rpx !important; +} +.u-m-r-46 { + margin-right: 46rpx !important; +} +.u-p-r-46 { + padding-right: 46rpx !important; +} +.u-margin-right-46 { + margin-right: 46rpx !important; +} +.u-padding-right-46 { + padding-right: 46rpx !important; +} +.u-m-b-46 { + margin-bottom: 46rpx !important; +} +.u-p-b-46 { + padding-bottom: 46rpx !important; +} +.u-margin-bottom-46 { + margin-bottom: 46rpx !important; +} +.u-padding-bottom-46 { + padding-bottom: 46rpx !important; +} +.u-margin-48, .u-m-48 { + margin: 48rpx !important; +} +.u-padding-48, .u-p-48 { + padding: 48rpx !important; +} +.u-m-l-48 { + margin-left: 48rpx !important; +} +.u-p-l-48 { + padding-left: 48rpx !important; +} +.u-margin-left-48 { + margin-left: 48rpx !important; +} +.u-padding-left-48 { + padding-left: 48rpx !important; +} +.u-m-t-48 { + margin-top: 48rpx !important; +} +.u-p-t-48 { + padding-top: 48rpx !important; +} +.u-margin-top-48 { + margin-top: 48rpx !important; +} +.u-padding-top-48 { + padding-top: 48rpx !important; +} +.u-m-r-48 { + margin-right: 48rpx !important; +} +.u-p-r-48 { + padding-right: 48rpx !important; +} +.u-margin-right-48 { + margin-right: 48rpx !important; +} +.u-padding-right-48 { + padding-right: 48rpx !important; +} +.u-m-b-48 { + margin-bottom: 48rpx !important; +} +.u-p-b-48 { + padding-bottom: 48rpx !important; +} +.u-margin-bottom-48 { + margin-bottom: 48rpx !important; +} +.u-padding-bottom-48 { + padding-bottom: 48rpx !important; +} +.u-margin-50, .u-m-50 { + margin: 50rpx !important; +} +.u-padding-50, .u-p-50 { + padding: 50rpx !important; +} +.u-m-l-50 { + margin-left: 50rpx !important; +} +.u-p-l-50 { + padding-left: 50rpx !important; +} +.u-margin-left-50 { + margin-left: 50rpx !important; +} +.u-padding-left-50 { + padding-left: 50rpx !important; +} +.u-m-t-50 { + margin-top: 50rpx !important; +} +.u-p-t-50 { + padding-top: 50rpx !important; +} +.u-margin-top-50 { + margin-top: 50rpx !important; +} +.u-padding-top-50 { + padding-top: 50rpx !important; +} +.u-m-r-50 { + margin-right: 50rpx !important; +} +.u-p-r-50 { + padding-right: 50rpx !important; +} +.u-margin-right-50 { + margin-right: 50rpx !important; +} +.u-padding-right-50 { + padding-right: 50rpx !important; +} +.u-m-b-50 { + margin-bottom: 50rpx !important; +} +.u-p-b-50 { + padding-bottom: 50rpx !important; +} +.u-margin-bottom-50 { + margin-bottom: 50rpx !important; +} +.u-padding-bottom-50 { + padding-bottom: 50rpx !important; +} +.u-margin-52, .u-m-52 { + margin: 52rpx !important; +} +.u-padding-52, .u-p-52 { + padding: 52rpx !important; +} +.u-m-l-52 { + margin-left: 52rpx !important; +} +.u-p-l-52 { + padding-left: 52rpx !important; +} +.u-margin-left-52 { + margin-left: 52rpx !important; +} +.u-padding-left-52 { + padding-left: 52rpx !important; +} +.u-m-t-52 { + margin-top: 52rpx !important; +} +.u-p-t-52 { + padding-top: 52rpx !important; +} +.u-margin-top-52 { + margin-top: 52rpx !important; +} +.u-padding-top-52 { + padding-top: 52rpx !important; +} +.u-m-r-52 { + margin-right: 52rpx !important; +} +.u-p-r-52 { + padding-right: 52rpx !important; +} +.u-margin-right-52 { + margin-right: 52rpx !important; +} +.u-padding-right-52 { + padding-right: 52rpx !important; +} +.u-m-b-52 { + margin-bottom: 52rpx !important; +} +.u-p-b-52 { + padding-bottom: 52rpx !important; +} +.u-margin-bottom-52 { + margin-bottom: 52rpx !important; +} +.u-padding-bottom-52 { + padding-bottom: 52rpx !important; +} +.u-margin-54, .u-m-54 { + margin: 54rpx !important; +} +.u-padding-54, .u-p-54 { + padding: 54rpx !important; +} +.u-m-l-54 { + margin-left: 54rpx !important; +} +.u-p-l-54 { + padding-left: 54rpx !important; +} +.u-margin-left-54 { + margin-left: 54rpx !important; +} +.u-padding-left-54 { + padding-left: 54rpx !important; +} +.u-m-t-54 { + margin-top: 54rpx !important; +} +.u-p-t-54 { + padding-top: 54rpx !important; +} +.u-margin-top-54 { + margin-top: 54rpx !important; +} +.u-padding-top-54 { + padding-top: 54rpx !important; +} +.u-m-r-54 { + margin-right: 54rpx !important; +} +.u-p-r-54 { + padding-right: 54rpx !important; +} +.u-margin-right-54 { + margin-right: 54rpx !important; +} +.u-padding-right-54 { + padding-right: 54rpx !important; +} +.u-m-b-54 { + margin-bottom: 54rpx !important; +} +.u-p-b-54 { + padding-bottom: 54rpx !important; +} +.u-margin-bottom-54 { + margin-bottom: 54rpx !important; +} +.u-padding-bottom-54 { + padding-bottom: 54rpx !important; +} +.u-margin-55, .u-m-55 { + margin: 55rpx !important; +} +.u-padding-55, .u-p-55 { + padding: 55rpx !important; +} +.u-m-l-55 { + margin-left: 55rpx !important; +} +.u-p-l-55 { + padding-left: 55rpx !important; +} +.u-margin-left-55 { + margin-left: 55rpx !important; +} +.u-padding-left-55 { + padding-left: 55rpx !important; +} +.u-m-t-55 { + margin-top: 55rpx !important; +} +.u-p-t-55 { + padding-top: 55rpx !important; +} +.u-margin-top-55 { + margin-top: 55rpx !important; +} +.u-padding-top-55 { + padding-top: 55rpx !important; +} +.u-m-r-55 { + margin-right: 55rpx !important; +} +.u-p-r-55 { + padding-right: 55rpx !important; +} +.u-margin-right-55 { + margin-right: 55rpx !important; +} +.u-padding-right-55 { + padding-right: 55rpx !important; +} +.u-m-b-55 { + margin-bottom: 55rpx !important; +} +.u-p-b-55 { + padding-bottom: 55rpx !important; +} +.u-margin-bottom-55 { + margin-bottom: 55rpx !important; +} +.u-padding-bottom-55 { + padding-bottom: 55rpx !important; +} +.u-margin-56, .u-m-56 { + margin: 56rpx !important; +} +.u-padding-56, .u-p-56 { + padding: 56rpx !important; +} +.u-m-l-56 { + margin-left: 56rpx !important; +} +.u-p-l-56 { + padding-left: 56rpx !important; +} +.u-margin-left-56 { + margin-left: 56rpx !important; +} +.u-padding-left-56 { + padding-left: 56rpx !important; +} +.u-m-t-56 { + margin-top: 56rpx !important; +} +.u-p-t-56 { + padding-top: 56rpx !important; +} +.u-margin-top-56 { + margin-top: 56rpx !important; +} +.u-padding-top-56 { + padding-top: 56rpx !important; +} +.u-m-r-56 { + margin-right: 56rpx !important; +} +.u-p-r-56 { + padding-right: 56rpx !important; +} +.u-margin-right-56 { + margin-right: 56rpx !important; +} +.u-padding-right-56 { + padding-right: 56rpx !important; +} +.u-m-b-56 { + margin-bottom: 56rpx !important; +} +.u-p-b-56 { + padding-bottom: 56rpx !important; +} +.u-margin-bottom-56 { + margin-bottom: 56rpx !important; +} +.u-padding-bottom-56 { + padding-bottom: 56rpx !important; +} +.u-margin-58, .u-m-58 { + margin: 58rpx !important; +} +.u-padding-58, .u-p-58 { + padding: 58rpx !important; +} +.u-m-l-58 { + margin-left: 58rpx !important; +} +.u-p-l-58 { + padding-left: 58rpx !important; +} +.u-margin-left-58 { + margin-left: 58rpx !important; +} +.u-padding-left-58 { + padding-left: 58rpx !important; +} +.u-m-t-58 { + margin-top: 58rpx !important; +} +.u-p-t-58 { + padding-top: 58rpx !important; +} +.u-margin-top-58 { + margin-top: 58rpx !important; +} +.u-padding-top-58 { + padding-top: 58rpx !important; +} +.u-m-r-58 { + margin-right: 58rpx !important; +} +.u-p-r-58 { + padding-right: 58rpx !important; +} +.u-margin-right-58 { + margin-right: 58rpx !important; +} +.u-padding-right-58 { + padding-right: 58rpx !important; +} +.u-m-b-58 { + margin-bottom: 58rpx !important; +} +.u-p-b-58 { + padding-bottom: 58rpx !important; +} +.u-margin-bottom-58 { + margin-bottom: 58rpx !important; +} +.u-padding-bottom-58 { + padding-bottom: 58rpx !important; +} +.u-margin-60, .u-m-60 { + margin: 60rpx !important; +} +.u-padding-60, .u-p-60 { + padding: 60rpx !important; +} +.u-m-l-60 { + margin-left: 60rpx !important; +} +.u-p-l-60 { + padding-left: 60rpx !important; +} +.u-margin-left-60 { + margin-left: 60rpx !important; +} +.u-padding-left-60 { + padding-left: 60rpx !important; +} +.u-m-t-60 { + margin-top: 60rpx !important; +} +.u-p-t-60 { + padding-top: 60rpx !important; +} +.u-margin-top-60 { + margin-top: 60rpx !important; +} +.u-padding-top-60 { + padding-top: 60rpx !important; +} +.u-m-r-60 { + margin-right: 60rpx !important; +} +.u-p-r-60 { + padding-right: 60rpx !important; +} +.u-margin-right-60 { + margin-right: 60rpx !important; +} +.u-padding-right-60 { + padding-right: 60rpx !important; +} +.u-m-b-60 { + margin-bottom: 60rpx !important; +} +.u-p-b-60 { + padding-bottom: 60rpx !important; +} +.u-margin-bottom-60 { + margin-bottom: 60rpx !important; +} +.u-padding-bottom-60 { + padding-bottom: 60rpx !important; +} +.u-margin-62, .u-m-62 { + margin: 62rpx !important; +} +.u-padding-62, .u-p-62 { + padding: 62rpx !important; +} +.u-m-l-62 { + margin-left: 62rpx !important; +} +.u-p-l-62 { + padding-left: 62rpx !important; +} +.u-margin-left-62 { + margin-left: 62rpx !important; +} +.u-padding-left-62 { + padding-left: 62rpx !important; +} +.u-m-t-62 { + margin-top: 62rpx !important; +} +.u-p-t-62 { + padding-top: 62rpx !important; +} +.u-margin-top-62 { + margin-top: 62rpx !important; +} +.u-padding-top-62 { + padding-top: 62rpx !important; +} +.u-m-r-62 { + margin-right: 62rpx !important; +} +.u-p-r-62 { + padding-right: 62rpx !important; +} +.u-margin-right-62 { + margin-right: 62rpx !important; +} +.u-padding-right-62 { + padding-right: 62rpx !important; +} +.u-m-b-62 { + margin-bottom: 62rpx !important; +} +.u-p-b-62 { + padding-bottom: 62rpx !important; +} +.u-margin-bottom-62 { + margin-bottom: 62rpx !important; +} +.u-padding-bottom-62 { + padding-bottom: 62rpx !important; +} +.u-margin-64, .u-m-64 { + margin: 64rpx !important; +} +.u-padding-64, .u-p-64 { + padding: 64rpx !important; +} +.u-m-l-64 { + margin-left: 64rpx !important; +} +.u-p-l-64 { + padding-left: 64rpx !important; +} +.u-margin-left-64 { + margin-left: 64rpx !important; +} +.u-padding-left-64 { + padding-left: 64rpx !important; +} +.u-m-t-64 { + margin-top: 64rpx !important; +} +.u-p-t-64 { + padding-top: 64rpx !important; +} +.u-margin-top-64 { + margin-top: 64rpx !important; +} +.u-padding-top-64 { + padding-top: 64rpx !important; +} +.u-m-r-64 { + margin-right: 64rpx !important; +} +.u-p-r-64 { + padding-right: 64rpx !important; +} +.u-margin-right-64 { + margin-right: 64rpx !important; +} +.u-padding-right-64 { + padding-right: 64rpx !important; +} +.u-m-b-64 { + margin-bottom: 64rpx !important; +} +.u-p-b-64 { + padding-bottom: 64rpx !important; +} +.u-margin-bottom-64 { + margin-bottom: 64rpx !important; +} +.u-padding-bottom-64 { + padding-bottom: 64rpx !important; +} +.u-margin-65, .u-m-65 { + margin: 65rpx !important; +} +.u-padding-65, .u-p-65 { + padding: 65rpx !important; +} +.u-m-l-65 { + margin-left: 65rpx !important; +} +.u-p-l-65 { + padding-left: 65rpx !important; +} +.u-margin-left-65 { + margin-left: 65rpx !important; +} +.u-padding-left-65 { + padding-left: 65rpx !important; +} +.u-m-t-65 { + margin-top: 65rpx !important; +} +.u-p-t-65 { + padding-top: 65rpx !important; +} +.u-margin-top-65 { + margin-top: 65rpx !important; +} +.u-padding-top-65 { + padding-top: 65rpx !important; +} +.u-m-r-65 { + margin-right: 65rpx !important; +} +.u-p-r-65 { + padding-right: 65rpx !important; +} +.u-margin-right-65 { + margin-right: 65rpx !important; +} +.u-padding-right-65 { + padding-right: 65rpx !important; +} +.u-m-b-65 { + margin-bottom: 65rpx !important; +} +.u-p-b-65 { + padding-bottom: 65rpx !important; +} +.u-margin-bottom-65 { + margin-bottom: 65rpx !important; +} +.u-padding-bottom-65 { + padding-bottom: 65rpx !important; +} +.u-margin-66, .u-m-66 { + margin: 66rpx !important; +} +.u-padding-66, .u-p-66 { + padding: 66rpx !important; +} +.u-m-l-66 { + margin-left: 66rpx !important; +} +.u-p-l-66 { + padding-left: 66rpx !important; +} +.u-margin-left-66 { + margin-left: 66rpx !important; +} +.u-padding-left-66 { + padding-left: 66rpx !important; +} +.u-m-t-66 { + margin-top: 66rpx !important; +} +.u-p-t-66 { + padding-top: 66rpx !important; +} +.u-margin-top-66 { + margin-top: 66rpx !important; +} +.u-padding-top-66 { + padding-top: 66rpx !important; +} +.u-m-r-66 { + margin-right: 66rpx !important; +} +.u-p-r-66 { + padding-right: 66rpx !important; +} +.u-margin-right-66 { + margin-right: 66rpx !important; +} +.u-padding-right-66 { + padding-right: 66rpx !important; +} +.u-m-b-66 { + margin-bottom: 66rpx !important; +} +.u-p-b-66 { + padding-bottom: 66rpx !important; +} +.u-margin-bottom-66 { + margin-bottom: 66rpx !important; +} +.u-padding-bottom-66 { + padding-bottom: 66rpx !important; +} +.u-margin-68, .u-m-68 { + margin: 68rpx !important; +} +.u-padding-68, .u-p-68 { + padding: 68rpx !important; +} +.u-m-l-68 { + margin-left: 68rpx !important; +} +.u-p-l-68 { + padding-left: 68rpx !important; +} +.u-margin-left-68 { + margin-left: 68rpx !important; +} +.u-padding-left-68 { + padding-left: 68rpx !important; +} +.u-m-t-68 { + margin-top: 68rpx !important; +} +.u-p-t-68 { + padding-top: 68rpx !important; +} +.u-margin-top-68 { + margin-top: 68rpx !important; +} +.u-padding-top-68 { + padding-top: 68rpx !important; +} +.u-m-r-68 { + margin-right: 68rpx !important; +} +.u-p-r-68 { + padding-right: 68rpx !important; +} +.u-margin-right-68 { + margin-right: 68rpx !important; +} +.u-padding-right-68 { + padding-right: 68rpx !important; +} +.u-m-b-68 { + margin-bottom: 68rpx !important; +} +.u-p-b-68 { + padding-bottom: 68rpx !important; +} +.u-margin-bottom-68 { + margin-bottom: 68rpx !important; +} +.u-padding-bottom-68 { + padding-bottom: 68rpx !important; +} +.u-margin-70, .u-m-70 { + margin: 70rpx !important; +} +.u-padding-70, .u-p-70 { + padding: 70rpx !important; +} +.u-m-l-70 { + margin-left: 70rpx !important; +} +.u-p-l-70 { + padding-left: 70rpx !important; +} +.u-margin-left-70 { + margin-left: 70rpx !important; +} +.u-padding-left-70 { + padding-left: 70rpx !important; +} +.u-m-t-70 { + margin-top: 70rpx !important; +} +.u-p-t-70 { + padding-top: 70rpx !important; +} +.u-margin-top-70 { + margin-top: 70rpx !important; +} +.u-padding-top-70 { + padding-top: 70rpx !important; +} +.u-m-r-70 { + margin-right: 70rpx !important; +} +.u-p-r-70 { + padding-right: 70rpx !important; +} +.u-margin-right-70 { + margin-right: 70rpx !important; +} +.u-padding-right-70 { + padding-right: 70rpx !important; +} +.u-m-b-70 { + margin-bottom: 70rpx !important; +} +.u-p-b-70 { + padding-bottom: 70rpx !important; +} +.u-margin-bottom-70 { + margin-bottom: 70rpx !important; +} +.u-padding-bottom-70 { + padding-bottom: 70rpx !important; +} +.u-margin-72, .u-m-72 { + margin: 72rpx !important; +} +.u-padding-72, .u-p-72 { + padding: 72rpx !important; +} +.u-m-l-72 { + margin-left: 72rpx !important; +} +.u-p-l-72 { + padding-left: 72rpx !important; +} +.u-margin-left-72 { + margin-left: 72rpx !important; +} +.u-padding-left-72 { + padding-left: 72rpx !important; +} +.u-m-t-72 { + margin-top: 72rpx !important; +} +.u-p-t-72 { + padding-top: 72rpx !important; +} +.u-margin-top-72 { + margin-top: 72rpx !important; +} +.u-padding-top-72 { + padding-top: 72rpx !important; +} +.u-m-r-72 { + margin-right: 72rpx !important; +} +.u-p-r-72 { + padding-right: 72rpx !important; +} +.u-margin-right-72 { + margin-right: 72rpx !important; +} +.u-padding-right-72 { + padding-right: 72rpx !important; +} +.u-m-b-72 { + margin-bottom: 72rpx !important; +} +.u-p-b-72 { + padding-bottom: 72rpx !important; +} +.u-margin-bottom-72 { + margin-bottom: 72rpx !important; +} +.u-padding-bottom-72 { + padding-bottom: 72rpx !important; +} +.u-margin-74, .u-m-74 { + margin: 74rpx !important; +} +.u-padding-74, .u-p-74 { + padding: 74rpx !important; +} +.u-m-l-74 { + margin-left: 74rpx !important; +} +.u-p-l-74 { + padding-left: 74rpx !important; +} +.u-margin-left-74 { + margin-left: 74rpx !important; +} +.u-padding-left-74 { + padding-left: 74rpx !important; +} +.u-m-t-74 { + margin-top: 74rpx !important; +} +.u-p-t-74 { + padding-top: 74rpx !important; +} +.u-margin-top-74 { + margin-top: 74rpx !important; +} +.u-padding-top-74 { + padding-top: 74rpx !important; +} +.u-m-r-74 { + margin-right: 74rpx !important; +} +.u-p-r-74 { + padding-right: 74rpx !important; +} +.u-margin-right-74 { + margin-right: 74rpx !important; +} +.u-padding-right-74 { + padding-right: 74rpx !important; +} +.u-m-b-74 { + margin-bottom: 74rpx !important; +} +.u-p-b-74 { + padding-bottom: 74rpx !important; +} +.u-margin-bottom-74 { + margin-bottom: 74rpx !important; +} +.u-padding-bottom-74 { + padding-bottom: 74rpx !important; +} +.u-margin-75, .u-m-75 { + margin: 75rpx !important; +} +.u-padding-75, .u-p-75 { + padding: 75rpx !important; +} +.u-m-l-75 { + margin-left: 75rpx !important; +} +.u-p-l-75 { + padding-left: 75rpx !important; +} +.u-margin-left-75 { + margin-left: 75rpx !important; +} +.u-padding-left-75 { + padding-left: 75rpx !important; +} +.u-m-t-75 { + margin-top: 75rpx !important; +} +.u-p-t-75 { + padding-top: 75rpx !important; +} +.u-margin-top-75 { + margin-top: 75rpx !important; +} +.u-padding-top-75 { + padding-top: 75rpx !important; +} +.u-m-r-75 { + margin-right: 75rpx !important; +} +.u-p-r-75 { + padding-right: 75rpx !important; +} +.u-margin-right-75 { + margin-right: 75rpx !important; +} +.u-padding-right-75 { + padding-right: 75rpx !important; +} +.u-m-b-75 { + margin-bottom: 75rpx !important; +} +.u-p-b-75 { + padding-bottom: 75rpx !important; +} +.u-margin-bottom-75 { + margin-bottom: 75rpx !important; +} +.u-padding-bottom-75 { + padding-bottom: 75rpx !important; +} +.u-margin-76, .u-m-76 { + margin: 76rpx !important; +} +.u-padding-76, .u-p-76 { + padding: 76rpx !important; +} +.u-m-l-76 { + margin-left: 76rpx !important; +} +.u-p-l-76 { + padding-left: 76rpx !important; +} +.u-margin-left-76 { + margin-left: 76rpx !important; +} +.u-padding-left-76 { + padding-left: 76rpx !important; +} +.u-m-t-76 { + margin-top: 76rpx !important; +} +.u-p-t-76 { + padding-top: 76rpx !important; +} +.u-margin-top-76 { + margin-top: 76rpx !important; +} +.u-padding-top-76 { + padding-top: 76rpx !important; +} +.u-m-r-76 { + margin-right: 76rpx !important; +} +.u-p-r-76 { + padding-right: 76rpx !important; +} +.u-margin-right-76 { + margin-right: 76rpx !important; +} +.u-padding-right-76 { + padding-right: 76rpx !important; +} +.u-m-b-76 { + margin-bottom: 76rpx !important; +} +.u-p-b-76 { + padding-bottom: 76rpx !important; +} +.u-margin-bottom-76 { + margin-bottom: 76rpx !important; +} +.u-padding-bottom-76 { + padding-bottom: 76rpx !important; +} +.u-margin-78, .u-m-78 { + margin: 78rpx !important; +} +.u-padding-78, .u-p-78 { + padding: 78rpx !important; +} +.u-m-l-78 { + margin-left: 78rpx !important; +} +.u-p-l-78 { + padding-left: 78rpx !important; +} +.u-margin-left-78 { + margin-left: 78rpx !important; +} +.u-padding-left-78 { + padding-left: 78rpx !important; +} +.u-m-t-78 { + margin-top: 78rpx !important; +} +.u-p-t-78 { + padding-top: 78rpx !important; +} +.u-margin-top-78 { + margin-top: 78rpx !important; +} +.u-padding-top-78 { + padding-top: 78rpx !important; +} +.u-m-r-78 { + margin-right: 78rpx !important; +} +.u-p-r-78 { + padding-right: 78rpx !important; +} +.u-margin-right-78 { + margin-right: 78rpx !important; +} +.u-padding-right-78 { + padding-right: 78rpx !important; +} +.u-m-b-78 { + margin-bottom: 78rpx !important; +} +.u-p-b-78 { + padding-bottom: 78rpx !important; +} +.u-margin-bottom-78 { + margin-bottom: 78rpx !important; +} +.u-padding-bottom-78 { + padding-bottom: 78rpx !important; +} +.u-margin-80, .u-m-80 { + margin: 80rpx !important; +} +.u-padding-80, .u-p-80 { + padding: 80rpx !important; +} +.u-m-l-80 { + margin-left: 80rpx !important; +} +.u-p-l-80 { + padding-left: 80rpx !important; +} +.u-margin-left-80 { + margin-left: 80rpx !important; +} +.u-padding-left-80 { + padding-left: 80rpx !important; +} +.u-m-t-80 { + margin-top: 80rpx !important; +} +.u-p-t-80 { + padding-top: 80rpx !important; +} +.u-margin-top-80 { + margin-top: 80rpx !important; +} +.u-padding-top-80 { + padding-top: 80rpx !important; +} +.u-m-r-80 { + margin-right: 80rpx !important; +} +.u-p-r-80 { + padding-right: 80rpx !important; +} +.u-margin-right-80 { + margin-right: 80rpx !important; +} +.u-padding-right-80 { + padding-right: 80rpx !important; +} +.u-m-b-80 { + margin-bottom: 80rpx !important; +} +.u-p-b-80 { + padding-bottom: 80rpx !important; +} +.u-margin-bottom-80 { + margin-bottom: 80rpx !important; +} +.u-padding-bottom-80 { + padding-bottom: 80rpx !important; +} +.u-reset-nvue { + flex-direction: row; + align-items: center; +} +.u-type-primary-light { + color: #ecf5ff; +} +.u-type-warning-light { + color: #fdf6ec; +} +.u-type-success-light { + color: #dbf1e1; +} +.u-type-error-light { + color: #fef0f0; +} +.u-type-info-light { + color: #f4f4f5; +} +.u-type-primary-light-bg { + background-color: #ecf5ff; +} +.u-type-warning-light-bg { + background-color: #fdf6ec; +} +.u-type-success-light-bg { + background-color: #dbf1e1; +} +.u-type-error-light-bg { + background-color: #fef0f0; +} +.u-type-info-light-bg { + background-color: #f4f4f5; +} +.u-type-primary-dark { + color: #2b85e4; +} +.u-type-warning-dark { + color: #f29100; +} +.u-type-success-dark { + color: #18b566; +} +.u-type-error-dark { + color: #dd6161; +} +.u-type-info-dark { + color: #82848a; +} +.u-type-primary-dark-bg { + background-color: #2b85e4; +} +.u-type-warning-dark-bg { + background-color: #f29100; +} +.u-type-success-dark-bg { + background-color: #18b566; +} +.u-type-error-dark-bg { + background-color: #dd6161; +} +.u-type-info-dark-bg { + background-color: #82848a; +} +.u-type-primary-disabled { + color: #a0cfff; +} +.u-type-warning-disabled { + color: #fcbd71; +} +.u-type-success-disabled { + color: #71d5a1; +} +.u-type-error-disabled { + color: #fab6b6; +} +.u-type-info-disabled { + color: #c8c9cc; +} +.u-type-primary { + color: #2979ff; +} +.u-type-warning { + color: #ff9900; +} +.u-type-success { + color: #19be6b; +} +.u-type-error { + color: #fa3534; +} +.u-type-info { + color: #909399; +} +.u-type-primary-bg { + background-color: #2979ff; +} +.u-type-warning-bg { + background-color: #ff9900; +} +.u-type-success-bg { + background-color: #19be6b; +} +.u-type-error-bg { + background-color: #fa3534; +} +.u-type-info-bg { + background-color: #909399; +} +.u-main-color { + color: #303133; +} +.u-content-color { + color: #606266; +} +.u-tips-color { + color: #909399; +} +.u-light-color { + color: #c0c4cc; +} +page { + color: #303133; + font-size: 28rpx; +} +/* start--去除webkit的默认样式--start */ +.u-fix-ios-appearance { + -webkit-appearance: none; +} +/* end--去除webkit的默认样式--end */ +/* start--icon图标外层套一个view,让其达到更好的垂直居中的效果--start */ +.u-icon-wrap { + display: flex; + align-items: center; +} +/* end-icon图标外层套一个view,让其达到更好的垂直居中的效果--end */ +/* start--iPhoneX底部安全区定义--start */ +.safe-area-inset-bottom { + padding-bottom: 0; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} +/* end-iPhoneX底部安全区定义--end */ +/* start--各种hover点击反馈相关的类名-start */ +.u-hover-class { + opacity: 0.6; +} +.u-cell-hover { + background-color: #f7f8f9 !important; +} +/* end--各种hover点击反馈相关的类名--end */ +/* start--文本行数限制--start */ +.u-line-1 { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.u-line-2 { + -webkit-line-clamp: 2; +} +.u-line-3 { + -webkit-line-clamp: 3; +} +.u-line-4 { + -webkit-line-clamp: 4; +} +.u-line-5 { + -webkit-line-clamp: 5; +} +.u-line-2, .u-line-3, .u-line-4, .u-line-5 { + overflow: hidden; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; +} +/* end--文本行数限制--end */ +/* start--Retina 屏幕下的 1px 边框--start */ +.u-border, +.u-border-bottom, +.u-border-left, +.u-border-right, +.u-border-top, +.u-border-top-bottom { + position: relative; +} +.u-border-bottom:after, +.u-border-left:after, +.u-border-right:after, +.u-border-top-bottom:after, +.u-border-top:after, +.u-border:after { + content: ' '; + position: absolute; + left: 0; + top: 0; + pointer-events: none; + box-sizing: border-box; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + width: 199.8%; + height: 199.7%; + -webkit-transform: scale(0.5, 0.5); + transform: scale(0.5, 0.5); + border: 0 solid #e4e7ed; + z-index: 2; +} +.u-border-top:after { + border-top-width: 1px; +} +.u-border-left:after { + border-left-width: 1px; +} +.u-border-right:after { + border-right-width: 1px; +} +.u-border-bottom:after { + border-bottom-width: 1px; +} +.u-border-top-bottom:after { + border-width: 1px 0; +} +.u-border:after { + border-width: 1px; +} +/* end--Retina 屏幕下的 1px 边框--end */ +/* start--clearfix--start */ +.u-clearfix:after, +.clearfix:after { + content: ''; + display: table; + clear: both; +} +/* end--clearfix--end */ +/* start--高斯模糊tabbar底部处理--start */ +.u-blur-effect-inset { + width: 750rpx; + height: 0px; + background-color: #FFFFFF; +} +/* end--高斯模糊tabbar底部处理--end */ +/* start--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--start */ +/* end--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--end */ +/* start--去除button的所有默认样式--start */ +.u-reset-button { + padding: 0; + font-size: inherit; + line-height: inherit; + background-color: transparent; + color: inherit; +} +.u-reset-button::after { + border: none; +} +/* end--去除button的所有默认样式--end */ +/* start--微信小程序编译后页面有组件名的元素,特别处理--start */ +u-td, u-th { + flex: 1; + align-self: stretch; +} +.u-td { + height: 100%; +} +u-icon { + display: inline-flex; + align-items: center; +} +u-grid { + width: 100%; + flex: 0 0 100%; +} +u-line { + flex: 1; +} +u-switch { + display: inline-flex; + align-items: center; +} +u-dropdown { + flex: 1; +} +/* end-微信小程序编译后页面有组件名的元素,特别处理--end */ +/* start--头条小程序编译后页面有组件名的元素,特别处理--start */ +/* end-头条小程序编译后页面有组件名的元素,特别处理--end */ +page { + height: 100%; +} + diff --git a/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/runtime.js b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/runtime.js new file mode 100644 index 0000000..4c45997 --- /dev/null +++ b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/runtime.js @@ -0,0 +1,273 @@ + + !function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}(); + /******/ (function(modules) { // webpackBootstrap +/******/ // install a JSONP callback for chunk loading +/******/ function webpackJsonpCallback(data) { +/******/ var chunkIds = data[0]; +/******/ var moreModules = data[1]; +/******/ var executeModules = data[2]; +/******/ +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0, resolves = []; +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ resolves.push(installedChunks[chunkId][0]); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ for(moduleId in moreModules) { +/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(parentJsonpFunction) parentJsonpFunction(data); +/******/ +/******/ while(resolves.length) { +/******/ resolves.shift()(); +/******/ } +/******/ +/******/ // add entry modules from loaded chunk to deferred list +/******/ deferredModules.push.apply(deferredModules, executeModules || []); +/******/ +/******/ // run deferred modules when all chunks ready +/******/ return checkDeferredModules(); +/******/ }; +/******/ function checkDeferredModules() { +/******/ var result; +/******/ for(var i = 0; i < deferredModules.length; i++) { +/******/ var deferredModule = deferredModules[i]; +/******/ var fulfilled = true; +/******/ for(var j = 1; j < deferredModule.length; j++) { +/******/ var depId = deferredModule[j]; +/******/ if(installedChunks[depId] !== 0) fulfilled = false; +/******/ } +/******/ if(fulfilled) { +/******/ deferredModules.splice(i--, 1); +/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); +/******/ } +/******/ } +/******/ +/******/ return result; +/******/ } +/******/ +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // object to store loaded CSS chunks +/******/ var installedCssChunks = { +/******/ "common/runtime": 0 +/******/ } +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // Promise = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ "common/runtime": 0 +/******/ }; +/******/ +/******/ var deferredModules = []; +/******/ +/******/ // script path function +/******/ function jsonpScriptSrc(chunkId) { +/******/ return __webpack_require__.p + "" + chunkId + ".js" +/******/ } +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = function requireEnsure(chunkId) { +/******/ var promises = []; +/******/ +/******/ +/******/ // mini-css-extract-plugin CSS loading +/******/ var cssChunks = {"components/ListImgItem/ListImgItem":1,"node-modules/uview-ui/components/u-button/u-button":1,"node-modules/uview-ui/components/u-empty/u-empty":1,"node-modules/uview-ui/components/u-gap/u-gap":1,"node-modules/uview-ui/components/u-icon/u-icon":1,"node-modules/uview-ui/components/u-image/u-image":1,"node-modules/uview-ui/components/u-line-progress/u-line-progress":1,"node-modules/uview-ui/components/u-navbar/u-navbar":1,"node-modules/uview-ui/components/u-notice-bar/u-notice-bar":1,"node-modules/uview-ui/components/u-popup/u-popup":1,"node-modules/uview-ui/components/u-divider/u-divider":1,"components/CouponInfoList/CouponInfoList":1,"node-modules/uview-ui/components/u-checkbox-group/u-checkbox-group":1,"node-modules/uview-ui/components/u-card/u-card":1,"node-modules/uview-ui/components/u-checkbox/u-checkbox":1,"node-modules/uview-ui/components/u-col/u-col":1,"node-modules/uview-ui/components/u-row/u-row":1,"node-modules/uview-ui/components/u-swiper/u-swiper":1,"node-modules/uview-ui/components/u-badge/u-badge":1,"node-modules/uview-ui/components/u-count-down/u-count-down":1,"components/PickUpLocationHeader/PickUpLocationHeader":1,"components/PickUpLocationItem/PickUpLocationItem":1,"node-modules/uview-ui/components/u-input/u-input":1,"node-modules/uview-ui/components/u-tag/u-tag":1,"node-modules/uview-ui/components/u-tabs-swiper/u-tabs-swiper":1,"node-modules/uview-ui/components/u-loadmore/u-loadmore":1,"node-modules/uview-ui/components/u-modal/u-modal":1,"node-modules/uview-ui/components/u-number-box/u-number-box":1,"node-modules/uview-ui/components/u-column-notice/u-column-notice":1,"node-modules/uview-ui/components/u-row-notice/u-row-notice":1,"node-modules/uview-ui/components/u-mask/u-mask":1,"node-modules/uview-ui/components/u-picker/u-picker":1,"node-modules/uview-ui/components/u-search/u-search":1,"node-modules/uview-ui/components/u-line/u-line":1,"node-modules/uview-ui/components/u-loading/u-loading":1}; +/******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]); +/******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) { +/******/ promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) { +/******/ var href = "" + ({"components/AddToCart/AddToCart":"components/AddToCart/AddToCart","components/ListImgItem/ListImgItem":"components/ListImgItem/ListImgItem","node-modules/uview-ui/components/u-button/u-button":"node-modules/uview-ui/components/u-button/u-button","node-modules/uview-ui/components/u-empty/u-empty":"node-modules/uview-ui/components/u-empty/u-empty","node-modules/uview-ui/components/u-gap/u-gap":"node-modules/uview-ui/components/u-gap/u-gap","node-modules/uview-ui/components/u-icon/u-icon":"node-modules/uview-ui/components/u-icon/u-icon","node-modules/uview-ui/components/u-image/u-image":"node-modules/uview-ui/components/u-image/u-image","node-modules/uview-ui/components/u-line-progress/u-line-progress":"node-modules/uview-ui/components/u-line-progress/u-line-progress","node-modules/uview-ui/components/u-navbar/u-navbar":"node-modules/uview-ui/components/u-navbar/u-navbar","node-modules/uview-ui/components/u-notice-bar/u-notice-bar":"node-modules/uview-ui/components/u-notice-bar/u-notice-bar","node-modules/uview-ui/components/u-popup/u-popup":"node-modules/uview-ui/components/u-popup/u-popup","node-modules/uview-ui/components/u-divider/u-divider":"node-modules/uview-ui/components/u-divider/u-divider","components/CouponInfoList/CouponInfoList":"components/CouponInfoList/CouponInfoList","node-modules/uview-ui/components/u-checkbox-group/u-checkbox-group":"node-modules/uview-ui/components/u-checkbox-group/u-checkbox-group","node-modules/uview-ui/components/u-card/u-card":"node-modules/uview-ui/components/u-card/u-card","node-modules/uview-ui/components/u-checkbox/u-checkbox":"node-modules/uview-ui/components/u-checkbox/u-checkbox","node-modules/uview-ui/components/u-col/u-col":"node-modules/uview-ui/components/u-col/u-col","node-modules/uview-ui/components/u-row/u-row":"node-modules/uview-ui/components/u-row/u-row","node-modules/uview-ui/components/u-swiper/u-swiper":"node-modules/uview-ui/components/u-swiper/u-swiper","node-modules/uview-ui/components/u-badge/u-badge":"node-modules/uview-ui/components/u-badge/u-badge","node-modules/uview-ui/components/u-count-down/u-count-down":"node-modules/uview-ui/components/u-count-down/u-count-down","components/PickUpLocationHeader/PickUpLocationHeader":"components/PickUpLocationHeader/PickUpLocationHeader","components/PickUpLocationItem/PickUpLocationItem":"components/PickUpLocationItem/PickUpLocationItem","node-modules/uview-ui/components/u-input/u-input":"node-modules/uview-ui/components/u-input/u-input","node-modules/uview-ui/components/u-tag/u-tag":"node-modules/uview-ui/components/u-tag/u-tag","node-modules/uview-ui/components/u-tabs-swiper/u-tabs-swiper":"node-modules/uview-ui/components/u-tabs-swiper/u-tabs-swiper","node-modules/uview-ui/components/u-loadmore/u-loadmore":"node-modules/uview-ui/components/u-loadmore/u-loadmore","node-modules/uview-ui/components/u-modal/u-modal":"node-modules/uview-ui/components/u-modal/u-modal","node-modules/uview-ui/components/u-number-box/u-number-box":"node-modules/uview-ui/components/u-number-box/u-number-box","node-modules/uview-ui/components/u-column-notice/u-column-notice":"node-modules/uview-ui/components/u-column-notice/u-column-notice","node-modules/uview-ui/components/u-row-notice/u-row-notice":"node-modules/uview-ui/components/u-row-notice/u-row-notice","node-modules/uview-ui/components/u-mask/u-mask":"node-modules/uview-ui/components/u-mask/u-mask","node-modules/uview-ui/components/u-picker/u-picker":"node-modules/uview-ui/components/u-picker/u-picker","node-modules/uview-ui/components/u-search/u-search":"node-modules/uview-ui/components/u-search/u-search","node-modules/uview-ui/components/u-line/u-line":"node-modules/uview-ui/components/u-line/u-line","node-modules/uview-ui/components/u-loading/u-loading":"node-modules/uview-ui/components/u-loading/u-loading"}[chunkId]||chunkId) + ".wxss"; +/******/ var fullhref = __webpack_require__.p + href; +/******/ var existingLinkTags = document.getElementsByTagName("link"); +/******/ for(var i = 0; i < existingLinkTags.length; i++) { +/******/ var tag = existingLinkTags[i]; +/******/ var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href"); +/******/ if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve(); +/******/ } +/******/ var existingStyleTags = document.getElementsByTagName("style"); +/******/ for(var i = 0; i < existingStyleTags.length; i++) { +/******/ var tag = existingStyleTags[i]; +/******/ var dataHref = tag.getAttribute("data-href"); +/******/ if(dataHref === href || dataHref === fullhref) return resolve(); +/******/ } +/******/ var linkTag = document.createElement("link"); +/******/ linkTag.rel = "stylesheet"; +/******/ linkTag.type = "text/css"; +/******/ linkTag.onload = resolve; +/******/ linkTag.onerror = function(event) { +/******/ var request = event && event.target && event.target.src || fullhref; +/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); +/******/ err.code = "CSS_CHUNK_LOAD_FAILED"; +/******/ err.request = request; +/******/ delete installedCssChunks[chunkId] +/******/ linkTag.parentNode.removeChild(linkTag) +/******/ reject(err); +/******/ }; +/******/ linkTag.href = fullhref; +/******/ +/******/ var head = document.getElementsByTagName("head")[0]; +/******/ head.appendChild(linkTag); +/******/ }).then(function() { +/******/ installedCssChunks[chunkId] = 0; +/******/ })); +/******/ } +/******/ +/******/ // JSONP chunk loading for javascript +/******/ +/******/ var installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) { // 0 means "already installed". +/******/ +/******/ // a Promise means "currently loading". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise(function(resolve, reject) { +/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; +/******/ }); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var script = document.createElement('script'); +/******/ var onScriptComplete; +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute("nonce", __webpack_require__.nc); +/******/ } +/******/ script.src = jsonpScriptSrc(chunkId); +/******/ +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ onScriptComplete = function (event) { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var chunk = installedChunks[chunkId]; +/******/ if(chunk !== 0) { +/******/ if(chunk) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ chunk[1](error); +/******/ } +/******/ installedChunks[chunkId] = undefined; +/******/ } +/******/ }; +/******/ var timeout = setTimeout(function(){ +/******/ onScriptComplete({ type: 'timeout', target: script }); +/******/ }, 120000); +/******/ script.onerror = script.onload = onScriptComplete; +/******/ document.head.appendChild(script); +/******/ } +/******/ } +/******/ return Promise.all(promises); +/******/ }; +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/"; +/******/ +/******/ // on error function for async loading +/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; +/******/ +/******/ var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || []; +/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); +/******/ jsonpArray.push = webpackJsonpCallback; +/******/ jsonpArray = jsonpArray.slice(); +/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); +/******/ var parentJsonpFunction = oldJsonpFunction; +/******/ +/******/ +/******/ // run deferred modules from other chunks +/******/ checkDeferredModules(); +/******/ }) +/************************************************************************/ +/******/ ([]); +//# sourceMappingURL=../../.sourcemap/mp-weixin/common/runtime.js.map + \ No newline at end of file diff --git a/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/vendor.js b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/vendor.js new file mode 100644 index 0000000..ba77f95 --- /dev/null +++ b/atguigu-tuan/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -0,0 +1,26197 @@ +(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.