(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(); if (!target[key].canIUse('getAppBaseInfo')) { target[key].getAppBaseInfo = target[key].getSystemInfoSync; } if (!target[key].canIUse('getWindowInfo')) { target[key].getWindowInfo = target[key].getSystemInfoSync; } if (!target[key].canIUse('getDeviceInfo')) { target[key].getDeviceInfo = target[key].getSystemInfoSync; } 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; /***/ }), /***/ 107: /*!************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/utils/AS-NotifyTheAuthority.js ***! \************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.registPush = exports.permissions = exports.isNotificationsEnabled = void 0; var _TencentCloudPush = __webpack_require__(/*! @/uni_modules/TencentCloud-Push */ 108); var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 37)); /** * 当前通知权限开启查询 * @returns {Boolean} true:已开启 false:未开启 */ var isNotificationsEnabled = function isNotificationsEnabled() {}; /** * 前往系统设置的功能 * @param {Boolean} type true:开启 false:关闭 * @returns */ exports.isNotificationsEnabled = isNotificationsEnabled; var permissions = function permissions(type) {}; /** * 注册推送 */ exports.permissions = permissions; var registPush = function registPush() {}; exports.registPush = registPush; /***/ }), /***/ 108: /*!********************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/TencentCloud-Push/index.js ***! \********************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { /***/ }), /***/ 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(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } 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(o) { "@babel/helpers - typeof"; return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); } 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(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 1449: /*!*********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-switch/components/uv-switch/props.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ value: { type: [Boolean, String, Number], default: false }, modelValue: { type: [Boolean, String, Number], default: false }, // 是否为加载中状态 loading: { type: Boolean, default: false }, // 是否为禁用装填 disabled: { type: Boolean, default: false }, // 开关尺寸,单位px size: { type: [String, Number], default: 25 }, // 打开时的背景颜色 activeColor: { type: String, default: '#2979ff' }, // 关闭时的背景颜色 inactiveColor: { type: String, default: '#fff' }, // switch打开时的值 activeValue: { type: [String, Number, Boolean], default: true }, // switch关闭时的值 inactiveValue: { type: [String, Number, Boolean], default: false }, // 是否开启异步变更,开启后需要手动控制输入值 asyncChange: { type: Boolean, default: false }, // 圆点与外边框的距离 space: { type: [String, Number], default: 0 } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.switch) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 1485: /*!************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ 1486); function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 1486: /*!*****************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } module.exports = _objectWithoutPropertiesLoose, 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(t, e, r) { if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && setPrototypeOf(p, r.prototype), p; } module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 1599: /*!*****************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-count-down/components/uv-count-down/props.js ***! \*****************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 倒计时时长,单位ms time: { type: [String, Number], default: 0 }, // 时间格式,DD-日,HH-时,mm-分,ss-秒,SSS-毫秒 format: { type: String, default: 'HH:mm:ss' }, // 是否自动开始倒计时 autoStart: { type: Boolean, default: true }, // 是否展示毫秒倒计时 millisecond: { type: Boolean, default: false } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.countDown) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 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; /***/ }), /***/ 1600: /*!*****************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-count-down/components/uv-count-down/utils.js ***! \*****************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSameSecond = isSameSecond; exports.parseFormat = parseFormat; exports.parseTimeData = parseTimeData; // 补0,如1 -> 01 function padZero(num) { var targetLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2; var str = "".concat(num); while (str.length < targetLength) { str = "0".concat(str); } return str; } var SECOND = 1000; var MINUTE = 60 * SECOND; var HOUR = 60 * MINUTE; var DAY = 24 * HOUR; function parseTimeData(time) { var days = Math.floor(time / DAY); var hours = Math.floor(time % DAY / HOUR); var minutes = Math.floor(time % HOUR / MINUTE); var seconds = Math.floor(time % MINUTE / SECOND); var milliseconds = Math.floor(time % SECOND); return { days: days, hours: hours, minutes: minutes, seconds: seconds, milliseconds: milliseconds }; } function parseFormat(format, timeData) { var days = timeData.days, hours = timeData.hours, minutes = timeData.minutes, seconds = timeData.seconds, milliseconds = timeData.milliseconds; // 如果格式化字符串中不存在DD(天),则将天的时间转为小时中去 if (format.indexOf('DD') === -1) { hours += days * 24; } else { // 对天补0 format = format.replace('DD', padZero(days)); } // 其他同理于DD的格式化处理方式 if (format.indexOf('HH') === -1) { minutes += hours * 60; } else { format = format.replace('HH', padZero(hours)); } if (format.indexOf('mm') === -1) { seconds += minutes * 60; } else { format = format.replace('mm', padZero(minutes)); } if (format.indexOf('ss') === -1) { milliseconds += seconds * 1000; } else { format = format.replace('ss', padZero(seconds)); } return format.replace('SSS', padZero(milliseconds, 3)); } function isSameSecond(time1, time2) { return Math.floor(time1 / 1000) === Math.floor(time2 / 1000); } /***/ }), /***/ 1608: /*!************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/lime-painter/components/common/relation.js ***! \************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.children = children; exports.parent = parent; var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 18)); var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var styles = function styles() { var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return v.split(';').filter(function (v) { return v && !/^[\n\s]+$/.test(v); }).map(function (v) { var key = v.slice(0, v.indexOf(':')); var value = v.slice(v.indexOf(':') + 1); return (0, _defineProperty2.default)({}, key.replace(/-([a-z])/g, function () { return arguments[1].toUpperCase(); }).replace(/\s+/g, ''), value.replace(/^\s+/, '').replace(/\s+$/, '') || ''); }); }; function parent(parent) { return { provide: function provide() { return (0, _defineProperty2.default)({}, parent, this); }, data: function data() { return { el: { id: null, css: {}, views: [] } }; }, watch: { css: { handler: function handler(v) { if (this.canvasId) { this.el.css = ((0, _typeof2.default)(v) == 'object' ? v : v && Object.assign.apply(Object, (0, _toConsumableArray2.default)(styles(v)))) || {}; this.canvasWidth = this.el.css && this.el.css.width || this.canvasWidth; this.canvasHeight = this.el.css && this.el.css.height || this.canvasHeight; } }, immediate: true } } }; } function children(parent) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var indexKey = options.indexKey || 'index'; return { inject: (0, _defineProperty2.default)({}, parent, { default: null }), watch: { el: { handler: function handler(v, o) { if (JSON.stringify(v) != JSON.stringify(o)) this.bindRelation(); }, deep: true, immediate: true }, src: { handler: function handler(v, o) { if (v != o) this.bindRelation(); }, immediate: true }, text: { handler: function handler(v, o) { if (v != o) this.bindRelation(); }, immediate: true }, css: { handler: function handler(v, o) { if (v != o) this.el.css = ((0, _typeof2.default)(v) == 'object' ? v : v && Object.assign.apply(Object, (0, _toConsumableArray2.default)(styles(v)))) || {}; }, immediate: true }, replace: { handler: function handler(v, o) { if (JSON.stringify(v) != JSON.stringify(o)) this.bindRelation(); }, deep: true, immediate: true } }, created: function created() { var _this = this; if (!this._uid) { this._uid = this._.uid; } Object.defineProperty(this, 'parent', { get: function get() { return _this[parent] || []; } }); Object.defineProperty(this, 'index', { get: function get() { _this.bindRelation(); var _this$parent = _this.parent; _this$parent = _this$parent === void 0 ? {} : _this$parent; var _this$parent$el = _this$parent.el; _this$parent$el = _this$parent$el === void 0 ? {} : _this$parent$el; var _this$parent$el$views = _this$parent$el.views, views = _this$parent$el$views === void 0 ? [] : _this$parent$el$views; return views.indexOf(_this.el); } }); this.el.type = this.type; if (this.uid) { this.el.uid = this.uid; } this.bindRelation(); }, beforeDestroy: function beforeDestroy() { this.removeEl(); }, methods: { removeEl: function removeEl() { var _this2 = this; if (this.parent) { this.parent.el.views = this.parent.el.views.filter(function (item) { return item._uid !== _this2._uid; }); } }, bindRelation: function bindRelation() { var _this3 = this; if (!this.el._uid) { this.el._uid = this._uid; } if (['text', 'qrcode'].includes(this.type)) { this.el.text = this.$slots && this.$slots.default && this.$slots.default[0].text || "".concat(this.text || '').replace(/\\n/g, '\n'); } if (this.type == 'image') { this.el.src = this.src; } if (!this.parent) { return; } var views = this.parent.el.views || []; if (views.indexOf(this.el) !== -1) { this.parent.el.views = views.map(function (v) { return v._uid == _this3._uid ? _this3.el : v; }); } else { this.parent.el.views = [].concat((0, _toConsumableArray2.default)(views), [this.el]); } } }, mounted: function mounted() { // this.bindRelation() } }; } /***/ }), /***/ 1609: /*!************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/lime-painter/components/l-painter/props.js ***! \************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = { props: { board: Object, pathType: String, // 'base64'、'url' fileType: { type: String, default: 'png' }, hidden: Boolean, quality: { type: Number, default: 1 }, css: [String, Object], // styles: [String, Object], width: [Number, String], height: [Number, String], pixelRatio: Number, customStyle: String, isCanvasToTempFilePath: Boolean, // useCanvasToTempFilePath: Boolean, sleep: { type: Number, default: 1000 / 30 }, beforeDelay: { type: Number, default: 100 }, afterDelay: { type: Number, default: 100 }, performance: Boolean, type: { type: String, default: '2d' } } }; exports.default = _default; /***/ }), /***/ 1610: /*!************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/lime-painter/components/l-painter/utils.js ***! \************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni, wx) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.base64ToPath = base64ToPath; exports.canIUseCanvas2d = canIUseCanvas2d; exports.compareVersion = compareVersion; exports.getImageInfo = getImageInfo; exports.isBase64 = void 0; exports.isNumber = isNumber; exports.networkReg = exports.isPC = void 0; exports.pathToBase64 = pathToBase64; exports.prefix = void 0; exports.sleep = sleep; exports.toPx = toPx; var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 34)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 36)); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5)); 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 networkReg = /^(http|\/\/)/; exports.networkReg = networkReg; var isBase64 = function isBase64(path) { return /^data:image\/(\w+);base64/.test(path); }; exports.isBase64 = isBase64; function sleep(delay) { return new Promise(function (resolve) { return setTimeout(resolve, delay); }); } var _uni$getSystemInfoSyn = uni.getSystemInfoSync(), platform = _uni$getSystemInfoSyn.platform, SDKVersion = _uni$getSystemInfoSyn.SDKVersion; var isPC = /windows|mac/.test(platform); // 缓存图片 exports.isPC = isPC; var cache = {}; function isNumber(value) { return /^-?\d+(\.\d+)?$/.test(value); } function toPx(value, baseSize) { var isDecimal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; // 如果是数字 if (typeof value === 'number') { return value; } // 如果是字符串数字 if (isNumber(value)) { return value * 1; } // 如果有单位 if (typeof value === 'string') { var reg = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|px|%)$/g; var results = reg.exec(value); if (!value || !results) { return 0; } var unit = results[3]; value = parseFloat(value); var res = 0; if (unit === 'rpx') { res = uni.upx2px(value); } else if (unit === 'px') { res = value * 1; } else if (unit === '%') { res = value * toPx(baseSize) / 100; } else if (unit === 'em') { res = value * toPx(baseSize || 14); } return isDecimal ? res.toFixed(2) * 1 : Math.round(res); } return 0; } // 计算版本 function compareVersion(v1, v2) { v1 = v1.split('.'); v2 = v2.split('.'); var len = Math.max(v1.length, v2.length); while (v1.length < len) { v1.push('0'); } while (v2.length < len) { v2.push('0'); } for (var i = 0; i < len; i++) { var num1 = parseInt(v1[i], 10); var num2 = parseInt(v2[i], 10); if (num1 > num2) { return 1; } else if (num1 < num2) { return -1; } } return 0; } function gte(version) { return compareVersion(SDKVersion, version) >= 0; } function canIUseCanvas2d() { return gte('2.9.2'); return false; } var prefix = function prefix() { return wx; }; /** * base64转路径 * @param {Object} base64 */ exports.prefix = prefix; function base64ToPath(base64) { var _ref = /^data:image\/(\w+);base64,/.exec(base64) || [], _ref2 = (0, _slicedToArray2.default)(_ref, 2), format = _ref2[1]; return new Promise(function (resolve, reject) { var fs = uni.getFileSystemManager(); //自定义文件名 if (!format) { reject(new Error('ERROR_BASE64SRC_PARSE')); } var time = new Date().getTime(); var pre = prefix(); var filePath = "".concat(pre.env.USER_DATA_PATH, "/").concat(time, ".").concat(format); fs.writeFile({ filePath: filePath, data: base64.split(',')[1], encoding: 'base64', success: function success() { resolve(filePath); }, fail: function fail(err) { console.error(err); reject(err); } }); }); } /** * 路径转base64 * @param {Object} string */ function pathToBase64(path) { if (/^data:/.test(path)) return path; return new Promise(function (resolve, reject) { if (uni.canIUse('getFileSystemManager')) { uni.getFileSystemManager().readFile({ filePath: path, encoding: 'base64', success: function success(res) { resolve('data:image/png;base64,' + res.data); }, fail: function fail(error) { console.error({ error: error, path: path }); reject(error); } }); } }); } function getImageInfo(path, useCORS) { var _this = this; var isCanvas2D = this && this.canvas && this.canvas.createImage; return new Promise( /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(resolve, reject) { var src, img; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: // let time = +new Date() src = path.replace(/^@\//, '/'); if (!(cache[path] && cache[path].errMsg)) { _context.next = 5; break; } resolve(cache[path]); _context.next = 22; break; case 5: _context.prev = 5; if (!(isBase64(path) && (isCanvas2D ? isPC : true))) { _context.next = 10; break; } _context.next = 9; return base64ToPath(path); case 9: src = _context.sent; case 10: _context.next = 15; break; case 12: _context.prev = 12; _context.t0 = _context["catch"](5); reject(_objectSpread(_objectSpread({}, _context.t0), {}, { src: src })); case 15: if (!(isCanvas2D && !isPC)) { _context.next = 21; break; } img = _this.canvas.createImage(); img.onload = function () { var image = { path: img, width: img.width, height: img.height }; cache[path] = image; resolve(cache[path]); }; img.onerror = function (err) { reject({ err: err, path: path }); }; img.src = src; return _context.abrupt("return"); case 21: uni.getImageInfo({ src: src, success: function success(image) { var localReg = /^\.|^\/(?=[^\/])/; image.path = localReg.test(src) ? "/".concat(image.path) : image.path; if (isCanvas2D) { var _img = _this.canvas.createImage(); _img.onload = function () { image.path = _img; cache[path] = image; resolve(cache[path]); }; _img.onerror = function (err) { reject({ err: err, path: path }); }; _img.src = src; return; } cache[path] = image; resolve(cache[path]); }, fail: function fail(err) { console.error({ err: err, path: path }); reject({ err: err, path: path }); } }); case 22: case "end": return _context.stop(); } } }, _callee, null, [[5, 12]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); } /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"])) /***/ }), /***/ 1611: /*!**************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/lime-painter/components/l-painter/painter.js ***! \**************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni, wx) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Painter = void 0; var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13)); var _t = function t() { return _t = Object.assign || function (t) { for (var e, i = 1, n = arguments.length; i < n; i++) { for (var r in e = arguments[i]) { Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); } } return t; }, _t.apply(this, arguments); }; function e(t, e, i, n) { return new (i || (i = Promise))(function (r, o) { function s(t) { try { h(n.next(t)); } catch (t) { o(t); } } function a(t) { try { h(n.throw(t)); } catch (t) { o(t); } } function h(t) { var e; t.done ? r(t.value) : (e = t.value, e instanceof i ? e : new i(function (t) { t(e); })).then(s, a); } h((n = n.apply(t, e || [])).next()); }); } function i(t, e) { var i, n, r, o, s = { label: 0, sent: function sent() { if (1 & r[0]) throw r[1]; return r[1]; }, trys: [], ops: [] }; return o = { next: a(0), throw: a(1), return: a(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this; }), o; function a(o) { return function (a) { return function (o) { if (i) throw new TypeError("Generator is already executing."); for (; s;) { try { if (i = 1, n && (r = 2 & o[0] ? n.return : o[0] ? n.throw || ((r = n.return) && r.call(n), 0) : n.next) && !(r = r.call(n, o[1])).done) return r; switch (n = 0, r && (o = [2 & o[0], r.value]), o[0]) { case 0: case 1: r = o; break; case 4: return s.label++, { value: o[1], done: !1 }; case 5: s.label++, n = o[1], o = [0]; continue; case 7: o = s.ops.pop(), s.trys.pop(); continue; default: if (!(r = s.trys, (r = r.length > 0 && r[r.length - 1]) || 6 !== o[0] && 2 !== o[0])) { s = 0; continue; } if (3 === o[0] && (!r || o[1] > r[0] && o[1] < r[3])) { s.label = o[1]; break; } if (6 === o[0] && s.label < r[1]) { s.label = r[1], r = o; break; } if (r && s.label < r[2]) { s.label = r[2], s.ops.push(o); break; } r[2] && s.ops.pop(), s.trys.pop(); continue; } o = e.call(t, s); } catch (t) { o = [6, t], n = 0; } finally { i = r = 0; } } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 }; }([o, a]); }; } } var n = { MP_WEIXIN: "mp-weixin", MP_QQ: "mp-qq", MP_ALIPAY: "mp-alipay", MP_BAIDU: "mp-baidu", MP_TOUTIAO: "mp-toutiao", MP_DINGDING: "mp-dingding", H5: "h5", WEB: "web", PLUS: "plus" }, r = ["Top", "Right", "Bottom", "Left"], o = "right", s = "bottom", a = ["contentSize", "clientSize", "borderSize", "offsetSize"], h = "row", c = "column", f = { TOP: "top", MIDDLE: "middle", BOTTOM: s }, l = { LEFT: "left", CENTER: "center", RIGHT: o }, d = "view", u = "text", p = "image", g = "qrcode", v = "block", y = "inline-block", x = "none", b = "flex", w = "absolute", m = "fixed", S = { display: v, color: "#000000", lineHeight: "1.4em", fontSize: 14, fontWeight: 400, fontFamily: "sans-serif", lineCap: "butt", flexDirection: h, flexWrap: "nowrap", textAlign: "left", alignItems: "flex-start", justifyContent: "flex-start", position: "static", transformOrigin: "".concat("center", " ").concat("center") }, z = { upx2px: function upx2px(t) { return window.innerWidth / 750 * t; }, getSystemInfoSync: function getSystemInfoSync() { return { screenWidth: window.innerWidth, screenHeight: window.innerHeight }; }, getImageInfo: function getImageInfo(t) { var e = t.src, i = t.success, n = t.fail, r = new Image(); r.onload = function () { i({ width: r.naturalWidth, height: r.naturalHeight, path: r.src, src: e }); }, r.onerror = n, r.src = e; } }, I = "object" == (typeof window === "undefined" ? "undefined" : (0, _typeof2.default)(window)) ? "undefined" == typeof uni || "undefined" != typeof uni && !uni.addInterceptor ? n.WEB : n.H5 : "object" == (typeof swan === "undefined" ? "undefined" : (0, _typeof2.default)(swan)) ? n.MP_BAIDU : "object" == (typeof tt === "undefined" ? "undefined" : (0, _typeof2.default)(tt)) ? n.MP_TOUTIAO : "object" == (typeof plus === "undefined" ? "undefined" : (0, _typeof2.default)(plus)) ? n.PLUS : "object" == (typeof wx === "undefined" ? "undefined" : (0, _typeof2.default)(wx)) ? n.MP_WEIXIN : void 0, M = I == n.MP_WEIXIN ? wx : "undefined" != typeof uni ? uni.getImageInfo ? { upx2px: function upx2px(t) { return uni.upx2px(t); }, getSystemInfoSync: function getSystemInfoSync() { return uni.getSystemInfoSync(); }, getImageInfo: function getImageInfo(t) { return uni.getImageInfo(t); }, downloadFile: function downloadFile(t) { return uni.downloadFile(t); } } : Object.assign(uni, z) : "undefined" != typeof window ? z : uni; if (!M.upx2px) { var k = ((M.getSystemInfoSync && M.getSystemInfoSync()).screenWidth || 375) / 750; M.upx2px = function (t) { return k * t; }; } function B(t) { return /^-?\d+(\.\d+)?$/.test(t); } function W(t, e, i) { if (B(t)) return 1 * t; if ("string" == typeof t) { var n = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|vw|vh|px|%)$/g.exec(t); if (!t || !n) return 0; var r = n[3]; t = parseFloat(t); var o = 0; if ("rpx" === r) o = M.upx2px(t);else if ("px" === r) o = 1 * t;else if ("%" === r && e) o = t * W(e) / 100;else if ("em" === r && e) o = t * W(e || 14);else if (["vw", "vh"].includes(r)) { var s = M.getSystemInfoSync(), a = s.screenWidth, h = s.screenHeight; o = t * ("vw" == r ? a : h) / 100; } return 1 * o.toFixed(2); } return 0; } function P(t) { return /%$/.test(t); } function O(t) { return /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(rpx|px)$/.test(t); } var T = function T(t) { return !(!t || !t.startsWith("linear") && !t.startsWith("radial")); }, L = function L(t, e, i, n, r, o) { t.startsWith("linear") ? function (t, e, i, n, r, o) { for (var s = function (t, e, i, n, r) { void 0 === n && (n = 0); void 0 === r && (r = 0); var o = t.match(/([-]?\d{1,3})deg/), s = o && o[1] ? parseFloat(o[1]) : 0; s >= 360 && (s -= 360); s < 0 && (s += 360); if (0 === (s = Math.round(s))) return { x0: Math.round(e / 2) + n, y0: i + r, x1: Math.round(e / 2) + n, y1: r }; if (180 === s) return { x0: Math.round(e / 2) + n, y0: r, x1: Math.round(e / 2) + n, y1: i + r }; if (90 === s) return { x0: n, y0: Math.round(i / 2) + r, x1: e + n, y1: Math.round(i / 2) + r }; if (270 === s) return { x0: e + n, y0: Math.round(i / 2) + r, x1: n, y1: Math.round(i / 2) + r }; var a = Math.round(180 * Math.asin(e / Math.sqrt(Math.pow(e, 2) + Math.pow(i, 2))) / Math.PI); if (s === a) return { x0: n, y0: i + r, x1: e + n, y1: r }; if (s === 180 - a) return { x0: n, y0: r, x1: e + n, y1: i + r }; if (s === 180 + a) return { x0: e + n, y0: r, x1: n, y1: i + r }; if (s === 360 - a) return { x0: e + n, y0: i + r, x1: n, y1: r }; var h = 0, c = 0, f = 0, l = 0; if (s < a || s > 180 - a && s < 180 || s > 180 && s < 180 + a || s > 360 - a) { var d = s * Math.PI / 180, u = s < a || s > 360 - a ? i / 2 : -i / 2, p = Math.tan(d) * u, g = s < a || s > 180 - a && s < 180 ? e / 2 - p : -e / 2 - p; h = -(f = p + (v = Math.pow(Math.sin(d), 2) * g)), c = -(l = u + v / Math.tan(d)); } if (s > a && s < 90 || s > 90 && s < 90 + a || s > 180 + a && s < 270 || s > 270 && s < 360 - a) { var v; d = (90 - s) * Math.PI / 180, p = s > a && s < 90 || s > 90 && s < 90 + a ? e / 2 : -e / 2, u = Math.tan(d) * p, g = s > a && s < 90 || s > 270 && s < 360 - a ? i / 2 - u : -i / 2 - u; h = -(f = p + (v = Math.pow(Math.sin(d), 2) * g) / Math.tan(d)), c = -(l = u + v); } return h = Math.round(h + e / 2) + n, c = Math.round(i / 2 - c) + r, f = Math.round(f + e / 2) + n, l = Math.round(i / 2 - l) + r, { x0: h, y0: c, x1: f, y1: l }; }(r, t, e, i, n), a = s.x0, h = s.y0, c = s.x1, f = s.y1, l = o.createLinearGradient(a, h, c, f), d = r.match(/linear-gradient\((.+)\)/)[1], u = R(d.substring(d.indexOf(",") + 1)), p = 0; p < u.colors.length; p++) { l.addColorStop(u.percents[p], u.colors[p]); } o.setFillStyle(l); }(e, i, n, r, t, o) : t.startsWith("radial") && function (t, e, i, n, r, o) { for (var s = R(r.match(/radial-gradient\((.+)\)/)[1]), a = Math.round(t / 2) + i, h = Math.round(e / 2) + n, c = o.createRadialGradient(a, h, 0, a, h, Math.max(t, e) / 2), f = 0; f < s.colors.length; f++) { c.addColorStop(s.percents[f], s.colors[f]); } o.setFillStyle(c); }(e, i, n, r, t, o); }; function R(t) { for (var e = [], i = [], n = 0, r = t.substring(0, t.length - 1).split("%,"); n < r.length; n++) { var o = r[n]; e.push(o.substring(0, o.lastIndexOf(" ")).trim()), i.push(o.substring(o.lastIndexOf(" "), o.length) / 100); } return { colors: e, percents: i }; } function F(t, e, i) { return e in t ? Object.defineProperty(t, e, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = i, t; } function A() { return A = Object.assign ? Object.assign.bind() : function (t) { for (var e = 1; e < arguments.length; e++) { var i = arguments[e]; for (var n in i) { Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]); } } return t; }, A.apply(this, arguments); } function j(t, e) { return j = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, j(t, e); } function E(t, e) { (null == e || e > t.length) && (e = t.length); for (var i = 0, n = new Array(e); i < e; i++) { n[i] = t[i]; } return n; } function C(t, e) { var i = "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"]; if (i) return (i = i.call(t)).next.bind(i); if (Array.isArray(t) || (i = function (t, e) { if (t) { if ("string" == typeof t) return E(t, e); var i = Object.prototype.toString.call(t).slice(8, -1); return "Object" === i && t.constructor && (i = t.constructor.name), "Map" === i || "Set" === i ? Array.from(t) : "Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i) ? E(t, e) : void 0; } }(t)) || e && t && "number" == typeof t.length) { i && (t = i); var n = 0; return function () { return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function H(t) { return "number" == typeof t; } function D(t) { return "auto" === t || null === t; } function $(t) { return /%$/.test(t); } var Y = p, U = u, N = d, X = g, _ = y, q = w, G = m; function V(t) { return t.replace(/-([a-z])/g, function (t, e) { return e.toUpperCase(); }); } function J(t, e) { var i, n, o = function (t) { var e = t.match(/([a-z]+)/)[1]; return [e, V(t.split(e)[1])]; }(t), s = o[0], a = o[1], h = e.split(" "); if (a) return (i = {})[s + a] = e, i; if (h.length && !a) { var c = h[0], f = h[1], l = h[2], d = h[3]; return (n = {})[s + r[0]] = c, n[s + r[1]] = f || c, n[s + r[2]] = l || c, n[s + r[3]] = d || f || c, n; } } function Q(t) { t = t.trim(); for (var e = new Array(), i = "+", n = "", r = t.length, o = 0; o < r; ++o) { if ("." === t[o] || !isNaN(Number(t[o])) && " " !== t[o]) n += t[o];else if ("(" === t[o]) { for (var s = 1, a = o; s > 0;) { "(" === t[a += 1] && (s += 1), ")" === t[a] && (s -= 1); } n = "".concat(Q(t.slice(o + 1, a))), o = a; } if (isNaN(Number(t[o])) && "." !== t[o] || o === r - 1) { var h = parseFloat(n); switch (i) { case "+": e.push(h); break; case "-": e.push(-h); break; case "*": e.push(e.pop() * h); break; case "/": e.push(e.pop() / h); } i = t[o], n = ""; } } for (var c = 0; e.length;) { c += e.pop(); } return c; } var Z, K = 0, et = function () { function t() { F(this, "elements", []), F(this, "afterElements", []), F(this, "beforeElements", []), F(this, "ids", []), F(this, "width", 0), F(this, "height", 0), F(this, "top", 0), F(this, "left", 0), F(this, "pre", null), F(this, "offsetX", 0), F(this, "offsetY", 0), K++, this.id = K; } var e = t.prototype; return e.fixedBind = function (t, e) { void 0 === e && (e = 0), this.container = e ? t.parent : t.root, this.container.fixedLine = this, this.fixedAdd(t); }, e.fixedAdd = function (t) { if (!this.ids.includes(t.id)) { this.ids.push(t.id), this.elements.push(t); var e = t.computedStyle.zIndex; (void 0 === e ? 0 : e) >= 0 ? this.afterElements.push(t) : this.beforeElements.push(t), this.refreshLayout(); } }, e.bind = function (t) { this.container = t.parent, this.container.line = null, this.container.lines ? (this.container.lines.push(this), this.pre = this.getPreLine(), this.top = this.pre.top + this.pre.height, this.left = this.container.contentSize.left) : (this.top = this.container.contentSize.top, this.left = this.container.contentSize.left, this.container.lines = [this]), this.isInline = t.isInline(), this.container.line = this, this.outerWidth = t.parent && t.parent.contentSize.width ? t.parent.contentSize.width : 1 / 0, this.add(t); }, e.getPreLine = function () { return this.container.lines[this.container.lines.length - 2]; }, e.canIEnter = function (t) { return !((100 * t.offsetSize.width + 100 * this.width) / 100 > this.outerWidth) || (this.closeLine(), !1); }, e.closeLine = function () { delete this.container.line; }, e.add = function (t) { this.ids.includes(t.id) || (this.ids.push(t.id), this.elements.push(t), this.refreshWidthHeight(t)); }, e.refreshWidthHeight = function (t) { t.offsetSize.height > this.height && (this.height = t.offsetSize.height), this.width += t.offsetSize.width || 0, (this.container.lineMaxWidth || 0) < this.width && (this.container.lineMaxWidth = this.width); }, e.refreshXAlign = function () { if (this.isInline) { var t = this.container.contentSize.width - this.width, e = this.container.style.textAlign; "center" === e ? t /= 2 : "left" === e && (t = 0), this.offsetX = t; } }, e.getOffsetY = function (t) { if (!t || !t.style) return 0; var e = (t.style || {}).verticalAlign; return e === s ? this.height - t.contentSize.height : "middle" === e ? (this.height - t.contentSize.height) / 2 : 0; }, e.setIndent = function (t) { var e = t.style.textIndent; if (e && /^calc/.test(e)) { var i = /^calc\((.+)\)$/.exec(e); if (i && i[1]) { var n = i[1].replace(/([^\s\(\+\-\*\/]+)\.(left|right|bottom|top|width|height)/g, function (e) { var i = e.split("."), n = i[0], r = i[1], o = t.parent.querySelector(n); if (o && o.offsetSize) { var s = { right: o.offsetSize.left + o.offsetSize.width, bottom: o.offsetSize.top + o.offsetSize.height }; return o.offsetSize[r] || s[r] || 0; } }), r = Q(n.replace(new RegExp(/-?[0-9]+(\.[0-9]+)?(rpx|px|%)/, "g"), W)); t.style.textIndent = r; } } }, e.layout = function (t, e) { var i = this; this.refreshXAlign(), this.pre ? (this.top = this.pre.top + this.pre.height + this.offsetY, this.left = e + this.offsetX) : (this.top = Math.max(this.top, this.container.contentSize.top, t) + this.offsetY, this.left = Math.max(this.left, this.container.contentSize.left, e) + this.offsetX), this.elements.forEach(function (t, e) { i.setIndent(t); var n = i.elements[e - 1], r = i.getOffsetY(t); t.style.top = i.top + r, t.style.left = n ? n.offsetSize.left + n.offsetSize.width : i.left, t.getBoxPosition(); }); }, e.refreshLayout = function () { this.afterElements = this.afterElements.sort(function (t, e) { return t.computedStyle.zIndex - e.computedStyle.zIndex; }), this.beforeElements = this.beforeElements.sort(function (t, e) { return t.computedStyle.zIndex - e.computedStyle.zIndex; }); }, t; }(), it = ((Z = {})[h] = { width: "width", contentWidth: "width", lineMaxWidth: "lineMaxWidth", left: "left", top: "top", height: "height", lineMaxHeight: "lineMaxHeight", marginLeft: "marginLeft" }, Z[c] = { width: "height", contentWidth: "height", lineMaxWidth: "lineMaxWidth", left: "top", top: "left", height: "width", lineMaxHeight: "lineMaxHeight", marginLeft: "marginTop" }, Z), nt = function (t) { var e, i; function n() { var e; return F(function (t) { if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return t; }(e = t.call(this) || this), "outerWidth", 0), e.exactValue = 0, e.flexTotal = 0, e.width = 0, e.key = null, e.flexDirection = "row", e; } i = t, (e = n).prototype = Object.create(i.prototype), e.prototype.constructor = e, j(e, i); var r = n.prototype; return r.bind = function (t) { this.container = t.parent, this.container.line = this, this.container.lines ? (this.container.lines.push(this), this.pre = this.getPreLine(), this.top = this.pre.top + this.pre.height, this.left = this.container.contentSize.left) : (this.top = this.container.contentSize.top, this.left = this.container.contentSize.left, this.container.lines = [this]), t.parent && (this.flexDirection = t.parent.style.flexDirection, this.key = it[this.flexDirection]), this.initHeight(t), this.outerWidth = t.parent && t.parent.contentSize[this.key.contentWidth] ? t.parent.contentSize[this.key.contentWidth] : 1 / 0, this.add(t); }, r.add = function (t) { this.ids.push(t.id); var e = t.style.flex; H(e) ? this.flexTotal += e : H(this.getWidth(t.style)) && (this.exactValue += this.getWidth(t.offsetSize)), this.elements.push(t), this.refreshWidthHeight(t), t.next || this.closeLine(); }, r.closeLine = function () { this.calcFlex(); }, r.initHeight = function (t) { this[this.key.height] = 0; }, r.getWidth = function (t) { return t[this.key.width] || 0; }, r.getHeight = function (t) { return t[this.key.height] || 0; }, r.setWidth = function (t, e) { t[this.key.width] = e; }, r.setHeight = function (t, e) { t[this.key.height] = e; }, r.calcFlex = function () { var t = this, e = this.container.contentSize[this.key.contentWidth], i = 0; this.elements.forEach(function (n) { var r = n.style, o = n.contentSize, s = t.getWidth(r) || t.getWidth(o); H(r.flex) && (s = r.flex / t.flexTotal * (e - t.exactValue)), t.setWidth(n.computedStyle, s), n.isFlexCalc = !0, delete n.line, delete n.lines, delete n.lineMaxWidth, n.getBoxWidthHeight(), i = Math.max(i, t.getHeight(n.offsetSize)); }), this.setHeight(this, i); }, r.refreshWidthHeight = function (t) { var e = this.container.style.alignItems; e && !t.style.alignSelf && (t.style.alignSelf = e); var i = this.getHeight(t.offsetSize); i > this[this.key.height] && (this.container[this.key.lineMaxHeight] = this[this.key.height] = i), this[this.key.width] += this.getWidth(t.offsetSize); var n = Math.min(this.getWidth(this), !this.getWidth(this.container.contentSize) && 1 / 0); (this.container[this.key.lineMaxWidth] || 0) < n && (this.container[this.key.lineMaxWidth] = n); }, r.refreshXAlign = function () { var t = this, e = this.elements.reduce(function (e, i) { return e + t.getWidth(i.offsetSize); }, 0), i = (this.outerWidth == 1 / 0 ? 0 : this.outerWidth - e) || 0, n = this.container.style.justifyContent; "center" === n ? i /= 2 : "flex-start" === n ? i = 0 : ["space-between", "space-around"].includes(n) && (!function (e, i) { void 0 === i && (i = 0), i /= t.elements.length + (e ? -1 : 1), t.elements.forEach(function (n, r) { var o; e && !r || (n.style.margin ? n.style.margin[t.key.marginLeft] += i : n.style.margin = ((o = {})[t.key.marginLeft] = i, o), n.getBoxPosition()); }), i = 0; }("space-between" == n, i), i = 0), this.offsetX = i || 0, this.refreshYAlign(); }, r.refreshYAlign = function () { var t = this; if (1 == this.container.lines.length) return 0; var e = this.container.lines.reduce(function (e, i) { return e + t.getHeight(i); }, 0), i = this.container.style.alignItems, n = this.getHeight(this.container.contentSize); if ("center" === i) { var r = (n - e) / (this.container.lines.length + 1); this.container.lines.forEach(function (t) { t.offsetY = r; }); } if ("flex-end" === i) { var o = n - e; this.container.lines[0].offsetY = o; } }, r.getOffsetY = function (t) { if (this.container.lines.length > 1) return 0; var e = t.style.alignSelf, i = this.getHeight(this.container.contentSize), n = i - this.getHeight(t.offsetSize); return "flex-end" === e ? n : "center" === e ? n / 2 : "stretch" === e ? (n && t.name == d && (t.style[this.key.width] = this.getWidth(t.offsetSize), t.style[this.key.height] = i, delete t.line, delete t.lines, t.getBoxWidthHeight()), 0) : 0; }, r.layout = function (t, e) { var i = this; this.refreshXAlign(), this.pre ? (this.top = this.pre.top + this.pre.height + this.offsetY, this.left = e + this.offsetX) : (this.top = Math.max(this.top, this.container.contentSize.top, t) + this.offsetY, this.left = Math.max(this.left, this.container.contentSize.left, e) + this.offsetX), this.elements.forEach(function (t, e) { i.setIndent(t); var n = i.elements[e - 1], r = i.getOffsetY(t); t.style[i.key.top] = i[i.key.top] + r, t.style[i.key.left] = n ? n.offsetSize[i.key.left] + i.getWidth(n.offsetSize) : i[i.key.left], t.getBoxPosition(); }); }, n; }(et), rt = p, ot = u, st = d, at = v, ht = y, ct = b, ft = w, lt = m, dt = 0, ut = { left: null, top: null, width: null, height: null }, pt = new Map(), gt = function () { function t(t, e, i, n) { var o = this; F(this, "id", dt++), F(this, "style", { left: null, top: null, width: null, height: null }), F(this, "computedStyle", {}), F(this, "originStyle", {}), F(this, "children", {}), F(this, "layoutBox", A({}, ut)), F(this, "contentSize", A({}, ut)), F(this, "clientSize", A({}, ut)), F(this, "borderSize", A({}, ut)), F(this, "offsetSize", A({}, ut)), this.ctx = n, this.root = i, e && (this.parent = e), this.name = t.type || t.name, this.attributes = this.getAttributes(t); var s = function (t, e) { var i, n = ["color", "fontSize", "lineHeight", "verticalAlign", "fontWeight", "textAlign"], o = t.type, s = void 0 === o ? N : o, a = t.styles, h = void 0 === a ? {} : a, c = (e || {}).computedStyle, f = Object.assign({}, S); if ([U, Y, X].includes(s) && !h.display && (f.display = _), c) for (var l = 0; l < n.length; l++) { var d = n[l]; (h[d] || c[d]) && (h[d] = h[(i = d, i.replace(/([A-Z])/g, "-$1").toLowerCase())] || h[d] || c[d]); } for (var u = function u(t) { var e, i, n, o, a = h[t]; if (/-/.test(t) && (t = V(t), f[t] = a), /^(box|text)?shadow$/i.test(t)) { var c = []; return a.replace(/((-?\d+(rpx|px|vw|vh)?\s+?){3})(.+)/, function () { for (var t = [], e = 0; e < arguments.length; e++) { t[e] = arguments[e]; } c = t[1].match(/-?\d+(rpx|px|vw|vh)?/g).map(function (t) { return W(t); }).concat(t[4]); }), /^text/.test(t) ? f.textShadow = c : f.boxShadow = c, "continue"; } if (/^border/i.test(t) && !/radius$/i.test(t)) { var l = t.match(/^border([BTRLa-z]+)?/)[0], d = t.match(/[W|S|C][a-z]+/), u = a.replace(/([\(,])\s+|\s+([\),])/g, "$1$2").split(" ").map(function (t) { return /^\d/.test(t) ? W(t, "") : t; }); return f[l] || (f[l] = {}), 1 == u.length && d ? f[l][l + d[0]] = u[0] : f[l] = ((e = {})[l + "Width"] = B(u[0]) ? u[0] : 0, e[l + "Style"] = u[1] || "solid", e[l + "Color"] = u[2] || "black", e), "continue"; } if (/^background(color)?$/i.test(t)) return f.backgroundColor = a, "continue"; if (/^objectPosition$/i.test(t)) return f[t] = a.split(" "), "continue"; if (/^backgroundPosition$/i.test(t)) return f[t] = a.split(" "), "continue"; if (/padding|margin|radius/i.test(t)) { var p = /radius$/i.test(t), g = "borderRadius", v = p ? g : t.match(/[a-z]+/)[0], y = function y(t, e) { return "border".concat(t).concat(e, "Radius"); }, x = [0, 0, 0, 0].map(function (t, e) { return p ? [y(r[0], r[3]), y(r[0], r[1]), y(r[2], r[1]), y(r[2], r[3])][e] : v + r[e]; }); if ("padding" === t || "margin" === t || /^(border)?radius$/i.test(t)) { u = "".concat(a).split(" ").map(function (e) { return /^-?\d+(rpx|px|vh|vw)?$/.test(e) ? W(e) : "margin" != t && /auto/.test(e) ? 0 : e; }, []) || [0]; var b = p ? g : t, w = u[0], m = u[1], S = u[2], z = u[3]; f[b] = ((i = {})[x[0]] = D(w) ? 0 : w, i[x[1]] = B(m) || D(m) ? m : w, i[x[2]] = D(B(S) ? S : w) ? 0 : B(S) ? S : w, i[x[3]] = B(z) ? z : null != m ? m : w, i); } else "object" == (0, _typeof2.default)(f[v]) || (f[v] = ((n = {})[x[0]] = f[v] || 0, n[x[1]] = f[v] || 0, n[x[2]] = f[v] || 0, n[x[3]] = f[v] || 0, n)), f[v][t] = "margin" == v && D(a) || $(a) ? a : W(a); return "continue"; } if (/^transform$/i.test(t)) return f[t] = {}, a.replace(/([a-zA-Z]+)\(([0-9,-\.%rpxdeg\s]+)\)/g, function (e, i, n) { var r = n.split(",").map(function (t) { return t.replace(/(^\s*)|(\s*$)/g, ""); }), o = function o(t, e) { return t.includes("deg") ? 1 * t : e && !$(e) ? W(t, e) : t; }; i.includes("matrix") ? f[t][i] = r.map(function (t) { return 1 * t; }) : i.includes("rotate") ? f[t][i] = 1 * n.match(/^-?\d+(\.\d+)?/)[0] : /[X, Y]/.test(i) ? f[t][i] = /[X]/.test(i) ? o(r[0], h.width) : o(r[0], h.height) : (f[t][i + "X"] = o(r[0], h.width), f[t][i + "Y"] = o(r[1] || r[0], h.height)); }), "continue"; if (/^font$/i.test(t) && console.warn("font 不支持简写"), /^textindent/i.test(t) && (f[t] = /^calc/.test(a) ? a : W(a)), /^textstroke/i.test(t)) { var I = t.match(/color|width|type$/i), M = (l = "textStroke", a.split(" ").map(function (t) { return /^\d+(rpx|px|vh|vw)?$/.test(t) ? W(t) : t; })); return I ? f[l] ? f[l][I[0]] = M[0] : f[l] = ((o = {})[I[0]] = M[0], o) : f[l] = { width: M[0], color: M[1], type: M[2] }, "continue"; } /^left|top$/i.test(t) && ![q, G].includes(h.position) ? f[t] = 0 : f[t] = /^-?[\d\.]+(px|rpx|vw|vh)?$/.test(a) ? W(a) : /em$/.test(a) && s == U ? W(a, h.fontSize) : a; }, p = 0, g = Object.keys(h); p < g.length; p++) { u(g[p]); } return f; }(t, e); this.isAbsolute = s.position == ft, this.isFixed = s.position == lt, this.originStyle = s, this.styles = t.styles, Object.keys(s).forEach(function (t) { Object.defineProperty(o.style, t, { configurable: !0, enumerable: !0, get: function get() { return s[t]; }, set: function set(e) { s[t] = e; } }); }); var a = { contentSize: A({}, this.contentSize), clientSize: A({}, this.clientSize), borderSize: A({}, this.borderSize), offsetSize: A({}, this.offsetSize) }; Object.keys(a).forEach(function (t) { Object.keys(o[t]).forEach(function (e) { Object.defineProperty(o[t], e, { configurable: !0, enumerable: !0, get: function get() { return a[t][e]; }, set: function set(i) { a[t][e] = i; } }); }); }), this.computedStyle = this.style; } var e = t.prototype; return e.add = function (t) { t.parent = this, this.children[t.id] = t; }, e.getChildren = function () { var t = this; return Object.keys(this.children).map(function (e) { return t.children[e]; }); }, e.prev = function (t) { void 0 === t && (t = this); var e = t.parent.getChildren(); return e[e.findIndex(function (e) { return e.id == t.id; }) - 1]; }, e.querySelector = function (t) { var e = this.getChildren(); if ("string" != typeof t) return null; var i = e.find(function (e) { var i = e.id, n = e.attributes; return i == t || n && n.uid == t; }); return i || this.parent && this.parent.querySelector && this.parent.querySelector(t) || null; }, e.getLineRect = function (t, e) { var i = { width: 0, height: 0 }, n = e ? e.lines : this.parent && this.parent.lines; return n && n.find(function (e) { return e.ids.includes(t); }) || i; }, e.setPosition = function (t, e) { var i = { left: "width", top: "height", right: "width", bottom: "height" }; Object.keys(i).forEach(function (n) { var r = n == o ? "left" : "top"; [o, s].includes(n) && void 0 !== t.style[n] && !B(t.originStyle[r]) ? t.style[r] = e[i[n]] - t.offsetSize[i[n]] - W(t.style[n], e[i[n]]) : t.style[n] = W(t.style[n], e[i[n]]); }); }, e.getAttributes = function (t) { var e = t.attributes, i = void 0 === e ? {} : e, n = t.uid, r = t.url, o = t.src, s = t.replace, a = t.text; return n && (i.uid = n), (r || o) && (i.src = i.src || r || o), s && (i.replace = s), a && (i.text = a), i; }, e.getOffsetSize = function (t, e, i) { void 0 === i && (i = a[3]); var n = e || {}, r = n.margin, o = (r = void 0 === r ? {} : r).marginLeft, s = void 0 === o ? 0 : o, h = r.marginTop, c = void 0 === h ? 0 : h, f = r.marginRight, l = void 0 === f ? 0 : f, d = r.marginBottom, u = void 0 === d ? 0 : d, p = n.padding, g = (p = void 0 === p ? {} : p).paddingLeft, v = void 0 === g ? 0 : g, y = p.paddingTop, x = void 0 === y ? 0 : y, b = p.paddingRight, w = void 0 === b ? 0 : b, m = p.paddingBottom, S = void 0 === m ? 0 : m, z = n.border, I = (z = void 0 === z ? {} : z).borderWidth, M = void 0 === I ? 0 : I, k = n.borderTop, B = (k = void 0 === k ? {} : k).borderTopWidth, W = void 0 === B ? M : B, P = n.borderBottom, O = (P = void 0 === P ? {} : P).borderBottomWidth, T = void 0 === O ? M : O, L = n.borderRight, R = (L = void 0 === L ? {} : L).borderRightWidth, F = void 0 === R ? M : R, A = n.borderLeft, j = (A = void 0 === A ? {} : A).borderLeftWidth, E = void 0 === j ? M : j, C = s < 0 && l < 0 ? Math.abs(s + l) : 0, H = c < 0 && u < 0 ? Math.abs(c + u) : 0, D = s >= 0 && l < 0, $ = c >= 0 && u < 0; return i == a[0] && (this[i].left = t.left + s + v + E + (D ? 2 * -l : 0), this[i].top = t.top + c + x + W + ($ ? 2 * -u : 0), this[i].width = t.width + (this[i].widthAdd ? 0 : C), this[i].height = t.height + (this[i].heightAdd ? 0 : H), this[i].widthAdd = C, this[i].heightAdd = H), i == a[1] && (this[i].left = t.left + s + E + (D < 0 ? -l : 0), this[i].top = t.top + c + W + ($ ? -u : 0), this[i].width = t.width + v + w, this[i].height = t.height + x + S), i == a[2] && (this[i].left = t.left + s + E / 2 + (D < 0 ? -l : 0), this[i].top = t.top + c + W / 2 + ($ ? -u : 0), this[i].width = t.width + v + w + E / 2 + F / 2, this[i].height = t.height + x + S + T / 2 + W / 2), i == a[3] && (this[i].left = t.left + (D < 0 ? -l : 0), this[i].top = t.top + ($ ? -u : 0), this[i].width = t.width + v + w + E + F + s + l, this[i].height = t.height + x + S + T + W + u + c), this[i]; }, e.layoutBoxUpdate = function (t, e, i, n) { var r = this; if (void 0 === i && (i = -1), "border-box" == e.boxSizing) { var o = e || {}, s = o.border, h = (s = void 0 === s ? {} : s).borderWidth, c = void 0 === h ? 0 : h, f = o.borderTop, l = (f = void 0 === f ? {} : f).borderTopWidth, d = void 0 === l ? c : l, u = o.borderBottom, p = (u = void 0 === u ? {} : u).borderBottomWidth, g = void 0 === p ? c : p, v = o.borderRight, y = (v = void 0 === v ? {} : v).borderRightWidth, x = void 0 === y ? c : y, b = o.borderLeft, w = (b = void 0 === b ? {} : b).borderLeftWidth, m = void 0 === w ? c : w, S = o.padding, z = (S = void 0 === S ? {} : S).paddingTop, I = void 0 === z ? 0 : z, M = S.paddingRight, k = void 0 === M ? 0 : M, B = S.paddingBottom, W = void 0 === B ? 0 : B, P = S.paddingLeft, O = void 0 === P ? 0 : P; i || (t.width -= O + k + x + m), 1 !== i || n || (t.height -= I + W + d + g); } this.layoutBox && (a.forEach(function (i) { return r.layoutBox[i] = r.getOffsetSize(t, e, i); }), this.layoutBox = Object.assign({}, this.layoutBox, this.layoutBox.borderSize)); }, e.getBoxPosition = function () { var t = this.computedStyle, e = this.fixedLine, i = this.lines, n = t.left, r = void 0 === n ? 0 : n, o = t.top, s = void 0 === o ? 0 : o, a = A({}, this.contentSize, { left: r, top: s }), h = this.contentSize.top - this.offsetSize.top, c = this.contentSize.left - this.offsetSize.left; if (this.root.fixedLine && !this.root.isDone) { this.root.isDone = !0; for (var f, l = C(this.root.fixedLine.elements); !(f = l()).done;) { var d = f.value; d.setPosition(d, this.root.offsetSize), d.getBoxPosition(); } } if (e) for (var u, p = C(e.elements); !(u = p()).done;) { var g = u.value, v = A({}, this.borderSize, { left: r, top: s }); g.setPosition(g, v); var y = this.borderSize.top - this.offsetSize.top, x = this.borderSize.left - this.offsetSize.left; g.style.left += r + x, g.style.top += s + y, g.getBoxPosition(); } if (i) for (var b, w = C(i); !(b = w()).done;) { b.value.layout(a.top + h, a.left + c); } return this.layoutBoxUpdate(a, t), this.layoutBox; }, e.getBoxState = function (t, e) { return this.isBlock(t) || this.isBlock(e); }, e.isBlock = function (t) { return void 0 === t && (t = this), t && t.style.display == at; }, e.isFlex = function (t) { return void 0 === t && (t = this), t && t.style.display == ct; }, e.isInFlow = function () { return !(this.isAbsolute || this.isFixed); }, e.inFlexBox = function (t) { return void 0 === t && (t = this), !!t.isInFlow() && !!t.parent && (!(!t.parent || t.parent.style.display !== ct) || void 0); }, e.isInline = function (t) { return void 0 === t && (t = this), t && t.style.display == ht; }, e.contrastSize = function (t, e, i) { var n = t; return i && (n = Math.min(n, i)), e && (n = Math.max(n, e)), n; }, e.measureText = function (t, e) { var i = this.ctx.measureText(t), n = i.width, r = i.actualBoundingBoxAscent, o = i.actualBoundingBoxDescent; return { ascent: r, descent: o, width: n, fontHeight: r + o || .7 * e + 1 }; }, e.getParentSize = function (t, e) { if (void 0 === t && (t = this), void 0 === e && (e = !1), t && t.parent) { if (t.parent.contentSize.width) return t.parent.contentSize; if (e) return this.getParentSize(t.parent, e); } return null; }, e.getBoxWidthHeight = function () { var t = this, e = this.name, i = this.computedStyle, n = this.attributes, r = this.parent, o = void 0 === r ? {} : r, s = this.ctx, a = this.getChildren(), h = i.left, c = void 0 === h ? 0 : h, f = i.top, l = void 0 === f ? 0 : f, d = i.bottom, u = i.right, p = i.width, g = void 0 === p ? 0 : p, v = i.minWidth, y = i.maxWidth, x = i.minHeight, b = i.maxHeight, w = i.height, m = void 0 === w ? 0 : w, S = i.fontSize, z = i.fontWeight, I = i.fontFamily, M = i.fontStyle, k = i.position; i.textIndent; var B = i.lineClamp, P = i.lineHeight, O = i.padding, T = void 0 === O ? {} : O, L = i.margin, R = void 0 === L ? {} : L, F = i.border, A = (F = void 0 === F ? {} : F).borderWidth, j = void 0 === A ? 0 : A, E = i.borderRight, C = (E = void 0 === E ? {} : E).borderRightWidth, H = void 0 === C ? j : C, Y = i.borderLeft, U = (Y = void 0 === Y ? {} : Y).borderLeftWidth, N = void 0 === U ? j : U, X = o.contentSize && o.contentSize.width, _ = o.contentSize && o.contentSize.height; if ($(g) && X && (g = W(g, X)), $(g) && !X && (g = null), $(m) && _ && (m = W(m, _)), $(m) && !_ && (m = null), $(v) && X && (v = W(v, X)), $(y) && X && (y = W(y, X)), $(x) && _ && (x = W(x, _)), $(b) && _ && (b = W(b, _)), i.padding && X) for (var q in i.padding) { Object.hasOwnProperty.call(T, q) && (T[q] = W(T[q], X)); } var G = T.paddingRight, V = void 0 === G ? 0 : G, J = T.paddingLeft, Q = void 0 === J ? 0 : J; if (i.margin && [R.marginLeft, R.marginRight].includes("auto")) if (g) { var Z = X && X - g - V - Q - N - H || 0; R.marginLeft == R.marginRight ? R.marginLeft = R.marginRight = Z / 2 : D(R.marginLeft) ? R.marginLeft = Z : R.marginRight = Z; } else R.marginLeft = R.marginRight = 0; var K = R.marginRight, tt = void 0 === K ? 0 : K, it = R.marginLeft, at = { width: g, height: m, left: 0, top: 0 }, ht = Q + V + N + H + (void 0 === it ? 0 : it) + tt; if (this.offsetWidth = ht, e == ot && !this.attributes.widths) { var ct = n.text || ""; s.save(), s.setFonts({ fontFamily: I, fontSize: S, fontWeight: z, fontStyle: M }), ct.length, "\n" == ct && (ct = "", this.isBr = !0), ("" + ct).split("\n").map(function (e) { var i = Array.from(e).map(function (e) { var i = "" + (/^[\u4e00-\u9fa5]+$/.test(e) ? "cn" : e) + I + S + z + M, n = pt.get(i); if (n) return { width: n, text: e }; var r = t.measureText(e, S).width; return pt.set(i, r), { width: r, text: e }; }), n = t.measureText(e, S), r = n.fontHeight, o = n.ascent, s = n.descent; t.attributes.fontHeight = r, t.attributes.ascent = o, t.attributes.descent = s, t.attributes.widths || (t.attributes.widths = []), t.attributes.widths.push({ widths: i, total: i.reduce(function (t, e) { return t + e.width; }, 0) }); }), s.restore(); } if (e == rt && null == g) { var lt = n.width, dt = n.height; at.width = this.contrastSize(Math.round(lt * m / dt) || 0, v, y), this.layoutBoxUpdate(at, i, 0); } if (e == ot && null == g) { var ut = this.attributes.widths, gt = Math.max.apply(Math, ut.map(function (t) { return t.total; })); if (o && X > 0 && (gt > X || this.isBlock(this)) && !this.isAbsolute && !this.isFixed) gt = X; at.width = this.contrastSize(gt, v, y), this.layoutBoxUpdate(at, i, 0); } if (e == ot && (o.style.flex || !this.attributes.lines)) { var vt = this.attributes.widths.length; this.attributes.widths.forEach(function (t) { return t.widths.reduce(function (t, e, i) { return t + e.width > at.width ? (vt++, e.width) : t + e.width; }, 0); }), vt = B && vt > B ? B : vt, this.attributes.lines = vt; } if (e == rt && null == m) { var yt = n.width, xt = n.height; n.text, at.height = this.contrastSize(W(at.width * xt / yt) || 0, x, b), this.layoutBoxUpdate(at, i, 1); } e == ot && null == m && (P = W(P, S), at.height = this.contrastSize(W(this.attributes.lines * P), x, b), this.layoutBoxUpdate(at, i, 1, !0)), !g && o && o.children && X && (!this.isFlex(o) || o.isFlexCalc) && ([st, ot].includes(e) && this.isFlex() || e == st && this.isBlock(this) && this.isInFlow()) && (at.width = this.contrastSize(X - (o.isFlexCalc ? 0 : ht), v, y), this.layoutBoxUpdate(at, i)), g && !$(g) && (at.width = this.contrastSize(g, v, y), this.layoutBoxUpdate(at, i, 0)), m && !$(m) && (at.height = this.contrastSize(at.height, x, b), this.layoutBoxUpdate(at, i, 1)); var bt = 0; if (a.length) { var wt = null, mt = !1; a.forEach(function (e, n) { e.getBoxWidthHeight(); var r = a[n + 1]; if (r && r.isInFlow() && (e.next = r), !t.line || !t.line.ids.includes(e.id)) if (e.isInFlow() && !e.inFlexBox()) { var o = t.getBoxState(wt, e); if (e.isBr) return mt = !0; t.line && t.line.canIEnter(e) && !o && !mt ? t.line.add(e) : (mt = !1, new et().bind(e)), wt = e; } else e.inFlexBox() ? t.line && (t.line.canIEnter(e) || "nowrap" == i.flexWrap) ? t.line.add(e) : new nt().bind(e) : e.isFixed ? t.root.fixedLine ? t.root.fixedLine.fixedAdd(e) : new et().fixedBind(e) : t.fixedLine ? t.fixedLine.fixedAdd(e) : new et().fixedBind(e, 1); }), this.lines && (bt = this.lines.reduce(function (t, e) { return t + e.height; }, 0)); } var St = 0, zt = 0; if (!g && (this.isAbsolute || this.isFixed) && X) { var It = k == ft ? X : this.root.width, Mt = It - ($(c) ? W(c, It) : c) - ($(u) ? W(u, It) : u); St = i.left ? Mt : this.lineMaxWidth; } if (!m && (null != l ? l : this.isAbsolute || this.isFixed && _)) { var kt = k == ft ? _ : this.root.height, Bt = kt - ($(l) ? W(l, kt) : l) - ($(d) ? W(d, kt) : d); zt = i.top ? Bt : 0; } if (g && !$(g) || at.width || (at.width = St || this.contrastSize((this.isBlock(this) && !this.isInFlow() ? X || o.lineMaxWidth : this.lineMaxWidth) || this.lineMaxWidth, v, y), this.layoutBoxUpdate(at, i, 0)), m || !bt && !zt || (at.height = zt || this.contrastSize(bt, x, b), this.layoutBoxUpdate(at, i)), i.borderRadius && this.borderSize && this.borderSize.width) for (var q in i.borderRadius) { Object.hasOwnProperty.call(i.borderRadius, q) && (i.borderRadius[q] = W(i.borderRadius[q], this.borderSize.width)); } return this.layoutBox; }, e.layout = function () { return this.getBoxWidthHeight(), this.root.offsetSize = this.offsetSize, this.root.contentSize = this.contentSize, this.getBoxPosition(), this.offsetSize; }, t; }(), vt = function () { var t, e, i, n, r, o, s = [0, 11, 15, 19, 23, 27, 31, 16, 18, 20, 22, 24, 26, 28, 20, 22, 24, 24, 26, 28, 28, 22, 24, 24, 26, 26, 28, 28, 24, 24, 26, 26, 26, 28, 28, 24, 26, 26, 26, 28, 28], a = [3220, 1468, 2713, 1235, 3062, 1890, 2119, 1549, 2344, 2936, 1117, 2583, 1330, 2470, 1667, 2249, 2028, 3780, 481, 4011, 142, 3098, 831, 3445, 592, 2517, 1776, 2234, 1951, 2827, 1070, 2660, 1345, 3177], h = [30660, 29427, 32170, 30877, 26159, 25368, 27713, 26998, 21522, 20773, 24188, 23371, 17913, 16590, 20375, 19104, 13663, 12392, 16177, 14854, 9396, 8579, 11994, 11245, 5769, 5054, 7399, 6608, 1890, 597, 3340, 2107], c = [1, 0, 19, 7, 1, 0, 16, 10, 1, 0, 13, 13, 1, 0, 9, 17, 1, 0, 34, 10, 1, 0, 28, 16, 1, 0, 22, 22, 1, 0, 16, 28, 1, 0, 55, 15, 1, 0, 44, 26, 2, 0, 17, 18, 2, 0, 13, 22, 1, 0, 80, 20, 2, 0, 32, 18, 2, 0, 24, 26, 4, 0, 9, 16, 1, 0, 108, 26, 2, 0, 43, 24, 2, 2, 15, 18, 2, 2, 11, 22, 2, 0, 68, 18, 4, 0, 27, 16, 4, 0, 19, 24, 4, 0, 15, 28, 2, 0, 78, 20, 4, 0, 31, 18, 2, 4, 14, 18, 4, 1, 13, 26, 2, 0, 97, 24, 2, 2, 38, 22, 4, 2, 18, 22, 4, 2, 14, 26, 2, 0, 116, 30, 3, 2, 36, 22, 4, 4, 16, 20, 4, 4, 12, 24, 2, 2, 68, 18, 4, 1, 43, 26, 6, 2, 19, 24, 6, 2, 15, 28, 4, 0, 81, 20, 1, 4, 50, 30, 4, 4, 22, 28, 3, 8, 12, 24, 2, 2, 92, 24, 6, 2, 36, 22, 4, 6, 20, 26, 7, 4, 14, 28, 4, 0, 107, 26, 8, 1, 37, 22, 8, 4, 20, 24, 12, 4, 11, 22, 3, 1, 115, 30, 4, 5, 40, 24, 11, 5, 16, 20, 11, 5, 12, 24, 5, 1, 87, 22, 5, 5, 41, 24, 5, 7, 24, 30, 11, 7, 12, 24, 5, 1, 98, 24, 7, 3, 45, 28, 15, 2, 19, 24, 3, 13, 15, 30, 1, 5, 107, 28, 10, 1, 46, 28, 1, 15, 22, 28, 2, 17, 14, 28, 5, 1, 120, 30, 9, 4, 43, 26, 17, 1, 22, 28, 2, 19, 14, 28, 3, 4, 113, 28, 3, 11, 44, 26, 17, 4, 21, 26, 9, 16, 13, 26, 3, 5, 107, 28, 3, 13, 41, 26, 15, 5, 24, 30, 15, 10, 15, 28, 4, 4, 116, 28, 17, 0, 42, 26, 17, 6, 22, 28, 19, 6, 16, 30, 2, 7, 111, 28, 17, 0, 46, 28, 7, 16, 24, 30, 34, 0, 13, 24, 4, 5, 121, 30, 4, 14, 47, 28, 11, 14, 24, 30, 16, 14, 15, 30, 6, 4, 117, 30, 6, 14, 45, 28, 11, 16, 24, 30, 30, 2, 16, 30, 8, 4, 106, 26, 8, 13, 47, 28, 7, 22, 24, 30, 22, 13, 15, 30, 10, 2, 114, 28, 19, 4, 46, 28, 28, 6, 22, 28, 33, 4, 16, 30, 8, 4, 122, 30, 22, 3, 45, 28, 8, 26, 23, 30, 12, 28, 15, 30, 3, 10, 117, 30, 3, 23, 45, 28, 4, 31, 24, 30, 11, 31, 15, 30, 7, 7, 116, 30, 21, 7, 45, 28, 1, 37, 23, 30, 19, 26, 15, 30, 5, 10, 115, 30, 19, 10, 47, 28, 15, 25, 24, 30, 23, 25, 15, 30, 13, 3, 115, 30, 2, 29, 46, 28, 42, 1, 24, 30, 23, 28, 15, 30, 17, 0, 115, 30, 10, 23, 46, 28, 10, 35, 24, 30, 19, 35, 15, 30, 17, 1, 115, 30, 14, 21, 46, 28, 29, 19, 24, 30, 11, 46, 15, 30, 13, 6, 115, 30, 14, 23, 46, 28, 44, 7, 24, 30, 59, 1, 16, 30, 12, 7, 121, 30, 12, 26, 47, 28, 39, 14, 24, 30, 22, 41, 15, 30, 6, 14, 121, 30, 6, 34, 47, 28, 46, 10, 24, 30, 2, 64, 15, 30, 17, 4, 122, 30, 29, 14, 46, 28, 49, 10, 24, 30, 24, 46, 15, 30, 4, 18, 122, 30, 13, 32, 46, 28, 48, 14, 24, 30, 42, 32, 15, 30, 20, 4, 117, 30, 40, 7, 47, 28, 43, 22, 24, 30, 10, 67, 15, 30, 19, 6, 118, 30, 18, 31, 47, 28, 34, 34, 24, 30, 20, 61, 15, 30], f = [255, 0, 1, 25, 2, 50, 26, 198, 3, 223, 51, 238, 27, 104, 199, 75, 4, 100, 224, 14, 52, 141, 239, 129, 28, 193, 105, 248, 200, 8, 76, 113, 5, 138, 101, 47, 225, 36, 15, 33, 53, 147, 142, 218, 240, 18, 130, 69, 29, 181, 194, 125, 106, 39, 249, 185, 201, 154, 9, 120, 77, 228, 114, 166, 6, 191, 139, 98, 102, 221, 48, 253, 226, 152, 37, 179, 16, 145, 34, 136, 54, 208, 148, 206, 143, 150, 219, 189, 241, 210, 19, 92, 131, 56, 70, 64, 30, 66, 182, 163, 195, 72, 126, 110, 107, 58, 40, 84, 250, 133, 186, 61, 202, 94, 155, 159, 10, 21, 121, 43, 78, 212, 229, 172, 115, 243, 167, 87, 7, 112, 192, 247, 140, 128, 99, 13, 103, 74, 222, 237, 49, 197, 254, 24, 227, 165, 153, 119, 38, 184, 180, 124, 17, 68, 146, 217, 35, 32, 137, 46, 55, 63, 209, 91, 149, 188, 207, 205, 144, 135, 151, 178, 220, 252, 190, 97, 242, 86, 211, 171, 20, 42, 93, 158, 132, 60, 57, 83, 71, 109, 65, 162, 31, 45, 67, 216, 183, 123, 164, 118, 196, 23, 73, 236, 127, 12, 111, 246, 108, 161, 59, 82, 41, 157, 85, 170, 251, 96, 134, 177, 187, 204, 62, 90, 203, 89, 95, 176, 156, 169, 160, 81, 11, 245, 22, 235, 122, 117, 44, 215, 79, 174, 213, 233, 230, 231, 173, 232, 116, 214, 244, 234, 168, 80, 88, 175], l = [1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 116, 232, 205, 135, 19, 38, 76, 152, 45, 90, 180, 117, 234, 201, 143, 3, 6, 12, 24, 48, 96, 192, 157, 39, 78, 156, 37, 74, 148, 53, 106, 212, 181, 119, 238, 193, 159, 35, 70, 140, 5, 10, 20, 40, 80, 160, 93, 186, 105, 210, 185, 111, 222, 161, 95, 190, 97, 194, 153, 47, 94, 188, 101, 202, 137, 15, 30, 60, 120, 240, 253, 231, 211, 187, 107, 214, 177, 127, 254, 225, 223, 163, 91, 182, 113, 226, 217, 175, 67, 134, 17, 34, 68, 136, 13, 26, 52, 104, 208, 189, 103, 206, 129, 31, 62, 124, 248, 237, 199, 147, 59, 118, 236, 197, 151, 51, 102, 204, 133, 23, 46, 92, 184, 109, 218, 169, 79, 158, 33, 66, 132, 21, 42, 84, 168, 77, 154, 41, 82, 164, 85, 170, 73, 146, 57, 114, 228, 213, 183, 115, 230, 209, 191, 99, 198, 145, 63, 126, 252, 229, 215, 179, 123, 246, 241, 255, 227, 219, 171, 75, 150, 49, 98, 196, 149, 55, 110, 220, 165, 87, 174, 65, 130, 25, 50, 100, 200, 141, 7, 14, 28, 56, 112, 224, 221, 167, 83, 166, 81, 162, 89, 178, 121, 242, 249, 239, 195, 155, 43, 86, 172, 69, 138, 9, 18, 36, 72, 144, 61, 122, 244, 245, 247, 243, 251, 235, 203, 139, 11, 22, 44, 88, 176, 125, 250, 233, 207, 131, 27, 54, 108, 216, 173, 71, 142, 0], d = [], u = [], p = [], g = [], v = [], y = 2; function x(t, e) { var i; t > e && (i = t, t = e, e = i), i = e, i *= e, i += e, i >>= 1, g[i += t] = 1; } function b(t, i) { var n; for (p[t + e * i] = 1, n = -2; n < 2; n++) { p[t + n + e * (i - 2)] = 1, p[t - 2 + e * (i + n + 1)] = 1, p[t + 2 + e * (i + n)] = 1, p[t + n + 1 + e * (i + 2)] = 1; } for (n = 0; n < 2; n++) { x(t - 1, i + n), x(t + 1, i - n), x(t - n, i - 1), x(t + n, i + 1); } } function w(t) { for (; t >= 255;) { t = ((t -= 255) >> 8) + (255 & t); } return t; } var m = []; function S(t, e, i, n) { var r, o, s; for (r = 0; r < n; r++) { d[i + r] = 0; } for (r = 0; r < e; r++) { if (255 != (s = f[d[t + r] ^ d[i]])) for (o = 1; o < n; o++) { d[i + o - 1] = d[i + o] ^ l[w(s + m[n - o])]; } else for (o = i; o < i + n; o++) { d[o] = d[o + 1]; } d[i + n - 1] = 255 == s ? 0 : l[w(s + m[0])]; } } function z(t, e) { var i; return t > e && (i = t, t = e, e = i), i = e, i += e * e, i >>= 1, g[i += t]; } function I(t) { var i, n, r, o; switch (t) { case 0: for (n = 0; n < e; n++) { for (i = 0; i < e; i++) { i + n & 1 || z(i, n) || (p[i + n * e] ^= 1); } } break; case 1: for (n = 0; n < e; n++) { for (i = 0; i < e; i++) { 1 & n || z(i, n) || (p[i + n * e] ^= 1); } } break; case 2: for (n = 0; n < e; n++) { for (r = 0, i = 0; i < e; i++, r++) { 3 == r && (r = 0), r || z(i, n) || (p[i + n * e] ^= 1); } } break; case 3: for (o = 0, n = 0; n < e; n++, o++) { for (3 == o && (o = 0), r = o, i = 0; i < e; i++, r++) { 3 == r && (r = 0), r || z(i, n) || (p[i + n * e] ^= 1); } } break; case 4: for (n = 0; n < e; n++) { for (r = 0, o = n >> 1 & 1, i = 0; i < e; i++, r++) { 3 == r && (r = 0, o = !o), o || z(i, n) || (p[i + n * e] ^= 1); } } break; case 5: for (o = 0, n = 0; n < e; n++, o++) { for (3 == o && (o = 0), r = 0, i = 0; i < e; i++, r++) { 3 == r && (r = 0), (i & n & 1) + !(!r | !o) || z(i, n) || (p[i + n * e] ^= 1); } } break; case 6: for (o = 0, n = 0; n < e; n++, o++) { for (3 == o && (o = 0), r = 0, i = 0; i < e; i++, r++) { 3 == r && (r = 0), (i & n & 1) + (r && r == o) & 1 || z(i, n) || (p[i + n * e] ^= 1); } } break; case 7: for (o = 0, n = 0; n < e; n++, o++) { for (3 == o && (o = 0), r = 0, i = 0; i < e; i++, r++) { 3 == r && (r = 0), (r && r == o) + (i + n & 1) & 1 || z(i, n) || (p[i + n * e] ^= 1); } } } } function M(t) { var e, i = 0; for (e = 0; e <= t; e++) { v[e] >= 5 && (i += 3 + v[e] - 5); } for (e = 3; e < t - 1; e += 2) { v[e - 2] == v[e + 2] && v[e + 2] == v[e - 1] && v[e - 1] == v[e + 1] && 3 * v[e - 1] == v[e] && (0 == v[e - 3] || e + 3 > t || 3 * v[e - 3] >= 4 * v[e] || 3 * v[e + 3] >= 4 * v[e]) && (i += 40); } return i; } function k() { var t, i, n, r, o, s = 0, a = 0; for (i = 0; i < e - 1; i++) { for (t = 0; t < e - 1; t++) { (p[t + e * i] && p[t + 1 + e * i] && p[t + e * (i + 1)] && p[t + 1 + e * (i + 1)] || !(p[t + e * i] || p[t + 1 + e * i] || p[t + e * (i + 1)] || p[t + 1 + e * (i + 1)])) && (s += 3); } } for (i = 0; i < e; i++) { for (v[0] = 0, n = r = t = 0; t < e; t++) { (o = p[t + e * i]) == r ? v[n]++ : v[++n] = 1, a += (r = o) ? 1 : -1; } s += M(n); } a < 0 && (a = -a); var h = a, c = 0; for (h += h << 2, h <<= 1; h > e * e;) { h -= e * e, c++; } for (s += 10 * c, t = 0; t < e; t++) { for (v[0] = 0, n = r = i = 0; i < e; i++) { (o = p[t + e * i]) == r ? v[n]++ : v[++n] = 1, r = o; } s += M(n); } return s; } var B = null; return { api: { get ecclevel() { return y; }, set ecclevel(t) { y = t; }, get size() { return _size; }, set size(t) { _size = t; }, get canvas() { return B; }, set canvas(t) { B = t; }, getFrame: function getFrame(v) { return function (v) { var M, B, W, P, O, T, L, R; P = v.length, t = 0; do { if (t++, W = 4 * (y - 1) + 16 * (t - 1), i = c[W++], n = c[W++], r = c[W++], o = c[W], P <= (W = r * (i + n) + n - 3 + (t <= 9))) break; } while (t < 40); for (e = 17 + 4 * t, O = r + (r + o) * (i + n) + n, P = 0; P < O; P++) { u[P] = 0; } for (d = v.slice(0), P = 0; P < e * e; P++) { p[P] = 0; } for (P = 0; P < (e * (e + 1) + 1) / 2; P++) { g[P] = 0; } for (P = 0; P < 3; P++) { for (W = 0, B = 0, 1 == P && (W = e - 7), 2 == P && (B = e - 7), p[B + 3 + e * (W + 3)] = 1, M = 0; M < 6; M++) { p[B + M + e * W] = 1, p[B + e * (W + M + 1)] = 1, p[B + 6 + e * (W + M)] = 1, p[B + M + 1 + e * (W + 6)] = 1; } for (M = 1; M < 5; M++) { x(B + M, W + 1), x(B + 1, W + M + 1), x(B + 5, W + M), x(B + M + 1, W + 5); } for (M = 2; M < 4; M++) { p[B + M + e * (W + 2)] = 1, p[B + 2 + e * (W + M + 1)] = 1, p[B + 4 + e * (W + M)] = 1, p[B + M + 1 + e * (W + 4)] = 1; } } if (t > 1) for (P = s[t], B = e - 7;;) { for (M = e - 7; M > P - 3 && (b(M, B), !(M < P));) { M -= P; } if (B <= P + 9) break; b(6, B -= P), b(B, 6); } for (p[8 + e * (e - 8)] = 1, B = 0; B < 7; B++) { x(7, B), x(e - 8, B), x(7, B + e - 7); } for (M = 0; M < 8; M++) { x(M, 7), x(M + e - 8, 7), x(M, e - 8); } for (M = 0; M < 9; M++) { x(M, 8); } for (M = 0; M < 8; M++) { x(M + e - 8, 8), x(8, M); } for (B = 0; B < 7; B++) { x(8, B + e - 7); } for (M = 0; M < e - 14; M++) { 1 & M ? (x(8 + M, 6), x(6, 8 + M)) : (p[8 + M + 6 * e] = 1, p[6 + e * (8 + M)] = 1); } if (t > 6) for (P = a[t - 7], W = 17, M = 0; M < 6; M++) { for (B = 0; B < 3; B++, W--) { 1 & (W > 11 ? t >> W - 12 : P >> W) ? (p[5 - M + e * (2 - B + e - 11)] = 1, p[2 - B + e - 11 + e * (5 - M)] = 1) : (x(5 - M, 2 - B + e - 11), x(2 - B + e - 11, 5 - M)); } } for (B = 0; B < e; B++) { for (M = 0; M <= B; M++) { p[M + e * B] && x(M, B); } } for (O = d.length, T = 0; T < O; T++) { u[T] = d.charCodeAt(T); } if (d = u.slice(0), O >= (M = r * (i + n) + n) - 2 && (O = M - 2, t > 9 && O--), T = O, t > 9) { for (d[T + 2] = 0, d[T + 3] = 0; T--;) { P = d[T], d[T + 3] |= 255 & P << 4, d[T + 2] = P >> 4; } d[2] |= 255 & O << 4, d[1] = O >> 4, d[0] = 64 | O >> 12; } else { for (d[T + 1] = 0, d[T + 2] = 0; T--;) { P = d[T], d[T + 2] |= 255 & P << 4, d[T + 1] = P >> 4; } d[1] |= 255 & O << 4, d[0] = 64 | O >> 4; } for (T = O + 3 - (t < 10); T < M;) { d[T++] = 236, d[T++] = 17; } for (m[0] = 1, T = 0; T < o; T++) { for (m[T + 1] = 1, L = T; L > 0; L--) { m[L] = m[L] ? m[L - 1] ^ l[w(f[m[L]] + T)] : m[L - 1]; } m[0] = l[w(f[m[0]] + T)]; } for (T = 0; T <= o; T++) { m[T] = f[m[T]]; } for (W = M, B = 0, T = 0; T < i; T++) { S(B, r, W, o), B += r, W += o; } for (T = 0; T < n; T++) { S(B, r + 1, W, o), B += r + 1, W += o; } for (B = 0, T = 0; T < r; T++) { for (L = 0; L < i; L++) { u[B++] = d[T + L * r]; } for (L = 0; L < n; L++) { u[B++] = d[i * r + T + L * (r + 1)]; } } for (L = 0; L < n; L++) { u[B++] = d[i * r + T + L * (r + 1)]; } for (T = 0; T < o; T++) { for (L = 0; L < i + n; L++) { u[B++] = d[M + T + L * o]; } } for (d = u, M = B = e - 1, W = O = 1, R = (r + o) * (i + n) + n, T = 0; T < R; T++) { for (P = d[T], L = 0; L < 8; L++, P <<= 1) { 128 & P && (p[M + e * B] = 1); do { O ? M-- : (M++, W ? 0 != B ? B-- : (W = !W, 6 == (M -= 2) && (M--, B = 9)) : B != e - 1 ? B++ : (W = !W, 6 == (M -= 2) && (M--, B -= 8))), O = !O; } while (z(M, B)); } } for (d = p.slice(0), P = 0, B = 3e4, W = 0; W < 8 && (I(W), (M = k()) < B && (B = M, P = W), 7 != P); W++) { p = d.slice(0); } for (P != W && I(P), B = h[P + (y - 1 << 3)], W = 0; W < 8; W++, B >>= 1) { 1 & B && (p[e - 1 - W + 8 * e] = 1, W < 6 ? p[8 + e * W] = 1 : p[8 + e * (W + 1)] = 1); } for (W = 0; W < 7; W++, B >>= 1) { 1 & B && (p[8 + e * (e - 7 + W)] = 1, W ? p[6 - W + 8 * e] = 1 : p[7 + 8 * e] = 1); } return p; }(v); }, utf16to8: function utf16to8(t) { var e, i, n, r; for (e = "", n = t.length, i = 0; i < n; i++) { (r = t.charCodeAt(i)) >= 1 && r <= 127 ? e += t.charAt(i) : r > 2047 ? (e += String.fromCharCode(224 | r >> 12 & 15), e += String.fromCharCode(128 | r >> 6 & 63), e += String.fromCharCode(128 | r >> 0 & 63)) : (e += String.fromCharCode(192 | r >> 6 & 31), e += String.fromCharCode(128 | r >> 0 & 63)); } return e; }, draw: function draw(t, i, n, r, o) { i.drawView(n, r); var s = i.ctx, a = n.contentSize, h = a.width, c = a.height, f = a.left, l = a.top; r.borderRadius, r.backgroundColor; var d = r.color, u = void 0 === d ? "#000000" : d; r.border, n.contentSize.left, n.borderSize.left, n.contentSize.top, n.borderSize.top; if (y = o || y, s) { s.save(), i.setOpacity(r), i.setTransform(n, r); var p = Math.min(h, c); t = this.utf16to8(t); var g = this.getFrame(t), v = p / e; s.setFillStyle(u); for (var x = 0; x < e; x++) { for (var b = 0; b < e; b++) { g[b * e + x] && s.fillRect(f + v * x, l + v * b, v, v); } } s.restore(), i.setBorder(n, r); } else console.warn("No canvas provided to draw QR code in!"); } } }; }(), yt = p, xt = u, bt = g, wt = d, mt = f.TOP, St = f.MIDDLE, zt = f.BOTTOM, It = l.LEFT, Mt = l.CENTER, kt = l.RIGHT, Bt = function () { function r(t) { var e, i, r = this; this.v = "1.9.5.1", this.id = null, this.pixelRatio = 1, this.width = 0, this.height = 0, this.sleep = 1e3 / 30, this.count = 0, this.isRate = !1, this.isDraw = !0, this.isCache = !0, this.fixed = "", this.useCORS = !1, this.performance = !1, this.imageBus = [], this.createImage = function (t, e) { return new Promise(function (i, n) { var o = null; window || r.canvas.createImage ? (o = r.canvas && r.canvas.createImage ? r.canvas.createImage() : new Image(), e && o.setAttribute("crossOrigin", "Anonymous"), o.src = t, o.onload = function () { i({ width: o.naturalWidth || o.width, height: o.naturalHeight || o.height, path: o, src: this.src }); }, o.onerror = function (t) { n(t); }) : n({ fail: "getImageInfo fail", src: t }); }); }, this.options = t, Object.assign(this, t), this.ctx = (e = t.context, i = { get: function get(t, i) { if ("setFonts" === i) return function (t) { var i = t.fontFamily, r = void 0 === i ? "sans-serif" : i, o = t.fontSize, s = void 0 === o ? 14 : o, a = t.fontWeight, h = void 0 === a ? "normal" : a, c = t.fontStyle, f = void 0 === c ? "normal" : c; I == n.MP_TOUTIAO && (h = "bold" == h ? "bold" : "", f = "italic" == f ? "italic" : ""), e.font = "".concat(f, " ").concat(h, " ").concat(Math.round(s), "px ").concat(r); }; if (!e.draw || !e.setFillStyle) { if ("setFillStyle" === i) return function (t) { e.fillStyle = t; }; if ("setStrokeStyle" === i) return function (t) { e.strokeStyle = t; }; if ("setLineWidth" === i) return function (t) { e.lineWidth = t; }; if ("setLineCap" === i) return function (t) { e.lineCap = t; }; if ("setFontSize" === i) return function (t) { e.font = "".concat(String(t), "px sans-serif"); }; if ("setGlobalAlpha" === i) return function (t) { e.globalAlpha = t; }; if ("setLineJoin" === i) return function (t) { e.lineJoin = t; }; if ("setTextAlign" === i) return function (t) { e.textAlign = t; }; if ("setMiterLimit" === i) return function (t) { e.miterLimit = t; }; if ("setShadow" === i) return function (t, i, n, r) { e.shadowOffsetX = t, e.shadowOffsetY = i, e.shadowBlur = n, e.shadowColor = r; }; if ("setTextBaseline" === i) return function (t) { e.textBaseline = t; }; if ("createCircularGradient" === i) return function () {}; if ("draw" === i) return function () {}; if ("function" == typeof e[i]) return function () { for (var t = [], n = 0; n < arguments.length; n++) { t[n] = arguments[n]; } return e[i].apply(e, t); }; } return t[i]; }, set: function set(t, i, n) { return e[i] = n, !0; } }, new Proxy(e, i)), this.progress = 0, this.root = { width: t.width, height: t.height, fontSizeRate: 1, fixedLine: null }, this.size = this.root; var o = 0; Object.defineProperty(this, "progress", { configurable: !0, set: function set(t) { o = t, r.lifecycle("onProgress", t / r.count); }, get: function get() { return o || 0; } }); } return r.prototype.lifecycle = function (t, e) { this.options.listen && this.options.listen[t] && this.options.listen[t](e); }, r.prototype.setContext = function (t) { t && (this.ctx = t); }, r.prototype.init = function () { if (this.canvas.height || n.WEB == I) { this.ctx.setTransform(1, 0, 0, 1, 0, 0); var t = this.size.height * this.pixelRatio, e = this.size.width * this.pixelRatio; this.canvas.height = t, this.canvas.width = e, this.ctx.scale(this.pixelRatio, this.pixelRatio); } }, r.prototype.clear = function () { this.ctx.clearRect(0, 0, this.size.width, this.size.height); }, r.prototype.clipPath = function (t, e, i, n, r, o, s) { void 0 === o && (o = !1), void 0 === s && (s = !1); var a = this.ctx; if (/polygon/.test(r)) { var h = r.match(/-?\d+(rpx|px|%)?\s+-?\d+(rpx|px|%)?/g) || []; a.beginPath(), h.map(function (r) { var o = r.split(" "), s = o[0], a = o[1]; return [W(s, i) + t, W(a, n) + e]; }).forEach(function (t, e) { 0 == e ? a.moveTo(t[0], t[1]) : a.lineTo(t[0], t[1]); }), a.closePath(), s && a.stroke(), o && a.fill(); } }, r.prototype.roundRect = function (t, e, i, n, r, o, s) { if (void 0 === o && (o = !1), void 0 === s && (s = !1), !(r < 0)) { var a = this.ctx; if (a.beginPath(), r) { var h = r || {}, c = h.borderTopLeftRadius, f = void 0 === c ? r || 0 : c, l = h.borderTopRightRadius, d = void 0 === l ? r || 0 : l, u = h.borderBottomRightRadius, p = void 0 === u ? r || 0 : u, g = h.borderBottomLeftRadius, v = void 0 === g ? r || 0 : g; a.arc(t + i - p, e + n - p, p, 0, .5 * Math.PI), a.lineTo(t + v, e + n), a.arc(t + v, e + n - v, v, .5 * Math.PI, Math.PI), a.lineTo(t, e + f), a.arc(t + f, e + f, f, Math.PI, 1.5 * Math.PI), a.lineTo(t + i - d, e), a.arc(t + i - d, e + d, d, 1.5 * Math.PI, 2 * Math.PI), a.lineTo(t + i, e + n - p); } else a.rect(t, e, i, n); a.closePath(), s && a.stroke(), o && a.fill(); } }, r.prototype.setTransform = function (t, e) { var i = e.transform, n = e.transformOrigin, r = this.ctx, o = i || {}, s = o.scaleX, a = void 0 === s ? 1 : s, h = o.scaleY, c = void 0 === h ? 1 : h, f = o.translateX, l = void 0 === f ? 0 : f, d = o.translateY, u = void 0 === d ? 0 : d, p = o.rotate, g = void 0 === p ? 0 : p, v = o.skewX, y = void 0 === v ? 0 : v, x = o.skewY, b = void 0 === x ? 0 : x, w = t.left, m = t.top, S = t.width, z = t.height; l = W(l, S) || 0, u = W(u, z) || 0; var I = W("0%", 1), M = W("50%", 1), k = W("100%", 1), P = { top: I, center: M, bottom: k }, O = { left: I, center: M, right: k }; if (n = n.split(" ").filter(function (t, e) { return e < 2; }).reduce(function (t, e) { if (/\d+/.test(e)) { var i = W(e, 1) / (/px|rpx$/.test(e) ? B(t.x) ? z : S : 1); return B(t.x) ? Object.assign(t, { y: i }) : Object.assign(t, { x: i }); } return B(O[e]) && !B(t.x) ? Object.assign(t, { x: O[e] }) : Object.assign(t, { y: P[e] || .5 }); }, {}), (l || u) && r.translate(l, u), (a || c) && r.scale(a, c), g) { var T = w + S * n.x, L = m + z * n.y; r.translate(T, L), r.rotate(g * Math.PI / 180), r.translate(-T, -L); } (y || b) && r.transform(1, Math.tan(b * Math.PI / 180), Math.tan(y * Math.PI / 180), 1, 0, 0); }, r.prototype.setBackground = function (t, e, i, r, o) { var s = this.ctx; t && "transparent" != t ? T(t) ? L(t, e, i, r, o, s) : s.setFillStyle(t) : [n.MP_TOUTIAO, n.MP_BAIDU].includes(I) ? s.setFillStyle("rgba(0,0,0,0)") : s.setFillStyle("transparent"); }, r.prototype.setShadow = function (t) { var e = t.boxShadow, i = void 0 === e ? [] : e, n = this.ctx; if (i.length) { var r = i[0], o = i[1], s = i[2], a = i[3]; n.setShadow(r, o, s, a); } }, r.prototype.setBorder = function (t, e) { var i = this.ctx, n = t.width, r = t.height, o = t.left, s = t.top, a = e.border, h = e.borderBottom, c = e.borderTop, f = e.borderRight, l = e.borderLeft, d = e.borderRadius, u = e.lineCap, p = a || {}, g = p.borderWidth, v = void 0 === g ? 0 : g, y = p.borderStyle, x = p.borderColor, b = h || {}, w = b.borderBottomWidth, m = void 0 === w ? v : w, S = b.borderBottomStyle, z = void 0 === S ? y : S, M = b.borderBottomColor, k = void 0 === M ? x : M, B = c || {}, W = B.borderTopWidth, P = void 0 === W ? v : W, O = B.borderTopStyle, T = void 0 === O ? y : O, L = B.borderTopColor, R = void 0 === L ? x : L, F = f || {}, A = F.borderRightWidth, j = void 0 === A ? v : A, E = F.borderRightStyle, C = void 0 === E ? y : E, H = F.borderRightColor, D = void 0 === H ? x : H, $ = l || {}, Y = $.borderLeftWidth, U = void 0 === Y ? v : Y, N = $.borderLeftStyle, X = void 0 === N ? y : N, _ = $.borderLeftColor, q = void 0 === _ ? x : _, G = d || {}, V = G.borderTopLeftRadius, J = void 0 === V ? d || 0 : V, Q = G.borderTopRightRadius, Z = void 0 === Q ? d || 0 : Q, K = G.borderBottomRightRadius, tt = void 0 === K ? d || 0 : K, et = G.borderBottomLeftRadius, it = void 0 === et ? d || 0 : et; if (h || l || c || f || a) { var nt = function nt(t, e, n) { "dashed" == e ? /mp/.test(I) ? i.setLineDash([Math.ceil(4 * t / 3), Math.ceil(4 * t / 3)]) : i.setLineDash([Math.ceil(6 * t), Math.ceil(6 * t)]) : "dotted" == e && i.setLineDash([t, t]), i.setStrokeStyle(n); }, rt = function rt(t, e, n, r, o, s, a, h, c, f, l, d, p, g, v) { i.save(), i.setLineCap(v ? "square" : u), i.setLineWidth(d), nt(d, p, g), i.beginPath(), i.arc(t, e, a, Math.PI * c, Math.PI * f), i.lineTo(n, r), i.arc(o, s, h, Math.PI * f, Math.PI * l), i.stroke(), i.restore(); }; if (i.save(), a && !h && !l && !c && !f) return i.setLineWidth(v), nt(v, y, x), this.roundRect(o, s, n, r, d, !1, !!x), void i.restore(); m && rt(o + n - tt, s + r - tt, o + it, s + r, o + it, s + r - it, tt, it, .25, .5, .75, m, z, k, U && j), U && rt(o + it, s + r - it, o, s + J, o + J, s + J, it, J, .75, 1, 1.25, U, X, q, P && m), P && rt(o + J, s + J, o + n - Z, s, o + n - Z, s + Z, J, Z, 1.25, 1.5, 1.75, P, T, R, U && j), j && rt(o + n - Z, s + Z, o + n, s + r - tt, o + n - tt, s + r - tt, Z, tt, 1.75, 2, .25, j, C, D, P && m); } }, r.prototype.setOpacity = function (t) { var e = t.opacity, i = void 0 === e ? 1 : e; this.ctx.setGlobalAlpha(i); }, r.prototype.drawPattern = function (t, n, r) { return e(this, void 0, void 0, function () { var e = this; return i(this, function (i) { return [2, new Promise(function (i, o) { e.drawView(n, r, !0, !1, !0); var s = e, a = s.ctx; s.canvas; var h = n.width, c = n.height, f = n.left, l = n.top, d = r || {}, u = d.borderRadius, p = void 0 === u ? 0 : u, g = d.backgroundImage, v = d.backgroundRepeat, y = void 0 === v ? "repeat" : v; g && function (t) { var o = a.createPattern(t.src, y); a.setFillStyle(o), e.roundRect(f, l, h, c, p, !0, !1), e.setBorder(n, r), i(); }(t); })]; }); }); }, r.prototype.drawView = function (t, e, i, n, r) { void 0 === i && (i = !0), void 0 === n && (n = !0), void 0 === r && (r = !0); var o = this.ctx, s = t.width, a = t.height, h = t.left, c = t.top, f = e || {}, l = f.borderRadius, d = void 0 === l ? 0 : l, u = f.backgroundColor, p = void 0 === u ? "transparent" : u, g = f.overflow; e.opacity && this.setOpacity(e), this.setTransform(t, e), r && (o.save(), this.setShadow(e)), i && this.setBackground(p, s, a, h, c), e.clipPath ? this.clipPath(h, c, s, a, e.clipPath, i, !1) : this.roundRect(h, c, s, a, d, i, !1), r && o.restore(), n && this.setBorder(t, e), "hidden" == g && o.clip(); }, r.prototype.drawImage = function (t, r, o, s) { return void 0 === r && (r = {}), void 0 === o && (o = {}), void 0 === s && (s = !0), e(this, void 0, void 0, function () { var a = this; return i(this, function (h) { switch (h.label) { case 0: return [4, new Promise(function (h, c) { return e(a, void 0, void 0, function () { var e, a, c, f, l, d, u, p, g, v, y, x, b, w, m, S, z, M, k, B, T, L = this; return i(this, function (i) { return e = this.ctx, a = o.borderRadius, c = void 0 === a ? 0 : a, f = o.backgroundColor, l = void 0 === f ? "transparent" : f, d = o.objectFit, u = void 0 === d ? "fill" : d, p = o.backgroundSize, g = void 0 === p ? "fill" : p, v = o.objectPosition, y = o.backgroundPosition, x = o.boxShadow, o.backgroundImage && (u = g, v = y), x && this.drawView(r, Object.assign(o, { backgroundColor: l || x && (l || "#ffffff") }), !0, !1, !0), b = r.width, w = r.height, m = r.left, S = r.top, e.save(), z = r.contentSize.left - r.borderSize.left, M = r.contentSize.top - r.borderSize.top, s || (this.setOpacity(o), this.setTransform(r, o), this.setBackground(l, b, w, m, S), this.roundRect(m, S, b, w, c, !!(c || !x && l), !1)), m += z, S += M, e.clip(), k = function k(t) { if ("fill" !== u) { var i = function (t, e, i) { var n = t.objectFit, r = t.objectPosition, o = e.width / e.height, s = i.width / i.height, a = 1, h = "contain", c = "cover"; n == h && o >= s || n == c && o < s ? a = e.height / i.height : (n == h && o < s || n == c && o >= s) && (a = e.width / i.width); var f = i.width * a, l = i.height * a, d = r || [], u = d[0], p = d[1], g = O(u) ? W(u, e.width) : (e.width - f) * (P(u) ? W(u, 1) : { left: 0, center: .5, right: 1 }[u || "center"]), v = O(p) ? W(p, e.height) : (e.height - l) * (P(p) ? W(p, 1) : { top: 0, center: .5, bottom: 1 }[p || "center"]), y = function y(t, e) { return [(t - g) / a, (e - v) / a]; }, x = y(0, 0), b = x[0], w = x[1], m = y(e.width, e.height), S = m[0], z = m[1], I = Math.max, M = Math.min; return { sx: I(b, 0), sy: I(w, 0), sw: M(S - b, i.width), sh: M(z - w, i.height), dx: I(g, 0), dy: I(v, 0), dw: M(f, e.width), dh: M(l, e.height) }; }({ objectFit: u, objectPosition: v }, r.contentSize, t), o = i.sx, s = i.sy, a = i.sh, h = i.sw, c = i.dx, f = i.dy, l = i.dh, d = i.dw; I == n.MP_BAIDU ? e.drawImage(t.src, c + m, f + S, d, l, o, s, h, a) : e.drawImage(t.src, o, s, h, a, c + m, f + S, d, l); } else e.drawImage(t.src, m, S, b, w); }, B = function B() { e.restore(), L.drawView(r, o, !1, !0, !1), h(1); }, T = function T(t) { k(t), B(); }, T(t), [2]; }); }); })]; case 1: return h.sent(), [2]; } }); }); }, r.prototype.drawText = function (t, e, i, n) { var r = this, o = this.ctx, s = e.borderSize, a = e.contentSize, h = e.left, c = e.top, f = a.width, l = a.height, d = a.left - s.left || 0, u = a.top - s.top || 0, p = i.color, g = i.lineHeight, v = i.fontSize, y = i.fontWeight, x = i.fontFamily, b = i.fontStyle, w = i.textIndent, m = void 0 === w ? 0 : w, S = i.textAlign, z = i.textStroke, I = i.verticalAlign, M = void 0 === I ? St : I, k = i.backgroundColor, P = i.lineClamp, O = i.backgroundClip, T = i.textShadow, L = i.textDecoration; if (m = B(m) ? m : 0, this.drawView(e, i, O != xt), g = W(g, v), t) { o.save(), h += d, c += u; var R = n.fontHeight, F = n.descent, A = void 0 === F ? 0 : F, j = n.ascent, E = A + (void 0 === j ? 0 : j); switch (o.setFonts({ fontFamily: x, fontSize: v, fontWeight: y, fontStyle: b }), o.setTextBaseline(St), o.setTextAlign(S), O ? this.setBackground(k, f, l, h, c) : o.setFillStyle(p), S) { case It: break; case Mt: h += .5 * f; break; case kt: h += f; } var C = n.lines * g, H = Math.ceil((l - C) / 2); switch (H < 0 && (H = 0), M) { case mt: break; case St: c += H; break; case zt: c += 2 * H; } var D = (g - R) / 2, $ = g / 2, Y = function Y(t) { var e = o.measureText(t), i = e.actualBoundingBoxDescent, n = void 0 === i ? 0 : i, r = e.actualBoundingBoxAscent; return M == mt ? { fix: E ? void 0 === r ? 0 : r : $ - D / 2, lineY: E ? 0 : D - D / 2 } : M == St ? { fix: E ? $ + n / 4 : $, lineY: E ? 0 : D } : M == zt ? { fix: E ? g - n : $ + D / 2, lineY: E ? 2 * D : D + D / 2 } : { fix: 0, height: 0, lineY: 0 }; }, U = function U(t, e, i) { var r = t; switch (S) { case It: r += i; break; case Mt: r = (t -= i / 2) + i; break; case kt: r = t, t -= i; } if (L) { o.setLineWidth(v / 13), o.beginPath(); var s = .1 * n.fontHeight; /\bunderline\b/.test(L) && (o.moveTo(t, e + n.fontHeight + s), o.lineTo(r, e + n.fontHeight + s)), /\boverline\b/.test(L) && (o.moveTo(t, e - s), o.lineTo(r, e - s)), /\bline-through\b/.test(L) && (o.moveTo(t, e + .5 * n.fontHeight), o.lineTo(r, e + .5 * n.fontHeight)), o.closePath(), o.setStrokeStyle(p), o.stroke(); } }, N = function N(t, e, i) { var n = function n() { o.setLineWidth(z.width), o.setStrokeStyle(z.color), o.strokeText(t, e, i); }, s = "outset"; z && z.type !== s ? (o.save(), r.setShadow({ boxShadow: T }), o.fillText(t, e, i), o.restore(), n()) : z && z.type == s ? (o.save(), r.setShadow({ boxShadow: T }), n(), o.restore(), o.save(), o.fillText(t, e, i), o.restore()) : (r.setShadow({ boxShadow: T }), o.fillText(t, e, i)); }; if (!n.widths || 1 == n.widths.length && n.widths[0].total + m <= a.width) { var X = Y(t), _ = X.fix, q = void 0 === _ ? 0 : _, G = X.lineY; return N(t, h + m, c + q), U(h + m, c + G, n && n.widths && n.widths[0].total || n.text), c += g, o.restore(), void this.setBorder(e, i); } for (var V = c, J = h, Q = "", Z = 0, K = o.measureText("...").width, tt = n.widths, et = 0; et < tt.length; et++) { var it = tt[et].widths, nt = 0; Q = "", c += 1 == (Z += 1) ? 0 : g, 1 == Z && m && (nt = m, J = h + m); for (var rt = 0; rt < it.length; rt++) { 1 !== Z && m && (J = h); var ot = it[rt], st = ot.width, at = ot.text, ht = (it[rt + 1] || {}).width; if (Q += at, (nt += st) + (void 0 === ht ? 0 : ht) + (0 == Z ? m : 0) + (Z == P ? K : 0) > a.width) { Z >= P && (Q += "…"), Z++, nt = 0; var ct = Y(Q); q = ct.fix, G = ct.lineY; N(Q, J, c + q), U(J, c + G, nt), c += g, Q = ""; } else if (rt == it.length - 1) { et != tt.length - 1 && Z == P && K + nt < a.width && (Q += "…"); var ft = Y(Q); q = ft.fix, G = ft.lineY; N(Q, J, c + q), U(J, c + G, nt); } if (c > V + l || Z > P) break; } } o.restore(); } }, r.prototype.source = function (t) { return e(this, void 0, void 0, function () { var e, n, r, o, s = this; return i(this, function (i) { switch (i.label) { case 0: if (this.node = null, e = +new Date(), "{}" == JSON.stringify(t)) return [2]; if (t.styles = t.styles || t.css || {}, !t.type) for (n in t.type = wt, t) { ["views", "children", "type", "css", "styles"].includes(n) || (t.styles[n] = t[n], delete t[n]); } return t.styles.boxSizing || (t.styles.boxSizing = "border-box"), [4, this.create(t)]; case 1: return (r = i.sent()) ? (o = r.layout() || {}, this.size = o, this.node = r, this.onEffectFinished().then(function (t) { return s.lifecycle("onEffectSuccess", t); }).catch(function (t) { return s.lifecycle("onEffectFail", t); }), this.performance && console.log("布局用时:" + (+new Date() - e) + "ms"), [2, this.size]) : [2, console.warn("no node")]; } }); }); }, r.prototype.getImageInfo = function (t) { return this.imageBus[t] || (this.imageBus[t] = this.createImage(t, this.useCORS)), this.imageBus[t]; }, r.prototype.create = function (n, r) { return e(this, void 0, void 0, function () { function e(i, n, r) { void 0 === n && (n = {}), void 0 === r && (r = !0); var o = []; return i.forEach(function (i) { var s = i.styles, a = void 0 === s ? {} : s, h = i.css, c = void 0 === h ? {} : h, f = i.children, l = void 0 === f ? [] : f, d = i.views, u = void 0 === d ? [] : d, p = i.text, g = void 0 === p ? "" : p, v = i.type, y = void 0 === v ? "" : v; !l && u && (i.children = l = u); var x = {}; x = _t(_t(r ? _t({}, n) : {}, a), c); var b = {}, w = {}, m = {}; Object.keys(x).map(function (t) { if (t.includes("padding") || t.includes("margin")) { var e = J(t, x[t]); Object.keys(e).map(function (t) { t.includes("Left") ? w[t] = e[t] : t.includes("Right") ? m[t] = e[t] : b[t] = e[t]; }); } }); if (x.textIndent && (w.textIndent = x.textIndent, delete n.textIndent), "" !== g) { var S = Array.from(g); S.forEach(function (t, e) { var i = Object.assign({}, x, b); 0 === e ? Object.assign(i, w) : e == S.length - 1 && Object.assign(i, m), delete i.padding, delete i.margin, o.push({ type: "text", text: t, styles: i }); }); } if (y == yt || y == bt) o.push(i);else if ("block" === a.display && l.length > 0) { var z = e(l, x, !1); i.children = z, i.flattened = !0, o.push(i); } else if (l.length > 0) { z = e(l, x, r); o = o.concat(z); } }), o; } var o, s, a, h, c, f, l, d, u, p, g, v, y, b, w, m, S, z, I, M, k, B, W, P; return i(this, function (i) { switch (i.label) { case 0: if (!n) return [2]; if (n.styles || (n.styles = n.css || {}), o = n.type, s = n.show, a = void 0 === s || s, h = o == yt, c = [xt, bt].includes(o), f = "textBox" == o, l = n.styles || {}, d = l.backgroundImage, u = l.display, h && !n.src && !n.url) return [2]; if (u == x || !a) return [2]; if (c || f) { if (p = n.children, g = n.views, !p && g && (n.children = p = g), !n.text && (!p || p && !p.length)) return [2]; p && p.length && !n.flattened && (v = e(n.children || n.views), n.type = "view", n.children = v); } if (!(h || n.type == wt && d)) return [3, 4]; y = h ? n.src : "", b = /url\(['"]?(.*?)['"]?\)/.exec(d), d && b && b[1] && (y = b[1] || ""), i.label = 1; case 1: return i.trys.push([1, 3,, 4]), [4, this.getImageInfo(y)]; case 2: return w = i.sent(), m = w.width, S = w.height, !(z = w.path) && h ? [2] : (z && (n.attributes = Object.assign(n.attributes || {}, { width: m, height: S, path: z, src: z, naturalSrc: y })), [3, 4]); case 3: return I = i.sent(), n.type != wt ? [2] : (this.lifecycle("onEffectFail", _t(_t({}, I), { src: y })), [3, 4]); case 4: if (this.count += 1, M = new gt(n, r, this.root, this.ctx), !(k = n.children || n.views)) return [3, 8]; B = 0, i.label = 5; case 5: return B < k.length ? (W = k[B], [4, this.create(W, M)]) : [3, 8]; case 6: (P = i.sent()) && M.add(P), i.label = 7; case 7: return B++, [3, 5]; case 8: return [2, M]; } }); }); }, r.prototype.drawNode = function (t, n) { return void 0 === n && (n = !1), e(this, void 0, void 0, function () { var e, r, o, s, a, h, c, f, l, d, u, p, g, v, y, x, b, w, m, S, z, I, M; return i(this, function (i) { switch (i.label) { case 0: return e = t.layoutBox, r = t.computedStyle, o = t.attributes, s = t.name, a = t.children, h = t.fixedLine, c = t.attributes, f = c.src, l = c.text, d = r.position, u = r.backgroundImage, p = r.backgroundRepeat, ["fixed"].includes(d) && !n ? [2] : (this.ctx.save(), s !== wt ? [3, 7] : f && u ? p ? [4, this.drawPattern(o, e, r)] : [3, 2] : [3, 5]); case 1: return i.sent(), [3, 4]; case 2: return [4, this.drawImage(o, e, r, !1)]; case 3: i.sent(), i.label = 4; case 4: return [3, 6]; case 5: this.drawView(e, r), i.label = 6; case 6: return [3, 10]; case 7: return s === yt && f ? [4, this.drawImage(o, e, r, !1)] : [3, 9]; case 8: return i.sent(), [3, 10]; case 9: s === xt ? this.drawText(l, e, r, o) : s === bt && vt.api && vt.api.draw(l, this, e, r), i.label = 10; case 10: if (this.progress += 1, v = (g = h || {}).beforeElements, y = g.afterElements, !v) return [3, 14]; x = 0, b = v, i.label = 11; case 11: return x < b.length ? (M = b[x], [4, this.drawNode(M)]) : [3, 14]; case 12: i.sent(), i.label = 13; case 13: return x++, [3, 11]; case 14: if (!a) return [3, 18]; w = Object.values ? Object.values(a) : Object.keys(a).map(function (t) { return a[t]; }), m = 0, S = w, i.label = 15; case 15: return m < S.length ? "absolute" === (M = S[m]).computedStyle.position ? [3, 17] : [4, this.drawNode(M)] : [3, 18]; case 16: i.sent(), i.label = 17; case 17: return m++, [3, 15]; case 18: if (!y) return [3, 22]; z = 0, I = y, i.label = 19; case 19: return z < I.length ? (M = I[z], [4, this.drawNode(M)]) : [3, 22]; case 20: i.sent(), i.label = 21; case 21: return z++, [3, 19]; case 22: return this.ctx.restore(), [2]; } }); }); }, r.prototype.render = function (t) { var n = this; return void 0 === t && (t = 30), new Promise(function (r, o) { return e(n, void 0, void 0, function () { var e, n, s, a, h, c, f, l, d, u; return i(this, function (i) { switch (i.label) { case 0: return e = +new Date(), this.init(), [4, (p = t, void 0 === p && (p = 0), new Promise(function (t) { return setTimeout(t, p); }))]; case 1: i.sent(), i.label = 2; case 2: if (i.trys.push([2, 14,, 15]), !this.node) return [3, 12]; if (n = this.root.fixedLine || {}, s = n.beforeElements, a = n.afterElements, !s) return [3, 6]; h = 0, c = s, i.label = 3; case 3: return h < c.length ? (d = c[h], [4, this.drawNode(d, !0)]) : [3, 6]; case 4: i.sent(), i.label = 5; case 5: return h++, [3, 3]; case 6: return [4, this.drawNode(this.node)]; case 7: if (i.sent(), !a) return [3, 11]; f = 0, l = a, i.label = 8; case 8: return f < l.length ? (d = l[f], [4, this.drawNode(d, !0)]) : [3, 11]; case 9: i.sent(), i.label = 10; case 10: return f++, [3, 8]; case 11: return r(this.node), [3, 13]; case 12: this.lifecycle("onEffectFail", "node is empty"), i.label = 13; case 13: return [3, 15]; case 14: return u = i.sent(), this.lifecycle("onEffectFail", u), o(u), [3, 15]; case 15: return this.performance && console.log("渲染用时:" + (+new Date() - e - 30) + "ms"), [2]; } var p; }); }); }); }, r.prototype.onEffectFinished = function () { var t = this, e = Object.keys(this.imageBus).map(function (e) { return t.imageBus[e]; }); return Promise.all(e); }, r.prototype.destroy = function () { this.node = []; }, r.prototype.save = function (t) { try { var e = t || {}, i = e.fileType, n = void 0 === i ? "png" : i, r = e.quality, o = void 0 === r ? 1 : r; return this.canvas.toDataURL("image/".concat(n), o); } catch (t) { return this.lifecycle("onEffectFail", "image cross domain"), t; } }, r; }(); exports.default = exports.Painter = Bt; n.WEB == I && (window.Painter = Bt); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"])) /***/ }), /***/ 17: /*!*************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ 1732: /*!***********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-divider/components/uv-divider/props.js ***! \***********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 是否虚线 dashed: { type: Boolean, default: false }, // 是否细线 hairline: { type: Boolean, default: true }, // 是否以点替代文字,优先于text字段起作用 dot: { type: Boolean, default: false }, // 内容文本的位置,left-左边,center-中间,right-右边 textPosition: { type: String, default: 'center' }, // 文本内容 text: { type: [String, Number], default: '' }, // 文本大小 textSize: { type: [String, Number], default: 14 }, // 文本颜色 textColor: { type: String, default: '#909399' }, // 线条颜色 lineColor: { type: String, default: '#dcdfe6' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.divider) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 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; /***/ }), /***/ 189: /*!*****************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/node_modules/spark-md5/spark-md5.js ***! \*****************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 13); (function (factory) { if (( false ? undefined : _typeof(exports)) === 'object') { // Node/CommonJS module.exports = factory(); } else if (true) { // AMD !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else { var glob; } })(function (undefined) { 'use strict'; /* * Fastest md5 implementation around (JKM md5). * Credits: Joseph Myers * * @see http://www.myersdaily.org/joseph/javascript/md5-text.html * @see http://jsperf.com/md5-shootout/7 */ /* this function is much faster, so if possible we use it. Some IEs are the only ones I know of that need the idiotic second function, generated by an if clause. */ var add32 = function add32(a, b) { return a + b & 0xFFFFFFFF; }, hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']; function cmn(q, a, b, x, s, t) { a = add32(add32(a, q), add32(x, t)); return add32(a << s | a >>> 32 - s, b); } function md5cycle(x, k) { var a = x[0], b = x[1], c = x[2], d = x[3]; a += (b & c | ~b & d) + k[0] - 680876936 | 0; a = (a << 7 | a >>> 25) + b | 0; d += (a & b | ~a & c) + k[1] - 389564586 | 0; d = (d << 12 | d >>> 20) + a | 0; c += (d & a | ~d & b) + k[2] + 606105819 | 0; c = (c << 17 | c >>> 15) + d | 0; b += (c & d | ~c & a) + k[3] - 1044525330 | 0; b = (b << 22 | b >>> 10) + c | 0; a += (b & c | ~b & d) + k[4] - 176418897 | 0; a = (a << 7 | a >>> 25) + b | 0; d += (a & b | ~a & c) + k[5] + 1200080426 | 0; d = (d << 12 | d >>> 20) + a | 0; c += (d & a | ~d & b) + k[6] - 1473231341 | 0; c = (c << 17 | c >>> 15) + d | 0; b += (c & d | ~c & a) + k[7] - 45705983 | 0; b = (b << 22 | b >>> 10) + c | 0; a += (b & c | ~b & d) + k[8] + 1770035416 | 0; a = (a << 7 | a >>> 25) + b | 0; d += (a & b | ~a & c) + k[9] - 1958414417 | 0; d = (d << 12 | d >>> 20) + a | 0; c += (d & a | ~d & b) + k[10] - 42063 | 0; c = (c << 17 | c >>> 15) + d | 0; b += (c & d | ~c & a) + k[11] - 1990404162 | 0; b = (b << 22 | b >>> 10) + c | 0; a += (b & c | ~b & d) + k[12] + 1804603682 | 0; a = (a << 7 | a >>> 25) + b | 0; d += (a & b | ~a & c) + k[13] - 40341101 | 0; d = (d << 12 | d >>> 20) + a | 0; c += (d & a | ~d & b) + k[14] - 1502002290 | 0; c = (c << 17 | c >>> 15) + d | 0; b += (c & d | ~c & a) + k[15] + 1236535329 | 0; b = (b << 22 | b >>> 10) + c | 0; a += (b & d | c & ~d) + k[1] - 165796510 | 0; a = (a << 5 | a >>> 27) + b | 0; d += (a & c | b & ~c) + k[6] - 1069501632 | 0; d = (d << 9 | d >>> 23) + a | 0; c += (d & b | a & ~b) + k[11] + 643717713 | 0; c = (c << 14 | c >>> 18) + d | 0; b += (c & a | d & ~a) + k[0] - 373897302 | 0; b = (b << 20 | b >>> 12) + c | 0; a += (b & d | c & ~d) + k[5] - 701558691 | 0; a = (a << 5 | a >>> 27) + b | 0; d += (a & c | b & ~c) + k[10] + 38016083 | 0; d = (d << 9 | d >>> 23) + a | 0; c += (d & b | a & ~b) + k[15] - 660478335 | 0; c = (c << 14 | c >>> 18) + d | 0; b += (c & a | d & ~a) + k[4] - 405537848 | 0; b = (b << 20 | b >>> 12) + c | 0; a += (b & d | c & ~d) + k[9] + 568446438 | 0; a = (a << 5 | a >>> 27) + b | 0; d += (a & c | b & ~c) + k[14] - 1019803690 | 0; d = (d << 9 | d >>> 23) + a | 0; c += (d & b | a & ~b) + k[3] - 187363961 | 0; c = (c << 14 | c >>> 18) + d | 0; b += (c & a | d & ~a) + k[8] + 1163531501 | 0; b = (b << 20 | b >>> 12) + c | 0; a += (b & d | c & ~d) + k[13] - 1444681467 | 0; a = (a << 5 | a >>> 27) + b | 0; d += (a & c | b & ~c) + k[2] - 51403784 | 0; d = (d << 9 | d >>> 23) + a | 0; c += (d & b | a & ~b) + k[7] + 1735328473 | 0; c = (c << 14 | c >>> 18) + d | 0; b += (c & a | d & ~a) + k[12] - 1926607734 | 0; b = (b << 20 | b >>> 12) + c | 0; a += (b ^ c ^ d) + k[5] - 378558 | 0; a = (a << 4 | a >>> 28) + b | 0; d += (a ^ b ^ c) + k[8] - 2022574463 | 0; d = (d << 11 | d >>> 21) + a | 0; c += (d ^ a ^ b) + k[11] + 1839030562 | 0; c = (c << 16 | c >>> 16) + d | 0; b += (c ^ d ^ a) + k[14] - 35309556 | 0; b = (b << 23 | b >>> 9) + c | 0; a += (b ^ c ^ d) + k[1] - 1530992060 | 0; a = (a << 4 | a >>> 28) + b | 0; d += (a ^ b ^ c) + k[4] + 1272893353 | 0; d = (d << 11 | d >>> 21) + a | 0; c += (d ^ a ^ b) + k[7] - 155497632 | 0; c = (c << 16 | c >>> 16) + d | 0; b += (c ^ d ^ a) + k[10] - 1094730640 | 0; b = (b << 23 | b >>> 9) + c | 0; a += (b ^ c ^ d) + k[13] + 681279174 | 0; a = (a << 4 | a >>> 28) + b | 0; d += (a ^ b ^ c) + k[0] - 358537222 | 0; d = (d << 11 | d >>> 21) + a | 0; c += (d ^ a ^ b) + k[3] - 722521979 | 0; c = (c << 16 | c >>> 16) + d | 0; b += (c ^ d ^ a) + k[6] + 76029189 | 0; b = (b << 23 | b >>> 9) + c | 0; a += (b ^ c ^ d) + k[9] - 640364487 | 0; a = (a << 4 | a >>> 28) + b | 0; d += (a ^ b ^ c) + k[12] - 421815835 | 0; d = (d << 11 | d >>> 21) + a | 0; c += (d ^ a ^ b) + k[15] + 530742520 | 0; c = (c << 16 | c >>> 16) + d | 0; b += (c ^ d ^ a) + k[2] - 995338651 | 0; b = (b << 23 | b >>> 9) + c | 0; a += (c ^ (b | ~d)) + k[0] - 198630844 | 0; a = (a << 6 | a >>> 26) + b | 0; d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0; d = (d << 10 | d >>> 22) + a | 0; c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0; c = (c << 15 | c >>> 17) + d | 0; b += (d ^ (c | ~a)) + k[5] - 57434055 | 0; b = (b << 21 | b >>> 11) + c | 0; a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0; a = (a << 6 | a >>> 26) + b | 0; d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0; d = (d << 10 | d >>> 22) + a | 0; c += (a ^ (d | ~b)) + k[10] - 1051523 | 0; c = (c << 15 | c >>> 17) + d | 0; b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0; b = (b << 21 | b >>> 11) + c | 0; a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0; a = (a << 6 | a >>> 26) + b | 0; d += (b ^ (a | ~c)) + k[15] - 30611744 | 0; d = (d << 10 | d >>> 22) + a | 0; c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0; c = (c << 15 | c >>> 17) + d | 0; b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0; b = (b << 21 | b >>> 11) + c | 0; a += (c ^ (b | ~d)) + k[4] - 145523070 | 0; a = (a << 6 | a >>> 26) + b | 0; d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0; d = (d << 10 | d >>> 22) + a | 0; c += (a ^ (d | ~b)) + k[2] + 718787259 | 0; c = (c << 15 | c >>> 17) + d | 0; b += (d ^ (c | ~a)) + k[9] - 343485551 | 0; b = (b << 21 | b >>> 11) + c | 0; x[0] = a + x[0] | 0; x[1] = b + x[1] | 0; x[2] = c + x[2] | 0; x[3] = d + x[3] | 0; } function md5blk(s) { var md5blks = [], i; /* Andy King said do it this way. */ for (i = 0; i < 64; i += 4) { md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24); } return md5blks; } function md5blk_array(a) { var md5blks = [], i; /* Andy King said do it this way. */ for (i = 0; i < 64; i += 4) { md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24); } return md5blks; } function md51(s) { var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi; for (i = 64; i <= n; i += 64) { md5cycle(state, md5blk(s.substring(i - 64, i))); } s = s.substring(i - 64); length = s.length; tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (i = 0; i < length; i += 1) { tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3); } tail[i >> 2] |= 0x80 << (i % 4 << 3); if (i > 55) { md5cycle(state, tail); for (i = 0; i < 16; i += 1) { tail[i] = 0; } } // Beware that the final length might not fit in 32 bits so we take care of that tmp = n * 8; tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/); lo = parseInt(tmp[2], 16); hi = parseInt(tmp[1], 16) || 0; tail[14] = lo; tail[15] = hi; md5cycle(state, tail); return state; } function md51_array(a) { var n = a.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi; for (i = 64; i <= n; i += 64) { md5cycle(state, md5blk_array(a.subarray(i - 64, i))); } // Not sure if it is a bug, however IE10 will always produce a sub array of length 1 // containing the last element of the parent array if the sub array specified starts // beyond the length of the parent array - weird. // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0); length = a.length; tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (i = 0; i < length; i += 1) { tail[i >> 2] |= a[i] << (i % 4 << 3); } tail[i >> 2] |= 0x80 << (i % 4 << 3); if (i > 55) { md5cycle(state, tail); for (i = 0; i < 16; i += 1) { tail[i] = 0; } } // Beware that the final length might not fit in 32 bits so we take care of that tmp = n * 8; tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/); lo = parseInt(tmp[2], 16); hi = parseInt(tmp[1], 16) || 0; tail[14] = lo; tail[15] = hi; md5cycle(state, tail); return state; } function rhex(n) { var s = '', j; for (j = 0; j < 4; j += 1) { s += hex_chr[n >> j * 8 + 4 & 0x0F] + hex_chr[n >> j * 8 & 0x0F]; } return s; } function hex(x) { var i; for (i = 0; i < x.length; i += 1) { x[i] = rhex(x[i]); } return x.join(''); } // In some cases the fast add32 function cannot be used.. if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') { add32 = function add32(x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF), msw = (x >> 16) + (y >> 16) + (lsw >> 16); return msw << 16 | lsw & 0xFFFF; }; } // --------------------------------------------------- /** * ArrayBuffer slice polyfill. * * @see https://github.com/ttaubert/node-arraybuffer-slice */ if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) { (function () { function clamp(val, length) { val = val | 0 || 0; if (val < 0) { return Math.max(val + length, 0); } return Math.min(val, length); } ArrayBuffer.prototype.slice = function (from, to) { var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray; if (to !== undefined) { end = clamp(to, length); } if (begin > end) { return new ArrayBuffer(0); } num = end - begin; target = new ArrayBuffer(num); targetArray = new Uint8Array(target); sourceArray = new Uint8Array(this, begin, num); targetArray.set(sourceArray); return target; }; })(); } // --------------------------------------------------- /** * Helpers. */ function toUtf8(str) { if (/[\u0080-\uFFFF]/.test(str)) { str = unescape(encodeURIComponent(str)); } return str; } function utf8Str2ArrayBuffer(str, returnUInt8Array) { var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i; for (i = 0; i < length; i += 1) { arr[i] = str.charCodeAt(i); } return returnUInt8Array ? arr : buff; } function arrayBuffer2Utf8Str(buff) { return String.fromCharCode.apply(null, new Uint8Array(buff)); } function concatenateArrayBuffers(first, second, returnUInt8Array) { var result = new Uint8Array(first.byteLength + second.byteLength); result.set(new Uint8Array(first)); result.set(new Uint8Array(second), first.byteLength); return returnUInt8Array ? result : result.buffer; } function hexToBinaryString(hex) { var bytes = [], length = hex.length, x; for (x = 0; x < length - 1; x += 2) { bytes.push(parseInt(hex.substr(x, 2), 16)); } return String.fromCharCode.apply(String, bytes); } // --------------------------------------------------- /** * SparkMD5 OOP implementation. * * Use this class to perform an incremental md5, otherwise use the * static methods instead. */ function SparkMD5() { // call reset to init the instance this.reset(); } /** * Appends a string. * A conversion will be applied if an utf8 string is detected. * * @param {String} str The string to be appended * * @return {SparkMD5} The instance itself */ SparkMD5.prototype.append = function (str) { // Converts the string to utf8 bytes if necessary // Then append as binary this.appendBinary(toUtf8(str)); return this; }; /** * Appends a binary string. * * @param {String} contents The binary string to be appended * * @return {SparkMD5} The instance itself */ SparkMD5.prototype.appendBinary = function (contents) { this._buff += contents; this._length += contents.length; var length = this._buff.length, i; for (i = 64; i <= length; i += 64) { md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i))); } this._buff = this._buff.substring(i - 64); return this; }; /** * Finishes the incremental computation, reseting the internal state and * returning the result. * * @param {Boolean} raw True to get the raw string, false to get the hex string * * @return {String} The result */ SparkMD5.prototype.end = function (raw) { var buff = this._buff, length = buff.length, i, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ret; for (i = 0; i < length; i += 1) { tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3); } this._finish(tail, length); ret = hex(this._hash); if (raw) { ret = hexToBinaryString(ret); } this.reset(); return ret; }; /** * Resets the internal state of the computation. * * @return {SparkMD5} The instance itself */ SparkMD5.prototype.reset = function () { this._buff = ''; this._length = 0; this._hash = [1732584193, -271733879, -1732584194, 271733878]; return this; }; /** * Gets the internal state of the computation. * * @return {Object} The state */ SparkMD5.prototype.getState = function () { return { buff: this._buff, length: this._length, hash: this._hash.slice() }; }; /** * Gets the internal state of the computation. * * @param {Object} state The state * * @return {SparkMD5} The instance itself */ SparkMD5.prototype.setState = function (state) { this._buff = state.buff; this._length = state.length; this._hash = state.hash; return this; }; /** * Releases memory used by the incremental buffer and other additional * resources. If you plan to use the instance again, use reset instead. */ SparkMD5.prototype.destroy = function () { delete this._hash; delete this._buff; delete this._length; }; /** * Finish the final calculation based on the tail. * * @param {Array} tail The tail (will be modified) * @param {Number} length The length of the remaining buffer */ SparkMD5.prototype._finish = function (tail, length) { var i = length, tmp, lo, hi; tail[i >> 2] |= 0x80 << (i % 4 << 3); if (i > 55) { md5cycle(this._hash, tail); for (i = 0; i < 16; i += 1) { tail[i] = 0; } } // Do the final computation based on the tail and length // Beware that the final length may not fit in 32 bits so we take care of that tmp = this._length * 8; tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/); lo = parseInt(tmp[2], 16); hi = parseInt(tmp[1], 16) || 0; tail[14] = lo; tail[15] = hi; md5cycle(this._hash, tail); }; /** * Performs the md5 hash on a string. * A conversion will be applied if utf8 string is detected. * * @param {String} str The string * @param {Boolean} [raw] True to get the raw string, false to get the hex string * * @return {String} The result */ SparkMD5.hash = function (str, raw) { // Converts the string to utf8 bytes if necessary // Then compute it using the binary function return SparkMD5.hashBinary(toUtf8(str), raw); }; /** * Performs the md5 hash on a binary string. * * @param {String} content The binary string * @param {Boolean} [raw] True to get the raw string, false to get the hex string * * @return {String} The result */ SparkMD5.hashBinary = function (content, raw) { var hash = md51(content), ret = hex(hash); return raw ? hexToBinaryString(ret) : ret; }; // --------------------------------------------------- /** * SparkMD5 OOP implementation for array buffers. * * Use this class to perform an incremental md5 ONLY for array buffers. */ SparkMD5.ArrayBuffer = function () { // call reset to init the instance this.reset(); }; /** * Appends an array buffer. * * @param {ArrayBuffer} arr The array to be appended * * @return {SparkMD5.ArrayBuffer} The instance itself */ SparkMD5.ArrayBuffer.prototype.append = function (arr) { var buff = concatenateArrayBuffers(this._buff.buffer, arr, true), length = buff.length, i; this._length += arr.byteLength; for (i = 64; i <= length; i += 64) { md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i))); } this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0); return this; }; /** * Finishes the incremental computation, reseting the internal state and * returning the result. * * @param {Boolean} raw True to get the raw string, false to get the hex string * * @return {String} The result */ SparkMD5.ArrayBuffer.prototype.end = function (raw) { var buff = this._buff, length = buff.length, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], i, ret; for (i = 0; i < length; i += 1) { tail[i >> 2] |= buff[i] << (i % 4 << 3); } this._finish(tail, length); ret = hex(this._hash); if (raw) { ret = hexToBinaryString(ret); } this.reset(); return ret; }; /** * Resets the internal state of the computation. * * @return {SparkMD5.ArrayBuffer} The instance itself */ SparkMD5.ArrayBuffer.prototype.reset = function () { this._buff = new Uint8Array(0); this._length = 0; this._hash = [1732584193, -271733879, -1732584194, 271733878]; return this; }; /** * Gets the internal state of the computation. * * @return {Object} The state */ SparkMD5.ArrayBuffer.prototype.getState = function () { var state = SparkMD5.prototype.getState.call(this); // Convert buffer to a string state.buff = arrayBuffer2Utf8Str(state.buff); return state; }; /** * Gets the internal state of the computation. * * @param {Object} state The state * * @return {SparkMD5.ArrayBuffer} The instance itself */ SparkMD5.ArrayBuffer.prototype.setState = function (state) { // Convert string to buffer state.buff = utf8Str2ArrayBuffer(state.buff, true); return SparkMD5.prototype.setState.call(this, state); }; SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy; SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish; /** * Performs the md5 hash on an array buffer. * * @param {ArrayBuffer} arr The array buffer * @param {Boolean} [raw] True to get the raw string, false to get the hex one * * @return {String} The result */ SparkMD5.ArrayBuffer.hash = function (arr, raw) { var hash = md51_array(new Uint8Array(arr)), ret = hex(hash); return raw ? hexToBinaryString(ret) : ret; }; return SparkMD5; }); /***/ }), /***/ 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; /***/ }), /***/ 190: /*!***********************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/utils/debounce.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.debounce = debounce; /** * 防抖函数 * @param {Function} fn 需要防抖的函数 * @param {Number} delay 延迟时间,单位毫秒 * @param {Boolean} immediate 是否立即执行 * @returns {Function} 返回防抖处理后的函数 */ function debounce(fn) { var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500; var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var timer = null; var isInvoke = false; return function () { var _this = this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (timer) clearTimeout(timer); if (immediate && !isInvoke) { fn.apply(this, args); isInvoke = true; } else { timer = setTimeout(function () { fn.apply(_this, args); isInvoke = false; timer = null; }, delay); } }; } /***/ }), /***/ 191: /*!******************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/utils/per.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 34)); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 36)); // permissionUtils.js /** * 统一权限检测工具 * 支持平台:APP(Android/iOS)、微信小程序、H5 */ var _default = { /** * 检查权限状态 * @param {String} permission 权限类型 * @param {String} description 权限描述(仅APP端需要) * @returns {Promise} * - granted: 是否已授权 * - firstRequest: 是否第一次请求 * - canRequest: 是否可以请求(用户未永久拒绝) */ checkPermission: function checkPermission(permission) { var _arguments = arguments, _this = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var description; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: description = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : ''; _context.next = 3; return _this._checkMpPermission(permission); case 3: return _context.abrupt("return", _context.sent); case 4: case "end": return _context.stop(); } } }, _callee); }))(); }, /** * APP端权限检查 */ _checkAppPermission: function _checkAppPermission(permission, description) { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var permissionMap, platformPerm; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: // Android和iOS通用权限映射 permissionMap = { 'camera': { android: 'android.permission.CAMERA', ios: 'camera' }, 'location': { android: 'android.permission.ACCESS_FINE_LOCATION', ios: 'location' }, 'phone': { android: 'android.permission.CALL_PHONE', ios: 'phone' }, 'photo_library': { android: ['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'], ios: 'photo_library' } // 添加其他需要的权限... }; platformPerm = permissionMap[permission]; if (platformPerm) { _context2.next = 5; break; } console.error('不支持的权限类型:', permission); return _context2.abrupt("return", { granted: false, firstRequest: false, canRequest: false }); case 5: return _context2.abrupt("return", { granted: false, firstRequest: false, canRequest: false }); case 6: case "end": return _context2.stop(); } } }, _callee2); }))(); }, /** * Android权限检查 */ _checkAndroidPermission: function _checkAndroidPermission(permission) { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() { return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: return _context3.abrupt("return", new Promise(function (resolve) { plus.android.requestPermissions(Array.isArray(permission) ? permission : [permission], function (e) { console.log("perm_".concat(permission), e); // 第一次请求标记 var firstRequest = !plus.storage.getItem("perm_".concat(permission)); if (firstRequest) { plus.storage.setItem("perm_".concat(permission), '1'); } if (e.deniedPresent.length !== 0) { plus.storage.setItem("perm_".concat(permission, "_no"), '2'); } if (e.granted.length !== 0) { plus.storage.removeItem("perm_".concat(permission, "_no"), '2'); } resolve({ granted: e.granted.length !== 0, firstRequest: firstRequest, canRequest: true // Android可以重复请求 }); }, function (e) { resolve({ granted: false, firstRequest: false, canRequest: true }); }); })); case 1: case "end": return _context3.stop(); } } }, _callee3); }))(); }, /** * iOS权限检查 */ _checkIosPermission: function _checkIosPermission(permission, description) { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() { var status, locationManager; return _regenerator.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.prev = 0; _context4.t0 = permission; _context4.next = _context4.t0 === 'camera' ? 4 : _context4.t0 === 'location' ? 6 : 10; break; case 4: status = plus.ios.invoke('AVCaptureDevice', 'authorizationStatusForMediaType:', 'vide'); return _context4.abrupt("break", 11); case 6: locationManager = plus.ios.newObject('CLLocationManager'); status = plus.ios.invoke(locationManager, 'authorizationStatus'); plus.ios.deleteObject(locationManager); return _context4.abrupt("break", 11); case 10: return _context4.abrupt("return", { granted: false, firstRequest: false, canRequest: false }); case 11: return _context4.abrupt("return", { granted: status === 3, firstRequest: status === 0, canRequest: status !== 2 // 不是永久拒绝 }); case 14: _context4.prev = 14; _context4.t1 = _context4["catch"](0); console.error('iOS权限检查错误:', _context4.t1); return _context4.abrupt("return", { granted: false, firstRequest: false, canRequest: false }); case 18: case "end": return _context4.stop(); } } }, _callee4, null, [[0, 14]]); }))(); }, /** * 小程序权限检查 */ _checkMpPermission: function _checkMpPermission(permission) { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() { var scopeMap, scope; return _regenerator.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: // 小程序scope映射 scopeMap = { 'camera': 'scope.camera', 'location': 'scope.userLocation', 'record': 'scope.record' // 其他小程序权限... }; scope = scopeMap[permission]; if (scope) { _context5.next = 4; break; } return _context5.abrupt("return", { granted: false, firstRequest: false, canRequest: false }); case 4: return _context5.abrupt("return", new Promise(function (resolve) { uni.getSetting({ success: function success(res) { var authSetting = res.authSetting; resolve({ granted: authSetting[scope] === true, firstRequest: authSetting[scope] === undefined, canRequest: authSetting[scope] !== false // 不是拒绝状态 }); }, fail: function fail() { resolve({ granted: false, firstRequest: false, canRequest: false }); } }); })); case 5: case "end": return _context5.stop(); } } }, _callee5); }))(); }, /** * 请求权限 */ requestPermission: function requestPermission(permission) { var _arguments2 = arguments, _this2 = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() { var description, _yield$_this2$checkPe, granted, firstRequest, canRequest; return _regenerator.default.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: description = _arguments2.length > 1 && _arguments2[1] !== undefined ? _arguments2[1] : ''; _context6.next = 3; return _this2.checkPermission(permission, description); case 3: _yield$_this2$checkPe = _context6.sent; granted = _yield$_this2$checkPe.granted; firstRequest = _yield$_this2$checkPe.firstRequest; canRequest = _yield$_this2$checkPe.canRequest; if (!granted) { _context6.next = 9; break; } return _context6.abrupt("return", true); case 9: if (canRequest) { _context6.next = 11; break; } return _context6.abrupt("return", false); case 11: return _context6.abrupt("return", _this2._requestMpPermission(permission)); case 12: case "end": return _context6.stop(); } } }, _callee6); }))(); }, /** * APP端请求权限 */ _requestAppPermission: function _requestAppPermission(permission, description) { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() { return _regenerator.default.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: return _context7.abrupt("return", false); case 1: case "end": return _context7.stop(); } } }, _callee7); }))(); }, /** * 小程序请求权限 */ _requestMpPermission: function _requestMpPermission(permission) { return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() { var scopeMap, scope; return _regenerator.default.wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: scopeMap = { 'camera': 'scope.camera', 'location': 'scope.userLocation', 'record': 'scope.record' }; scope = scopeMap[permission]; if (scope) { _context8.next = 4; break; } return _context8.abrupt("return", false); case 4: return _context8.abrupt("return", new Promise(function (resolve) { uni.authorize({ scope: scope, success: function success() { return resolve(true); }, fail: function fail() { return resolve(false); } }); })); case 5: case "end": return _context8.stop(); } } }, _callee8); }))(); }, /** * 打开系统设置页 */ openSystemSettings: function openSystemSettings() { uni.openSetting(); } }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 192: /*!******************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/utils/locationService.js ***! \******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(wx, uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 34)); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 36)); /** * 定位服务检测工具 * 功能:检测用户是否开启定位权限/服务 * 支持平台:APP(Android/iOS)、微信小程序、H5 */ var _default = { /** * 检查定位服务是否可用 * @returns {Promise} 返回Promise,true表示定位可用 */ isLocationEnabled: function isLocationEnabled() { var _this = this; return new Promise(function (resolve, reject) { // APP端处理 // 微信小程序处理 _this._checkWxLocation().then(resolve).catch(reject); // H5处理 // 默认处理(非上述平台) }); }, /** * APP端检测定位 * @private */ _checkAppLocation: function _checkAppLocation() { return new Promise(function (resolve) { plus.geolocation.getCurrentPosition(function () { return resolve(true); }, function (err) { // 错误码参考:https://www.html5plus.org/doc/zh_cn/geolocation.html#plus.geolocation.GeolocationError console.log(err, "---------------------"); if (err.code === 2 || err.code === 12) { resolve(false); // 权限被拒绝或定位服务未开启 } else { resolve(false); // 其他错误也视为不可用 } }, { provider: 'system', enableHighAccuracy: false }); }); }, /** * 微信小程序检测定位 * @private */ _checkWxLocation: function _checkWxLocation() { return new Promise(function (resolve) { wx.getSetting({ success: function success(res) { var authSetting = res.authSetting || {}; // undefined表示尚未询问过权限,也视为可用 resolve(authSetting['scope.userLocation'] !== false); }, fail: function fail() { resolve(false); } }); }); }, /** * H5端检测定位 * @private */ _checkH5Location: function _checkH5Location() { return new Promise(function (resolve) { // 现代浏览器 Permissions API if (navigator.permissions && navigator.permissions.query) { navigator.permissions.query({ name: 'geolocation' }).then(function (permissionStatus) { resolve(permissionStatus.state !== 'denied'); }).catch(function () { resolve('geolocation' in navigator); }); } // 传统浏览器检测 else { resolve('geolocation' in navigator); } }); }, /** * 请求定位权限 * @returns {Promise} 返回是否成功获取权限 */ requestLocationPermission: function requestLocationPermission() { return new Promise(function (resolve) { uni.authorize({ scope: 'scope.userLocation', success: function success() { return resolve(true); }, fail: function fail() { return resolve(false); } }); }); }, /** * 打开系统定位设置页面 */ openSystemLocationSetting: function openSystemLocationSetting() { // APP端 // 微信小程序 wx.openSetting(); // H5无法直接打开系统设置 }, /** * 跳转到当前应用的系统设置页面 */ openAppSettings: function openAppSettings() { // APP端处理 // 微信小程序处理 wx.openSetting({ success: function success(res) { console.log('已打开小程序设置页面'); } }); // H5处理 }, /** * 获取当前位置(封装了权限检测) * @param {Object} options 同uni.getLocation参数 * @returns {Promise} 返回位置信息 */ getCurrentPosition: function getCurrentPosition() { var _arguments = arguments, _this2 = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var options, isEnabled; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: options = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}; _context.next = 3; return _this2.isLocationEnabled(); case 3: isEnabled = _context.sent; if (isEnabled) { _context.next = 7; break; } return _context.abrupt("return", isEnabled); case 7: return _context.abrupt("return", isEnabled); case 8: case "end": return _context.stop(); } } }, _callee); }))(); } }; exports.default = _default; /* 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)["default"])) /***/ }), /***/ 193: /*!*********************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/utils/public.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); 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 openMap = function openMap(options) { uni.openLocation({ latitude: parseFloat(options.latitude), longitude: parseFloat(options.longitude), name: options.name, address: options.address, success: function success(res) { console.log('打开系统位置地图成功'); }, fail: function fail(error) { console.log(error); } }); }; var openURL = function openURL(map, platform, options) { console.log(2222, map); var androidMapConfigs = { amap: { scheme: "amapuri://route/plan/?dlat=".concat(options.latitude, "&dlon=").concat(options.longitude, "&dname=").concat(options.name, "&dev=0&t=0"), name: "高德地图" }, baidumap: { scheme: "baidumap://map/direction?destination=latlng:".concat(options.latitude, ",").concat(options.longitude, "|name:").concat(options.name, "&mode=driving&coord_type=gcj02"), name: "百度地图" }, qqmap: { scheme: "qqmap://map/routeplan?type=drive&from=\u6211\u7684\u4F4D\u7F6E&fromcoord=0,0&to=".concat(options.name, "&tocoord=").concat(options.latitude, ",").concat(options.longitude, "&policy=0"), name: "腾讯地图" } }; var iosMapConfigs = { amap: { scheme: "iosamap://navi?sourceApplication=plus&poiname=".concat(encodeURIComponent(options.name), "&lat=").concat(parseFloat(options.latitude), "&lon=").concat(parseFloat(options.longitude), "&dev=0&style=0"), name: "高德地图" }, baidumap: { scheme: "baidumap://map/direction?destination=".concat(parseFloat(options.latitude), ",").concat(parseFloat(options.longitude), "&mode=driving&coord_type=gcj02"), name: "百度地图" }, qqmap: { scheme: "qqmap://map/routeplan?type=drive&fromcoord=CurrentLocation&to=".concat(encodeURIComponent(options.name), "&tocoord=").concat(options.latitude, ",").concat(options.longitude), name: "腾讯地图" } // applemap: { // scheme: `maps://?q=${encodeURIComponent(options.name)}&sll=${options.latitude},${options.longitude}`, // name: "苹果地图", // }, }; var url = ''; if (platform === 'android') { url = androidMapConfigs[map.name].scheme; } else { url = iosMapConfigs[map.name].scheme; } // let url = platform === 'android' ? // `amapuri://route/plan/?dlat=${options.latitude}&dlon=${options.longitude}&dname=${options.name}&dev=0&t=0` : // `qqmap://map/routeplan?type=drive&fromcoord=CurrentLocation&to=${encodeURIComponent(options.name)}&tocoord=${options.latitude},${options.longitude}`; console.log(url); plus.runtime.openURL(url, function (res) { console.log(res); uni.showModal({ content: res.message }); }, map.androidName ? map.androidName : ''); }; // 计算两地距离 distance var calculateDistance = function calculateDistance(lat1, lon1, lat2, lon2) { var R = 6371; // 地球半径,单位:千米 var toRadians = function toRadians(degree) { return degree * (Math.PI / 180); }; var dLat = toRadians(lat2 - lat1); var dLon = toRadians(lon2 - lon1); var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2)) * Math.sin(dLon / 2) * Math.sin(dLon / 2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); var distance = R * c; return distance.toFixed(2); // 返回距离,单位:千米,保留两位小数 }; // 导出请求方法 var _default = { // 打开手机地图 goMap: function goMap() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return openMap(_objectSpread({}, options)); }, calcDistance: function calcDistance(lat1, lon1, lat2, lon2) { return calculateDistance(lat1, lon1, lat2, lon2); }, roundUpToTwoDecimals: function roundUpToTwoDecimals(price, ratio) { return (Math.floor(price * ratio * 100 + 0.9) / 100).toFixed(2); }, // 获取日期字符串 getDateStr: function getDateStr(days) { var date = new Date(); date.setDate(date.getDate() + days); return "".concat(date.getFullYear(), "-").concat((date.getMonth() + 1).toString().padStart(2, '0'), "-").concat(date.getDate().toString().padStart(2, '0')); } }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 1962: /*!*************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-radio/components/uv-radio-group/props.js ***! \*************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 绑定的值 value: { type: [String, Number, Boolean], default: '' }, modelValue: { type: [String, Number, Boolean], default: '' }, // 是否禁用全部radio disabled: { type: Boolean, default: false }, // 形状,circle-圆形,square-方形 shape: { type: String, default: 'circle' }, // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 activeColor: { type: String, default: '#2979ff' }, // 未选中的颜色 inactiveColor: { type: String, default: '#c8c9cc' }, // 标识符 name: { type: String, default: '' }, // 整个组件的尺寸,默认px size: { type: [String, Number], default: 18 }, // 布局方式,row-横向,column-纵向 placement: { type: String, default: 'row' }, // label的文本 label: { type: [String], default: '' }, // label的颜色 (默认 '#303133' ) labelColor: { type: [String], default: '#303133' }, // label的字体大小,px单位 labelSize: { type: [String, Number], default: 14 }, // 是否禁止点击文本操作checkbox(默认 false ) labelDisabled: { type: Boolean, default: false }, // 图标颜色 iconColor: { type: String, default: '#fff' }, // 图标的大小,单位px iconSize: { type: [String, Number], default: 12 }, // 竖向配列时,是否显示下划线 borderBottom: { type: Boolean, default: false }, // 图标与文字的对齐方式 iconPlacement: { type: String, default: 'left' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.radioGroup) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 1970: /*!*******************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-radio/components/uv-radio/props.js ***! \*******************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // radio的名称 name: { type: [String, Number, Boolean], default: '' }, // 形状,square为方形,circle为圆型 shape: { type: String, default: '' }, // 是否禁用 disabled: { type: [String, Boolean], default: '' }, // 是否禁止点击提示语选中单选框 labelDisabled: { type: [String, Boolean], default: '' }, // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 activeColor: { type: String, default: '' }, // 未选中的颜色 inactiveColor: { type: String, default: '' }, // 图标的大小,单位px iconSize: { type: [String, Number], default: '' }, // label的字体大小,px单位 labelSize: { type: [String, Number], default: '' }, // label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式 label: { type: [String, Number, Boolean], default: '' }, // 整体的大小 size: { type: [String, Number], default: '' }, // 图标颜色 iconColor: { type: String, default: '' }, // label的颜色 labelColor: { type: String, default: '' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.radio) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 1999: /*!***********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-overlay/components/uv-overlay/props.js ***! \***********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 是否显示遮罩 show: { type: Boolean, default: false }, // 层级z-index zIndex: { type: [String, Number], default: 10070 }, // 遮罩的过渡时间,单位为ms duration: { type: [String, Number], default: 300 }, // 不透明度值,当做rgba的第四个参数 opacity: { type: [String, Number], default: 0.5 } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.overlay) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 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) { resolve(res); return; } if (res[0]) { reject(res[0]); } else { resolve(res[1]); } }); }); } }; var SYNC_API_RE = /^\$|__f__|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|rpx2px|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS|getFacialRecognitionMetaInfo/; 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, Object.assign({}, 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 windowWidth, pixelRatio, platform; { var windowInfo = typeof wx.getWindowInfo === 'function' && wx.getWindowInfo() ? wx.getWindowInfo() : wx.getSystemInfoSync(); var deviceInfo = typeof wx.getDeviceInfo === 'function' && wx.getDeviceInfo() ? wx.getDeviceInfo() : wx.getSystemInfoSync(); windowWidth = windowInfo.windowWidth; pixelRatio = windowInfo.pixelRatio; platform = deviceInfo.platform; } 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 = {}; function getLocaleLanguage() { var localeLanguage = ''; { var appBaseInfo = typeof wx.getAppBaseInfo === 'function' && wx.getAppBaseInfo() ? wx.getAppBaseInfo() : wx.getSystemInfoSync(); var language = appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN; localeLanguage = normalizeLocale(language) || LOCALE_EN; } return localeLanguage; } var locale; { locale = getLocaleLanguage(); } 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 getLocaleLanguage(); } 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, rpx2px: 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 getOSInfo(system, platform) { var osName = ''; var osVersion = ''; if (platform && "mp-weixin" === 'mp-baidu') { osName = platform; osVersion = system; } else { osName = system.split(' ')[0] || platform; osVersion = system.split(' ')[1] || ''; } osName = osName.toLocaleLowerCase(); switch (osName) { case 'harmony': // alipay case 'ohos': // weixin case 'openharmony': // feishu osName = 'harmonyos'; break; case 'iphone os': // alipay osName = 'ios'; break; case 'mac': // weixin qq case 'darwin': // feishu osName = 'macos'; break; case 'windows_nt': // feishu osName = 'windows'; break; } return { osName: osName, osVersion: osVersion }; } 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 _getOSInfo = getOSInfo(system, platform), osName = _getOSInfo.osName, osVersion = _getOSInfo.osVersion; 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__DA7CE05", appName: "美融融plus", appVersion: "1.2.19", appVersionCode: "1219", appLanguage: getAppLanguage(hostLanguage), uniCompileVersion: "5.02", uniCompilerVersion: "5.02", uniRuntimeVersion: "5.02", 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, isUniAppX: false }; 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__DA7CE05", appName: "美融融plus", appVersion: "1.2.19", appVersionCode: "1219", appLanguage: getAppLanguage(hostLanguage), hostVersion: version, hostLanguage: hostLanguage, hostName: _hostName, hostSDKVersion: SDKVersion, hostTheme: theme, isUniAppX: false, uniPlatform: undefined || "mp-weixin", uniCompileVersion: "5.02", uniCompilerVersion: "5.02", uniRuntimeVersion: "5.02" })); } }; var getDeviceInfo = { returnValue: function returnValue(result) { var _result2 = result, brand = _result2.brand, model = _result2.model, _result2$system = _result2.system, system = _result2$system === void 0 ? '' : _result2$system, _result2$platform = _result2.platform, platform = _result2$platform === void 0 ? '' : _result2$platform; var deviceType = getGetDeviceType(result, model); var deviceBrand = getDeviceBrand(brand); useDeviceId(result); var _getOSInfo2 = getOSInfo(system, platform), osName = _getOSInfo2.osName, osVersion = _getOSInfo2.osVersion; result = sortObject(Object.assign(result, { deviceType: deviceType, deviceBrand: deviceBrand, deviceModel: model, osName: osName, osVersion: osVersion })); } }; 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); } } }; function __f__(type) { for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { args[_key3 - 1] = arguments[_key3]; } console[type].apply(console, args); } 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, __f__: __f__ }); 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 _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { args[_key4 - 1] = arguments[_key4]; } // 事件名统一转驼峰格式,仅处理:当前组件为 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 _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } 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":"美融融plus","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, getLocaleLanguage$1()); initHooks(appOptions, hooks); initUnknownHooks(appOptions, vm.$options); return appOptions; } function getLocaleLanguage$1() { var localeLanguage = ''; { var appBaseInfo = wx.getAppBaseInfo(); var language = appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN; localeLanguage = normalizeLocale(language) || LOCALE_EN; } return localeLanguage; } 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 _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { args[_key6] = arguments[_key6]; } vm.__call_hook('onShow', args); }); } if (isFn(appOptions.onHide) && wx.onAppHide) { wx.onAppHide(function () { for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { args[_key7] = arguments[_key7]; } 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 _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { args[_key8] = arguments[_key8]; } vm.__call_hook('onShow', args); }); } if (isFn(appOptions.onHide) && wx.onAppHide) { wx.onAppHide(function () { for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { args[_key9] = arguments[_key9]; } 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; /***/ }), /***/ 2007: /*!*********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-search/components/uv-search/props.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default2 = { props: _objectSpread({ value: { type: [String, Number], default: '' }, modelValue: { type: [String, Number], default: '' }, // 搜索框形状,round-圆形,square-方形 shape: { type: String, default: 'round' }, // 搜索框背景色,默认值#f2f2f2 bgColor: { type: String, default: '#f2f2f2' }, // 占位提示文字 placeholder: { type: String, default: '请输入关键字' }, // 是否启用清除控件 clearabled: { type: Boolean, default: true }, // 是否自动聚焦 focus: { type: Boolean, default: false }, // 是否在搜索框右侧显示取消按钮 showAction: { type: Boolean, default: true }, // 右边控件的样式 actionStyle: { type: Object, default: function _default() { return {}; } }, // 取消按钮文字 actionText: { type: String, default: '搜索' }, // 输入框内容对齐方式,可选值为 left|center|right inputAlign: { type: String, default: 'left' }, // input输入框的样式,可以定义文字颜色,大小等,对象形式 inputStyle: { type: Object, default: function _default() { return {}; } }, // 是否禁用输入框 disabled: { type: Boolean, default: false }, // 边框颜色 borderColor: { type: String, default: 'transparent' }, // 搜索图标的颜色,默认同输入框字体颜色 searchIconColor: { type: String, default: '#909399' }, // 输入框字体颜色 color: { type: String, default: '#606266' }, // placeholder的颜色 placeholderColor: { type: String, default: '#909399' }, // 左边输入框的图标,可以为uvui图标名称或图片路径 searchIcon: { type: String, default: 'search' }, searchIconSize: { type: [Number, String], default: 22 }, // 组件与其他上下左右元素之间的距离,带单位的字符串形式,如"30px"、"30px 20px"等写法 margin: { type: String, default: '0' }, // 开启showAction时,是否在input获取焦点时才显示 animation: { type: Boolean, default: false }, // 输入框最大能输入的长度,-1为不限制长度(来自uniapp文档) maxlength: { type: [String, Number], default: -1 }, // 搜索框高度,单位px height: { type: [String, Number], default: 32 }, // 搜索框左侧文本 label: { type: [String, Number, null], default: null }, // 搜索框扩展样式 boxStyle: { type: [String, Object], default: function _default() { return {}; } } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.search) }; exports.default = _default2; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2022: /*!*******************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-input/components/uv-input/props.js ***! \*******************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ value: { type: [String, Number], default: '' }, modelValue: { type: [String, Number], default: '' }, // 输入框类型 // number-数字输入键盘,app-vue下可以输入浮点数,app-nvue和小程序平台下只能输入整数 // idcard-身份证输入键盘,微信、支付宝、百度、QQ小程序 // digit-带小数点的数字键盘,App的nvue页面、微信、支付宝、百度、头条、QQ小程序 // text-文本输入键盘 type: { type: String, default: 'text' }, // 是否禁用输入框 disabled: { type: Boolean, default: false }, // 禁用状态时的背景色 disabledColor: { type: String, default: '#f5f7fa' }, // 是否显示清除控件 clearable: { type: Boolean, default: false }, // 是否密码类型 password: { type: Boolean, default: false }, // 最大输入长度,设置为 -1 的时候不限制最大长度 maxlength: { type: [String, Number], default: -1 }, // 输入框为空时的占位符 placeholder: { type: String, default: null }, // 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/ placeholderClass: { type: String, default: 'input-placeholder' }, // 指定placeholder的样式 placeholderStyle: { type: [String, Object], default: 'color: #c0c4cc' }, // 设置右下角按钮的文字,有效值:send|search|next|go|done,兼容性详见uni-app文档 // https://uniapp.dcloud.io/component/input // https://uniapp.dcloud.io/component/textarea confirmType: { type: String, default: 'done' }, // 点击键盘右下角按钮时是否保持键盘不收起,H5无效 confirmHold: { type: Boolean, default: false }, // focus时,点击页面的时候不收起键盘,微信小程序有效 holdKeyboard: { type: Boolean, default: false }, // 自动获取焦点 // 在 H5 平台能否聚焦以及软键盘是否跟随弹出,取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点 focus: { type: Boolean, default: false }, // 键盘收起时,是否自动失去焦点,目前仅App3.0.0+有效 autoBlur: { type: Boolean, default: false }, // 指定focus时光标的位置 cursor: { type: [String, Number], default: -1 }, // 输入框聚焦时底部与键盘的距离 cursorSpacing: { type: [String, Number], default: 30 }, // 光标起始位置,自动聚集时有效,需与selection-end搭配使用 selectionStart: { type: [String, Number], default: -1 }, // 光标结束位置,自动聚集时有效,需与selection-start搭配使用 selectionEnd: { type: [String, Number], default: -1 }, // 键盘弹起时,是否自动上推页面 adjustPosition: { type: Boolean, default: true }, // 输入框内容对齐方式,可选值为:left|center|right inputAlign: { type: String, default: 'left' }, // 输入框字体的大小 fontSize: { type: [String, Number], default: '14px' }, // 输入框字体颜色 color: { type: String, default: '#303133' }, // 输入框前置图标 prefixIcon: { type: String, default: '' }, // 前置图标样式,对象或字符串 prefixIconStyle: { type: [String, Object], default: '' }, // 输入框后置图标 suffixIcon: { type: String, default: '' }, // 后置图标样式,对象或字符串 suffixIconStyle: { type: [String, Object], default: '' }, // 边框类型,surround-四周边框,bottom-底部边框,none-无边框 border: { type: String, default: 'surround' }, // 是否只读,与disabled不同之处在于disabled会置灰组件,而readonly则不会 readonly: { type: Boolean, default: false }, // 输入框形状,circle-圆形,square-方形 shape: { type: String, default: 'square' }, // 用于处理或者过滤输入框内容的方法 formatter: { type: [Function, null], default: null }, // 是否忽略组件内对文本合成系统事件的处理 ignoreCompositionEvent: { type: Boolean, default: true } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.input) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2030: /*!*******************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-checkbox/components/uv-checkbox-group/props.js ***! \*******************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default2 = { props: _objectSpread({ // 绑定的值 value: { type: Array, default: function _default() { return []; } }, modelValue: { type: Array, default: function _default() { return []; } }, // 标识符 name: { type: String, default: '' }, // 形状,circle-圆形,square-方形 shape: { type: String, default: 'square' }, // 是否禁用全部checkbox disabled: { type: Boolean, default: false }, // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 activeColor: { type: String, default: '#2979ff' }, // 未选中的颜色 inactiveColor: { type: String, default: '#c8c9cc' }, // 整个组件的尺寸,默认px size: { type: [String, Number], default: 18 }, // 布局方式,row-横向,column-纵向 placement: { type: String, default: 'row' }, // label的字体大小,px单位 labelSize: { type: [String, Number], default: 14 }, // label的字体颜色 labelColor: { type: [String], default: '#303133' }, // 是否禁止点击文本操作 labelDisabled: { type: Boolean, default: false }, // 图标颜色 iconColor: { type: String, default: '#fff' }, // 图标的大小,单位px iconSize: { type: [String, Number], default: 12 }, // 勾选图标的对齐方式,left-左边,right-右边 iconPlacement: { type: String, default: 'left' }, // 竖向配列时,是否显示下划线 borderBottom: { type: Boolean, default: false } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.checkboxGroup) }; exports.default = _default2; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2038: /*!*************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-checkbox/components/uv-checkbox/props.js ***! \*************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // checkbox的名称 name: { type: [String, Number, Boolean], default: '' }, // 形状,square为方形,circle为圆型 shape: { type: String, default: '' }, // 整体的大小 size: { type: [String, Number], default: '' }, // 是否默认选中 checked: { type: Boolean, default: false }, // 是否禁用 disabled: { type: [String, Boolean], default: '' }, // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 activeColor: { type: String, default: '' }, // 未选中的颜色 inactiveColor: { type: String, default: '' }, // 图标的大小,单位px iconSize: { type: [String, Number], default: '' }, // 图标颜色 iconColor: { type: String, default: '' }, // label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式 label: { type: [String, Number, Boolean], default: '' }, // label的字体大小,px单位 labelSize: { type: [String, Number], default: '' }, // label的颜色 labelColor: { type: String, default: '' }, // 是否禁止点击提示语选中复选框 labelDisabled: { type: [String, Boolean], default: '' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.checkbox) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2074: /*!*******************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-modal/components/uv-modal/props.js ***! \*******************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 标题 title: { type: [String], default: '' }, // 弹窗内容 content: { type: String, default: '' }, // 确认文案 confirmText: { type: String, default: '确认' }, // 取消文案 cancelText: { type: String, default: '取消' }, // 是否显示确认按钮 showConfirmButton: { type: Boolean, default: true }, // 是否显示取消按钮 showCancelButton: { type: Boolean, default: false }, // 确认按钮颜色 confirmColor: { type: String, default: '#2979ff' }, // 取消文字颜色 cancelColor: { type: String, default: '#606266' }, // 对调确认和取消的位置 buttonReverse: { type: Boolean, default: false }, // 是否开启缩放效果 zoom: { type: Boolean, default: true }, // 层级 zIndex: { type: [String, Number], default: 10075 }, // 是否异步关闭,只对确定按钮有效 asyncClose: { type: Boolean, default: false }, // 是否允许点击遮罩关闭modal closeOnClickOverlay: { type: Boolean, default: true }, // 给一个负的margin-top,往上偏移,避免和键盘重合的情况 negativeTop: { type: [String, Number], default: 0 }, // modal宽度,不支持百分比,可以数值,px,rpx单位 width: { type: [String, Number], default: '650rpx' }, // 文本对齐方式,默认left align: { type: String, default: 'left' }, // 文本自定义样式 textStyle: { type: [Object, String], default: '' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.modal) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 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; /***/ }), /***/ 210: /*!**********************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/utils/service.js ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceManager = void 0; exports.handleImgSize = handleImgSize; exports.handleImgSizeUni = handleImgSizeUni; var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5)); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 18)); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 23)); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 24)); function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } var ServiceManager = /*#__PURE__*/function () { function ServiceManager() { (0, _classCallCheck2.default)(this, ServiceManager); this.availableSlots = {}; this.serviceDurations = {}; this.blockedTimes = {}; } // 设置工作日工作时间 (0, _createClass2.default)(ServiceManager, [{ key: "setWorkingHours", value: function setWorkingHours(day, startTime, endTime) { if (!this.availableSlots[day]) { this.availableSlots[day] = []; } this.availableSlots[day].push([startTime, endTime]); } // 添加服务 }, { key: "addService", value: function addService(serviceName, durationMinutes) { this.serviceDurations[serviceName] = durationMinutes; } // 添加不可预约时间 }, { key: "addBlockedTime", value: function addBlockedTime(day, startTime, endTime) { if (!this.blockedTimes[day]) { this.blockedTimes[day] = []; } this.blockedTimes[day].push([startTime, endTime]); } // 获取可用时间段 }, { key: "getAvailableSlots", value: function getAvailableSlots(day, serviceName) { var _this = this; var existingAppointments = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; var duration = this.serviceDurations[serviceName]; if (!duration) throw new Error('服务不存在'); var available = this.availableSlots[day] || []; var blocked = this.blockedTimes[day] || []; var allUnavailable = [].concat((0, _toConsumableArray2.default)(existingAppointments), (0, _toConsumableArray2.default)(blocked)); // 合并重叠的不可用时间段 allUnavailable.sort(function (a, b) { return _this.compareTime(a[0], b[0]); }); var mergedUnavailable = []; var _iterator = _createForOfIteratorHelper(allUnavailable), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var _step$value = (0, _slicedToArray2.default)(_step.value, 2), start = _step$value[0], end = _step$value[1]; if (mergedUnavailable.length === 0) { mergedUnavailable.push([start, end]); } else { var _mergedUnavailable = (0, _slicedToArray2.default)(mergedUnavailable[mergedUnavailable.length - 1], 2), lastStart = _mergedUnavailable[0], lastEnd = _mergedUnavailable[1]; if (this.compareTime(start, lastEnd) <= 0) { var newEnd = this.compareTime(end, lastEnd) > 0 ? end : lastEnd; mergedUnavailable[mergedUnavailable.length - 1][1] = newEnd; } else { mergedUnavailable.push([start, end]); } } } // 计算最终可用时间段 } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var finalAvailable = []; var _iterator2 = _createForOfIteratorHelper(available), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2), workStart = _step2$value[0], workEnd = _step2$value[1]; var currentStart = workStart; var _iterator3 = _createForOfIteratorHelper(mergedUnavailable), _step3; try { for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var _step3$value = (0, _slicedToArray2.default)(_step3.value, 2), busyStart = _step3$value[0], busyEnd = _step3$value[1]; if (this.compareTime(busyEnd, currentStart) <= 0) continue; if (this.compareTime(busyStart, workEnd) >= 0) break; if (this.compareTime(currentStart, busyStart) < 0) { var slotEnd = this.compareTime(busyStart, workEnd) < 0 ? busyStart : workEnd; finalAvailable.push([currentStart, slotEnd]); } currentStart = this.compareTime(busyEnd, workEnd) < 0 ? busyEnd : workEnd; } } catch (err) { _iterator3.e(err); } finally { _iterator3.f(); } if (this.compareTime(currentStart, workEnd) < 0) { finalAvailable.push([currentStart, workEnd]); } } // 返回足够时长的时段 } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } return finalAvailable.filter(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), start = _ref2[0], end = _ref2[1]; return _this.timeDiffInMinutes(start, end) >= duration; }); } // 时间比较方法 }, { key: "compareTime", value: function compareTime(time1, time2) { var _time1$split$map = time1.split(':').map(Number), _time1$split$map2 = (0, _slicedToArray2.default)(_time1$split$map, 2), h1 = _time1$split$map2[0], m1 = _time1$split$map2[1]; var _time2$split$map = time2.split(':').map(Number), _time2$split$map2 = (0, _slicedToArray2.default)(_time2$split$map, 2), h2 = _time2$split$map2[0], m2 = _time2$split$map2[1]; if (h1 !== h2) return h1 - h2; return m1 - m2; } // 计算时间差(分钟) }, { key: "timeDiffInMinutes", value: function timeDiffInMinutes(start, end) { var _start$split$map = start.split(':').map(Number), _start$split$map2 = (0, _slicedToArray2.default)(_start$split$map, 2), h1 = _start$split$map2[0], m1 = _start$split$map2[1]; var _end$split$map = end.split(':').map(Number), _end$split$map2 = (0, _slicedToArray2.default)(_end$split$map, 2), h2 = _end$split$map2[0], m2 = _end$split$map2[1]; return h2 * 60 + m2 - (h1 * 60 + m1); } }]); return ServiceManager; }(); //oss压缩图片 exports.ServiceManager = ServiceManager; function handleImgSize(url) { var maxSizekb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20; var minRatioo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.01; return new Promise(function (resolve, reject) { // 1. 处理URL:移除已有的OSS处理参数,避免重复叠加 var _url$split = url.split('?'), _url$split2 = (0, _slicedToArray2.default)(_url$split, 2), originalUrl = _url$split2[0], existingParams = _url$split2[1]; var baseUrl = originalUrl; // 原始图片地址(无处理参数) // 2. 下载原始图片,获取真实体积 uni.downloadFile({ url: baseUrl, success: function success(downloadRes) { var tempFilePath = downloadRes.tempFilePath; if (!tempFilePath) { var error = new Error("下载失败,未获取到临时路径"); console.error(error); reject(error); return; } // 3. 读取原始图片体积 uni.getFileInfo({ filePath: tempFilePath, success: function success(fileInfoRes) { var fileSizeByte = fileInfoRes.size; var fileSizeKB = fileSizeByte / 1024; console.log("\u539F\u59CB\u4F53\u79EF\uFF1A".concat(fileSizeKB.toFixed(2), " KB | \u9650\u5236\u4F53\u79EF\uFF1A").concat(maxSizekb, " KB")); // 4. 若体积已达标,直接返回原URL(保留原有参数) if (fileSizeKB <= maxSizekb) { console.log("体积达标,无需压缩"); var _finalUrl = existingParams ? "".concat(baseUrl, "?").concat(existingParams) : baseUrl; resolve(_finalUrl); return; } // 5. 核心修正:根据体积反推合理的尺寸压缩比例 // 原理:体积 ≈ (尺寸比例k)² × 原体积 → k ≈ √(目标体积/原体积) var targetRatio = maxSizekb / fileSizeKB; // 目标体积占原体积的比例 var sizeRatio = Math.sqrt(targetRatio); // 推导的尺寸压缩比例(k) // 6. 限制尺寸比例下限(避免压缩过小导致模糊,可根据需求调整) var minSizeRatio = minRatioo; // 最小缩放到原尺寸的30%(p_30) if (sizeRatio < minSizeRatio) { sizeRatio = minSizeRatio; console.warn("\u538B\u7F29\u6BD4\u4F8B\u8FC7\u4F4E\uFF0C\u5F3A\u5236\u9650\u5236\u4E3A".concat(minSizeRatio, "\uFF08\u907F\u514D\u6A21\u7CCA\uFF09")); } // 7. 转换为OSS的p参数(百分比,取整) var percentage = Math.round(sizeRatio * 100); console.log("\u8BA1\u7B97\u538B\u7F29\u53C2\u6570\uFF1A\u5C3A\u5BF8\u7F29\u653E\u5230".concat(percentage, "%\uFF08p_").concat(percentage, "\uFF09")); // 8. 拼接最终URL(保留原有参数,叠加压缩参数) var ossParam = "x-oss-process=image/resize,p_".concat(percentage); var finalUrl = existingParams ? "".concat(baseUrl, "?").concat(existingParams, "&").concat(ossParam) // 已有参数时用&拼接 : "".concat(baseUrl, "?").concat(ossParam); // 无参数时用?拼接 resolve(finalUrl); }, fail: function fail(err) { console.error("获取文件信息失败:", err); reject(err); } }); }, fail: function fail(err) { console.error("下载图片失败:", err); reject(err); } }); }); } //uniappy压缩图片 // export function handleImgSizeUni(url, maxSizekb = 128, minRatioo = 0.01) { // return new Promise((resolve, reject) => { // uni.getSavedFileInfo({ // filePath: url, //仅做示例用,非真正的文件路径 // success: function(fileInfoRes) { // console.log(11111111,fileInfoRes) // const fileSizeByte = fileInfoRes.size; // const fileSizeKB = fileSizeByte / 1024; // console.log(`原始体积:${fileSizeKB.toFixed(2)} KB`); // if (fileSizeKB <= maxSizekb) { // console.log("体积达标,无需压缩"); // resolve(url); // return; // } // // 5. 核心修正:根据体积反推合理的尺寸压缩比例 // // 原理:体积 ≈ (尺寸比例k)² × 原体积 → k ≈ √(目标体积/原体积) // const targetRatio = maxSizekb / fileSizeKB; // 目标体积占原体积的比例 // let sizeRatio = Math.sqrt(targetRatio); // 推导的尺寸压缩比例(k) // // 6. 限制尺寸比例下限(避免压缩过小导致模糊,可根据需求调整) // const minSizeRatio = minRatioo; // 最小缩放到原尺寸的30%(p_30) // if (sizeRatio < minSizeRatio) { // sizeRatio = minSizeRatio; // console.warn(`压缩比例过低,强制限制为${minSizeRatio}(避免模糊)`); // } // const percentage = (Math.floor(sizeRatio * 10000) / 100) + '%'; // console.log("percentage:",percentage); // uni.compressImage({ // src: url, // quality: 74, // width: percentage, // height: percentage, // success: res2 => { // console.log(res2.tempFilePath) // uni.getSavedFileInfo({ // filePath: res2.tempFilePath, //仅做示例用,非真正的文件路径 // success: function (res3) { // const fileSizeByte2 = res3.size; // const fileSizeKB2 = fileSizeByte2 / 1024; // console.log(`现在体积:${fileSizeKB2.toFixed(2)} KB`); // } // }); // resolve(res2.tempFilePath); // }, // fail: (err) => { // console.error("图片压缩失败:", err); // reject(err); // } // }) // }, // fail: (err) => { // console.error("获取文件信息失败:", err); // reject(err); // } // }); // }); // } function handleImgSizeUni(url) { var maxSizekb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 30; var minWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 20; var minHeight = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 20; console.log(url); return new Promise(function (resolve, reject) { // 1. 获取图片基本信息(大小、宽高) Promise.all([ // 获取文件大小 new Promise(function (res, rej) { uni.getFileInfo({ filePath: url, success: res, fail: rej }); }), // 获取图片宽高 new Promise(function (res, rej) { uni.getImageInfo({ src: url, success: res, fail: rej }); })]).then(function (_ref3) { var _ref4 = (0, _slicedToArray2.default)(_ref3, 2), fileInfo = _ref4[0], imgInfo = _ref4[1]; console.log("imgInfo\uFF1A", imgInfo); var fileSizeKB = fileInfo.size / 1024; console.log("\u539F\u59CB\u4F53\u79EF\uFF1A".concat(fileSizeKB.toFixed(2), " KB\uFF0C\u539F\u59CB\u5C3A\u5BF8\uFF1A").concat(imgInfo.width, "x").concat(imgInfo.height)); // 2. 体积达标直接返回 if (fileSizeKB <= maxSizekb) { console.log("体积达标,无需压缩"); resolve(url); return; } // 3. 压缩参数初始化(优先质量调整) var quality = 70; // 初始高质量 var originW = imgInfo.width, originH = imgInfo.height; var scale = 1; // 尺寸缩放比例(1为不缩放) // 4. 循环调整参数直到体积达标(最多尝试5次,避免无限循环) var maxAttempts = 10; var attempts = 0; var tempFilePath = ""; var compressLoop = function compressLoop() { attempts++; if (attempts > maxAttempts) { console.warn("达到最大尝试次数,返回当前压缩结果", tempFilePath); resolve(tempFilePath); return; } // 计算当前缩放后的尺寸(保持比例) var currentW = Math.max(originW * scale, minWidth); // 不小于最小宽度 var currentH = Math.max(originH * scale, minHeight); // 不小于最小高度 // 执行压缩 uni.compressImage({ src: url, quality: quality, // 质量参数(0-100,越高越清晰) width: currentW, // 具体像素值,避免百分比误差 height: currentH, success: function success(res) { // 检查压缩后体积 uni.getFileInfo({ filePath: res.tempFilePath, success: function success(compressedFile) { var compressedKB = compressedFile.size / 1024; console.log("\u7B2C".concat(attempts, "\u6B21\u538B\u7F29\uFF1A\u8D28\u91CF=").concat(quality, "\uFF0C\u5C3A\u5BF8=").concat(currentW, "x").concat(currentH, "\uFF0C\u4F53\u79EF=").concat(compressedKB.toFixed(2), " KB")); tempFilePath = res.tempFilePath; if (compressedKB <= maxSizekb) { // 体积达标,返回结果 resolve(res.tempFilePath); } else { // 体积不达标,调整参数继续尝试 if (quality > 20) { // 优先降质量(每次降10) quality -= 15; } else { // 质量较低时,再缩小尺寸(每次缩放到80%) scale *= 0.8; } compressLoop(); } }, fail: function fail(err) { console.error("获取压缩后文件信息失败:", err); reject(err); } }); }, fail: function fail(err) { console.error("图片压缩失败:", err); reject(err); } }); }; // 开始压缩循环 compressLoop(); }).catch(function (err) { console.error("获取图片信息失败:", err); reject(err); }); }); } /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2103: /*!*********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-picker/components/uv-picker/props.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default2 = { props: _objectSpread({ // 是否展示顶部的操作栏 showToolbar: { type: Boolean, default: true }, // 顶部标题 title: { type: String, default: '' }, // 弹窗圆角 round: { type: [String, Number], default: 0 }, // 对象数组,设置每一列的数据 columns: { type: Array, default: function _default() { return []; } }, // 是否显示加载中状态 loading: { type: Boolean, default: false }, // 各列中,单个选项的高度 itemHeight: { type: [String, Number], default: 44 }, // 取消按钮的文字 cancelText: { type: String, default: '取消' }, // 确认按钮的文字 confirmText: { type: String, default: '确定' }, // 取消按钮的颜色 cancelColor: { type: String, default: '#909193' }, // 确认按钮的颜色 confirmColor: { type: String, default: '#3c9cff' }, // 文字颜色 color: { type: String, default: '' }, // 选中文字的颜色 activeColor: { type: String, default: '' }, // 每列中可见选项的数量 visibleItemCount: { type: [String, Number], default: 5 }, // 选项对象中,需要展示的属性键名 keyName: { type: String, default: 'text' }, // 是否允许点击遮罩关闭选择器 closeOnClickOverlay: { type: Boolean, default: true }, // 是否允许点击确认关闭选择器 closeOnClickConfirm: { type: Boolean, default: true }, // 各列的默认索引 defaultIndex: { type: Array, default: function _default() { return []; } }, // 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件,只在微信2.21.1及以上有效 immediateChange: { type: Boolean, default: true } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.picker) }; exports.default = _default2; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2160: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-code/components/uv-code/props.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 倒计时总秒数 seconds: { type: [String, Number], default: 60 }, // 尚未开始时提示 startText: { type: String, default: '获取验证码' }, // 正在倒计时中的提示 changeText: { type: String, default: 'X秒重新获取' }, // 倒计时结束时的提示 endText: { type: String, default: '重新获取' }, // 是否在H5刷新或各端返回再进入时继续倒计时 keepRunning: { type: Boolean, default: false }, // 为了区分多个页面,或者一个页面多个倒计时组件本地存储的继续倒计时变了 uniqueKey: { type: String, default: '' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.code) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2166: /*!********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-parse/components/uv-parse/parser.js ***! \********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni, wx) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /** * @fileoverview html 解析器 */ // 配置 var config = { // 信任的标签(保持标签名不变) trustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'), // 块级标签(转为 div,其他的非信任标签转为 span) blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'), // 要移除的标签 ignoreTags: makeMap('area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr'), // 自闭合的标签 voidTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'), // html 实体 entities: { lt: '<', gt: '>', quot: '"', apos: "'", ensp: "\u2002", emsp: "\u2003", nbsp: '\xA0', semi: ';', ndash: '–', mdash: '—', middot: '·', lsquo: '‘', rsquo: '’', ldquo: '“', rdquo: '”', bull: '•', hellip: '…', larr: '←', uarr: '↑', rarr: '→', darr: '↓' }, // 默认的标签样式 tagStyle: { address: 'font-style:italic', big: 'display:inline;font-size:1.2em', caption: 'display:table-caption;text-align:center', center: 'text-align:center', cite: 'font-style:italic', dd: 'margin-left:40px', mark: 'background-color:yellow', pre: 'font-family:monospace;white-space:pre', s: 'text-decoration:line-through', small: 'display:inline;font-size:0.8em', strike: 'text-decoration:line-through', u: 'text-decoration:underline' }, // svg 大小写对照表 svgDict: { animatetransform: 'animateTransform', lineargradient: 'linearGradient', viewbox: 'viewBox', attributename: 'attributeName', repeatcount: 'repeatCount', repeatdur: 'repeatDur' } }; var tagSelector = {}; var _uni$getSystemInfoSyn = uni.getSystemInfoSync(), windowWidth = _uni$getSystemInfoSyn.windowWidth, system = _uni$getSystemInfoSyn.system; var blankChar = makeMap(' ,\r,\n,\t,\f'); var idIndex = 0; /** * @description 创建 map * @param {String} str 逗号分隔 */ function makeMap(str) { var map = Object.create(null); var list = str.split(','); for (var i = list.length; i--;) { map[list[i]] = true; } return map; } /** * @description 解码 html 实体 * @param {String} str 要解码的字符串 * @param {Boolean} amp 要不要解码 & * @returns {String} 解码后的字符串 */ function decodeEntity(str, amp) { var i = str.indexOf('&'); while (i !== -1) { var j = str.indexOf(';', i + 3); var code = void 0; if (j === -1) break; if (str[i + 1] === '#') { // { 形式的实体 code = parseInt((str[i + 2] === 'x' ? '0' : '') + str.substring(i + 2, j)); if (!isNaN(code)) { str = str.substr(0, i) + String.fromCharCode(code) + str.substr(j + 1); } } else { //   形式的实体 code = str.substring(i + 1, j); if (config.entities[code] || code === 'amp' && amp) { str = str.substr(0, i) + (config.entities[code] || '&') + str.substr(j + 1); } } i = str.indexOf('&', i + 1); } return str; } /** * @description 合并多个块级标签,加快长内容渲染 * @param {Array} nodes 要合并的标签数组 */ function mergeNodes(nodes) { var i = nodes.length - 1; for (var j = i; j >= -1; j--) { if (j === -1 || nodes[j].c || !nodes[j].name || nodes[j].name !== 'div' && nodes[j].name !== 'p' && nodes[j].name[0] !== 'h' || (nodes[j].attrs.style || '').includes('inline')) { if (i - j >= 5) { nodes.splice(j + 1, i - j, { name: 'div', attrs: {}, children: nodes.slice(j + 1, i + 1) }); } i = j - 1; } } } /** * @description html 解析器 * @param {Object} vm 组件实例 */ function Parser(vm) { this.options = vm || {}; this.tagStyle = Object.assign({}, config.tagStyle, this.options.tagStyle); this.imgList = vm.imgList || []; this.imgList._unloadimgs = 0; this.plugins = vm.plugins || []; this.attrs = Object.create(null); this.stack = []; this.nodes = []; this.pre = (this.options.containerStyle || '').includes('white-space') && this.options.containerStyle.includes('pre') ? 2 : 0; } /** * @description 执行解析 * @param {String} content 要解析的文本 */ Parser.prototype.parse = function (content) { // 插件处理 for (var i = this.plugins.length; i--;) { if (this.plugins[i].onUpdate) { content = this.plugins[i].onUpdate(content, config) || content; } } new Lexer(this).parse(content); // 出栈未闭合的标签 while (this.stack.length) { this.popNode(); } if (this.nodes.length > 50) { mergeNodes(this.nodes); } return this.nodes; }; /** * @description 将标签暴露出来(不被 rich-text 包含) */ Parser.prototype.expose = function () { for (var i = this.stack.length; i--;) { var item = this.stack[i]; if (item.c || item.name === 'a' || item.name === 'video' || item.name === 'audio') return; item.c = 1; } }; /** * @description 处理插件 * @param {Object} node 要处理的标签 * @returns {Boolean} 是否要移除此标签 */ Parser.prototype.hook = function (node) { for (var i = this.plugins.length; i--;) { if (this.plugins[i].onParse && this.plugins[i].onParse(node, this) === false) { return false; } } return true; }; /** * @description 将链接拼接上主域名 * @param {String} url 需要拼接的链接 * @returns {String} 拼接后的链接 */ Parser.prototype.getUrl = function (url) { var domain = this.options.domain; if (url[0] === '/') { if (url[1] === '/') { // // 开头的补充协议名 url = (domain ? domain.split('://')[0] : 'http') + ':' + url; } else if (domain) { // 否则补充整个域名 url = domain + url; } } else if (!url.includes('data:') && !url.includes('://')) { if (domain) { url = domain + '/' + url; } } return url; }; /** * @description 解析样式表 * @param {Object} node 标签 * @returns {Object} */ Parser.prototype.parseStyle = function (node) { var attrs = node.attrs; var list = (this.tagStyle[node.name] || '').split(';').concat((attrs.style || '').split(';')); var styleObj = {}; var tmp = ''; if (attrs.id && !this.xml) { // 暴露锚点 if (this.options.useAnchor) { this.expose(); } else if (node.name !== 'img' && node.name !== 'a' && node.name !== 'video' && node.name !== 'audio') { attrs.id = undefined; } } // 转换 width 和 height 属性 if (attrs.width) { styleObj.width = parseFloat(attrs.width) + (attrs.width.includes('%') ? '%' : 'px'); attrs.width = undefined; } if (attrs.height) { styleObj.height = parseFloat(attrs.height) + (attrs.height.includes('%') ? '%' : 'px'); attrs.height = undefined; } for (var i = 0, len = list.length; i < len; i++) { var info = list[i].split(':'); if (info.length < 2) continue; var key = info.shift().trim().toLowerCase(); var value = info.join(':').trim(); if (value[0] === '-' && value.lastIndexOf('-') > 0 || value.includes('safe')) { // 兼容性的 css 不压缩 tmp += ";".concat(key, ":").concat(value); } else if (!styleObj[key] || value.includes('import') || !styleObj[key].includes('import')) { // 重复的样式进行覆盖 if (value.includes('url')) { // 填充链接 var j = value.indexOf('(') + 1; if (j) { while (value[j] === '"' || value[j] === "'" || blankChar[value[j]]) { j++; } value = value.substr(0, j) + this.getUrl(value.substr(j)); } } else if (value.includes('rpx')) { // 转换 rpx(rich-text 内部不支持 rpx) value = value.replace(/[0-9.]+\s*rpx/g, function ($) { return parseFloat($) * windowWidth / 750 + 'px'; }); } styleObj[key] = value; } } node.attrs.style = tmp; return styleObj; }; /** * @description 解析到标签名 * @param {String} name 标签名 * @private */ Parser.prototype.onTagName = function (name) { this.tagName = this.xml ? name : name.toLowerCase(); if (this.tagName === 'svg') { this.xml = (this.xml || 0) + 1; // svg 标签内大小写敏感 config.ignoreTags.style = undefined; // svg 标签内 style 可用 } }; /** * @description 解析到属性名 * @param {String} name 属性名 * @private */ Parser.prototype.onAttrName = function (name) { name = this.xml ? name : name.toLowerCase(); if (name.substr(0, 5) === 'data-') { if (name === 'data-src' && !this.attrs.src) { // data-src 自动转为 src this.attrName = 'src'; } else if (this.tagName === 'img' || this.tagName === 'a') { // a 和 img 标签保留 data- 的属性,可以在 imgtap 和 linktap 事件中使用 this.attrName = name; } else { // 剩余的移除以减小大小 this.attrName = undefined; } } else { this.attrName = name; this.attrs[name] = 'T'; // boolean 型属性缺省设置 } }; /** * @description 解析到属性值 * @param {String} val 属性值 * @private */ Parser.prototype.onAttrVal = function (val) { var name = this.attrName || ''; if (name === 'style' || name === 'href') { // 部分属性进行实体解码 this.attrs[name] = decodeEntity(val, true); } else if (name.includes('src')) { // 拼接主域名 this.attrs[name] = this.getUrl(decodeEntity(val, true)); } else if (name) { this.attrs[name] = val; } }; /** * @description 解析到标签开始 * @param {Boolean} selfClose 是否有自闭合标识 /> * @private */ Parser.prototype.onOpenTag = function (selfClose) { // 拼装 node var node = Object.create(null); node.name = this.tagName; node.attrs = this.attrs; // 避免因为自动 diff 使得 type 被设置为 null 导致部分内容不显示 if (this.options.nodes.length) { node.type = 'node'; } this.attrs = Object.create(null); var attrs = node.attrs; var parent = this.stack[this.stack.length - 1]; var siblings = parent ? parent.children : this.nodes; var close = this.xml ? selfClose : config.voidTags[node.name]; // 替换标签名选择器 if (tagSelector[node.name]) { attrs.class = tagSelector[node.name] + (attrs.class ? ' ' + attrs.class : ''); } // 转换 embed 标签 if (node.name === 'embed') { var src = attrs.src || ''; // 按照后缀名和 type 将 embed 转为 video 或 audio if (src.includes('.mp4') || src.includes('.3gp') || src.includes('.m3u8') || (attrs.type || '').includes('video')) { node.name = 'video'; } else if (src.includes('.mp3') || src.includes('.wav') || src.includes('.aac') || src.includes('.m4a') || (attrs.type || '').includes('audio')) { node.name = 'audio'; } if (attrs.autostart) { attrs.autoplay = 'T'; } attrs.controls = 'T'; } // 处理音视频 if (node.name === 'video' || node.name === 'audio') { // 设置 id 以便获取 context if (node.name === 'video' && !attrs.id) { attrs.id = 'v' + idIndex++; } // 没有设置 controls 也没有设置 autoplay 的自动设置 controls if (!attrs.controls && !attrs.autoplay) { attrs.controls = 'T'; } // 用数组存储所有可用的 source node.src = []; if (attrs.src) { node.src.push(attrs.src); attrs.src = undefined; } this.expose(); } // 处理自闭合标签 if (close) { if (!this.hook(node) || config.ignoreTags[node.name]) { // 通过 base 标签设置主域名 if (node.name === 'base' && !this.options.domain) { this.options.domain = attrs.href; } else if (node.name === 'source' && parent && (parent.name === 'video' || parent.name === 'audio') && attrs.src) { // 设置 source 标签(仅父节点为 video 或 audio 时有效) parent.src.push(attrs.src); } return; } // 解析 style var styleObj = this.parseStyle(node); // 处理图片 if (node.name === 'img') { if (attrs.src) { // 标记 webp if (attrs.src.includes('webp')) { node.webp = 'T'; } // data url 图片如果没有设置 original-src 默认为不可预览的小图片 if (attrs.src.includes('data:') && !attrs['original-src']) { attrs.ignore = 'T'; } if (!attrs.ignore || node.webp || attrs.src.includes('cloud://')) { for (var i = this.stack.length; i--;) { var item = this.stack[i]; if (item.name === 'a') { node.a = item.attrs; } if (item.name === 'table' && !node.webp && !attrs.src.includes('cloud://')) { if (!styleObj.display || styleObj.display.includes('inline')) { node.t = 'inline-block'; } else { node.t = styleObj.display; } styleObj.display = undefined; } var style = item.attrs.style || ''; if (style.includes('flex:') && !style.includes('flex:0') && !style.includes('flex: 0') && (!styleObj.width || parseInt(styleObj.width) > 100)) { styleObj.width = '100% !important'; styleObj.height = ''; for (var j = i + 1; j < this.stack.length; j++) { this.stack[j].attrs.style = (this.stack[j].attrs.style || '').replace('inline-', ''); } } else if (style.includes('flex') && styleObj.width === '100%') { for (var _j = i + 1; _j < this.stack.length; _j++) { var _style = this.stack[_j].attrs.style || ''; if (!_style.includes(';width') && !_style.includes(' width') && _style.indexOf('width') !== 0) { styleObj.width = ''; break; } } } else if (style.includes('inline-block')) { if (styleObj.width && styleObj.width[styleObj.width.length - 1] === '%') { item.attrs.style += ';max-width:' + styleObj.width; styleObj.width = ''; } else { item.attrs.style += ';max-width:100%'; } } item.c = 1; } attrs.i = this.imgList.length.toString(); var _src = attrs['original-src'] || attrs.src; if (this.imgList.includes(_src)) { // 如果有重复的链接则对域名进行随机大小写变换避免预览时错位 var _i = _src.indexOf('://'); if (_i !== -1) { _i += 3; var newSrc = _src.substr(0, _i); for (; _i < _src.length; _i++) { if (_src[_i] === '/') break; newSrc += Math.random() > 0.5 ? _src[_i].toUpperCase() : _src[_i]; } newSrc += _src.substr(_i); _src = newSrc; } } this.imgList.push(_src); if (!node.t) { this.imgList._unloadimgs += 1; } } } if (styleObj.display === 'inline') { styleObj.display = ''; } if (attrs.ignore) { styleObj['max-width'] = styleObj['max-width'] || '100%'; attrs.style += ';-webkit-touch-callout:none'; } // 设置的宽度超出屏幕,为避免变形,高度转为自动 if (parseInt(styleObj.width) > windowWidth) { styleObj.height = undefined; } // 记录是否设置了宽高 if (!isNaN(parseInt(styleObj.width))) { node.w = 'T'; } if (!isNaN(parseInt(styleObj.height)) && (!styleObj.height.includes('%') || parent && (parent.attrs.style || '').includes('height'))) { node.h = 'T'; } } else if (node.name === 'svg') { siblings.push(node); this.stack.push(node); this.popNode(); return; } for (var key in styleObj) { if (styleObj[key]) { attrs.style += ";".concat(key, ":").concat(styleObj[key].replace(' !important', '')); } } attrs.style = attrs.style.substr(1) || undefined; } else { if ((node.name === 'pre' || (attrs.style || '').includes('white-space') && attrs.style.includes('pre')) && this.pre !== 2) { this.pre = node.pre = 1; } node.children = []; this.stack.push(node); } // 加入节点树 siblings.push(node); }; /** * @description 解析到标签结束 * @param {String} name 标签名 * @private */ Parser.prototype.onCloseTag = function (name) { // 依次出栈到匹配为止 name = this.xml ? name : name.toLowerCase(); var i; for (i = this.stack.length; i--;) { if (this.stack[i].name === name) break; } if (i !== -1) { while (this.stack.length > i) { this.popNode(); } } else if (name === 'p' || name === 'br') { var siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes; siblings.push({ name: name, attrs: { class: tagSelector[name] || '', style: this.tagStyle[name] || '' } }); } }; /** * @description 处理标签出栈 * @private */ Parser.prototype.popNode = function () { var node = this.stack.pop(); var attrs = node.attrs; var children = node.children; var parent = this.stack[this.stack.length - 1]; var siblings = parent ? parent.children : this.nodes; if (!this.hook(node) || config.ignoreTags[node.name]) { // 获取标题 if (node.name === 'title' && children.length && children[0].type === 'text' && this.options.setTitle) { uni.setNavigationBarTitle({ title: children[0].text }); } siblings.pop(); return; } if (node.pre && this.pre !== 2) { // 是否合并空白符标识 this.pre = node.pre = undefined; for (var i = this.stack.length; i--;) { if (this.stack[i].pre) { this.pre = 1; } } } var styleObj = {}; // 转换 svg if (node.name === 'svg') { if (this.xml > 1) { // 多层 svg 嵌套 this.xml--; return; } var src = ''; var style = attrs.style; attrs.style = ''; attrs.xmlns = 'http://www.w3.org/2000/svg'; (function traversal(node) { if (node.type === 'text') { src += node.text; return; } var name = config.svgDict[node.name] || node.name; src += '<' + name; for (var item in node.attrs) { var val = node.attrs[item]; if (val) { src += " ".concat(config.svgDict[item] || item, "=\"").concat(val, "\""); } } if (!node.children) { src += '/>'; } else { src += '>'; for (var _i2 = 0; _i2 < node.children.length; _i2++) { traversal(node.children[_i2]); } src += ''; } })(node); node.name = 'img'; node.attrs = { src: 'data:image/svg+xml;utf8,' + src.replace(/#/g, '%23'), style: style, ignore: 'T' }; node.children = undefined; this.xml = false; config.ignoreTags.style = true; return; } // 转换 align 属性 if (attrs.align) { if (node.name === 'table') { if (attrs.align === 'center') { styleObj['margin-inline-start'] = styleObj['margin-inline-end'] = 'auto'; } else { styleObj.float = attrs.align; } } else { styleObj['text-align'] = attrs.align; } attrs.align = undefined; } // 转换 dir 属性 if (attrs.dir) { styleObj.direction = attrs.dir; attrs.dir = undefined; } // 转换 font 标签的属性 if (node.name === 'font') { if (attrs.color) { styleObj.color = attrs.color; attrs.color = undefined; } if (attrs.face) { styleObj['font-family'] = attrs.face; attrs.face = undefined; } if (attrs.size) { var size = parseInt(attrs.size); if (!isNaN(size)) { if (size < 1) { size = 1; } else if (size > 7) { size = 7; } styleObj['font-size'] = ['x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'xxx-large'][size - 1]; } attrs.size = undefined; } } // 一些编辑器的自带 class if ((attrs.class || '').includes('align-center')) { styleObj['text-align'] = 'center'; } Object.assign(styleObj, this.parseStyle(node)); if (node.name !== 'table' && parseInt(styleObj.width) > windowWidth) { styleObj['max-width'] = '100%'; styleObj['box-sizing'] = 'border-box'; } if (config.blockTags[node.name]) { node.name = 'div'; } else if (!config.trustTags[node.name] && !this.xml) { // 未知标签转为 span,避免无法显示 node.name = 'span'; } if (node.name === 'a' || node.name === 'ad') { this.expose(); } else if (node.name === 'video') { if ((styleObj.height || '').includes('auto')) { styleObj.height = undefined; } } else if ((node.name === 'ul' || node.name === 'ol') && node.c) { // 列表处理 var types = { a: 'lower-alpha', A: 'upper-alpha', i: 'lower-roman', I: 'upper-roman' }; if (types[attrs.type]) { attrs.style += ';list-style-type:' + types[attrs.type]; attrs.type = undefined; } for (var _i3 = children.length; _i3--;) { if (children[_i3].name === 'li') { children[_i3].c = 1; } } } else if (node.name === 'table') { // 表格处理 // cellpadding、cellspacing、border 这几个常用表格属性需要通过转换实现 var padding = parseFloat(attrs.cellpadding); var spacing = parseFloat(attrs.cellspacing); var border = parseFloat(attrs.border); var bordercolor = styleObj['border-color']; var borderstyle = styleObj['border-style']; if (node.c) { // padding 和 spacing 默认 2 if (isNaN(padding)) { padding = 2; } if (isNaN(spacing)) { spacing = 2; } } if (border) { attrs.style += ";border:".concat(border, "px ").concat(borderstyle || 'solid', " ").concat(bordercolor || 'gray'); } if (node.flag && node.c) { // 有 colspan 或 rowspan 且含有链接的表格通过 grid 布局实现 styleObj.display = 'grid'; if (spacing) { styleObj['grid-gap'] = spacing + 'px'; styleObj.padding = spacing + 'px'; } else if (border) { // 无间隔的情况下避免边框重叠 attrs.style += ';border-left:0;border-top:0'; } var width = []; // 表格的列宽 var trList = []; // tr 列表 var cells = []; // 保存新的单元格 var map = {}; // 被合并单元格占用的格子 (function traversal(nodes) { for (var _i4 = 0; _i4 < nodes.length; _i4++) { if (nodes[_i4].name === 'tr') { trList.push(nodes[_i4]); } else { traversal(nodes[_i4].children || []); } } })(children); for (var row = 1; row <= trList.length; row++) { var col = 1; for (var j = 0; j < trList[row - 1].children.length; j++) { var td = trList[row - 1].children[j]; if (td.name === 'td' || td.name === 'th') { // 这个格子被上面的单元格占用,则列号++ while (map[row + '.' + col]) { col++; } var _style2 = td.attrs.style || ''; var start = _style2.indexOf('width') ? _style2.indexOf(';width') : 0; // 提取出 td 的宽度 if (start !== -1) { var end = _style2.indexOf(';', start + 6); if (end === -1) { end = _style2.length; } if (!td.attrs.colspan) { width[col] = _style2.substring(start ? start + 7 : 6, end); } _style2 = _style2.substr(0, start) + _style2.substr(end); } // 设置竖直对齐 _style2 += ';display:flex'; start = _style2.indexOf('vertical-align'); if (start !== -1) { var val = _style2.substr(start + 15, 10); if (val.includes('middle')) { _style2 += ';align-items:center'; } else if (val.includes('bottom')) { _style2 += ';align-items:flex-end'; } } else { _style2 += ';align-items:center'; } // 设置水平对齐 start = _style2.indexOf('text-align'); if (start !== -1) { var _val = _style2.substr(start + 11, 10); if (_val.includes('center')) { _style2 += ';justify-content: center'; } else if (_val.includes('right')) { _style2 += ';justify-content: right'; } } _style2 = (border ? ";border:".concat(border, "px ").concat(borderstyle || 'solid', " ").concat(bordercolor || 'gray') + (spacing ? '' : ';border-right:0;border-bottom:0') : '') + (padding ? ";padding:".concat(padding, "px") : '') + ';' + _style2; // 处理列合并 if (td.attrs.colspan) { _style2 += ";grid-column-start:".concat(col, ";grid-column-end:").concat(col + parseInt(td.attrs.colspan)); if (!td.attrs.rowspan) { _style2 += ";grid-row-start:".concat(row, ";grid-row-end:").concat(row + 1); } col += parseInt(td.attrs.colspan) - 1; } // 处理行合并 if (td.attrs.rowspan) { _style2 += ";grid-row-start:".concat(row, ";grid-row-end:").concat(row + parseInt(td.attrs.rowspan)); if (!td.attrs.colspan) { _style2 += ";grid-column-start:".concat(col, ";grid-column-end:").concat(col + 1); } // 记录下方单元格被占用 for (var rowspan = 1; rowspan < td.attrs.rowspan; rowspan++) { for (var colspan = 0; colspan < (td.attrs.colspan || 1); colspan++) { map[row + rowspan + '.' + (col - colspan)] = 1; } } } if (_style2) { td.attrs.style = _style2; } cells.push(td); col++; } } if (row === 1) { var temp = ''; for (var _i5 = 1; _i5 < col; _i5++) { temp += (width[_i5] ? width[_i5] : 'auto') + ' '; } styleObj['grid-template-columns'] = temp; } } node.children = cells; } else { // 没有使用合并单元格的表格通过 table 布局实现 if (node.c) { styleObj.display = 'table'; } if (!isNaN(spacing)) { styleObj['border-spacing'] = spacing + 'px'; } if (border || padding) { // 遍历 (function traversal(nodes) { for (var _i6 = 0; _i6 < nodes.length; _i6++) { var _td = nodes[_i6]; if (_td.name === 'th' || _td.name === 'td') { if (border) { _td.attrs.style = "border:".concat(border, "px ").concat(borderstyle || 'solid', " ").concat(bordercolor || 'gray', ";").concat(_td.attrs.style || ''); } if (padding) { _td.attrs.style = "padding:".concat(padding, "px;").concat(_td.attrs.style || ''); } } else if (_td.children) { traversal(_td.children); } } })(children); } } // 给表格添加一个单独的横向滚动层 if (this.options.scrollTable && !(attrs.style || '').includes('inline')) { var table = Object.assign({}, node); node.name = 'div'; node.attrs = { style: 'overflow:auto' }; node.children = [table]; attrs = table.attrs; } } else if ((node.name === 'td' || node.name === 'th') && (attrs.colspan || attrs.rowspan)) { for (var _i7 = this.stack.length; _i7--;) { if (this.stack[_i7].name === 'table') { this.stack[_i7].flag = 1; // 指示含有合并单元格 break; } } } else if (node.name === 'ruby') { // 转换 ruby node.name = 'span'; for (var _i8 = 0; _i8 < children.length - 1; _i8++) { if (children[_i8].type === 'text' && children[_i8 + 1].name === 'rt') { children[_i8] = { name: 'div', attrs: { style: 'display:inline-block;text-align:center' }, children: [{ name: 'div', attrs: { style: 'font-size:50%;' + (children[_i8 + 1].attrs.style || '') }, children: children[_i8 + 1].children }, children[_i8]] }; children.splice(_i8 + 1, 1); } } } else if (node.c) { (function traversal(node) { node.c = 2; for (var _i9 = node.children.length; _i9--;) { var child = node.children[_i9]; if (!child.c || child.name === 'table') { node.c = 1; } } })(node); } if ((styleObj.display || '').includes('flex') && !node.c) { for (var _i10 = children.length; _i10--;) { var item = children[_i10]; if (item.f) { item.attrs.style = (item.attrs.style || '') + item.f; item.f = undefined; } } } // flex 布局时部分样式需要提取到 rich-text 外层 var flex = parent && ((parent.attrs.style || '').includes('flex') || (parent.attrs.style || '').includes('grid')) // 检查基础库版本 virtualHost 是否可用 && !(node.c && wx.getNFCAdapter); // eslint-disable-line if (flex) { node.f = ';max-width:100%'; } if (children.length >= 50 && node.c && !(styleObj.display || '').includes('flex')) { mergeNodes(children); } for (var key in styleObj) { if (styleObj[key]) { var _val2 = ";".concat(key, ":").concat(styleObj[key].replace(' !important', '')); if (flex && (key.includes('flex') && key !== 'flex-direction' || key === 'align-self' || key.includes('grid') || styleObj[key][0] === '-' || key.includes('width') && _val2.includes('%'))) { node.f += _val2; if (key === 'width') { attrs.style += ';width:100%'; } } else { attrs.style += _val2; } } } attrs.style = attrs.style.substr(1) || undefined; }; /** * @description 解析到文本 * @param {String} text 文本内容 */ Parser.prototype.onText = function (text) { if (!this.pre) { // 合并空白符 var trim = ''; var flag; for (var i = 0, len = text.length; i < len; i++) { if (!blankChar[text[i]]) { trim += text[i]; } else { if (trim[trim.length - 1] !== ' ') { trim += ' '; } if (text[i] === '\n' && !flag) { flag = true; } } } // 去除含有换行符的空串 if (trim === ' ') { if (flag) return; } text = trim; } var node = Object.create(null); node.type = 'text'; node.text = decodeEntity(text); if (this.hook(node)) { if (this.options.selectable === 'force' && system.includes('iOS') && !uni.canIUse('rich-text.user-select')) { this.expose(); } var siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes; siblings.push(node); } }; /** * @description html 词法分析器 * @param {Object} handler 高层处理器 */ function Lexer(handler) { this.handler = handler; } /** * @description 执行解析 * @param {String} content 要解析的文本 */ Lexer.prototype.parse = function (content) { this.content = content || ''; this.i = 0; // 标记解析位置 this.start = 0; // 标记一个单词的开始位置 this.state = this.text; // 当前状态 for (var len = this.content.length; this.i !== -1 && this.i < len;) { this.state(); } }; /** * @description 检查标签是否闭合 * @param {String} method 如果闭合要进行的操作 * @returns {Boolean} 是否闭合 * @private */ Lexer.prototype.checkClose = function (method) { var selfClose = this.content[this.i] === '/'; if (this.content[this.i] === '>' || selfClose && this.content[this.i + 1] === '>') { if (method) { this.handler[method](this.content.substring(this.start, this.i)); } this.i += selfClose ? 2 : 1; this.start = this.i; this.handler.onOpenTag(selfClose); if (this.handler.tagName === 'script') { this.i = this.content.indexOf('= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') { // 标签开头 if (this.start !== this.i) { this.handler.onText(this.content.substring(this.start, this.i)); } this.start = ++this.i; this.state = this.tagName; } else if (c === '/' || c === '!' || c === '?') { if (this.start !== this.i) { this.handler.onText(this.content.substring(this.start, this.i)); } var next = this.content[this.i + 2]; if (c === '/' && (next >= 'a' && next <= 'z' || next >= 'A' && next <= 'Z')) { // 标签结尾 this.i += 2; this.start = this.i; this.state = this.endTag; return; } // 处理注释 var end = '-->'; if (c !== '!' || this.content[this.i + 2] !== '-' || this.content[this.i + 3] !== '-') { end = '>'; } this.i = this.content.indexOf(end, this.i); if (this.i !== -1) { this.i += end.length; this.start = this.i; } } else { this.i++; } }; /** * @description 标签名状态 * @private */ Lexer.prototype.tagName = function () { if (blankChar[this.content[this.i]]) { // 解析到标签名 this.handler.onTagName(this.content.substring(this.start, this.i)); while (blankChar[this.content[++this.i]]) { ; } if (this.i < this.content.length && !this.checkClose()) { this.start = this.i; this.state = this.attrName; } } else if (!this.checkClose('onTagName')) { this.i++; } }; /** * @description 属性名状态 * @private */ Lexer.prototype.attrName = function () { var c = this.content[this.i]; if (blankChar[c] || c === '=') { // 解析到属性名 this.handler.onAttrName(this.content.substring(this.start, this.i)); var needVal = c === '='; var len = this.content.length; while (++this.i < len) { c = this.content[this.i]; if (!blankChar[c]) { if (this.checkClose()) return; if (needVal) { // 等号后遇到第一个非空字符 this.start = this.i; this.state = this.attrVal; return; } if (this.content[this.i] === '=') { needVal = true; } else { this.start = this.i; this.state = this.attrName; return; } } } } else if (!this.checkClose('onAttrName')) { this.i++; } }; /** * @description 属性值状态 * @private */ Lexer.prototype.attrVal = function () { var c = this.content[this.i]; var len = this.content.length; if (c === '"' || c === "'") { // 有冒号的属性 this.start = ++this.i; this.i = this.content.indexOf(c, this.i); if (this.i === -1) return; this.handler.onAttrVal(this.content.substring(this.start, this.i)); } else { // 没有冒号的属性 for (; this.i < len; this.i++) { if (blankChar[this.content[this.i]]) { this.handler.onAttrVal(this.content.substring(this.start, this.i)); break; } else if (this.checkClose('onAttrVal')) return; } } while (blankChar[this.content[++this.i]]) { ; } if (this.i < len && !this.checkClose()) { this.start = this.i; this.state = this.attrName; } }; /** * @description 结束标签状态 * @returns {String} 结束的标签名 * @private */ Lexer.prototype.endTag = function () { var c = this.content[this.i]; if (blankChar[c] || c === '>' || c === '/') { this.handler.onCloseTag(this.content.substring(this.start, this.i)); if (c !== '>') { this.i = this.content.indexOf('>', this.i); if (this.i === -1) return; } this.start = ++this.i; this.state = this.text; } else { this.i++; } }; var _default = Parser; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"])) /***/ }), /***/ 2188: /*!*******************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-badge/components/uv-badge/props.js ***! \*******************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default2 = { props: _objectSpread({ // 是否显示圆点 isDot: { type: Boolean, default: false }, // 显示的内容 value: { type: [Number, String], default: '' }, // 是否显示 show: { type: Boolean, default: true }, // 最大值,超过最大值会显示 '{max}+' max: { type: [Number, String], default: 999 }, // 主题类型,error|warning|success|primary type: { type: [String, undefined, null], default: 'error' }, // 当数值为 0 时,是否展示 Badge showZero: { type: Boolean, default: false }, // 背景颜色,优先级比type高,如设置,type参数会失效 bgColor: { type: [String, null], default: null }, // 字体颜色 color: { type: [String, null], default: null }, // 徽标形状,circle-四角均为圆角,horn-左下角为直角 shape: { type: [String, undefined, null], default: 'circle' }, // 设置数字的显示方式,overflow|ellipsis|limit // overflow会根据max字段判断,超出显示`${max}+` // ellipsis会根据max判断,超出显示`${max}...` // limit会依据1000作为判断条件,超出1000,显示`${value/1000}K`,比如2.2k、3.34w,最多保留2位小数 numberType: { type: [String, undefined, null], default: 'overflow' }, // 设置badge的位置偏移,格式为 [x, y],也即设置的为top和right的值,absolute为true时有效 offset: { type: Array, default: function _default() { return []; } }, // 是否反转背景和字体颜色 inverted: { type: Boolean, default: false }, // 是否绝对定位 absolute: { type: Boolean, default: false } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.badge) }; exports.default = _default2; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2189: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-tabs/components/uv-tabs/props.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default2 = { props: _objectSpread({ // 滑块的移动过渡时间,单位ms duration: { type: Number, default: 300 }, // tabs标签数组 list: { type: Array, default: function _default() { return []; } }, // 滑块颜色 lineColor: { type: String, default: '#3c9cff' }, // 菜单选择中时的样式 activeStyle: { type: [String, Object], default: function _default() { return { color: '#303133' }; } }, // 菜单非选中时的样式 inactiveStyle: { type: [String, Object], default: function _default() { return { color: '#606266' }; } }, // 滑块长度 lineWidth: { type: [String, Number], default: 20 }, // 滑块高度 lineHeight: { type: [String, Number], default: 3 }, // 滑块背景显示大小,当滑块背景设置为图片时使用 lineBgSize: { type: String, default: 'cover' }, // 菜单item的样式 itemStyle: { type: [String, Object], default: function _default() { return { height: '44px' }; } }, // 菜单是否可滚动 scrollable: { type: Boolean, default: true }, // 当前选中标签的索引 current: { type: [Number, String], default: 0 }, // 默认读取的键名 keyName: { type: String, default: 'name' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.tabs) }; exports.default = _default2; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 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))) /***/ }), /***/ 2204: /*!*****************************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uni-transition/components/uni-transition/createAnimation.js ***! \*****************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.createAnimation = createAnimation; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 23)); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 24)); 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; } // const defaultOption = { // duration: 300, // timingFunction: 'linear', // delay: 0, // transformOrigin: '50% 50% 0' // } var MPAnimation = /*#__PURE__*/function () { function MPAnimation(options, _this) { (0, _classCallCheck2.default)(this, MPAnimation); this.options = options; // 在iOS10+QQ小程序平台下,传给原生的对象一定是个普通对象而不是Proxy对象,否则会报parameter should be Object instead of ProxyObject的错误 this.animation = uni.createAnimation(_objectSpread({}, options)); this.currentStepAnimates = {}; this.next = 0; this.$ = _this; } (0, _createClass2.default)(MPAnimation, [{ key: "_nvuePushAnimates", value: function _nvuePushAnimates(type, args) { var aniObj = this.currentStepAnimates[this.next]; var styles = {}; if (!aniObj) { styles = { styles: {}, config: {} }; } else { styles = aniObj; } if (animateTypes1.includes(type)) { if (!styles.styles.transform) { styles.styles.transform = ''; } var unit = ''; if (type === 'rotate') { unit = 'deg'; } styles.styles.transform += "".concat(type, "(").concat(args + unit, ") "); } else { styles.styles[type] = "".concat(args); } this.currentStepAnimates[this.next] = styles; } }, { key: "_animateRun", value: function _animateRun() { var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var ref = this.$.$refs['ani'].ref; if (!ref) return; return new Promise(function (resolve, reject) { nvueAnimation.transition(ref, _objectSpread({ styles: styles }, config), function (res) { resolve(); }); }); } }, { key: "_nvueNextAnimate", value: function _nvueNextAnimate(animates) { var _this2 = this; var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var fn = arguments.length > 2 ? arguments[2] : undefined; var obj = animates[step]; if (obj) { var styles = obj.styles, config = obj.config; this._animateRun(styles, config).then(function () { step += 1; _this2._nvueNextAnimate(animates, step, fn); }); } else { this.currentStepAnimates = {}; typeof fn === 'function' && fn(); this.isEnd = true; } } }, { key: "step", value: function step() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; this.animation.step(config); return this; } }, { key: "run", value: function run(fn) { this.$.animationData = this.animation.export(); this.$.timer = setTimeout(function () { typeof fn === 'function' && fn(); }, this.$.durationTime); } }]); return MPAnimation; }(); var animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY', 'translateZ']; var animateTypes2 = ['opacity', 'backgroundColor']; var animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom']; animateTypes1.concat(animateTypes2, animateTypes3).forEach(function (type) { MPAnimation.prototype[type] = function () { var _this$animation; (_this$animation = this.animation)[type].apply(_this$animation, arguments); return this; }; }); function createAnimation(option, _this) { if (!_this) return; clearTimeout(_this.timer); return new MPAnimation(option, _this); } /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2210: /*!*********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-tabbar/components/uv-tabbar/props.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 当前匹配项的name value: { type: [String, Number, null], default: null }, // 是否为iPhoneX留出底部安全距离 safeAreaInsetBottom: { type: Boolean, default: true }, // 是否显示上方边框 border: { type: Boolean, default: true }, // 元素层级z-index zIndex: { type: [String, Number], default: 9 }, // 选中标签的颜色 activeColor: { type: String, default: '#1989fa' }, // 未选中标签的颜色 inactiveColor: { type: String, default: '#7d7e80' }, // 是否固定在底部 fixed: { type: Boolean, default: true }, // fixed定位固定在底部时,是否生成一个等高元素防止塌陷 placeholder: { type: Boolean, default: true }, // 图标大小 iconSize: { type: [String, Number], default: 20 } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.tabbar) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2218: /*!**************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-tabbar/components/uv-tabbar-item/props.js ***! \**************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // item标签的名称,作为与uv-tabbar的value参数匹配的标识符 name: { type: [String, Number, null], default: null }, // uv-ui内置图标或者绝对路径的图片 icon: { icon: String, default: '' }, // 图标大小,默认uv-tabbar的iconSize=20 iconSize: { type: [String, Number], default: '' }, // 右上角的角标提示信息 badge: { type: [String, Number, null], default: null }, // 是否显示圆点,将会覆盖badge参数 dot: { type: Boolean, default: false }, // 描述文本 text: { type: String, default: '' }, // 控制徽标的位置,对象或者字符串形式,可以设置top和right属性 badgeStyle: { type: [Object, String], default: 'top: 6px;right:2px;' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.tabbarItem) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2226: /*!*********************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-loading-icon/components/uv-loading-icon/props.js ***! \*********************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default2 = { props: _objectSpread({ // 是否显示组件 show: { type: Boolean, default: true }, // 颜色 color: { type: String, default: '#909193' }, // 提示文字颜色 textColor: { type: String, default: '#909193' }, // 文字和图标是否垂直排列 vertical: { type: Boolean, default: false }, // 模式选择,circle-圆形,spinner-花朵形,semicircle-半圆形 mode: { type: String, default: 'spinner' }, // 图标大小,单位默认px size: { type: [String, Number], default: 24 }, // 文字大小 textSize: { type: [String, Number], default: 15 }, // 文字样式 textStyle: { type: Object, default: function _default() { return {}; } }, // 文字内容 text: { type: [String, Number], default: '' }, // 动画模式 https://www.runoob.com/cssref/css3-pr-animation-timing-function.html timingFunction: { type: String, default: 'linear' }, // 动画执行周期时间 duration: { type: [String, Number], default: 1200 }, // mode=circle时的暗边颜色 inactiveColor: { type: String, default: '' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.loadingIcon) }; exports.default = _default2; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2241: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-line/components/uv-line/props.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ color: { type: String, default: '#d6d7d9' }, // 长度,竖向时表现为高度,横向时表现为长度,可以为百分比,带px单位的值等 length: { type: [String, Number], default: '100%' }, // 线条方向,col-竖向,row-横向 direction: { type: String, default: 'row' }, // 是否显示细边框 hairline: { type: Boolean, default: true }, // 线条与上下左右元素的间距,字符串形式,如"30px"、"20px 30px" margin: { type: [String, Number], default: 0 }, // 是否虚线,true-虚线,false-实线 dashed: { type: Boolean, default: false } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.line) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2249: /*!***************************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-transition/components/uv-transition/createAnimation.js ***! \***************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.createAnimation = createAnimation; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 23)); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 24)); 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; } // const defaultOption = { // duration: 300, // timingFunction: 'linear', // delay: 0, // transformOrigin: '50% 50% 0' // } var MPAnimation = /*#__PURE__*/function () { function MPAnimation(options, _this) { (0, _classCallCheck2.default)(this, MPAnimation); this.options = options; // 在iOS10+QQ小程序平台下,传给原生的对象一定是个普通对象而不是Proxy对象,否则会报parameter should be Object instead of ProxyObject的错误 this.animation = uni.createAnimation(_objectSpread({}, options)); this.currentStepAnimates = {}; this.next = 0; this.$ = _this; } (0, _createClass2.default)(MPAnimation, [{ key: "_nvuePushAnimates", value: function _nvuePushAnimates(type, args) { var aniObj = this.currentStepAnimates[this.next]; var styles = {}; if (!aniObj) { styles = { styles: {}, config: {} }; } else { styles = aniObj; } if (animateTypes1.includes(type)) { if (!styles.styles.transform) { styles.styles.transform = ''; } var unit = ''; if (type === 'rotate') { unit = 'deg'; } styles.styles.transform += "".concat(type, "(").concat(args + unit, ") "); } else { styles.styles[type] = "".concat(args); } this.currentStepAnimates[this.next] = styles; } }, { key: "_animateRun", value: function _animateRun() { var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var ref = this.$.$refs['ani'].ref; if (!ref) return; return new Promise(function (resolve, reject) { nvueAnimation.transition(ref, _objectSpread({ styles: styles }, config), function (res) { resolve(); }); }); } }, { key: "_nvueNextAnimate", value: function _nvueNextAnimate(animates) { var _this2 = this; var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var fn = arguments.length > 2 ? arguments[2] : undefined; var obj = animates[step]; if (obj) { var styles = obj.styles, config = obj.config; this._animateRun(styles, config).then(function () { step += 1; _this2._nvueNextAnimate(animates, step, fn); }); } else { this.currentStepAnimates = {}; typeof fn === 'function' && fn(); this.isEnd = true; } } }, { key: "step", value: function step() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; this.animation.step(config); return this; } }, { key: "run", value: function run(fn) { this.$.animationData = this.animation.export(); this.$.timer = setTimeout(function () { typeof fn === 'function' && fn(); }, this.$.durationTime); } }]); return MPAnimation; }(); var animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY', 'translateZ']; var animateTypes2 = ['opacity', 'backgroundColor']; var animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom']; animateTypes1.concat(animateTypes2, animateTypes3).forEach(function (type) { MPAnimation.prototype[type] = function () { var _this$animation; (_this$animation = this.animation)[type].apply(_this$animation, arguments); return this; }; }); function createAnimation(option, _this) { if (!_this) return; clearTimeout(_this.timer); return new MPAnimation(option, _this); } /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2255: /*!*****************************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-status-bar/components/uv-status-bar/props.js ***! \*****************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = { props: { bgColor: { type: String, default: 'transparent' } } }; exports.default = _default; /***/ }), /***/ 2270: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-icon/components/uv-icon/icons.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = { 'uvicon-level': 'e68f', 'uvicon-checkbox-mark': 'e659', 'uvicon-folder': 'e694', 'uvicon-movie': 'e67c', 'uvicon-star-fill': 'e61e', 'uvicon-star': 'e618', 'uvicon-phone-fill': 'e6ac', 'uvicon-phone': 'e6ba', 'uvicon-apple-fill': 'e635', 'uvicon-backspace': 'e64d', 'uvicon-attach': 'e640', 'uvicon-empty-data': 'e671', 'uvicon-empty-address': 'e68a', 'uvicon-empty-favor': 'e662', 'uvicon-empty-car': 'e657', 'uvicon-empty-order': 'e66b', 'uvicon-empty-list': 'e672', 'uvicon-empty-search': 'e677', 'uvicon-empty-permission': 'e67d', 'uvicon-empty-news': 'e67e', 'uvicon-empty-history': 'e685', 'uvicon-empty-coupon': 'e69b', 'uvicon-empty-page': 'e60e', 'uvicon-empty-wifi-off': 'e6cc', 'uvicon-reload': 'e627', 'uvicon-order': 'e695', 'uvicon-server-man': 'e601', 'uvicon-search': 'e632', 'uvicon-more-dot-fill': 'e66f', 'uvicon-scan': 'e631', 'uvicon-map': 'e665', 'uvicon-map-fill': 'e6a8', 'uvicon-tags': 'e621', 'uvicon-tags-fill': 'e613', 'uvicon-eye': 'e664', 'uvicon-eye-fill': 'e697', 'uvicon-eye-off': 'e69c', 'uvicon-eye-off-outline': 'e688', 'uvicon-mic': 'e66d', 'uvicon-mic-off': 'e691', 'uvicon-calendar': 'e65c', 'uvicon-trash': 'e623', 'uvicon-trash-fill': 'e6ce', 'uvicon-play-left': 'e6bf', 'uvicon-play-right': 'e6b3', 'uvicon-minus': 'e614', 'uvicon-plus': 'e625', 'uvicon-info-circle': 'e69f', 'uvicon-info-circle-fill': 'e6a7', 'uvicon-question-circle': 'e622', 'uvicon-question-circle-fill': 'e6bc', 'uvicon-close': 'e65a', 'uvicon-checkmark': 'e64a', 'uvicon-checkmark-circle': 'e643', 'uvicon-checkmark-circle-fill': 'e668', 'uvicon-setting': 'e602', 'uvicon-setting-fill': 'e6d0', 'uvicon-heart': 'e6a2', 'uvicon-heart-fill': 'e68b', 'uvicon-camera': 'e642', 'uvicon-camera-fill': 'e650', 'uvicon-more-circle': 'e69e', 'uvicon-more-circle-fill': 'e684', 'uvicon-chat': 'e656', 'uvicon-chat-fill': 'e63f', 'uvicon-bag': 'e647', 'uvicon-error-circle': 'e66e', 'uvicon-error-circle-fill': 'e655', 'uvicon-close-circle': 'e64e', 'uvicon-close-circle-fill': 'e666', 'uvicon-share': 'e629', 'uvicon-share-fill': 'e6bb', 'uvicon-share-square': 'e6c4', 'uvicon-shopping-cart': 'e6cb', 'uvicon-shopping-cart-fill': 'e630', 'uvicon-bell': 'e651', 'uvicon-bell-fill': 'e604', 'uvicon-list': 'e690', 'uvicon-list-dot': 'e6a9', 'uvicon-zhifubao-circle-fill': 'e617', 'uvicon-weixin-circle-fill': 'e6cd', 'uvicon-weixin-fill': 'e620', 'uvicon-qq-fill': 'e608', 'uvicon-qq-circle-fill': 'e6b9', 'uvicon-moments-circel-fill': 'e6c2', 'uvicon-moments': 'e6a0', 'uvicon-car': 'e64f', 'uvicon-car-fill': 'e648', 'uvicon-warning-fill': 'e6c7', 'uvicon-warning': 'e6c1', 'uvicon-clock-fill': 'e64b', 'uvicon-clock': 'e66c', 'uvicon-edit-pen': 'e65d', 'uvicon-edit-pen-fill': 'e679', 'uvicon-email': 'e673', 'uvicon-email-fill': 'e683', 'uvicon-minus-circle': 'e6a5', 'uvicon-plus-circle': 'e603', 'uvicon-plus-circle-fill': 'e611', 'uvicon-file-text': 'e687', 'uvicon-file-text-fill': 'e67f', 'uvicon-pushpin': 'e6d1', 'uvicon-pushpin-fill': 'e6b6', 'uvicon-grid': 'e68c', 'uvicon-grid-fill': 'e698', 'uvicon-play-circle': 'e6af', 'uvicon-play-circle-fill': 'e62a', 'uvicon-pause-circle-fill': 'e60c', 'uvicon-pause': 'e61c', 'uvicon-pause-circle': 'e696', 'uvicon-gift-fill': 'e6b0', 'uvicon-gift': 'e680', 'uvicon-kefu-ermai': 'e660', 'uvicon-server-fill': 'e610', 'uvicon-coupon-fill': 'e64c', 'uvicon-coupon': 'e65f', 'uvicon-integral': 'e693', 'uvicon-integral-fill': 'e6b1', 'uvicon-home-fill': 'e68e', 'uvicon-home': 'e67b', 'uvicon-account': 'e63a', 'uvicon-account-fill': 'e653', 'uvicon-thumb-down-fill': 'e628', 'uvicon-thumb-down': 'e60a', 'uvicon-thumb-up': 'e612', 'uvicon-thumb-up-fill': 'e62c', 'uvicon-lock-fill': 'e6a6', 'uvicon-lock-open': 'e68d', 'uvicon-lock-opened-fill': 'e6a1', 'uvicon-lock': 'e69d', 'uvicon-red-packet': 'e6c3', 'uvicon-photo-fill': 'e6b4', 'uvicon-photo': 'e60d', 'uvicon-volume-off-fill': 'e6c8', 'uvicon-volume-off': 'e6bd', 'uvicon-volume-fill': 'e624', 'uvicon-volume': 'e605', 'uvicon-download': 'e670', 'uvicon-arrow-up-fill': 'e636', 'uvicon-arrow-down-fill': 'e638', 'uvicon-play-left-fill': 'e6ae', 'uvicon-play-right-fill': 'e6ad', 'uvicon-arrow-downward': 'e634', 'uvicon-arrow-leftward': 'e63b', 'uvicon-arrow-rightward': 'e644', 'uvicon-arrow-upward': 'e641', 'uvicon-arrow-down': 'e63e', 'uvicon-arrow-right': 'e63c', 'uvicon-arrow-left': 'e646', 'uvicon-arrow-up': 'e633', 'uvicon-skip-back-left': 'e6c5', 'uvicon-skip-forward-right': 'e61f', 'uvicon-arrow-left-double': 'e637', 'uvicon-man': 'e675', 'uvicon-woman': 'e626', 'uvicon-en': 'e6b8', 'uvicon-twitte': 'e607', 'uvicon-twitter-circle-fill': 'e6cf' }; exports.default = _default; /***/ }), /***/ 2271: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-icon/components/uv-icon/props.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 图标类名 name: { type: String, default: '' }, // 图标颜色,可接受主题色 color: { type: String, default: '#606266' }, // 字体大小,单位px size: { type: [String, Number], default: '16px' }, // 是否显示粗体 bold: { type: Boolean, default: false }, // 点击图标的时候传递事件出去的index(用于区分点击了哪一个) index: { type: [String, Number], default: null }, // 触摸图标时的类名 hoverClass: { type: String, default: '' }, // 自定义扩展前缀,方便用户扩展自己的图标库 customPrefix: { type: String, default: 'uvicon' }, // 图标右边或者下面的文字 label: { type: [String, Number], default: '' }, // label的位置,只能右边或者下边 labelPos: { type: String, default: 'right' }, // label的大小 labelSize: { type: [String, Number], default: '15px' }, // label的颜色 labelColor: { type: String, default: '#606266' }, // label与图标的距离 space: { type: [String, Number], default: '3px' }, // 图片的mode imgMode: { type: String, default: 'aspectFit' }, // 用于显示图片小图标时,图片的宽度 width: { type: [String, Number], default: '' }, // 用于显示图片小图标时,图片的高度 height: { type: [String, Number], default: '' }, // 用于解决某些情况下,让图标垂直居中的用途 top: { type: [String, Number], default: 0 }, // 是否阻止事件传播 stop: { type: Boolean, default: false } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.icon) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2279: /*!***********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-toolbar/components/uv-toolbar/props.js ***! \***********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 是否展示工具条 show: { type: Boolean, default: true }, // 是否显示下边框 showBorder: { type: Boolean, default: false }, // 取消按钮的文字 cancelText: { type: String, default: '取消' }, // 确认按钮的文字 confirmText: { type: String, default: '确认' }, // 取消按钮的颜色 cancelColor: { type: String, default: '#909193' }, // 确认按钮的颜色 confirmColor: { type: String, default: '#3c9cff' }, // 标题文字 title: { type: String, default: '' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.toolbar) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2287: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-text/components/uv-text/value.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _test = __webpack_require__(/*! @/uni_modules/uv-ui-tools/libs/function/test.js */ 63); var _index = __webpack_require__(/*! @/uni_modules/uv-ui-tools/libs/function/index.js */ 62); var _default = { computed: { // 经处理后需要显示的值 value: function value() { var text = this.text, mode = this.mode, format = this.format, href = this.href; // 价格类型 if (mode === 'price') { // 如果text不为金额进行提示 if (!/^\d+(\.\d+)?$/.test(text)) { (0, _index.error)('金额模式下,text参数需要为金额格式'); } // 进行格式化,判断用户传入的format参数为正则,或者函数,如果没有传入format,则使用默认的金额格式化处理 if ((0, _test.func)(format)) { // 如果用户传入的是函数,使用函数格式化 return format(text); } // 如果format非正则,非函数,则使用默认的金额格式化方法进行操作 return (0, _index.priceFormat)(text, 2); } if (mode === 'date') { // 判断是否合法的日期或者时间戳 !(0, _test.date)(text) && (0, _index.error)('日期模式下,text参数需要为日期或时间戳格式'); // 进行格式化,判断用户传入的format参数为正则,或者函数,如果没有传入format,则使用默认的格式化处理 if ((0, _test.func)(format)) { // 如果用户传入的是函数,使用函数格式化 return format(text); } if (format) { // 如果format非正则,非函数,则使用默认的时间格式化方法进行操作 return (0, _index.timeFormat)(text, format); } // 如果没有设置format,则设置为默认的时间格式化形式 return (0, _index.timeFormat)(text, 'yyyy-mm-dd'); } if (mode === 'phone') { // 判断是否合法的手机号 // !mobile(text) && error('手机号模式下,text参数需要为手机号码格式') if ((0, _test.func)(format)) { // 如果用户传入的是函数,使用函数格式化 return format(text); } if (format === 'encrypt') { // 如果format为encrypt,则将手机号进行星号加密处理 return "".concat(text.substr(0, 3), "****").concat(text.substr(7)); } return text; } if (mode === 'name') { // 判断是否合法的字符粗 !(typeof text === 'string') && (0, _index.error)('姓名模式下,text参数需要为字符串格式'); if ((0, _test.func)(format)) { // 如果用户传入的是函数,使用函数格式化 return format(text); } if (format === 'encrypt') { // 如果format为encrypt,则将姓名进行星号加密处理 return this.formatName(text); } return text; } if (mode === 'link') { // 判断是否合法的字符粗 !(0, _test.url)(href) && (0, _index.error)('超链接模式下,href参数需要为URL格式'); return text; } return text; } }, methods: { // 默认的姓名脱敏规则 formatName: function formatName(name) { var value = ''; if (name.length === 2) { value = name.substr(0, 1) + '*'; } else if (name.length > 2) { var char = ''; for (var i = 0, len = name.length - 2; i < len; i++) { char += '*'; } value = name.substr(0, 1) + char + name.substr(-1, 1); } else { value = name; } return value; } } }; exports.default = _default; /***/ }), /***/ 2288: /*!**************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-ui-tools/libs/mixin/button.js ***! \**************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = { props: { lang: String, sessionFrom: String, sendMessageTitle: String, sendMessagePath: String, sendMessageImg: String, showMessageCard: Boolean, appParameter: String, formType: String, openType: String } }; exports.default = _default; /***/ }), /***/ 2289: /*!****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-ui-tools/libs/mixin/openType.js ***! \****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = { props: { openType: String }, emits: ['getphonenumber', 'getuserinfo', 'error', 'opensetting', 'launchapp', 'contact', 'chooseavatar', 'addgroupapp', 'chooseaddress', 'subscribe', 'login', 'im'], methods: { onGetPhoneNumber: function onGetPhoneNumber(event) { this.$emit('getphonenumber', event.detail); }, onGetUserInfo: function onGetUserInfo(event) { this.$emit('getuserinfo', event.detail); }, onError: function onError(event) { this.$emit('error', event.detail); }, onOpenSetting: function onOpenSetting(event) { this.$emit('opensetting', event.detail); }, onLaunchApp: function onLaunchApp(event) { this.$emit('launchapp', event.detail); }, onContact: function onContact(event) { this.$emit('contact', event.detail); }, onChooseavatar: function onChooseavatar(event) { this.$emit('chooseavatar', event.detail); }, onAgreeprivacyauthorization: function onAgreeprivacyauthorization(event) { this.$emit('agreeprivacyauthorization', event.detail); }, onAddgroupapp: function onAddgroupapp(event) { this.$emit('addgroupapp', event.detail); }, onChooseaddress: function onChooseaddress(event) { this.$emit('chooseaddress', event.detail); }, onSubscribe: function onSubscribe(event) { this.$emit('subscribe', event.detail); }, onLogin: function onLogin(event) { this.$emit('login', event.detail); }, onIm: function onIm(event) { this.$emit('im', event.detail); } } }; exports.default = _default; /***/ }), /***/ 2290: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-text/components/uv-text/props.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default2 = { props: _objectSpread({ // 主题颜色 type: { type: String, default: '' }, // 是否显示 show: { type: Boolean, default: true }, // 显示的值 text: { type: [String, Number], default: '' }, // 前置图标 prefixIcon: { type: String, default: '' }, // 后置图标 suffixIcon: { type: String, default: '' }, // 文本处理的匹配模式 // text-普通文本,price-价格,phone-手机号,name-姓名,date-日期,link-超链接 mode: { type: String, default: '' }, // mode=link下,配置的链接 href: { type: String, default: '' }, // 格式化规则 format: { type: [String, Function], default: '' }, // mode=phone时,点击文本是否拨打电话 call: { type: Boolean, default: true }, // 小程序的打开方式 openType: { type: String, default: '' }, // 是否粗体,默认normal bold: { type: Boolean, default: false }, // 是否块状 block: { type: Boolean, default: false }, // 文本显示的行数,如果设置,超出此行数,将会显示省略号 lines: { type: [String, Number], default: '' }, // 文本颜色 color: { type: String, default: '#303133' }, // 字体大小 size: { type: [String, Number], default: 15 }, // 图标的样式 iconStyle: { type: [Object, String], default: function _default() { return { fontSize: '15px' }; } }, // 文字装饰,下划线,中划线等,可选值 none|underline|line-through decoration: { type: String, default: 'none' }, // 外边距,对象、字符串,数值形式均可 margin: { type: [Object, String, Number], default: 0 }, // 文本行高 lineHeight: { type: [String, Number], default: '' }, // 文本对齐方式,可选值left|center|right align: { type: String, default: 'left' }, // 文字换行,可选值break-word|normal|anywhere wordWrap: { type: String, default: 'normal' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.text) }; exports.default = _default2; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 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; /***/ }), /***/ 2314: /*!*********************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-slider/components/uv-slider/props.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ value: { type: [Number, String], default: 0 }, modelValue: { type: [Number, String], default: 0 }, // 最小可选值 min: { type: [Number, String], default: 0 }, // 最大可选值 max: { type: [Number, String], default: 100 }, // 步长,取值必须大于 0,并且可被(max - min)整除 step: { type: [Number, String], default: 1 }, // 滑块右侧已选择部分的背景色 activeColor: { type: String, default: '#2979ff' }, // 滑块左侧未选择部分的背景色 backgroundColor: { type: String, default: '#c0c4cc' }, // 滑块的大小,取值范围为 12 - 28 blockSize: { type: [Number, String], default: 18 }, // 滑块的颜色 blockColor: { type: String, default: '#ffffff' }, // 禁用状态 disabled: { type: Boolean, default: false }, // 是否显示当前的选择值 showValue: { type: Boolean, default: false } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.slider) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 2320: /*!*****************************************************************************************************!*\ !*** /Users/danji/Desktop/mrr/mrr-sj/mrr.app.front/uni_modules/uv-link/components/uv-link/props.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11)); var _uni$$uv, _uni$$uv$props; 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 _default = { props: _objectSpread({ // 文字颜色 color: { type: String, default: '' }, // 字体大小,单位px fontSize: { type: [String, Number], default: 14 }, // 是否显示下划线 underLine: { type: Boolean, default: false }, // 要跳转的链接 href: { type: String, default: '' }, // 小程序中复制到粘贴板的提示语 mpTips: { type: String, default: '链接已复制,请在浏览器打开' }, // 下划线颜色 lineColor: { type: String, default: '' }, // 超链接的问题,不使用slot形式传入,是因为nvue下无法修改颜色 text: { type: String, default: '' } }, (_uni$$uv = uni.$uv) === null || _uni$$uv === void 0 ? void 0 : (_uni$$uv$props = _uni$$uv.props) === null || _uni$$uv$props === void 0 ? void 0 : _uni$$uv$props.link) }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 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, Buffer) {/*! * Vue.js v2.6.11 * (c) 2014-2025 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 && window.navigator.userAgent && 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.