(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;
/***/ }),
/***/ 100:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/gridItem.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:06:13
* @FilePath : /u-view2.0/uview-ui/libs/config/props/gridItem.js
*/
var _default = {
// grid-item组件
gridItem: {
name: null,
bgColor: 'transparent'
}
};
exports.default = _default;
/***/ }),
/***/ 101:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/icon.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.default = void 0;
var _config = _interopRequireDefault(__webpack_require__(/*! ../config */ 68));
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 18:00:14
* @FilePath : /u-view2.0/uview-ui/libs/config/props/icon.js
*/
var color = _config.default.color;
var _default = {
// icon组件
icon: {
name: '',
color: color['u-content-color'],
size: '16px',
bold: false,
index: '',
hoverClass: '',
customPrefix: 'uicon',
label: '',
labelPos: 'right',
labelSize: '15px',
labelColor: color['u-content-color'],
space: '3px',
imgMode: '',
width: '',
height: '',
top: 0,
stop: false
}
};
exports.default = _default;
/***/ }),
/***/ 102:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/image.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:01:51
* @FilePath : /u-view2.0/uview-ui/libs/config/props/image.js
*/
var _default = {
// image组件
image: {
src: '',
mode: 'aspectFill',
width: '300',
height: '225',
shape: 'square',
radius: 0,
lazyLoad: true,
showMenuByLongpress: true,
loadingIcon: 'photo',
errorIcon: 'error-circle',
showLoading: true,
showError: true,
fade: true,
webp: false,
duration: 500,
bgColor: '#f3f4f6'
}
};
exports.default = _default;
/***/ }),
/***/ 103:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/indexAnchor.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:13:15
* @FilePath : /u-view2.0/uview-ui/libs/config/props/indexAnchor.js
*/
var _default = {
// indexAnchor 组件
indexAnchor: {
text: '',
color: '#606266',
size: 14,
bgColor: '#dedede',
height: 32
}
};
exports.default = _default;
/***/ }),
/***/ 104:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/indexList.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:13:35
* @FilePath : /u-view2.0/uview-ui/libs/config/props/indexList.js
*/
var _default = {
// indexList 组件
indexList: {
inactiveColor: '#606266',
activeColor: '#5677fc',
indexList: function indexList() {
return [];
},
sticky: true,
customNavHeight: 0
}
};
exports.default = _default;
/***/ }),
/***/ 105:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/input.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:13:55
* @FilePath : /u-view2.0/uview-ui/libs/config/props/input.js
*/
var _default = {
// index 组件
input: {
value: '',
type: 'text',
fixed: false,
disabled: false,
disabledColor: '#f5f7fa',
clearable: false,
password: false,
maxlength: -1,
placeholder: null,
placeholderClass: 'input-placeholder',
placeholderStyle: 'color: #c0c4cc',
showWordLimit: false,
confirmType: 'done',
confirmHold: false,
holdKeyboard: false,
focus: false,
autoBlur: false,
disableDefaultPadding: false,
cursor: -1,
cursorSpacing: 30,
selectionStart: -1,
selectionEnd: -1,
adjustPosition: true,
inputAlign: 'left',
fontSize: '15px',
color: '#303133',
prefixIcon: '',
prefixIconStyle: '',
suffixIcon: '',
suffixIconStyle: '',
border: 'surround',
readonly: false,
shape: 'square',
formatter: null
}
};
exports.default = _default;
/***/ }),
/***/ 106:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/keyboard.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:07:49
* @FilePath : /u-view2.0/uview-ui/libs/config/props/keyboard.js
*/
var _default = {
// 键盘组件
keyboard: {
mode: 'number',
dotDisabled: false,
tooltip: true,
showTips: true,
tips: '',
showCancel: true,
showConfirm: true,
random: false,
safeAreaInsetBottom: true,
closeOnClickOverlay: true,
show: false,
overlay: true,
zIndex: 10075,
cancelText: '取消',
confirmText: '确定',
autoChange: false
}
};
exports.default = _default;
/***/ }),
/***/ 107:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/line.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:04:49
* @FilePath : /u-view2.0/uview-ui/libs/config/props/line.js
*/
var _default = {
// line组件
line: {
color: '#d6d7d9',
length: '100%',
direction: 'row',
hairline: true,
margin: 0,
dashed: false
}
};
exports.default = _default;
/***/ }),
/***/ 108:
/*!**************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/lineProgress.js ***!
\**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:14:11
* @FilePath : /u-view2.0/uview-ui/libs/config/props/lineProgress.js
*/
var _default = {
// lineProgress 组件
lineProgress: {
activeColor: '#19be6b',
inactiveColor: '#ececec',
percentage: 0,
showText: true,
height: 12
}
};
exports.default = _default;
/***/ }),
/***/ 109:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/link.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.default = void 0;
var _config = _interopRequireDefault(__webpack_require__(/*! ../config */ 68));
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:45:36
* @FilePath : /u-view2.0/uview-ui/libs/config/props/link.js
*/
var color = _config.default.color;
var _default = {
// link超链接组件props参数
link: {
color: color['u-primary'],
fontSize: 15,
underLine: false,
href: '',
mpTips: '链接已复制,请在浏览器打开',
lineColor: '',
text: ''
}
};
exports.default = _default;
/***/ }),
/***/ 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;
/***/ }),
/***/ 110:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/list.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:14:53
* @FilePath : /u-view2.0/uview-ui/libs/config/props/list.js
*/
var _default = {
// list 组件
list: {
showScrollbar: false,
lowerThreshold: 50,
upperThreshold: 0,
scrollTop: 0,
offsetAccuracy: 10,
enableFlex: false,
pagingEnabled: false,
scrollable: true,
scrollIntoView: '',
scrollWithAnimation: false,
enableBackToTop: false,
height: 0,
width: 0,
preLoadScreen: 1
}
};
exports.default = _default;
/***/ }),
/***/ 111:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/listItem.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:15:40
* @FilePath : /u-view2.0/uview-ui/libs/config/props/listItem.js
*/
var _default = {
// listItem 组件
listItem: {
anchor: ''
}
};
exports.default = _default;
/***/ }),
/***/ 112:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/loadingIcon.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.default = void 0;
var _config = _interopRequireDefault(__webpack_require__(/*! ../config */ 68));
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:45:47
* @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingIcon.js
*/
var color = _config.default.color;
var _default = {
// loading-icon加载中图标组件
loadingIcon: {
show: true,
color: color['u-tips-color'],
textColor: color['u-tips-color'],
vertical: false,
mode: 'spinner',
size: 24,
textSize: 15,
text: '',
timingFunction: 'ease-in-out',
duration: 1200,
inactiveColor: ''
}
};
exports.default = _default;
/***/ }),
/***/ 113:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/loadingPage.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:00:23
* @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingPage.js
*/
var _default = {
// loading-page组件
loadingPage: {
loadingText: '正在加载',
image: '',
loadingMode: 'circle',
loading: false,
bgColor: '#ffffff',
color: '#C8C8C8',
fontSize: 19,
iconSize: 28,
loadingColor: '#C8C8C8'
}
};
exports.default = _default;
/***/ }),
/***/ 114:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/loadmore.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:15:26
* @FilePath : /u-view2.0/uview-ui/libs/config/props/loadmore.js
*/
var _default = {
// loadmore 组件
loadmore: {
status: 'loadmore',
bgColor: 'transparent',
icon: true,
fontSize: 14,
iconSize: 17,
color: '#606266',
loadingIcon: 'spinner',
loadmoreText: '加载更多',
loadingText: '正在加载...',
nomoreText: '没有更多了',
isDot: false,
iconColor: '#b7b7b7',
marginTop: 10,
marginBottom: 10,
height: 'auto',
line: false,
lineColor: '#E6E8EB',
dashed: false
}
};
exports.default = _default;
/***/ }),
/***/ 115:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/modal.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:15:59
* @FilePath : /u-view2.0/uview-ui/libs/config/props/modal.js
*/
var _default = {
// modal 组件
modal: {
show: false,
title: '',
content: '',
confirmText: '确认',
cancelText: '取消',
showConfirmButton: true,
showCancelButton: false,
confirmColor: '#2979ff',
cancelColor: '#606266',
buttonReverse: false,
zoom: true,
asyncClose: false,
closeOnClickOverlay: false,
negativeTop: 0,
width: '650rpx',
confirmButtonShape: '',
duration: 400
}
};
exports.default = _default;
/***/ }),
/***/ 116:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/navbar.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.default = void 0;
var _color = _interopRequireDefault(__webpack_require__(/*! ../color */ 117));
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:16:18
* @FilePath : /u-view2.0/uview-ui/libs/config/props/navbar.js
*/
var _default = {
// navbar 组件
navbar: {
safeAreaInsetTop: true,
placeholder: false,
fixed: true,
border: false,
leftIcon: 'arrow-left',
leftText: '',
rightText: '',
rightIcon: '',
title: '',
bgColor: '#ffffff',
titleWidth: '400rpx',
height: '44px',
leftIconSize: 20,
leftIconColor: _color.default.mainColor,
autoBack: false,
titleStyle: ''
}
};
exports.default = _default;
/***/ }),
/***/ 117:
/*!*************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/color.js ***!
\*************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// 为了让用户能够自定义主题,会逐步弃用此文件,各颜色通过css提供
// 为了给某些特殊场景使用和向后兼容,无需删除此文件(2020-06-20)
var color = {
primary: '#3c9cff',
info: '#909399',
default: '#909399',
warning: '#f9ae3d',
error: '#f56c6c',
success: '#5ac725',
mainColor: '#303133',
contentColor: '#606266',
tipsColor: '#909399',
lightColor: '#c0c4cc',
borderColor: '#e4e7ed'
};
var _default = color;
exports.default = _default;
/***/ }),
/***/ 118:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/noNetwork.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:16:39
* @FilePath : /u-view2.0/uview-ui/libs/config/props/noNetwork.js
*/
var _default = {
// noNetwork
noNetwork: {
tips: '哎呀,网络信号丢失',
zIndex: '',
image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAABLAAAAADYYILnAABAAElEQVR4Ae29CZhkV3kefNeq6m2W7tn3nl0aCbHIAgmQPGB+sLCNzSID9g9PYrAf57d/+4+DiW0cy8QBJ06c2In/PLFDHJ78+MGCGNsYgyxwIwktwEijAc1ohtmnZ+2Z7p5eq6vu9r/vuXWrq25VdVV1V3dXVX9Hmj73nv285963vvOd75yraeIEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQaD8E9PbrkvRopSMwMBBYRs+5O/yJS68cPnzYXel4tFP/jXbqjPRFEAiCQNe6Bw/6gdFn9Oy9Q90LLG2DgBBW2wyldIQIPPPCte2a5q3jtR+4ff/4wuBuXotrDwSEsNpjHKUXQODppy+udYJMEUEZgbd94DvnNwlA7YGAEFZ7jOOK78Xp06eTTkq7sxwQhmXuf/754VXl4iSstRAQwmqt8ZLWlkHg0UcD49qYfUjXfLtMtOZ7npExJu4iqZWLl7DWQUAIq3XGSlpaAYHD77q8xwuCOSUoXw8Sl0eMux977DGzQjES3AIICGG1wCBJEysj8PXnz230XXdr5RQFMYbRvWnv6w8UhMhliyGwYghr4Pjg3oEXL34ey9zyC9tiD2ml5h47dr1LN7S6CMjz/A3PvHh1Z6UyJby5EVgRhKUe7Kz/JU0LfvrJo5f+Y3MPibSuFgQGBgasYSd9l6GDsup0WS/T/9RTp9fXmU2SNwECdQ92E7S57iaMeJnPQLK6ixkDLfjlb7546RfrLkQyNBcC3dsP6oHWMd9G+V3JgwPHh7rnm1/yLQ8CbU9Y33zp0j+nZFUMb/DHmB7+SHGY3LUKAk8cObtD00xlHDrfNge+Z2ozU3c9dvx4Yr5lSL6lR6CtCWvg6OAPw9z538ZhhZRl6XrwhW8du1KX/iNejtwvPQIDR8+vSRqJ/obU7GupjdNdh2gW0ZDypJBFR6BtB2rg2OVtuub9JcmpHIpBoK1xfffLzx4f7C0XL2HNiYDp6bs9z23Ypn1fC1Y/9PCFDc3ZW2lVHIG2JKzTp4Ok7nv/G6Q054MIvda+bNb74pEgKGtwGAdL7pcfAa8vOKEZ2kyjWuLr7uDh+/qvN6o8KWdxEWhLwroyeek/g4zuqwU6kNrhyZcu/UktaSXN8iNwuL9/RuvVXtJ9PbPQ1vhmcP6t9+47u9ByJP/SIdB2hDVw9MJHQFYfrQdCph84evFX68kjaZcPAZJWwjMXRFpJ2zr91tfuvrh8vZCa54NA2xGWrunvmg8QWCJ/N4ir7fCYDxatkOeBB7an501agXbygVdvv9IK/ZQ2FiPQdi9osGbH+zRNf7y4m9Xu9Me7N9nv0HXdr5ZS4psHgXpJC9P/wDRTx0Vn1TxjWG9LGrbaUm/Fi5meSvcrkxf/Cg/ow9XqAUk91v3qHT97r6471dJKfHMi8Oyzgx1Z03t1YAQVT2MwgsC3u+yXHzi0faQ5eyGtqgWBtpOw2Ol9+/TM+sTOn8L08MtzgQCy+tOHXr3jA0JWc6HU/HF5Scssr4jXcYqfP6V/T8iq+ceyWgvbUsKKOn38eJAYyl56TAuCEr2WYei//9Crd/5GlFb81kdASVopSFrerKRlaoZj9HR+700H10+0fg+lB21NWBxe2lhNHsUpDZr27mi4dV379R9+za4/iO7Fbx8ECknLCPTsTDJ17O33bJpqnx6u7J60PWFxeAcCbMV56dJfQKf1bkMLfuGh1+76zMoe9vbuPUnLsb2DtmOe5HSxvXsrvWtLBEhaTx29+Ma27Jx0ShAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQaEsEVoQdVluO3BJ06ptHL34b1XRjp4Ch6Rq24+kmjG4Nwwg+9uA9u/73EjRBqhAEihAoe3xwUQq5WTYEzp0b3ZnV/Ncf6O/9AvY9wlh/6dy3X7ncN512Zw9BVLXjuAP4np44vnQtkZoEgVkEhLBmsWiKqwsXpjbPBOn3gRfenwnc+7GBe+zsjclvonFDS9nA9Iy/u3x9+vAP3735VPk4CRUEFhcBIazFxbfm0k9fHD7k+v4nQFaPQIrx8Gmyx/GJ0J/t7ez7mw0b9MmaC2pQQgh0/ZSm4g5TwueWWtqLt0HuVy4CQljLPPYnB0depTn+b3t+8B4t0AdBUv93h2H9xc6da0aXs2m+r1WQsLRnl7NdUvfKRkAIa5nG//r1oGtsZvjTgev/kqYHF/TA+AXoqv4npJemOEiQU1Eo2l+G0movBK1UBBPU7s9E1+ILAkuNgKwSLjXiqO/khVtvARH8dxDBRkMzPrF/V+9/BlG5y9CUqlXinHv9mRPXtvuus88L9H3JPv2zD2yXExCqAicJBIFWRwAvv3Xqwq0/Pnn+lv/K+ZvfPH3p9p5W75O0fxaBp793ce3AwIDMWmYhafiVgNtwSMsXeHp4eNXJC8Nf0PAdRCiuf/XgrnWUqsqotcvnl9DmRkCdweX4b9N7+m/ih+mbMraLM14yJVwcXItKpT1VRve+ArC3Qqn+3gM7132jKEGZm6tXg86J7OhDfuA/iHwPUpfUZSfu2L59tXxEoQxeyxkEgjKeOnLxHb4RqC+NY5H3+2953d4XlrNN7Vq3ENYij+yZwbG9jpt9GkBPQ5H9zgP9607OVeWp87cOQtn9zwJf+xDMNFfj+jryPqXpxj8c2Nn7P+SXey70lidu4IXzb0DNB4tr9751+HV7zxSHyd1CERDCWiiCc+QPjUCnsaqmZ62O5IN7N/VUNP48ee7mAZDTf4Tt049iUG4Guv4ZfNLos9UIbo7qJWoJEHjy+bP7fNsoOcnW0A0/aacef8PdG28sQTNWTBVCWIs01OfPj66BpfqTmq732UnjgT1bei+Vq4pTv7HM8Ceg2/o1qLQug7T+FaaM3IqTLZdewpoHgYEjV9fphvOj+OShWa5V+CxvZtpzv/LwG/aNl4uXsPoRwI+4uEYjAJ2GmdG8L0FK2mYa+tsrkdXZy+P7x2ZuHdW14P+BLdank9q6Qwd3rf+ckFWjR6Tx5Q2cP58K9Jm3VCIr1ogt48lO237r3//96YofeG18y9q7RFklXITxPXV+5DchKb3ZDMy37Nu5tuxG4R9cHH6b42QfAzlds+3EPXu2rfrBIjRFilwkBIIR7SHoJDurFU89ZOd680Gke6JaWomvjoBIWNUxqivFD87fej0e0n8Fwvr0/t1rnyqX+QfnRz7g+8FX8Rv8vL3auF/IqhxKzR2WCPxXqKeq3krDTdj2ierpJEUtCIgOqxaUakwzNBR0D09yiqePHOjveyOkpxLr9VMXb73V97S/h3nDXx7Y2fdPkAYbncW1IgIDxy5vM7LZt/hgrnLtxyaBrJNxv/72N+6tuNhSLp+EVUZACKsyNnXHvHL+1qcgNf2KbSXu2bt9dcmS9qlzo/fARgcmCtpzB3b1/Vg5QiuslLowENyDWDn8cSjl98PgdBviu03N+rl9/WufLEwr18uDwLdevLTF1YK3xnVZ2HI1bUxrT7z5zTuXdRP78qCyeLUKYTUI25OXbm4JPO00TBj+6I7+db8ZL3ZwMOiYdG4dA1lN9HWte2iuI2NAVPapC8O/CGPR34Ip/AZIbIMo7yX8G9QMbcS09P+2b1vf5XgdrXaPfiYns9oeLLEd8D1/B7Dp0E1jGP042pXQj7RKf546cmGzp+tv1TRf6YQD35/QO3seP3xow5IfC9QqmM23naJ0ny9ysXwgq98BWc0kVhv/Nhalbqe8kd/Fr8MOSEr3zEVWrwyO3I29hl+E9LUHGf+nAXI6sGPdd8uV2YphIKnE5IyL6bLxk7cn3bdkHHefrpvJAExMZ1uBZmqeNzXtfzUzk/m/ens7LjV7Px+8d9e1579/44l0duZtge+Np5zEEw8c2pBu9na3YvtEwmrAqNE8IZvNHsep5//yjl3r/0O8yFOXbv0QCO05gP0JGIL+fjw+uj91YeRh/Dp/PtCDM7Zpfmjvjt6Xo7hW9ycmJjaYduf7Hdf/8HTGfa3rG9rYxLSWnsloPg7fijZV8oFM2Ja2a9t6EJd7bCztvHP7us4rrdD/r3/7ct9I99jEI4cOiQ3dIg2YEFYDgOUJDFj1e8TqX7cT4kImXuQr5279A4DeBEX8ayvprU4N3rovcALot/TH13T0fXDTJn0qXk4r3k9OTm4y7a6PzjjORzOOvn1kbEqbnEprPhRzwAKzwFLHk05hv6Yd6N+o3R6beG50aPSdr3qV6IJKkVp5ITIlXOCYn4Yexr0w/DO6YXymHFlR0e5r7tsM3fxgJbI6fW1ivTeT+SsYmr54cFff+5Cu5X+hb94Merp6/J/PusGvTE6724eGJ7RpSFOkKPCUZvBPBccoHBet3Rwe13rX9tw/PjXzZ5hKvr8SfhWKkeA2REAIa4GD6p0feRdWBnvxjv2PckVhVfBf4A29uG/X2i+Ui2eYn8n8NryuDr3jPfWSFV5k44UT137eshIP2K7/64cObbheqZ6lCp+Ydt8TBO7vTM5od1+/NR4SFVhoLpKKt410lnE8LTMzo3V2dLznxLkhYgQ9obiVjEDln7mVjEodfYcpw+MAsftg/7qSDbAnb97sCSb0Yei2fqOcbovVqKNnNO8HmAE9Cv3Wp+uoWjt27HpXNqH9WTKR+kBHKqEFbvo5y3N/avfu4g23R45f3WGa1k9ZicTd0zPTf/f6O7f8dT311Jp2fHzmgJlI/N70jPPe4bEZ6Kg4qw0lqlrLiNKBiLWerpTW25PUbkPXZViW62ecHz+4d8PXojTirzwEyhq8rTwYFtRjvpX/rlwJ+iSXugPbMuyKBOHo3geRJtuT7PujcmVUCuPJlhnL/9NUqvMD2eyM5sxMaIlE4n7XML907tyNjcxHQjty4sZv66Z1xEok/xNW5n4uZSf+8sT5m++vVO58wkEu5sR09pd9w/rWyET2vReujiqygrSopn/zKZN5qMeirotKeTyolm7p/+X06Wvr51ue5Gt9BISwFjiGsLl6N6SrvylXDNTK70D4mX071pwtF88w6Jd/DG/1E1u26NOV0pQL71y3/8PJVOcHMzPTWkcCH2YGOaTTaS2RTN6f1fQvvvDK1bdnbO2JZCr1SeRfn05Pa1PTU0gXJBKW+ecnzlxvCGndhFQ1NRP8bcY1/vjS9bF1V26MwHwsVKiXa3etYVw1TNhYJ3TDjQCO42jJVMcez7J+t9YyJF37ISCEtahjGjxkGDr2DJZ31D8h5vUQJL5RPkXlUMM07u3qSGidICvkzzuSlmlZb0olrK9hD9v9JCrPC196JoPMAolFg6CV+PPj54YeyWecx8Vk2v1Q0rSfhFT18LnBmzBRyNalp5qrSuq7kiAsh4SFa7oZ9M0wzI+cPHOjZPo9V1kS1z4ICGEt4lhiCvZrSa2jol7qzPXJPk6nIGbVbWfUvcr7hO9MP97ZVXpggOu6ajplYStj7l1XvbRMXbPAbp6HzSSBlkraNknrvfVCcPt2sHYi7f3pTDb47KUbYxuvKqkKpYBXKBnV869c3WgbDEixAck0FGFFfEzJzbIsO9C1TyrcymWWsLZGIHoW2rqTzdo5dXyykz0NC8l779i5vu4zwM+eHVntGP5jqVTq/6AkVc5NZ3wNH2lVxNWZNIukMSjiNd9z0+CHp5DXAdX4SAg203w8GB5IATtODHzdK8C15kEjhXvNS9rWA11dnfcMDY9prscss48RySakrOLWqODCoIKAgkuVgsS0urtD60haeV1YYVbbtjUn6/74HXvW/11huFy3PwKzT1r797Upe3jq4sib9u9Y+wxe+vh7W1N7jx49v6ZzbffnQD4/Cj1Pfjx54XiBls6GVuTUc9mQsOIO9mPQFdkIRlz4fy5JLm2ZMOqTcJaXIqpcqnixVe+rdbZ3dbc2OT0D0wZIibHSksmklslknvx+//q3PiKnXcTQae/b+LPQ3r1t0969cOL6G7o6E09qgZegdMJBpVQ1DbKCpyUt6oPKz/4NEJalCAuZFIuEVBJd+jgLh4rvAiFqUVGkhJZMWFp3Z0obGSu/d5gSnWmavuO6h+/cvYHSobgVgoAYjrb4QPMUiGtj1/79jBMkLBwiTlMASlYzTkhWCJyTrGAyMOFkst/BoYMmuIIyGJYcMXMMdNwHPhYN1qWS1t6ZLGaKZL8yzFXTr15BooLLMugHMBRNKgW+It8y9TEcJGt4rvcRFCCEVQbFdg0Swmrxkb0+cf2XOzq73kgdFieEXF2jdEUJKQH6SVWQrNjtZDKlpTPp38U58iUbthk/Ph7sN6zg/xudSGvD4xkq6otcnnjyF0XRRTflkyC0IIJE1JG0QbqGNpMNp5xFhRTcZDNoj66988SFm5vv3LX+WkGUXLYxAuXnCW3c4XbqGs9hwjv+a9lsuN+ahOJSCoLjNDAFvVUll0p1aNPp6adTweSflEszPO48oFn+4yOTmR+6enOshKyYhzWpf/jDuuf6x2aV/qNRaPG/1d0gUXWCA0uu7GhMmkqmerEc8KOVU0lMuyFQ+Ylut562YX9Sncmf7Ojo3BDZWbGLtMkiUVXSWTFNuMqWuYG530f7+/tnGFboxsfdd9mm8XdDo9O7rg6NFq0CFqZr5DWlK9qV0fZqGvZchSuPlevB2VmG/hOV4yWm3RAQwmrhEcW64qu4ykfJho52Vp3J8quBYQooqWDKADftBd6HD+5efyoKj/zR8ew/hWXY56/cnFh7a3RCTTGjuMX0SVB9qzu1qfQM+jO3dBW1g6uVSHv/qVNX10Vh4rc3AkJYLTy+WA/8ou9kJjo7bOh+DLVFZ64TEbCyBktxI5PJZj56R//Gx+NdH5vM4vuI+p8NXh9LjU1iw3EZhXc8TyPuuV9wDaaCfBjTM06N0hVWQmHBDzvSDZ5tvqYR7ZAymh8BIazmH6OKLbzv0KZvJEz3ZzEFnEolaEtV2XEaCLKadrIz//TQnk1/EU85NuH8th8Yf4j9gMZUOrNkZEVZCnsbtTU9KW18GqcKFyjh420sd2+j33pg3F8uTsLaDwEhrBYf04O7N/2t7/o/C2FoGnsIy/YGlvAwSfCvZzLOe+8oR1ZT3u/5uvHJC9dGtJlMrfqjslXVHwjpat2aLi2rjFFLjUSrFUjlO0juddXSSXx7ICCE1QbjiHO0/hofbPgwpnDTOR2V6hWNQqGUx34890noet5yaO+Gko3Y45PO7/uB/lvnrwxrWdha1absbgxo1FWtwplXqYSJY5Nn5lU3bLHQmGA/yko0plVSSjMjIITVzKNTR9sO7dv8RSeb/T9BWmMkKv4D+YzBXuljV7yxd+zfte6VeHGKrHTz4+cv38JWmyUmKzSGG5z7VndoE7kz3uPtq+Welvhwm39weVjOyaoFsBZPI4TV4gNY2Pw79mz8KyebeRIH+VEZTaX0sf27+v794TKmCxNTzr/2NOPj5wZBVjjdYSklq6jN69dyKuhqmWztivYob+RTSkPbe/xMdlMUJn77IiCE1W5jq+s4dYEO6mzsYAmvi/+CrH7LDYxPcBq4HGTFVcG1ULLT5orS1ULIkoSFI2cMHKG8obiXcteOCAhhtdmo6gaOh4EWWlkyYU9gvHswXfgV19d/7+LVkSWfBrItJJhObL/p7elQR8fUZnEV70XxPc01sM+xrzhU7toRgZIHuh07uZL6xA3LBaYB+Ar8rBsfz34YX1j+D5eu317QNGy2xPquSE4mDuXb2IujY2AgytNE67RiKFshzuwCR5s9ZSMlsK0QEMJqq+GkBKOF5yFzRoidK5BoFCeMjM/8mG+a//Xy0Li55KYLBRiTrGjwOQ1br4VMBQuKVJeQKVPxMLlvPwSEsNpsTEECmBLSgbHUpwD1YGwse59l2p+9fmuig4fiNZIowrqq/6Xeqm9Vh9JbjcOKvqFtACX7gV8kTVZvkaRoRQSEsFpx1OZoM2iKxxuHLtDcsZlgLzYZfv7m7XSv+r7fIm234XSP/8o5ktWqzqSyZr89PoXPYDTYkZvziw0NLluKayoEyq4iNVULpTF1IaDjHHZmoAW4aep9geN8fiLt998cGYdtVp7K6iqzXGJFUCAi7jdkuapsBJKcPBwgyP8YRyV7B04Q3dDbpY3jg6gupoMNla5U41BbUN9n0sr1ScKaHwEhrOYfo7paCAW0WiWknihhW/0Tabf/6tDtxpIVSIhGnz1dSXUkDL8fSHKi4/lWPId9Kp3Vxqegp8J/m9f14D6DQ/nmb281FwgkZ1Dj7bnSSFx7ICCE1R7jmO8FJJr8jCvjeNrIxFjDJBpKVaSlXhwDw384MyucBoLAGEfHI5ptO6n1YAq4FjorH9IWjUOnFlF3pj62aui3whbI33ZGQAir/UY3XCVEvzgdw/8NcSyGUhSlpVWQrFg2p39xp0JYLyIohaXxdZ2FGofG6yi85/QS32F0Asu8URgu1+2JgCjd22xcsVElPC85169Gaa1YTkRWJKpSqooBiQQzONvq9sRULKKxtzzAEJw1api2EFZjoW3K0oSwmnJY5tcoSD09HanEDztubnfO/IopyUWC6sUmZUpW5aSqkgwgK04DxxaZrFivacCaIdAuH9zaM1rSDgloOwSEsNpoSMenvU93dXb+EE5taFivKElRqd67qrNmsqIF+yjMF/i56MV2JqadYKxXMDXM6+4Wu04pf/kQEMJaPuwbWvPticwj4Il/NnTrdl7JrqaDC5wTUle1GmdWWVCw1+JotjA6PgnThsIdQrXknF8arkJi/+R355dbcrUaArU9ha3WqxXW3tHR9C5dN//T9eEJ3aGdUwP7T0V7F86Mr0VW4mF6o2NTS/ilaB2HDmb8wA2+08AuS1FNjIAQVhMPTi1NgwRkGKbxRxMz3uaJSRzVUkumOtLwo6Zc7aOkVdEhynN9NQ1cyuNqeEqD67mX9TXGyxXbJhFthYAQVosP58S0909czfqJqzdGODVqaG/IUbCWr2p0yukfp4FUtDfeir1yl8IPUGjPHFy/fqJyKolpJwSEsFp4NEfT6Z3YBvOp8MvMc0hAi9hHNQ1cBrJil5TUZxhfXsTuSdFNhoAQVpMNSD3NMTzzU1PZYAM/ProYkg3UV5rHT8lXmA7SwnwEq4FLLVkRI04HM+n0LdvzvlEPZpK2tREQwmrR8ZucCd7hePr7rw2N5PfxLUZXON1zHKz4kb0KnIttP6Njk8tyaimbwXPrsW/yq3v3bhoqaJZctjkCQlgtOMCYCnU4GedTI+NpQ32XbxH7QOmKG5nzdIWZJz8HNkKygqI9TmSL2JSiovGVn0A39c8WBcpN2yMghNWCQ4zPc0HRbr6GEs6chJFnmfl3knZO4/hmII1B6fiFG9br0s6qAeXPp2WUrhzHeXH/jr6n5pNf8rQuAkJYLTZ2kK7Wul7w6zeGx9DyUsZovOodOizosTg1TM9k1Wogpa7lIisOF+w48E/7E5B1Y/cgtdizsBKbK6c1tNioT6X9n3MDcyePOo7OoJqrC6S0+ZIYV+GSOHxvc18PJCxXG4ed13I727axqTp9yk9rX1jutkj9S4+ASFhLj/m8axwdDdbgELxfGsLpoZyqVXPVU1QugVJUV0dC27p+FaaBWWxknq6ceAljTNMiAf/BoUMbJpewWqmqSRAQCatJBqKWZpgJ731Zx9pJM4aK0hXe5vlKVFEbKFlxs3PvqpSSqpbzKztRm+gnEkktnU6/2GFMfa4wXK5XDgJCWC0y1iAR6/Z49iOjY7C5qkG6mk+3SFQGlEP8FFdnygrNFqBsn1OxP5+K5pGHbcBhqhT8fqu/v39mHkVIljZAQAirRQYx7Wj3Zj3tddQjVVJ4l50CMjHe8mqOTJCCvmoTyIrENXx7Uinbm4Gs2PZUqkObnp76i0N7N36tWl8kvn0RaGnCGhgILKPn3B3+xKVXDh8+nPseX3sOlpt13+P4uonv71WeDqLr1ampFB8S1JrulNaHc9rTMxltcpofOeWns0rTLkeIZUHRnpm5YibMf7kc9UudzYNAyyrd8ZLpWvfgQT8w+oyevXeo++bBtaEtQd9s1/ffRsV3I6eDJCp+nourgH04UZQnhIYfWm1o8xdUGCU8/E/bil89sH3dlQUVJplbHoGWJaxnXri2HTvd1nEEcCBS3z++MLi75UejQgcmJjL92ax/gNJPo6QekhVXAbdvXI3D+XQ1Bcxiu02zTAEjKFIdHTQS/S8Hd2/4YhQm/spFoCUJ6+mnL651gkwRQRmBt33gO+c3teNQYin/oG6aKX5rcKEukqqoWN+Ij5vy81v8UATDG0WGC21jlJ96K6wKPpWd8H8jChN/ZSPQcoR1+vTppJPS7iw3bIZl7n/++eFV5eJaOczX9Z2YvM1LPxWpocBHKv8qHHdMqSphGUqqahaThfj40ITBcbLnsDj6oXvu2bS4n96JVy73TYtASxHWo48GxrUx+5Cu+XY5RH3PMzLGxF0ktXLxrRoGNVPPfNtOolIrgElLGYH2wbZqcipdIFVFlDbfGhqfj9bskCaHHS/7gTt3r73Y+BqkxFZFoKUI6/C7Lu/Bl1jmlKB8PUhcHjHufuyxx/g5lbZw+BL7bX4EoiZqyS0T0uM0j1+82QSl+ua+bhxj7GjD2LicwWkLzaarigbKsmDJ7gcTmezMBw/t3ixntUfAiK8QaBmzhq8/f26j77pbaxo3w+jetPf1B5D2RE3pmzyR4/nH+Mti4Wx1dUrCHO0lSVGqskFUnakkpn6mhu086jgYHkWTW3Wbo4Tli6L5gqYHE47vfeDufVv+YflaIjU3KwItIWEdO3a9Szc0ElDNDqcLbHjmxas7a87QxAnX9ljfxcr+Mzs29ykpi1O8iJjoR/cm5o7dnUl89LRLW93dyWmVIip+Kp7pmlWqIvQ8Mga9Gslm3Efu3LX+K008HNK0ZUSgplnGMrZPGxgYsIKeXa/TA61jPu0w0+7xBx/cd3M+eZspD0wbDgWm+RXP13cODY/jWGKuGAb48jG+agNpilbqlKZoWDqDY2AyjtNUlupzYZlKpXgaxIVMNv0zd+/d+uxcaSVuZSPQ/IT13TN34QRvZW81n6HSDdMLUqmjh9tgd//Fi8OHEl3JL3Z2dh3MzGA7XU664llVWRz/QhLjNYmsmaWp/DjCjqIDdlaZTOZZ1/A+fGj7hjP5OLkQBMog0NSE9cSRszuswNhdpt31BRnazM3U9IuPHDrUuG+419eChqU+cvzqjp7u5P9KJpMPpqc51Zv9QntLkFQBEqZluVCw/7nhaP9i376+8YIouRQEyiLQtIQ1cPT8GjOw7vE8tyFtxBrb2MBXdh579FF99g0vC0nzB548ebNHT2l/aFmJj1BPBYyav9EFLaQ+jdPAVNL8/pZ13a8qiJLLOhAAjvrTRy/d0enbF+69d0tzHFhWR/vnk7Rple6mp+9uFFkRGF8LVj/08IUN8wGp2fIcPLh+4sCu9R+F3ucj0MLf4vaVVnChqYWmdaQS2jpY2vd0djh86Vqh7c3Yxm8dudTPxaW0lrn7yJEjZW0Tm7HdC2lT0xKW1xecgHE3FDWNcb7uDh6+r/96Y0prjlIO7ur7TOD5b3ayzt9ylY0Gl83qKFXZsCXrXdOlrV3djf2LBr556JOshLDmMWhPPXV6vav5O5jVxYLUhNl3iIbV8yiqpbI0bQcP85C2Xu0l3dczC0XUN4Pzb71339mFltOM+Q/0rzu5f2fvu1zH+QDOt3uZ0pbVRMRFouJK5qqeTkhVqyBdtdUmhGV5JI4cudrpd5kHiyp3tTU/8s6r+4rC2vCmaQmLWJO0Ep65INJK2tbpt75298U2HLuiLh3oX/95L+0/kHUyvwTieiUJHVEimVzy1UKeWMqv2pCoKEVFRNXT1aHawnBx80eAZj7TwcxdAc5Gi5fiaNnNT37nCk4xaV/X1IRF2B94YHt63qQVaCcfePX2K+07fMU9U7qtHev+xE/7r3cc70O+6w1gxuV0dHZiusgvJS/O7IskRXLs6KCxqj+B26t9a3uUREWi4plbQlTFYzXvu+7tB3EIUGel/L6e3TNw5NS8zYAqldss4YvzBC9C7559drAja3qvDoyg6pwCP+KBZaVOPPjazS1vMLpQKE9fuPnawDB+EqehPwzWuAuSl8LPg90WVxhJJPWQCUmPBAWTBEz1TFUGpqO3wYYvIPgr2az35a2b1/50V6f1e1NTlVcvEzB0xRekj67usu5FmS2/crvQcaol/zeeObfTSOj91dIq28PxiaOHDx9quy8LtQxhcZBqIS0Dhkl2l/3yA4e2j1Qb2JUUD1Iyz1waOQib0vsxKXsAFvH3wMB0JySwtZC+DBPTN5BOCEnhrI1BuKe9l6tIzsVCiD6E0DOabrwI2elZ09aP7N3aNxjheXvK+a1OENa0EFYEyYL9rz072Ju03ZpNQKj7Xd899cKhNrA9LASvZTY/s9GcHoK0XsrakLS8UklLxyl+/rj+/Qfu2367sJNyTS7SuZfneO7ffweBGScu3NwAqWgrTvTc5jjBZmw87tMCfRXYKQWOgula4OiBOQUZ7DZuhrAGdQXxV0zPuCaGnkv3VPGHOpPw7+QPR62OM5HhdNddGOeX2kmCbSnC4mDlSStVTFr4eLljdHV+702vWz9R66Cu5HS5h5hmHvz3QiOxwJTRo2BGgY06dm7OVhewYGAY6s75oD+ZDs4JPY9JyqSCQ7ABqftd5VFM3/j2Ja4mtsWpJQSq6ZXu5UZTKeJnsHpohiYPRqBn04nkS2+CQWW59BK2dAjwS0Y4IHDz2ERWG8Gnwm7iK9W3sFmbvrqGPzw6gW8eTmvTM07XmTPX28KYd7EQ3rjnvv1QFHbPt3zT9DcMPHd+13zzN1s+/hC2rKOo7NjeQdsxT5LEWrYjbdLw05eHtwWe9jl0542u62HZHZIVpalY/yIlP5X3MHYddLLZfy4fmYiBhNuB509vw+rG3tKY+kOwGHLi7W/cS91jS7v4s9TSnZHGLx8CICH9lXNDX+zpWfXuycnaBV2e3e567nAm4973qv0bzy1fD5qr5oEB7KXt0u7B3Loh7yhWVfypbOalh9+wr6U3mbfklLC5Hi1pDRE4ef7Wj+EEiZ+amqpvJT2bzWjJRLIPR3n9riA5i4DZg720DSIrlsrvHXSZ9p7ZGlrzSgirNcetqVp9/vz5FJTqj6JRejTdq6eBMzNpHP9s//QrF4bvrydfO6f1JrCX1mvcXlo98Kembjotr3wXwmrnp36J+pYNeh5JdqRem83O77gxkpxtW3bgOZ/g1HKJmt3U1Rw+3D+zrc89aunagnWzpq6PdxujLz388L4F78tdbtCEsJZ7BFq8/sHBoMPX/I9hyrGgnuDUUZzrnnz7yQu3HlxQQW2Ued++fZmJ1e5LoPB5k5ZpWCPXz+08du+99zrtAI0QVjuM4jL2YcIZeh+2+9wF49MFtYJSlgmHE0g/JlLWLJQPg7RmhtyXsJ18eja0tivsXhj6xy9ve/mRR5TRcG2ZmjyViN9NPkDN3Dz1FW5z9XM4i+s1ME1YcFNpUIrVLHzJzHnwjl0bn1twgW1UwPHjxxPXpztejR0HFTc+F3YXRwxdfdM9W08D0zrs4wtLaM5rkbCac1xaolWOvurhZIPIih0OdVm2haNTfqUlAFjCRnJP4HBn+iUqz6tVa2nGpTe/etsP2o2s2G8hrGqjL/FlEQC5GHghfplSUSMdvwaEA/9+4vjpa3c2stx2KIsfUek2dr+EuXNF2xEjSJx98w/tbFt7NiGsdniSl6EPp84O3W/Z1oPzXRms1GRKWdCJdeCIlJ+vlGYlh997r+70+EPH8NHJEtLCauCph+7bmj81ox1xEsJqx1Fdij4Zxi9AT2KSYBrtslgxhOD2gWOyz7AstFzx6zFHj1mGobYUYAgC9cHge3ddK5uhjQKFsNpoMJeqK6+8cm0X6noXiWUxHA8WxAdWNyQM45HFKL8dyiRpueM7jllmMGpnjO+1w9fNaxmXxiogaqlR0jQdAkeOBPjczrnOiQ6jw88ESSOA6KT7iQzOHEvavu1pZsLQg4QPP/DdZG9Xx/vWrOr+mfR03SvtNffdxleAQIgvTzjBT0w409Mpu2faufZy+vDhw5WPMa25dEnYqggIYbXqyNXY7i/jCyvdfmaVb5hdVsLp9LJGp43j1/1A7/RdvdMwPRzEboRnLVHe9vEvL3eXBOB4ZMta22H+TiqV2LJQ26u5u6Bju44Z3J7O/Lvp6cwPmBanOwQ4uNHRTWMK21bSvh1Mm642nTWCtKkH07rnTE72aOO0XZq7bIltVQSEsFp15HLthg5J/+aJE12m3tVjOPYq1/dW4cTjHnwMYhXOce8xDd3y/PJW6OpMdsTRVy4iK/rKMR/jwvz825VIHFzT3fkx13UW/dnhRy3GJyeeHEs7n1XNibUPFvY6vtGDw5vV9w0Vofn81qGhZfDhi3HX8SfQ/3HPMse9CWcCX0gel2OIFJIt+2fRH7qWRaYJG85NxldGzV4tGayFSLQ24+q9ULyu9gJfMU5ELTn6wUISTl03NHz1KzyiJLqmX657OLLdSJgoXTO7cBxyN172blier4YCvBsFdSNXV2dC35tKJrbzfPfFdjwvC/qs9MSMxxNRsSqmT6LhUDQHE+jUBE7UnATXTuLsrRn01K2l/x6+qItiR3TNG8V59KNB0DGSfNXGUXwJY2Gm+osNhpSvEBDCasIHgVLTt75/aQ0MnXpBNb2QgNYEntfr4wu/nBYpKQLtxtdwAh0SBX3VDe7nM/Ha5vf1Fb/CURS2bCTAWWuxR229qRsbQQQbUed61LfW14JVKKsTJ5sk8WUcHbtlNANyTOhgcmAGKH7p3m1FWpqtuZCu+LByVdKHVMjpKEQrBwIW9tnpXOIH+QTDSH/D9f0bmCLewDn1I4HmwtAypPDZ/oe9oXKf/aMPsWxSs/RR13FHrURiZE1gDR86tKHEdCDMKX+XCwEhrOVCvqBeHNaW6ui11/mWDtLQ1kEiWodXE4rwYgepAPssTPCMOjIdAk94TZ8pMZjch8HjDorGFUTUAwlkh64be0A9/ZCatiDZWtOyE7ClQmIdJICJFYhA+TRV4Fo5/QIHiUvrTEbkVRCxiJfsSBbfYk87OTExXxdazY5yUgiRKfpHQ1YSkONmAZY+gV4NIeVFfCXoLNA5h/Plb5LzWAyzF+IVXdNnvO/6GcsyhjC1vmWZ7s2pO3fdOqzriy9asnJxZREoerDLppDAhiIAEtCfO3F5rW0a6z1PX4/nf53nG5RqqrpieSnULEVh8cx4E7ugH78H8tG9eP/24oVezY+pkpA8b/abhPF8le75BqdsXUtaFeaTlTI2IByEoU1l8oq1mkokcZHElIRoWmpejMMCMyCvQXyy7JjjuUcgOl4tLCzCMpTHgFpcgkViX/dH/ax2Szf8m2Yqc/MN+1r7BM/C/rfCtRDWEozSkbMjq7NTY5t13dqE6dhG3wsSqlp+C9DDi0ifLrqmT1f6BgUaPjiHN0lJAGAfvpWcI4XjiHIMF6ocO/EjmMa9HeelQ1LT1PRpoce/sJwOTCQtc+kfGQp6Uxl+9JWtmL+jNEaJ0gKBgbsygR58B4sHfwV5aliVWg3vCHv6ymHcdG868IzrVsK6pnd71+/dsmXxbD3m3/W2ybn0T1/bQFe5I8euX+9ybuqbXMPbDA7ZCKV4uMOecyz+9OfmWvj9x9zEw6JW+JuOX298WhE6qtwLEV3TL1tb/AWj7sqwfqaro/sdmcyM+vBp2XzzDEzaBiQsNH+e+eeTjQ+ohwqnG0BYhfVzNYKrkOmpyauYYH8KvD8G6RPBszrC6Jq+ystl0ghzXEZjR5+O4+iZwTh+eG7Yqa5rq/3hGzzTSkXKn4YgIITVABjBP+ZzP7i8ydasrZCetuCHvIvFRs92SEdlpnCYE2LOQi12OA7RNf1yjrphHIyE9yOXPnfNMDg70DpdTf8DWDKs5rRvMVwChAWrUgh21HzllD0NrigqlxKVC7bKQuOOWeGiuI7OTkhb6T8C/Xw3xkel9cXxj6eIxiY3Hhx3X9dHsWJwDaa3l1+zd9Mt/F4tUk/ijWnP+/DBb8++LWqvnh0c7NDGta0pO7kl6zpb8AJzEUr91kYEFdeBRCt69Nm4+AsSl6jwjVGckY6VwPwUpLhLURx9xliWvxFHi/w+zB0SWCnLsVpxnoXesSI2ngp4zmRJXPgf/0IleGH51R6uwjeX5MR76qtITh7+8N9Cp4GF7Sm8Zl1s35pVXVomm/5c1vG+Wm284njHJeJq44/FjixUAld8w7uijW6+xo3MhW2S6+oIVHumqpewglJ87+LFtcFUcqur+1vxwPcZJqYPMOyhXw6GKI4+4/GwQpjCBhe+6XDIpFb06PM+np5hhS5eXzw9bLJ2pBLGv4Fe36BU4kA6IQGw8MUY6MJywVeqDs54Z69zrWdY7jI3G1ZtUiSV6zzDI3IqLLew/wu9jspl+yywrA1pEed5QceXPT3jBb/DLrA5ua5UHZ/4eMTbFx+fwvE3DJO8fANrjlctL7giJhRx9MrfR89R+VgJ1Y6currONuwd0FNsxwtV02mPlWGLy1TxlPHf6Hh8PH9xesvw9yRM+5PIRT2ZIgVKKZxWUY/PT8aTFPji0i3m4Ed1hDWV/7uY9bNGtiGqAyorJRWSqCgdkrQiR5KddrwPlsq8xfhG6efvx8dvtiQczDdmmPaldDBxSVYeZ3GJXxUMWzxq5d4fPz7Ym7X1HTAL2A7NqtJHEQ3qtCPjw3LoxB/v+OMZ5VVzR5aHWRuErYA+y4uu6fM+Xl9J/lh7bFvbY+vmv0bWos9tsXAWSLIiaSnyApHxJz6SbFSFuXTw8i86r5vVRW1m+6IHmUREAuI0lcREP5q2ztWPrO9/YK54xsXHI56+cePvj3qBfimZNS+J5FWMcrjptThsRd4dPX9+DcwEd5iQphwozfkCwJKaLv9ewHYKeicfSudwShcnJDBBOD3MTwGRO0cqLIj73jQTaejDBYaPHTBgJ/i5+HyYijd95sFhRzkzB7yL2IrCtGwezj9nOQVTUlfPwiicifnu5J0qHHd8mXHIG6ZD7JQqIk9kJK6QwAokMWRUhMaSeJ0vcfaiXNhs7PyuwpYV51Vh+EM/Pu2M9GckpyiOuZm2Wvtom+Y4me8xPbvIIujzPu6Wbvyt1ejL3U7Sv/v754ZHsORwaX3KGdwiJhO5pzY+Mivk/urVq52jTnIXlEc78LKu8qAMx/G8kHhyOicosz0ovM3IrIDKb15HSvDoOoqv+hMLYCOWI8ash0vmufryZVcqLz4u8fym3ov1xT/EVp4UDUTn4/iS0xW+sZTMojASmLqGp64iH4FRXJQ2TKj+lv7JVRTVxwQkm9APyaboGnGMzSVR6VR87ipsVT645ovOzi5tamb6zzB1/nqzjz+s9YetwLioZW5C8jq08K9+1IxS8yQsfF6ap1WL2BK8VOaJc6NbPcPrx7wJ++hmHQUPvOaQgMJ3ETtVlERDP0wVsQ19uPgcLQyt/Dc+p4jlL6k/1xa2qVyh5ApEzEoErm/DsPOTXV3de6anq36roFyRdYWVbVSshHJEMt98saIXfIu9koplYZL6m/hUz7kS/Jt0/PE8+Jj6X/Y6k+fv2tA1BKIvB/OC8WnGAmp5dpqx3XW36fjgYK/upXbhFd+BrRlqn16MfkrspkoC4hnirYjbUVWzs4rHx8uL3cerjwt0TA4RcBcsuX8Rn97q54okVsCKJJ9YkSvy1gJR4aOtnAr6OJP+L13d+BKBKMEzHhAfgDh6yzD+vqHjTDDvYpAxLqwEfVdbE9bpIEi6V27tdLP+LnzPrWS/XrRTnz5d4e79+LNY7r4kP+Z7Jv7z1LyPL0B4Tb+ci9cXLy+eJ54e8Rw//rqqcUR+HOrgYVprJbBl5E2w63oI64J7k8mUDZLGhmAXs19ucVkxP8gKQu4ptCxbMy2TW3KAGI4u1P207ztH3CDx/7bL+Cdse8h1Zy5ev7Dp8uHD7blJuy0J69TV8XW6l92Dl3cbLG6g98idbhDgdANcY1ZY9o2N4mpNr96GRf1Da3Wui0RW69F1bWslvp81LD2xDTOGu9DhQzBc7AcYfYlkAqo6A6ozqHNBYJTESGitTGShsp0qQSxT4AcoPJQw0LBlEPhBFakHDjoLvY+XgVIyg7WK77tG8n9pvpHXBbXL+OMBd7FN6KLu+uf27esbX9RHdIkLbxvCGhgYsDb3v2a7obt7YHakpKmYiqgE2ioqJbzIOszXcSov/DAzRRNehyJKvPx4+igv/ZLKEaCkoZxUFMYXE1I8f7Xyq/UHp9CkAlfbCF3NdlhS7IQguA0N2wiJYy1ktC5IISb1Okr5jSYruy2SGlYkIkKLSC3yy/WrUWGzSnjaTUX/QEhYQuNewLCdwBFKRkpOuAfr4sBnwwfDg6B0MHagORhBHNqHw5WxTwYav6lAt/42MBLfrYZXHO9w3Ftr/B0Hp0pY+tkD29ddAz5ln8NGjddSlNPyhHV8aKjbzAS7Dd3egRcvgRHJWyrHASw9Pyp+vlSxEluH0jWAGQF9VVZMpxHVRZ/xSKQU4PR5Xy0+/sLQZCFS9DN/XKtSeh5WrL2x+sMyZv+W67+vwz5eC7oDx12rm9pakNg639B68XL3Qh+2Bm94DySxHhg0daBHSQhiCbyyyMS9SDi8RhEHyYP1qD9qak0S4VGn5VYrSTRKEkKHWYYiHuQmCYb/YKYLqS+3H5LYckxJmz6qhSYJ5yNgzgtuclESpncBfN8Fj3lgJdCSGpHcGECoxrouMoHjzO+4evLLMB1VKxJV8Wyj8Q80Ix043jnTu32hlTdkh08Yn7UWcnio9Qs3pzZm0lN7LCOxIdIZxbuQ1+lAVFFxJB7aMeUIiPkiPRPjo2v6dPF4FVjHnxi/oQK0Az/bymf5uI7ayGLj6eM63nrbF5VNXzV7nv3HViQL3JAEaSV1z0iBNJIgJBCYkSKJYbdjEiSHw7a0BI5s6QBBbINUswMUsQ6E11UojZGccA9dcZDBdQY+TgyFTgkiEKYyIBvstAQzIRk8cBJ+A2j4gZFDFWAqjAp3V5IhQYYwwUJ57ByS0QINzMYK8FyrRxt3KNbXb2qG/UVNT5wDyCt6/A0boGbdqzPA4tD21SPquWihPy1FWHjQzYs3xnZkM95ePIZd8RccBx1xez/UPowp46I4+uVcLD9/8Plq0Gfy6Jp+uez5uqPyY+UtNN5DuVQc06drpv4bIDXsjtsMpdkOSC79QK4Xog3PzwF4IBNCBiIhpBSpoE8jioqWaM2KCRuOqwLXgIQItKIe0lCYD/lZjoqgGIo0+J++SsmMKA8eqQ21qHuUh2PfzQHN6vgG6vVK8GfmQhcbr3Yff+AEi3rtdCtNF8u/eIWD2ATXx4Mg0XH1Vr/hm7sDQw8PvyvTrriKWocEE0C6oM/kJRJHrAykgj6WGlq+JUifu6YfS6pu4/UVa6AgQcXKi78ApekhcWFBwMstEkTX9MvVHw+Lt2ex+4+Pg62CxgsHEwZbAdgWIJfA+ICkfDRYtyAwWWB7Ay8F8VT/KB0bOJ4Gx/CQfUKSwZGrJJs8iZHYgB0zMB+zk8hopQ8hEcEog2ERASIBAOL5fIrVIKLxXKtzKPZLgZUckvGf+/nH5HsK0+Uz3316zeAjj3D23Lwu90w0ZwNpiZ72UnvwfO/AXIFnXfLBxLOsHn6yiLqmr3oQ04LHX9hq6TFHI6txrlYWkHj98UT1lh8vryR/rIKq6aO204drdP8hRWF3itmLUw42QnW1CSTSA2IAIXkWOBYKLWw8wjVqNkEaFqjFwLQNJhWI4ZiFoiq6QX0SbsEo6HMoWVFCYprwjw6FP65BXCSoXJwiOwpnFK9A6yiWkQhRDwA9XAfpwLS/AqnqSKP7jwapquiznXFXMn6x8Yg/X/HySvLHKqiaPlZfvf0H6BloAM/v3tpzHkJwUx59Uxb4GE5Lfnt2ZGS16SX3+F5mq4llfegtwnaSR6J5EC8hPUV6IDaS6aDnoZ5DpYe6AtdgOr4pyhXLNPH0KKCo/DDP7N+S+mI6qHzbQr7AbdgW+iylWn0l5cf6E29ftfSN6L9lGl04x30tOtMHklmLhxpClW9BL4S1T+i2uNPRp+0FflD0AN9A9LHnmHGBBfJCE3QL9ALiguoJqiu+64gDzWGIIAlhzhaSDsMV/yjJi3BxyY9khP9BXBSzEMY/AFORGMmM1yyKZfmm+ZKuJf4uMHV1THEj+o+S864E7zYd/8Dliqp2MamvPbt9uw4dY/M4DnXTuMuXx/scK9iHLcbryzfKwvOJBSGNPl10Tb8WV0xYyMFymDdXXv46Kq+ueChJQI4WlSUqf8StOf5CNdXqr9afxe8/Gm6AoLAqGKyCGLSG350ACFzKM2FvaeOseEhFOsjItdQ2S6wYYmkOdl2+CfLBvmpIV55vYY2Qn6uAxAWC40zbhxSmWArcQj0TSIiSU37mx0kgVesgLereOSz8E5EWJa6Qzyh1hZEcO7xY4Ct9WLfNvwa+5xA2h6uGP6vMPxMsZ8WNf0Gf+cOCw9usq51a5+kNG9Sn1IjJsjoO0LI7EpVra/vxhPdFs7JyjYriohlbTAKGxO1C6oJEljseOLqmTxfPX66OucJK66OUNzuDjK7p05UIbGwX25I/vrj4BYrnD0uZ/Rtvfzz9fPsPIkgkbL0DZNMFRVEHFEY2ZCBTcwMLdfCsCCVN4SwpE9YG+ARNgD24IDHYSYB1yNCYDkLRFoC8oOUG40AKQx5IYyAmlQ6SF7dDoSof0hbJiApzqLs43aPc5UG+AvVQ/4T7nGQFQiJ5kdbAkmgH2Sz0FaWB4gLrad22v4nmuvPt/yzCc1+V4t0e4z93r8PYwDCvNANxLSthkai0jmCf5+jq6y6Y4SkjTfoKprgWufj9Dg3AozBmiK7pl3H8WDH3u0YfLY6u6c/HVS2vSvsxoygyTF2q/qNenEyjJ5NJPYGPRidME1M1/JYqwyoNq32Ihu4J0z5M+WA2DoqwEI9wfmEaEhQJzPNsKNOh0jJwrfRVJqbnNOrC6IGwQFzgHiKrpCuq2kE+FizrMXWE7IWCEKemg7hSiimOQchNIC3EchqpHlBO95TshQThkwF5TL9k+Mm/MZLGzVo3AlQdLzagDle1vCYd/wU9/5Z5ZcyZPnNow/J8ZHZZCGtsbKw3rdn7nIzTx42o0WfP1cPKuYJ6XPFs5q7p8zmKx5v8cdcxDeMPOR1fj+gh4X10TV/dukiC+nJPeLy8eH1hrtm/UVvpKxcrP2oL/dlcs1eQ9PCeo73wGcp+R2Xyvlp74vH19B9EkoA2CYKUlcQqJCQj6vkoyBjh/IurcJiy4Zxy2FMptRBO7sK3kClR0UYUZAX+wMqfC1ICiYHMYBsKSQsSFKaAUEqZLoiK00ASFsgpN0UEUWE6yOkiiArE6NmUb91OWwAAEuNJREFUszCNxA0c/uBoF04W86YOarWQAYjGmHBBEIkUiXEqib025hNmInWknv6zKo77Sh3/RvcfSx5Xl4O4yr5Y7NxiuEEQFT4uvs8yrF5VvosX28LLS185vsiRHkc9YPiJtrCbJIzHyx3gJdfpl80flZWPR6qIxJghus7xjSqj4E9UNn2VvN76Csqq6XIR+48OYEeGlcAaXhLfQwxNQcgQEI9IErOOxBUuCuDLz9Arm5iyOTaYy7Jty8hAb2VCm43ZmwnwQTbgFpAWyA4SGEKhaMdgYNpngKAcpeMCAfFjYGE4yAqco3RZ0LorUqOkxVkf6AgzvFBPFbISSsOUD+WRrWijpcwbmI4Gomj4yxAIv4bPVU+q9sfxk/EP36UlfP49N3vNWr/m9CZdX/zzjDDofAoW3XHVr9NPHdB8p2+uORl/mjFLUktMbBTtkSJbpLCRxYyD5OpJps/4+DJuvq5IIgoLqfi3pLzcRuloM7QSzKImsBSWG80LVKkxkSvOkFHaCjL5QvrPN9rwvaSVtEg2ICmQCNRQkGjwnlOpNktMxdds+GxcRFrIyCmhTQMEUJjl4qwtzPbAOVC8o0DUZroGiMmBpEUfRBZ4DvRUJC4/1GOpij1ML9XU0PJdFxIZGsOpJkkOQ0YdFh5CPodKl0WfRqQkVUhTIEf1iN4GkdJU4Rx/xsJfHkpfMv4cd+IAUJb1+YdkfSU7NXp6+/bti7qquKiEdfVq0Gl2TO2DonYzAcUTCv0slCB8FuGia/q8j7iAPl30aNIPHVKq55w+00MvjFLo05WmV8H5P9XLzydVF/H0xbGl9UGfjm226B98po2u6fO+0f3H9M7SbT1h+FoS00ybSmm+5/RZHxzbwWvVHtSvNuLRR4BKl0vPtHRhWh1SESUsNBkH0qjvNiAx4MA1JDBc4yBmTPmwJArJCFM+dA1SE5XsmFIqRTzKUrZYkMio78IUkauFoW6Mcbin1GWrOR8nqOEUEUQFmuK3ZdEw6NFg92s9j3XLp0CIsAuS8VdPkcKhCZ9/KAc81x/c3NdzFjy6KHZc0YPNh7VhDg9jYnh4co9n2dvx1nLalys7Rimx2xLGigfEJBQ0Xr149FkBVb04BQiTlPAFbTiDxRGKM1pJf5AgarPKG0sQu413N07hkCANO5m0fSebtCwziW5DqMISHTRMJCDF23inYbmsauNCHq+Vn1ta5dErzKN8psP/RiIXVpAegKJQ30Y06AQSEXdAIpdL0wbTNsLpoSIeCwRJHZYBpTusIFAIlPC0iqL5AxoCcmLPQkkLdITRCc0dSFqQD1A51g4pLOXmhZCwDMO2BpH9q6ZtDoU4oKQIy5yEynFnv+mzw+0+/q3Sf5yT4aYs89zq1alLIK7wYeQANcCpgW5AOaqIARzxcudrXrMTz+cuFAxBI1Rw06eLKz3xsnDikt+Mmr9mWBlXrbySeJAlTt8MXJImXHRNv0zx2GpWZ3r0KKqzXHlRHH26+fQf+mkbg56ADjppUuihMJl7BEhGtmnj+4Phj1lEUAzjaQcgJkzcqPPmlI/yjdJV8Trf/+hbeYyP0uMS0zSVF8SEaSELxkhR6a7IC1IVHkNMBWEkCljxYQ7YXgWKrDCHw2ohJDDKSkr5Tst3TANBp7DdgkTFKSOpxYMtV2i3hXQoJjwbBo3L4oibAajdXmSbCl01PEvi6x3PetMvwfi3cv+xHpPRk8GZvo6Oq5y5FvZlvtfqQZ5v5igfH7iRdHqrn/H24McyEb6ejCUxkCwqEATi8JDNKtWRIxI6wrLj+aOyQgIqLT/KTZ+OLYnCFGHE60PdSgzIgVmcfrbt5evjYkB97VeNyv8plx/UYoChElhYgB7KtD3PAUWRpejIVNzNAjNzyDuYRqnrMF5dIx4CkTrlAJQRps2FhZIX5lqYwfFLOygTBeSmkUhDEgNvIC7MR5ML6JhozoCpn+858G1utbH4j7BRT0Z9VlZzbTyOKJCKeCjkqYbkFBJh+DXCPVcKuXKIFURlm8WBoZSFOBCYmk6i33ioT+Kw1CegEMspcFfe+M8+rRySNum/YUwm9I7TPT04NWOBDg/nwtz16xMbEp3mPswIOuI6G7wBSlynz1pQWZEIP0smIcEEWN3QsfJDn+nj9FFSPh73wilgdE2f+eOumo4pPqWI2kI/LKu4RVXLq7H/kJopRUFhnkj4joNT9KC/BlZgAIVD1I+cwASVUBgCIsF1KEQxJLpGPKHGP5LYrAs5ikREnmJ61KF4K5cG1+REVS6HC1JauGroYYcOrLWUEp6MSF0UpoZgK5hV2dgEzeNLYbMBnRQZEUPnOwGMT6GOp57Kg/0WTCMYjnsQHpDmlJFTR5IcNt/alvV1PdF5NsKcLSpGG03L6QcjnWDpeIXqgFYb//A9wGi1+fMPDeqY7nae6uvT530KKp+JebkhHJyX6Fqz33X83tCgRr1d6gXBH+XnFtEwDmEVMBfAtbK7UvHxVTb1gGLQokbFVBZMDtUJHmT+dsPxmqSRU2nkrxkWxhfbOfEVwLov4sIaonSRr1qZy6vy8xliPbn+qPjYHxSm6mJwdB357DfaVtJ/BMLeW0/ayVQSR6TA5AB7h8kwmFeRrFBUSFYkJk7GsM+F5SuiCQmFBEriCskHYcxfEM9ozBjBS/yaKD//rBzndjD3BHswAcmqwFdhOWGugCw5owwpEt9sxMlVGWQEK4GlcAOi1XAcL6eLICfdcMFmNDnH7xdO/YTCHTkxM2B6EiSPbuXmHrZO5eJy4Iu6lfo2Gu8orFfA+PM9UMjnHpBIx9v+/Q9Wm8nMfcMTE1d7u7vP4Ec6fzy1wqOGP3xI63JHjgT2/rsy/boTbMP0pe78dVUWS5wjK0VUjIqNN3kA62ZYeIcfxofXDFNFUZBTT4W6m71mWBlXrb4yWSoEYWh0jVIUdJEmzA6o18mRDN7dCplCEkK8IiP4WRAU9OO8j5wimZB3SAhKYlJEphLkJCaSEP7PEdxsfVG5UWFxP6qPPngTlvBED6IWLN8dTPmg8ocFPPRXWBdlFWqqCEmLlhAgLRtKdLaAkpQNfRUM6DUQGOUiTimNEaT7FvRVw/F6K91XG4/mHf9KPaovvJ36jzfSS1mpc6mUdhnvhZL4a0GjZsKBKK+n0+kt0AHvztCAsIzjeeAeUKVPF1l101cBWCICxcGmcPalUeHRnyguIsJYej79fFnpKxdjrKhu+spVK69Ke+OW6SXlh7Xk/8b7D5umJKY6nUiQAEmp5ZKoD5Ay8kTFzcAsJIrL+ZREYCWAaU4ubXRNP8wfpuSuGubHMwCJhSuGPCiYJIMw5GV6xkfY0Wd+WoPiBAlEhvnzNluw3SKZYTkQHIQ5J1RQDg7Lw/QQGUIdFp4wcC9KgQ/7KkxjucEHROVmc3ZaCFfEjMxUvlPvBZ0WhT1Q1zG06hQKyGPA9qEh4bPRJuO/0p//WvoPyXpa77BPr9L1mn64QiJRT0vlP3jg1oyn0/th1dnN6VOkQyh8wVRuPpLUH9GHi+sckD4vLaj43NSHLwfv8cKjbGxdgc97JUpFpIRbpovKYHTUltkpHYkyEqNYf1gWfZU+Vn+JiMZERS4qKyTAMv1hmwoItLT/aL6OL9cn8A4mknhDkR5CUuh43ExhAXjnIQVxRQ9UwnU1JM73meHISINzlY/1Ir3jwNQBtui5IpU3K2mFZbEUEhgJiHlZhkqI8rws7hPFxBHlZ5romu1CGRSv2HyQEQiLPkwefJcSk2o0mU+F8Z46KswbKd8qvRUWiq7BsuoYlF/q+Jd839p4/KNnFHhw+Fbc819r/y3dHO7qsk9D2lLPBvEq59SLXC6CYSCq1OTk5F48g+FxLyQSvvyzhFK8taaYL1ACiYdkkSOg/HVO4irmAySLlR8+yHy5wnaWysTF7YmnRxdyecMXFDcxx3KjNCUEGUtb2r4Iixwh5qebxEG58v2Hkh0ERqlLp5kClNLkngLSyF8XExrZi089SYbFm9DRg1FCbEKyoxQE8sqFkTOgTwrDVIPCP/k8qpRcGrxMEXmxnpwjUeXbhjpgA2bBNsp0HPQWOiwNOnddw5YcNIdSFyzTlUKehEbrLDxDNn7osjCXPw5FO22qgPfKHn/pf8XxxxetvSvYlX8BxBVKCdGDmPPDhz0W+Oijjxof//jHt+Hh2oko/qKqFx4l0BJQmQIwS3RNn/fxZXqGFbq4nQzimI9tKFs+S1S1KJ9XoQkEfUQwtKg98fSzefMMwmx5F28/IqK2RLjM2b54/gX0H0v6+IiDZSVgHJogfYWNzDMUpCtsUkKg4pKIUJAsnNTlkjNWzfBCPMOhi8JAiCSqPBmyMFVQ1OdctQwLywNZ5cPCpDl80D6IhjzBASQF0sUeREpSJCyE4ceSpJXbEO2612AHepaTSRn/YrtEAD3n8xV/ntv4+S96nyGRO9gccQZmEPiBK3bRi5kPHcG+v2T32n2+53bxNY8oQyWIB0SR9OmqxMeTh5lm/8azx8srEbCQNSqTpUTX+eagwCiPqiWeQAXO/olHV2tPaYUFjWCxsQJjt7MV564K6iOB2Xj1adNGa3PqDMFl4XwSSnAQCUIibqFPlwtTwbiOkoSR+JvLx3KYv9BXaSrlLyifSegQBNMFTAWhiIeFArRZnoX+8Y2EzKhbnuNlYO9wFpZXkwoH5Kmj/6qOFTz+0n8+Y4Y/2pVIcJqY35+YJ6wjEN33ZzL9kPY3hWjx6Sv+RcByLIQAZZYQJSn2C944FRF/QkvjQ31XZDcV04GVPOGl+WdJEhVGbaNPV3d7Va7ZP83U/1ACgzTjkg4gjUFvHhGWkrPAPnnBLNeFSEKKfAbzOu9yBAUdVj6cZURpZuU3XOUILioD93x2IEnxxFGc9c6M+M93cHSNZVzHquBQDeMn4x898wQ2us7pgGvAbyU8/z5e5EupVEqtJirCgp4KHxVI7sbrQIYKHyKF3+yvIvEEX8FsQNk9qXwgBpgQwNo7p9OKrukzfdzF08+WTmYrV35YF+tU8bEpYImInGtLVH+8PkzZ8iQcVpjrawXCLOHH5uo/9JmWjbXHJMQcNhVW8bOklbsumnJw7Q+cgtVK2mJxAUNNKKncp54KHuzAwnjCE01B1UIHA1A80ik/IkdIfTj6mE8MXh2sSKZhdHUd+IcDykwFLj4eMv7Fv+il75c8/xEmeHaojD+jZ4LgbsPVVvO5iutg4oSAFCCiAqVp/jrUKRU8mzVexsube05ff3tiD0Q1wkP/ojrYgeiaftiheHsjLKL4GrudTxYvb0H9h94bpzeAwCD4cAqJf5SmlBjFH5D8ChVC1Q8KyIkrjtgbE64y4lqtINJHel5Hq4q4ZdsYzsWBWaU+rkFWtFzQbiNNnWciNbT/qD4+Hitq/FdE/3mWzmvQU+W4hZZPenQuRHRNfylcvfVjpUqz0Tj6dNE1/fm4euufTx1z5am3/hr6z6lj9A9ElneKwPJ3IYEVEpqKys0YFeUhoDBP4TV/+bjVIkfqKuu8/ixC/+tqR73111V4DYnrrb+G8a+h1tkk9dY/m7MxV7XUzwdP3ApBgCYG6Co+L6/+kcB4X0g0ERFFzwXjojBc5q8ZhqOKtWEoROmLEwSWBIHowVySyqSS5kIABEYhisRFEov8SgRWGD6K9OMgq8IwBIkTBBYXASGsxcW3pUoHgfF5iIiLPv9x+03kuLxMqaqsUj1KJL4gsFgICGEtFrJtUG6OwDhtJHHhqLOl+dBAG0AnXRAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBIGVhMD/D0fV/fpMMM+gAAAAAElFTkSuQmCC'
}
};
exports.default = _default;
/***/ }),
/***/ 119:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/noticeBar.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:17:13
* @FilePath : /u-view2.0/uview-ui/libs/config/props/noticeBar.js
*/
var _default = {
// noticeBar
noticeBar: {
text: function text() {
return [];
},
direction: 'row',
step: false,
icon: 'volume',
mode: '',
color: '#f9ae3d',
bgColor: '#fdf6ec',
speed: 80,
fontSize: 14,
duration: 2000,
disableTouch: true,
url: '',
linkType: 'navigateTo'
}
};
exports.default = _default;
/***/ }),
/***/ 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;
/***/ }),
/***/ 120:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/notify.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:10:21
* @FilePath : /u-view2.0/uview-ui/libs/config/props/notify.js
*/
var _default = {
// notify组件
notify: {
top: 0,
type: 'primary',
color: '#ffffff',
bgColor: '',
message: '',
duration: 3000,
fontSize: 15,
safeAreaInsetTop: false
}
};
exports.default = _default;
/***/ }),
/***/ 121:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/numberBox.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:11:46
* @FilePath : /u-view2.0/uview-ui/libs/config/props/numberBox.js
*/
var _default = {
// 步进器组件
numberBox: {
name: '',
value: 0,
min: 1,
max: Number.MAX_SAFE_INTEGER,
step: 1,
integer: false,
disabled: false,
disabledInput: false,
asyncChange: false,
inputWidth: 35,
showMinus: true,
showPlus: true,
decimalLength: null,
longPress: true,
color: '#323233',
buttonSize: 30,
bgColor: '#EBECEE',
cursorSpacing: 100,
disableMinus: false,
disablePlus: false,
iconStyle: ''
}
};
exports.default = _default;
/***/ }),
/***/ 122:
/*!****************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/numberKeyboard.js ***!
\****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:08:05
* @FilePath : /u-view2.0/uview-ui/libs/config/props/numberKeyboard.js
*/
var _default = {
// 数字键盘
numberKeyboard: {
mode: 'number',
dotDisabled: false,
random: false
}
};
exports.default = _default;
/***/ }),
/***/ 123:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/overlay.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:06:50
* @FilePath : /u-view2.0/uview-ui/libs/config/props/overlay.js
*/
var _default = {
// overlay组件
overlay: {
show: false,
zIndex: 10070,
duration: 300,
opacity: 0.5
}
};
exports.default = _default;
/***/ }),
/***/ 124:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/parse.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:17:33
* @FilePath : /u-view2.0/uview-ui/libs/config/props/parse.js
*/
var _default = {
// parse
parse: {
copyLink: true,
errorImg: '',
lazyLoad: false,
loadingImg: '',
pauseVideo: true,
previewImg: true,
setTitle: true,
showImgMenu: true
}
};
exports.default = _default;
/***/ }),
/***/ 125:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/picker.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:18:20
* @FilePath : /u-view2.0/uview-ui/libs/config/props/picker.js
*/
var _default = {
// picker
picker: {
show: false,
showToolbar: true,
title: '',
columns: function columns() {
return [];
},
loading: false,
itemHeight: 44,
cancelText: '取消',
confirmText: '确定',
cancelColor: '#909193',
confirmColor: '#3c9cff',
visibleItemCount: 5,
keyName: 'text',
closeOnClickOverlay: false,
defaultIndex: function defaultIndex() {
return [];
},
immediateChange: false
}
};
exports.default = _default;
/***/ }),
/***/ 126:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/popup.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:06:33
* @FilePath : /u-view2.0/uview-ui/libs/config/props/popup.js
*/
var _default = {
// popup组件
popup: {
show: false,
overlay: true,
mode: 'bottom',
duration: 300,
closeable: false,
overlayStyle: function overlayStyle() {},
closeOnClickOverlay: true,
zIndex: 10075,
safeAreaInsetBottom: true,
safeAreaInsetTop: false,
closeIconPos: 'top-right',
round: 0,
zoom: true,
bgColor: '',
overlayOpacity: 0.5
}
};
exports.default = _default;
/***/ }),
/***/ 127:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/radio.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:02:34
* @FilePath : /u-view2.0/uview-ui/libs/config/props/radio.js
*/
var _default = {
// radio组件
radio: {
name: '',
shape: '',
disabled: '',
labelDisabled: '',
activeColor: '',
inactiveColor: '',
iconSize: '',
labelSize: '',
label: '',
labelColor: '',
size: '',
iconColor: '',
placement: ''
}
};
exports.default = _default;
/***/ }),
/***/ 128:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/radioGroup.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:03:12
* @FilePath : /u-view2.0/uview-ui/libs/config/props/radioGroup.js
*/
var _default = {
// radio-group组件
radioGroup: {
value: '',
disabled: false,
shape: 'circle',
activeColor: '#2979ff',
inactiveColor: '#c8c9cc',
name: '',
size: 18,
placement: 'row',
label: '',
labelColor: '#303133',
labelSize: 14,
labelDisabled: false,
iconColor: '#ffffff',
iconSize: 12,
borderBottom: false,
iconPlacement: 'left'
}
};
exports.default = _default;
/***/ }),
/***/ 129:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/rate.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:05:09
* @FilePath : /u-view2.0/uview-ui/libs/config/props/rate.js
*/
var _default = {
// rate组件
rate: {
value: 1,
count: 5,
disabled: false,
size: 18,
inactiveColor: '#b2b2b2',
activeColor: '#FA3534',
gutter: 4,
minCount: 1,
allowHalf: false,
activeIcon: 'star-fill',
inactiveIcon: 'star',
touchable: true
}
};
exports.default = _default;
/***/ }),
/***/ 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;
/***/ }),
/***/ 130:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/readMore.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:18:41
* @FilePath : /u-view2.0/uview-ui/libs/config/props/readMore.js
*/
var _default = {
// readMore
readMore: {
showHeight: 400,
toggle: false,
closeText: '展开阅读全文',
openText: '收起',
color: '#2979ff',
fontSize: 14,
textIndent: '2em',
name: ''
}
};
exports.default = _default;
/***/ }),
/***/ 131:
/*!*****************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/row.js ***!
\*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:18:58
* @FilePath : /u-view2.0/uview-ui/libs/config/props/row.js
*/
var _default = {
// row
row: {
gutter: 0,
justify: 'start',
align: 'center'
}
};
exports.default = _default;
/***/ }),
/***/ 132:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/rowNotice.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:19:13
* @FilePath : /u-view2.0/uview-ui/libs/config/props/rowNotice.js
*/
var _default = {
// rowNotice
rowNotice: {
text: '',
icon: 'volume',
mode: '',
color: '#f9ae3d',
bgColor: '#fdf6ec',
fontSize: 14,
speed: 80
}
};
exports.default = _default;
/***/ }),
/***/ 133:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/scrollList.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:19:28
* @FilePath : /u-view2.0/uview-ui/libs/config/props/scrollList.js
*/
var _default = {
// scrollList
scrollList: {
indicatorWidth: 50,
indicatorBarWidth: 20,
indicator: true,
indicatorColor: '#f2f2f2',
indicatorActiveColor: '#3c9cff',
indicatorStyle: ''
}
};
exports.default = _default;
/***/ }),
/***/ 134:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/search.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:19:45
* @FilePath : /u-view2.0/uview-ui/libs/config/props/search.js
*/
var _default = {
// search
search: {
shape: 'round',
bgColor: '#f2f2f2',
placeholder: '请输入关键字',
clearabled: true,
focus: false,
showAction: true,
actionStyle: function actionStyle() {
return {};
},
actionText: '搜索',
inputAlign: 'left',
inputStyle: function inputStyle() {
return {};
},
disabled: false,
borderColor: 'transparent',
searchIconColor: '#909399',
searchIconSize: 22,
color: '#606266',
placeholderColor: '#909399',
searchIcon: 'search',
margin: '0',
animation: false,
value: '',
maxlength: '-1',
height: 32,
label: null
}
};
exports.default = _default;
/***/ }),
/***/ 135:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/section.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:07:33
* @FilePath : /u-view2.0/uview-ui/libs/config/props/section.js
*/
var _default = {
// u-section组件
section: {
title: '',
subTitle: '更多',
right: true,
fontSize: 15,
bold: true,
color: '#303133',
subColor: '#909399',
showLine: true,
lineColor: '',
arrow: true
}
};
exports.default = _default;
/***/ }),
/***/ 136:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/skeleton.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:20:14
* @FilePath : /u-view2.0/uview-ui/libs/config/props/skeleton.js
*/
var _default = {
// skeleton
skeleton: {
loading: true,
animate: true,
rows: 0,
rowsWidth: '100%',
rowsHeight: 18,
title: true,
titleWidth: '50%',
titleHeight: 18,
avatar: false,
avatarSize: 32,
avatarShape: 'circle'
}
};
exports.default = _default;
/***/ }),
/***/ 137:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/slider.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:08:25
* @FilePath : /u-view2.0/uview-ui/libs/config/props/slider.js
*/
var _default = {
// slider组件
slider: {
value: 0,
blockSize: 18,
min: 0,
max: 100,
step: 1,
activeColor: '#2979ff',
inactiveColor: '#c0c4cc',
blockColor: '#ffffff',
showValue: false,
disabled: false,
blockStyle: function blockStyle() {}
}
};
exports.default = _default;
/***/ }),
/***/ 138:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/statusBar.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:20:39
* @FilePath : /u-view2.0/uview-ui/libs/config/props/statusBar.js
*/
var _default = {
// statusBar
statusBar: {
bgColor: 'transparent'
}
};
exports.default = _default;
/***/ }),
/***/ 139:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/steps.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:12:37
* @FilePath : /u-view2.0/uview-ui/libs/config/props/steps.js
*/
var _default = {
// steps组件
steps: {
direction: 'row',
current: 0,
activeColor: '#3c9cff',
inactiveColor: '#969799',
activeIcon: '',
inactiveIcon: '',
dot: false
}
};
exports.default = _default;
/***/ }),
/***/ 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;
/***/ }),
/***/ 140:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/stepsItem.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:12:55
* @FilePath : /u-view2.0/uview-ui/libs/config/props/stepsItem.js
*/
var _default = {
// steps-item组件
stepsItem: {
title: '',
desc: '',
iconSize: 17,
error: false
}
};
exports.default = _default;
/***/ }),
/***/ 141:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/sticky.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:01:30
* @FilePath : /u-view2.0/uview-ui/libs/config/props/sticky.js
*/
var _default = {
// sticky组件
sticky: {
offsetTop: 0,
customNavHeight: 0,
disabled: false,
bgColor: 'transparent',
zIndex: '',
index: ''
}
};
exports.default = _default;
/***/ }),
/***/ 142:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/subsection.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:12:20
* @FilePath : /u-view2.0/uview-ui/libs/config/props/subsection.js
*/
var _default = {
// subsection组件
subsection: {
list: [],
current: 0,
activeColor: '#3c9cff',
inactiveColor: '#303133',
mode: 'button',
fontSize: 12,
bold: true,
bgColor: '#eeeeef',
keyName: 'name'
}
};
exports.default = _default;
/***/ }),
/***/ 143:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/swipeAction.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:00:42
* @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeAction.js
*/
var _default = {
// swipe-action组件
swipeAction: {
autoClose: true
}
};
exports.default = _default;
/***/ }),
/***/ 144:
/*!*****************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/swipeActionItem.js ***!
\*****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:01:13
* @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeActionItem.js
*/
var _default = {
// swipeActionItem 组件
swipeActionItem: {
show: false,
name: '',
disabled: false,
threshold: 20,
autoClose: true,
options: [],
duration: 300
}
};
exports.default = _default;
/***/ }),
/***/ 145:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/swiper.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:21:38
* @FilePath : /u-view2.0/uview-ui/libs/config/props/swiper.js
*/
var _default = {
// swiper 组件
swiper: {
list: function list() {
return [];
},
indicator: false,
indicatorActiveColor: '#FFFFFF',
indicatorInactiveColor: 'rgba(255, 255, 255, 0.35)',
indicatorStyle: '',
indicatorMode: 'line',
autoplay: true,
current: 0,
currentItemId: '',
interval: 3000,
duration: 300,
circular: false,
previousMargin: 0,
nextMargin: 0,
acceleration: false,
displayMultipleItems: 1,
easingFunction: 'default',
keyName: 'url',
imgMode: 'aspectFill',
height: 130,
bgColor: '#f3f4f6',
radius: 4,
loading: false,
showTitle: false
}
};
exports.default = _default;
/***/ }),
/***/ 146:
/*!******************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/swipterIndicator.js ***!
\******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:22:07
* @FilePath : /u-view2.0/uview-ui/libs/config/props/swiperIndicator.js
*/
var _default = {
// swiperIndicator 组件
swiperIndicator: {
length: 0,
current: 0,
indicatorActiveColor: '',
indicatorInactiveColor: '',
indicatorMode: 'line'
}
};
exports.default = _default;
/***/ }),
/***/ 147:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/switch.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:22:24
* @FilePath : /u-view2.0/uview-ui/libs/config/props/switch.js
*/
var _default = {
// switch
switch: {
loading: false,
disabled: false,
size: 25,
activeColor: '#2979ff',
inactiveColor: '#ffffff',
value: false,
activeValue: true,
inactiveValue: false,
asyncChange: false,
space: 0
}
};
exports.default = _default;
/***/ }),
/***/ 148:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/tabbar.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:22:40
* @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbar.js
*/
var _default = {
// tabbar
tabbar: {
value: null,
safeAreaInsetBottom: true,
border: true,
zIndex: 1,
activeColor: '#1989fa',
inactiveColor: '#7d7e80',
fixed: true,
placeholder: true
}
};
exports.default = _default;
/***/ }),
/***/ 149:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/tabbarItem.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:22:55
* @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbarItem.js
*/
var _default = {
//
tabbarItem: {
name: null,
icon: '',
badge: null,
dot: false,
text: '',
badgeStyle: 'top: 6px;right:2px;'
}
};
exports.default = _default;
/***/ }),
/***/ 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;
/***/ }),
/***/ 150:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/tabs.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:23:14
* @FilePath : /u-view2.0/uview-ui/libs/config/props/tabs.js
*/
var _default = {
//
tabs: {
duration: 300,
list: function list() {
return [];
},
lineColor: '#3c9cff',
activeStyle: function activeStyle() {
return {
color: '#303133'
};
},
inactiveStyle: function inactiveStyle() {
return {
color: '#606266'
};
},
lineWidth: 20,
lineHeight: 3,
lineBgSize: 'cover',
itemStyle: function itemStyle() {
return {
height: '44px'
};
},
scrollable: true,
current: 0,
keyName: 'name'
}
};
exports.default = _default;
/***/ }),
/***/ 151:
/*!*****************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/tag.js ***!
\*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:23:37
* @FilePath : /u-view2.0/uview-ui/libs/config/props/tag.js
*/
var _default = {
// tag 组件
tag: {
type: 'primary',
disabled: false,
size: 'medium',
shape: 'square',
text: '',
bgColor: '',
color: '',
borderColor: '',
closeColor: '#C6C7CB',
name: '',
plainFill: false,
plain: false,
closable: false,
show: true,
icon: ''
}
};
exports.default = _default;
/***/ }),
/***/ 152:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/text.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:23:58
* @FilePath : /u-view2.0/uview-ui/libs/config/props/text.js
*/
var _default = {
// text 组件
text: {
type: '',
show: true,
text: '',
prefixIcon: '',
suffixIcon: '',
mode: '',
href: '',
format: '',
call: false,
openType: '',
bold: false,
block: false,
lines: '',
color: '#303133',
size: 15,
iconStyle: function iconStyle() {
return {
fontSize: '15px'
};
},
decoration: 'none',
margin: 0,
lineHeight: '',
align: 'left',
wordWrap: 'normal'
}
};
exports.default = _default;
/***/ }),
/***/ 153:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/textarea.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:24:32
* @FilePath : /u-view2.0/uview-ui/libs/config/props/textarea.js
*/
var _default = {
// textarea 组件
textarea: {
value: '',
placeholder: '',
placeholderClass: 'textarea-placeholder',
placeholderStyle: 'color: #c0c4cc',
height: 70,
confirmType: 'done',
disabled: false,
count: false,
focus: false,
autoHeight: false,
fixed: false,
cursorSpacing: 0,
cursor: '',
showConfirmBar: true,
selectionStart: -1,
selectionEnd: -1,
adjustPosition: true,
disableDefaultPadding: false,
holdKeyboard: false,
maxlength: 140,
border: 'surround',
formatter: null
}
};
exports.default = _default;
/***/ }),
/***/ 154:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/toast.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:07:07
* @FilePath : /u-view2.0/uview-ui/libs/config/props/toast.js
*/
var _default = {
// toast组件
toast: {
zIndex: 10090,
loading: false,
text: '',
icon: '',
type: '',
loadingMode: '',
show: '',
overlay: false,
position: 'center',
params: function params() {},
duration: 2000,
isTab: false,
url: '',
callback: null,
back: false
}
};
exports.default = _default;
/***/ }),
/***/ 155:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/toolbar.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:24:55
* @FilePath : /u-view2.0/uview-ui/libs/config/props/toolbar.js
*/
var _default = {
// toolbar 组件
toolbar: {
show: true,
cancelText: '取消',
confirmText: '确认',
cancelColor: '#909193',
confirmColor: '#3c9cff',
title: ''
}
};
exports.default = _default;
/***/ }),
/***/ 156:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/tooltip.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:25:14
* @FilePath : /u-view2.0/uview-ui/libs/config/props/tooltip.js
*/
var _default = {
// tooltip 组件
tooltip: {
text: '',
copyText: '',
size: 14,
color: '#606266',
bgColor: 'transparent',
direction: 'top',
zIndex: 10071,
showCopy: true,
buttons: function buttons() {
return [];
},
overlay: true,
showToast: true
}
};
exports.default = _default;
/***/ }),
/***/ 157:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/transition.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:59:00
* @FilePath : /u-view2.0/uview-ui/libs/config/props/transition.js
*/
var _default = {
// transition动画组件的props
transition: {
show: false,
mode: 'fade',
duration: '300',
timingFunction: 'ease-out'
}
};
exports.default = _default;
/***/ }),
/***/ 158:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/upload.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:09:50
* @FilePath : /u-view2.0/uview-ui/libs/config/props/upload.js
*/
var _default = {
// upload组件
upload: {
accept: 'image',
capture: function capture() {
return ['album', 'camera'];
},
compressed: true,
camera: 'back',
maxDuration: 60,
uploadIcon: 'camera-fill',
uploadIconColor: '#D3D4D6',
useBeforeRead: false,
previewFullImage: true,
maxCount: 52,
disabled: false,
imageMode: 'aspectFill',
name: '',
sizeType: function sizeType() {
return ['original', 'compressed'];
},
multiple: false,
deletable: true,
maxSize: Number.MAX_VALUE,
fileList: function fileList() {
return [];
},
uploadText: '',
width: 80,
height: 80,
previewImage: true
}
};
exports.default = _default;
/***/ }),
/***/ 159:
/*!**************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/zIndex.js ***!
\**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// uniapp在H5中各API的z-index值如下:
/**
* actionsheet: 999
* modal: 999
* navigate: 998
* tabbar: 998
* toast: 999
*/
var _default = {
toast: 10090,
noNetwork: 10080,
// popup包含popup,actionsheet,keyboard,picker的值
popup: 10075,
mask: 10070,
navbar: 980,
topTips: 975,
sticky: 970,
indexListSticky: 965
};
exports.default = _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;
/***/ }),
/***/ 160:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/function/platform.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/**
* 注意:
* 此部分内容,在vue-cli模式下,需要在vue.config.js加入如下内容才有效:
* module.exports = {
* transpileDependencies: ['uview-v2']
* }
*/
var platform = 'none';
platform = 'vue2';
platform = 'weixin';
platform = 'mp';
var _default = platform;
exports.default = _default;
/***/ }),
/***/ 167:
/*!*********************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/utils/index.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.validateEmail = exports.uploadVideo = exports.upload = exports.uniqueByField = exports.request = exports.picUrl = exports.menuButtonInfo = exports.isPhone = exports.getProviderPromise = exports.floatCalculate = exports.calculateDistance = exports.NavgateTo = 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; }
// const RequsetUrl = 'https://huishang.magicany.cc/api/v1'; // 请求地址前缀
var RequsetUrl = 'https://test.hshuishang.com'; // 请求地址前缀
var picUrl = 'https://test.hshuishang.com'; // 图片地址前缀
/**
* @description 小程序跳转方法二次封装
* @method NavgateTo
* @param {String} path - 跳转的目标页面路径
* @param {Object} options - 配置选项对象
* @param {Boolean} options.isLogin - 是否需要校验登录态,默认为 true
*/
exports.picUrl = picUrl;
var NavgateTo = function NavgateTo(path) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var _options$isLogin = options.isLogin,
isLogin = _options$isLogin === void 0 ? true : _options$isLogin;
var ctoken = uni.getStorageSync('ctoken');
if (isLogin) {
if (!ctoken) {
uni.redirectTo({
url: '/pages/login/login'
});
return;
} else {
if (path == '1') {
uni.navigateBack({
delta: 1
});
return;
}
uni.navigateTo({
url: path
});
return;
}
}
uni.navigateTo({
url: path
});
};
/**
* 封装请求方法
* @param {string} url 请求地址
* @param {string} method 请求方法
* @param {Object} data 请求参数
* @param {Object} options 配置选项对象
* @param {Boolean} options.silent - 是否显示loading,默认为 true
* @param {Boolean} options.nested - 是否平铺接口返回参数,默认为 false
* @returns {Promise} 返回一个Promise对象
*/
exports.NavgateTo = NavgateTo;
var request = function request(url) {
var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'POST';
var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var _options$silent = options.silent,
silent = _options$silent === void 0 ? true : _options$silent,
_options$nested = options.nested,
nested = _options$nested === void 0 ? false : _options$nested;
var ctoken = null;
if (options.token) {
ctoken = options.token;
} else {
ctoken = uni.getStorageSync('ctoken'); // 后续接口强依赖强校验该字段
}
if (silent) {
uni.showLoading({
title: '加载中',
mask: true
});
}
;
var params = _objectSpread({
user_id: uni.getStorageSync('userId')
}, data);
return new Promise(function (resolve, reject) {
uni.request({
url: RequsetUrl + url,
method: method,
data: params,
header: {
'Content-Type': 'application/json',
'Authorization': ctoken
// ...header,
},
success: function success(res) {
// console.log('请求成功,接口返参', res);
if (res.statusCode == 401 || res.statusCode == 500 && res.data.msg == "效验令牌失败") {
uni.showModal({
title: '提示',
content: '请登录后查看',
confirmText: "去登陆",
complete: function complete(res) {
if (res.cancel) {
uni.hideLoading();
uni.redirectTo({
url: '/pages/index/index'
});
return;
}
if (res.confirm) {
uni.redirectTo({
url: '/pages/login/login'
});
}
}
});
return;
}
if (res.statusCode === 200) {
if (silent) {
uni.hideLoading();
}
if (options !== null && options !== void 0 && options.nested) {
var _data = _objectSpread({}, res.data);
resolve(_data); // 请求成功
return;
}
resolve(res.data.data); // 请求成功
} else {
console.log('走到这列');
uni.hideLoading();
uni.showToast({
title: res.data.msg || '请求失败',
icon: 'none'
});
reject({
code: res.statusCode,
message: res.data.msg || '请求失败',
data: res.data
});
}
},
fail: function fail(err) {
uni.hideLoading();
uni.showToast({
title: res.data.msg || '请求失败',
icon: 'none'
});
reject({
code: -1,
message: '接口异常,请稍后重试',
error: err
});
}
});
});
};
/**
* 校验手机号是否合法
* @param {string} option 请求方法
* @returns {Boolean} 手机号是否正确
*/
exports.request = request;
var isPhone = function isPhone(option) {
if (option.length != 11) {
return false;
}
if (!/^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/.test(option)) {
return false;
} else {
return true;
}
};
/**
* 精确的浮点数运算
* @param {number} num1 - 第一个数字
* @param {number} num2 - 第二个数字
* @param {string} operator - 运算符,支持 '+', '-', '*', '/', '+='
* @returns {number} - 运算结果
*/
exports.isPhone = isPhone;
var floatCalculate = function floatCalculate(num1, num2, operator) {
// 获取小数位数
function getPrecision(num) {
var str = num.toString();
var decimalIndex = str.indexOf('.');
return decimalIndex === -1 ? 0 : str.length - decimalIndex - 1;
}
// 计算放大倍数
var precision1 = getPrecision(num1);
var precision2 = getPrecision(num2);
var maxPrecision = Math.max(precision1, precision2);
var factor = Math.pow(10, maxPrecision);
// 将数字转换为整数
var intNum1 = Math.round(num1 * factor);
var intNum2 = Math.round(num2 * factor);
// 根据运算符进行计算
var result;
switch (operator) {
case '+':
result = (intNum1 + intNum2) / factor;
break;
case '-':
result = (intNum1 - intNum2) / factor;
break;
case '*':
result = intNum1 * intNum2 / (factor * factor);
break;
case '/':
result = intNum1 / intNum2;
break;
case '+=':
result = (intNum1 + intNum2) / factor;
break;
default:
throw new Error('不支持的运算符');
}
return result;
};
/**
* 图片上传
* @param {string} filename - 图片上传地址
* @param {Function} fn - 接口回调函数
*/
exports.floatCalculate = floatCalculate;
var upload = function upload(filename, fn) {
uni.showLoading({
title: '上传中',
mask: true
});
uni.uploadFile({
url: RequsetUrl + '/api/v1/public/upload-image',
filePath: filename,
name: 'image',
formData: {
'uid': uni.getStorageSync('uid')
},
success: function success(f) {
uni.hideLoading();
fn(JSON.parse(f.data));
},
fail: function fail(res) {
uni.hideLoading();
console.log(res);
uni.showToast({
title: '上传文件失败',
icon: 'none'
});
},
complete: function complete() {}
});
};
/**
* 视频上传
* @param {string} filename - 图片上传地址
* @param {Function} fn - 接口回调函数
*/
exports.upload = upload;
var uploadVideo = function uploadVideo(filename, fn) {
uni.showLoading({
title: '上传中',
mask: true
});
uni.uploadFile({
url: RequsetUrl + '/api/v1/public/upload-video',
filePath: filename,
name: 'file',
formData: {
'uid': uni.getStorageSync('uid')
},
success: function success(f) {
uni.hideLoading();
fn(JSON.parse(f.data));
},
fail: function fail(res) {
uni.hideLoading();
console.log(res);
uni.showToast({
title: '上传文件失败',
icon: 'none'
});
},
complete: function complete() {}
});
};
/**
* 计算两地之间的距离
* @param {string} lat1 第一个点的纬度
* @param {string} lon1 第一个点的经度
* @param {string} lat2 第二个点的纬度
* @param {string} lon2 第二个点的经度
* @returns {number} 距离
*/
exports.uploadVideo = uploadVideo;
var calculateDistance = function calculateDistance(lat1, lon1, lat2, lon2) {
// 将经纬度转换为弧度
var toRad = function toRad(value) {
return value * Math.PI / 180;
};
var R = 6371; // 地球半径(单位:千米)
var dLat = toRad(lat2 - lat1);
var dLon = toRad(lon2 - lon1);
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(toRad(lat1)) * Math.cos(toRad(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;
};
//
exports.calculateDistance = calculateDistance;
var menuButtonInfo = function menuButtonInfo() {
var systemInfo = uni.getSystemInfoSync();
var platform = systemInfo.platform;
if (platform === 'ios') {
// TODO: ios待测试
return {
height: systemInfo.statusBarHeight,
top: 44
};
}
if (platform === 'android') {
return {
height: systemInfo.statusBarHeight,
top: 44 // 自定义导航栏默认高度
};
}
if (systemInfo.uniPlatform === 'mp-weixin') {
// 微信小程序、支付宝小程序等,平台标识以 'mp-' 开头
return uni.getMenuButtonBoundingClientRect();
} else {
return 'Unknown';
}
};
/**
* 获取服务供应商
* @param {string} opt - 服务类型
* @returns {Promise} 返回一个Promise对象
*/
exports.menuButtonInfo = menuButtonInfo;
var getProviderPromise = function getProviderPromise(opt) {
return new Promise(function (resolve, reject) {
uni.getProvider({
service: opt,
success: function success(res) {
console.log('获取支付服务提供商成功:', res.provider);
resolve(res.provider);
},
fail: function fail(err) {
console.error('获取支付服务提供商失败:', err);
reject(err);
}
});
});
};
//数组去重
exports.getProviderPromise = getProviderPromise;
var uniqueByField = function uniqueByField(arr, field) {
var seen = {};
return arr.filter(function (item) {
var key = item[field];
return seen.hasOwnProperty(key) ? false : seen[key] = true;
});
};
// 校验邮箱地址是否合法
exports.uniqueByField = uniqueByField;
var validateEmail = function validateEmail(email) {
// 正则表达式验证邮箱格式
var regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (!regex.test(email)) {
return false;
}
return true;
};
exports.validateEmail = validateEmail;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 168:
/*!***********************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/community.js ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
list: '/api/v1/wechat/community/list',
// 获取社区列表
info: '/api/v1/wechat/community/info',
// 获取单个社区信息
isJoin: '/api/v1/wechat/community/is-join',
// 用户是否加入社区、楼宇、房间
tipsList: '/api/v1/wechat/community/tips/list',
// 获取全部通知列表
oneTips: '/api/v1/wechat/community/tips/one',
// 获取单个社区通知
apply: '/api/v1/wechat/community/apply',
// 申请加入小区
getFacilityList: '/api/v1/wechat/community/facility/list',
//获取楼号,
getRoomList: '/api/v1/wechat/community/room/list',
//获取房间号
ownerList: '/api/v1/wechat/community/owner/list',
// 获取社区业主列表
submit: "/api/v1/wechat/community/owner/feedback-create",
//报修提交
getListByRepair: "/api/v1/wechat/community/owner/feedback-list",
//报事报修列表
getInfoById: "/api/v1/wechat/community/owner/feedback-info",
//报事报修根据id查询详情
getUserCommunity: "/api/v1/wechat/community/owner/mylist",
//获取用户社区信息
get_host_info: 'https://zhsq.hshuishang.com/Miniapi/Index/get_host_info',
get_community_area_list: "https://zhsq.hshuishang.com/Miniapi/Community/get_community_area_list",
carList: '/api/v1/wechat/community/car/list',
// 获取社区列表
addCar: '/api/v1/wechat/community/car/add',
// 添加车辆
getCarList: '/api/v1/wechat/community/car/list',
//获取车辆列表
deleteItem: "/api/v1/wechat/community/car/del",
//删除车牌
getBanner: "/api/v1/wechat/home-page/banner-list",
//获取banner图
getButton: "/api/v1/wechat/home-page/button-list",
//获取button
getHotWords: "/api/v1/wechat/home-page/search-hot-word/info" //搜索热词
};
exports.apiArr = apiArr;
/***/ }),
/***/ 169:
/*!********************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/v2Home.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
getCateList: "/api/v2/wechat/merchant-cate-crud/list",
//小区房源列表
getHomeBanner: "/api/v2/wechat/home-banner-region-crud/page",
//获取首页banner及其广告
getButtonNum: "/api/v2/wechat/nav-display-crud/info",
//获取首页button的行数 数量
getHomeButton: "/api/v2/wechat/home-button-region-crud/page" //获取首页button
};
exports.apiArr = apiArr;
/***/ }),
/***/ 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;
/***/ }),
/***/ 170:
/*!******************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/area.js ***!
\******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
city: '/api/v1/citys/s/list',
// 获取省份列表
area: '/api/v1/citys/c/list',
// 获取城市列表
business: '/api/v1/citys/x/list',
// 获取区县列表
getArea: "/api/v2/administrative-division/child-list",
//新版获取省市区
getParArea: "/api/v2/administrative-division/info" //新版获取省市区
};
exports.apiArr = apiArr;
/***/ }),
/***/ 179:
/*!*******************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/login.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
login: '/api/v1/wechat/multi-login',
// 小程序登录
loginInfo: '/api/v1/wechat/mpusers/login-info',
// 获取用户信息
loginGetPhone: '/api/v1/wechat/mpusers/get-phone',
// 获取用户手机号
loginGetUserPhone: "/api/v2/wechat/mpusers/get-phone"
};
exports.apiArr = apiArr;
/***/ }),
/***/ 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;
/***/ }),
/***/ 180:
/*!********************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/v2User.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
getUserInfo: '/api/v2/wechat/mpuser-crud/info',
// 获取城市列表
userInfoUpdate: '/api/v2/wechat/mpuser-crud/update' // 会员信息更新
};
exports.apiArr = apiArr;
/***/ }),
/***/ 189:
/*!*********************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/pinyin-pro/dist/index.mjs ***!
\*********************************************************************************/
/*! 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.OutputFormat = void 0;
exports.addDict = addDict;
exports.clearCustomDict = clearCustomDict;
exports.convert = convert;
exports.customPinyin = customPinyin;
exports.match = exports.html = exports.getNumOfTone = exports.getInitialAndFinal = exports.getFinalParts = void 0;
exports.pinyin = pinyin;
exports.polyphonic = polyphonic;
exports.removeDict = removeDict;
exports.segment = segment;
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
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 DoubleUnicodePrefixReg = /^[\uD800-\uDBFF]$/;
var DoubleUnicodeSuffixReg = /^[\uDC00-\uDFFF]$/;
var DoubleUnicodeReg = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
var Probability;
(function (Probability) {
Probability[Probability["Unknown"] = 1e-13] = "Unknown";
Probability[Probability["Rule"] = 1e-12] = "Rule";
Probability[Probability["DICT"] = 2e-8] = "DICT";
Probability[Probability["Surname"] = 1] = "Surname";
Probability[Probability["Custom"] = 1] = "Custom";
})(Probability || (Probability = {}));
var Priority = {
Normal: 1,
Surname: 10,
Custom: 100
};
function stringLength(text) {
var _a;
return text.length - (((_a = text.match(DoubleUnicodeReg)) === null || _a === void 0 ? void 0 : _a.length) || 0);
}
// 双音节字符处理
function splitString(text) {
var result = [];
var i = 0;
while (i < text.length) {
var char = text[i];
if (DoubleUnicodePrefixReg.test(char) && DoubleUnicodeSuffixReg.test(text[i + 1])) {
result.push(text.substring(i, i + 2));
i += 2;
} else {
result.push(char);
i += 1;
}
}
return result;
}
var FastDictFactory = /*#__PURE__*/function () {
function FastDictFactory() {
(0, _classCallCheck2.default)(this, FastDictFactory);
this.NumberDICT = [];
this.StringDICT = new Map();
}
(0, _createClass2.default)(FastDictFactory, [{
key: "get",
value: function get(word) {
if (word.length > 1) {
return this.StringDICT.get(word);
} else {
var code = word.charCodeAt(0);
return this.NumberDICT[code];
}
}
}, {
key: "set",
value: function set(word, pinyin) {
if (word.length > 1) {
this.StringDICT.set(word, pinyin);
} else {
var code = word.charCodeAt(0);
this.NumberDICT[code] = pinyin;
}
}
}, {
key: "clear",
value: function clear() {
this.NumberDICT = [];
this.StringDICT.clear();
}
}]);
return FastDictFactory;
}();
var map = {
'bǎng páng pāng': ['膀'],
líng: ['〇', '伶', '凌', '刢', '囹', '坽', '夌', '姈', '婈', '孁', '岺', '彾', '掕', '昤', '朎', '柃', '棂', '櫺', '欞', '泠', '淩', '澪', '灵', '燯', '爧', '狑', '玲', '琌', '瓴', '皊', '砱', '祾', '秢', '竛', '笭', '紷', '綾', '绫', '羐', '羚', '翎', '聆', '舲', '苓', '菱', '蓤', '蔆', '蕶', '蛉', '衑', '裬', '詅', '跉', '軨', '輘', '酃', '醽', '鈴', '錂', '铃', '閝', '陵', '零', '霊', '霗', '霛', '霝', '靈', '駖', '魿', '鯪', '鲮', '鴒', '鸰', '鹷', '麢', '齡', '齢', '龄', '龗', '㥄'],
yī: ['一', '乊', '伊', '依', '医', '吚', '咿', '噫', '壱', '壹', '夁', '嫛', '嬄', '弌', '揖', '撎', '檹', '毉', '洢', '渏', '漪', '瑿', '畩', '祎', '禕', '稦', '繄', '蛜', '衤', '譩', '辷', '郼', '醫', '銥', '铱', '鷖', '鹥', '黟', '黳'],
'dīng zhēng': ['丁'],
'kǎo qiǎo yú': ['丂'],
qī: ['七', '倛', '僛', '凄', '嘁', '墄', '娸', '悽', '慼', '慽', '戚', '捿', '柒', '桤', '桼', '棲', '榿', '欺', '沏', '淒', '漆', '紪', '緀', '萋', '褄', '諆', '迉', '郪', '鏚', '霋', '魌', '鶈'],
shàng: ['丄', '尙', '尚', '恦', '緔', '绱'],
xià: ['丅', '下', '乤', '圷', '夏', '夓', '懗', '梺', '疜', '睱', '罅', '鎼', '鏬'],
hǎn: ['丆', '喊', '浫', '罕', '豃', '㘎'],
'wàn mò': ['万'],
zhàng: ['丈', '仗', '墇', '嶂', '帐', '帳', '幛', '扙', '杖', '涱', '痮', '瘬', '瘴', '瞕', '粀', '胀', '脹', '賬', '账', '障'],
sān: ['三', '厁', '叁', '弎', '毵', '毶', '毿', '犙', '鬖'],
'shàng shǎng shang': ['上'],
'qí jī': ['丌', '其', '奇'],
'bù fǒu': ['不'],
'yǔ yù yú': ['与'],
miǎn: ['丏', '偭', '免', '冕', '勉', '勔', '喕', '娩', '愐', '汅', '沔', '湎', '睌', '緬', '缅', '腼', '葂', '靦', '鮸', '𩾃'],
gài: ['丐', '乢', '匃', '匄', '戤', '概', '槩', '槪', '溉', '漑', '瓂', '葢', '鈣', '钙', '𬮿'],
chǒu: ['丑', '丒', '侴', '吜', '杽', '瞅', '矁', '醜', '魗'],
zhuān: ['专', '叀', '嫥', '専', '專', '瑼', '甎', '砖', '磗', '磚', '蟤', '諯', '鄟', '顓', '颛', '鱄', '䏝'],
'qiě jū': ['且'],
pī: ['丕', '伓', '伾', '噼', '坯', '岯', '憵', '批', '披', '炋', '狉', '狓', '砒', '磇', '礔', '礕', '秛', '秠', '耚', '豾', '邳', '鈚', '鉟', '銔', '錃', '錍', '霹', '駓', '髬', '魾', '𬳵'],
shì: ['世', '丗', '亊', '事', '仕', '侍', '冟', '势', '勢', '卋', '呩', '嗜', '噬', '士', '奭', '嬕', '室', '市', '式', '弑', '弒', '恀', '恃', '戺', '拭', '揓', '是', '昰', '枾', '柿', '栻', '澨', '烒', '煶', '眂', '眎', '眡', '睗', '示', '礻', '筮', '簭', '舐', '舓', '襫', '視', '视', '觢', '試', '誓', '諡', '謚', '试', '谥', '貰', '贳', '軾', '轼', '逝', '遾', '釈', '释', '釋', '鈰', '鉃', '鉽', '铈', '飾', '餙', '餝', '饰', '鰘', '䏡', '𬤊'],
qiū: ['丘', '丠', '坵', '媝', '恘', '恷', '楸', '秋', '秌', '穐', '篍', '緧', '萩', '蘒', '蚯', '蝵', '蟗', '蠤', '趥', '邱', '鞦', '鞧', '鰌', '鰍', '鳅', '鶖', '鹙', '龝'],
bǐng: ['丙', '屛', '怲', '抦', '昞', '昺', '柄', '棅', '炳', '禀', '秉', '稟', '苪', '蛃', '邴', '鈵', '陃', '鞆', '餅', '餠', '饼'],
yè: ['业', '亱', '僷', '墷', '夜', '嶪', '嶫', '抴', '捙', '擛', '擪', '擫', '晔', '曄', '曅', '曗', '曳', '曵', '枼', '枽', '業', '洂', '液', '澲', '烨', '燁', '爗', '璍', '皣', '瞱', '瞸', '礏', '腋', '葉', '謁', '谒', '邺', '鄴', '鍱', '鐷', '靥', '靨', '頁', '页', '餣', '饁', '馌', '驜', '鵺', '鸈'],
cóng: ['丛', '从', '叢', '婃', '孮', '従', '徔', '徖', '悰', '樷', '欉', '淙', '灇', '爜', '琮', '藂', '誴', '賨', '賩', '錝'],
dōng: ['东', '倲', '冬', '咚', '埬', '岽', '崬', '徚', '昸', '東', '氡', '氭', '涷', '笗', '苳', '菄', '蝀', '鮗', '鯟', '鶇', '鶫', '鸫', '鼕', '𬟽'],
sī: ['丝', '俬', '凘', '厮', '司', '咝', '嘶', '噝', '媤', '廝', '恖', '撕', '斯', '楒', '泀', '澌', '燍', '禗', '禠', '私', '糹', '絲', '緦', '纟', '缌', '罳', '蕬', '虒', '蛳', '蜤', '螄', '蟖', '蟴', '鉰', '銯', '鍶', '鐁', '锶', '颸', '飔', '騦', '鷥', '鸶', '鼶', '㟃'],
chéng: ['丞', '呈', '城', '埕', '堘', '塍', '塖', '宬', '峸', '惩', '懲', '成', '承', '挰', '掁', '揨', '枨', '棖', '橙', '檙', '洆', '溗', '澂', '珵', '珹', '畻', '程', '窚', '筬', '絾', '脭', '荿', '誠', '诚', '郕', '酲', '鋮', '铖', '騬', '鯎'],
diū: ['丟', '丢', '銩', '铥'],
liǎng: ['両', '两', '兩', '唡', '啢', '掚', '緉', '脼', '蜽', '裲', '魉', '魎', '𬜯'],
yǒu: ['丣', '卣', '友', '梄', '湵', '牖', '禉', '羑', '聈', '苃', '莠', '蜏', '酉', '銪', '铕', '黝'],
yán: ['严', '厳', '啱', '喦', '嚴', '塩', '壛', '壧', '妍', '姸', '娫', '娮', '岩', '嵒', '嵓', '巌', '巖', '巗', '延', '揅', '昖', '楌', '檐', '櫩', '欕', '沿', '炎', '炏', '狿', '琂', '盐', '碞', '筵', '簷', '莚', '蔅', '虤', '蜒', '言', '訁', '訮', '詽', '讠', '郔', '閆', '閻', '闫', '阎', '顏', '顔', '颜', '鹽', '麣', '𫄧'],
bìng: ['並', '併', '倂', '傡', '垪', '摒', '栤', '病', '窉', '竝', '誁', '靐', '鮩'],
'sàng sāng': ['丧'],
gǔn: ['丨', '惃', '滚', '滾', '磙', '緄', '绲', '蓘', '蔉', '衮', '袞', '輥', '辊', '鮌', '鯀', '鲧'],
jiū: ['丩', '勼', '啾', '揪', '揫', '朻', '究', '糾', '纠', '萛', '赳', '阄', '鬏', '鬮', '鳩', '鸠'],
'gè gě': ['个', '個', '各'],
yā: ['丫', '圧', '孲', '庘', '押', '枒', '桠', '椏', '錏', '鐚', '鴉', '鴨', '鵶', '鸦', '鸭'],
pán: ['丬', '媻', '幋', '槃', '洀', '瀊', '爿', '盘', '盤', '磐', '縏', '蒰', '蟠', '蹒', '蹣', '鎜', '鞶'],
'zhōng zhòng': ['中'],
jǐ: ['丮', '妀', '己', '戟', '挤', '掎', '撠', '擠', '橶', '泲', '犱', '脊', '虮', '蟣', '魢', '鱾', '麂'],
jiè: ['丯', '介', '借', '唶', '堺', '屆', '届', '岕', '庎', '徣', '戒', '楐', '犗', '玠', '琾', '界', '畍', '疥', '砎', '蚧', '蛶', '衸', '褯', '誡', '诫', '鎅', '骱', '魪'],
fēng: ['丰', '仹', '偑', '僼', '凨', '凬', '凮', '妦', '寷', '封', '峯', '峰', '崶', '枫', '楓', '檒', '沣', '沨', '渢', '灃', '烽', '犎', '猦', '琒', '疯', '瘋', '盽', '砜', '碸', '篈', '蘴', '蜂', '蠭', '豐', '鄷', '酆', '鋒', '鎽', '鏠', '锋', '霻', '靊', '飌', '麷'],
'guàn kuàng': ['丱'],
chuàn: ['串', '汌', '玔', '賗', '釧', '钏'],
chǎn: ['丳', '产', '冁', '剷', '囅', '嵼', '旵', '浐', '滻', '灛', '產', '産', '簅', '蒇', '蕆', '諂', '譂', '讇', '谄', '鏟', '铲', '閳', '闡', '阐', '骣', '𬊤'],
lín: ['临', '冧', '壣', '崊', '嶙', '斴', '晽', '暽', '林', '潾', '瀶', '燐', '琳', '璘', '瞵', '碄', '磷', '粦', '粼', '繗', '翷', '臨', '轔', '辚', '遴', '邻', '鄰', '鏻', '阾', '隣', '霖', '驎', '鱗', '鳞', '麐', '麟', '𬴊', '𬭸'],
zhuó: ['丵', '劅', '卓', '啄', '圴', '妰', '娺', '撯', '擆', '擢', '斫', '斮', '斱', '斲', '斵', '晫', '椓', '浊', '浞', '濁', '灼', '烵', '琸', '硺', '禚', '窡', '籗', '籱', '罬', '茁', '蠗', '蠿', '諁', '諑', '謶', '诼', '酌', '鐲', '镯', '鵫', '鷟', '䓬', '𬸦'],
zhǔ: ['丶', '主', '劯', '嘱', '囑', '宔', '帾', '拄', '渚', '濐', '煑', '煮', '燝', '瞩', '矚', '罜', '詝', '陼', '鸀', '麈', '𬣞'],
bā: ['丷', '仈', '八', '叭', '哵', '夿', '岜', '巴', '捌', '朳', '玐', '疤', '笆', '粑', '羓', '芭', '蚆', '豝', '釟'],
wán: ['丸', '刓', '完', '岏', '抏', '捖', '汍', '烷', '玩', '琓', '笂', '紈', '纨', '翫', '芄', '貦', '頑', '顽'],
dān: ['丹', '勯', '匰', '単', '妉', '媅', '殚', '殫', '甔', '眈', '砃', '箪', '簞', '耼', '耽', '聃', '聸', '褝', '襌', '躭', '郸', '鄲', '酖', '頕'],
'wèi wéi': ['为'],
'jǐng dǎn': ['丼'],
'lì lí': ['丽'],
jǔ: ['举', '弆', '挙', '擧', '椇', '榉', '榘', '櫸', '欅', '矩', '筥', '聥', '舉', '莒', '蒟', '襷', '踽', '齟', '龃'],
piě: ['丿', '苤', '鐅', '𬭯'],
fú: ['乀', '伏', '俘', '凫', '刜', '匐', '咈', '哹', '垘', '孚', '岪', '巿', '帗', '幅', '幞', '弗', '彿', '怫', '扶', '柫', '栿', '桴', '氟', '泭', '浮', '涪', '澓', '炥', '玸', '甶', '畉', '癁', '祓', '福', '稪', '符', '箙', '紱', '紼', '絥', '綍', '绂', '绋', '罘', '罦', '翇', '艀', '芙', '芣', '苻', '茀', '茯', '菔', '葍', '虙', '蚨', '蜉', '蝠', '袚', '袱', '襆', '襥', '諨', '豧', '踾', '輻', '辐', '郛', '鉘', '鉜', '韍', '韨', '颫', '髴', '鮄', '鮲', '鳧', '鳬', '鴔', '鵩', '黻'],
'yí jí': ['乁'],
yì: ['乂', '义', '亄', '亦', '亿', '伇', '伿', '佾', '俋', '億', '兿', '刈', '劓', '劮', '勚', '勩', '匇', '呓', '呭', '呹', '唈', '囈', '圛', '坄', '垼', '埸', '奕', '嫕', '嬑', '寱', '屹', '峄', '嶧', '帟', '帠', '幆', '廙', '异', '弈', '弋', '役', '忆', '怈', '怿', '悒', '意', '憶', '懌', '懿', '抑', '挹', '敡', '易', '晹', '曀', '曎', '杙', '枍', '棭', '榏', '槸', '檍', '歝', '殔', '殪', '殹', '毅', '浂', '浥', '浳', '湙', '溢', '潩', '澺', '瀷', '炈', '焲', '熠', '熤', '熼', '燚', '燡', '燱', '獈', '玴', '異', '疫', '痬', '瘗', '瘞', '瘱', '癔', '益', '瞖', '穓', '竩', '篒', '縊', '繶', '繹', '绎', '缢', '義', '羿', '翊', '翌', '翳', '翼', '耴', '肄', '肊', '膉', '臆', '艗', '艺', '芅', '苅', '萟', '蓺', '薏', '藙', '藝', '蘙', '虉', '蜴', '螠', '衪', '袣', '裔', '裛', '褹', '襼', '訲', '訳', '詍', '詣', '誼', '譯', '議', '讛', '议', '译', '诣', '谊', '豙', '豛', '豷', '貖', '贀', '跇', '轶', '逸', '邑', '鄓', '醷', '釴', '鈠', '鎰', '鐿', '镒', '镱', '阣', '隿', '霬', '饐', '駅', '驛', '驿', '骮', '鮨', '鶂', '鶃', '鶍', '鷁', '鷊', '鷧', '鷾', '鸃', '鹝', '鹢', '黓', '齸', '𬬩', '㑊', '𫄷', '𬟁'],
nǎi: ['乃', '倷', '奶', '嬭', '廼', '氖', '疓', '艿', '迺', '釢'],
wǔ: ['乄', '五', '仵', '伍', '侮', '倵', '儛', '午', '啎', '妩', '娬', '嫵', '庑', '廡', '忤', '怃', '憮', '摀', '武', '潕', '熓', '牾', '玝', '珷', '瑦', '甒', '碔', '舞', '躌', '迕', '逜', '陚', '鵡', '鹉', '𣲘'],
jiǔ: ['久', '乆', '九', '乣', '奺', '杦', '汣', '灸', '玖', '紤', '舏', '酒', '镹', '韭', '韮'],
'tuō zhé': ['乇', '杔', '馲'],
'me mó ma yāo': ['么'],
zhī: ['之', '倁', '卮', '巵', '搘', '支', '栀', '梔', '椥', '榰', '汁', '泜', '疷', '祗', '祬', '秓', '稙', '綕', '肢', '胑', '胝', '脂', '芝', '蘵', '蜘', '衼', '隻', '鳷', '鴲', '鼅', '𦭜'],
'wū wù': ['乌'],
zhà: ['乍', '咤', '宱', '搾', '榨', '溠', '痄', '蚱', '詐', '诈', '醡', '霅', '䃎'],
hū: ['乎', '乯', '匢', '匫', '呼', '唿', '嘑', '垀', '寣', '幠', '忽', '惚', '昒', '歑', '泘', '淴', '滹', '烀', '苸', '虍', '虖', '謼', '軤', '轷', '雐'],
fá: ['乏', '伐', '傠', '坺', '垡', '墢', '姂', '栰', '浌', '瞂', '笩', '筏', '罚', '罰', '罸', '藅', '閥', '阀'],
'lè yuè yào lào': ['乐', '樂'],
yín: ['乑', '吟', '噖', '嚚', '圁', '垠', '夤', '婬', '寅', '峾', '崟', '崯', '檭', '殥', '泿', '淫', '滛', '烎', '犾', '狺', '璌', '硍', '碒', '荶', '蔩', '訔', '訚', '訡', '誾', '鄞', '鈝', '銀', '银', '霪', '鷣', '齦'],
pīng: ['乒', '俜', '娉', '涄', '甹', '砯', '聠', '艵', '頩'],
pāng: ['乓', '滂', '胮', '膖', '雱', '霶'],
qiáo: ['乔', '侨', '僑', '嫶', '憔', '桥', '槗', '樵', '橋', '櫵', '犞', '瞧', '硚', '礄', '荍', '荞', '蕎', '藮', '譙', '趫', '鐈', '鞒', '鞽', '顦'],
hǔ: ['乕', '琥', '萀', '虎', '虝', '錿', '鯱'],
guāi: ['乖'],
'chéng shèng': ['乗', '乘', '娍'],
yǐ: ['乙', '乛', '以', '倚', '偯', '嬟', '崺', '已', '庡', '扆', '攺', '敼', '旑', '旖', '檥', '矣', '礒', '笖', '舣', '艤', '苡', '苢', '蚁', '螘', '蟻', '裿', '踦', '輢', '轙', '逘', '酏', '釔', '鈘', '鉯', '钇', '顗', '鳦', '齮', '𫖮', '𬺈'],
'háo yǐ': ['乚'],
'niè miē': ['乜'],
qǐ: ['乞', '企', '启', '唘', '啓', '啔', '啟', '婍', '屺', '杞', '棨', '玘', '盀', '綺', '绮', '芑', '諬', '起', '邔', '闙'],
yě: ['也', '冶', '嘢', '埜', '壄', '漜', '野'],
xí: ['习', '喺', '媳', '嶍', '席', '椺', '檄', '漝', '習', '蓆', '袭', '襲', '覡', '觋', '謵', '趘', '郋', '鎴', '隰', '霫', '飁', '騱', '騽', '驨', '鰼', '鳛', '𠅤', '𫘬'],
xiāng: ['乡', '厢', '廂', '忀', '楿', '欀', '湘', '瓖', '稥', '箱', '緗', '缃', '膷', '芗', '萫', '葙', '薌', '襄', '郷', '鄉', '鄊', '鄕', '鑲', '镶', '香', '驤', '骧', '鱜', '麘', '𬙋'],
shū: ['书', '倏', '倐', '儵', '叔', '姝', '尗', '抒', '掓', '摅', '攄', '書', '枢', '梳', '樞', '殊', '殳', '毹', '毺', '淑', '瀭', '焂', '疎', '疏', '紓', '綀', '纾', '舒', '菽', '蔬', '踈', '軗', '輸', '输', '鄃', '陎', '鮛', '鵨'],
dǒu: ['乧', '抖', '枓', '蚪', '鈄', '阧', '陡'],
shǐ: ['乨', '使', '兘', '史', '始', '宩', '屎', '榁', '矢', '笶', '豕', '鉂', '駛', '驶'],
jī: ['乩', '僟', '击', '刉', '刏', '剞', '叽', '唧', '喞', '嗘', '嘰', '圾', '基', '墼', '姬', '屐', '嵆', '嵇', '撃', '擊', '朞', '机', '枅', '樭', '機', '毄', '激', '犄', '玑', '璣', '畸', '畿', '癪', '矶', '磯', '积', '積', '笄', '筓', '箕', '簊', '緁', '羁', '羇', '羈', '耭', '肌', '芨', '虀', '覉', '覊', '譏', '譤', '讥', '賫', '賷', '赍', '跻', '踑', '躋', '躸', '銈', '錤', '鐖', '鑇', '鑙', '隮', '雞', '鞿', '韲', '飢', '饑', '饥', '魕', '鳮', '鶏', '鶺', '鷄', '鸄', '鸡', '齎', '齏', '齑', '𬯀', '𫓯', '𫓹', '𫌀'],
náng: ['乪', '嚢', '欜', '蠰', '饢'],
jiā: ['乫', '佳', '傢', '加', '嘉', '抸', '枷', '梜', '毠', '泇', '浃', '浹', '犌', '猳', '珈', '痂', '笳', '糘', '耞', '腵', '葭', '袈', '豭', '貑', '跏', '迦', '鉫', '鎵', '镓', '鴐', '麚', '𬂩'],
jù: ['乬', '倨', '倶', '具', '剧', '劇', '勮', '埧', '埾', '壉', '姖', '屦', '屨', '岠', '巨', '巪', '怇', '惧', '愳', '懅', '懼', '拒', '拠', '昛', '歫', '洰', '澽', '炬', '烥', '犋', '秬', '窭', '窶', '簴', '粔', '耟', '聚', '虡', '蚷', '詎', '讵', '豦', '距', '踞', '躆', '遽', '邭', '醵', '鉅', '鐻', '钜', '颶', '飓', '駏', '鮔'],
shí: ['乭', '十', '埘', '塒', '姼', '实', '実', '寔', '實', '峕', '嵵', '时', '旹', '時', '榯', '湜', '溡', '炻', '祏', '竍', '蚀', '蝕', '辻', '遈', '鉐', '飠', '饣', '鮖', '鰣', '鲥', '鼫', '鼭'],
mǎo: ['乮', '冇', '卯', '峁', '戼', '昴', '泖', '笷', '蓩', '鉚', '铆'],
mǎi: ['买', '嘪', '荬', '蕒', '買', '鷶'],
luàn: ['乱', '亂', '釠'],
rǔ: ['乳', '擩', '汝', '肗', '辱', '鄏'],
xué: ['乴', '学', '學', '峃', '嶨', '斈', '泶', '澩', '燢', '穴', '茓', '袕', '踅', '鷽', '鸴'],
yǎn: ['䶮', '乵', '俨', '偃', '儼', '兖', '兗', '厣', '厴', '噞', '孍', '嵃', '巘', '巚', '弇', '愝', '戭', '扊', '抁', '掩', '揜', '曮', '椼', '檿', '沇', '渷', '演', '琰', '甗', '眼', '罨', '萒', '蝘', '衍', '褗', '躽', '遃', '郾', '隒', '顩', '魇', '魘', '鰋', '鶠', '黡', '黤', '黬', '黭', '黶', '鼴', '鼹', '齴', '龑', '𬸘', '𬙂', '𪩘'],
fǔ: ['乶', '俌', '俛', '俯', '府', '弣', '抚', '拊', '撫', '斧', '椨', '滏', '焤', '甫', '盙', '簠', '腐', '腑', '蜅', '輔', '辅', '郙', '釜', '釡', '阝', '頫', '鬴', '黼', '㕮', '𫖯'],
shā: ['乷', '唦', '杀', '桬', '殺', '毮', '猀', '痧', '砂', '硰', '紗', '繺', '纱', '蔱', '裟', '鎩', '铩', '閷', '髿', '魦', '鯊', '鯋', '鲨'],
nǎ: ['乸', '雫'],
qián: ['乹', '亁', '仱', '偂', '前', '墘', '媊', '岒', '拑', '掮', '榩', '橬', '歬', '潛', '潜', '濳', '灊', '箝', '葥', '虔', '軡', '鈐', '鉗', '銭', '錢', '鎆', '钤', '钱', '钳', '靬', '騚', '騝', '鰬', '黔', '黚'],
suǒ: ['乺', '唢', '嗩', '所', '暛', '溑', '溹', '琐', '琑', '瑣', '索', '褨', '鎖', '鎻', '鏁', '锁'],
yú: ['乻', '于', '亐', '伃', '余', '堣', '堬', '妤', '娛', '娯', '娱', '嬩', '崳', '嵎', '嵛', '愚', '扵', '揄', '旟', '楡', '楰', '榆', '欤', '歈', '歟', '歶', '渔', '渝', '湡', '漁', '澞', '牏', '狳', '玗', '玙', '瑜', '璵', '盂', '睮', '窬', '竽', '籅', '羭', '腴', '臾', '舁', '舆', '艅', '茰', '萮', '萸', '蕍', '蘛', '虞', '虶', '蝓', '螸', '衧', '褕', '覦', '觎', '諛', '謣', '谀', '踰', '輿', '轝', '逾', '邘', '酑', '鍝', '隅', '雓', '雩', '餘', '馀', '騟', '骬', '髃', '魚', '魣', '鮽', '鯲', '鰅', '鱼', '鷠', '鸆', '齵'],
zhù: ['乼', '伫', '佇', '住', '坾', '墸', '壴', '嵀', '拀', '杼', '柱', '樦', '殶', '注', '炷', '疰', '眝', '祝', '祩', '竚', '筯', '箸', '篫', '簗', '紵', '紸', '纻', '羜', '翥', '苎', '莇', '蛀', '註', '貯', '贮', '跓', '軴', '鉒', '鋳', '鑄', '铸', '馵', '駐', '驻'],
zhě: ['乽', '者', '褶', '襵', '赭', '踷', '鍺', '锗'],
'qián gān': ['乾'],
'zhì luàn': ['乿'],
guī: ['亀', '圭', '妫', '媯', '嫢', '嬀', '帰', '归', '摫', '椝', '槻', '槼', '櫷', '歸', '珪', '瑰', '璝', '瓌', '皈', '瞡', '硅', '茥', '蘬', '規', '规', '邽', '郌', '閨', '闺', '騩', '鬶', '鬹'],
'lǐn lìn': ['亃'],
jué: ['亅', '决', '刔', '劂', '匷', '厥', '噊', '孒', '孓', '崛', '崫', '嶥', '彏', '憠', '憰', '戄', '抉', '挗', '掘', '攫', '桷', '橛', '橜', '欮', '氒', '決', '灍', '焳', '熦', '爑', '爴', '爵', '獗', '玃', '玦', '玨', '珏', '瑴', '瘚', '矍', '矡', '砄', '絕', '絶', '绝', '臄', '芵', '蕝', '蕨', '虳', '蟨', '蟩', '觖', '觮', '觼', '訣', '譎', '诀', '谲', '貜', '赽', '趉', '蹷', '躩', '鈌', '鐍', '鐝', '钁', '镢', '鴂', '鴃', '鷢', '𫘝', '㵐', '𫔎'],
'le liǎo': ['了'],
'gè mā': ['亇'],
'yǔ yú': ['予', '懙'],
zhēng: ['争', '佂', '凧', '姃', '媜', '峥', '崝', '崢', '征', '徰', '炡', '烝', '爭', '狰', '猙', '癥', '眐', '睁', '睜', '筝', '箏', '篜', '聇', '脀', '蒸', '踭', '鉦', '錚', '鏳', '鬇'],
èr: ['二', '刵', '咡', '弍', '弐', '樲', '誀', '貮', '貳', '贰', '髶'],
chù: ['亍', '傗', '儊', '怵', '憷', '搐', '斶', '歜', '珿', '琡', '矗', '竌', '絀', '绌', '臅', '触', '觸', '豖', '鄐', '閦', '黜'],
kuī: ['亏', '刲', '岿', '巋', '盔', '窥', '窺', '聧', '虧', '闚', '顝'],
yún: ['云', '伝', '勻', '匀', '囩', '妘', '愪', '抣', '昀', '橒', '沄', '涢', '溳', '澐', '熉', '畇', '秐', '筼', '篔', '紜', '縜', '纭', '耘', '芸', '蒷', '蕓', '郧', '鄖', '鋆', '雲'],
hù: ['互', '冱', '嗀', '嚛', '婟', '嫭', '嫮', '岵', '帍', '弖', '怙', '戶', '户', '戸', '戽', '扈', '护', '昈', '槴', '沍', '沪', '滬', '熩', '瓠', '祜', '笏', '簄', '粐', '綔', '蔰', '護', '豰', '鄠', '鍙', '頀', '鱯', '鳠', '鳸', '鸌', '鹱'],
qí: ['亓', '剘', '埼', '岐', '岓', '崎', '嵜', '愭', '掑', '斉', '斊', '旂', '旗', '棊', '棋', '檱', '櫀', '歧', '淇', '濝', '猉', '玂', '琦', '琪', '璂', '畦', '疧', '碁', '碕', '祁', '祈', '祺', '禥', '竒', '簯', '簱', '籏', '粸', '綥', '綦', '肵', '脐', '臍', '艩', '芪', '萁', '萕', '蕲', '藄', '蘄', '蚑', '蚚', '蛴', '蜝', '蜞', '螧', '蠐', '褀', '軝', '鄿', '釮', '錡', '锜', '陭', '頎', '颀', '騎', '騏', '騹', '骐', '骑', '鬐', '鬿', '鯕', '鰭', '鲯', '鳍', '鵸', '鶀', '麒', '麡', '𨙸', '𬨂', '䓫'],
jǐng: ['井', '儆', '刭', '剄', '坓', '宑', '幜', '憬', '暻', '殌', '汫', '汬', '澋', '璄', '璟', '璥', '穽', '肼', '蟼', '警', '阱', '頚', '頸'],
sì: ['亖', '佀', '価', '儩', '兕', '嗣', '四', '姒', '娰', '孠', '寺', '巳', '柶', '榹', '汜', '泗', '泤', '洍', '洠', '涘', '瀃', '牭', '祀', '禩', '竢', '笥', '耜', '肂', '肆', '蕼', '覗', '貄', '釲', '鈶', '鈻', '飤', '飼', '饲', '駟', '騃', '驷'],
suì: ['亗', '嬘', '岁', '嵗', '旞', '檖', '歲', '歳', '澻', '煫', '燧', '璲', '砕', '碎', '祟', '禭', '穂', '穗', '穟', '繀', '繐', '繸', '襚', '誶', '譢', '谇', '賥', '邃', '鐆', '鐩', '隧', '韢', '𫟦', '𬭼'],
gèn: ['亘', '亙', '揯', '搄', '茛'],
yà: ['亚', '亜', '俹', '冴', '劜', '圔', '圠', '埡', '娅', '婭', '揠', '氩', '氬', '犽', '砑', '稏', '聐', '襾', '覀', '訝', '讶', '迓', '齾'],
'xiē suò': ['些'],
'qí zhāi': ['亝', '齊'],
'yā yà': ['亞', '压', '垭', '壓', '铔'],
'jí qì': ['亟', '焏'],
tóu: ['亠', '投', '頭', '骰'],
'wáng wú': ['亡'],
'kàng háng gāng': ['亢'],
dà: ['亣', '眔'],
jiāo: ['交', '僬', '娇', '嬌', '峧', '嶕', '嶣', '憍', '椒', '浇', '澆', '焦', '礁', '穚', '簥', '胶', '膠', '膲', '茭', '茮', '蕉', '虠', '蛟', '蟭', '跤', '轇', '郊', '鐎', '驕', '骄', '鮫', '鲛', '鵁', '鷦', '鷮', '鹪', '䴔'],
hài: ['亥', '嗐', '害', '氦', '餀', '饚', '駭', '駴', '骇'],
'hēng pēng': ['亨'],
mǔ: ['亩', '姆', '峔', '拇', '母', '牡', '牳', '畂', '畆', '畒', '畝', '畞', '畮', '砪', '胟', '踇', '鉧', '𬭁', '𧿹'],
ye: ['亪'],
xiǎng: ['享', '亯', '响', '想', '晑', '蚃', '蠁', '響', '飨', '餉', '饗', '饷', '鮝', '鯗', '鱶', '鲞'],
jīng: ['京', '亰', '兢', '坕', '坙', '婛', '惊', '旌', '旍', '晶', '橸', '泾', '涇', '猄', '睛', '秔', '稉', '粳', '精', '経', '經', '綡', '聙', '腈', '茎', '荆', '荊', '菁', '葏', '驚', '鯨', '鲸', '鶁', '鶄', '麖', '麠', '鼱', '䴖'],
tíng: ['亭', '停', '婷', '嵉', '庭', '廷', '楟', '榳', '筳', '聤', '莛', '葶', '蜓', '蝏', '諪', '邒', '霆', '鼮', '䗴'],
liàng: ['亮', '喨', '悢', '晾', '湸', '諒', '谅', '輌', '輛', '辆', '鍄'],
'qīn qìng': ['亲', '親'],
bó: ['亳', '仢', '侼', '僰', '博', '帛', '愽', '懪', '挬', '搏', '欂', '浡', '淿', '渤', '煿', '牔', '狛', '瓝', '礴', '秡', '箔', '簙', '糪', '胉', '脖', '膊', '舶', '艊', '萡', '葧', '袯', '襏', '襮', '謈', '踣', '郣', '鈸', '鉑', '鋍', '鎛', '鑮', '钹', '铂', '镈', '餺', '馎', '馛', '馞', '駁', '駮', '驳', '髆', '鵓', '鹁'],
yòu: ['亴', '佑', '佦', '侑', '又', '右', '哊', '唀', '囿', '姷', '宥', '峟', '幼', '狖', '祐', '蚴', '誘', '诱', '貁', '迶', '酭', '釉', '鼬'],
xiè: ['亵', '伳', '偞', '偰', '僁', '卨', '卸', '噧', '塮', '夑', '媟', '屑', '屧', '廨', '徢', '懈', '暬', '械', '榍', '榭', '泻', '洩', '渫', '澥', '瀉', '瀣', '灺', '炧', '炨', '燮', '爕', '獬', '祄', '禼', '糏', '紲', '絏', '絬', '繲', '纈', '绁', '缷', '薢', '薤', '蟹', '蠏', '褉', '褻', '謝', '谢', '躞', '邂', '靾', '韰', '齂', '齘', '齛', '齥', '𬹼', '𤫉'],
'dǎn dàn': ['亶', '馾'],
lián: ['亷', '劆', '匲', '匳', '嗹', '噒', '奁', '奩', '嫾', '帘', '廉', '怜', '憐', '涟', '漣', '濂', '濓', '瀮', '熑', '燫', '簾', '籢', '籨', '縺', '翴', '联', '聨', '聫', '聮', '聯', '臁', '莲', '蓮', '薕', '螊', '蠊', '裢', '褳', '覝', '謰', '蹥', '连', '連', '鎌', '鐮', '镰', '鬑', '鰱', '鲢'],
duǒ: ['亸', '哚', '嚲', '埵', '崜', '朵', '朶', '綞', '缍', '趓', '躱', '躲', '軃'],
'wěi mén': ['亹', '斖'],
rén: ['人', '亻', '仁', '壬', '忈', '忎', '朲', '秂', '芢', '魜', '鵀'],
jí: ['亼', '亽', '伋', '佶', '偮', '卙', '即', '卽', '及', '叝', '吉', '堲', '塉', '姞', '嫉', '岌', '嵴', '嶯', '彶', '忣', '急', '愱', '戢', '揤', '极', '棘', '楫', '極', '槉', '檝', '殛', '汲', '湒', '潗', '疾', '瘠', '皍', '笈', '箿', '籍', '級', '级', '膌', '艥', '蒺', '蕀', '蕺', '蝍', '螏', '襋', '觙', '谻', '踖', '蹐', '躤', '輯', '轚', '辑', '郆', '銡', '鍓', '鏶', '集', '雧', '霵', '鹡', '㴔'],
wáng: ['亾', '仼', '兦', '莣', '蚟'],
'shén shí': ['什'],
lè: ['仂', '叻', '忇', '氻', '泐', '玏', '砳', '簕', '艻', '阞', '韷', '餎', '鰳', '鱳', '鳓'],
dīng: ['仃', '叮', '帄', '玎', '疔', '盯', '耵', '虰', '靪'],
zè: ['仄', '崱', '庂', '捑', '昃', '昗', '汄'],
'jǐn jìn': ['仅', '僅', '嫤'],
'pú pū': ['仆'],
'chóu qiú': ['仇'],
zhǎng: ['仉', '幥', '掌', '礃'],
jīn: ['今', '堻', '巾', '惍', '斤', '津', '珒', '琻', '璡', '砛', '筋', '荕', '衿', '襟', '觔', '金', '釒', '釿', '钅', '鹶', '黅', '𬬱'],
bīng: ['仌', '仒', '兵', '冫', '冰', '掤', '氷', '鋲'],
réng: ['仍', '礽', '芿', '辸', '陾'],
fó: ['仏', '坲', '梻'],
'jīn sǎn': ['仐'],
lún: ['仑', '伦', '侖', '倫', '囵', '圇', '婨', '崘', '崙', '棆', '沦', '淪', '磮', '腀', '菕', '蜦', '踚', '輪', '轮', '錀', '陯', '鯩', '𬬭'],
cāng: ['仓', '仺', '倉', '凔', '嵢', '沧', '滄', '濸', '獊', '舱', '艙', '苍', '蒼', '螥', '鸧'],
'zǎi zǐ zī': ['仔'],
tā: ['他', '塌', '它', '榙', '溻', '牠', '祂', '褟', '趿', '遢', '闧'],
fù: ['付', '偩', '傅', '冨', '副', '咐', '坿', '复', '妇', '婦', '媍', '嬔', '富', '復', '椱', '祔', '禣', '竎', '緮', '縛', '缚', '腹', '萯', '蕧', '蚹', '蛗', '蝜', '蝮', '袝', '複', '覄', '覆', '訃', '詂', '讣', '負', '賦', '賻', '负', '赋', '赙', '赴', '輹', '鍑', '鍢', '阜', '附', '馥', '駙', '驸', '鮒', '鰒', '鲋', '鳆', '㳇'],
xiān: ['仙', '仚', '佡', '僊', '僲', '先', '嘕', '奾', '屳', '廯', '忺', '憸', '掀', '暹', '杴', '氙', '珗', '祆', '秈', '籼', '繊', '纎', '纖', '苮', '褼', '襳', '跹', '蹮', '躚', '酰', '鍁', '锨', '韯', '韱', '馦', '鱻', '鶱', '𬸣'],
'tuō chà duó': ['仛'],
hóng: ['仜', '吰', '垬', '妅', '娂', '宏', '宖', '弘', '彋', '汯', '泓', '洪', '浤', '渱', '潂', '玒', '玜', '竑', '竤', '篊', '粠', '紘', '紭', '綋', '纮', '翃', '翝', '耾', '苰', '荭', '葒', '葓', '谹', '谼', '鈜', '鉷', '鋐', '閎', '闳', '霐', '霟', '鞃', '魟', '鴻', '鸿', '黉', '黌', '𫟹', '𬭎'],
tóng: ['仝', '佟', '哃', '峂', '峝', '庝', '彤', '晍', '曈', '桐', '氃', '浵', '潼', '犝', '獞', '眮', '瞳', '砼', '秱', '童', '粡', '膧', '茼', '蚒', '詷', '赨', '酮', '鉖', '鉵', '銅', '铜', '餇', '鮦', '鲖', '𫍣', '𦒍'],
rèn: ['仞', '仭', '刃', '刄', '妊', '姙', '屻', '岃', '扨', '牣', '祍', '紉', '紝', '絍', '纫', '纴', '肕', '腍', '衽', '袵', '訒', '認', '认', '讱', '軔', '轫', '鈓', '靭', '靱', '韌', '韧', '飪', '餁', '饪'],
qiān: ['仟', '佥', '僉', '千', '圲', '奷', '孯', '岍', '悭', '愆', '慳', '扦', '拪', '搴', '撁', '攐', '攑', '攓', '杄', '櫏', '汘', '汧', '牵', '牽', '竏', '签', '簽', '籖', '籤', '粁', '芊', '茾', '蚈', '褰', '諐', '謙', '谦', '谸', '迁', '遷', '釺', '鈆', '鉛', '鏲', '钎', '阡', '韆', '顅', '騫', '骞', '鬜', '鬝', '鵮', '鹐'],
'gǎn hàn': ['仠'],
'yì gē': ['仡'],
dài: ['代', '侢', '叇', '垈', '埭', '岱', '帒', '带', '帯', '帶', '廗', '怠', '戴', '曃', '柋', '殆', '瀻', '玳', '瑇', '甙', '簤', '紿', '緿', '绐', '艜', '蝳', '袋', '襶', '貣', '贷', '蹛', '軑', '軚', '軩', '轪', '迨', '霴', '靆', '鴏', '黛', '黱'],
'lìng líng lǐng': ['令'],
chào: ['仦', '耖', '觘'],
'cháng zhǎng': ['仧', '兏', '長', '长'],
sā: ['仨'],
cháng: ['仩', '偿', '償', '嘗', '嚐', '嫦', '尝', '常', '徜', '瑺', '瓺', '甞', '肠', '腸', '膓', '苌', '萇', '镸', '鱨', '鲿'],
yí: ['仪', '侇', '儀', '冝', '匜', '咦', '圯', '夷', '姨', '宐', '宜', '宧', '寲', '峓', '嶬', '嶷', '巸', '彛', '彜', '彝', '彞', '怡', '恞', '扅', '暆', '栘', '椬', '椸', '沂', '洟', '熪', '瓵', '痍', '移', '簃', '籎', '羠', '胰', '萓', '蛦', '螔', '觺', '謻', '貽', '贻', '跠', '迻', '遺', '鏔', '頉', '頤', '頥', '顊', '颐', '饴', '鮧', '鴺'],
mù: ['仫', '凩', '募', '墓', '幕', '幙', '慔', '慕', '暮', '暯', '木', '楘', '毣', '沐', '炑', '牧', '狇', '目', '睦', '穆', '艒', '苜', '莯', '蚞', '鉬', '钼', '雮', '霂'],
'men mén': ['们'],
fǎn: ['仮', '反', '橎', '返'],
'chào miǎo': ['仯'],
'yǎng áng': ['仰'],
zhòng: ['仲', '众', '堹', '妕', '媑', '狆', '眾', '祌', '筗', '茽', '蚛', '衆', '衶', '諥'],
'pǐ pí': ['仳'],
wò: ['仴', '偓', '卧', '媉', '幄', '握', '楃', '沃', '渥', '濣', '瓁', '瞃', '硪', '肟', '腛', '臥', '齷', '龌'],
jiàn: ['件', '俴', '健', '僭', '剑', '剣', '剱', '劍', '劎', '劒', '劔', '墹', '寋', '建', '徤', '擶', '旔', '楗', '毽', '洊', '涧', '澗', '牮', '珔', '瞷', '磵', '礀', '箭', '糋', '繝', '腱', '臶', '舰', '艦', '荐', '薦', '覸', '諓', '諫', '譛', '谏', '賎', '賤', '贱', '趝', '践', '踐', '踺', '轞', '鉴', '鍳', '鍵', '鐱', '鑑', '鑒', '鑬', '鑳', '键', '間', '餞', '饯', '𬣡'],
'jià jiè jie': ['价'],
'yǎo fó': ['仸'],
'rèn rén': ['任'],
'fèn bīn': ['份'],
dī: ['仾', '低', '啲', '埞', '堤', '岻', '彽', '樀', '滴', '磾', '秪', '羝', '袛', '趆', '隄', '鞮', '䃅'],
fǎng: ['仿', '倣', '旊', '昉', '昘', '瓬', '眆', '紡', '纺', '舫', '訪', '访', '髣', '鶭'],
zhōng: ['伀', '刣', '妐', '幒', '彸', '忠', '柊', '汷', '泈', '炂', '盅', '籦', '終', '终', '舯', '蔠', '蜙', '螤', '螽', '衳', '衷', '蹱', '鈡', '鍾', '鐘', '钟', '锺', '鴤', '鼨'],
pèi: ['伂', '佩', '姵', '帔', '斾', '旆', '沛', '浿', '珮', '蓜', '轡', '辔', '配', '霈', '馷'],
diào: ['伄', '吊', '弔', '掉', '瘹', '盄', '窎', '窵', '竨', '訋', '釣', '鈟', '銱', '鋽', '鑃', '钓', '铞', '雿', '魡'],
dùn: ['伅', '潡', '炖', '燉', '盾', '砘', '碷', '踲', '逇', '遁', '遯', '鈍', '钝'],
wěn: ['伆', '刎', '吻', '呅', '抆', '桽', '稳', '穏', '穩', '紊', '肳', '脗'],
xǐn: ['伈'],
kàng: ['伉', '匟', '囥', '抗', '炕', '鈧', '钪'],
ài: ['伌', '僾', '塧', '壒', '嫒', '嬡', '愛', '懓', '暧', '曖', '爱', '瑷', '璦', '皧', '瞹', '砹', '硋', '碍', '礙', '薆', '譺', '賹', '鑀', '隘', '靉', '餲', '馤', '鱫', '鴱'],
'jì qí': ['伎', '薺'],
'xiū xǔ': ['休'],
'jìn yín': ['伒'],
dǎn: ['伔', '刐', '撢', '玬', '瓭', '紞', '胆', '膽', '衴', '賧', '赕', '黕', '𬘘'],
fū: ['伕', '呋', '娐', '孵', '尃', '怤', '懯', '敷', '旉', '玞', '砆', '稃', '筟', '糐', '綒', '肤', '膚', '荂', '荴', '衭', '趺', '跗', '邞', '鄜', '酜', '鈇', '麩', '麬', '麱', '麸', '𫓧'],
tǎng: ['伖', '傥', '儻', '埫', '戃', '曭', '爣', '矘', '躺', '鎲', '钂', '镋'],
yōu: ['优', '優', '呦', '嚘', '峳', '幽', '忧', '悠', '憂', '攸', '櫌', '滺', '瀀', '纋', '羪', '耰', '逌', '鄾', '麀'],
huǒ: ['伙', '夥', '火', '煷', '邩', '鈥', '钬'],
'huì kuài': ['会', '會', '浍', '璯'],
yǔ: ['伛', '俁', '俣', '偊', '傴', '匬', '噳', '圄', '圉', '宇', '寙', '屿', '嶼', '庾', '挧', '敔', '斞', '楀', '瑀', '瘐', '祤', '禹', '穥', '窳', '羽', '與', '萭', '貐', '鄅', '頨', '麌', '齬', '龉', '㺄'],
cuì: ['伜', '啛', '忰', '悴', '毳', '淬', '焠', '疩', '瘁', '竁', '粋', '粹', '紣', '綷', '翆', '翠', '脃', '脆', '脺', '膬', '膵', '臎', '萃', '襊', '顇'],
sǎn: ['伞', '傘', '糤', '繖', '饊', '馓'],
wěi: ['伟', '伪', '偉', '偽', '僞', '儰', '娓', '寪', '屗', '崣', '嶉', '徫', '愇', '捤', '暐', '梶', '洧', '浘', '渨', '炜', '煒', '猥', '玮', '瑋', '痿', '緯', '纬', '腲', '艉', '芛', '苇', '荱', '萎', '葦', '蒍', '蔿', '蜼', '諉', '诿', '踓', '鍡', '韑', '韙', '韡', '韪', '頠', '颹', '骩', '骪', '骫', '鮪', '鲔', '𫇭', '𬀩', '𬱟'],
'chuán zhuàn': ['传', '傳'],
'chē jū': ['伡', '俥', '车'],
'jū chē': ['車'],
yá: ['伢', '厑', '厓', '堐', '岈', '崕', '崖', '涯', '漄', '牙', '玡', '琊', '睚', '笌', '芽', '蚜', '衙', '齖'],
qiàn: ['伣', '俔', '倩', '儙', '刋', '壍', '嬱', '悓', '棈', '椠', '槧', '欠', '歉', '皘', '篏', '篟', '縴', '芡', '蒨', '蔳', '輤', '𬘬'],
shāng: ['伤', '傷', '商', '墒', '慯', '殇', '殤', '滳', '漡', '熵', '蔏', '螪', '觞', '觴', '謪', '鬺'],
chāng: ['伥', '倀', '娼', '昌', '椙', '淐', '猖', '琩', '菖', '裮', '錩', '锠', '閶', '阊', '鯧', '鲳', '鼚'],
'chen cāng': ['伧'],
xùn: ['伨', '侚', '卂', '噀', '巺', '巽', '徇', '愻', '殉', '殾', '汛', '潠', '狥', '蕈', '訊', '訓', '訙', '训', '讯', '迅', '迿', '逊', '遜', '鑂', '顨', '馴', '驯'],
xìn: ['伩', '囟', '孞', '脪', '舋', '衅', '訫', '釁', '阠', '顖'],
chǐ: ['伬', '侈', '卶', '叺', '呎', '垑', '恥', '歯', '耻', '肔', '胣', '蚇', '裭', '褫', '豉', '鉹', '齒', '齿'],
'xián xuán': ['伭'],
'nú nǔ': ['伮'],
'bó bǎi': ['伯'],
'gū gù': ['估'],
nǐ: ['伱', '你', '儞', '孴', '拟', '擬', '旎', '晲', '狔', '苨', '薿', '隬'],
'nì ní': ['伲'],
bàn: ['伴', '办', '半', '姅', '怑', '扮', '瓣', '秚', '絆', '绊', '辦', '鉡', '靽'],
xù: ['伵', '侐', '勖', '勗', '卹', '叙', '垿', '壻', '婿', '序', '恤', '敍', '敘', '旭', '昫', '朂', '槒', '欰', '殈', '汿', '沀', '洫', '溆', '漵', '潊', '烅', '烼', '煦', '獝', '珬', '盢', '瞁', '稸', '絮', '続', '緒', '緖', '續', '绪', '续', '聓', '聟', '蓄', '藚', '訹', '賉', '酗', '頊', '鱮', '㳚'],
zhòu: ['伷', '僽', '冑', '呪', '咒', '咮', '宙', '昼', '晝', '甃', '皱', '皺', '籀', '籒', '籕', '粙', '紂', '縐', '纣', '绉', '胄', '荮', '葤', '詋', '酎', '駎', '驟', '骤', '㤘', '㑇'],
shēn: ['伸', '侁', '兟', '呻', '堔', '妽', '娠', '屾', '峷', '扟', '敒', '曑', '柛', '氠', '深', '燊', '珅', '甡', '甧', '申', '眒', '砷', '穼', '籶', '籸', '糂', '紳', '绅', '罙', '罧', '葠', '蓡', '蔘', '薓', '裑', '訷', '詵', '诜', '身', '駪', '鯓', '鯵', '鰺', '鲹', '鵢', '𬳽'],
qū: ['伹', '佉', '匤', '呿', '坥', '屈', '岖', '岴', '嶇', '憈', '抾', '敺', '浀', '煀', '祛', '筁', '粬', '胠', '蛆', '蛐', '袪', '覻', '詘', '诎', '趍', '躯', '軀', '阹', '駆', '駈', '驅', '驱', '髷', '魼', '鰸', '鱋', '鶌', '麯', '麴', '麹', '黢', '㭕', '𪨰', '䓛'],
'sì cì': ['伺'],
bēng: ['伻', '嘣', '奟', '崩', '嵭', '閍'],
'sì shì': ['似'],
'jiā qié gā': ['伽'],
'yǐ chì': ['佁'],
'diàn tián': ['佃', '钿'],
'hān gàn': ['佄'],
mài: ['佅', '劢', '勱', '卖', '唛', '売', '脈', '衇', '賣', '迈', '邁', '霡', '霢', '麥', '麦', '鿏'],
dàn: ['但', '僤', '啖', '啗', '啿', '噉', '嚪', '帎', '憺', '旦', '柦', '氮', '沊', '泹', '淡', '狚', '疍', '癚', '禫', '窞', '腅', '萏', '蓞', '蛋', '蜑', '觛', '訑', '誕', '诞', '贉', '霮', '餤', '饏', '駳', '髧', '鴠', '𫢸'],
bù: ['佈', '勏', '吥', '咘', '埗', '埠', '布', '廍', '怖', '悑', '步', '歨', '歩', '瓿', '篰', '荹', '蔀', '踄', '部', '郶', '鈈', '钚', '餢'],
bǐ: ['佊', '俾', '匕', '夶', '妣', '彼', '朼', '柀', '比', '毞', '沘', '疕', '秕', '笔', '筆', '粃', '聛', '舭', '貏', '鄙'],
'zhāo shào': ['佋'],
cǐ: ['佌', '此', '泚', '皉', '𫚖'],
wèi: ['位', '卫', '味', '喂', '墛', '媦', '慰', '懀', '未', '渭', '煟', '熭', '犚', '猬', '畏', '緭', '罻', '胃', '苿', '菋', '藯', '蘶', '蝟', '螱', '衛', '衞', '褽', '謂', '讆', '讏', '谓', '躗', '躛', '軎', '轊', '鏏', '霨', '餧', '餵', '饖', '魏', '鮇', '鳚'],
zuǒ: ['佐', '左', '繓'],
yǎng: ['佒', '傟', '养', '坱', '岟', '慃', '懩', '攁', '氧', '氱', '炴', '痒', '癢', '礢', '紻', '蝆', '軮', '養', '駚'],
'tǐ tī': ['体', '體'],
zhàn: ['佔', '偡', '嶘', '战', '戦', '戰', '栈', '桟', '棧', '湛', '站', '綻', '绽', '菚', '蘸', '虥', '虦', '譧', '轏', '驏'],
'hé hē hè': ['何'],
bì: ['佖', '咇', '哔', '嗶', '坒', '堛', '壁', '奰', '妼', '婢', '嬖', '币', '幣', '幤', '庇', '庳', '廦', '弊', '弻', '弼', '彃', '必', '怭', '愊', '愎', '敝', '斃', '梐', '毕', '毖', '毙', '湢', '滗', '滭', '潷', '煏', '熚', '狴', '獘', '獙', '珌', '璧', '畀', '畢', '疪', '痹', '痺', '皕', '睤', '碧', '筚', '箅', '箆', '篦', '篳', '粊', '綼', '縪', '繴', '罼', '腷', '苾', '荜', '萆', '萞', '蓖', '蓽', '蔽', '薜', '蜌', '袐', '襅', '襞', '襣', '觱', '詖', '诐', '貱', '贔', '赑', '跸', '蹕', '躃', '躄', '避', '邲', '鄨', '鄪', '鉍', '鏎', '鐴', '铋', '閇', '閉', '閟', '闭', '陛', '韠', '飶', '饆', '馝', '駜', '驆', '髀', '魓', '鮅', '鷝', '鷩', '鼊'],
tuó: ['佗', '坨', '堶', '岮', '槖', '橐', '沱', '砣', '砤', '碢', '紽', '詑', '跎', '酡', '阤', '陀', '陁', '駝', '駞', '騨', '驒', '驝', '驼', '鮀', '鴕', '鸵', '鼉', '鼍', '鼧', '𬶍'],
shé: ['佘', '舌', '虵', '蛥'],
'yì dié': ['佚', '昳', '泆', '軼'],
'fó fú bì bó': ['佛'],
'zuò zuō': ['作'],
gōu: ['佝', '沟', '溝', '痀', '篝', '簼', '緱', '缑', '袧', '褠', '鈎', '鉤', '钩', '鞲', '韝'],
nìng: ['佞', '侫', '倿', '寕', '泞', '澝', '濘'],
qú: ['佢', '劬', '戵', '斪', '欋', '欔', '氍', '淭', '灈', '爠', '璖', '璩', '癯', '磲', '籧', '絇', '胊', '臞', '菃', '葋', '蕖', '蘧', '蟝', '蠷', '蠼', '衐', '衢', '躣', '軥', '鑺', '鴝', '鸜', '鸲', '鼩'],
'yōng yòng': ['佣'],
wǎ: ['佤', '咓', '砙', '邷'],
kǎ: ['佧', '垰', '胩', '裃', '鉲'],
bāo: ['佨', '勹', '包', '孢', '煲', '笣', '胞', '苞', '蕔', '裦', '褒', '襃', '闁', '齙', '龅'],
'huái huí': ['佪'],
'gé hè': ['佫'],
lǎo: ['佬', '咾', '恅', '栳', '狫', '珯', '硓', '老', '耂', '荖', '蛯', '轑', '銠', '铑', '鮱'],
xiáng: ['佭', '庠', '栙', '祥', '絴', '翔', '詳', '跭'],
gé: ['佮', '匌', '呄', '嗝', '塥', '愅', '挌', '搿', '槅', '櫊', '滆', '膈', '臵', '茖', '觡', '諽', '輵', '轕', '閣', '阁', '隔', '鞷', '韐', '韚', '騔', '骼', '鮯'],
yáng: ['佯', '劷', '垟', '崸', '徉', '扬', '揚', '敭', '旸', '昜', '暘', '杨', '楊', '洋', '炀', '珜', '疡', '瘍', '眻', '蛘', '諹', '輰', '鍚', '钖', '阦', '阳', '陽', '霷', '颺', '飏', '鰑', '鴹', '鸉'],
bǎi: ['佰', '捭', '摆', '擺', '栢', '百', '竡', '粨', '襬'],
fǎ: ['佱', '峜', '法', '灋', '砝', '鍅'],
mǐng: ['佲', '凕', '姳', '慏', '酩'],
'èr nài': ['佴'],
hěn: ['佷', '很', '狠', '詪', '𬣳'],
huó: ['佸', '活'],
guǐ: ['佹', '匦', '匭', '厬', '垝', '姽', '宄', '庋', '庪', '恑', '晷', '湀', '癸', '祪', '簋', '蛫', '蟡', '觤', '詭', '诡', '軌', '轨', '陒', '鬼'],
quán: ['佺', '全', '啳', '埢', '姾', '峑', '巏', '拳', '搼', '权', '楾', '権', '權', '泉', '洤', '湶', '牷', '犈', '瑔', '痊', '硂', '筌', '縓', '荃', '葲', '蜷', '蠸', '觠', '詮', '诠', '跧', '踡', '輇', '辁', '醛', '銓', '铨', '闎', '顴', '颧', '駩', '騡', '鬈', '鰁', '鳈', '齤'],
tiāo: ['佻', '庣', '旫', '祧', '聎'],
jiǎo: ['佼', '儌', '孂', '挢', '搅', '撟', '撹', '攪', '敫', '敽', '敿', '晈', '暞', '曒', '灚', '燞', '狡', '璬', '皎', '皦', '絞', '纐', '绞', '腳', '臫', '蟜', '譑', '賋', '踋', '鉸', '铰', '餃', '饺', '鱎', '龣'],
cì: ['佽', '刾', '庛', '朿', '栨', '次', '絘', '茦', '莿', '蛓', '螆', '賜', '赐'],
xíng: ['侀', '刑', '哘', '型', '娙', '形', '洐', '硎', '蛵', '邢', '郉', '鈃', '鉶', '銒', '钘', '铏', '陉', '陘', '餳', '𫰛'],
tuō: ['侂', '咃', '咜', '圫', '托', '拕', '拖', '汑', '脫', '脱', '莌', '袥', '託', '讬', '飥', '饦', '魠', '鮵'],
kǎn: ['侃', '偘', '冚', '坎', '惂', '砍', '莰', '輡', '轗', '顑'],
zhí: ['侄', '値', '值', '埴', '執', '姪', '嬂', '戠', '执', '摭', '植', '樴', '淔', '漐', '直', '禃', '絷', '縶', '聀', '职', '職', '膱', '蟙', '跖', '踯', '蹠', '躑', '軄', '釞', '馽'],
gāi: ['侅', '垓', '姟', '峐', '晐', '畡', '祴', '荄', '該', '该', '豥', '賅', '賌', '赅', '陔'],
lái: ['來', '俫', '倈', '崃', '崍', '庲', '来', '梾', '棶', '涞', '淶', '猍', '琜', '筙', '箂', '莱', '萊', '逨', '郲', '錸', '铼', '騋', '鯠', '鶆', '麳'],
kuǎ: ['侉', '咵', '垮', '銙'],
gōng: ['侊', '公', '功', '匑', '匔', '塨', '宫', '宮', '工', '幊', '弓', '恭', '攻', '杛', '碽', '糼', '糿', '肱', '觥', '觵', '躬', '躳', '髸', '龔', '龚', '䢼'],
lì: ['例', '俐', '俪', '傈', '儮', '儷', '凓', '利', '力', '励', '勵', '历', '厉', '厤', '厯', '厲', '叓', '吏', '呖', '唎', '唳', '嚦', '囇', '坜', '塛', '壢', '娳', '婯', '屴', '岦', '悧', '悷', '慄', '戾', '搮', '暦', '曆', '曞', '朸', '枥', '栃', '栗', '栛', '檪', '櫔', '櫪', '欐', '歴', '歷', '沥', '沴', '涖', '溧', '濿', '瀝', '爏', '犡', '猁', '珕', '瑮', '瓅', '瓑', '瓥', '疬', '痢', '癧', '盭', '睙', '砅', '砺', '砾', '磿', '礪', '礫', '礰', '禲', '秝', '立', '笠', '篥', '粒', '粝', '糲', '脷', '苈', '茘', '荔', '莅', '莉', '蒚', '蒞', '藶', '蚸', '蛎', '蛠', '蜧', '蝷', '蠇', '蠣', '詈', '讈', '赲', '轢', '轣', '轹', '酈', '鉝', '隶', '隷', '雳', '靂', '靋', '鬁', '鳨', '鴗', '鷅', '麜', '𫵷', '𬍛'],
yīn: ['侌', '凐', '喑', '噾', '囙', '因', '垔', '堙', '姻', '婣', '愔', '慇', '栶', '氤', '洇', '溵', '濦', '瘖', '禋', '秵', '筃', '絪', '緸', '茵', '蒑', '蔭', '裀', '諲', '銦', '铟', '闉', '阥', '阴', '陰', '陻', '隂', '霒', '霠', '鞇', '音', '韾', '駰', '骃', '齗', '𬘡', '𬤇', '𬮱'],
mǐ: ['侎', '孊', '弭', '敉', '洣', '渳', '灖', '米', '粎', '羋', '脒', '芈', '葞', '蔝', '銤'],
zhū: ['侏', '株', '槠', '橥', '櫧', '櫫', '洙', '潴', '瀦', '猪', '珠', '硃', '秼', '絑', '茱', '蕏', '蛛', '蝫', '蠩', '袾', '誅', '諸', '诛', '诸', '豬', '跦', '邾', '銖', '铢', '駯', '鮢', '鯺', '鴸', '鼄'],
ān: ['侒', '偣', '媕', '安', '峖', '庵', '桉', '氨', '盦', '盫', '腤', '菴', '萻', '葊', '蓭', '誝', '諳', '谙', '鞌', '鞍', '韽', '馣', '鮟', '鵪', '鶕', '鹌', '𩽾'],
lù: ['侓', '僇', '勎', '勠', '圥', '坴', '塶', '娽', '峍', '廘', '彔', '录', '戮', '摝', '椂', '樚', '淕', '淥', '渌', '漉', '潞', '琭', '璐', '甪', '盝', '睩', '硉', '祿', '禄', '稑', '穋', '箓', '簏', '簬', '簵', '簶', '籙', '粶', '蔍', '蕗', '虂', '螰', '賂', '赂', '趢', '路', '踛', '蹗', '輅', '轆', '辂', '辘', '逯', '醁', '錄', '録', '錴', '鏴', '陸', '騄', '騼', '鯥', '鴼', '鵦', '鵱', '鷺', '鹭', '鹿', '麓', '𫘧'],
móu: ['侔', '劺', '恈', '眸', '蛑', '謀', '谋', '踎', '鍪', '鴾', '麰'],
ér: ['侕', '儿', '児', '兒', '峏', '栭', '洏', '粫', '而', '胹', '荋', '袻', '輀', '轜', '陑', '隭', '髵', '鮞', '鲕', '鴯', '鸸'],
'dòng tǒng tóng': ['侗'],
chà: ['侘', '奼', '姹', '岔', '汊', '詫', '诧'],
chì: ['侙', '傺', '勅', '勑', '叱', '啻', '彳', '恜', '慗', '憏', '懘', '抶', '敕', '斥', '杘', '湁', '灻', '炽', '烾', '熾', '痓', '痸', '瘛', '翄', '翅', '翤', '翨', '腟', '赤', '趩', '遫', '鉓', '雴', '飭', '饬', '鶒', '鷘'],
'gòng gōng': ['供', '共'],
zhōu: ['侜', '周', '喌', '州', '徟', '洲', '淍', '炿', '烐', '珘', '矪', '舟', '謅', '譸', '诌', '賙', '赒', '輈', '輖', '辀', '週', '郮', '銂', '霌', '駲', '騆', '鵃', '鸼'],
rú: ['侞', '儒', '嚅', '如', '嬬', '孺', '帤', '曘', '桇', '渪', '濡', '筎', '茹', '蕠', '薷', '蝡', '蠕', '袽', '襦', '邚', '醹', '銣', '铷', '顬', '颥', '鱬', '鴑', '鴽'],
'jiàn cún': ['侟'],
xiá: ['侠', '俠', '匣', '峡', '峽', '敮', '暇', '柙', '炠', '烚', '狎', '狭', '狹', '珨', '瑕', '硖', '硤', '碬', '祫', '筪', '縖', '翈', '舝', '舺', '蕸', '赮', '轄', '辖', '遐', '鍜', '鎋', '陜', '陿', '霞', '騢', '魻', '鶷', '黠'],
lǚ: ['侣', '侶', '儢', '吕', '呂', '屡', '屢', '履', '挔', '捛', '旅', '梠', '焒', '祣', '稆', '穭', '絽', '縷', '缕', '膂', '膐', '褛', '褸', '郘', '鋁', '铝'],
ta: ['侤'],
'jiǎo yáo': ['侥', '僥', '徺'],
zhēn: ['侦', '偵', '寊', '帧', '帪', '幀', '搸', '斟', '桢', '楨', '榛', '樼', '殝', '浈', '湞', '潧', '澵', '獉', '珍', '珎', '瑧', '甄', '眞', '真', '砧', '碪', '祯', '禎', '禛', '箴', '胗', '臻', '葴', '蒖', '蓁', '薽', '貞', '贞', '轃', '遉', '酙', '針', '鉁', '錱', '鍼', '针', '鱵'],
'cè zè zhāi': ['侧', '側'],
kuài: ['侩', '儈', '凷', '哙', '噲', '圦', '块', '塊', '巜', '廥', '快', '旝', '欳', '狯', '獪', '筷', '糩', '脍', '膾', '郐', '鄶', '鱠', '鲙'],
chái: ['侪', '儕', '喍', '柴', '犲', '祡', '豺'],
nóng: ['侬', '儂', '农', '哝', '噥', '檂', '欁', '浓', '濃', '燶', '禯', '秾', '穠', '脓', '膿', '蕽', '襛', '譨', '農', '辳', '醲', '鬞', '𬪩'],
jǐn: ['侭', '儘', '卺', '厪', '巹', '槿', '漌', '瑾', '紧', '緊', '菫', '蓳', '謹', '谨', '錦', '锦', '饉', '馑'],
'hóu hòu': ['侯', '矦'],
jiǒng: ['侰', '僒', '冏', '囧', '泂', '澃', '炯', '烱', '煚', '煛', '熲', '燛', '窘', '綗', '褧', '迥', '逈', '顈', '颎', '䌹'],
'chěng tǐng': ['侱'],
'zhèn zhēn': ['侲', '揕'],
zuò: ['侳', '做', '唑', '坐', '岝', '岞', '座', '祚', '糳', '胙', '葃', '葄', '蓙', '袏', '阼'],
qīn: ['侵', '兓', '媇', '嵚', '嶔', '欽', '衾', '誛', '钦', '顉', '駸', '骎', '鮼'],
jú: ['侷', '啹', '婅', '局', '巈', '椈', '橘', '泦', '淗', '湨', '焗', '犑', '狊', '粷', '菊', '蘜', '趜', '跼', '蹫', '輂', '郹', '閰', '駶', '驧', '鵙', '鵴', '鶪', '鼰', '鼳', '䴗'],
'shù dōu': ['侸'],
tǐng: ['侹', '圢', '娗', '挺', '涏', '烶', '珽', '脡', '艇', '誔', '頲', '颋'],
shèn: ['侺', '愼', '慎', '昚', '涁', '渗', '滲', '瘆', '瘮', '眘', '祳', '肾', '胂', '脤', '腎', '蜃', '蜄', '鋠'],
'tuì tuó': ['侻'],
nán: ['侽', '喃', '娚', '抩', '暔', '枏', '柟', '楠', '男', '畘', '莮', '萳', '遖'],
xiāo: ['侾', '哓', '嘵', '嚻', '囂', '婋', '宯', '宵', '庨', '彇', '揱', '枭', '枵', '梟', '櫹', '歊', '毊', '消', '潇', '瀟', '灱', '灲', '烋', '焇', '猇', '獢', '痚', '痟', '硝', '硣', '窙', '箫', '簘', '簫', '綃', '绡', '翛', '膮', '萧', '蕭', '虈', '虓', '蟂', '蟏', '蟰', '蠨', '踃', '逍', '銷', '销', '霄', '颵', '驍', '骁', '髇', '髐', '魈', '鴞', '鴵', '鷍', '鸮'],
'biàn pián': ['便', '緶', '缏'],
tuǐ: ['俀', '腿', '蹆', '骽'],
xì: ['係', '匸', '卌', '呬', '墍', '屃', '屓', '屭', '忥', '怬', '恄', '椞', '潝', '潟', '澙', '熂', '犔', '磶', '禊', '細', '綌', '縘', '细', '绤', '舃', '舄', '蕮', '虩', '衋', '覤', '赩', '趇', '郤', '釳', '阋', '隙', '隟', '霼', '餼', '饩', '鬩', '黖'],
cù: ['促', '媨', '憱', '猝', '瘄', '瘯', '簇', '縬', '脨', '蔟', '誎', '趗', '踧', '踿', '蹙', '蹴', '蹵', '醋', '顣', '鼀'],
é: ['俄', '囮', '娥', '峉', '峨', '峩', '涐', '珴', '皒', '睋', '磀', '莪', '訛', '誐', '譌', '讹', '迗', '鈋', '鋨', '锇', '頟', '額', '额', '魤', '鵝', '鵞', '鹅'],
qiú: ['俅', '叴', '唒', '囚', '崷', '巯', '巰', '扏', '梂', '殏', '毬', '求', '汓', '泅', '浗', '湭', '煪', '犰', '玌', '球', '璆', '皳', '盚', '紌', '絿', '肍', '芁', '莍', '虬', '虯', '蛷', '裘', '觓', '觩', '訄', '訅', '賕', '赇', '逎', '逑', '遒', '酋', '釚', '釻', '銶', '頄', '鮂', '鯄', '鰽', '鼽', '𨱇'],
xú: ['俆', '徐', '禑'],
'guàng kuāng': ['俇'],
kù: ['俈', '喾', '嚳', '库', '庫', '廤', '瘔', '絝', '绔', '袴', '裤', '褲', '酷'],
wù: ['俉', '务', '務', '勿', '卼', '坞', '塢', '奦', '婺', '寤', '屼', '岉', '嵨', '忢', '悞', '悟', '悮', '戊', '扤', '晤', '杌', '溩', '焐', '熃', '物', '痦', '矹', '窹', '粅', '蘁', '誤', '误', '鋈', '阢', '隖', '雾', '霚', '霧', '靰', '騖', '骛', '鶩', '鹜', '鼿', '齀'],
jùn: ['俊', '儁', '呁', '埈', '寯', '峻', '懏', '捃', '攟', '晙', '棞', '燇', '珺', '畯', '竣', '箟', '蜠', '賐', '郡', '陖', '餕', '馂', '駿', '骏', '鵔', '鵕', '鵘', '䐃'],
liáng: ['俍', '墚', '梁', '椋', '樑', '粮', '粱', '糧', '良', '輬', '辌', '𫟅'],
zǔ: ['俎', '唨', '爼', '祖', '組', '组', '詛', '诅', '鎺', '阻', '靻'],
'qiào xiào': ['俏'],
yǒng: ['俑', '勇', '勈', '咏', '埇', '塎', '嵱', '彮', '怺', '恿', '悀', '惥', '愑', '愹', '慂', '柡', '栐', '永', '泳', '湧', '甬', '蛹', '詠', '踊', '踴', '鯒', '鲬'],
hùn: ['俒', '倱', '圂', '尡', '慁', '掍', '溷', '焝', '睴', '觨', '諢', '诨'],
jìng: ['俓', '傹', '境', '妌', '婙', '婧', '弪', '弳', '径', '徑', '敬', '曔', '桱', '梷', '浄', '瀞', '獍', '痉', '痙', '竞', '竟', '竫', '競', '竸', '胫', '脛', '莖', '誩', '踁', '迳', '逕', '鏡', '镜', '靖', '静', '靜', '鵛'],
sàn: ['俕', '閐'],
pěi: ['俖'],
sú: ['俗'],
xī: ['俙', '僖', '兮', '凞', '卥', '厀', '吸', '唏', '唽', '嘻', '噏', '嚱', '夕', '奚', '嬆', '嬉', '屖', '嵠', '巇', '希', '徆', '徯', '息', '悉', '悕', '惁', '惜', '昔', '晞', '晰', '晳', '曦', '析', '桸', '榽', '樨', '橀', '欷', '氥', '汐', '浠', '淅', '渓', '溪', '烯', '焁', '焈', '焟', '熄', '熈', '熙', '熹', '熺', '熻', '燨', '爔', '牺', '犀', '犠', '犧', '琋', '瘜', '皙', '睎', '瞦', '矽', '硒', '磎', '礂', '稀', '穸', '窸', '粞', '糦', '緆', '繥', '羲', '翕', '翖', '肸', '肹', '膝', '舾', '莃', '菥', '蒠', '蜥', '螅', '蟋', '蠵', '西', '觹', '觽', '觿', '譆', '谿', '豀', '豨', '豯', '貕', '赥', '邜', '鄎', '酅', '醯', '釸', '錫', '鏭', '鐊', '鑴', '锡', '隵', '餏', '饎', '饻', '鯑', '鵗', '鸂', '鼷'],
lǐ: ['俚', '娌', '峢', '峲', '李', '欚', '浬', '澧', '理', '礼', '禮', '粴', '裏', '裡', '豊', '逦', '邐', '醴', '鋰', '锂', '鯉', '鱧', '鱱', '鲤', '鳢'],
bǎo: ['保', '堢', '媬', '宝', '寚', '寳', '寶', '珤', '緥', '葆', '藵', '褓', '賲', '靌', '飹', '飽', '饱', '駂', '鳵', '鴇', '鸨'],
'yú shù yù': ['俞'],
'sì qí': ['俟'],
'xìn shēn': ['信'],
xiū: ['俢', '修', '咻', '庥', '樇', '烌', '羞', '脙', '脩', '臹', '貅', '銝', '鎀', '飍', '饈', '馐', '髤', '髹', '鮴', '鱃', '鵂', '鸺', '䗛'],
dì: ['俤', '偙', '僀', '埊', '墑', '墬', '娣', '帝', '怟', '旳', '梊', '焍', '玓', '甋', '眱', '睇', '碲', '祶', '禘', '第', '締', '缔', '腣', '菂', '蒂', '蔕', '蝃', '蝭', '螮', '諦', '谛', '踶', '递', '逓', '遞', '遰', '鉪', '𤧛', '䗖'],
chóu: ['俦', '儔', '嬦', '惆', '愁', '懤', '栦', '燽', '畴', '疇', '皗', '稠', '筹', '籌', '絒', '綢', '绸', '菗', '詶', '讎', '讐', '踌', '躊', '酧', '酬', '醻', '雔', '雠', '雦'],
zhì: ['俧', '偫', '儨', '制', '劕', '垁', '娡', '寘', '帙', '帜', '幟', '庢', '庤', '廌', '彘', '徏', '徝', '志', '忮', '懥', '懫', '挃', '挚', '掷', '摯', '擲', '旘', '晊', '智', '栉', '桎', '梽', '櫍', '櫛', '治', '洷', '滍', '滞', '滯', '潌', '瀄', '炙', '熫', '狾', '猘', '璏', '瓆', '痔', '痣', '礩', '祑', '秩', '秷', '稚', '稺', '穉', '窒', '紩', '緻', '置', '翐', '膣', '至', '致', '芖', '蛭', '袟', '袠', '製', '覟', '觗', '觯', '觶', '誌', '豑', '豒', '貭', '質', '贄', '质', '贽', '跱', '踬', '躓', '輊', '轾', '郅', '銍', '鋕', '鑕', '铚', '锧', '陟', '隲', '雉', '駤', '騭', '騺', '驇', '骘', '鯯', '鴙', '鷙', '鸷', '𬃊'],
'liǎ liǎng': ['俩'],
jiǎn: ['俭', '倹', '儉', '减', '剪', '堿', '弿', '彅', '戩', '戬', '拣', '挸', '捡', '揀', '撿', '枧', '柬', '梘', '检', '検', '檢', '減', '湕', '瀽', '瑐', '睑', '瞼', '硷', '碱', '礆', '笕', '筧', '简', '簡', '絸', '繭', '翦', '茧', '藆', '蠒', '裥', '襇', '襉', '襺', '詃', '謇', '謭', '譾', '谫', '趼', '蹇', '鐗', '鬋', '鰎', '鹸', '鹻', '鹼'],
huò: ['俰', '咟', '嚯', '嚿', '奯', '彠', '惑', '或', '擭', '旤', '曤', '檴', '沎', '湱', '瀖', '獲', '癨', '眓', '矐', '祸', '禍', '穫', '窢', '耯', '臛', '艧', '获', '蒦', '藿', '蠖', '謋', '貨', '货', '鍃', '鑊', '镬', '雘', '霍', '靃', '韄', '㸌'],
'jù jū': ['俱', '据', '鋸', '锯'],
xiào: ['俲', '傚', '効', '咲', '哮', '啸', '嘋', '嘨', '嘯', '孝', '效', '斅', '斆', '歗', '涍', '熽', '笑', '詨', '誟'],
pái: ['俳', '徘', '牌', '犤', '猅', '簰', '簲', '輫'],
biào: ['俵', '鰾', '鳔'],
'chù tì': ['俶'],
fèi: ['俷', '剕', '厞', '吠', '屝', '废', '廃', '廢', '昲', '曊', '櫠', '沸', '濷', '狒', '癈', '肺', '萉', '費', '费', '鐨', '镄', '陫', '靅', '鼣'],
fèng: ['俸', '凤', '奉', '湗', '焨', '煈', '賵', '赗', '鳯', '鳳', '鴌'],
ǎn: ['俺', '唵', '埯', '揞', '罯', '銨', '铵'],
bèi: ['俻', '倍', '偝', '偹', '備', '僃', '备', '悖', '惫', '愂', '憊', '昁', '梖', '焙', '牬', '犕', '狈', '狽', '珼', '琲', '碚', '禙', '糒', '苝', '蓓', '蛽', '褙', '貝', '贝', '軰', '輩', '辈', '邶', '郥', '鄁', '鋇', '鐾', '钡', '鞁', '鞴', '𬇙'],
yù: ['俼', '儥', '喅', '喩', '喻', '域', '堉', '妪', '嫗', '寓', '峪', '嶎', '庽', '彧', '御', '愈', '慾', '戫', '昱', '棛', '棜', '棫', '櫲', '欎', '欝', '欲', '毓', '浴', '淯', '滪', '潏', '澦', '灪', '焴', '煜', '燏', '燠', '爩', '狱', '獄', '玉', '琙', '瘉', '癒', '砡', '硢', '硲', '礇', '礖', '礜', '禦', '秗', '稢', '稶', '篽', '籞', '籲', '粖', '緎', '罭', '聿', '肀', '艈', '芋', '芌', '茟', '蒮', '蓣', '蓹', '蕷', '蘌', '蜟', '蜮', '袬', '裕', '誉', '諭', '譽', '谕', '豫', '軉', '輍', '逳', '遇', '遹', '郁', '醧', '鈺', '鋊', '錥', '鐭', '钰', '閾', '阈', '雤', '霱', '預', '预', '飫', '饇', '饫', '馭', '驈', '驭', '鬰', '鬱', '鬻', '魊', '鱊', '鳿', '鴥', '鴧', '鴪', '鵒', '鷸', '鸒', '鹆', '鹬'],
xīn: ['俽', '噺', '妡', '嬜', '廞', '心', '忄', '忻', '惞', '新', '昕', '杺', '欣', '歆', '炘', '盺', '薪', '訢', '辛', '邤', '鈊', '鋅', '鑫', '锌', '馨', '馫', '䜣', '𫷷'],
'hǔ chí': ['俿'],
jiù: ['倃', '僦', '匓', '匛', '匶', '厩', '咎', '就', '廄', '廏', '廐', '慦', '捄', '救', '旧', '柩', '柾', '桕', '欍', '殧', '疚', '臼', '舅', '舊', '鯦', '鷲', '鹫', '麔', '齨', '㠇'],
yáo: ['倄', '傜', '嗂', '垚', '堯', '姚', '媱', '尧', '尭', '峣', '嶢', '嶤', '徭', '揺', '搖', '摇', '摿', '暚', '榣', '烑', '爻', '猺', '珧', '瑤', '瑶', '磘', '窑', '窯', '窰', '肴', '蘨', '謠', '謡', '谣', '軺', '轺', '遙', '遥', '邎', '顤', '颻', '飖', '餆', '餚', '鰩', '鱙', '鳐'],
'cuì zú': ['倅'],
'liǎng liǎ': ['倆'],
wǎn: ['倇', '唍', '婉', '惋', '挽', '晚', '晥', '晩', '晼', '梚', '椀', '琬', '畹', '皖', '盌', '碗', '綩', '綰', '绾', '脘', '萖', '踠', '輓', '鋔'],
zǒng: ['倊', '偬', '傯', '嵸', '总', '惣', '捴', '搃', '摠', '燪', '総', '緫', '縂', '總', '蓗'],
guān: ['倌', '关', '官', '棺', '瘝', '癏', '窤', '蒄', '関', '闗', '關', '鰥', '鱞', '鳏'],
tiǎn: ['倎', '唺', '忝', '悿', '晪', '殄', '淟', '睓', '腆', '舔', '覥', '觍', '賟', '錪', '餂'],
mén: ['們', '扪', '捫', '璊', '菛', '虋', '鍆', '钔', '門', '閅', '门', '𫞩'],
'dǎo dào': ['倒'],
'tán tàn': ['倓', '埮'],
'juè jué': ['倔'],
chuí: ['倕', '垂', '埀', '捶', '搥', '桘', '棰', '槌', '箠', '腄', '菙', '錘', '鎚', '锤', '陲', '顀'],
xìng: ['倖', '姓', '婞', '嬹', '幸', '性', '悻', '杏', '涬', '緈', '臖', '荇', '莕', '葕'],
péng: ['倗', '傰', '塜', '塳', '弸', '憉', '捀', '朋', '棚', '椖', '樥', '硼', '稝', '竼', '篷', '纄', '膨', '芃', '蓬', '蘕', '蟚', '蟛', '袶', '輣', '錋', '鑝', '韸', '韼', '騯', '髼', '鬅', '鬔', '鵬', '鹏'],
'tǎng cháng': ['倘'],
hòu: ['候', '厚', '后', '垕', '堠', '後', '洉', '茩', '豞', '逅', '郈', '鮜', '鱟', '鲎', '鲘'],
tì: ['倜', '剃', '嚏', '嚔', '屉', '屜', '悌', '悐', '惕', '惖', '戻', '掦', '替', '朑', '歒', '殢', '涕', '瓋', '笹', '籊', '薙', '褅', '逖', '逷', '髰', '鬀', '鬄'],
gàn: ['倝', '凎', '幹', '榦', '檊', '淦', '灨', '盰', '紺', '绀', '詌', '贑', '赣', '骭', '㽏'],
'liàng jìng': ['倞', '靓'],
suī: ['倠', '哸', '夊', '滖', '濉', '眭', '睢', '芕', '荽', '荾', '虽', '雖', '鞖'],
'chàng chāng': ['倡'],
jié: ['倢', '偼', '傑', '刦', '刧', '刼', '劫', '劼', '卩', '卪', '婕', '媫', '孑', '岊', '崨', '嵥', '嶻', '巀', '幯', '截', '捷', '掶', '擮', '昅', '杢', '杰', '桀', '桝', '楬', '楶', '榤', '洁', '滐', '潔', '狤', '睫', '礍', '竭', '節', '羯', '莭', '蓵', '蛣', '蜐', '蠘', '蠞', '蠽', '衱', '袺', '訐', '詰', '誱', '讦', '踕', '迼', '鉣', '鍻', '镼', '頡', '鮚', '鲒', '㛃'],
'kǒng kōng': ['倥'],
juàn: ['倦', '劵', '奆', '慻', '桊', '淃', '狷', '獧', '眷', '睊', '睠', '絭', '絹', '绢', '罥', '羂', '腃', '蔨', '鄄', '餋'],
zōng: ['倧', '堫', '宗', '嵏', '嵕', '惾', '朡', '棕', '椶', '熧', '猣', '磫', '緃', '翪', '腙', '葼', '蝬', '豵', '踨', '踪', '蹤', '鍐', '鑁', '騌', '騣', '骔', '鬃', '鬉', '鬷', '鯮', '鯼'],
ní: ['倪', '坭', '埿', '尼', '屔', '怩', '淣', '猊', '籾', '聣', '蚭', '蜺', '觬', '貎', '跜', '輗', '郳', '鈮', '铌', '霓', '馜', '鯢', '鲵', '麑', '齯', '𫐐', '𫠜'],
zhuō: ['倬', '拙', '捉', '桌', '梲', '棁', '棳', '槕', '涿', '窧', '鐯', '䦃'],
'wō wēi': ['倭'],
luǒ: ['倮', '剆', '曪', '瘰', '癳', '臝', '蓏', '蠃', '裸', '躶'],
sōng: ['倯', '凇', '娀', '崧', '嵩', '庺', '憽', '松', '枀', '枩', '柗', '梥', '檧', '淞', '濍', '硹', '菘', '鬆'],
lèng: ['倰', '堎', '愣', '睖', '踜'],
zì: ['倳', '剚', '字', '恣', '渍', '漬', '牸', '眥', '眦', '胔', '胾', '自', '茡', '荢'],
bèn: ['倴', '坌', '捹', '撪', '渀', '笨', '逩'],
cǎi: ['倸', '啋', '婇', '彩', '採', '棌', '毝', '睬', '綵', '跴', '踩'],
zhài: ['债', '債', '寨', '瘵', '砦'],
yē: ['倻', '吔', '噎', '擨', '暍', '椰', '歋', '潱', '蠮'],
shà: ['倽', '唼', '喢', '歃', '箑', '翜', '翣', '萐', '閯', '霎'],
qīng: ['倾', '傾', '卿', '圊', '寈', '氢', '氫', '淸', '清', '蜻', '軽', '輕', '轻', '郬', '錆', '鑋', '靑', '青', '鯖'],
yīng: ['偀', '嘤', '噟', '嚶', '婴', '媖', '嫈', '嬰', '孆', '孾', '愥', '撄', '攖', '朠', '桜', '樱', '櫻', '渶', '煐', '珱', '瑛', '璎', '瓔', '甇', '甖', '碤', '礯', '緓', '纓', '绬', '缨', '罂', '罃', '罌', '膺', '英', '莺', '蘡', '蝧', '蠳', '褮', '譻', '賏', '軈', '鑍', '锳', '霙', '韺', '鴬', '鶑', '鶧', '鶯', '鷪', '鷹', '鸎', '鸚', '鹦', '鹰', '䓨'],
'chēng chèn': ['偁', '爯'],
ruǎn: ['偄', '朊', '瑌', '瓀', '碝', '礝', '腝', '軟', '輭', '软', '阮'],
'zhòng tóng': ['偅'],
chǔn: ['偆', '惷', '睶', '萶', '蠢', '賰'],
'jiǎ jià': ['假'],
'jì jié': ['偈'],
'bǐng bìng': ['偋'],
ruò: ['偌', '叒', '嵶', '弱', '楉', '焫', '爇', '箬', '篛', '蒻', '鄀', '鰙', '鰯', '鶸'],
tí: ['偍', '厗', '啼', '嗁', '崹', '漽', '瑅', '睼', '禵', '稊', '緹', '缇', '罤', '蕛', '褆', '謕', '趧', '蹄', '蹏', '醍', '鍗', '題', '题', '騠', '鮷', '鯷', '鳀', '鵜', '鷤', '鹈', '𫘨'],
wēi: ['偎', '危', '喴', '威', '媙', '嶶', '巍', '微', '愄', '揋', '揻', '椳', '楲', '溦', '烓', '煨', '燰', '癓', '縅', '葨', '葳', '薇', '蜲', '蝛', '覣', '詴', '逶', '隇', '隈', '霺', '鰃', '鰄', '鳂'],
piān: ['偏', '囨', '媥', '楄', '犏', '篇', '翩', '鍂'],
yàn: ['偐', '厌', '厭', '唁', '喭', '嚈', '嚥', '堰', '妟', '姲', '嬊', '嬿', '宴', '彥', '彦', '敥', '晏', '暥', '曕', '曣', '滟', '灎', '灔', '灧', '灩', '焔', '焰', '焱', '熖', '燄', '牪', '猒', '砚', '硯', '艳', '艶', '艷', '覎', '觃', '觾', '諺', '讌', '讞', '谚', '谳', '豓', '豔', '贋', '贗', '赝', '軅', '酀', '酽', '醼', '釅', '雁', '餍', '饜', '騐', '験', '騴', '驗', '驠', '验', '鬳', '鳫', '鴈', '鴳', '鷃', '鷰', '齞'],
'tǎng dàng': ['偒'],
è: ['偔', '匎', '卾', '厄', '呝', '咢', '噩', '垩', '堊', '堮', '岋', '崿', '廅', '悪', '愕', '戹', '扼', '搤', '搹', '擜', '櫮', '歞', '歺', '湂', '琧', '砈', '砐', '硆', '腭', '苊', '萼', '蕚', '蚅', '蝁', '覨', '諤', '讍', '谔', '豟', '軛', '軶', '轭', '遌', '遏', '遻', '鄂', '鈪', '鍔', '鑩', '锷', '阨', '阸', '頞', '顎', '颚', '餓', '餩', '饿', '鰐', '鰪', '鱷', '鳄', '鶚', '鹗', '齃', '齶', '𫫇', '𥔲'],
xié: ['偕', '勰', '协', '協', '嗋', '垥', '奊', '恊', '愶', '拹', '携', '撷', '擕', '擷', '攜', '斜', '旪', '熁', '燲', '綊', '緳', '縀', '缬', '翓', '胁', '脅', '脇', '脋', '膎', '蝢', '衺', '襭', '諧', '讗', '谐', '鞋', '鞵', '龤', '㙦'],
chě: ['偖', '扯', '撦'],
shěng: ['偗', '渻', '眚'],
chā: ['偛', '嗏', '扠', '挿', '插', '揷', '疀', '臿', '艖', '銟', '鍤', '锸', '餷'],
huáng: ['偟', '凰', '喤', '堭', '墴', '媓', '崲', '徨', '惶', '楻', '湟', '煌', '獚', '瑝', '璜', '癀', '皇', '磺', '穔', '篁', '簧', '艎', '葟', '蝗', '蟥', '諻', '趪', '遑', '鍠', '鐄', '锽', '隍', '韹', '餭', '騜', '鰉', '鱑', '鳇', '鷬', '黃', '黄', '𨱑'],
yǎo: ['偠', '咬', '婹', '宎', '岆', '杳', '柼', '榚', '溔', '狕', '窅', '窈', '舀', '苭', '闄', '騕', '鷕', '齩'],
'chǒu qiào': ['偢'],
yóu: ['偤', '尤', '庮', '怣', '沋', '油', '浟', '游', '犹', '猶', '猷', '由', '疣', '秞', '肬', '莜', '莸', '蕕', '蚰', '蝣', '訧', '輏', '輶', '逰', '遊', '邮', '郵', '鈾', '铀', '駀', '魷', '鮋', '鱿', '鲉', '𬨎'],
xū: ['偦', '墟', '媭', '嬃', '楈', '欨', '歔', '燸', '疞', '盱', '綇', '縃', '繻', '胥', '蕦', '虗', '虚', '虛', '蝑', '裇', '訏', '許', '諝', '譃', '谞', '鑐', '需', '須', '须', '顼', '驉', '鬚', '魆', '魖', '𬣙', '𦈡'],
zhā: ['偧', '哳', '抯', '挓', '揸', '摣', '樝', '渣', '皶', '觰', '譇', '齄', '齇'],
cī: ['偨', '疵', '蠀', '趀', '骴', '髊', '齹'],
bī: ['偪', '屄', '楅', '毴', '豍', '逼', '鰏', '鲾', '鵖'],
xún: ['偱', '噚', '寻', '尋', '峋', '巡', '廵', '循', '恂', '揗', '攳', '旬', '杊', '栒', '桪', '樳', '洵', '浔', '潯', '燅', '燖', '珣', '璕', '畃', '紃', '荀', '蟳', '詢', '询', '鄩', '鱏', '鱘', '鲟', '𬘓', '𬩽', '𬍤', '𬊈'],
'cāi sī': ['偲'],
duān: ['偳', '媏', '端', '褍', '鍴'],
ǒu: ['偶', '吘', '嘔', '耦', '腢', '蕅', '藕', '𬉼', '𠙶'],
tōu: ['偷', '偸', '鍮'],
'zán zá zǎ': ['偺'],
'lǚ lóu': ['偻', '僂'],
fèn: ['偾', '僨', '奋', '奮', '弅', '忿', '愤', '憤', '瀵', '瞓', '秎', '粪', '糞', '膹', '鱝', '鲼'],
'kuǐ guī': ['傀'],
sǒu: ['傁', '叜', '叟', '嗾', '櫢', '瞍', '薮', '藪'],
'zhì sī tí': ['傂'],
sù: ['傃', '僳', '嗉', '塐', '塑', '夙', '嫊', '愫', '憟', '榡', '樎', '樕', '殐', '泝', '涑', '溯', '溸', '潚', '潥', '玊', '珟', '璛', '簌', '粛', '粟', '素', '縤', '肃', '肅', '膆', '蔌', '藗', '觫', '訴', '謖', '诉', '谡', '趚', '蹜', '速', '遡', '遬', '鋉', '餗', '驌', '骕', '鱐', '鷫', '鹔', '𫗧'],
xiā: ['傄', '煆', '瞎', '虲', '谺', '颬', '鰕'],
'yuàn yuán': ['傆', '媛'],
rǒng: ['傇', '冗', '宂', '氄', '軵'],
nù: ['傉', '怒'],
yùn: ['傊', '孕', '恽', '惲', '愠', '慍', '枟', '腪', '蕴', '薀', '藴', '蘊', '褞', '貟', '运', '運', '郓', '鄆', '酝', '醖', '醞', '韗', '韞', '韵', '韻', '餫'],
'gòu jiǎng': ['傋'],
mà: ['傌', '嘜', '榪', '睰', '祃', '禡', '罵', '閁', '駡', '骂', '鬕'],
bàng: ['傍', '塝', '棒', '玤', '稖', '艕', '蒡', '蜯', '謗', '谤', '鎊', '镑'],
diān: ['傎', '厧', '嵮', '巅', '巓', '巔', '掂', '攧', '敁', '槇', '滇', '癫', '癲', '蹎', '顚', '顛', '颠', '齻'],
táng: ['傏', '唐', '啺', '坣', '堂', '塘', '搪', '棠', '榶', '溏', '漟', '煻', '瑭', '磄', '禟', '篖', '糃', '糖', '糛', '膅', '膛', '蓎', '螗', '螳', '赯', '踼', '鄌', '醣', '鎕', '隚', '餹', '饄', '鶶', '䣘'],
hào: ['傐', '哠', '恏', '昊', '昦', '晧', '暠', '暤', '暭', '曍', '浩', '淏', '澔', '灏', '灝', '皓', '皜', '皞', '皡', '皥', '耗', '聕', '薃', '號', '鄗', '顥', '颢', '鰝'],
'xī xì': ['傒'],
shān: ['傓', '删', '刪', '剼', '圸', '山', '挻', '搧', '柵', '檆', '潸', '澘', '煽', '狦', '珊', '笘', '縿', '羴', '羶', '脠', '舢', '芟', '衫', '跚', '軕', '邖', '閊', '鯅'],
'qiàn jiān': ['傔'],
'què jué': ['傕', '埆'],
'cāng chen': ['傖'],
róng: ['傛', '媶', '嫆', '嬫', '容', '峵', '嵘', '嶸', '戎', '搈', '曧', '栄', '榕', '榮', '榵', '毧', '溶', '瀜', '烿', '熔', '狨', '瑢', '穁', '絨', '绒', '羢', '肜', '茙', '茸', '荣', '蓉', '蝾', '融', '螎', '蠑', '褣', '鎔', '镕', '駥'],
'tà tàn': ['傝'],
suō: ['傞', '唆', '嗍', '嗦', '娑', '摍', '桫', '梭', '睃', '簑', '簔', '羧', '莏', '蓑', '趖', '鮻'],
dǎi: ['傣', '歹'],
zài: ['傤', '儎', '再', '在', '扗', '洅', '載', '酨'],
gǔ: ['傦', '古', '啒', '尳', '愲', '榖', '榾', '汩', '淈', '濲', '瀔', '牯', '皷', '皼', '盬', '瞽', '穀', '罟', '羖', '股', '脵', '臌', '薣', '蛊', '蠱', '詁', '诂', '轂', '逧', '鈷', '钴', '餶', '馉', '鼓', '鼔', '𦙶'],
bīn: ['傧', '宾', '彬', '斌', '椕', '滨', '濒', '濱', '濵', '瀕', '繽', '缤', '虨', '豩', '豳', '賓', '賔', '邠', '鑌', '镔', '霦', '顮'],
chǔ: ['储', '儲', '杵', '椘', '楚', '楮', '檚', '濋', '璴', '础', '礎', '禇', '處', '齭', '齼', '𬺓'],
nuó: ['傩', '儺', '挪', '梛', '橠'],
'cān càn': ['傪'],
lěi: ['傫', '儡', '厽', '垒', '塁', '壘', '壨', '櫐', '灅', '癗', '矋', '磊', '礨', '耒', '蕌', '蕾', '藟', '蘽', '蠝', '誄', '讄', '诔', '鑸', '鸓'],
cuī: ['催', '凗', '墔', '崔', '嵟', '慛', '摧', '榱', '獕', '磪', '鏙'],
yōng: ['傭', '嗈', '墉', '壅', '嫞', '庸', '廱', '慵', '拥', '擁', '滽', '灉', '牅', '痈', '癕', '癰', '臃', '邕', '郺', '鄘', '鏞', '镛', '雍', '雝', '饔', '鱅', '鳙', '鷛'],
'zāo cáo': ['傮'],
sǒng: ['傱', '嵷', '怂', '悚', '愯', '慫', '竦', '耸', '聳', '駷', '㧐'],
ào: ['傲', '坳', '垇', '墺', '奡', '嫯', '岙', '岰', '嶴', '懊', '擙', '澳', '鏊', '驁', '骜'],
'qī còu': ['傶'],
chuǎng: ['傸', '磢', '闖', '闯'],
shǎ: ['傻', '儍'],
hàn: ['傼', '垾', '悍', '憾', '扞', '捍', '撖', '撼', '旱', '晘', '暵', '汉', '涆', '漢', '瀚', '焊', '猂', '皔', '睅', '翰', '莟', '菡', '蛿', '蜭', '螒', '譀', '輚', '釬', '銲', '鋎', '雗', '頷', '顄', '颔', '駻', '鶾'],
zhāng: ['傽', '嫜', '张', '張', '彰', '慞', '暲', '樟', '漳', '獐', '璋', '章', '粻', '蔁', '蟑', '遧', '鄣', '鏱', '餦', '騿', '鱆', '麞'],
'yān yàn': ['傿', '墕', '嬮'],
'piào biāo': ['僄', '骠'],
liàn: ['僆', '堜', '媡', '恋', '戀', '楝', '殓', '殮', '湅', '潋', '澰', '瀲', '炼', '煉', '瑓', '練', '纞', '练', '萰', '錬', '鍊', '鏈', '链', '鰊', '𬶠'],
màn: ['㵘', '僈', '墁', '幔', '慢', '曼', '漫', '澷', '熳', '獌', '縵', '缦', '蔄', '蘰', '鄤', '鏝', '镘', '𬜬'],
'tàn tǎn': ['僋'],
yíng: ['僌', '営', '塋', '嬴', '攍', '楹', '櫿', '溁', '溋', '滢', '潆', '濙', '濚', '濴', '瀅', '瀛', '瀠', '瀯', '灐', '灜', '熒', '營', '瑩', '盁', '盈', '禜', '籝', '籯', '縈', '茔', '荧', '莹', '萤', '营', '萦', '萾', '蓥', '藀', '蛍', '蝇', '蝿', '螢', '蠅', '謍', '贏', '赢', '迎', '鎣'],
dòng: ['働', '冻', '凍', '动', '動', '姛', '戙', '挏', '栋', '棟', '湩', '硐', '胨', '胴', '腖', '迵', '霘', '駧'],
zhuàn: ['僎', '啭', '囀', '堟', '撰', '灷', '瑑', '篆', '腞', '蒃', '襈', '譔', '饌', '馔'],
xiàng: ['像', '勨', '向', '嚮', '姠', '嶑', '曏', '橡', '珦', '缿', '蟓', '衖', '襐', '象', '鐌', '項', '项', '鱌'],
shàn: ['僐', '善', '墠', '墡', '嬗', '擅', '敾', '椫', '樿', '歚', '汕', '灗', '疝', '磰', '繕', '缮', '膳', '蟮', '蟺', '訕', '謆', '譱', '讪', '贍', '赡', '赸', '鄯', '鐥', '饍', '騸', '骟', '鱓', '鱔', '鳝', '𫮃'],
'tuí tuǐ': ['僓'],
zǔn: ['僔', '噂', '撙', '譐'],
pú: ['僕', '匍', '圤', '墣', '濮', '獛', '璞', '瞨', '穙', '莆', '菐', '菩', '葡', '蒱', '蒲', '贌', '酺', '鏷', '镤'],
láo: ['僗', '劳', '労', '勞', '哰', '崂', '嶗', '憥', '朥', '浶', '牢', '痨', '癆', '窂', '簩', '醪', '鐒', '铹', '顟', '髝', '𫭼'],
chǎng: ['僘', '厰', '廠', '敞', '昶', '氅', '鋹', '𬬮'],
guāng: ['僙', '光', '咣', '垙', '姯', '洸', '灮', '炗', '炚', '炛', '烡', '珖', '胱', '茪', '輄', '銧', '黆', '𨐈'],
liáo: ['僚', '嘹', '嫽', '寥', '寮', '尞', '屪', '嵺', '嶚', '嶛', '廫', '憀', '敹', '暸', '橑', '獠', '璙', '疗', '療', '竂', '簝', '繚', '缭', '聊', '膋', '膫', '藔', '蟟', '豂', '賿', '蹘', '辽', '遼', '飉', '髎', '鷯', '鹩'],
dèng: ['僜', '凳', '墱', '嶝', '櫈', '瞪', '磴', '覴', '邓', '鄧', '隥'],
'chán zhàn zhuàn': ['僝'],
bō: ['僠', '嶓', '拨', '撥', '播', '波', '溊', '玻', '癶', '盋', '砵', '碆', '礡', '缽', '菠', '袰', '蹳', '鉢', '钵', '餑', '饽', '驋', '鱍', '𬭛'],
huì: ['僡', '匯', '卉', '喙', '嘒', '嚖', '圚', '嬒', '寭', '屶', '屷', '彗', '彙', '彚', '徻', '恚', '恵', '惠', '慧', '憓', '懳', '晦', '暳', '槥', '橞', '檅', '櫘', '汇', '泋', '滙', '潓', '烩', '燴', '獩', '璤', '瞺', '硊', '秽', '穢', '篲', '絵', '繪', '绘', '翙', '翽', '荟', '蔧', '蕙', '薈', '薉', '蟪', '詯', '誨', '諱', '譓', '譿', '讳', '诲', '賄', '贿', '鐬', '闠', '阓', '靧', '頮', '顪', '颒', '餯', '𬤝', '𬭬'],
chuǎn: ['僢', '喘', '舛', '荈', '踳'],
'tiě jiàn': ['僣'],
sēng: ['僧', '鬙'],
xiàn: ['僩', '僴', '哯', '垷', '塪', '姭', '娊', '宪', '岘', '峴', '憲', '撊', '晛', '橌', '橺', '涀', '瀗', '献', '獻', '现', '現', '県', '睍', '粯', '糮', '絤', '綫', '線', '线', '缐', '羡', '羨', '腺', '臔', '臽', '苋', '莧', '誢', '豏', '鋧', '錎', '限', '陥', '陷', '霰', '餡', '馅', '麲', '鼸', '𬀪', '𪾢'],
'yù jú': ['僪'],
'è wū': ['僫'],
'tóng zhuàng': ['僮'],
lǐn: ['僯', '凛', '凜', '廩', '廪', '懍', '懔', '撛', '檁', '檩', '澟', '癛', '癝'],
gù: ['僱', '凅', '固', '堌', '崓', '崮', '故', '梏', '棝', '牿', '痼', '祻', '錮', '锢', '雇', '顧', '顾', '鯝', '鲴'],
jiāng: ['僵', '壃', '姜', '橿', '殭', '江', '畕', '疅', '礓', '繮', '缰', '翞', '茳', '葁', '薑', '螀', '螿', '豇', '韁', '鱂', '鳉'],
mǐn: ['僶', '冺', '刡', '勄', '悯', '惽', '愍', '慜', '憫', '抿', '敃', '敏', '敯', '泯', '潣', '皿', '笢', '笽', '簢', '蠠', '閔', '閩', '闵', '闽', '鰵', '鳘', '黽'],
jìn: ['僸', '凚', '噤', '嚍', '墐', '壗', '妗', '嬧', '搢', '晉', '晋', '枃', '殣', '浕', '浸', '溍', '濅', '濜', '烬', '煡', '燼', '琎', '瑨', '璶', '盡', '祲', '縉', '缙', '荩', '藎', '覲', '觐', '賮', '贐', '赆', '近', '进', '進', '靳', '齽'],
'jià jie': ['價'],
qiào: ['僺', '峭', '帩', '撬', '殻', '窍', '竅', '誚', '诮', '躈', '陗', '鞩', '韒', '髚'],
pì: ['僻', '媲', '嫓', '屁', '澼', '甓', '疈', '譬', '闢', '鷿', '鸊', '䴙'],
sài: ['僿', '簺', '賽', '赛'],
'chán tǎn shàn': ['儃'],
'dāng dàng': ['儅', '当', '闣'],
xuān: ['儇', '喧', '塇', '媗', '宣', '愃', '愋', '揎', '昍', '暄', '煊', '煖', '瑄', '睻', '矎', '禤', '箮', '翧', '翾', '萱', '萲', '蓒', '蕿', '藼', '蘐', '蝖', '蠉', '諠', '諼', '譞', '谖', '軒', '轩', '鍹', '駽', '鰚', '𫓶', '𫍽'],
'dān dàn': ['儋', '擔', '瘅'],
càn: ['儏', '澯', '灿', '燦', '璨', '粲', '薒', '謲'],
'bīn bìn': ['儐'],
'án àn': ['儑'],
tái: ['儓', '坮', '嬯', '抬', '擡', '檯', '炱', '炲', '籉', '臺', '薹', '跆', '邰', '颱', '鮐', '鲐'],
lán: ['儖', '兰', '囒', '婪', '岚', '嵐', '幱', '拦', '攔', '斓', '斕', '栏', '欄', '欗', '澜', '瀾', '灆', '灡', '燣', '燷', '璼', '篮', '籃', '籣', '繿', '葻', '蓝', '藍', '蘫', '蘭', '褴', '襕', '襤', '襴', '襽', '譋', '讕', '谰', '躝', '鑭', '镧', '闌', '阑', '韊', '𬒗'],
'nǐ yì ài yí': ['儗'],
méng: ['儚', '幪', '曚', '朦', '橗', '檬', '氋', '溕', '濛', '甍', '甿', '盟', '礞', '艨', '莔', '萌', '蕄', '虻', '蝱', '鄳', '鄸', '霿', '靀', '顭', '饛', '鯍', '鸏', '鹲', '𫑡', '㠓'],
níng: ['儜', '凝', '咛', '嚀', '嬣', '柠', '橣', '檸', '狞', '獰', '聍', '聹', '薴', '鑏', '鬡', '鸋'],
qióng: ['儝', '卭', '宆', '惸', '憌', '桏', '橩', '焪', '焭', '煢', '熍', '琼', '瓊', '睘', '穷', '穹', '窮', '竆', '笻', '筇', '舼', '茕', '藑', '藭', '蛩', '蛬', '赹', '跫', '邛', '銎', '䓖'],
liè: ['儠', '冽', '列', '劣', '劽', '埒', '埓', '姴', '峛', '巤', '挒', '捩', '栵', '洌', '浖', '烈', '烮', '煭', '犣', '猎', '猟', '獵', '聗', '脟', '茢', '蛚', '趔', '躐', '迾', '颲', '鬛', '鬣', '鮤', '鱲', '鴷', '䴕', '𫚭'],
kuǎng: ['儣', '夼', '懭'],
bào: ['儤', '勽', '報', '忁', '报', '抱', '曓', '爆', '犦', '菢', '虣', '蚫', '豹', '鉋', '鑤', '铇', '骲', '髱', '鮑', '鲍'],
biāo: ['儦', '墂', '幖', '彪', '标', '標', '滮', '瀌', '熛', '爂', '猋', '瘭', '磦', '膘', '臕', '謤', '贆', '鏢', '鑣', '镖', '镳', '颮', '颷', '飆', '飇', '飈', '飊', '飑', '飙', '飚', '驫', '骉', '髟'],
zǎn: ['儧', '儹', '噆', '攅', '昝', '趱', '趲'],
háo: ['儫', '嗥', '嘷', '噑', '嚎', '壕', '椃', '毜', '毫', '濠', '獆', '獔', '竓', '籇', '蚝', '蠔', '譹', '豪'],
qìng: ['儬', '凊', '庆', '慶', '櫦', '濪', '碃', '磬', '罄', '靘'],
chèn: ['儭', '嚫', '榇', '櫬', '疢', '衬', '襯', '讖', '谶', '趁', '趂', '齓', '齔', '龀'],
téng: ['儯', '幐', '滕', '漛', '疼', '籐', '籘', '縢', '腾', '藤', '虅', '螣', '誊', '謄', '邆', '駦', '騰', '驣', '鰧', '䲢'],
'lǒng lóng lòng': ['儱'],
'chán chàn': ['儳'],
'ráng xiāng': ['儴', '勷'],
'huì xié': ['儶'],
luó: ['儸', '攞', '椤', '欏', '猡', '玀', '箩', '籮', '罗', '羅', '脶', '腡', '萝', '蘿', '螺', '覼', '逻', '邏', '鏍', '鑼', '锣', '镙', '饠', '騾', '驘', '骡', '鸁'],
léi: ['儽', '嫘', '檑', '欙', '瓃', '畾', '縲', '纍', '纝', '缧', '罍', '羸', '蔂', '蘲', '虆', '轠', '鐳', '鑘', '镭', '雷', '靁', '鱩', '鼺'],
'nàng nāng': ['儾'],
'wù wū': ['兀'],
yǔn: ['允', '喗', '夽', '抎', '殒', '殞', '狁', '磒', '荺', '賱', '鈗', '阭', '陨', '隕', '霣', '馻', '齫', '齳'],
zān: ['兂', '橵', '簪', '簮', '糌', '鐕', '鐟', '鵤'],
yuán: ['元', '円', '原', '厡', '厵', '园', '圆', '圎', '園', '圓', '垣', '塬', '媴', '嫄', '援', '榞', '榬', '橼', '櫞', '沅', '湲', '源', '溒', '爰', '猨', '猿', '笎', '緣', '縁', '缘', '羱', '茒', '薗', '蝝', '蝯', '螈', '袁', '褤', '謜', '轅', '辕', '邍', '邧', '酛', '鈨', '鎱', '騵', '魭', '鶢', '鶰', '黿', '鼋', '𫘪'],
xiōng: ['兄', '兇', '凶', '匂', '匈', '哅', '忷', '恟', '汹', '洶', '胷', '胸', '芎', '訩', '詾', '讻'],
chōng: ['充', '嘃', '忡', '憃', '憧', '摏', '沖', '浺', '珫', '罿', '翀', '舂', '艟', '茺', '衝', '蹖', '㳘'],
zhào: ['兆', '垗', '旐', '曌', '枛', '櫂', '照', '燳', '狣', '瞾', '笊', '罀', '罩', '羄', '肁', '肇', '肈', '詔', '诏', '赵', '趙', '鮡', '𬶐'],
'duì ruì yuè': ['兊', '兌', '兑'],
kè: ['克', '刻', '勀', '勊', '堁', '娔', '客', '恪', '愙', '氪', '溘', '碦', '緙', '缂', '艐', '衉', '課', '课', '錁', '锞', '騍', '骒'],
tù: ['兎', '兔', '堍', '迌', '鵵'],
dǎng: ['党', '攩', '欓', '譡', '讜', '谠', '黨', '𣗋'],
dōu: ['兜', '兠', '唗', '橷', '篼', '蔸'],
huǎng: ['兤', '奛', '幌', '怳', '恍', '晄', '炾', '熀', '縨', '詤', '謊', '谎'],
rù: ['入', '嗕', '媷', '扖', '杁', '洳', '溽', '縟', '缛', '蓐', '褥', '鳰'],
nèi: ['內', '氝', '氞', '錗'],
'yú shù': ['兪'],
'liù lù': ['六'],
han: ['兯', '爳'],
tiān: ['兲', '天', '婖', '添', '酟', '靔', '靝', '黇'],
'xīng xìng': ['兴'],
diǎn: ['典', '嚸', '奌', '婰', '敟', '椣', '点', '碘', '蒧', '蕇', '踮', '點'],
'zī cí': ['兹'],
jiān: ['兼', '冿', '囏', '坚', '堅', '奸', '姦', '姧', '尖', '幵', '惤', '戋', '戔', '搛', '椾', '樫', '櫼', '歼', '殱', '殲', '湔', '瀐', '瀸', '煎', '熞', '熸', '牋', '瑊', '睷', '礛', '礷', '笺', '箋', '緘', '縑', '缄', '缣', '肩', '艰', '艱', '菅', '菺', '葌', '蒹', '蔪', '蕑', '蕳', '虃', '譼', '豜', '鑯', '雃', '鞯', '韀', '韉', '餰', '馢', '鰔', '鰜', '鰹', '鲣', '鳒', '鵑', '鵳', '鶼', '鹣', '麉'],
shòu: ['兽', '受', '售', '壽', '夀', '寿', '授', '狩', '獣', '獸', '痩', '瘦', '綬', '绶', '膄'],
jì: ['兾', '冀', '剂', '剤', '劑', '勣', '坖', '垍', '塈', '妓', '季', '寂', '寄', '廭', '彑', '徛', '忌', '悸', '惎', '懻', '技', '旡', '既', '旣', '暨', '暩', '曁', '梞', '檕', '檵', '洎', '漃', '漈', '瀱', '痵', '癠', '禝', '稩', '稷', '穄', '穊', '穧', '紀', '継', '績', '繋', '繼', '继', '绩', '罽', '臮', '芰', '茍', '茤', '葪', '蓟', '蔇', '薊', '蘎', '蘮', '蘻', '裚', '襀', '覬', '觊', '計', '記', '誋', '计', '记', '跡', '跽', '蹟', '迹', '际', '際', '霁', '霽', '驥', '骥', '髻', '鬾', '魝', '魥', '鯚', '鯽', '鰶', '鰿', '鱀', '鱭', '鲚', '鲫', '鵋', '鷑', '齌', '𪟝', '𬶨', '𬶭'],
jiōng: ['冂', '冋', '坰', '埛', '扃', '蘏', '蘔', '駉', '駫', '𬳶'],
mào: ['冃', '冐', '媢', '帽', '愗', '懋', '暓', '柕', '楙', '毷', '瑁', '皃', '眊', '瞀', '耄', '茂', '萺', '蝐', '袤', '覒', '貌', '貿', '贸', '鄚', '鄮'],
rǎn: ['冄', '冉', '姌', '媣', '染', '珃', '苒', '蒅', '䎃'],
'nèi nà': ['内'],
gāng: ['冈', '冮', '刚', '剛', '堈', '堽', '岡', '掆', '摃', '棡', '牨', '犅', '疘', '綱', '纲', '缸', '罁', '罡', '肛', '釭', '鎠', '㭎'],
cè: ['冊', '册', '厕', '厠', '夨', '廁', '恻', '惻', '憡', '敇', '测', '測', '笧', '策', '筞', '筴', '箣', '荝', '萗', '萴', '蓛'],
guǎ: ['冎', '剐', '剮', '叧', '寡'],
'mào mò': ['冒'],
gòu: ['冓', '啂', '坸', '垢', '够', '夠', '媾', '彀', '搆', '撀', '构', '構', '煹', '覯', '觏', '訽', '詬', '诟', '購', '购', '遘', '雊'],
xǔ: ['冔', '喣', '暊', '栩', '珝', '盨', '糈', '詡', '諿', '诩', '鄦', '醑'],
mì: ['冖', '冪', '嘧', '塓', '宻', '密', '峚', '幂', '幎', '幦', '怽', '榓', '樒', '櫁', '汨', '淧', '滵', '漞', '濗', '熐', '羃', '蔤', '蜜', '覓', '覔', '覛', '觅', '謐', '谧', '鼏'],
'yóu yín': ['冘'],
xiě: ['写', '冩', '藛'],
jūn: ['军', '君', '均', '桾', '汮', '皲', '皸', '皹', '碅', '莙', '蚐', '袀', '覠', '軍', '鈞', '銁', '銞', '鍕', '钧', '頵', '鮶', '鲪', '麏'],
mí: ['冞', '擟', '瀰', '爢', '猕', '獼', '祢', '禰', '縻', '蒾', '藌', '蘪', '蘼', '袮', '詸', '謎', '迷', '醚', '醾', '醿', '釄', '镾', '鸍', '麊', '麋', '麛'],
'guān guàn': ['冠', '覌', '観', '觀', '观'],
měng: ['冡', '勐', '懵', '掹', '猛', '獴', '艋', '蜢', '蠓', '錳', '锰', '鯭', '鼆'],
zhǒng: ['冢', '塚', '尰', '歱', '煄', '瘇', '肿', '腫', '踵'],
zuì: ['冣', '嶵', '晬', '最', '栬', '槜', '檇', '檌', '祽', '絊', '罪', '蕞', '辠', '酔', '酻', '醉', '錊'],
yuān: ['冤', '剈', '囦', '嬽', '寃', '棩', '淵', '渁', '渆', '渊', '渕', '灁', '眢', '肙', '葾', '蒬', '蜎', '蜵', '駌', '鳶', '鴛', '鵷', '鸢', '鸳', '鹓', '鼘', '鼝'],
míng: ['冥', '名', '明', '暝', '朙', '榠', '洺', '溟', '猽', '眀', '眳', '瞑', '茗', '螟', '覭', '詺', '鄍', '銘', '铭', '鳴', '鸣'],
kòu: ['冦', '叩', '宼', '寇', '扣', '敂', '滱', '窛', '筘', '簆', '蔲', '蔻', '釦', '鷇'],
tài: ['冭', '太', '夳', '忲', '态', '態', '汰', '汱', '泰', '溙', '肽', '舦', '酞', '鈦', '钛'],
'féng píng': ['冯', '馮'],
'chōng chòng': ['冲'],
kuàng: ['况', '圹', '壙', '岲', '懬', '旷', '昿', '曠', '框', '況', '爌', '眖', '眶', '矿', '砿', '礦', '穬', '絋', '絖', '纊', '纩', '貺', '贶', '軦', '邝', '鄺', '鉱', '鋛', '鑛', '黋'],
lěng: ['冷'],
pàn: ['冸', '判', '叛', '沜', '泮', '溿', '炍', '牉', '畔', '盼', '聁', '袢', '襻', '詊', '鋬', '鑻', '頖', '鵥'],
fā: ['冹', '彂', '沷', '発', '發'],
xiǎn: ['冼', '尟', '尠', '崄', '嶮', '幰', '攇', '显', '櫶', '毨', '灦', '烍', '燹', '狝', '猃', '獫', '獮', '玁', '禒', '筅', '箲', '藓', '蘚', '蚬', '蜆', '譣', '赻', '跣', '鍌', '险', '険', '險', '韅', '顕', '顯', '㬎'],
qià: ['冾', '圶', '帢', '恰', '殎', '洽', '硈', '胢', '髂'],
'jìng chēng': ['净', '凈', '淨'],
sōu: ['凁', '嗖', '廀', '廋', '捜', '搜', '摉', '溲', '獀', '艘', '蒐', '螋', '鄋', '醙', '鎪', '锼', '颼', '飕', '餿', '馊', '騪'],
měi: ['凂', '媄', '媺', '嬍', '嵄', '挴', '毎', '每', '浼', '渼', '燘', '美', '躾', '鎂', '镁', '黣'],
tú: ['凃', '図', '图', '圖', '圗', '塗', '屠', '峹', '嵞', '庩', '廜', '徒', '悇', '揬', '涂', '瘏', '筡', '腯', '荼', '蒤', '跿', '途', '酴', '鈯', '鍎', '馟', '駼', '鵌', '鶟', '鷋', '鷵', '𬳿'],
zhǔn: ['准', '凖', '埻', '準', '𬘯'],
'liáng liàng': ['凉', '涼', '量'],
diāo: ['凋', '刁', '刟', '叼', '奝', '弴', '彫', '汈', '琱', '碉', '簓', '虭', '蛁', '貂', '錭', '雕', '鮉', '鯛', '鲷', '鵰', '鼦'],
còu: ['凑', '湊', '腠', '輳', '辏'],
ái: ['凒', '啀', '嘊', '捱', '溰', '癌', '皑', '皚'],
duó: ['凙', '剫', '夺', '奪', '痥', '踱', '鈬', '鐸', '铎'],
dú: ['凟', '匵', '嬻', '椟', '櫝', '殰', '涜', '牍', '牘', '犊', '犢', '独', '獨', '瓄', '皾', '裻', '読', '讀', '讟', '豄', '贕', '錖', '鑟', '韇', '韣', '韥', '騳', '髑', '黩', '黷'],
'jǐ jī': ['几'],
fán: ['凡', '凢', '凣', '匥', '墦', '杋', '柉', '棥', '樊', '瀿', '烦', '煩', '燔', '璠', '矾', '礬', '笲', '籵', '緐', '羳', '舤', '舧', '薠', '蘩', '蠜', '襎', '蹯', '釩', '鐇', '鐢', '钒', '鷭', '𫔍', '𬸪'],
jū: ['凥', '匊', '娵', '婮', '居', '崌', '抅', '挶', '掬', '梮', '椐', '檋', '毩', '毱', '泃', '涺', '狙', '琚', '疽', '砠', '罝', '腒', '艍', '蜛', '裾', '諊', '跔', '踘', '躹', '陱', '雎', '鞠', '鞫', '駒', '驹', '鮈', '鴡', '鶋', '𬶋'],
'chù chǔ': ['処', '处'],
zhǐ: ['凪', '劧', '咫', '址', '坧', '帋', '恉', '扺', '指', '旨', '枳', '止', '汦', '沚', '洔', '淽', '疻', '砋', '祉', '秖', '紙', '纸', '芷', '藢', '衹', '襧', '訨', '趾', '軹', '轵', '酯', '阯', '黹'],
píng: ['凭', '凴', '呯', '坪', '塀', '岼', '帡', '帲', '幈', '平', '慿', '憑', '枰', '洴', '焩', '玶', '瓶', '甁', '竮', '箳', '簈', '缾', '荓', '萍', '蓱', '蚲', '蛢', '評', '评', '軿', '輧', '郱', '鮃', '鲆'],
kǎi: ['凯', '凱', '剀', '剴', '垲', '塏', '恺', '愷', '慨', '暟', '蒈', '輆', '鍇', '鎧', '铠', '锴', '闓', '闿', '颽'],
gān: ['凲', '坩', '尲', '尴', '尶', '尷', '柑', '泔', '漧', '玕', '甘', '疳', '矸', '竿', '筸', '粓', '肝', '苷', '迀', '酐', '魐'],
'kǎn qiǎn': ['凵'],
tū: ['凸', '堗', '嶀', '捸', '涋', '湥', '痜', '禿', '秃', '突', '葖', '鋵', '鵚', '鼵', '㻬'],
'āo wā': ['凹'],
chū: ['出', '初', '岀', '摴', '榋', '樗', '貙', '齣', '䢺', '䝙'],
dàng: ['凼', '圵', '垱', '壋', '档', '檔', '氹', '璗', '瓽', '盪', '瞊', '砀', '碭', '礑', '簜', '荡', '菪', '蕩', '蘯', '趤', '逿', '雼', '𬍡'],
hán: ['函', '凾', '含', '圅', '娢', '寒', '崡', '晗', '梒', '浛', '涵', '澏', '焓', '琀', '甝', '筨', '蜬', '邗', '邯', '鋡', '韓', '韩'],
záo: ['凿', '鑿'],
dāo: ['刀', '刂', '忉', '氘', '舠', '螩', '釖', '魛', '鱽'],
chuāng: ['刅', '摐', '牎', '牕', '疮', '瘡', '窓', '窗', '窻'],
'fēn fèn': ['分'],
'qiè qiē': ['切'],
kān: ['刊', '勘', '堪', '戡', '栞', '龕', '龛'],
cǔn: ['刌', '忖'],
chú: ['刍', '厨', '幮', '廚', '橱', '櫉', '櫥', '滁', '犓', '篨', '耡', '芻', '蒢', '蒭', '蜍', '蟵', '豠', '趎', '蹰', '躇', '躕', '鉏', '鋤', '锄', '除', '雏', '雛', '鶵'],
'huà huá': ['划'],
lí: ['刕', '剓', '剺', '劙', '厘', '喱', '嚟', '囄', '嫠', '孷', '廲', '悡', '梨', '梸', '棃', '漓', '灕', '犁', '犂', '狸', '琍', '璃', '瓈', '盠', '睝', '离', '穲', '竰', '筣', '篱', '籬', '糎', '縭', '缡', '罹', '艃', '荲', '菞', '蓠', '蔾', '藜', '蘺', '蜊', '蟍', '蟸', '蠫', '褵', '謧', '貍', '醨', '鋫', '錅', '鏫', '鑗', '離', '驪', '骊', '鯏', '鯬', '鱺', '鲡', '鵹', '鸝', '鹂', '黎', '黧', '㰀'],
yuè: ['刖', '嬳', '岄', '岳', '嶽', '恱', '悅', '悦', '戉', '抈', '捳', '月', '樾', '瀹', '爚', '玥', '礿', '禴', '篗', '籆', '籥', '籰', '粤', '粵', '蘥', '蚎', '蚏', '説', '越', '跀', '跃', '躍', '軏', '鈅', '鉞', '鑰', '钺', '閱', '閲', '阅', '鸑', '鸙', '黦', '龠', '𫐄', '𬸚'],
liú: ['刘', '劉', '嚠', '媹', '嵧', '旈', '旒', '榴', '橊', '流', '浏', '瀏', '琉', '瑠', '瑬', '璢', '畄', '留', '畱', '疁', '瘤', '癅', '硫', '蒥', '蓅', '蟉', '裗', '鎏', '鏐', '鐂', '镠', '飀', '飅', '飗', '駠', '駵', '騮', '驑', '骝', '鰡', '鶹', '鹠', '麍'],
zé: ['则', '則', '啧', '嘖', '嫧', '帻', '幘', '択', '樍', '歵', '沢', '泎', '溭', '皟', '瞔', '矠', '礋', '箦', '簀', '舴', '蔶', '蠌', '襗', '謮', '賾', '赜', '迮', '鸅', '齚', '齰'],
'chuàng chuāng': ['创', '創'],
qù: ['刞', '厺', '去', '閴', '闃', '阒', '麮', '鼁'],
'bié biè': ['別', '别'],
'páo bào': ['刨'],
'chǎn chàn': ['刬', '剗', '幝'],
guā: ['刮', '劀', '桰', '歄', '煱', '瓜', '胍', '踻', '颪', '颳', '騧', '鴰', '鸹'],
gēng: ['刯', '庚', '椩', '浭', '焿', '畊', '絚', '羮', '羹', '耕', '菮', '賡', '赓', '鶊', '鹒'],
dào: ['到', '噵', '悼', '椡', '檤', '燾', '瓙', '盗', '盜', '稲', '稻', '纛', '翿', '艔', '菿', '衜', '衟', '軇', '道'],
chuàng: ['刱', '剏', '剙', '怆', '愴'],
kū: ['刳', '哭', '圐', '堀', '枯', '桍', '矻', '窟', '跍', '郀', '骷', '鮬'],
duò: ['刴', '剁', '墯', '尮', '惰', '憜', '挅', '桗', '舵', '跥', '跺', '陊', '陏', '飿', '饳', '鵽'],
'shuā shuà': ['刷'],
'quàn xuàn': ['券'],
'chà shā': ['刹', '剎'],
'cì cī': ['刺'],
guì: ['刽', '刿', '劊', '劌', '撌', '攰', '昋', '桂', '椢', '槶', '樻', '櫃', '猤', '禬', '筀', '蓕', '襘', '貴', '贵', '跪', '鐀', '鑎', '鞼', '鱖', '鱥'],
lóu: ['剅', '娄', '婁', '廔', '楼', '樓', '溇', '漊', '熡', '耧', '耬', '艛', '蒌', '蔞', '蝼', '螻', '謱', '軁', '遱', '鞻', '髅', '髏', '𪣻'],
cuò: ['剉', '剒', '厝', '夎', '挫', '措', '棤', '莝', '莡', '蓌', '逪', '銼', '錯', '锉', '错'],
'xiāo xuē': ['削'],
'kēi kè': ['剋', '尅'],
'là lá': ['剌'],
tī: ['剔', '梯', '踢', '銻', '锑', '鷈', '鷉', '䏲', '䴘'],
pōu: ['剖'],
wān: ['剜', '塆', '壪', '帵', '弯', '彎', '湾', '潫', '灣', '睕', '蜿', '豌'],
'bāo bō': ['剝', '剥'],
duō: ['剟', '咄', '哆', '嚉', '多', '夛', '掇', '毲', '畓', '裰', '㙍'],
qíng: ['剠', '勍', '夝', '情', '擎', '晴', '暒', '棾', '樈', '檠', '氰', '甠', '硘', '葝', '黥'],
'yǎn shàn': ['剡'],
'dū zhuó': ['剢'],
yān: ['剦', '嫣', '崦', '嶖', '恹', '懕', '懨', '樮', '淊', '淹', '漹', '烟', '焉', '焑', '煙', '珚', '篶', '胭', '臙', '菸', '鄢', '醃', '閹', '阉', '黫'],
huō: ['剨', '劐', '吙', '攉', '秴', '耠', '锪', '騞', '𬴃'],
shèng: ['剩', '剰', '勝', '圣', '墭', '嵊', '晠', '榺', '橳', '琞', '聖', '蕂', '貹', '賸'],
'duān zhì': ['剬'],
wū: ['剭', '呜', '嗚', '圬', '屋', '巫', '弙', '杇', '歍', '汙', '汚', '污', '洿', '烏', '窏', '箼', '螐', '誈', '誣', '诬', '邬', '鄔', '鎢', '钨', '鰞', '鴮'],
gē: ['割', '哥', '圪', '彁', '戈', '戓', '戨', '歌', '滒', '犵', '肐', '袼', '謌', '鎶', '鴚', '鴿', '鸽'],
'dá zhá': ['剳'],
chuán: ['剶', '暷', '椽', '篅', '舡', '舩', '船', '輲', '遄'],
'tuán zhuān': ['剸', '漙', '篿'],
'lù jiū': ['剹'],
pēng: ['剻', '匉', '嘭', '怦', '恲', '抨', '梈', '烹', '砰', '軯', '駍'],
piāo: ['剽', '勡', '慓', '旚', '犥', '翲', '螵', '飃', '飄', '飘', '魒'],
kōu: ['剾', '彄', '抠', '摳', '眍', '瞘', '芤', '𫸩'],
'jiǎo chāo': ['剿', '劋', '勦', '摷'],
qiāo: ['劁', '勪', '墝', '幧', '敲', '橇', '毃', '燆', '硗', '磽', '繑', '趬', '跷', '踍', '蹺', '蹻', '郻', '鄡', '鄥', '鍫', '鍬', '鐰', '锹', '頝'],
'huá huà': ['劃'],
'zhā zhá': ['劄'],
'pī pǐ': ['劈', '悂'],
tāng: ['劏', '嘡', '羰', '薚', '蝪', '蹚', '鞺', '鼞'],
chán: ['劖', '嚵', '壥', '婵', '嬋', '巉', '廛', '棎', '毚', '湹', '潹', '潺', '澶', '瀍', '瀺', '煘', '獑', '磛', '緾', '纏', '纒', '缠', '艬', '蝉', '蟐', '蟬', '蟾', '誗', '讒', '谗', '躔', '鄽', '酁', '鋋', '鑱', '镵', '饞', '馋'],
zuān: ['劗', '躜', '躦', '鉆', '鑚'],
mó: ['劘', '嫫', '嬤', '嬷', '尛', '摹', '擵', '橅', '糢', '膜', '藦', '蘑', '謨', '謩', '谟', '饃', '饝', '馍', '髍', '魔', '魹'],
zhú: ['劚', '斸', '曯', '欘', '灟', '炢', '烛', '燭', '爥', '瘃', '竹', '笁', '笜', '舳', '茿', '蓫', '蠋', '蠾', '躅', '逐', '逫', '钃', '鱁'],
quàn: ['劝', '勧', '勸', '牶', '韏'],
'jìn jìng': ['劤', '劲', '勁'],
kēng: ['劥', '坑', '牼', '硁', '硜', '誙', '銵', '鍞', '鏗', '铿', '阬'],
'xié liè': ['劦'],
'zhù chú': ['助'],
nǔ: ['努', '弩', '砮', '胬'],
shào: ['劭', '卲', '哨', '潲', '紹', '綤', '绍', '袑', '邵'],
miǎo: ['劰', '杪', '淼', '渺', '眇', '秒', '篎', '緲', '缈', '藐', '邈'],
kǒu: ['劶', '口'],
wā: ['劸', '娲', '媧', '屲', '挖', '攨', '洼', '溛', '漥', '瓾', '畖', '穵', '窊', '窪', '蛙', '韈', '鼃'],
kuāng: ['劻', '匡', '匩', '哐', '恇', '洭', '筐', '筺', '誆', '诓', '軭', '邼'],
hé: ['劾', '咊', '啝', '姀', '峆', '敆', '曷', '柇', '楁', '毼', '河', '涸', '渮', '澕', '熆', '皬', '盇', '盉', '盍', '盒', '禾', '篕', '籺', '粭', '翮', '菏', '萂', '覈', '訸', '詥', '郃', '釛', '鉌', '鑉', '閡', '闔', '阂', '阖', '鞨', '頜', '餄', '饸', '魺', '鹖', '麧', '齕', '龁', '龢', '𬌗'],
gào: ['勂', '吿', '告', '峼', '祮', '祰', '禞', '筶', '誥', '诰', '郜', '鋯', '锆'],
'bó bèi': ['勃'],
láng: ['勆', '嫏', '廊', '斏', '桹', '榔', '樃', '欴', '狼', '琅', '瑯', '硠', '稂', '艆', '蓈', '蜋', '螂', '躴', '郒', '郞', '鋃', '鎯', '锒'],
xūn: ['勋', '勛', '勲', '勳', '嚑', '坃', '埙', '塤', '壎', '壦', '曛', '燻', '獯', '矄', '纁', '臐', '薫', '薰', '蘍', '醺', '𫄸'],
'juàn juān': ['勌', '瓹'],
'lè lēi': ['勒'],
kài: ['勓', '炌', '烗', '鎎'],
'wěng yǎng': ['勜'],
qín: ['勤', '嗪', '噙', '嶜', '庈', '懃', '懄', '捦', '擒', '斳', '檎', '澿', '珡', '琴', '琹', '瘽', '禽', '秦', '耹', '芩', '芹', '菦', '螓', '蠄', '鈙', '鈫', '雂', '靲', '鳹', '鵭'],
jiàng: ['勥', '匞', '匠', '嵹', '弜', '弶', '摾', '櫤', '洚', '滰', '犟', '糡', '糨', '絳', '绛', '謽', '酱', '醤', '醬'],
fān: ['勫', '嬏', '帆', '幡', '忛', '憣', '旙', '旛', '繙', '翻', '藩', '轓', '颿', '飜', '鱕'],
juān: ['勬', '姢', '娟', '捐', '涓', '蠲', '裐', '鎸', '鐫', '镌', '鹃'],
'tóng dòng': ['勭', '烔', '燑', '狪'],
lǜ: ['勴', '垏', '嵂', '律', '慮', '氯', '滤', '濾', '爈', '箻', '綠', '繂', '膟', '葎', '虑', '鑢'],
chè: ['勶', '坼', '彻', '徹', '掣', '撤', '澈', '烢', '爡', '瞮', '硩', '聅', '迠', '頙', '㬚'],
sháo: ['勺', '玿', '韶'],
'gōu gòu': ['勾'],
cōng: ['匆', '囪', '囱', '忩', '怱', '悤', '暰', '樬', '漗', '瑽', '璁', '瞛', '篵', '繱', '聡', '聦', '聪', '聰', '苁', '茐', '葱', '蓯', '蔥', '蟌', '鍯', '鏓', '鏦', '騘', '驄', '骢'],
'táo yáo': ['匋', '陶'],
páo: ['匏', '咆', '垉', '庖', '爮', '狍', '袍', '褜', '軳', '鞄', '麅'],
dá: ['匒', '妲', '怛', '炟', '燵', '畣', '笪', '羍', '荙', '薘', '蟽', '詚', '达', '迏', '迖', '迚', '逹', '達', '鐽', '靼', '鞑', '韃', '龖', '龘', '𫟼'],
'huà huā': ['化'],
'běi bèi': ['北'],
nǎo: ['匘', '垴', '堖', '嫐', '恼', '悩', '惱', '瑙', '碯', '脑', '脳', '腦'],
'chí shi': ['匙'],
fāng: ['匚', '堏', '方', '淓', '牥', '芳', '邡', '鈁', '錺', '钫', '鴋'],
zā: ['匝', '咂', '帀', '沞', '臜', '臢', '迊', '鉔', '魳'],
qiè: ['匧', '厒', '妾', '怯', '悏', '惬', '愜', '挈', '穕', '窃', '竊', '笡', '箧', '篋', '籡', '踥', '鍥', '锲', '鯜'],
'zāng cáng': ['匨'],
fěi: ['匪', '奜', '悱', '棐', '榧', '篚', '翡', '蕜', '誹', '诽'],
'kuì guì': ['匮', '匱'],
suǎn: ['匴'],
pǐ: ['匹', '噽', '嚭', '圮', '庀', '痞', '癖', '脴', '苉', '銢', '鴄'],
'qū ōu': ['区', '區'],
'kē qià': ['匼'],
'yǎn yàn': ['匽', '棪'],
biǎn: ['匾', '惼', '揙', '碥', '稨', '窆', '藊', '褊', '貶', '贬', '鴘'],
nì: ['匿', '堄', '嫟', '嬺', '惄', '愵', '昵', '暱', '氼', '眤', '睨', '縌', '胒', '腻', '膩', '逆', '𨺙'],
niàn: ['卄', '唸', '埝', '廿', '念', '惗', '艌'],
sà: ['卅', '櫒', '脎', '萨', '蕯', '薩', '鈒', '隡', '颯', '飒', '馺'],
zú: ['卆', '哫', '崪', '族', '箤', '足', '踤', '镞'],
shēng: ['升', '呏', '声', '斘', '昇', '曻', '枡', '殅', '泩', '湦', '焺', '牲', '珄', '生', '甥', '竔', '笙', '聲', '鉎', '鍟', '阩', '陞', '陹', '鵿', '鼪'],
wàn: ['卍', '卐', '忨', '杤', '瞣', '脕', '腕', '萬', '蟃', '贎', '輐', '錽', '𬇕'],
'huá huà huā': ['华', '華'],
bēi: ['卑', '悲', '揹', '杯', '桮', '盃', '碑', '藣', '鵯', '鹎'],
'zú cù': ['卒'],
'dān shàn chán': ['单', '單'],
'nán nā': ['南'],
'shuài lǜ': ['卛'],
'bǔ bo pú': ['卜'],
'kuàng guàn': ['卝'],
biàn: ['卞', '变', '変', '峅', '弁', '徧', '忭', '抃', '昪', '汳', '汴', '玣', '艑', '苄', '覍', '諚', '變', '辡', '辧', '辨', '辩', '辫', '辮', '辯', '遍', '釆', '𨚕'],
bǔ: ['卟', '哺', '捕', '补', '補', '鸔', '𬷕'],
'zhàn zhān': ['占', '覱'],
'kǎ qiǎ': ['卡'],
lú: ['卢', '嚧', '垆', '壚', '庐', '廬', '曥', '枦', '栌', '櫨', '泸', '瀘', '炉', '爐', '獹', '玈', '瓐', '盧', '矑', '籚', '纑', '罏', '胪', '臚', '舮', '舻', '艫', '芦', '蘆', '蠦', '轤', '轳', '鈩', '鑪', '顱', '颅', '馿', '髗', '魲', '鱸', '鲈', '鸕', '鸬', '黸', '𬬻'],
lǔ: ['卤', '塷', '掳', '擄', '樐', '橹', '櫓', '氌', '滷', '澛', '瀂', '硵', '磠', '穞', '艣', '艪', '蓾', '虏', '虜', '鏀', '鐪', '鑥', '镥', '魯', '鲁', '鹵'],
guà: ['卦', '啩', '挂', '掛', '罣', '褂', '詿', '诖'],
'áng yǎng': ['卬'],
yìn: ['印', '垽', '堷', '廕', '慭', '憖', '憗', '懚', '洕', '湚', '猌', '癊', '胤', '茚', '酳', '鮣', '䲟'],
què: ['却', '卻', '塙', '崅', '悫', '愨', '慤', '搉', '榷', '燩', '琷', '皵', '确', '確', '礭', '闋', '阕', '鵲', '鹊', '𬒈'],
luǎn: ['卵'],
'juàn juǎn': ['卷', '巻'],
'chǎng ān hàn': ['厂'],
'wěi yán': ['厃'],
tīng: ['厅', '厛', '听', '庁', '廰', '廳', '汀', '烃', '烴', '綎', '耓', '聴', '聼', '聽', '鞓', '𬘩'],
'zhé zhái': ['厇'],
'hàn àn': ['厈', '屽'],
yǎ: ['厊', '唖', '庌', '痖', '瘂', '蕥'],
shè: ['厍', '厙', '弽', '慑', '慴', '懾', '摂', '欇', '涉', '涻', '渉', '滠', '灄', '社', '舎', '蔎', '蠂', '設', '设', '赦', '騇', '麝'],
dǐ: ['厎', '呧', '坘', '弤', '抵', '拞', '掋', '牴', '砥', '菧', '觝', '詆', '诋', '軧', '邸', '阺', '骶', '鯳'],
'zhǎ zhǎi': ['厏'],
páng: ['厐', '嫎', '庞', '徬', '舽', '螃', '逄', '鰟', '鳑', '龎', '龐'],
'zhì shī': ['厔'],
máng: ['厖', '吂', '哤', '娏', '忙', '恾', '杗', '杧', '汒', '浝', '牻', '痝', '盲', '硭', '笀', '芒', '茫', '蘉', '邙', '釯', '鋩', '铓', '駹'],
zuī: ['厜', '樶', '纗', '蟕'],
'shà xià': ['厦', '廈'],
áo: ['厫', '嗷', '嗸', '廒', '敖', '滶', '獒', '獓', '璈', '翱', '翶', '翺', '聱', '蔜', '螯', '謷', '謸', '遨', '鏖', '隞', '鰲', '鳌', '鷔', '鼇'],
'lán qiān': ['厱'],
'sī mǒu': ['厶'],
'gōng hóng': ['厷'],
'lín miǎo': ['厸'],
'qiú róu': ['厹'],
dū: ['厾', '嘟', '督', '醏'],
'xiàn xuán': ['县', '縣'],
'cān shēn cēn sān': ['参', '參', '叄', '叅'],
'ài yǐ': ['叆'],
'chā chà chǎ chá': ['叉'],
shuāng: ['双', '孀', '孇', '欆', '礵', '艭', '雙', '霜', '騻', '驦', '骦', '鷞', '鸘', '鹴'],
shōu: ['収', '收'],
guái: ['叏'],
bá: ['叐', '妭', '抜', '拔', '炦', '癹', '胈', '茇', '菝', '詙', '跋', '軷', '魃', '鼥'],
'fā fà': ['发'],
'zhuó yǐ lì jué': ['叕'],
qǔ: ['取', '娶', '竬', '蝺', '詓', '齲', '龋'],
'jiǎ xiá': ['叚', '徦'],
'wèi yù': ['叞', '尉', '蔚'],
dié: ['叠', '垤', '堞', '峌', '幉', '恎', '惵', '戜', '曡', '殜', '氎', '牃', '牒', '瓞', '畳', '疂', '疉', '疊', '碟', '絰', '绖', '耊', '耋', '胅', '艓', '苵', '蜨', '蝶', '褋', '詄', '諜', '谍', '跮', '蹀', '迭', '镻', '鰈', '鲽', '鴩', '𫶇'],
ruì: ['叡', '枘', '汭', '瑞', '睿', '芮', '蚋', '蜹', '銳', '鋭', '锐'],
'jù gōu': ['句'],
lìng: ['另', '呤', '炩', '蘦'],
'dāo dáo tāo': ['叨'],
'zhī zhǐ': ['只'],
jiào: ['叫', '呌', '嘂', '嘦', '噍', '嬓', '斍', '斠', '滘', '漖', '獥', '珓', '皭', '窖', '藠', '訆', '譥', '趭', '較', '轎', '轿', '较', '酵', '醮', '釂'],
'zhào shào': ['召'],
'kě kè': ['可'],
'tái tāi': ['台', '苔'],
pǒ: ['叵', '尀', '笸', '箥', '鉕', '钷', '駊'],
'yè xié': ['叶'],
'hào háo': ['号'],
tàn: ['叹', '嘆', '探', '歎', '湠', '炭', '碳', '舕'],
'hōng hóng': ['叿'],
miē: ['吀', '咩', '哶', '孭'],
'xū yū yù': ['吁'],
chī: ['吃', '哧', '喫', '嗤', '噄', '妛', '媸', '彨', '彲', '摛', '攡', '殦', '瓻', '痴', '癡', '眵', '瞝', '笞', '粚', '胵', '蚩', '螭', '訵', '魑', '鴟', '鵄', '鸱', '黐', '齝', '𫄨'],
'xuān sòng': ['吅'],
yāo: ['吆', '喓', '夭', '妖', '幺', '楆', '殀', '祅', '腰', '葽', '訞', '邀', '鴁', '鴢', '㙘'],
zǐ: ['吇', '姉', '姊', '子', '杍', '梓', '榟', '橴', '滓', '矷', '秭', '笫', '籽', '紫', '耔', '虸', '訿', '釨'],
'hé gě': ['合', '鲄'],
'cùn dòu': ['吋'],
'tóng tòng': ['同'],
'tǔ tù': ['吐', '唋'],
'zhà zhā': ['吒', '奓'],
'xià hè': ['吓'],
'ā yā': ['吖'],
'ma má mǎ': ['吗'],
lìn: ['吝', '恡', '悋', '橉', '焛', '甐', '膦', '蔺', '藺', '賃', '赁', '蹸', '躏', '躙', '躪', '轥', '閵'],
tūn: ['吞', '暾', '朜', '焞'],
'bǐ pǐ': ['吡'],
qìn: ['吢', '吣', '唚', '抋', '揿', '搇', '撳', '沁', '瀙', '菣', '藽'],
'jiè gè': ['吤'],
'fǒu pǐ': ['否'],
'ba bā': ['吧'],
dūn: ['吨', '噸', '墩', '墪', '惇', '撉', '撴', '犜', '獤', '礅', '蜳', '蹾', '驐'],
fēn: ['吩', '帉', '昐', '朆', '梤', '棻', '氛', '竕', '紛', '纷', '翂', '芬', '衯', '訜', '躮', '酚', '鈖', '雰', '餴', '饙', '馚'],
'é huā': ['吪'],
'kēng háng': ['吭', '妔'],
shǔn: ['吮'],
'zhī zī': ['吱'],
'yǐn shěn': ['吲'],
wú: ['吳', '吴', '呉', '墲', '峿', '梧', '橆', '毋', '洖', '浯', '無', '珸', '璑', '祦', '芜', '茣', '莁', '蕪', '蜈', '蟱', '譕', '郚', '鋙', '铻', '鯃', '鵐', '鷡', '鹀', '鼯'],
'chǎo chāo': ['吵'],
'nà nè': ['吶'],
'xuè chuò jué': ['吷'],
chuī: ['吹', '炊', '龡'],
'dōu rú': ['吺'],
hǒu: ['吼', '犼'],
'hōng hǒu ōu': ['吽'],
'wú yù': ['吾'],
'ya yā': ['呀'],
'è e': ['呃'],
dāi: ['呆', '懛', '獃'],
'mèn qǐ': ['呇'],
hōng: ['呍', '嚝', '揈', '灴', '烘', '焢', '硡', '薨', '訇', '谾', '軣', '輷', '轟', '轰', '鍧'],
nà: ['呐', '捺', '笝', '納', '纳', '肭', '蒳', '衲', '豽', '貀', '軜', '郍', '鈉', '钠', '靹', '魶'],
'tūn tiān': ['呑'],
'fǔ ḿ': ['呒', '嘸'],
'dāi tǎi': ['呔'],
'ǒu ōu òu': ['呕'],
'bài bei': ['呗'],
'yuán yún yùn': ['员', '員'],
guō: ['呙', '啯', '嘓', '埚', '堝', '墎', '崞', '彉', '彍', '懖', '猓', '瘑', '聒', '蝈', '蟈', '郭', '鈛', '鍋', '锅'],
'huá qì': ['呚'],
'qiàng qiāng': ['呛', '跄'],
shī: ['呞', '失', '尸', '屍', '师', '師', '施', '浉', '湤', '湿', '溮', '溼', '濕', '狮', '獅', '瑡', '絁', '葹', '蒒', '蓍', '虱', '蝨', '褷', '襹', '詩', '诗', '邿', '釃', '鉇', '鍦', '鯴', '鰤', '鲺', '鳲', '鳾', '鶳', '鸤', '䴓', '𫚕'],
juǎn: ['呟', '埍', '臇', '菤', '錈', '锩'],
pěn: ['呠', '翸'],
'wěn mǐn': ['呡'],
'ne ní': ['呢'],
'ḿ m̀ móu': ['呣'],
rán: ['呥', '嘫', '然', '燃', '繎', '肰', '蚦', '蚺', '衻', '袇', '袡', '髥', '髯'],
'tiè chè': ['呫'],
'qì zhī': ['呮'],
'zǐ cī': ['呰'],
'guā gū guǎ': ['呱'],
'cī zī': ['呲'],
'hǒu xǔ gòu': ['呴'],
'hē ā á ǎ à a': ['呵'],
náo: ['呶', '夒', '峱', '嶩', '巎', '挠', '撓', '猱', '硇', '蛲', '蟯', '詉', '譊', '鐃', '铙'],
'xiā gā': ['呷'],
pēi: ['呸', '怌', '肧', '胚', '衃', '醅'],
'háo xiāo': ['呺'],
mìng: ['命', '掵'],
'dá dàn': ['呾'],
'zuǐ jǔ': ['咀'],
'xián gān': ['咁'],
pǒu: ['咅', '哣', '犃'],
'yǎng yāng': ['咉'],
'zǎ zé zhā': ['咋'],
'hé hè huó huò hú': ['和'],
hāi: ['咍'],
dā: ['咑', '哒', '噠', '墶', '搭', '撘', '耷', '褡', '鎝', '𨱏'],
'kǎ kā': ['咔'],
gū: ['咕', '唂', '唃', '姑', '嫴', '孤', '巬', '巭', '柧', '橭', '沽', '泒', '稒', '笟', '箍', '箛', '篐', '罛', '苽', '菇', '菰', '蓇', '觚', '軱', '軲', '轱', '辜', '酤', '鈲', '鮕', '鴣', '鸪'],
'kā gā': ['咖'],
zuo: ['咗'],
lóng: ['咙', '嚨', '嶐', '巃', '巄', '昽', '曨', '朧', '栊', '槞', '櫳', '湰', '滝', '漋', '爖', '珑', '瓏', '癃', '眬', '矓', '砻', '礱', '礲', '窿', '竜', '聋', '聾', '胧', '茏', '蘢', '蠪', '蠬', '襱', '豅', '鏧', '鑨', '霳', '靇', '驡', '鸗', '龍', '龒', '龙'],
'xiàn xián': ['咞'],
qì: ['咠', '唭', '噐', '器', '夡', '弃', '憇', '憩', '暣', '棄', '欫', '气', '気', '氣', '汔', '汽', '泣', '湆', '湇', '炁', '甈', '盵', '矵', '碛', '碶', '磜', '磧', '罊', '芞', '葺', '藒', '蟿', '訖', '讫', '迄', '鐑'],
'xì dié': ['咥'],
'liē liě lié lie': ['咧'],
zī: ['咨', '嗞', '姕', '姿', '孜', '孳', '孶', '崰', '嵫', '栥', '椔', '淄', '湽', '滋', '澬', '玆', '禌', '秶', '粢', '紎', '緇', '緕', '纃', '缁', '茊', '茲', '葘', '諮', '谘', '貲', '資', '赀', '资', '赼', '趑', '趦', '輜', '輺', '辎', '鄑', '鈭', '錙', '鍿', '鎡', '锱', '镃', '頾', '頿', '髭', '鯔', '鰦', '鲻', '鶅', '鼒', '齍', '齜', '龇'],
mī: ['咪'],
'jī xī qià': ['咭'],
'gē luò kǎ lo': ['咯'],
'shù xún': ['咰'],
'zán zá zǎ zan': ['咱'],
'hāi ké': ['咳'],
huī: ['咴', '噅', '噕', '婎', '媈', '幑', '徽', '恢', '拻', '挥', '揮', '晖', '暉', '楎', '洃', '瀈', '灰', '灳', '烣', '睳', '禈', '翚', '翬', '蘳', '袆', '褘', '詼', '诙', '豗', '輝', '辉', '鰴', '麾', '㧑'],
'huài shì': ['咶'],
táo: ['咷', '啕', '桃', '檮', '洮', '淘', '祹', '綯', '绹', '萄', '蜪', '裪', '迯', '逃', '醄', '鋾', '鞀', '鞉', '饀', '駣', '騊', '鼗', '𫘦'],
xián: ['咸', '啣', '娴', '娹', '婱', '嫌', '嫺', '嫻', '弦', '挦', '撏', '涎', '湺', '澖', '甉', '痫', '癇', '癎', '絃', '胘', '舷', '藖', '蚿', '蛝', '衔', '衘', '誸', '諴', '賢', '贒', '贤', '輱', '醎', '銜', '鑦', '閑', '闲', '鷳', '鷴', '鷼', '鹇', '鹹', '麙', '𫍯'],
'è àn': ['咹'],
'xuān xuǎn': ['咺', '烜'],
'wāi hé wǒ guǎ guō': ['咼'],
'yàn yè yān': ['咽'],
āi: ['哀', '哎', '埃', '溾', '銰', '鎄', '锿'],
pǐn: ['品', '榀'],
shěn: ['哂', '婶', '嬸', '审', '宷', '審', '弞', '曋', '渖', '瀋', '瞫', '矤', '矧', '覾', '訠', '諗', '讅', '谂', '谉', '邥', '頣', '魫'],
'hǒng hōng hòng': ['哄'],
'wā wa': ['哇'],
'hā hǎ hà': ['哈'],
zāi: ['哉', '栽', '渽', '溨', '災', '灾', '烖', '睵', '賳'],
'dì diè': ['哋'],
pài: ['哌', '沠', '派', '渒', '湃', '蒎', '鎃'],
'gén hěn': ['哏'],
'yǎ yā': ['哑', '雅'],
'yuě huì': ['哕', '噦'],
nián: ['哖', '年', '秊', '秥', '鮎', '鯰', '鲇', '鲶', '鵇', '黏'],
'huá huā': ['哗', '嘩'],
'jì jiē zhāi': ['哜', '嚌'],
mōu: ['哞'],
'yō yo': ['哟', '喲'],
lòng: ['哢', '梇', '贚'],
'ò ó é': ['哦'],
'lī lǐ li': ['哩'],
'nǎ na nǎi né něi': ['哪'],
hè: ['哬', '垎', '壑', '寉', '惒', '焃', '煂', '燺', '爀', '癋', '碋', '翯', '褐', '謞', '賀', '贺', '赫', '靍', '靎', '靏', '鶴', '鸖', '鹤'],
'bō pò bā': ['哱'],
zhé: ['哲', '啠', '喆', '嚞', '埑', '悊', '摺', '晢', '晣', '歽', '矺', '砓', '磔', '籷', '粍', '虴', '蛰', '蟄', '袩', '詟', '謫', '謺', '讁', '讋', '谪', '輒', '輙', '轍', '辄', '辙', '鮿'],
'liàng láng': ['哴'],
'liè lǜ': ['哷'],
hān: ['哻', '憨', '蚶', '谽', '酣', '頇', '顸', '馠', '魽', '鼾'],
'hēng hng': ['哼'],
gěng: ['哽', '埂', '峺', '挭', '梗', '綆', '绠', '耿', '莄', '郠', '骾', '鯁', '鲠', '𬒔'],
'chuò yuè': ['哾'],
'gě jiā': ['哿'],
'bei bài': ['唄'],
'hán hàn': ['唅'],
chún: ['唇', '浱', '湻', '滣', '漘', '犉', '純', '纯', '脣', '莼', '蒓', '蓴', '醇', '醕', '錞', '陙', '鯙', '鶉', '鹑', '𬭚'],
'ài āi': ['唉'],
'jiá qiǎn': ['唊'],
'yán dàn xián': ['唌'],
chē: ['唓', '砗', '硨', '莗', '蛼'],
'wú ńg ń': ['唔'],
zào: ['唕', '唣', '噪', '慥', '梍', '灶', '煰', '燥', '皁', '皂', '竃', '竈', '簉', '艁', '譟', '趮', '躁', '造', '𥖨'],
dí: ['唙', '啇', '嘀', '嚁', '嫡', '廸', '敌', '敵', '梑', '涤', '滌', '狄', '笛', '籴', '糴', '苖', '荻', '蔋', '蔐', '藡', '覿', '觌', '豴', '迪', '靮', '頔', '馰', '髢', '鸐', '𬱖'],
'gòng hǒng gǒng': ['唝', '嗊'],
dóu: ['唞'],
'lào láo': ['唠', '嘮', '憦'],
huàn: ['唤', '喚', '奂', '奐', '宦', '嵈', '幻', '患', '愌', '换', '換', '擐', '攌', '梙', '槵', '浣', '涣', '渙', '漶', '澣', '烉', '焕', '煥', '瑍', '痪', '瘓', '睆', '肒', '藧', '豢', '轘', '逭', '鯇', '鯶', '鰀', '鲩'],
léng: ['唥', '塄', '楞', '碐', '薐'],
'wō wěi': ['唩'],
fěng: ['唪', '覂', '諷', '讽'],
'yín jìn': ['唫'],
'hǔ xià': ['唬'],
wéi: ['唯', '围', '圍', '壝', '峗', '峞', '嵬', '帏', '帷', '幃', '惟', '桅', '沩', '洈', '涠', '湋', '溈', '潍', '潙', '潿', '濰', '犩', '矀', '維', '维', '蓶', '覹', '违', '違', '鄬', '醀', '鍏', '闈', '闱', '韋', '韦', '鮠', '𣲗', '𬶏'],
shuā: ['唰'],
chàng: ['唱', '怅', '悵', '暢', '焻', '畅', '畼', '誯', '韔', '鬯'],
'ér wā': ['唲'],
qiàng: ['唴', '炝', '熗', '羻'],
yō: ['唷'],
yū: ['唹', '淤', '瘀', '盓', '箊', '紆', '纡', '込', '迂', '迃', '陓'],
lài: ['唻', '濑', '瀨', '瀬', '癞', '癩', '睐', '睞', '籁', '籟', '藾', '賚', '賴', '赉', '赖', '頼', '顂', '鵣'],
tuò: ['唾', '嶞', '柝', '毤', '毻', '箨', '籜', '萚', '蘀', '跅'],
'zhōu zhāo tiào': ['啁'],
kěn: ['啃', '垦', '墾', '恳', '懇', '肎', '肯', '肻', '豤', '錹'],
'zhuó zhào': ['啅', '濯'],
'hēng hèng': ['啈', '悙'],
'lín lán': ['啉'],
'a ā á ǎ à': ['啊'],
qiāng: ['啌', '嗴', '嶈', '戕', '摤', '斨', '枪', '槍', '溬', '牄', '猐', '獇', '羌', '羗', '腔', '蜣', '謒', '鏘', '锖', '锵'],
'tūn zhūn xiāng duǐ': ['啍'],
wèn: ['問', '妏', '揾', '搵', '璺', '问', '顐'],
'cuì qi': ['啐'],
'dié shà jié tì': ['啑'],
'yuē wā': ['啘'],
'zǐ cǐ': ['啙'],
'bǐ tú': ['啚'],
'chuò chuài': ['啜'],
'yǎ yā è': ['啞'],
fēi: ['啡', '婓', '婔', '扉', '暃', '渄', '猆', '緋', '绯', '裶', '霏', '非', '靟', '飛', '飝', '飞', '餥', '馡', '騑', '騛', '鯡', '鲱', '𬴂'],
pí: ['啤', '壀', '枇', '毗', '毘', '焷', '琵', '疲', '皮', '篺', '罴', '羆', '脾', '腗', '膍', '蚍', '蚽', '蜱', '螷', '蠯', '豼', '貔', '郫', '鈹', '阰', '陴', '隦', '魮', '鮍', '鲏', '鵧', '鼙'],
shá: ['啥'],
'lā la': ['啦'],
'yīng qíng': ['啨'],
pā: ['啪', '妑', '舥', '葩', '趴'],
'zhě shì': ['啫'],
sè: ['啬', '嗇', '懎', '擌', '栜', '歮', '涩', '渋', '澀', '澁', '濇', '濏', '瀒', '瑟', '璱', '瘷', '穑', '穡', '穯', '繬', '譅', '轖', '銫', '鏼', '铯', '飋'],
niè: ['啮', '嗫', '噛', '嚙', '囁', '囓', '圼', '孼', '孽', '嵲', '嶭', '巕', '帇', '敜', '枿', '槷', '櫱', '涅', '湼', '痆', '篞', '籋', '糱', '糵', '聂', '聶', '臬', '臲', '蘖', '蠥', '讘', '踂', '踗', '踙', '蹑', '躡', '錜', '鎳', '鑈', '鑷', '钀', '镊', '镍', '闑', '陧', '隉', '顳', '颞', '齧', '𫔶'],
'luō luó luo': ['啰', '囉'],
'tān chǎn tuō': ['啴'],
bo: ['啵', '蔔'],
dìng: ['啶', '定', '椗', '矴', '碇', '碠', '磸', '聢', '腚', '萣', '蝊', '訂', '订', '錠', '锭', '顁', '飣', '饤'],
lāng: ['啷'],
'án ān': ['啽'],
kā: ['喀', '擖'],
'yóng yú': ['喁'],
'lā lá lǎ': ['喇'],
jiē: ['喈', '喼', '嗟', '堦', '媘', '接', '掲', '擑', '湝', '煯', '疖', '痎', '癤', '皆', '秸', '稭', '脻', '蝔', '街', '謯', '阶', '階', '鞂', '鶛'],
hóu: ['喉', '帿', '猴', '瘊', '睺', '篌', '糇', '翭', '葔', '鄇', '鍭', '餱', '骺', '鯸', '𬭤'],
'dié zhá': ['喋'],
wāi: ['喎', '歪', '竵'],
'nuò rě': ['喏'],
'xù huò guó': ['喐'],
zán: ['喒'],
'wō ō': ['喔'],
hú: ['喖', '嘝', '囫', '壶', '壷', '壺', '媩', '弧', '搰', '斛', '楜', '槲', '湖', '瀫', '焀', '煳', '狐', '猢', '瑚', '瓳', '箶', '絗', '縠', '胡', '葫', '蔛', '蝴', '螜', '衚', '觳', '醐', '鍸', '頶', '餬', '鬍', '魱', '鰗', '鵠', '鶘', '鶦', '鹕'],
'huàn yuán xuǎn hé': ['喛'],
xǐ: ['喜', '囍', '壐', '屣', '徙', '憙', '枲', '橲', '歖', '漇', '玺', '璽', '矖', '禧', '縰', '葈', '葸', '蓰', '蟢', '謑', '蹝', '躧', '鈢', '鉨', '鉩', '鱚', '𬭳', '𬶮'],
'hē hè yè': ['喝'],
kuì: ['喟', '嘳', '媿', '嬇', '愦', '愧', '憒', '篑', '簣', '籄', '聩', '聭', '聵', '膭', '蕢', '謉', '餽', '饋', '馈'],
'zhǒng chuáng': ['喠'],
'wéi wèi': ['喡', '為', '爲'],
'duó zhà': ['喥'],
'sāng sàng': ['喪'],
'qiáo jiāo': ['喬'],
'pèn bēn': ['喯'],
'cān sūn qī': ['喰'],
'zhā chā': ['喳'],
miāo: ['喵'],
'pēn pèn': ['喷'],
kuí: ['喹', '夔', '奎', '巙', '戣', '揆', '晆', '暌', '楏', '楑', '櫆', '犪', '睽', '葵', '藈', '蘷', '虁', '蝰', '躨', '逵', '鄈', '鍨', '鍷', '頯', '馗', '騤', '骙', '魁'],
'lou lóu': ['喽'],
'zào qiāo': ['喿'],
'hè xiāo xiào hù': ['嗃'],
'á shà': ['嗄'],
xiù: ['嗅', '岫', '峀', '溴', '珛', '琇', '璓', '秀', '綉', '繍', '繡', '绣', '螑', '袖', '褎', '褏', '銹', '鏥', '鏽', '锈', '齅'],
'qiāng qiàng': ['嗆', '戗', '戧', '蹌', '蹡'],
'ài yì': ['嗌', '艾'],
'má mǎ ma': ['嗎'],
'kè kē': ['嗑'],
'dā tà': ['嗒', '鎉'],
sǎng: ['嗓', '搡', '磉', '褬', '鎟', '顙', '颡'],
chēn: ['嗔', '抻', '琛', '瞋', '諃', '謓', '賝', '郴', '𬘭'],
'wā gǔ': ['嗗'],
'pǎng bēng': ['嗙'],
'xián qiǎn qiān': ['嗛'],
lào: ['嗠', '嫪', '橯', '涝', '澇', '耢', '耮', '躼', '軂', '酪'],
wēng: ['嗡', '翁', '聬', '螉', '鎓', '鶲', '鹟', '𬭩'],
wà: ['嗢', '腽', '膃', '袜', '襪', '韤'],
'hēi hāi': ['嗨'],
hē: ['嗬', '欱', '蠚', '訶', '诃'],
zi: ['嗭'],
sǎi: ['嗮'],
'ǹg ńg ňg': ['嗯'],
gě: ['嗰', '舸'],
ná: ['嗱', '拏', '拿', '鎿', '镎'],
diǎ: ['嗲'],
'ài ǎi āi': ['嗳'],
tōng: ['嗵', '樋', '炵', '蓪'],
'zuī suī': ['嗺'],
'zhē zhè zhù zhe': ['嗻'],
mò: ['嗼', '圽', '塻', '墨', '妺', '嫼', '寞', '帞', '昩', '末', '枺', '歿', '殁', '沫', '漠', '爅', '獏', '瘼', '皌', '眽', '眿', '瞐', '瞙', '砞', '礳', '秣', '絈', '纆', '耱', '茉', '莈', '蓦', '蛨', '蟔', '貃', '貊', '貘', '銆', '鏌', '镆', '陌', '靺', '驀', '魩', '默', '黙', '𬙊'],
sòu: ['嗽', '瘶'],
tǎn: ['嗿', '坦', '忐', '憳', '憻', '暺', '毯', '璮', '菼', '袒', '襢', '醓', '鉭', '钽'],
'jiào dǎo': ['嘄'],
'kǎi gě': ['嘅'],
'shān càn': ['嘇'],
cáo: ['嘈', '嶆', '曹', '曺', '槽', '漕', '艚', '蓸', '螬', '褿', '鏪', '𥕢'],
piào: ['嘌', '徱', '蔈', '驃'],
'lóu lou': ['嘍'],
gǎ: ['尕', '玍'],
'gǔ jiǎ': ['嘏'],
'jiāo xiāo': ['嘐'],
'xū shī': ['嘘', '噓'],
pó: ['嘙', '嚩', '婆', '櫇', '皤', '鄱'],
'dē dēi': ['嘚'],
'ma má': ['嘛'],
'lē lei': ['嘞'],
'gā gá gǎ': ['嘠'],
sāi: ['嘥', '噻', '毢', '腮', '顋', '鰓'],
'zuō chuài': ['嘬'],
'cháo zhāo': ['嘲', '朝', '鼂'],
zuǐ: ['嘴', '噿', '嶊', '璻'],
'qiáo qiào': ['嘺', '翹', '谯'],
'chù xù shòu': ['嘼'],
'tān chǎn': ['嘽'],
'dàn tán': ['嘾', '弾', '彈', '惔', '澹'],
'hēi mò': ['嘿'],
ě: ['噁', '砨', '頋', '騀', '鵈'],
'fān bo': ['噃'],
chuáng: ['噇', '床', '牀'],
'cù zā hé': ['噈'],
'tūn kuò': ['噋'],
'cēng chēng': ['噌'],
dēng: ['噔', '嬁', '灯', '燈', '璒', '登', '竳', '簦', '艠', '豋'],
pū: ['噗', '扑', '撲', '攴', '攵', '潽', '炇', '陠'],
juē: ['噘', '屩', '屫', '撧'],
lū: ['噜', '嚕', '撸', '擼', '謢'],
zhān: ['噡', '岾', '惉', '旃', '旜', '枬', '栴', '毡', '氈', '氊', '沾', '瞻', '薝', '蛅', '詀', '詹', '譫', '谵', '趈', '邅', '閚', '霑', '飦', '饘', '驙', '魙', '鱣', '鸇', '鹯', '𫗴'],
ō: ['噢'],
'zhòu zhuó': ['噣'],
'jiào qiào chī': ['噭'],
yuàn: ['噮', '妴', '怨', '愿', '掾', '瑗', '禐', '苑', '衏', '裫', '褑', '院', '願'],
'ǎi ài āi': ['噯'],
'yōng yǒng': ['噰', '澭'],
'jué xué': ['噱'],
'pēn pèn fèn': ['噴'],
gá: ['噶', '尜', '釓', '錷', '钆'],
'xīn hěn hèn': ['噷'],
dāng: ['噹', '澢', '珰', '璫', '筜', '簹', '艡', '蟷', '裆', '襠'],
làn: ['嚂', '滥', '濫', '烂', '燗', '爁', '爛', '爤', '瓓', '糷', '钄'],
tà: ['嚃', '嚺', '崉', '挞', '搨', '撻', '榻', '橽', '毾', '涾', '澾', '濌', '禢', '粏', '誻', '譶', '蹋', '蹹', '躂', '躢', '遝', '錔', '闒', '闥', '闼', '阘', '鞜', '鞳'],
'huō huò ǒ': ['嚄'],
hāo: ['嚆', '茠', '蒿', '薅'],
'hè xià': ['嚇'],
'xiù pì': ['嚊'],
'zhōu chóu': ['嚋', '盩', '诪'],
mē: ['嚒'],
'chā cā': ['嚓'],
'bó pào bào': ['嚗'],
'me mèi mò': ['嚜'],
'xié hái': ['嚡'],
'áo xiāo': ['嚣'],
mō: ['嚤', '摸'],
pín: ['嚬', '娦', '嫔', '嬪', '玭', '矉', '薲', '蠙', '貧', '贫', '顰', '颦', '𬞟'],
mè: ['嚰', '濹'],
'rǎng rāng': ['嚷'],
lá: ['嚹', '旯'],
'jiáo jué jiào': ['嚼'],
chuò: ['嚽', '娖', '擉', '歠', '涰', '磭', '踀', '輟', '辍', '辵', '辶', '酫', '鑡', '餟', '齪', '龊'],
'huān huàn': ['嚾'],
'zá cà': ['囃'],
chài: ['囆', '虿', '蠆', '袃', '訍'],
'náng nāng': ['囊'],
'zá zàn cān': ['囋'],
sū: ['囌', '櫯', '甦', '稣', '穌', '窣', '蘇', '蘓', '酥', '鯂'],
zèng: ['囎', '熷', '甑', '贈', '赠', '鋥', '锃'],
'zá niè yàn': ['囐'],
nāng: ['囔'],
'luó luō luo': ['囖'],
'wéi guó': ['囗'],
huí: ['囘', '回', '囬', '廻', '廽', '恛', '洄', '痐', '茴', '蚘', '蛔', '蛕', '蜖', '迴', '逥', '鮰'],
nín: ['囜', '您', '脌'],
'jiǎn nān': ['囝'],
nān: ['囡'],
tuán: ['团', '団', '團', '慱', '抟', '摶', '檲', '糰', '鏄', '鷒', '鷻'],
'tún dùn': ['囤', '坉'],
guó: ['囯', '囶', '囻', '国', '圀', '國', '帼', '幗', '慖', '摑', '漍', '聝', '腘', '膕', '蔮', '虢', '馘', '𬇹'],
kùn: ['困', '涃', '睏'],
'wéi tōng': ['囲'],
qūn: ['囷', '夋', '逡'],
rì: ['囸', '日', '衵', '鈤', '馹', '驲'],
tāi: ['囼', '孡', '胎'],
pǔ: ['圃', '圑', '擈', '普', '暜', '樸', '檏', '氆', '浦', '溥', '烳', '諩', '譜', '谱', '蹼', '鐠', '镨'],
'quān juàn juān': ['圈', '圏'],
'chuí chuán': ['圌'],
tuǎn: ['圕', '畽', '疃'],
lüè: ['圙', '掠', '略', '畧', '稤', '鋝', '鋢', '锊', '䂮'],
'huán yuán': ['圜'],
luán: ['圝', '圞', '奱', '娈', '孌', '孪', '孿', '峦', '巒', '挛', '攣', '曫', '栾', '欒', '滦', '灤', '癴', '癵', '羉', '脔', '臠', '虊', '銮', '鑾', '鵉', '鸞', '鸾'],
tǔ: ['土', '圡', '釷', '钍'],
'xū wéi': ['圩'],
'dì de': ['地', '嶳'],
'qiān sú': ['圱'],
zhèn: ['圳', '塦', '挋', '振', '朕', '栚', '甽', '眹', '紖', '絼', '纼', '誫', '賑', '赈', '鋴', '鎭', '鎮', '镇', '阵', '陣', '震', '鴆', '鸩'],
'chǎng cháng': ['场', '場', '塲'],
'qí yín': ['圻'],
jiá: ['圿', '忦', '恝', '戞', '扴', '脥', '荚', '莢', '蛱', '蛺', '裌', '跲', '郏', '郟', '鋏', '铗', '頬', '頰', '颊', '鴶', '鵊'],
'zhǐ zhì': ['坁'],
bǎn: ['坂', '岅', '昄', '板', '版', '瓪', '粄', '舨', '蝂', '鈑', '钣', '阪', '魬'],
qǐn: ['坅', '寑', '寝', '寢', '昑', '梫', '笉', '螼', '赾', '鋟', '锓'],
'méi fén': ['坆'],
'rǒng kēng': ['坈'],
'fāng fáng': ['坊'],
'fèn bèn': ['坋'],
tān: ['坍', '怹', '摊', '擹', '攤', '滩', '灘', '瘫', '癱', '舑', '貪', '贪'],
'huài pēi pī péi': ['坏'],
'dì làn': ['坔'],
tán: ['坛', '墰', '墵', '壇', '壜', '婒', '憛', '昙', '曇', '榃', '檀', '潭', '燂', '痰', '磹', '罈', '罎', '藫', '談', '譚', '譠', '谈', '谭', '貚', '郯', '醰', '錟', '顃'],
bà: ['坝', '垻', '壩', '弝', '欛', '灞', '爸', '矲', '覇', '霸', '鮁', '鲅'],
fén: ['坟', '墳', '妢', '岎', '幩', '枌', '棼', '汾', '焚', '燌', '燓', '羒', '羵', '蒶', '蕡', '蚠', '蚡', '豮', '豶', '轒', '鐼', '隫', '馩', '魵', '黂', '鼖', '鼢', '𣸣'],
zhuì: ['坠', '墜', '惴', '甀', '畷', '礈', '綴', '縋', '缀', '缒', '腏', '膇', '諈', '贅', '赘', '醊', '錣', '鑆'],
pō: ['坡', '岥', '泼', '溌', '潑', '釙', '鏺', '钋', '頗', '颇', '䥽'],
'pǎn bàn': ['坢'],
kūn: ['坤', '堃', '堒', '崐', '崑', '昆', '晜', '潉', '焜', '熴', '猑', '琨', '瑻', '菎', '蜫', '裈', '裩', '褌', '醌', '錕', '锟', '騉', '髠', '髡', '髨', '鯤', '鲲', '鵾', '鶤', '鹍'],
diàn: ['坫', '垫', '墊', '壂', '奠', '婝', '店', '惦', '扂', '橂', '殿', '淀', '澱', '玷', '琔', '电', '癜', '簟', '蜔', '鈿', '電', '靛', '驔'],
'mù mǔ': ['坶'],
'kē kě': ['坷', '軻'],
xuè: ['坹', '岤', '桖', '瀥', '狘', '瞲', '謔', '谑', '趐'],
'dǐ chí': ['坻', '柢'],
lā: ['垃', '柆', '菈', '邋'],
lǒng: ['垄', '垅', '壟', '壠', '拢', '攏', '竉', '陇', '隴', '𬕂'],
mín: ['垊', '姄', '岷', '崏', '捪', '旻', '旼', '民', '珉', '琘', '琝', '瑉', '痻', '盿', '砇', '緍', '緡', '缗', '罠', '苠', '鈱', '錉', '鍲', '鴖'],
'dòng tóng': ['垌', '峒', '洞'],
cí: ['垐', '嬨', '慈', '柌', '濨', '珁', '瓷', '甆', '磁', '礠', '祠', '糍', '茨', '詞', '词', '辝', '辞', '辤', '辭', '雌', '飺', '餈', '鴜', '鶿', '鷀', '鹚'],
duī: ['垖', '堆', '塠', '痽', '磓', '鐓', '鐜', '鴭'],
'duò duǒ': ['垛'],
'duǒ duò': ['垜', '挆'],
chá: ['垞', '察', '嵖', '搽', '槎', '檫', '猹', '茬', '茶', '詧', '靫', '𥻗'],
shǎng: ['垧', '晌', '樉', '賞', '贘', '赏', '鋿', '鏛', '鑜'],
shǒu: ['垨', '守', '手', '扌', '艏', '首'],
da: ['垯', '繨', '跶'],
háng: ['垳', '斻', '杭', '筕', '絎', '绗', '航', '苀', '蚢', '裄', '貥', '迒', '頏', '颃', '魧'],
'ān ǎn': ['垵'],
xīng: ['垶', '惺', '星', '曐', '煋', '猩', '瑆', '皨', '篂', '腥', '興', '觪', '觲', '謃', '騂', '骍', '鮏', '鯹'],
'yuàn huán': ['垸'],
bāng: ['垹', '帮', '幇', '幚', '幫', '捠', '梆', '浜', '邦', '邫', '鞤', '𠳐'],
'póu fú': ['垺'],
cén: ['埁', '岑', '涔'],
'běng fēng': ['埄'],
'dì fáng': ['埅'],
'xiá jiā': ['埉'],
'mái mán': ['埋'],
làng: ['埌', '崀', '浪', '蒗', '閬', '㫰'],
'shān yán': ['埏'],
'qín jīn': ['埐'],
'pǔ bù': ['埔'],
huā: ['埖', '婲', '椛', '硴', '糀', '花', '蒊', '蘤', '誮', '錵'],
'suì sù': ['埣'],
'pí pì': ['埤'],
'qīng zhēng': ['埥', '鲭'],
'wǎn wān': ['埦'],
lǔn: ['埨', '稐', '𫭢'],
'zhēng chéng': ['埩'],
kōng: ['埪', '崆', '箜', '躻', '錓', '鵼'],
'cǎi cài': ['埰', '寀', '采'],
'chù tòu': ['埱'],
běng: ['埲', '琫', '菶', '鞛'],
'kǎn xiàn': ['埳'],
'yì shì': ['埶', '醳'],
péi: ['培', '毰', '裴', '裵', '賠', '赔', '錇', '锫', '阫', '陪'],
'sào sǎo': ['埽'],
'jǐn qīn jìn': ['堇'],
'péng bèng': ['堋'],
'qiàn zàn jiàn': ['堑'],
àn: ['堓', '屵', '岸', '按', '暗', '案', '胺', '荌', '豻', '貋', '錌', '闇', '隌', '黯'],
'duò huī': ['堕', '墮'],
huán: ['堚', '寏', '寰', '峘', '桓', '洹', '澴', '獂', '环', '環', '糫', '繯', '缳', '羦', '荁', '萈', '萑', '豲', '鍰', '鐶', '锾', '镮', '闤', '阛', '雈', '鬟', '鹮', '𬘫', '𤩽'],
'bǎo bǔ pù': ['堡'],
'máo móu wǔ': ['堥'],
ruán: ['堧', '壖', '撋'],
'ài è yè': ['堨'],
gèng: ['堩', '暅'],
méi: ['堳', '塺', '媒', '嵋', '徾', '攗', '枚', '栂', '梅', '楣', '楳', '槑', '湄', '湈', '煤', '猸', '玫', '珻', '瑂', '眉', '睂', '禖', '脄', '脢', '腜', '苺', '莓', '葿', '郿', '酶', '鎇', '镅', '霉', '鶥', '鹛', '黴'],
dǔ: ['堵', '琽', '睹', '笃', '篤', '覩', '賭', '赌'],
féng: ['堸', '綘', '艂', '逢'],
hèng: ['堼'],
chūn: ['堾', '媋', '旾', '春', '暙', '杶', '椿', '槆', '橁', '櫄', '瑃', '箺', '萅', '蝽', '輴', '鰆', '鶞', '䲠'],
jiǎng: ['塂', '奖', '奨', '奬', '桨', '槳', '獎', '耩', '膙', '蒋', '蔣', '講', '讲', '顜'],
huāng: ['塃', '巟', '慌', '肓', '荒', '衁'],
duàn: ['塅', '断', '斷', '椴', '段', '毈', '煅', '瑖', '碫', '簖', '籪', '緞', '缎', '腶', '葮', '躖', '鍛', '锻'],
tǎ: ['塔', '墖', '獭', '獺', '鮙', '鰨', '鳎'],
wěng: ['塕', '奣', '嵡', '攚', '暡', '瞈', '蓊'],
'sāi sài sè': ['塞'],
zàng: ['塟', '弉', '臓', '臟', '葬', '蔵', '銺'],
tián: ['塡', '屇', '恬', '沺', '湉', '璳', '甛', '甜', '田', '畋', '畑', '碵', '磌', '胋', '闐', '阗', '鴫', '鷆', '鷏'],
zhèng: ['塣', '幁', '政', '証', '諍', '證', '证', '诤', '郑', '鄭', '靕', '鴊'],
'tián zhèn': ['填'],
wēn: ['塭', '昷', '榲', '殟', '温', '溫', '瑥', '瘟', '蕰', '豱', '輼', '轀', '辒', '鎾', '饂', '鰛', '鰮', '鳁'],
liù: ['塯', '廇', '磟', '翏', '雡', '霤', '餾', '鬸', '鷚', '鹨'],
hǎi: ['塰', '海', '烸', '酼', '醢'],
lǎng: ['塱', '朖', '朗', '朤', '烺', '蓢', '㮾'],
bèng: ['塴', '揼', '泵', '甏', '綳', '蹦', '迸', '逬', '鏰', '镚'],
chén: ['塵', '宸', '尘', '忱', '敐', '敶', '晨', '曟', '栕', '樄', '沉', '煁', '瘎', '臣', '茞', '莀', '莐', '蔯', '薼', '螴', '訦', '諶', '軙', '辰', '迧', '鈂', '陈', '陳', '霃', '鷐', '麎'],
'ōu qiū': ['塸'],
'qiàn jiàn': ['塹'],
'zhuān tuán': ['塼'],
shuǎng: ['塽', '慡', '漺', '爽', '縔', '鏯'],
shú: ['塾', '婌', '孰', '璹', '秫', '贖', '赎'],
lǒu: ['塿', '嵝', '嶁', '甊', '篓', '簍'],
chí: ['墀', '弛', '持', '池', '漦', '竾', '筂', '箎', '篪', '茌', '荎', '蚳', '謘', '貾', '赿', '踟', '迟', '迡', '遅', '遟', '遲', '鍉', '馳', '驰'],
shù: ['墅', '庶', '庻', '怷', '恕', '戍', '束', '树', '樹', '沭', '漱', '潄', '濖', '竖', '竪', '絉', '腧', '荗', '蒁', '虪', '術', '裋', '豎', '述', '鉥', '錰', '鏣', '霔', '鶐', '𬬸'],
'dì zhì': ['墆', '疐'],
kàn: ['墈', '崁', '瞰', '矙', '磡', '衎', '鬫'],
chěn: ['墋', '夦', '硶', '碜', '磣', '贂', '趻', '踸', '鍖'],
'zhǐ zhuó': ['墌'],
qiǎng: ['墏', '繈', '繦', '羥', '襁'],
zēng: ['増', '增', '憎', '璔', '矰', '磳', '罾', '譄', '鄫', '鱛', '䎖'],
qiáng: ['墙', '墻', '嫱', '嬙', '樯', '檣', '漒', '牆', '艢', '蔃', '蔷', '蘠'],
'kuài tuí': ['墤'],
'tuǎn dǒng': ['墥'],
'qiáo què': ['墧'],
'zūn dūn': ['墫'],
'qiāo áo': ['墽'],
'yì tú': ['墿'],
'xué bó jué': ['壆'],
lǎn: ['壈', '嬾', '孄', '孏', '懒', '懶', '揽', '擥', '攬', '榄', '欖', '浨', '漤', '灠', '纜', '缆', '罱', '覧', '覽', '览', '醂', '顲'],
huài: ['壊', '壞', '蘾'],
rǎng: ['壌', '壤', '攘', '爙'],
'làn xiàn': ['壏'],
dǎo: ['壔', '导', '導', '岛', '島', '嶋', '嶌', '嶹', '捣', '搗', '擣', '槝', '祷', '禂', '禱', '蹈', '陦', '隝', '隯'],
ruǐ: ['壡', '桵', '橤', '繠', '蕊', '蕋', '蘂', '蘃'],
san: ['壭'],
zhuàng: ['壮', '壯', '壵', '撞', '焋', '状', '狀'],
'ké qiào': ['壳', '殼'],
kǔn: ['壸', '壼', '悃', '捆', '梱', '硱', '祵', '稇', '稛', '綑', '裍', '閫', '閸', '阃'],
mǎng: ['壾', '漭', '茻', '莽', '莾', '蠎'],
cún: ['壿', '存'],
'zhǐ zhōng': ['夂'],
'gǔ yíng': ['夃'],
'jiàng xiáng': ['夅', '降'],
'páng féng fēng': ['夆'],
zhāi: ['夈', '捚', '摘', '斋', '斎', '榸', '粂', '齋'],
'xuàn xiòng': ['夐'],
wài: ['外', '顡'],
'wǎn yuàn wān yuān': ['夗'],
'mǎo wǎn': ['夘'],
mèng: ['夢', '夣', '孟', '梦', '癦', '霥'],
'dà dài': ['大'],
'fū fú': ['夫', '姇', '枎', '粰'],
guài: ['夬', '怪', '恠'],
yāng: ['央', '姎', '抰', '殃', '泱', '秧', '胦', '鉠', '鍈', '雵', '鴦', '鸯'],
'hāng bèn': ['夯'],
gǎo: ['夰', '搞', '杲', '槀', '槁', '檺', '稁', '稾', '稿', '縞', '缟', '菒', '藁', '藳'],
'tāo běn': ['夲'],
'tóu tou': ['头'],
'yǎn tāo': ['夵'],
'kuā kuà': ['夸', '誇'],
'jiá jiā gā xiá': ['夹'],
huà: ['夻', '婳', '嫿', '嬅', '崋', '摦', '杹', '枠', '桦', '槬', '樺', '澅', '画', '畫', '畵', '繣', '舙', '話', '諙', '譮', '话', '黊'],
'jiā jiá gā xiá': ['夾'],
ēn: ['奀', '恩', '蒽'],
'dī tì': ['奃'],
'yǎn yān': ['奄', '渰'],
pào: ['奅', '疱', '皰', '砲', '礟', '礮', '靤', '麭'],
nài: ['奈', '柰', '渿', '耐', '萘', '褦', '錼', '鼐'],
'quān juàn': ['奍', '弮', '棬'],
zòu: ['奏', '揍'],
'qì qiè xiè': ['契'],
kāi: ['奒', '开', '揩', '鐦', '锎', '開'],
'bēn bèn': ['奔', '泍'],
tào: ['套'],
'zàng zhuǎng': ['奘'],
běn: ['奙', '本', '楍', '畚', '翉', '苯'],
'xùn zhuì': ['奞'],
shē: ['奢', '檨', '猞', '畭', '畲', '賒', '賖', '赊', '輋', '𪨶'],
'hǎ pò tǎi': ['奤'],
'ào yù': ['奥', '奧', '澚'],
yūn: ['奫', '氲', '氳', '蒀', '蒕', '蝹', '贇', '赟', '𫖳'],
'duǒ chě': ['奲'],
'nǚ rǔ': ['女'],
nú: ['奴', '孥', '笯', '駑', '驽'],
'dīng dǐng tiǎn': ['奵'],
'tā jiě': ['她'],
nuán: ['奻'],
'hǎo hào': ['好'],
fàn: ['奿', '嬎', '梵', '汎', '泛', '滼', '瀪', '犯', '畈', '盕', '笵', '範', '范', '訉', '販', '贩', '軬', '輽', '飯', '飰', '饭'],
shuò: ['妁', '搠', '朔', '槊', '烁', '爍', '矟', '蒴', '鎙', '鑠', '铄'],
'fēi pèi': ['妃'],
wàng: ['妄', '忘', '旺', '望', '朢'],
zhuāng: ['妆', '妝', '娤', '庄', '庒', '桩', '梉', '樁', '粧', '糚', '荘', '莊', '装', '裝'],
mā: ['妈', '媽'],
'fū yōu': ['妋'],
'hài jiè': ['妎'],
dù: ['妒', '妬', '杜', '殬', '渡', '秺', '芏', '荰', '螙', '蠧', '蠹', '鍍', '镀', '靯', '𬭊'],
miào: ['妙', '庙', '庿', '廟', '玅', '竗'],
'fǒu pēi pī': ['妚'],
'yuè jué': ['妜'],
niū: ['妞'],
'nà nàn': ['妠'],
tuǒ: ['妥', '嫷', '庹', '椭', '楕', '橢', '鬌', '鰖', '鵎'],
'wàn yuán': ['妧'],
fáng: ['妨', '房', '肪', '防', '魴', '鲂'],
nī: ['妮'],
zhóu: ['妯', '碡'],
zhāo: ['妱', '巶', '招', '昭', '釗', '鉊', '鍣', '钊', '駋', '𬬿'],
'nǎi nǐ': ['妳'],
tǒu: ['妵', '敨', '紏', '蘣', '黈'],
'xián xuán xù': ['妶'],
'zhí yì': ['妷', '秇'],
ē: ['妸', '妿', '婀', '屙'],
mèi: ['妹', '媚', '寐', '抺', '旀', '昧', '沬', '煝', '痗', '眛', '睸', '祙', '篃', '蝞', '袂', '跊', '鬽', '魅'],
'qī qì': ['妻'],
'xū xǔ': ['姁', '稰'],
'shān shàn': ['姍', '姗', '苫', '釤', '钐'],
mán: ['姏', '慲', '樠', '蛮', '蠻', '謾', '饅', '馒', '鬗', '鬘', '鰻', '鳗'],
jiě: ['姐', '媎', '檞', '毑', '飷'],
'wěi wēi': ['委'],
pīn: ['姘', '拼', '礗', '穦', '馪', '驞'],
'huá huó': ['姡'],
'jiāo xiáo': ['姣'],
'gòu dù': ['姤'],
'lǎo mǔ': ['姥'],
'nián niàn': ['姩'],
zhěn: ['姫', '屒', '弫', '抮', '昣', '枕', '畛', '疹', '眕', '稹', '縝', '縥', '缜', '聄', '萙', '袗', '裖', '覙', '診', '诊', '軫', '轸', '辴', '駗', '鬒'],
héng: ['姮', '恆', '恒', '烆', '珩', '胻', '蘅', '衡', '鑅', '鴴', '鵆', '鸻'],
'jūn xún': ['姰'],
'kuā hù': ['姱'],
'è yà': ['姶'],
'xiān shēn': ['姺'],
wá: ['娃'],
'ráo rǎo': ['娆', '嬈'],
'shào shāo': ['娋'],
xiē: ['娎', '揳', '楔', '歇', '蝎', '蠍'],
'wǔ méi mǔ': ['娒'],
'chuò lài': ['娕'],
niáng: ['娘', '嬢', '孃'],
'nà nuó': ['娜', '𦰡'],
'pōu bǐ': ['娝'],
'něi suī': ['娞'],
tuì: ['娧', '煺', '蛻', '蜕', '退', '駾'],
mǎn: ['娨', '屘', '満', '满', '滿', '螨', '蟎', '襔', '鏋'],
'wú wù yú': ['娪'],
'xī āi': ['娭'],
'zhuì shuì': ['娷'],
'dōng dòng': ['娻'],
'ǎi ái è': ['娾'],
'ē ě': ['娿'],
mián: ['婂', '嬵', '宀', '杣', '棉', '檰', '櫋', '眠', '矈', '矊', '矏', '綿', '緜', '绵', '芇', '蝒'],
'pǒu péi bù': ['婄'],
biǎo: ['婊', '脿', '表', '裱', '褾', '諘', '錶'],
'fù fàn': ['婏'],
wǒ: ['婐', '婑', '我'],
'ní nǐ': ['婗', '棿'],
'quán juàn': ['婘', '惓'],
hūn: ['婚', '昏', '昬', '棔', '涽', '睧', '睯', '碈', '荤', '葷', '蔒', '轋', '閽', '阍'],
'qiān jǐn': ['婜'],
'wān wà': ['婠'],
'lái lài': ['婡', '徕', '徠'],
'zhōu chōu': ['婤'],
'chuò nào': ['婥'],
'nüè àn': ['婩'],
'hùn kūn': ['婫'],
'dàng yáng': ['婸'],
nàn: ['婻'],
'ruò chuò': ['婼'],
jiǎ: ['婽', '岬', '斚', '斝', '榎', '槚', '檟', '玾', '甲', '胛', '鉀', '钾'],
'tōu yú': ['婾', '媮'],
'yù yú': ['媀'],
'wéi wěi': ['媁'],
'dì tí': ['媂', '珶', '苐'],
róu: ['媃', '揉', '柔', '渘', '煣', '瑈', '瓇', '禸', '粈', '糅', '脜', '腬', '葇', '蝚', '蹂', '輮', '鍒', '鞣', '騥', '鰇', '鶔', '𫐓'],
'ruǎn nèn': ['媆'],
miáo: ['媌', '嫹', '描', '瞄', '苗', '鶓', '鹋'],
'yí pèi': ['媐'],
'mián miǎn': ['媔'],
'tí shì': ['媞', '惿'],
'duò tuó': ['媠', '沲'],
ǎo: ['媪', '媼', '艹', '芺', '袄', '襖', '镺'],
'chú zòu': ['媰'],
yìng: ['媵', '映', '暎', '硬', '膡', '鱦'],
'qín shēn': ['嫀'],
jià: ['嫁', '幏', '架', '榢', '稼', '駕', '驾'],
sǎo: ['嫂'],
'zhēn zhěn': ['嫃'],
'jiē suǒ': ['嫅'],
'míng mǐng': ['嫇'],
niǎo: ['嫋', '嬝', '嬲', '茑', '蔦', '袅', '裊', '褭', '鸟'],
tāo: ['嫍', '幍', '弢', '慆', '掏', '搯', '槄', '涛', '滔', '濤', '瑫', '絛', '縚', '縧', '绦', '詜', '謟', '轁', '鞱', '韜', '韬', '飸', '饕'],
biáo: ['嫑'],
'piáo piāo': ['嫖', '薸'],
xuán: ['嫙', '悬', '懸', '暶', '檈', '漩', '玄', '璇', '璿', '痃', '蜁', '𫠊'],
'màn mān': ['嫚'],
kāng: ['嫝', '嵻', '康', '慷', '槺', '漮', '砊', '穅', '糠', '躿', '鏮', '鱇', '𡐓', '𩾌'],
'hān nǎn': ['嫨'],
nèn: ['嫩', '嫰'],
zhē: ['嫬', '遮'],
'mā má': ['嫲'],
piè: ['嫳'],
zhǎn: ['嫸', '展', '搌', '斩', '斬', '琖', '盏', '盞', '輾', '醆', '颭', '飐'],
'xiān yǎn jìn': ['嬐'],
liǎn: ['嬚', '敛', '斂', '琏', '璉', '羷', '脸', '臉', '蔹', '蘝', '蘞', '裣', '襝', '鄻'],
'qióng huán xuān': ['嬛'],
dǒng: ['嬞', '懂', '箽', '董', '蕫', '諌'],
cān: ['嬠', '湌', '爘', '飡', '餐', '驂', '骖'],
tiǎo: ['嬥', '宨', '晀', '朓', '窱', '脁'],
bí: ['嬶', '荸', '鼻'],
liǔ: ['嬼', '柳', '栁', '桞', '桺', '橮', '熮', '珋', '綹', '绺', '罶', '羀', '鋶', '锍'],
'qiān xiān': ['孅', '欦'],
'xié huī': ['孈'],
'huān quán': ['孉'],
'lí lì': ['孋', '麗'],
'zhú chuò': ['孎'],
kǒng: ['孔', '恐'],
'mā zī': ['孖'],
'sūn xùn': ['孙', '孫'],
'bèi bó': ['孛', '誖'],
'yòu niū': ['孧'],
zhuǎn: ['孨', '竱', '轉'],
hái: ['孩', '骸'],
nāo: ['孬'],
'chán càn': ['孱'],
bò: ['孹', '檗', '蘗', '譒'],
nái: ['孻', '腉'],
'níng nìng': ['宁', '寍', '寗', '寜', '寧', '甯'],
zhái: ['宅'],
'tū jiā': ['宊'],
sòng: ['宋', '訟', '誦', '讼', '诵', '送', '鎹', '頌', '颂', '餸'],
ròu: ['宍', '肉', '譳'],
zhūn: ['宒', '窀', '衠', '諄', '谆', '迍'],
'mì fú': ['宓'],
'dàng tàn': ['宕'],
'wǎn yuān': ['宛'],
chǒng: ['宠', '寵'],
qún: ['宭', '峮', '帬', '羣', '群', '裙', '裠'],
zǎi: ['宰', '崽'],
'bǎo shí': ['宲'],
'jiā jia jie': ['家'],
'huāng huǎng': ['宺'],
kuān: ['宽', '寛', '寬', '臗', '鑧', '髋', '髖'],
'sù xiǔ xiù': ['宿'],
'jié zǎn': ['寁'],
'bìng bǐng': ['寎'],
'jìn qǐn': ['寖'],
'lóu jù': ['寠'],
'xiě xiè': ['寫'],
'qīn qìn': ['寴'],
cùn: ['寸', '籿'],
duì: ['对', '対', '對', '怼', '憝', '懟', '濧', '瀩', '碓', '祋', '綐', '薱', '譈', '譵', '轛', '队', '陮'],
'lüè luó': ['寽'],
'shè yè yì': ['射'],
'jiāng jiàng qiāng': ['将'],
'jiāng jiàng': ['將', '浆', '漿', '畺'],
zūn: ['尊', '嶟', '樽', '罇', '遵', '鐏', '鱒', '鳟', '鶎', '鷷', '𨱔'],
'shù zhù': ['尌', '澍'],
xiǎo: ['小', '晓', '暁', '曉', '皛', '皢', '筱', '筿', '篠', '謏', '𫍲'],
'jié jí': ['尐', '诘', '鞊'],
'shǎo shào': ['少'],
ěr: ['尒', '尓', '尔', '栮', '毦', '洱', '爾', '珥', '耳', '薾', '衈', '趰', '迩', '邇', '鉺', '铒', '餌', '饵', '駬'],
'wāng yóu': ['尢'],
wāng: ['尣', '尩', '尪', '尫', '汪'],
liào: ['尥', '尦', '廖', '撂', '料', '炓', '窷', '鐐', '镣', '𪤗'],
'méng máng lóng páng': ['尨'],
gà: ['尬', '魀'],
'kuì kuǐ': ['尯'],
tuí: ['尵', '弚', '穨', '蘈', '蹪', '隤', '頹', '頺', '頽', '颓', '魋', '𬯎'],
yǐn: ['尹', '嶾', '引', '朄', '檃', '檼', '櫽', '淾', '濥', '瘾', '癮', '粌', '蘟', '蚓', '螾', '讔', '赺', '趛', '輑', '鈏', '靷'],
'chǐ chě': ['尺'],
kāo: ['尻', '髛'],
'jìn jǐn': ['尽'],
'wěi yǐ': ['尾'],
'niào suī': ['尿'],
céng: ['层', '層', '嶒', '驓'],
diǎo: ['屌'],
'píng bǐng bīng': ['屏'],
lòu: ['屚', '漏', '瘘', '瘺', '瘻', '鏤', '镂', '陋'],
'shǔ zhǔ': ['属', '屬'],
'xiè tì': ['屟'],
'chè cǎo': ['屮'],
'tún zhūn': ['屯'],
'nì jǐ': ['屰'],
'hóng lóng': ['屸'],
'qǐ kǎi': ['岂', '豈'],
áng: ['岇', '昂', '昻'],
'gǎng gāng': ['岗', '崗'],
kě: ['岢', '敤', '渇', '渴', '炣'],
gǒu: ['岣', '狗', '玽', '笱', '耇', '耈', '耉', '苟', '豿'],
tiáo: ['岧', '岹', '樤', '祒', '笤', '芀', '萔', '蓚', '蓨', '蜩', '迢', '鋚', '鎥', '鞗', '髫', '鯈', '鰷', '鲦', '齠', '龆'],
'qū jū': ['岨'],
lǐng: ['岭', '嶺', '領', '领'],
pò: ['岶', '敀', '洦', '湐', '烞', '珀', '破', '砶', '粕', '蒪', '魄'],
'bā kè': ['峇'],
luò: ['峈', '摞', '洛', '洜', '犖', '珞', '笿', '纙', '荦', '詻', '雒', '駱', '骆', '鵅'],
'fù niè': ['峊'],
ěn: ['峎'],
'zhì shì': ['峙', '崻'],
qiǎ: ['峠', '跒', '酠', '鞐'],
'qiáo jiào': ['峤', '癄'],
'xié yé': ['峫'],
bū: ['峬', '庯', '晡', '誧', '逋', '鈽', '錻', '钸', '餔', '鵏'],
chóng: ['崇', '崈', '爞', '虫', '蝩', '蟲', '褈', '隀'],
'zú cuì': ['崒', '椊'],
'líng léng': ['崚'],
'dòng dōng': ['崠'],
xiáo: ['崤', '洨', '淆', '訤', '誵'],
'pí bǐ': ['崥', '芘'],
'zhǎn chán': ['崭', '嶃', '嶄'],
'wǎi wēi': ['崴'],
'yáng dàng': ['崵'],
'shì dié': ['崼'],
yào: ['崾', '曜', '熎', '燿', '矅', '穾', '窔', '筄', '耀', '艞', '药', '葯', '薬', '藥', '袎', '覞', '詏', '讑', '靿', '鷂', '鹞', '鼼'],
'kān zhàn': ['嵁'],
'hán dǎng': ['嵅'],
'qiàn kàn': ['嵌'],
'wù máo': ['嵍'],
'kě jié': ['嵑', '嶱'],
'wēi wěi': ['嵔'],
kē: ['嵙', '柯', '棵', '榼', '樖', '牁', '牱', '犐', '珂', '疴', '瞌', '磕', '礚', '科', '稞', '窠', '萪', '薖', '蚵', '蝌', '趷', '轲', '醘', '鈳', '钶', '頦', '顆', '颗', '髁'],
'dàng táng': ['嵣'],
'róng yíng': ['嵤', '爃'],
'ái kǎi': ['嵦'],
'kāo qiāo': ['嵪'],
cuó: ['嵯', '嵳', '痤', '矬', '蒫', '蔖', '虘', '鹺', '鹾'],
'qiǎn qīn': ['嵰'],
'dì dié': ['嵽'],
cēn: ['嵾'],
dǐng: ['嵿', '艼', '薡', '鐤', '頂', '顶', '鼎', '鼑'],
'áo ào': ['嶅'],
'pǐ pèi': ['嶏'],
'jiào qiáo': ['嶠', '潐'],
'jué guì': ['嶡', '鳜'],
'zhān shàn': ['嶦', '鳣'],
'xiè jiè': ['嶰'],
'guī xī juàn': ['嶲'],
rū: ['嶿'],
'lì liè': ['巁', '棙', '爄', '綟'],
'xī guī juàn': ['巂'],
'yíng hōng': ['巆'],
yǐng: ['巊', '廮', '影', '摬', '梬', '潁', '瘿', '癭', '矨', '穎', '郢', '鐛', '頴', '颍', '颕', '颖'],
chǎo: ['巐', '炒', '煼', '眧', '麨'],
cuán: ['巑', '櫕', '欑'],
chuān: ['巛', '川', '氚', '瑏', '穿'],
'jīng xíng': ['巠'],
cháo: ['巢', '巣', '晁', '漅', '潮', '牊', '窲', '罺', '謿', '轈', '鄛', '鼌'],
qiǎo: ['巧', '愀', '髜'],
gǒng: ['巩', '廾', '拱', '拲', '栱', '汞', '珙', '輁', '鞏'],
'chà chā chāi cī': ['差'],
'xiàng hàng': ['巷'],
shuài: ['帅', '帥', '蟀'],
pà: ['帊', '帕', '怕', '袙'],
'tǎng nú': ['帑'],
'mò wà': ['帓'],
'tiē tiě tiè': ['帖'],
zhǒu: ['帚', '晭', '疛', '睭', '箒', '肘', '菷', '鯞'],
'juǎn juàn': ['帣'],
shuì: ['帨', '涗', '涚', '睡', '稅', '税', '裞'],
'chóu dào': ['帱', '幬'],
'jiǎn jiān sàn': ['帴'],
'shà qiè': ['帹'],
'qí jì': ['帺', '荠'],
'shān qiāo shēn': ['幓'],
'zhuàng chuáng': ['幢'],
'chān chàn': ['幨'],
miè: ['幭', '懱', '搣', '滅', '灭', '烕', '礣', '篾', '蔑', '薎', '蠛', '衊', '鑖', '鱴', '鴓'],
'gān gàn': ['干'],
'bìng bīng': ['并', '幷'],
'jī jǐ': ['幾'],
'guǎng ān': ['广'],
guǎng: ['広', '廣', '犷', '獷'],
me: ['庅'],
'dùn tún': ['庉'],
'bài tīng': ['庍'],
'yìng yīng': ['应'],
'dǐ de': ['底'],
'dù duó': ['度'],
'máng méng páng': ['庬'],
'bìng píng': ['庰'],
chěng: ['庱', '悜', '睈', '逞', '騁', '骋'],
'jī cuò': ['庴'],
qǐng: ['庼', '廎', '檾', '漀', '苘', '請', '謦', '请', '頃', '顷'],
'guī wěi huì': ['廆'],
'jǐn qín': ['廑'],
kuò: ['廓', '扩', '拡', '擴', '濶', '筈', '萿', '葀', '蛞', '闊', '阔', '霩', '鞟', '鞹', '韕', '頢', '鬠'],
'qiáng sè': ['廧', '薔'],
'yǐn yìn': ['廴', '隐', '隠', '隱', '飮', '飲', '饮'],
'pò pǎi': ['廹', '迫'],
'nòng lòng': ['弄'],
'dì tì tuí': ['弟'],
'jué zhāng': ['弡'],
'mí mǐ': ['弥', '彌', '靡'],
chāo: ['弨', '怊', '抄', '欩', '訬', '超', '鈔', '钞'],
yi: ['弬'],
shāo: ['弰', '旓', '烧', '焼', '燒', '筲', '艄', '萷', '蕱', '輎', '髾', '鮹'],
'xuān yuān': ['弲'],
'qiáng qiǎng jiàng': ['強', '强'],
'tán dàn': ['弹', '醈'],
biè: ['彆'],
'qiáng jiàng qiǎng': ['彊'],
'jì xuě': ['彐'],
tuàn: ['彖', '褖'],
yuē: ['彟', '曰', '曱', '矱'],
'shān xiǎn': ['彡'],
wén: ['彣', '文', '炆', '珳', '瘒', '繧', '聞', '芠', '蚉', '蚊', '螡', '蟁', '閺', '閿', '闅', '闦', '闻', '阌', '雯', '馼', '駇', '魰', '鳼', '鴍', '鼤', '𫘜'],
'péng bāng': ['彭'],
'piāo piào': ['彯'],
'zhuó bó': ['彴'],
'tuǒ yí': ['彵'],
'páng fǎng': ['彷'],
wǎng: ['彺', '往', '徃', '惘', '枉', '棢', '網', '网', '罒', '罓', '罔', '罖', '菵', '蛧', '蝄', '誷', '輞', '辋', '魍'],
cú: ['徂', '殂'],
'dài dāi': ['待'],
huái: ['徊', '怀', '懐', '懷', '槐', '淮', '耲', '蘹', '褢', '褱', '踝'],
'wā wàng jiā': ['徍'],
'chěng zhèng': ['徎'],
'dé děi de': ['得'],
'cóng zòng': ['從'],
'shì tǐ': ['徥'],
'tí chí': ['徲', '鶗', '鶙'],
dé: ['徳', '德', '恴', '悳', '惪', '淂', '鍀', '锝'],
'zhǐ zhēng': ['徴', '徵'],
bié: ['徶', '癿', '莂', '蛂', '襒', '蹩'],
'chōng zhǒng': ['徸'],
'jiǎo jiào': ['徼', '笅', '筊'],
'lòng lǒng': ['徿'],
'qú jù': ['忂', '渠', '瞿', '螶'],
'dìng tìng': ['忊'],
gǎi: ['忋', '改'],
rěn: ['忍', '栠', '栣', '秹', '稔', '綛', '荏', '荵', '躵'],
chàn: ['忏', '懴', '懺', '硟', '羼', '韂', '顫'],
tè: ['忑', '慝', '特', '蟘', '鋱', '铽'],
'tè tēi tuī': ['忒'],
'gān hàn': ['忓', '攼'],
'yì qì': ['忔'],
'tài shì': ['忕'],
'xī liě': ['忚'],
'yīng yìng': ['応', '應', '譍'],
'mǐn wěn mín': ['忞', '忟'],
'sōng zhōng': ['忪'],
'yù shū': ['忬', '悆'],
'qí shì': ['忯', '耆'],
'tún zhūn dùn': ['忳'],
'qián qín': ['忴', '扲'],
hún: ['忶', '浑', '渾', '餛', '馄', '魂', '鼲'],
niǔ: ['忸', '扭', '炄', '狃', '紐', '纽', '莥', '鈕', '钮', '靵'],
'kuáng wǎng': ['忹'],
'kāng hàng': ['忼'],
'kài xì': ['忾', '愾'],
òu: ['怄', '慪'],
'bǎo bào': ['怉'],
'mín mén': ['怋'],
'zuò zhà': ['怍'],
zěn: ['怎'],
yàng: ['怏', '恙', '样', '様', '樣', '漾', '羕', '詇'],
'kòu jù': ['怐'],
'náo niú': ['怓'],
'zhēng zhèng': ['怔', '掙', '钲', '铮'],
'tiē zhān': ['怗'],
'hù gù': ['怘'],
'cū jù zū': ['怚'],
'sī sāi': ['思'],
'yóu chóu': ['怞'],
'tū dié': ['怢'],
'yōu yào': ['怮'],
xuàn: ['怰', '昡', '楦', '泫', '渲', '炫', '琄', '眩', '碹', '絢', '縼', '繏', '绚', '蔙', '衒', '袨', '贙', '鉉', '鏇', '铉', '镟', '颴'],
'xù xuè': ['怴'],
'bì pī': ['怶'],
'xī shù': ['怸'],
'nèn nín': ['恁'],
'tiāo yáo': ['恌'],
'xī qī xù': ['恓'],
'xiào jiǎo': ['恔'],
'hū kuā': ['恗'],
nǜ: ['恧', '朒', '衂', '衄'],
hèn: ['恨'],
'dòng tōng': ['恫'],
'quán zhuān': ['恮'],
'è wù ě wū': ['恶', '惡'],
tòng: ['恸', '慟', '憅', '痛', '衕'],
'yuān juàn': ['悁'],
'qiāo qiǎo': ['悄'],
'jiè kè': ['悈'],
'hào jiào': ['悎'],
huǐ: ['悔', '檓', '毀', '毁', '毇', '燬', '譭'],
'mán mèn': ['悗', '鞔'],
'yī yì': ['悘', '衣'],
quān: ['悛', '箞', '鐉', '𨟠'],
'kuī lǐ': ['悝'],
'yì niàn': ['悥'],
'mèn mēn': ['悶'],
guàn: ['悹', '悺', '惯', '慣', '掼', '摜', '樌', '欟', '泴', '涫', '潅', '灌', '爟', '瓘', '盥', '礶', '祼', '罆', '罐', '貫', '贯', '躀', '遦', '鏆', '鑵', '鱹', '鸛', '鹳'],
'kōng kǒng': ['悾'],
'lǔn lùn': ['惀'],
guǒ: ['惈', '果', '椁', '槨', '粿', '綶', '菓', '蜾', '裹', '褁', '輠', '餜', '馃'],
'yuān wǎn': ['惌', '箢'],
'lán lín': ['惏'],
'yù xù': ['惐', '淢'],
'chuò chuì': ['惙'],
'hūn mèn': ['惛'],
'chǎng tǎng': ['惝'],
'suǒ ruǐ': ['惢'],
cǎn: ['惨', '慘', '憯', '黪', '黲', '䅟'],
cán: ['惭', '慙', '慚', '残', '殘', '蚕', '蝅', '蠶', '蠺'],
'dàn dá': ['惮', '憚'],
rě: ['惹'],
'yú tōu': ['愉'],
'kài qì': ['愒'],
'dàng táng shāng yáng': ['愓'],
'chén xìn dān': ['愖'],
'kè qià': ['愘'],
nuò: ['愞', '懦', '懧', '掿', '搦', '榒', '稬', '穤', '糑', '糥', '糯', '諾', '诺', '蹃', '逽', '鍩', '锘'],
gǎn: ['感', '擀', '敢', '桿', '橄', '澉', '澸', '皯', '秆', '稈', '笴', '芉', '衦', '赶', '趕', '鱤', '鳡'],
'còng sōng': ['愡'],
'sāi sī sǐ': ['愢'],
'gōng gòng hǒng': ['愩', '慐'],
'shuò sù': ['愬', '洬'],
'yáo yào': ['愮'],
huàng: ['愰', '曂', '榥', '滉', '皝', '皩', '鎤', '㿠'],
zhěng: ['愸', '抍', '拯', '整', '晸'],
cǎo: ['愺', '艸', '草', '騲'],
'xì xié': ['慀'],
'cǎo sāo': ['慅'],
'xù chù': ['慉'],
'qiè qiàn': ['慊'],
'cáo cóng': ['慒'],
'ào áo': ['慠'],
'lián liǎn': ['慩', '梿', '槤', '櫣'],
'jìn qín jǐn': ['慬'],
'dì chì': ['慸'],
'zhí zhé': ['慹'],
'lóu lǚ': ['慺', '鷜'],
còng: ['憁', '謥'],
'zhī zhì': ['憄', '知', '織', '织'],
chēng: ['憆', '摚', '撐', '撑', '晿', '柽', '棦', '橕', '檉', '泟', '浾', '琤', '瞠', '碀', '緽', '罉', '蛏', '蟶', '赪', '赬', '鏿', '鐣', '阷', '靗', '頳', '饓'],
biē: ['憋', '虌', '鱉', '鳖', '鼈', '龞'],
'chéng dèng zhèng': ['憕'],
'xǐ xī': ['憘'],
'duì dùn tūn': ['憞'],
'xiāo jiāo': ['憢'],
'xián xiàn': ['憪'],
'liáo liǎo': ['憭', '燎', '爎', '爒'],
shéng: ['憴', '縄', '繉', '繩', '绳', '譝'],
'náo nǎo náng': ['憹'],
'jǐng jìng': ['憼'],
'jǐ jiǎo': ['憿'],
'xuān huān': ['懁'],
'cǎo sāo sào': ['懆'],
mèn: ['懑', '懣', '暪', '焖', '燜'],
'mèng méng měng': ['懜'],
'ài yì nǐ': ['懝'],
'méng měng': ['懞', '瞢', '矒'],
'qí jī jì': ['懠'],
mǒ: ['懡'],
'lán xiàn': ['懢'],
'yōu yǒu': ['懮'],
'liú liǔ': ['懰', '藰'],
ràng: ['懹', '譲', '讓', '让'],
huān: ['懽', '欢', '歓', '歡', '獾', '讙', '貛', '酄', '驩', '鴅', '鵍'],
nǎn: ['戁', '揇', '湳', '煵', '腩', '蝻', '赧'],
'mí mó': ['戂'],
'gàng zhuàng': ['戅', '戆'],
'zhuàng gàng': ['戇'],
'xū qu': ['戌'],
'xì hū': ['戏', '戯', '戲'],
'jiá gā': ['戛'],
zéi: ['戝', '蠈', '賊', '贼', '鰂', '鱡', '鲗'],
děng: ['戥', '等'],
'hū xì': ['戱'],
chuō: ['戳', '踔', '逴'],
'biǎn piān': ['扁'],
'shǎng jiōng': ['扄'],
'shàn shān': ['扇'],
cái: ['才', '材', '纔', '裁', '財', '财'],
'zhā zā zhá': ['扎'],
'lè lì cái': ['扐'],
'bā pá': ['扒'],
'dǎ dá': ['打'],
rēng: ['扔'],
'fǎn fú': ['払'],
'diǎo dí yuē lì': ['扚'],
'káng gāng': ['扛'],
'yū wū': ['扜'],
'yū wū kū': ['扝'],
'tuō chǐ yǐ': ['扡'],
'gǔ jié xì gē': ['扢'],
dèn: ['扥', '扽'],
'sǎo sào': ['扫', '掃'],
rǎo: ['扰', '擾', '隢'],
'xī chā qì': ['扱'],
'bān pān': ['扳'],
'bā ào': ['扷'],
'xī zhé': ['扸'],
'zhì sǔn kǎn': ['扻'],
zhǎo: ['找', '沼', '瑵'],
'kuáng wǎng zài': ['抂'],
'hú gǔ': ['抇', '鹄', '鹘'],
'bǎ bà': ['把'],
'dǎn shěn': ['抌'],
'nè nì ruì nà': ['抐'],
zhuā: ['抓', '檛', '簻', '膼', '髽'],
póu: ['抔', '裒'],
'zhé shé zhē': ['折'],
'póu pōu fū': ['抙', '捊'],
pāo: ['抛', '拋', '脬', '萢'],
'ǎo ào niù': ['抝'],
'lūn lún': ['抡', '掄'],
'qiǎng qiāng chēng': ['抢'],
'zhǐ zhǎi': ['抧'],
'bù pū': ['抪', '柨'],
'yǎo tāo': ['抭'],
'hē hè qiā': ['抲'],
'nǐ ní': ['抳'],
'pī pēi': ['抷'],
'mǒ mò mā': ['抹'],
chōu: ['抽', '犨', '犫', '瘳', '篘'],
'jiā yá': ['拁'],
'fú bì': ['拂', '畐', '鶝'],
zhǎ: ['拃', '眨', '砟', '鮺', '鲝'],
'dān dàn dǎn': ['担'],
'chāi cā': ['拆'],
niān: ['拈', '蔫'],
'lā lá lǎ là': ['拉'],
'bàn pàn': ['拌'],
pāi: ['拍'],
līn: ['拎'],
guǎi: ['拐', '枴', '柺'],
'tuò tà zhí': ['拓'],
'ào ǎo niù': ['拗'],
'jū gōu': ['拘'],
'pīn pàn fān': ['拚'],
'bài bái': ['拜'],
bài: ['拝', '敗', '稗', '粺', '薭', '贁', '败', '韛'],
qiá: ['拤'],
'nǐng níng nìng': ['拧'],
'zé zhái': ['择', '擇'],
hén: ['拫', '痕', '鞎'],
'kuò guā': ['括'],
'jié jiá': ['拮'],
nǐn: ['拰'],
shuān: ['拴', '栓', '閂', '闩'],
'cún zùn': ['拵'],
'zā zǎn': ['拶', '桚'],
kǎo: ['拷', '攷', '栲', '烤', '考'],
'yí chǐ hài': ['拸'],
'cè sè chuò': ['拺'],
'zhuài zhuāi yè': ['拽'],
'shí shè': ['拾'],
bāi: ['挀', '掰'],
'kuò guāng': ['挄'],
nòng: ['挊', '挵', '齈'],
'jiào jiāo': ['挍', '敎', '教'],
'kuà kū': ['挎'],
'ná rú': ['挐'],
'tiāo tiǎo': ['挑'],
'dié shè': ['挕'],
liě: ['挘', '毟'],
'yà yǎ': ['挜', '掗'],
'wō zhuā': ['挝'],
'xié jiā': ['挟', '挾'],
'dǎng dàng': ['挡', '擋'],
'zhèng zhēng': ['挣', '正', '症'],
'āi ái': ['挨'],
'tuō shuì': ['挩', '捝'],
'tǐ tì': ['挮'],
'suō shā': ['挱'],
'sā shā suō': ['挲'],
'kēng qiān': ['挳', '摼'],
'bàng péng': ['挷'],
'ruó ruá': ['挼'],
'jiǎo kù': ['捁'],
'wǔ wú': ['捂'],
tǒng: ['捅', '桶', '筒', '筩', '統', '綂', '统', '㛚'],
'huò chì': ['捇'],
'tú shū chá': ['捈'],
'lǚ luō': ['捋'],
'shāo shào': ['捎', '稍'],
niē: ['捏', '揑'],
'shù sǒng sōu': ['捒'],
'yé yú': ['捓'],
'jué zhuó': ['捔'],
'bù pú zhì': ['捗'],
zùn: ['捘', '銌'],
lāo: ['捞', '撈', '粩'],
sǔn: ['损', '損', '榫', '笋', '筍', '箰', '鎨', '隼'],
'wàn wǎn wān yù': ['捥'],
pěng: ['捧', '淎', '皏'],
shě: ['捨'],
'fǔ fù bǔ': ['捬'],
dáo: ['捯'],
'luò luǒ wǒ': ['捰'],
'juǎn quán': ['捲'],
'chēn tiǎn': ['捵'],
'niǎn niē': ['捻'],
'ruó wěi ré': ['捼'],
zuó: ['捽', '昨', '秨', '稓', '筰', '莋', '鈼'],
'wò xiá': ['捾'],
'qìng qiàn': ['掅'],
'póu pǒu': ['掊'],
qiā: ['掐', '葜'],
'pái pǎi': ['排'],
'qiān wàn': ['掔'],
'yè yē': ['掖'],
'niè nǐ yì': ['掜'],
'huò xù': ['掝'],
'yàn shàn yǎn': ['掞'],
'zhěng dìng': ['掟'],
kòng: ['控', '鞚'],
tuī: ['推', '蓷', '藬'],
'zōu zhōu chōu': ['掫'],
tiàn: ['掭', '舚'],
kèn: ['掯', '裉', '褃'],
pá: ['掱', '杷', '潖', '爬', '琶', '筢'],
'guó guāi': ['掴'],
'dǎn shàn': ['掸', '撣'],
'chān xiān càn shǎn': ['掺'],
sāo: ['掻', '搔', '溞', '繅', '缫', '螦', '騒', '騷', '鰠', '鱢', '鳋'],
pèng: ['掽', '椪', '槰', '碰', '踫'],
'zhēng kēng': ['揁'],
'jiū yóu': ['揂'],
'jiān jiǎn': ['揃', '籛'],
'pì chè': ['揊'],
'sāi zǒng cāi': ['揌'],
'tí dī dǐ': ['提'],
'zǒng sōng': ['揔'],
'huáng yóng': ['揘'],
'zǎn zuàn': ['揝'],
'xū jū': ['揟'],
'ké qiā': ['揢'],
'chuāi chuǎi chuài tuán zhuī': ['揣'],
'dì tì': ['揥'],
'lá là': ['揦'],
là: ['揧', '楋', '溂', '瓎', '瘌', '翋', '臘', '蝋', '蝲', '蠟', '辢', '辣', '鑞', '镴', '鬎', '鯻', '𬶟'],
'jiē qì': ['揭'],
'chòng dǒng': ['揰'],
'dié shé yè': ['揲'],
'jiàn qián jiǎn': ['揵'],
yé: ['揶', '爷', '爺', '瑘', '鋣', '鎁', '铘'],
chān: ['搀', '摻', '攙', '裧', '襜', '覘', '觇', '辿', '鋓'],
'gē gé': ['搁', '擱'],
'lǒu lōu': ['搂', '摟'],
'chōu zǒu': ['搊'],
chuāi: ['搋'],
sūn: ['搎', '槂', '狲', '猻', '荪', '蓀', '蕵', '薞', '飧', '飱'],
'róng náng nǎng': ['搑'],
'péng bàng': ['搒'],
cuō: ['搓', '瑳', '磋', '蹉', '遳', '醝'],
'kē è': ['搕'],
'nù nuò nòu': ['搙'],
'lā xié xiàn': ['搚'],
qiǔ: ['搝', '糗'],
'xiǎn xiān': ['搟'],
'jié zhé': ['搩'],
'pán bān pó': ['搫'],
bān: ['搬', '攽', '斑', '斒', '班', '瘢', '癍', '肦', '螁', '螌', '褩', '辬', '頒', '颁', '𨭉'],
'zhì nái': ['搱'],
'wā wǎ wà': ['搲'],
huá: ['搳', '撶', '滑', '猾', '蕐', '螖', '譁', '鏵', '铧', '驊', '骅', '鷨'],
'qiāng qiǎng chēng': ['搶'],
'tián shēn': ['搷'],
'ná nuò': ['搻'],
èn: ['摁'],
'shè niè': ['摄', '攝'],
bìn: ['摈', '擯', '殡', '殯', '膑', '臏', '髌', '髕', '髩', '鬂', '鬓', '鬢'],
'shā sà shǎi': ['摋'],
'chǎn sùn': ['摌'],
'jiū liú liáo jiǎo náo': ['摎'],
'féng pěng': ['摓'],
shuāi: ['摔'],
'dì tú zhí': ['摕'],
'qì jì chá': ['摖'],
'sōu sǒng': ['摗'],
'liǎn liàn': ['摙'],
'gài xì': ['摡'],
'hù chū': ['摢'],
tàng: ['摥', '烫', '燙', '鐋'],
'nái zhì': ['摨'],
'mó mā': ['摩'],
'jiāng qiàng': ['摪'],
'áo qiáo': ['摮'],
'niè chè': ['摰'],
'mán màn': ['摱'],
'chàn cán': ['摲'],
'sè mí sù': ['摵'],
'biāo biào': ['摽'],
'juē jué': ['撅'],
piē: ['撆', '暼', '氕', '瞥'],
'piě piē': ['撇'],
'zǎn zān zēn qián': ['撍'],
'sā sǎ': ['撒'],
hòng: ['撔', '訌', '讧', '闀', '鬨'],
'héng guàng': ['撗'],
niǎn: ['撚', '撵', '攆', '涊', '焾', '碾', '簐', '蹍', '蹨', '躎', '輦', '辇'],
'chéng zhěng': ['撜'],
'huī wéi': ['撝'],
cāo: ['撡', '操', '糙'],
'xiāo sōu': ['撨'],
'liáo liāo': ['撩'],
'cuō zuǒ': ['撮'],
'wěi tuǒ': ['撱'],
cuān: ['撺', '攛', '汆', '蹿', '躥', '鑹', '镩'],
'qiào yāo jī': ['撽'],
'zhuā wō': ['撾'],
'lèi léi': ['擂'],
nǎng: ['擃', '攮', '曩', '灢'],
'qíng jǐng': ['擏'],
kuǎi: ['擓', '蒯', '㧟'],
'pǐ bò': ['擗'],
'bò bāi': ['擘'],
'jù jǐ': ['據'],
mēng: ['擝'],
'sǒu sòu': ['擞'],
xǐng: ['擤', '箵', '醒'],
cā: ['擦'],
'níng nǐng nìng': ['擰'],
'zhì jié': ['擳'],
'là liè': ['擸', '爉'],
'sòu sǒu': ['擻'],
'lì luò yuè': ['擽'],
'tī zhāi zhì': ['擿'],
pān: ['攀', '潘', '眅', '萠'],
lèi: ['攂', '泪', '涙', '淚', '禷', '类', '纇', '蘱', '酹', '銇', '錑', '頛', '頪', '類', '颣'],
'cā sǎ': ['攃'],
'jùn pèi': ['攈'],
'lì luò': ['攊', '躒'],
'là lài': ['攋', '櫴'],
'lú luó': ['攎'],
'zǎn cuán': ['攒'],
'xiān jiān': ['攕'],
'mí mǐ mó': ['攠'],
'zǎn cuán zàn zuān': ['攢'],
zuàn: ['攥'],
'lì shài': ['攦'],
'lì luǒ': ['攭'],
'guǐ guì': ['攱'],
'jī qī yǐ': ['攲'],
fàng: ['放'],
'wù móu': ['敄'],
'chù shōu': ['敊'],
'gé guó è': ['敋'],
'duó duì': ['敓', '敚'],
'duō què': ['敠', '敪'],
'sàn sǎn': ['散'],
'dūn duì': ['敦', '镦'],
'qī yǐ jī': ['敧'],
'xiào xué': ['敩'],
'shù shǔ shuò': ['数', '數'],
'ái zhú': ['敱', '敳'],
'xiòng xuàn': ['敻'],
'zhuó zhú': ['斀'],
'yì dù': ['斁'],
'lí tái': ['斄'],
'fěi fēi': ['斐'],
'yǔ zhōng': ['斔'],
'dòu dǒu': ['斗'],
'wò guǎn': ['斡'],
'tǒu tiǎo': ['斢'],
dòu: ['斣', '梪', '浢', '痘', '窦', '竇', '脰', '荳', '豆', '逗', '郖', '酘', '閗', '闘', '餖', '饾', '鬥', '鬦', '鬪', '鬬', '鬭'],
'yín zhì': ['斦'],
'chǎn jiè': ['斺'],
'wū yū yú': ['於'],
'yóu liú': ['斿'],
'páng bàng': ['旁'],
'máo mào': ['旄'],
'pī bì': ['旇'],
'xuán xuàn': ['旋'],
'wú mó': ['无'],
zǎo: ['早', '枣', '栆', '棗', '澡', '璪', '薻', '藻', '蚤'],
gā: ['旮'],
'gàn hàn': ['旰'],
'tái yīng': ['旲'],
'xū xù': ['旴'],
'tūn zhùn': ['旽'],
'wù wǔ': ['旿'],
'pò pèi': ['昢'],
zòng: ['昮', '猔', '疭', '瘲', '粽', '糉', '糭', '縦'],
ǎi: ['昹', '毐', '矮', '蔼', '藹', '譪', '躷', '霭', '靄'],
'huàng huǎng': ['晃'],
xuǎn: ['晅', '癣', '癬', '选', '選'],
'xù kuā': ['晇'],
hǒng: ['晎'],
shài: ['晒', '曬'],
'yūn yùn': ['晕', '煴'],
'shèng chéng': ['晟', '椉', '盛'],
'jǐng yǐng': ['景'],
shǎn: ['晱', '熌', '睒', '覢', '閃', '闪', '陕', '陝'],
'qǐ dù': ['晵'],
'ǎn àn yǎn': ['晻'],
'wǎng wàng': ['暀'],
zàn: ['暂', '暫', '瓉', '瓒', '瓚', '禶', '襸', '讃', '讚', '賛', '贊', '赞', '蹔', '鄼', '錾', '鏨', '饡'],
'yùn yūn': ['暈'],
'mín mǐn': ['暋'],
'dǔ shǔ': ['暏'],
shǔ: ['暑', '曙', '潻', '癙', '糬', '署', '薥', '薯', '藷', '蜀', '蠴', '襡', '襩', '鱪', '鱰', '黍', '鼠', '鼡'],
'jiǎn lán': ['暕'],
nuǎn: ['暖', '煗', '餪'],
'bào pù': ['暴'],
'xī xǐ': ['暿'],
'pù bào': ['曝', '瀑'],
'qū qǔ': ['紶'],
'qǔ qū': ['曲'],
'gèng gēng': ['更'],
'hū hù': ['曶', '雽'],
'zēng céng': ['曽', '橧'],
'céng zēng': ['曾', '竲'],
'cǎn qián jiàn': ['朁'],
'qiè hé': ['朅'],
'bì pí': ['朇', '禆', '笓', '裨'],
'yǒu yòu': ['有'],
'bān fén': ['朌', '鳻'],
'fú fù': ['服', '洑'],
'fěi kū': ['朏', '胐'],
'qú xù chǔn': ['朐'],
'juān zuī': ['朘'],
'huāng máng wáng': ['朚'],
'qī jī': ['期'],
'tóng chuáng': ['朣', '橦'],
zhá: ['札', '牐', '箚', '蚻', '譗', '鍘', '铡', '閘', '闸'],
'zhú shù shú': ['朮'],
'shù shú zhú': ['术'],
'zhū shú': ['朱'],
'pǔ pò pō piáo': ['朴'],
'dāo tiáo mù': ['朷'],
'guǐ qiú': ['朹'],
xiǔ: ['朽', '滫', '潃', '糔'],
'chéng chēng': ['朾'],
zá: ['杂', '沯', '砸', '襍', '雑', '雜', '雥', '韴'],
'yú wū': ['杅'],
'gān gǎn': ['杆'],
'chā chà': ['杈'],
'shān shā': ['杉'],
cūn: ['村', '皴', '竴', '膥', '踆', '邨'],
'rèn ér': ['杒', '梕'],
'sháo biāo': ['杓'],
'dì duò': ['杕', '枤'],
'gū gài': ['杚'],
'yí zhì lí duò': ['杝'],
'gàng gāng': ['杠'],
'tiáo tiāo': ['条', '條'],
'mà mǎ': ['杩'],
'sì zhǐ xǐ': ['杫'],
'yuán wán': ['杬', '蚖'],
'bèi fèi': ['杮'],
'shū duì': ['杸'],
'niǔ chǒu': ['杻'],
'wò yuè': ['枂', '臒'],
máo: ['枆', '毛', '氂', '渵', '牦', '矛', '罞', '茅', '茆', '蝥', '蟊', '軞', '酕', '鉾', '錨', '锚', '髦', '鶜'],
'pī mì': ['枈'],
àng: ['枊', '盎', '醠'],
'fāng bìng': ['枋'],
'hù dǐ': ['枑'],
xín: ['枔', '襑', '鐔', '鬵'],
'yāo yǎo': ['枖'],
'ě è': ['枙'],
'zhī qí': ['枝'],
'cōng zōng': ['枞', '樅'],
'xiān zhēn': ['枮'],
'tái sì': ['枱'],
'gǒu jǔ gōu': ['枸'],
'bāo fú': ['枹'],
'yì xiè': ['枻', '栧'],
'tuó duò': ['柁', '馱', '駄', '驮'],
'yí duò lí': ['柂'],
'nǐ chì': ['柅'],
'pán bàn': ['柈', '跘'],
'yǎng yàng yāng yīng': ['柍'],
'fù fū fǔ': ['柎'],
'bǎi bó bò': ['柏'],
mǒu: ['某'],
'sháo shào': ['柖'],
zhè: ['柘', '樜', '浙', '淛', '蔗', '蟅', '這', '鷓', '鹧', '䗪'],
'yòu yóu': ['柚', '櫾'],
'guì jǔ': ['柜'],
'zhà zuò': ['柞'],
'dié zhì': ['柣', '眰'],
'zhā zǔ zū': ['柤'],
'chá zhā': ['查', '査'],
'āo ào': ['柪', '軪'],
'bā fú pèi bó biē': ['柭'],
'duò zuó wù': ['柮'],
'bì bié': ['柲'],
'zhù chù': ['柷'],
'bēi pēi': ['柸'],
'shì fèi': ['柹'],
'shān zhà shi cè': ['栅'],
'lì yuè': ['栎', '櫟'],
'qì qiè': ['栔', '砌'],
'qī xī': ['栖', '蹊'],
'guā kuò': ['栝'],
'bīng bēn': ['栟'],
'xiào jiào': ['校'],
'jiàn zùn': ['栫', '袸'],
'yǒu yù': ['栯'],
'hé hú': ['核'],
gēn: ['根', '跟'],
'zhī yì': ['栺'],
'gé gē': ['格'],
'héng háng': ['桁'],
'guàng guāng': ['桄'],
'yí tí': ['桋', '荑'],
sāng: ['桑', '桒', '槡'],
'jú jié': ['桔'],
'yú móu': ['桙'],
'ráo náo': ['桡', '橈'],
'guì huì': ['桧', '檜'],
'chén zhèn': ['桭'],
'tīng yíng': ['桯'],
'bó po': ['桲'],
'bèn fàn': ['桳'],
'fēng fèng': ['桻', '葑'],
'sù yìn': ['梀'],
'tǐng tìng': ['梃'],
'xuān juān xié': ['梋'],
'tú chá': ['梌'],
'āo yòu': ['梎'],
kuǎn: ['梡', '欵', '款', '歀'],
'shāo sào': ['梢'],
'qín chén cén': ['梣'],
'lí sì qǐ': ['梩'],
'chān yán': ['梴'],
'bīn bīng': ['梹', '槟', '檳'],
'táo chóu dào': ['梼'],
'cōng sōng': ['棇'],
'gùn hùn': ['棍'],
'dé zhé': ['棏'],
'pái bèi pèi': ['棑'],
'bàng pǒu bèi bēi': ['棓'],
'dì dài tì': ['棣'],
sēn: ['森', '椮', '槮', '襂'],
'rěn shěn': ['棯'],
'léng lēng líng': ['棱'],
'fú sù': ['棴'],
'zōu sǒu': ['棷'],
zōu: ['棸', '箃', '緅', '諏', '诹', '邹', '郰', '鄒', '鄹', '陬', '騶', '驺', '鯫', '鲰', '黀', '齱', '齺'],
'zhào zhuō': ['棹'],
'chēn shēn': ['棽'],
'jiē qiè': ['椄'],
'yǐ yī': ['椅'],
'chóu zhòu diāo': ['椆'],
'qiāng kōng': ['椌'],
'zhuī chuí': ['椎'],
'bēi pí': ['椑'],
mēn: ['椚'],
'quān juàn quán': ['椦'],
'duǒ chuán': ['椯'],
'wěi huī': ['椲'],
'jiǎ jiā': ['椵'],
'hán jiān': ['椷'],
'shèn zhēn': ['椹'],
'yàn yà': ['椻'],
'zhā chá': ['楂'],
'guō kuǎ': ['楇'],
'jí zhì': ['楖'],
'kǔ hù': ['楛'],
'yóu yǒu': ['楢'],
'sǒng cōng': ['楤'],
'yuán xuàn': ['楥'],
'yǎng yàng yīng': ['楧'],
pián: ['楩', '胼', '腁', '賆', '蹁', '駢', '騈', '骈', '骿', '㛹'],
'dié yè': ['楪'],
'dùn shǔn': ['楯'],
'còu zòu': ['楱'],
'dì dǐ shì': ['楴'],
'kǎi jiē': ['楷'],
'róu ròu': ['楺'],
'lè yuè': ['楽'],
'wēn yùn': ['榅', '鞰'],
lǘ: ['榈', '櫚', '氀', '膢', '藘', '閭', '闾', '驢', '驴'],
shén: ['榊', '神', '鉮', '鰰', '𬬹'],
'bī pi': ['榌'],
'zhǎn niǎn zhèn': ['榐'],
'fú fù bó': ['榑'],
'jiàn jìn': ['榗'],
'bǎng bàng': ['榜'],
'shā xiè': ['榝', '樧'],
nòu: ['槈', '耨', '鎒', '鐞'],
'qiǎn lián xiàn': ['槏'],
gàng: ['槓', '焵', '焹', '筻', '鿍'],
gāo: ['槔', '槹', '橰', '櫜', '睾', '篙', '糕', '羔', '臯', '韟', '餻', '高', '髙', '鷎', '鷱', '鼛'],
'diān zhěn zhēn': ['槙'],
'kǎn jiàn': ['槛'],
'xí dié': ['槢'],
'jī guī': ['槣'],
'róng yōng': ['槦'],
'tuán shuàn quán': ['槫'],
'qì sè': ['槭'],
'cuī zhǐ': ['槯'],
'yǒu chǎo': ['槱'],
'màn wàn': ['槾'],
'lí chī': ['樆'],
'léi lěi': ['樏', '櫑', '礌'],
'cháo jiǎo chāo': ['樔'],
'chēng táng': ['樘'],
'jiū liáo': ['樛'],
'mó mú': ['模'],
'niǎo mù': ['樢'],
'héng hèng': ['横', '橫'],
xuě: ['樰', '膤', '艝', '轌', '雪', '鱈', '鳕'],
'fá fèi': ['橃'],
rùn: ['橍', '润', '潤', '膶', '閏', '閠', '闰'],
'zhǎn jiǎn': ['橏'],
shùn: ['橓', '瞚', '瞬', '舜', '蕣', '順', '顺', '鬊'],
'tuí dūn': ['橔'],
'táng chēng': ['橖'],
'sù qiū': ['橚'],
'tán diàn': ['橝'],
'fén fèn fèi': ['橨'],
'rǎn yān': ['橪'],
'cū chu': ['橻'],
'shū qiāo': ['橾'],
'píng bò': ['檘'],
'zhái shì tú': ['檡'],
'biǎo biāo': ['檦'],
'qiān lián': ['檶'],
'nǐ mí': ['檷'],
'jiàn kǎn': ['檻'],
'nòu ruǎn rú': ['檽'],
'jī jì': ['櫅', '禨'],
'huǎng guǒ gǔ': ['櫎'],
'lǜ chū': ['櫖'],
'miè mèi': ['櫗'],
ōu: ['櫙', '欧', '歐', '殴', '毆', '瓯', '甌', '膒', '藲', '謳', '讴', '鏂', '鴎', '鷗', '鸥'],
'zhù zhuó': ['櫡'],
'jué jì': ['櫭'],
'huái guī': ['櫰'],
'chán zhàn': ['欃'],
'wéi zuì': ['欈'],
cáng: ['欌', '鑶'],
'yù yì': ['欥'],
'chù qù xì': ['欪'],
'kài ài': ['欬'],
'yì yīn': ['欭'],
'xì kài': ['欯'],
'shuò sòu': ['欶'],
'ǎi ēi éi ěi èi ê̄ ế ê̌ ề': ['欸'],
'qī yī': ['欹'],
'chuā xū': ['欻'],
'chǐ chuài': ['欼'],
'kǎn qiàn': ['欿'],
'kǎn kè': ['歁'],
'chuǎn chuán': ['歂'],
'yīn yān': ['歅'],
'jìn qūn': ['歏'],
pēn: ['歕'],
'xū chuā': ['歘'],
'xī shè': ['歙'],
'liǎn hān': ['歛'],
'zhì chí': ['歭'],
'sè shà': ['歰'],
sǐ: ['死'],
'wěn mò': ['歾'],
piǎo: ['殍', '皫', '瞟', '醥', '顠'],
'qíng jìng': ['殑'],
'fǒu bó': ['殕'],
'zhí shi': ['殖'],
'yè yān yàn': ['殗'],
'hūn mèi': ['殙'],
chòu: ['殠', '臰', '遚'],
'kuì huì': ['殨', '溃', '潰'],
cuàn: ['殩', '熶', '爨', '窜', '竄', '篡', '簒'],
'yīn yān yǐn': ['殷'],
'qìng kēng shēng': ['殸'],
'yáo xiáo xiào': ['殽'],
'gū gǔ': ['毂', '蛄'],
'guàn wān': ['毌'],
'dú dài': ['毒'],
'xún xùn': ['毥'],
mú: ['毪', '氁'],
'dòu nuò': ['毭'],
'sāi suī': ['毸'],
lu: ['氇'],
sào: ['氉', '瘙', '矂', '髞'],
'shì zhī': ['氏'],
'dī dǐ': ['氐'],
'máng méng': ['氓'],
'yáng rì': ['氜'],
shuǐ: ['水', '氵', '氺', '閖'],
'zhěng chéng zhèng': ['氶'],
tǔn: ['氽'],
'fán fàn': ['氾'],
'guǐ jiǔ': ['氿'],
'bīn pà pā': ['汃'],
'zhuó què': ['汋'],
'dà tài': ['汏'],
pìn: ['汖', '牝', '聘'],
'hàn hán': ['汗', '馯'],
tu: ['汢'],
'tāng shāng': ['汤', '湯'],
'zhī jì': ['汥'],
'gàn hán cén': ['汵'],
'wèn mén': ['汶'],
'fāng pāng': ['汸'],
'hǔ huǎng': ['汻'],
'niú yóu': ['汼'],
hàng: ['沆'],
'shěn chén': ['沈'],
'dùn zhuàn': ['沌'],
'nǜ niǔ': ['沑'],
'méi mò': ['沒', '没'],
'tà dá': ['沓'],
'mì wù': ['沕'],
'hóng pāng': ['沗'],
'shā shà': ['沙'],
'zhuǐ zǐ': ['沝'],
'ōu òu': ['沤', '漚'],
'jǔ jù': ['沮'],
'tuō duó': ['沰'],
'mǐ lì': ['沵'],
'yí chí': ['沶'],
'xiè yì': ['泄'],
'bó pō': ['泊'],
'mì bì': ['泌', '秘'],
'chù shè': ['泏'],
'yōu yòu āo': ['泑'],
'pēng píng': ['泙', '硑'],
'pào pāo': ['泡'],
'ní nì': ['泥', '秜'],
'yuè sà': ['泧'],
'jué xuè': ['泬', '疦'],
'lóng shuāng': ['泷', '瀧'],
'luò pō': ['泺', '濼'],
'zé shì': ['泽', '澤'],
'sǎ xǐ': ['洒'],
'sè qì zì': ['洓'],
'xǐ xiǎn': ['洗'],
'kǎo kào': ['洘'],
'àn yàn è': ['洝'],
'lěi lèi': ['洡'],
'qiè jié': ['洯'],
'qiǎn jiān': ['浅'],
'jì jǐ': ['济', '済', '濟', '纪'],
'hǔ xǔ': ['浒', '滸'],
'jùn xùn': ['浚', '濬'],
'yǐng chéng yíng': ['浧'],
'liàn lì': ['浰'],
'féng hóng': ['浲', '溄'],
'jiǒng jiōng': ['浻'],
'suī něi': ['浽'],
'yǒng chōng': ['涌'],
'tūn yūn': ['涒'],
'wō guō': ['涡', '渦'],
hēng: ['涥', '脝'],
'zhǎng zhàng': ['涨', '漲'],
'shòu tāo': ['涭'],
shuàn: ['涮', '腨'],
'kōng náng': ['涳'],
'wò wǎn yuān': ['涴'],
'tuō tuò': ['涶'],
wō: ['涹', '猧', '窝', '窩', '莴', '萵', '蜗', '蝸', '踒'],
'qiè jí': ['淁'],
'guǒ guàn': ['淉'],
'lín lìn': ['淋', '獜', '疄'],
'tǎng chǎng': ['淌'],
'nào chuò zhuō': ['淖'],
'péng píng': ['淜'],
féi: ['淝', '肥', '腓', '蜰'],
'pì pèi': ['淠'],
'niǎn shěn': ['淰'],
'biāo hǔ': ['淲'],
'chún zhūn': ['淳'],
'hùn hún': ['混'],
qiǎn: ['淺', '繾', '缱', '肷', '膁', '蜸', '譴', '谴', '遣', '鑓'],
'wèn mín': ['渂'],
'rè ruò luò': ['渃'],
'dú dòu': ['渎', '瀆', '读'],
'jiàn jiān': ['渐', '溅', '漸', '濺'],
'miǎn shéng': ['渑', '澠'],
'nuǎn nuán': ['渜'],
'qiú wù': ['渞'],
'tíng tīng': ['渟'],
'dì tí dī': ['渧'],
'gǎng jiǎng': ['港'],
'hōng qìng': ['渹'],
tuān: ['湍', '煓'],
'huì mǐn xū': ['湏'],
'xǔ xù': ['湑'],
pén: ['湓', '瓫', '盆', '葐'],
'mǐn hūn': ['湣'],
'tuàn nuǎn': ['湪'],
'qiū jiǎo': ['湫', '湬'],
'yān yīn': ['湮'],
'bàn pán': ['湴'],
'zhuāng hún': ['湷'],
'yàn guì': ['溎'],
'lián liǎn nián xián xiàn': ['溓'],
'dá tǎ': ['溚', '鿎'],
'liū liù': ['溜', '澑', '蹓'],
lùn: ['溣'],
mǎ: ['溤', '犸', '獁', '玛', '瑪', '码', '碼', '遤', '鎷', '馬', '马', '鰢', '鷌'],
'zhēn qín': ['溱'],
'nì niào': ['溺'],
'chù xù': ['滀', '畜'],
'wěng wēng': ['滃'],
'hào xuè': ['滈'],
'qì xì xiē': ['滊'],
'xíng yíng': ['滎'],
'zé hào': ['滜'],
'piāo piào piǎo': ['漂'],
'cóng sǒng': ['漎'],
'féng péng': ['漨'],
'luò tà': ['漯'],
'pēng bēn': ['漰'],
'chóng shuāng': ['漴'],
'huǒ kuò huò': ['漷'],
'liáo liú': ['漻'],
'cuǐ cuī': ['漼'],
'cóng zǒng': ['潀'],
'cóng zōng': ['潈'],
'pì piē': ['潎'],
'dàng xiàng': ['潒'],
'huáng guāng': ['潢'],
'liáo lào lǎo': ['潦'],
'cōng zòng': ['潨'],
'zhí zhì': ['潪'],
'tān shàn': ['潬'],
'tú zhā': ['潳'],
'sàn sǎ': ['潵'],
hēi: ['潶', '黑', '黒', '𬭶'],
'chéng dèng': ['澄', '瀓'],
'cūn cún': ['澊'],
'péng pēng': ['澎'],
'hòng gǒng': ['澒', '銾'],
'wàn màn': ['澫'],
'kuài huì': ['澮'],
'guō wō': ['濄'],
'pēn fén': ['濆'],
'jí shà': ['濈'],
'huì huò': ['濊'],
'dǐng tìng': ['濎'],
'mǐ nǐ': ['濔'],
'bì pì': ['濞'],
'cuì zuǐ': ['濢'],
'hù huò': ['濩'],
'ǎi kài kè': ['濭'],
'wěi duì': ['濻', '瀢'],
'zàn cuán': ['濽', '灒'],
'yǎng yàng': ['瀁'],
'wǎng wāng': ['瀇'],
'mò miè': ['瀎', '眜'],
suǐ: ['瀡', '膸', '髓'],
'huái wāi': ['瀤'],
'zùn jiàn': ['瀳'],
'yīng yǐng yìng': ['瀴'],
'ráng ràng': ['瀼'],
shuàng: ['灀'],
'zhuó jiào zé': ['灂'],
sǎ: ['灑', '訯', '靸'],
'luán luàn': ['灓'],
'dǎng tǎng': ['灙'],
'xún quán quàn': ['灥'],
'huǒ biāo': ['灬'],
'zhà yù': ['灹'],
'fén bèn': ['炃'],
'jiǒng guì': ['炅'],
'pàng fēng': ['炐'],
quē: ['炔', '缺', '缼', '蒛'],
biān: ['炞', '煸', '甂', '砭', '笾', '箯', '籩', '編', '编', '蝙', '邉', '邊', '鍽', '鞭', '鯾', '鯿', '鳊'],
'zhāo zhào': ['炤'],
'zhuō chù': ['炪'],
'pào páo bāo': ['炮'],
'páo fǒu': ['炰'],
'shǎn qián shān': ['炶'],
'zhà zhá': ['炸'],
'jiǎo yào': ['烄'],
quǎn: ['烇', '犬', '犭', '畎', '綣', '绻', '虇'],
'yàng yáng': ['烊'],
'lào luò': ['烙'],
'huí huǐ': ['烠'],
rè: ['热', '熱'],
'fú páo': ['烰'],
'xiè chè': ['烲', '焎'],
'yàn shān': ['烻'],
'hūn xūn': ['焄'],
kào: ['焅', '犒', '銬', '铐', '靠', '鮳', '鯌', '鲓', '㸆'],
'juān yè': ['焆'],
'jùn qū': ['焌'],
'tāo dào': ['焘'],
'chǎo jù': ['焣'],
'wò ài': ['焥'],
'zǒng cōng': ['焧'],
'xī yì': ['焬'],
'xìn xīn': ['焮'],
'chāo zhuō': ['焯'],
'xiǒng yīng': ['焸', '焽'],
kuǐ: ['煃', '跬', '蹞', '頍', '𫠆'],
'huī yùn xūn': ['煇'],
'jiǎo qiāo': ['煍'],
'qián shǎn shān': ['煔'],
'xī yí': ['煕'],
'shà shā': ['煞'],
'yè zhá': ['煠'],
'yáng yàng': ['煬'],
'ēn yūn': ['煾'],
'yūn yǔn': ['熅'],
'hè xiāo': ['熇'],
xióng: ['熊', '熋', '雄'],
'xūn xùn': ['熏', '爋'],
gòng: ['熕', '貢', '贡'],
liū: ['熘'],
'cōng zǒng': ['熜'],
'lù āo': ['熝'],
'shú shóu': ['熟'],
'fēng péng': ['熢'],
'cuǐ suī': ['熣'],
tēng: ['熥', '膯', '鼟'],
'yùn yù': ['熨'],
'áo āo': ['熬'],
'hàn rǎn': ['熯'],
'ōu ǒu': ['熰'],
'huáng huǎng': ['熿'],
'chǎn dǎn chàn': ['燀'],
'jiāo zhuó qiáo jué': ['燋'],
'yàn yān': ['燕'],
'tài liè': ['燤'],
āo: ['爊'],
'yàn xún': ['爓'],
'jué jiào': ['爝', '覐', '覚', '覺', '觉'],
'lǎn làn': ['爦'],
'zhuǎ zhǎo': ['爪'],
'zhǎo zhuǎ': ['爫'],
'fù fǔ': ['父'],
diē: ['爹', '褺', '跌'],
zāng: ['牂', '羘', '臧', '賍', '賘', '贓', '贜', '赃', '髒'],
'piàn piān': ['片'],
'biān miàn': ['牑'],
bǎng: ['牓', '綁', '绑'],
'yǒu yōng': ['牗'],
'chēng chèng': ['牚', '竀'],
niú: ['牛', '牜'],
'jiū lè': ['牞'],
'mù móu': ['牟'],
māng: ['牤'],
'gē qiú': ['牫'],
'yòu chōu': ['牰'],
'tè zhí': ['犆'],
bēn: ['犇', '錛', '锛'],
'jiān qián': ['犍', '玪'],
má: ['犘', '痲', '蔴', '蟇', '麻'],
'máo lí': ['犛'],
'bá quǎn': ['犮'],
'zhuó bào': ['犳'],
'àn hān': ['犴'],
'kàng gǎng': ['犺'],
'pèi fèi': ['犻'],
'fān huān': ['犿'],
kuáng: ['狂', '狅', '誑', '诳', '軖', '軠', '鵟', '𫛭'],
'yí quán chí': ['狋'],
'xīng shēng': ['狌'],
'tuó yí': ['狏'],
kǔ: ['狜', '苦'],
'huán huān': ['狟'],
'hé mò': ['狢'],
'tà shì': ['狧'],
'máng dòu': ['狵'],
'xī shǐ': ['狶'],
suān: ['狻', '痠', '酸'],
'bài pí': ['猈'],
'jiān yàn': ['猏', '豣'],
'yī yǐ': ['猗'],
'yá wèi': ['猚'],
cāi: ['猜'],
'māo máo': ['猫', '貓'],
'chuàn chuān': ['猭'],
'tuān tuàn': ['猯', '貒'],
'yà jiá qiè': ['猰'],
'hè xiē gé hài': ['猲'],
'biān piàn': ['猵', '獱'],
'bó pò': ['猼'],
'háo gāo': ['獋'],
'fén fèn': ['獖'],
'yào xiāo': ['獟'],
'shuò xī': ['獡'],
'gé liè xiē': ['獦'],
'nòu rú': ['獳'],
'náo nǎo yōu': ['獶'],
ráng: ['獽', '瓤', '禳', '穣', '穰', '蘘', '躟', '鬤'],
'náo yōu': ['獿'],
'lǜ shuài': ['率'],
'wáng wàng': ['王'],
'yáng chàng': ['玚'],
'mín wén': ['玟'],
'bīn fēn': ['玢'],
'mén yǔn': ['玧'],
'qiāng cāng': ['玱', '瑲', '篬'],
'án gān': ['玵'],
'xuán xián': ['玹'],
'cī cǐ': ['玼', '跐'],
'yí tāi': ['珆'],
'zǔ jù': ['珇'],
fà: ['珐', '琺', '蕟', '髪', '髮'],
'yín kèn': ['珢'],
'huī hún': ['珲'],
'xuán qióng': ['琁'],
'fú fū': ['琈'],
'bǐng pín': ['琕'],
'cuì sè': ['琗'],
'yù wéi': ['琟'],
'tiǎn tiàn': ['琠'],
'zhuó zuó': ['琢'],
'běng pěi': ['琣'],
guǎn: ['琯', '璭', '痯', '筦', '管', '舘', '輨', '錧', '館', '馆', '鳤'],
'hún huī': ['琿'],
'xié jiē': ['瑎'],
'chàng dàng yáng': ['瑒'],
'tiàn zhèn': ['瑱'],
'bīn pián': ['瑸', '璸'],
'tú shū': ['瑹'],
cuǐ: ['璀', '皠', '趡'],
'zǎo suǒ': ['璅'],
'jué qióng': ['璚'],
'lú fū': ['璷'],
'jì zī': ['璾'],
suí: ['瓍', '綏', '绥', '遀', '随', '隨', '髄'],
'mí xǐ': ['瓕'],
'qióng wěi wèi': ['瓗'],
'huán yè yà': ['瓛'],
'bó páo': ['瓟'],
'zhí hú': ['瓡'],
piáo: ['瓢', '闝'],
'wǎ wà': ['瓦'],
'xiáng hóng': ['瓨'],
wèng: ['瓮', '甕', '罋', '蕹', '齆'],
'shèn shén': ['甚'],
ruí: ['甤', '緌', '蕤'],
yòng: ['用', '砽', '苚', '蒏', '醟', '㶲'],
shuǎi: ['甩'],
béng: ['甭', '甮'],
'yóu zhá': ['甴'],
'diàn tián shèng': ['甸'],
'tǐng dīng': ['町', '甼'],
'zāi zī': ['甾'],
'bì qí': ['畁'],
'dá fú': ['畗'],
'cè jì': ['畟'],
'zāi zī tián': ['畠'],
'zhì chóu shì': ['畤'],
'fān pān': ['畨', '番'],
'shē yú': ['畬'],
'dāng dàng dǎng': ['當'],
'jiāng qiáng': ['疆'],
'pǐ yǎ shū': ['疋'],
'jié qiè': ['疌'],
'yí nǐ': ['疑'],
nè: ['疒', '眲', '訥', '讷'],
'gē yì': ['疙'],
'nüè yào': ['疟', '瘧'],
'lì lài': ['疠', '癘'],
'yǎ xiā': ['疨'],
xuē: ['疶', '蒆', '薛', '辥', '辪', '靴', '鞾'],
'dǎn da': ['疸'],
'fá biǎn': ['疺'],
'fèi féi': ['疿', '痱'],
'shān diàn': ['痁'],
'téng chóng': ['痋'],
'tōng tóng': ['痌'],
'wěi yòu yù': ['痏'],
'tān shǐ': ['痑'],
'pū pù': ['痡', '鋪'],
'bēng péng': ['痭'],
'má lìn': ['痳'],
'tiǎn diàn': ['痶'],
'ān yè è': ['痷'],
'kē ē': ['痾'],
'zhì chì': ['瘈'],
'jiǎ xiá xiā': ['瘕'],
'lěi huì': ['瘣'],
'chài cuó': ['瘥'],
'diān chēn': ['瘨'],
'da dá': ['瘩'],
'biě biē': ['瘪'],
qué: ['瘸'],
'dàn dān': ['癉'],
'guì wēi': ['癐'],
'nòng nóng': ['癑'],
'biē biě': ['癟'],
'bō bǒ': ['癷'],
bái: ['白'],
'jí bī': ['皀'],
'de dì dí dī': ['的'],
'pā bà': ['皅'],
'gāo háo': ['皋'],
'gāo yáo': ['皐'],
'lì luò bō': ['皪'],
'zhā cǔ': ['皻'],
'zhāo zhǎn dǎn': ['皽'],
'jiān jiàn': ['监', '監', '鋻', '间', '鞬'],
'gài gě hé': ['盖'],
'máng wàng': ['盳'],
yuǎn: ['盶', '逺', '遠'],
'tián xián': ['盷'],
'xiāng xiàng': ['相'],
dǔn: ['盹', '趸', '躉'],
'xì pǎn': ['盻'],
'shěng xǐng': ['省'],
'yún hùn': ['眃'],
'miǎn miàn': ['眄'],
'kàn kān': ['看'],
'yìng yāng yǎng': ['眏'],
'yǎo āo ǎo': ['眑'],
'jū xū kōu': ['眗'],
'yí chì': ['眙'],
'dié tì': ['眣'],
'bǐng fǎng': ['眪'],
'pàng pán': ['眫'],
'mī mí': ['眯', '瞇'],
'xuàn shùn xún': ['眴'],
tiào: ['眺', '粜', '糶', '覜', '趒'],
'zhe zhuó zháo zhāo': ['着'],
'qiáo shào xiāo': ['睄'],
'cuó zhuài': ['睉'],
gùn: ['睔', '謴'],
'suì zuì': ['睟'],
'pì bì': ['睥', '稫', '辟'],
'yì zé gāo': ['睪'],
'xǐng xìng': ['睲'],
'guì wèi kuì': ['瞆'],
'kòu jì': ['瞉'],
'qióng huán': ['瞏'],
'mán mén': ['瞒', '瞞'],
'diāo dōu': ['瞗'],
'lou lóu lǘ': ['瞜'],
'shùn rún': ['瞤'],
'liào liǎo': ['瞭', '钌'],
'jiàn xián': ['瞯'],
'wǔ mí': ['瞴'],
'guì kuì': ['瞶'],
'nǐng chēng': ['矃'],
'huò yuè': ['矆'],
'mēng méng': ['矇'],
'kuàng guō': ['矌'],
'guàn quán': ['矔'],
'mǎn mán': ['矕'],
'jīn guān qín': ['矜'],
'jīn qín guān': ['矝'],
'yù xù jué': ['矞'],
'jiǎo jiáo': ['矫', '矯'],
duǎn: ['短'],
'shí dàn': ['石'],
'gāng qiāng kòng': ['矼'],
'huā xū': ['砉'],
'pīn bīn fēn': ['砏'],
'yán yàn': ['研', '硏'],
'luǒ kē': ['砢'],
'fú fèi': ['砩', '笰'],
'zhǔ zhù': ['砫'],
'lá lì lā': ['砬'],
'kuāng guāng': ['硄'],
'gè luò': ['硌'],
'shuò shí': ['硕', '碩'],
'wèi wéi ái': ['硙'],
'què kè kù': ['硞'],
'mǎng bàng': ['硥'],
'luò lòng': ['硦'],
'yǒng tóng': ['硧'],
nüè: ['硸', '虐'],
'kēng kěng': ['硻'],
'yān yǎn': ['硽'],
'zhuì chuí duǒ': ['硾'],
'kōng kòng': ['硿'],
'zòng cóng': ['碂'],
'jiān zhàn': ['碊'],
'lù liù': ['碌', '陆'],
'què xī': ['碏'],
'lún lǔn lùn': ['碖'],
'náo gāng': ['碙'],
'jié yà': ['碣'],
'wèi wěi': ['碨'],
'tí dī': ['碮'],
'chá chā': ['碴'],
'qiāo què': ['碻'],
'sù xiè': ['碿'],
'liú liù': ['磂', '遛', '鎦', '馏'],
'sī tí': ['磃'],
'bàng páng': ['磅'],
'huá kě gū': ['磆'],
'wěi kuǐ': ['磈'],
'xiá qià yà': ['磍'],
'lián qiān': ['磏'],
'wèi ái gài': ['磑'],
'lá lā': ['磖'],
'áo qiāo': ['磝'],
'pēng pèng': ['磞', '閛'],
'yīn yǐn': ['磤'],
'lěi léi': ['磥'],
'mó mò': ['磨'],
'qì zhú': ['磩'],
'láo luò': ['磱'],
'pán bō': ['磻'],
'jí shé': ['磼'],
'hé qiāo qiào': ['礉'],
'kè huò': ['礊'],
'què hú': ['礐'],
'è qì': ['礘'],
cǎ: ['礤', '礸'],
'xián xín': ['礥'],
'léi lěi lèi': ['礧'],
'yán yǎn': ['礹'],
'qí zhǐ': ['祇', '蚔'],
'bēng fāng': ['祊'],
'bì mì': ['祕'],
suàn: ['祘', '笇', '筭', '算', '蒜'],
'piào piāo': ['票'],
'jì zhài': ['祭'],
'shuì lèi': ['祱'],
'jìn jīn': ['禁'],
'chán shàn': ['禅'],
'yáng shāng': ['禓'],
'zhī zhǐ tí': ['禔'],
'shàn chán': ['禪'],
'yú yù ǒu': ['禺'],
'zǐ zì': ['秄'],
'chá ná': ['秅'],
'zhǒng zhòng chóng': ['种'],
'hào mào': ['秏'],
'kù kū': ['秙'],
zū: ['租', '葅'],
chèng: ['秤', '穪'],
'huó kuò': ['秮', '秳'],
'chēng chèn chèng': ['称', '稱'],
'shì zhì': ['秲', '銴'],
'fù pū': ['秿'],
'xùn zè': ['稄'],
'tú shǔ': ['稌'],
'zhùn zhǔn': ['稕'],
'jī qí': ['稘', '綨', '觭'],
'léng líng': ['稜'],
'zuì zú sū': ['稡'],
'xì qiè': ['稧', '郄'],
'zhǒng zhòng': ['種'],
'zōng zǒng': ['稯'],
'xián jiān liàn': ['稴'],
'zī jiū': ['稵'],
'jī qǐ': ['稽'],
ròng: ['穃'],
'shān cǎn cēn': ['穇'],
'mén méi': ['穈'],
'jǐ jì': ['穖'],
'xiāo rào': ['穘'],
'zhuō bó': ['穛'],
'tóng zhǒng zhòng': ['穜'],
zuō: ['穝'],
'biāo pāo': ['穮', '藨'],
'zhuō jué': ['穱'],
'cuán zàn': ['穳'],
'kōng kòng kǒng': ['空'],
'yū yǔ': ['穻'],
zhǎi: ['窄', '鉙'],
báo: ['窇', '雹'],
'kū zhú': ['窋'],
'jiào liáo liù': ['窌'],
'wā guī': ['窐'],
'tiǎo yáo': ['窕'],
'xūn yìn': ['窨'],
'yà yē': ['窫'],
'tián diān yǎn': ['窴'],
'chāo kē': ['窼'],
'kuǎn cuàn': ['窽', '窾'],
'chù qì': ['竐'],
'qǔ kǒu': ['竘'],
'jìng zhěn': ['竧'],
'kǎn kàn': ['竷'],
'zhú dǔ': ['竺'],
'lè jīn': ['竻'],
'zhuì ruì': ['笍'],
'háng hàng': ['笐'],
'cén jìn hán': ['笒'],
'dā xiá nà': ['笚'],
'zé zuó': ['笮'],
'lóng lǒng': ['笼', '篭', '籠', '躘', '龓'],
'zhù zhú': ['筑', '築'],
'dá dā': ['答', '荅'],
shāi: ['筛', '篩', '簁', '籭'],
'yún jūn': ['筠'],
'láng làng': ['筤', '郎', '阆'],
'zhì zhǐ': ['筫'],
o: ['筽'],
'póu bù fú pú': ['箁'],
'pái bēi': ['箄'],
gè: ['箇', '虼', '鉻', '铬'],
'tái chí': ['箈'],
'guǎi dài': ['箉'],
'zhào dào': ['箌'],
'jīng qìng': ['箐'],
'lín lǐn': ['箖'],
'jùn qūn': ['箘'],
'shī yí': ['箷', '釶'],
'yuē yào chuò': ['箹'],
'xiāo shuò qiào': ['箾'],
'gōng gǎn lǒng': ['篢'],
'páng péng': ['篣'],
'zhuó huò': ['篧'],
'jiǎn jiān': ['篯'],
'dí zhú': ['篴'],
'zān cēn cǎn': ['篸'],
'zhuàn suǎn zuàn': ['篹'],
'piǎo biāo': ['篻'],
'guó guì': ['簂'],
'cè jí': ['簎'],
'mì miè': ['簚'],
'shāi sī': ['簛'],
'sǔn zhuàn': ['簨'],
'gàn gǎn': ['簳'],
'bò bǒ': ['簸'],
'bó bù': ['簿'],
shi: ['籂'],
'zhēn jiān': ['籈'],
'zhuàn zuǎn': ['籑'],
'fān pān biān': ['籓'],
'sǒu shǔ': ['籔'],
zuǎn: ['籫', '繤', '纂', '纉', '纘', '缵'],
nǚ: ['籹', '釹', '钕'],
'shā chǎo': ['粆'],
'kāng jīng': ['粇'],
fěn: ['粉', '黺'],
cū: ['粗', '觕', '麁', '麄', '麤'],
'nián zhān': ['粘'],
'cè sè': ['粣'],
'zhōu yù': ['粥'],
'shēn sǎn': ['糁'],
'biān biǎn': ['糄', '萹'],
miàn: ['糆', '面', '靣', '麪', '麫', '麵', '麺'],
'hú hū hù': ['糊'],
'gǔ gòu': ['糓'],
'mí méi': ['糜'],
'sǎn shēn': ['糝', '糣'],
zāo: ['糟', '蹧', '遭', '醩'],
'mì sī': ['糸'],
'jiū jiǔ': ['糺'],
'xì jì': ['系', '繫'],
'zhēng zhěng': ['糽'],
'chà chǎ': ['紁', '衩'],
'yuē yāo': ['約', '约'],
'hóng gōng': ['紅', '红'],
'hé gē': ['紇', '纥'],
'wén wèn': ['紋', '纹'],
fóu: ['紑'],
'jì jié jiè': ['紒'],
'pī pí bǐ': ['紕', '纰'],
'jīn jìn': ['紟'],
'zhā zā': ['紥', '紮'],
hā: ['紦'],
'fū fù': ['紨'],
'chōu chóu': ['紬'],
'lèi léi lěi': ['累'],
'bō bì': ['紴'],
'tiǎn zhěn': ['紾'],
'jiōng jiǒng': ['絅'],
'jié jiē': ['結', '结', '节'],
'guà kuā': ['絓'],
'bǎi mò': ['絔'],
'gēng huán': ['絙'],
'jié xié': ['絜'],
'quán shuān': ['絟'],
'gǎi ǎi': ['絠'],
'luò lào': ['絡', '络'],
'bīng bēng pēng': ['絣'],
'gěi jǐ': ['給', '给'],
'tóng tōng dòng': ['絧'],
'tiào diào dào': ['絩'],
'lěi lèi léi': ['絫'],
'gāi hài': ['絯'],
'chī zhǐ': ['絺'],
'wèn miǎn mán wàn': ['絻'],
'huán huàn wàn': ['綄'],
'qīn xiān': ['綅'],
'tì tí': ['綈'],
'yán xiàn': ['綖'],
'zōng zèng zòng': ['綜'],
'chēn lín': ['綝'],
'zhǔn zhùn': ['綧'],
'qiàn qīng zhēng': ['綪'],
'qìng qǐ': ['綮'],
'lún guān': ['綸', '纶'],
'chuò chāo': ['綽', '绰'],
'tián tǎn chān': ['緂'],
'lǜ lù': ['緑', '绿'],
'ruǎn ruàn': ['緛'],
'jí qī': ['緝'],
'zhòng chóng': ['緟', '重'],
'miáo máo': ['緢'],
'xiè yè': ['緤'],
huǎn: ['緩', '缓', '㬊'],
'gēng gèng': ['緪', '縆'],
'tōu xū shū': ['緰'],
'zōng zòng': ['緵', '繌'],
'yùn gǔn': ['緷'],
'guā wō': ['緺'],
'yùn yūn wēn': ['緼', '縕'],
'bāng bàng': ['縍'],
'gǔ hú': ['縎', '鶻'],
'cī cuò suǒ': ['縒'],
'cuī shuāi': ['縗'],
'róng rǒng ròng': ['縙'],
'zài zēng': ['縡'],
cài: ['縩', '菜', '蔡'],
'féng fèng': ['縫'],
'suō sù': ['縮', '缩'],
'yǎn yǐn': ['縯', '酓'],
'zòng zǒng': ['縱', '纵'],
'zhuàn juàn': ['縳'],
'mò mù': ['縸', '莫'],
'piǎo piāo': ['縹', '缥'],
'fán pó': ['繁'],
'bēng bèng': ['繃'],
'móu miù miào liǎo': ['繆'],
'yáo yóu zhòu': ['繇'],
'zēng zèng': ['繒', '缯'],
'jú jué': ['繘'],
'chuō chuò': ['繛'],
'zūn zǔn': ['繜'],
rào: ['繞', '绕', '遶'],
'chǎn chán': ['繟'],
'huì huí': ['繢', '缋', '藱'],
'qiāo sāo zǎo': ['繰'],
'jiǎo zhuó': ['繳', '缴'],
'dàn tán chán': ['繵'],
nǒng: ['繷'],
'pú fú': ['纀'],
'yào lì': ['纅'],
'rǎng xiāng': ['纕'],
'lí sǎ xǐ lǐ': ['纚'],
'xiān qiàn': ['纤'],
'jīng jìng': ['经'],
'tí tì': ['绨'],
'bēng běng bèng': ['绷'],
'zōng zèng': ['综'],
'jī qī': ['缉'],
'wēn yùn yūn': ['缊'],
'fèng féng': ['缝'],
'shuāi cuī suī': ['缞'],
'miù móu liáo miào mù': ['缪'],
'qiāo sāo': ['缲'],
fǒu: ['缶', '缹', '缻', '雬', '鴀'],
'bà ba pí': ['罢', '罷'],
'guà guǎi': ['罫'],
'yáng xiáng': ['羊', '羏'],
'měi gāo': ['羙'],
'yì xī': ['羛'],
'qiǎng qiān': ['羟'],
'qiāng kòng': ['羫'],
'qián xián yán': ['羬'],
nóu: ['羺'],
'hóng gòng': ['羾'],
'pī bì pō': ['翍'],
'qú yù': ['翑'],
ké: ['翗'],
'qiào qiáo': ['翘'],
'zhái dí': ['翟'],
'dào zhōu': ['翢'],
'hóu qú': ['翵'],
shuǎ: ['耍'],
'ruǎn nuò': ['耎'],
'ér nài': ['耏'],
'zhuān duān': ['耑'],
'pá bà': ['耙'],
'chí sì': ['耛'],
'qù chú': ['耝'],
'lún lǔn': ['耣'],
'jí jiè': ['耤'],
'tāng tǎng': ['耥'],
pǎng: ['耪', '覫'],
'zhá zé': ['耫'],
'yē yé': ['耶'],
'yún yíng': ['耺'],
'wà tuǐ zhuó': ['聉'],
'ér nǜ': ['聏'],
'tiē zhé': ['聑'],
'dǐ zhì': ['聜'],
qié: ['聺'],
'nǐ jiàn': ['聻'],
'lèi lē': ['肋'],
cào: ['肏', '襙', '鄵', '鼜'],
'bó dí': ['肑'],
'xiào xiāo': ['肖'],
'dù dǔ': ['肚'],
chāi: ['肞', '釵', '钗'],
'hán qín hàn': ['肣'],
'pàng pán pàn': ['肨', '胖'],
'zhūn chún': ['肫'],
āng: ['肮', '骯'],
'yù yō': ['育'],
'pí bǐ bì': ['肶'],
'fèi bì': ['胇'],
'bèi bēi': ['背'],
'fèi zǐ': ['胏'],
'píng pēng': ['胓', '苹'],
'fū fú zhǒu': ['胕'],
'shèng shēng': ['胜'],
kuà: ['胯', '跨', '骻'],
'gǎi hǎi': ['胲'],
'gē gé gā': ['胳'],
'néng nài': ['能'],
'guī kuì': ['胿'],
'mài mò': ['脉'],
'zāng zàng': ['脏'],
'jiǎo jué': ['脚', '角'],
cuǒ: ['脞'],
'de te': ['脦'],
'zuī juān': ['脧'],
něi: ['脮', '腇', '餒', '馁', '鮾', '鯘'],
'pú fǔ': ['脯'],
niào: ['脲'],
shuí: ['脽'],
guò: ['腂', '過', '鐹'],
'là xī': ['腊'],
'yān ā': ['腌'],
'gāo gào': ['膏'],
'lù biāo': ['膔'],
chuái: ['膗'],
'zhuān chuán chún zhuǎn': ['膞'],
chuài: ['膪', '踹'],
'fán pán': ['膰'],
'wǔ hū': ['膴'],
'shān dàn': ['膻'],
tún: ['臀', '臋', '蛌', '豘', '豚', '軘', '霕', '飩', '饨', '魨', '鲀', '黗'],
'bì bei': ['臂'],
'là gé': ['臈'],
'sào sāo': ['臊'],
nào: ['臑', '閙', '闹', '鬧'],
'ní luán': ['臡'],
'qiān xián': ['臤'],
'guàng jiǒng': ['臦'],
'guǎng jiǒng': ['臩'],
'chòu xiù': ['臭'],
'mián biān': ['臱'],
'dié zhí': ['臷'],
'zhī jìn': ['臸'],
'shè shě': ['舍'],
pù: ['舖', '舗'],
'bān bō pán': ['般'],
kuā: ['舿'],
'gèn gěn': ['艮'],
'sè shǎi': ['色'],
'fú bó': ['艴'],
'jiāo qiú': ['艽'],
'chāi chā': ['芆'],
'sháo què': ['芍'],
'hù xià': ['芐'],
'zì zǐ': ['芓'],
'huì hū': ['芔'],
'tún chūn': ['芚'],
'jiè gài': ['芥'],
'xù zhù': ['芧'],
'yuán yán': ['芫'],
'xīn xìn': ['芯'],
'lún huā': ['芲'],
'wù hū': ['芴'],
'gōu gǒu': ['芶'],
'mào máo': ['芼'],
'fèi fú': ['芾'],
'chán yín': ['苂'],
qiē: ['苆'],
'sū sù': ['苏'],
'tiáo sháo': ['苕'],
'lì jī': ['苙'],
'kē hē': ['苛'],
'jù qǔ': ['苣'],
'ruò rě': ['若'],
'zhù níng': ['苧'],
'pā bó': ['苩'],
xiú: ['苬'],
'zhǎ zuó': ['苲'],
'jū chá': ['苴'],
nié: ['苶'],
'shēng ruí': ['苼'],
'qié jiā': ['茄'],
'zǐ cí': ['茈'],
'qiàn xī': ['茜'],
chǎi: ['茝'],
'fá pèi': ['茷'],
ráo: ['荛', '蕘', '襓', '饒', '饶'],
'yíng xíng': ['荥'],
'qián xún': ['荨', '蕁'],
'yìn yīn': ['荫'],
'hé hè': ['荷'],
'shā suō': ['莎'],
'péng fēng': ['莑'],
'shēn xīn': ['莘'],
'wǎn guān guǎn': ['莞'],
'yóu sù': ['莤'],
'shāo xiāo': ['莦', '蛸'],
'làng liáng': ['莨'],
'piǎo fú': ['莩'],
'wèn wǎn miǎn': ['莬'],
'shì shí': ['莳', '蒔'],
'tù tú': ['莵'],
'xiān liǎn': ['莶', '薟'],
'wǎn yù': ['菀'],
'zōu chù': ['菆'],
'lù lǜ': ['菉'],
'jūn jùn': ['菌'],
'niè rěn': ['菍'],
'zī zì zāi': ['菑'],
'tú tù': ['菟'],
'jiē shà': ['菨'],
'qiáo zhǎo': ['菬'],
'tái zhī chí': ['菭'],
'fēi fěi': ['菲', '蜚'],
'qín qīn jīn': ['菳'],
'zū jù': ['菹', '蒩'],
'lǐn má': ['菻'],
'tián tiàn': ['菾'],
tiē: ['萜', '貼', '贴'],
'luò là lào luō': ['落'],
'zhù zhuó zhe': ['著'],
'shèn rèn': ['葚'],
'gě gé': ['葛'],
'jùn suǒ': ['葰'],
'kuì kuài': ['蒉'],
'rú ná': ['蒘'],
'méng mēng měng': ['蒙'],
'yuán huán': ['蒝'],
'xú shú': ['蒣'],
'xí xì': ['蒵'],
'mì míng': ['蓂'],
'sōu sǒu': ['蓃'],
'gài gě hé hài': ['蓋'],
'yǎo zhuó': ['蓔'],
'diào tiáo dí': ['蓧'],
'xū qiū fū': ['蓲'],
'zí jú': ['蓻'],
'liǎo lù': ['蓼'],
xu: ['蓿'],
'hàn hǎn': ['蔊'],
'màn wàn mán': ['蔓'],
'pó bò': ['蔢'],
'fān fán bō': ['蕃'],
'hóng hòng': ['蕻'],
'yù ào': ['薁', '隩'],
'xí xiào': ['薂'],
'báo bó bò': ['薄'],
'cí zī': ['薋'],
'wàn luàn': ['薍'],
'kǎo hāo': ['薧'],
'yuǎn wěi': ['薳'],
'zhòu chóu': ['薵'],
'wō mái': ['薶'],
'xiāo hào': ['藃'],
'yù xù xū': ['藇'],
'jiè jí': ['藉'],
'diào zhuó': ['藋'],
'cáng zàng': ['藏'],
lǎ: ['藞'],
'chú zhū': ['藸'],
'pín píng': ['蘋'],
'gān hán': ['虷'],
'hóng jiàng': ['虹'],
'huī huǐ': ['虺'],
'xiā há': ['虾'],
'mǎ mà mā': ['蚂'],
'fāng bàng': ['蚄'],
'bàng bèng': ['蚌'],
'jué quē': ['蚗'],
'qín qián': ['蚙'],
'gōng zhōng': ['蚣'],
'fǔ fù': ['蚥'],
'dài dé': ['蚮'],
'gǒu qú xù': ['蚼'],
'bǒ pí': ['蚾'],
'shé yí': ['蛇'],
tiě: ['蛈', '鉄', '銕', '鐡', '鐵', '铁', '驖'],
'gé luò': ['蛒'],
'máng bàng': ['蛖'],
'yì xǔ': ['蛡'],
'há gé': ['蛤'],
'qiè ní': ['蛪'],
'é yǐ': ['蛾'],
'zhē zhé': ['蜇'],
'là zhà': ['蜡'],
suò: ['蜶', '逤'],
'yóu qiú': ['蝤'],
'xiā hā': ['蝦'],
'xī qī': ['螇'],
'bī pí': ['螕'],
'nài něng': ['螚'],
'hé xiá': ['螛'],
'guì huǐ': ['螝'],
'mǎ mā mà': ['螞'],
'shì zhē': ['螫'],
'zhì dié': ['螲'],
'jiàn chán': ['螹'],
'ma má mò': ['蟆'],
'mǎng měng': ['蟒'],
'biē bié': ['蟞'],
'bēn fèi': ['蟦'],
'láo liáo': ['蟧'],
'yín xún': ['蟫'],
'lí lǐ': ['蠡'],
'xuè xiě': ['血'],
'xíng háng hàng héng': ['行'],
'shuāi cuī': ['衰'],
'tuó tuō': ['袉'],
'lǐng líng': ['袊'],
'bào páo pào': ['袌'],
'jù jiē': ['袓'],
'hè kè': ['袔'],
'yí yì': ['袘', '貤'],
'nà jué': ['袦'],
'bèi pī': ['被'],
'chǐ nuǒ': ['袲'],
'chǐ qǐ duǒ nuǒ': ['袳'],
'jiá qiā jié': ['袷'],
'bó mò': ['袹'],
'guī guà': ['袿'],
'liè liě': ['裂'],
'chéng chěng': ['裎'],
'jiē gé': ['裓'],
'dāo chóu': ['裯'],
'shang cháng': ['裳'],
'yuān gǔn': ['裷'],
'yǎn ān': ['裺'],
'tì xī': ['裼'],
'fù fú': ['褔'],
'chǔ zhǔ': ['褚'],
'tuì tùn': ['褪'],
lǎi: ['襰'],
'yào yāo': ['要'],
'qín tán': ['覃'],
'jiàn xiàn': ['見', '见'],
piǎn: ['覑', '諞', '谝', '貵', '𡎚'],
'piē miè': ['覕'],
'yíng yǐng': ['覮'],
'qù qū': ['覰', '覷', '觑'],
'jiàn biǎn': ['覵'],
'luó luǎn': ['覶'],
'zī zuǐ': ['觜'],
'huà xiè': ['觟'],
'jiě jiè xiè': ['解', '觧'],
'xué hù': ['觷'],
'lì lù': ['觻'],
tǎo: ['討', '讨'],
zhùn: ['訰'],
'zī zǐ': ['訾'],
'yí dài': ['詒', '诒'],
xiòng: ['詗', '诇'],
'diào tiǎo': ['誂'],
'yí chǐ chì': ['誃'],
'lǎng làng': ['誏'],
'ēi éi ěi èi xī': ['誒', '诶'],
shuà: ['誜'],
'yǔ yù': ['語', '语', '雨'],
'shuō shuì yuè': ['說', '说'],
'shuí shéi': ['誰', '谁'],
'qū juè': ['誳'],
'chī lài': ['誺'],
'nì ná': ['誽'],
'diào tiáo': ['調'],
'pǐ bēi': ['諀'],
'jì jī': ['諅'],
'zé zuò zhǎ cuò': ['諎'],
'chù jí': ['諔'],
'háo xià': ['諕'],
'lùn lún': ['論', '论'],
'shì dì': ['諟'],
'huà guā': ['諣'],
'xǐ shāi āi': ['諰'],
'nán nàn': ['諵', '難'],
miù: ['謬', '谬'],
zèn: ['譖', '谮'],
'shí zhì': ['識', '识'],
'juàn xuān': ['讂'],
'yí tuī': ['讉'],
zhán: ['讝'],
'xǔ hǔ': ['许'],
'xiáng yáng': ['详'],
'tiáo diào zhōu': ['调'],
'chén shèn': ['谌'],
'mí mèi': ['谜'],
'màn mán': ['谩'],
'gǔ yù': ['谷'],
'huō huò huá': ['豁'],
'zhì zhài': ['豸'],
'huān huán': ['貆'],
'kěn kūn': ['貇'],
'mò hé': ['貈'],
'mò hé háo': ['貉'],
'jù lóu': ['貗'],
'zé zhài': ['責', '责'],
'dài tè': ['貸'],
'bì bēn': ['賁'],
'jiǎ gǔ jià': ['賈'],
'xiōng mín': ['賯'],
càng: ['賶'],
'zhuàn zuàn': ['賺', '赚'],
'wàn zhuàn': ['贃'],
'gàn gòng zhuàng': ['贛'],
'yuán yùn': ['贠'],
'bēn bì': ['贲'],
'jiǎ gǔ': ['贾'],
zǒu: ['走', '赱', '鯐'],
'dié tú': ['趃'],
'jū qiè': ['趄'],
'qū cù': ['趋', '趨'],
'jí jié': ['趌'],
'guā huó': ['趏'],
'què qì jí': ['趞'],
'tàng tāng': ['趟'],
'chuō zhuó': ['趠'],
'qù cù': ['趣'],
'yuè tì': ['趯'],
'bō bào': ['趵'],
'kuà wù': ['趶'],
'guì jué': ['趹'],
'fāng fàng páng': ['趽'],
'páo bà': ['跁'],
'qí qǐ': ['跂'],
'jiàn chén': ['跈'],
'pǎo páo': ['跑'],
'diǎn diē tiē': ['跕'],
'jū jù qiè': ['跙'],
bǒ: ['跛'],
'luò lì': ['跞'],
'dài duò duō chí': ['跢'],
zhuǎi: ['跩'],
'bèng pián': ['跰'],
'tiào táo': ['跳'],
'shū chōu': ['跾'],
'liàng liáng': ['踉'],
'tà tā': ['踏'],
chǎ: ['蹅', '鑔', '镲'],
'dí zhí': ['蹢'],
'dēng dèng': ['蹬', '鐙', '镫'],
cèng: ['蹭'],
'dūn cún': ['蹲'],
'juě jué': ['蹶'],
liāo: ['蹽'],
'xiè sǎ': ['躠'],
tǐ: ['躰', '軆', '骵'],
'yà zhá gá': ['轧', '軋'],
'xìn xiàn': ['軐'],
'fàn guǐ': ['軓'],
'zhuàn zhuǎn': ['転'],
'zhóu zhòu': ['軸', '轴'],
bú: ['轐', '醭', '鳪'],
'zhuǎn zhuàn zhuǎi': ['转'],
'zǎi zài': ['载'],
'niǎn zhǎn': ['辗'],
'biān bian': ['边'],
'dào biān': ['辺'],
'yǐ yí': ['迆', '迤', '迱'],
'guò guo guō': ['过'],
'wàng kuāng': ['迋'],
'hái huán': ['还'],
'zhè zhèi': ['这'],
'yuǎn yuàn': ['远'],
'zhì lì': ['迣'],
'zhù wǎng': ['迬'],
'zhuī duī': ['追'],
'shì kuò': ['适'],
tòu: ['透'],
'tōng tòng': ['通'],
guàng: ['逛'],
'dǎi dài': ['逮'],
'suì suí': ['遂'],
'tí dì': ['遆'],
'yí wèi': ['遗'],
'shì dí zhé': ['適'],
cà: ['遪'],
'huán hái': ['還'],
'lí chí': ['邌'],
'kàng háng': ['邟'],
'nà nèi nā': ['那'],
'xié yá yé yú xú': ['邪'],
'gāi hái': ['郂'],
'huán xún': ['郇'],
'chī xī': ['郗'],
hǎo: ['郝'],
'lì zhí': ['郦'],
'xiáo ǎo': ['郩'],
'dōu dū': ['都'],
liǎo: ['曢', '鄝', '镽'],
'zàn cuán cuó': ['酂', '酇'],
'dīng dǐng': ['酊'],
'cù zuò': ['酢'],
'fā pō': ['酦'],
'shāi shī': ['酾'],
niàng: ['酿', '醸'],
'qiú chōu': ['醔'],
'pō fā': ['醗', '醱'],
'chǎn chěn': ['醦'],
'yàn liǎn xiān': ['醶'],
'niàng niáng': ['釀'],
'lǐ li': ['里'],
'lí xǐ xī': ['釐'],
'liǎo liào': ['釕'],
'dīng dìng': ['釘', '钉'],
'qiǎo jiǎo': ['釥'],
'yú huá': ['釪'],
'huá wū': ['釫'],
'rì rèn jiàn': ['釰', '釼'],
'dì dài': ['釱'],
'pī zhāo': ['釽'],
'yá yé': ['釾'],
'bǎ pá': ['鈀', '钯'],
'tā tuó': ['鉈', '铊'],
běi: ['鉳'],
'bǐng píng': ['鉼'],
'hā kē': ['鉿', '铪'],
chòng: ['銃', '铳'],
'xiǎng jiōng': ['銄'],
'yù sì': ['銉'],
'xù huì': ['銊'],
'rén rěn': ['銋'],
'shàn shuò': ['銏'],
'chì lì': ['銐'],
'xiǎn xǐ': ['銑', '铣'],
'hóu xiàng': ['銗'],
'diào tiáo yáo': ['銚'],
'xiān kuò tiǎn guā': ['銛', '銽', '铦'],
'zhé niè': ['銸'],
'zhōng yōng': ['銿'],
'tōu tù dòu': ['鋀'],
'méi méng': ['鋂'],
'wàn jiǎn': ['鋄', '鎫'],
'tǐng dìng': ['鋌', '铤'],
'juān jiān cuān': ['鋑'],
'sī tuó': ['鋖'],
'juān xuān juàn': ['鋗'],
'wú huá wū': ['鋘'],
'zhuó chuò': ['鋜'],
'xíng xìng jīng': ['鋞'],
'jū jú': ['鋦', '锔'],
'zuì niè': ['鋷'],
'yuān yuǎn wǎn wān': ['鋺'],
'gāng gàng': ['鋼', '钢'],
zhuī: ['錐', '锥', '騅', '骓', '鵻'],
ā: ['錒', '锕'],
'cuō chā': ['鎈'],
'suǒ sè': ['鎍'],
'yáo zú': ['鎐'],
'yè tà gé': ['鎑'],
'qiāng chēng': ['鎗'],
'gé lì': ['鎘', '镉', '鬲'],
'bī pī bì': ['鎞'],
'gǎo hào': ['鎬'],
'zú chuò': ['鏃'],
'xiū xiù': ['鏅'],
'shòu sōu': ['鏉'],
'dí dī': ['鏑', '镝'],
'qiāo sǎn càn': ['鏒'],
'lù áo': ['鏕'],
'tāng táng': ['鏜'],
'jiàn zàn': ['鏩'],
'huì suì ruì': ['鏸'],
'qiǎng qiāng': ['鏹', '镪'],
'sǎn xiàn sà': ['鏾'],
'jiǎn jiàn': ['鐧', '锏'],
'dāng chēng': ['鐺', '铛'],
'zuān zuàn': ['鑽'],
'sà xì': ['钑'],
'yào yuè': ['钥'],
'tǒu dǒu': ['钭'],
'zuàn zuān': ['钻'],
'qiān yán': ['铅'],
'pí pī': ['铍'],
'yáo diào tiáo': ['铫'],
'tāng tàng': ['铴'],
'pù pū': ['铺'],
'tán xiān': ['锬'],
'liù liú': ['镏'],
'hào gǎo': ['镐'],
'táng tāng': ['镗'],
'tán chán xín': ['镡'],
'huò shǎn': ['閄'],
'hàn bì': ['閈', '闬'],
'kāng kàng': ['閌', '闶'],
'xián jiàn jiān jiǎn': ['閒'],
'xiā xiǎ': ['閕'],
'xiǎ kě': ['閜'],
'biàn guān': ['閞'],
'hé gé': ['閤', '颌'],
'hòng xiàng': ['閧'],
'sē xī': ['閪'],
'tíng tǐng': ['閮'],
'è yān': ['閼', '阏'],
'hòng juǎn xiàng': ['闂'],
'bǎn pàn': ['闆'],
'dū shé': ['闍', '阇'],
'què quē': ['闕'],
'tāng táng chāng': ['闛'],
'kàn hǎn': ['闞', '阚'],
'xì sè tà': ['闟'],
'mēn mèn': ['闷'],
'quē què': ['阙'],
'yán diàn': ['阽'],
'ā ē': ['阿'],
'bēi pō pí': ['陂'],
'yàn yǎn': ['隁'],
'yú yáo shù': ['隃'],
'lóng lōng': ['隆'],
'duì zhuì': ['隊'],
'suí duò': ['隋'],
'gāi qí ái': ['隑'],
'huī duò': ['隓', '隳'],
'wěi kuí': ['隗'],
'lì dài': ['隸'],
'zhuī cuī wéi': ['隹'],
'hè hú': ['隺', '鶮'],
'jùn juàn': ['隽', '雋'],
'nán nàn nuó': ['难'],
'què qiāo qiǎo': ['雀'],
'guàn huán': ['雚'],
'guī xī': ['雟'],
'sè xí': ['雭'],
án: ['雸'],
'wù méng': ['雺'],
tèng: ['霯'],
'lù lòu': ['露'],
mái: ['霾'],
'jìng liàng': ['靚'],
'gé jí': ['革'],
bǎ: ['靶'],
'yāng yàng': ['鞅'],
'gé tà sǎ': ['鞈'],
'biān yìng': ['鞕'],
'qiào shāo': ['鞘'],
'juān xuān': ['鞙'],
'shàng zhǎng': ['鞝'],
'pí bǐng bì bēi': ['鞞'],
la: ['鞡'],
'xiè dié': ['鞢'],
ēng: ['鞥'],
'móu mù': ['鞪'],
'bì bǐng': ['鞸'],
'mèi wà': ['韎'],
rǒu: ['韖'],
'shè xiè': ['韘'],
'yùn wēn': ['韫'],
'dùn dú': ['頓', '顿'],
duǐ: ['頧'],
luō: ['頱'],
'bīn pín': ['頻'],
yóng: ['顒', '颙', '鰫'],
mān: ['顢', '颟'],
'jǐng gěng': ['颈'],
'jié xié jiá': ['颉'],
'kē ké': ['颏'],
'pín bīn': ['频'],
'chàn zhàn': ['颤'],
'fēng fěng': ['風', '风'],
'biāo diū': ['颩'],
'bá fú': ['颰'],
'sāo sōu': ['颾'],
'liù liáo': ['飂'],
'shí sì yì': ['食'],
'yǎng juàn': ['飬'],
'zhù tǒu': ['飳'],
'yí sì': ['飴'],
'zuò zé zhā': ['飵'],
tiè: ['飻', '餮'],
'xiǎng náng': ['饟'],
'táng xíng': ['饧'],
'gē le': ['饹'],
'chā zha': ['馇'],
'náng nǎng': ['馕'],
'yūn wò': ['馧'],
'zhī shì': ['馶'],
'xìn jìn': ['馸'],
'kuài jué': ['駃'],
zǎng: ['駔', '驵'],
'tái dài': ['駘'],
'xún xuān': ['駨'],
'liáng láng': ['駺'],
piàn: ['騗', '騙', '骗', '魸'],
'dài tái': ['骀'],
'sāo sǎo': ['骚'],
'gǔ gū': ['骨'],
'bèi mó': ['骳'],
'xiāo qiāo': ['骹'],
'bǎng pǎng': ['髈'],
'bó jué': ['髉'],
'bì pǒ': ['髲'],
'máo méng': ['髳'],
'kuò yuè': ['髺'],
'bā bà': ['魞', '鲃'],
'jì cǐ': ['鮆'],
'bó bà': ['鮊'],
'zhǎ zhà': ['鮓', '鲊'],
'chóu dài': ['鮘'],
'luò gé': ['鮥'],
'guī xié wā kuí': ['鮭'],
'xiān xiǎn': ['鮮', '鲜'],
'pū bū': ['鯆'],
'yì sī': ['鯣'],
'bà bó': ['鲌'],
'guī xié': ['鲑'],
'sāi xǐ': ['鳃'],
'niǎo diǎo': ['鳥'],
'diāo zhāo': ['鳭'],
'gān hàn yàn': ['鳱'],
'fū guī': ['鳺'],
'jiān qiān zhān': ['鳽'],
'hé jiè': ['鶡'],
'piān biǎn': ['鶣'],
'chuàn zhì': ['鶨'],
'cāng qiāng': ['鶬'],
'sǔn xùn': ['鶽'],
'biāo páo': ['麃'],
'zhù cū': ['麆'],
'jūn qún': ['麇', '麕'],
chi: ['麶'],
'mó me': ['麼'],
'mó me ma': ['麽'],
'mí mǒ': ['麿'],
'dàn shèn': ['黮'],
'zhěn yān': ['黰'],
'dǎn zhǎn': ['黵'],
'miǎn mǐn měng': ['黾'],
hōu: ['齁'],
nàng: ['齉'],
'qí jì zī zhāi': ['齐'],
'yín kěn yǎn': ['龂'],
'yín kěn': ['龈'],
'gōng wò': ['龏'],
'guī jūn qiū': ['龜', '龟'],
'kuí wā': ['䖯'],
lōu: ['䁖'],
'ōu qū': ['𫭟'],
'lóu lǘ': ['𦝼'],
'gǎ gā gá': ['嘎'],
'wā guà': ['坬'],
'zhǐ dǐ': ['茋'],
'gǒng hóng': ['硔'],
'yáo xiào': ['滧']
};
var DICT1 = new FastDictFactory();
Object.keys(map).forEach(function (key) {
var chars = map[key];
var _iterator = _createForOfIteratorHelper(chars),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var char = _step.value;
DICT1.set(char, key);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
});
var InitialList = ['zh', 'ch', 'sh', 'z', 'c', 's', 'b', 'p', 'm', 'f', 'd', 't', 'n', 'l', 'g', 'k', 'h', 'j', 'q', 'x', 'r', 'y', 'w', ''];
var SpecialInitialList = ['j', 'q', 'x'];
var SpecialFinalList = ['uān', 'uán', 'uǎn', 'uàn', 'uan', 'uē', 'ué', 'uě', 'uè', 'ue', 'ūn', 'ún', 'ǔn', 'ùn', 'un', 'ū', 'ú', 'ǔ', 'ù', 'u'];
var SpecialFinalMap = {
uān: 'üān',
uán: 'üán',
uǎn: 'üǎn',
uàn: 'üàn',
uan: 'üan',
uē: 'üē',
ué: 'üé',
uě: 'üě',
uè: 'üè',
ue: 'üe',
ūn: 'ǖn',
ún: 'ǘn',
ǔn: 'ǚn',
ùn: 'ǜn',
un: 'ün',
ū: 'ǖ',
ú: 'ǘ',
ǔ: 'ǚ',
ù: 'ǜ',
u: 'ü'
};
var doubleFinalList = ['ia', 'ian', 'iang', 'iao', 'ie', 'iu', 'iong', 'ua', 'uai', 'uan', 'uang', 'ue', 'ui', 'uo', 'üan', 'üe', 'van', 've'];
/**
* @description: 数量词 + 特殊词 音调处理
*/
var Numbers = {
一: 'yì',
二: 'èr',
三: 'sān',
四: 'sì',
五: 'wǔ',
六: 'liù',
七: 'qī',
八: 'bā',
九: 'jiǔ',
十: 'shí',
百: 'bǎi',
千: 'qiān',
万: 'wàn',
亿: 'yì',
单: 'dān',
两: 'liǎng',
双: 'shuāng',
多: 'duō',
几: 'jǐ',
十一: 'shí yī',
零一: 'líng yī',
第一: 'dì yī',
一十: 'yī shí',
一十一: 'yī shí yī'
};
var NumberWordMap = {
重: 'chóng',
行: 'háng',
斗: 'dǒu',
更: 'gēng'
};
// 与以下词组合时,不变调
function genNumberDict() {
var dict = {
零一: 'líng yī',
〇一: 'líng yī',
十一: 'shí yī',
一十: 'yī shí',
第一: 'dì yī',
一十一: 'yī shí yī'
};
for (var number in Numbers) {
for (var key in NumberWordMap) {
var word = "".concat(number).concat(key);
var _pinyin2 = "".concat(Numbers[number], " ").concat(NumberWordMap[key]);
dict[word] = _pinyin2;
}
}
return dict;
}
var NumberDict = genNumberDict();
var PatternNumberDict = Object.keys(NumberDict).map(function (key) {
return {
zh: key,
pinyin: NumberDict[key],
probability: 1e-12 /* Probability.Rule */,
length: stringLength(key),
priority: Priority.Normal,
dict: Symbol('rule')
};
});
/**
* @description: 连续变调处理:https://zh.wiktionary.org/wiki/Appendix:%E2%80%9C%E4%B8%80%E2%80%9D%E5%8F%8A%E2%80%9C%E4%B8%8D%E2%80%9D%E7%9A%84%E5%8F%98%E8%B0%83
*/
var toneSandhiMap = {
// 说不说,说一说,叠词之间发音为轻声
不: {
bú: [4] // "不" 后面跟 4 声时,变调为 2 声
},
一: {
yí: [4],
yì: [1, 2, 3]
}
};
var toneSandhiIgnoreSuffix = {
不: ['的', '而', '之', '后', '也', '还', '地'],
一: ['的', '而', '之', '后', '也', '还', '是']
};
var toneSandhiList = Object.keys(toneSandhiMap);
// 处理「一」和 「不」字的变调
function processToneSandhi(cur, pre, next) {
if (toneSandhiList.indexOf(cur) === -1) {
return getSingleWordPinyin(cur);
}
// 轻声变调:说不说,说一说,叠词之间发音为轻声
if (pre === next && pre && getSingleWordPinyin(pre) !== pre) {
return getPinyinWithoutTone(getSingleWordPinyin(cur));
}
// 「一」和 「不」字变调处理
if (next && !toneSandhiIgnoreSuffix[cur].includes(next)) {
var nextPinyin = getSingleWordPinyin(next);
if (nextPinyin !== next) {
var nextTone = getNumOfTone(nextPinyin);
var pinyinMap = toneSandhiMap[cur];
for (var _pinyin3 in pinyinMap) {
var tones = pinyinMap[_pinyin3];
if (tones.indexOf(Number(nextTone)) !== -1) {
return _pinyin3;
}
}
}
}
}
// 处理「了」字的变调
function processToneSandhiLiao(cur, pre) {
if (cur === '了' && (!pre || !DICT1.get(pre))) {
return 'liǎo';
}
}
// 处理叠字符[々]
function processReduplicationChar(cur, pre) {
if (cur === '々') {
if (!pre || !DICT1.get(pre)) {
return 'tóng';
} else {
return DICT1.get(pre).split(' ')[0];
}
}
}
function processSepecialPinyin(cur, pre, next) {
return processReduplicationChar(cur, pre) || processToneSandhiLiao(cur, pre) || processToneSandhi(cur, pre, next) || getSingleWordPinyin(cur);
}
var Surnames = {
南宫: 'nán gōng',
第五: 'dì wǔ',
万俟: 'mò qí',
司马: 'sī mǎ',
上官: 'shàng guān',
欧阳: 'ōu yáng',
夏侯: 'xià hóu',
诸葛: 'zhū gě',
闻人: 'wén rén',
东方: 'dōng fāng',
赫连: 'hè lián',
皇甫: 'huáng fǔ',
尉迟: 'yù chí',
公羊: 'gōng yáng',
澹台: 'tán tái',
公冶: 'gōng yě',
宗政: 'zōng zhèng',
濮阳: 'pú yáng',
淳于: 'chún yú',
太叔: 'tài shū',
申屠: 'shēn tú',
公孙: 'gōng sūn',
仲孙: 'zhòng sūn',
轩辕: 'xuān yuán',
令狐: 'líng hú',
钟离: 'zhōng lí',
宇文: 'yǔ wén',
长孙: 'zhǎng sūn',
慕容: 'mù róng',
鲜于: 'xiān yú',
闾丘: 'lǘ qiū',
司徒: 'sī tú',
司空: 'sī kōng',
亓官: 'qí guān',
司寇: 'sī kòu',
仉督: 'zhǎng dū',
子车: 'zǐ jū',
颛孙: 'zhuān sūn',
端木: 'duān mù',
巫马: 'wū mǎ',
公西: 'gōng xī',
漆雕: 'qī diāo',
乐正: 'yuè zhèng',
壤驷: 'rǎng sì',
公良: 'gōng liáng',
拓跋: 'tuò bá',
夹谷: 'jiá gǔ',
宰父: 'zǎi fǔ',
榖梁: 'gǔ liáng',
段干: 'duàn gān',
百里: 'bǎi lǐ',
东郭: 'dōng guō',
南门: 'nán mén',
呼延: 'hū yán',
羊舌: 'yáng shé',
梁丘: 'liáng qiū',
左丘: 'zuǒ qiū',
东门: 'dōng mén',
西门: 'xī mén',
句龙: 'gōu lóng',
毌丘: 'guàn qiū',
赵: 'zhào',
钱: 'qián',
孙: 'sūn',
李: 'lǐ',
周: 'zhōu',
吴: 'wú',
郑: 'zhèng',
王: 'wáng',
冯: 'féng',
陈: 'chén',
褚: 'chǔ',
卫: 'wèi',
蒋: 'jiǎng',
沈: 'shěn',
韩: 'hán',
杨: 'yáng',
朱: 'zhū',
秦: 'qín',
尤: 'yóu',
许: 'xǔ',
何: 'hé',
吕: 'lǚ',
施: 'shī',
张: 'zhāng',
孔: 'kǒng',
曹: 'cáo',
严: 'yán',
华: 'huà',
金: 'jīn',
魏: 'wèi',
陶: 'táo',
姜: 'jiāng',
戚: 'qī',
谢: 'xiè',
邹: 'zōu',
喻: 'yù',
柏: 'bǎi',
水: 'shuǐ',
窦: 'dòu',
章: 'zhāng',
云: 'yún',
苏: 'sū',
潘: 'pān',
葛: 'gě',
奚: 'xī',
范: 'fàn',
彭: 'péng',
郎: 'láng',
鲁: 'lǔ',
韦: 'wéi',
昌: 'chāng',
马: 'mǎ',
苗: 'miáo',
凤: 'fèng',
花: 'huā',
方: 'fāng',
俞: 'yú',
任: 'rén',
袁: 'yuán',
柳: 'liǔ',
酆: 'fēng',
鲍: 'bào',
史: 'shǐ',
唐: 'táng',
费: 'fèi',
廉: 'lián',
岑: 'cén',
薛: 'xuē',
雷: 'léi',
贺: 'hè',
倪: 'ní',
汤: 'tāng',
滕: 'téng',
殷: 'yīn',
罗: 'luó',
毕: 'bì',
郝: 'hǎo',
邬: 'wū',
安: 'ān',
常: 'cháng',
乐: 'yuè',
于: 'yú',
时: 'shí',
傅: 'fù',
皮: 'pí',
卞: 'biàn',
齐: 'qí',
康: 'kāng',
伍: 'wǔ',
余: 'yú',
元: 'yuán',
卜: 'bǔ',
顾: 'gù',
孟: 'mèng',
平: 'píng',
黄: 'huáng',
和: 'hé',
穆: 'mù',
萧: 'xiāo',
尹: 'yǐn',
姚: 'yáo',
邵: 'shào',
湛: 'zhàn',
汪: 'wāng',
祁: 'qí',
毛: 'máo',
禹: 'yǔ',
狄: 'dí',
米: 'mǐ',
贝: 'bèi',
明: 'míng',
臧: 'zāng',
计: 'jì',
伏: 'fú',
成: 'chéng',
戴: 'dài',
谈: 'tán',
宋: 'sòng',
茅: 'máo',
庞: 'páng',
熊: 'xióng',
纪: 'jǐ',
舒: 'shū',
屈: 'qū',
项: 'xiàng',
祝: 'zhù',
董: 'dǒng',
梁: 'liáng',
杜: 'dù',
阮: 'ruǎn',
蓝: 'lán',
闵: 'mǐn',
席: 'xí',
季: 'jì',
麻: 'má',
强: 'qiáng',
贾: 'jiǎ',
路: 'lù',
娄: 'lóu',
危: 'wēi',
江: 'jiāng',
童: 'tóng',
颜: 'yán',
郭: 'guō',
梅: 'méi',
盛: 'shèng',
林: 'lín',
刁: 'diāo',
钟: 'zhōng',
徐: 'xú',
邱: 'qiū',
骆: 'luò',
高: 'gāo',
夏: 'xià',
蔡: 'cài',
田: 'tián',
樊: 'fán',
胡: 'hú',
凌: 'líng',
霍: 'huò',
虞: 'yú',
万: 'wàn',
支: 'zhī',
柯: 'kē',
昝: 'zǎn',
管: 'guǎn',
卢: 'lú',
莫: 'mò',
经: 'jīng',
房: 'fáng',
裘: 'qiú',
缪: 'miào',
干: 'gān',
解: 'xiè',
应: 'yīng',
宗: 'zōng',
丁: 'dīng',
宣: 'xuān',
贲: 'bēn',
邓: 'dèng',
郁: 'yù',
单: 'shàn',
杭: 'háng',
洪: 'hóng',
包: 'bāo',
诸: 'zhū',
左: 'zuǒ',
石: 'shí',
崔: 'cuī',
吉: 'jí',
钮: 'niǔ',
龚: 'gōng',
程: 'chéng',
嵇: 'jī',
邢: 'xíng',
滑: 'huá',
裴: 'péi',
陆: 'lù',
荣: 'róng',
翁: 'wēng',
荀: 'xún',
羊: 'yáng',
於: 'yū',
惠: 'huì',
甄: 'zhēn',
曲: 'qū',
家: 'jiā',
封: 'fēng',
芮: 'ruì',
羿: 'yì',
储: 'chǔ',
靳: 'jìn',
汲: 'jí',
邴: 'bǐng',
糜: 'mí',
松: 'sōng',
井: 'jǐng',
段: 'duàn',
富: 'fù',
巫: 'wū',
乌: 'wū',
焦: 'jiāo',
巴: 'bā',
弓: 'gōng',
牧: 'mù',
隗: 'wěi',
山: 'shān',
谷: 'gǔ',
车: 'chē',
侯: 'hóu',
宓: 'mì',
蓬: 'péng',
全: 'quán',
郗: 'xī',
班: 'bān',
仰: 'yǎng',
秋: 'qiū',
仲: 'zhòng',
伊: 'yī',
宫: 'gōng',
宁: 'nìng',
仇: 'qiú',
栾: 'luán',
暴: 'bào',
甘: 'gān',
钭: 'tǒu',
厉: 'lì',
戎: 'róng',
祖: 'zǔ',
武: 'wǔ',
符: 'fú',
刘: 'liú',
景: 'jǐng',
詹: 'zhān',
束: 'shù',
龙: 'lóng',
叶: 'yè',
幸: 'xìng',
司: 'sī',
韶: 'sháo',
郜: 'gào',
黎: 'lí',
蓟: 'jì',
薄: 'bó',
印: 'yìn',
宿: 'sù',
白: 'bái',
怀: 'huái',
蒲: 'pú',
邰: 'tái',
从: 'cóng',
鄂: 'è',
索: 'suǒ',
咸: 'xián',
籍: 'jí',
赖: 'lài',
卓: 'zhuó',
蔺: 'lìn',
屠: 'tú',
蒙: 'méng',
池: 'chí',
乔: 'qiáo',
阴: 'yīn',
鬱: 'yù',
胥: 'xū',
能: 'nài',
苍: 'cāng',
双: 'shuāng',
闻: 'wén',
莘: 'shēn',
党: 'dǎng',
翟: 'zhái',
谭: 'tán',
贡: 'gòng',
劳: 'láo',
逄: 'páng',
姬: 'jī',
申: 'shēn',
扶: 'fú',
堵: 'dǔ',
冉: 'rǎn',
宰: 'zǎi',
郦: 'lì',
雍: 'yōng',
郤: 'xì',
璩: 'qú',
桑: 'sāng',
桂: 'guì',
濮: 'pú',
牛: 'niú',
寿: 'shòu',
通: 'tōng',
边: 'biān',
扈: 'hù',
燕: 'yān',
冀: 'jì',
郏: 'jiá',
浦: 'pǔ',
尚: 'shàng',
农: 'nóng',
温: 'wēn',
别: 'bié',
庄: 'zhuāng',
晏: 'yàn',
柴: 'chái',
瞿: 'qú',
阎: 'yán',
充: 'chōng',
慕: 'mù',
连: 'lián',
茹: 'rú',
习: 'xí',
宦: 'huàn',
艾: 'ài',
鱼: 'yú',
容: 'róng',
向: 'xiàng',
古: 'gǔ',
易: 'yì',
慎: 'shèn',
戈: 'gē',
廖: 'liào',
庾: 'yǔ',
终: 'zhōng',
暨: 'jì',
居: 'jū',
衡: 'héng',
步: 'bù',
都: 'dū',
耿: 'gěng',
满: 'mǎn',
弘: 'hóng',
匡: 'kuāng',
国: 'guó',
文: 'wén',
寇: 'kòu',
广: 'guǎng',
禄: 'lù',
阙: 'quē',
东: 'dōng',
欧: 'ōu',
殳: 'shū',
沃: 'wò',
利: 'lì',
蔚: 'wèi',
越: 'yuè',
夔: 'kuí',
隆: 'lóng',
师: 'shī',
巩: 'gǒng',
厍: 'shè',
聂: 'niè',
晁: 'cháo',
勾: 'gōu',
敖: 'áo',
融: 'róng',
冷: 'lěng',
訾: 'zī',
辛: 'xīn',
阚: 'kàn',
那: 'nā',
简: 'jiǎn',
饶: 'ráo',
空: 'kōng',
曾: 'zēng',
母: 'mǔ',
沙: 'shā',
乜: 'niè',
养: 'yǎng',
鞠: 'jū',
须: 'xū',
丰: 'fēng',
巢: 'cháo',
关: 'guān',
蒯: 'kuǎi',
相: 'xiàng',
查: 'zhā',
后: 'hòu',
荆: 'jīng',
红: 'hóng',
游: 'yóu',
竺: 'zhú',
权: 'quán',
逯: 'lù',
盖: 'gě',
益: 'yì',
桓: 'huán',
公: 'gōng',
牟: 'móu',
哈: 'hǎ',
言: 'yán',
福: 'fú',
肖: 'xiāo',
区: 'ōu',
覃: 'qín',
朴: 'piáo',
繁: 'pó',
员: 'yùn',
句: 'gōu',
要: 'yāo',
过: 'guō',
钻: 'zuān',
谌: 'chén',
折: 'shé',
召: 'shào',
郄: 'qiè',
撒: 'sǎ',
甯: 'nìng',
六: 'lù',
啜: 'chuài',
行: 'xíng'
};
var PatternSurname = Object.keys(Surnames).map(function (key) {
return {
zh: key,
pinyin: Surnames[key],
probability: 1 /* Probability.Surname */ + stringLength(key),
length: stringLength(key),
priority: Priority.Surname,
dict: Symbol('surname')
};
});
var DICT2 = {
这个: 'zhè ge',
成为: 'chéng wéi',
认为: 'rèn wéi',
作为: 'zuò wéi',
部分: 'bù fen',
要求: 'yāo qiú',
应该: 'yīng gāi',
增长: 'zēng zhǎng',
提供: 'tí gōng',
觉得: 'jué de',
任务: 'rèn wu',
那个: 'nà ge',
称为: 'chēng wéi',
为主: 'wéi zhǔ',
了解: 'liǎo jiě',
处理: 'chǔ lǐ',
皇上: 'huáng shang',
只要: 'zhǐ yào',
大量: 'dà liàng',
力量: 'lì liàng',
几乎: 'jī hū',
干部: 'gàn bù',
目的: 'mù dì',
行为: 'xíng wéi',
只见: 'zhǐ jiàn',
认识: 'rèn shi',
市长: 'shì zhǎng',
师父: 'shī fu',
调查: 'diào chá',
重新: 'chóng xīn',
分为: 'fēn wéi',
知识: 'zhī shi',
导弹: 'dǎo dàn',
质量: 'zhì liàng',
行款: 'háng kuǎn',
行列: 'háng liè',
行话: 'háng huà',
行业: 'háng yè',
隔行: 'gé háng',
在行: 'zài háng',
行家: 'háng jia',
内行: 'nèi háng',
外行: 'wài háng',
同行: 'tóng háng',
本行: 'běn háng',
行伍: 'háng wǔ',
洋行: 'yáng háng',
银行: 'yín háng',
商行: 'shāng háng',
支行: 'zhī háng',
总行: 'zǒng háng',
行情: 'háng qíng',
懂行: 'dǒng háng',
行规: 'háng guī',
行当: 'háng dang',
行货: 'háng huò',
太行: 'tài háng',
入行: 'rù háng',
中行: 'zhōng háng',
农行: 'nóng háng',
工行: 'gōng háng',
建行: 'jiàn háng',
各行: "gè háng",
行号: 'háng hào',
行高: 'háng gāo',
行首: 'háng shǒu',
行尾: 'háng wěi',
行末: 'háng mò',
行长: 'háng cháng',
行距: 'háng jù',
换行: 'huàn háng',
行会: 'háng huì',
行辈: 'háng bèi',
行道: 'háng dào',
道行: 'dào heng',
参与: 'cān yù',
充分: 'chōng fèn',
尽管: 'jǐn guǎn',
生长: 'shēng zhǎng',
数量: 'shù liàng',
应当: 'yīng dāng',
院长: 'yuàn zhǎng',
强调: 'qiáng diào',
只能: 'zhǐ néng',
音乐: 'yīn yuè',
以为: 'yǐ wéi',
处于: 'chǔ yú',
部长: 'bù zhǎng',
蒙古: 'měng gǔ',
只有: 'zhǐ yǒu',
适当: 'shì dàng',
只好: 'zhǐ hǎo',
成长: 'chéng zhǎng',
高兴: 'gāo xìng',
不了: 'bù liǎo',
产量: 'chǎn liàng',
胖子: 'pàng zi',
显得: 'xiǎn de',
只是: 'zhǐ shì',
似的: 'shì de',
率领: 'shuài lǐng',
改为: 'gǎi wéi',
不禁: 'bù jīn',
成分: 'chéng fèn',
答应: 'dā ying',
少年: 'shào nián',
兴趣: 'xìng qù',
太监: 'tài jian',
休息: 'xiū xi',
校长: 'xiào zhǎng',
更新: 'gēng xīn',
合同: 'hé tong',
喝道: 'hè dào',
重庆: 'chóng qìng',
重建: 'chóng jiàn',
使得: 'shǐ de',
审查: 'shěn chá',
累计: 'lěi jì',
给予: 'jǐ yǔ',
极为: 'jí wéi',
冠军: 'guàn jūn',
仿佛: 'fǎng fú',
头发: 'tóu fa',
投降: 'tóu xiáng',
家长: 'jiā zhǎng',
仔细: 'zǐ xì',
要是: 'yào shi',
将领: 'jiàng lǐng',
含量: 'hán liàng',
更为: 'gèng wéi',
积累: 'jī lěi',
地处: 'dì chǔ',
县长: 'xiàn zhǎng',
少女: 'shào nǚ',
路上: 'lù shang',
只怕: 'zhǐ pà',
能量: 'néng liàng',
储量: 'chǔ liàng',
供应: 'gōng yìng',
挑战: 'tiǎo zhàn',
西藏: 'xī zàng',
记得: 'jì de',
总量: 'zǒng liàng',
当真: 'dàng zhēn',
将士: 'jiàng shì',
差别: 'chā bié',
较为: 'jiào wéi',
长老: 'zhǎng lǎo',
大夫: 'dài fu',
差异: 'chā yì',
懂得: 'dǒng de',
尽量: 'jǐn liàng',
模样: 'mú yàng',
的确: 'dí què',
为首: 'wéi shǒu',
便宜: 'pián yi',
更名: 'gēng míng',
石头: 'shí tou',
州长: 'zhōu zhǎng',
为止: 'wéi zhǐ',
漂亮: 'piào liang',
炮弹: 'pào dàn',
藏族: 'zàng zú',
角色: 'jué sè',
当作: 'dàng zuò',
尽快: 'jǐn kuài',
人为: 'rén wéi',
重复: 'chóng fù',
胡同: 'hú tòng',
差距: 'chā jù',
弟兄: 'dì xiong',
大将: 'dà jiàng',
睡觉: 'shuì jiào',
一觉: 'yí jiào',
团长: 'tuán zhǎng',
队长: 'duì zhǎng',
区长: 'qū zhǎng',
难得: 'nán dé',
丫头: 'yā tou',
会长: 'huì zhǎng',
弟弟: 'dì di',
王爷: 'wáng ye',
重量: 'zhòng liàng',
誉为: 'yù wéi',
家伙: 'jiā huo',
华山: 'huà shān',
椅子: 'yǐ zi',
流量: 'liú liàng',
长大: 'zhǎng dà',
勉强: 'miǎn qiǎng',
会计: 'kuài jì',
过分: 'guò fèn',
济南: 'jǐ nán',
调动: 'diào dòng',
燕京: 'yān jīng',
少将: 'shào jiàng',
中毒: 'zhòng dú',
晓得: 'xiǎo de',
变更: 'biàn gēng',
打更: 'dǎ gēng',
认得: 'rèn de',
苹果: 'píng guǒ',
念头: 'niàn tou',
挣扎: 'zhēng zhá',
三藏: 'sān zàng',
剥削: 'bō xuē',
丞相: 'chéng xiàng',
少量: 'shǎo liàng',
寻思: 'xún si',
夺得: 'duó dé',
干线: 'gàn xiàn',
呼吁: 'hū yù',
处罚: 'chǔ fá',
长官: 'zhǎng guān',
柏林: 'bó lín',
亲戚: 'qīn qi',
身分: 'shēn fèn',
胳膊: 'gē bo',
着手: 'zhuó shǒu',
炸弹: 'zhà dàn',
咳嗽: 'ké sou',
叶子: 'yè zi',
外长: 'wài zhǎng',
供给: 'gōng jǐ',
师长: 'shī zhǎng',
变量: 'biàn liàng',
应有: 'yīng yǒu',
下载: 'xià zài',
乐器: 'yuè qì',
间接: 'jiàn jiē',
底下: 'dǐ xià',
打扮: 'dǎ bàn',
子弹: 'zǐ dàn',
弹药: 'dàn yào',
热量: 'rè liàng',
削弱: 'xuē ruò',
骨干: 'gǔ gàn',
容量: 'róng liàng',
模糊: 'mó hu',
转动: 'zhuàn dòng',
称呼: 'chēng hu',
科长: 'kē zhǎng',
处置: 'chǔ zhì',
着重: 'zhuó zhòng',
着急: 'zháo jí',
强迫: 'qiǎng pò',
庭长: 'tíng zhǎng',
首相: 'shǒu xiàng',
喇嘛: 'lǎ ma',
镇长: 'zhèn zhǎng',
只管: 'zhǐ guǎn',
重重: 'chóng chóng',
免得: 'miǎn de',
着实: 'zhuó shí',
度假: 'dù jià',
真相: 'zhēn xiàng',
相貌: 'xiàng mào',
处分: 'chǔ fèn',
委屈: 'wěi qu',
为期: 'wéi qī',
伯伯: 'bó bo',
伯子: 'bǎi zi',
圈子: 'quān zi',
见识: 'jiàn shi',
笼罩: 'lǒng zhào',
与会: 'yù huì',
都督: 'dū du',
都市: 'dū shì',
成都: 'chéng dū',
首都: 'shǒu dū',
帝都: 'dì dū',
王都: 'wáng dū',
东都: 'dōng dū',
都护: 'dū hù',
都城: 'dū chéng',
建都: 'jiàn dū',
迁都: 'qiān dū',
故都: 'gù dū',
定都: 'dìng dū',
中都: 'zhōng dū',
六安: 'lù ān',
宰相: 'zǎi xiàng',
较量: 'jiào liàng',
对称: 'duì chèn',
总长: 'zǒng zhǎng',
相公: 'xiàng gong',
空白: 'kòng bái',
打量: 'dǎ liang',
水分: 'shuǐ fèn',
舌头: 'shé tou',
没收: 'mò shōu',
行李: 'xíng li',
判处: 'pàn chǔ',
散文: 'sǎn wén',
处境: 'chǔ jìng',
孙子: 'sūn zi',
拳头: 'quán tou',
打发: 'dǎ fā',
组长: 'zǔ zhǎng',
骨头: 'gǔ tou',
宁可: 'nìng kě',
更换: 'gēng huàn',
薄弱: 'bó ruò',
还原: 'huán yuán',
重修: 'chóng xiū',
重来: 'chóng lái',
只顾: 'zhǐ gù',
爱好: 'ài hào',
馒头: 'mán tou',
军长: 'jūn zhǎng',
首长: 'shǒu zhǎng',
厂长: 'chǎng zhǎng',
司长: 'sī zhǎng',
长子: 'zhǎng zǐ',
强劲: 'qiáng jìng',
恰当: 'qià dàng',
头儿: 'tóu er',
站长: 'zhàn zhǎng',
折腾: 'zhē teng',
相处: 'xiāng chǔ',
统率: 'tǒng shuài',
中将: 'zhōng jiàng',
命中: 'mìng zhòng',
名将: 'míng jiàng',
木头: 'mù tou',
动弹: 'dòng tan',
地壳: 'dì qiào',
干活: 'gàn huó',
少爷: 'shào ye',
水量: 'shuǐ liàng',
补给: 'bǔ jǐ',
尾巴: 'wěi ba',
来得: 'lái de',
好奇: 'hào qí',
钥匙: 'yào shi',
当做: 'dàng zuò',
沉着: 'chén zhuó',
哑巴: 'yǎ ba',
车子: 'chē zi',
上将: 'shàng jiàng',
恶心: 'ě xīn',
担子: 'dàn zi',
应届: 'yīng jiè',
主角: 'zhǔ jué',
运转: 'yùn zhuǎn',
兄长: 'xiōng zhǎng',
格式: 'gé shì',
正月: 'zhēng yuè',
营长: 'yíng zhǎng',
当成: 'dàng chéng',
女婿: 'nǚ xu',
咽喉: 'yān hóu',
重阳: 'chóng yáng',
化为: 'huà wéi',
吐蕃: 'tǔ bō',
钻进: 'zuān jìn',
乐队: 'yuè duì',
亮相: 'liàng xiàng',
被子: 'bèi zi',
舍得: 'shě de',
杉木: 'shā mù',
击中: 'jī zhòng',
排长: 'pái zhǎng',
假期: 'jià qī',
分量: 'fèn liàng',
数次: 'shù cì',
提防: 'dī fáng',
吆喝: 'yāo he',
查处: 'chá chǔ',
量子: 'liàng zǐ',
里头: 'lǐ tou',
调研: 'diào yán',
伺候: 'cì hou',
重申: 'chóng shēn',
枕头: 'zhěn tou',
拚命: 'pīn mìng',
社长: 'shè zhǎng',
归还: 'guī huán',
批量: 'pī liàng',
畜牧: 'xù mù',
点着: 'diǎn zháo',
甚为: 'shèn wéi',
小将: 'xiǎo jiàng',
着眼: 'zhuó yǎn',
处死: 'chǔ sǐ',
厌恶: 'yàn wù',
鼓乐: 'gǔ yuè',
树干: 'shù gàn',
秘鲁: 'bì lǔ',
大方: 'dà fāng',
外头: 'wài tou',
班长: 'bān zhǎng',
星宿: 'xīng xiù',
宁愿: 'nìng yuàn',
钦差: 'qīn chāi',
为数: 'wéi shù',
勾当: 'gòu dàng',
削减: 'xuē jiǎn',
间谍: 'jiàn dié',
埋怨: 'mán yuàn',
结实: 'jiē shi',
计量: 'jì liáng',
淹没: 'yān mò',
村长: 'cūn zhǎng',
连长: 'lián zhǎng',
自给: 'zì jǐ',
武将: 'wǔ jiàng',
温差: 'wēn chā',
直奔: 'zhí bèn',
供求: 'gōng qiú',
剂量: 'jì liàng',
道长: 'dào zhǎng',
泄露: 'xiè lòu',
王八: 'wáng ba',
切割: 'qiē gē',
间隔: 'jiàn gé',
一晃: 'yì huǎng',
长假: 'cháng jià',
令狐: 'líng hú',
为害: 'wéi hài',
句子: 'jù zi',
偿还: 'cháng huán',
疙瘩: 'gē da',
燕山: 'yān shān',
堵塞: 'dǔ sè',
夺冠: 'duó guàn',
扎实: 'zhā shi',
电荷: 'diàn hè',
看守: 'kān shǒu',
复辟: 'fù bì',
郁闷: 'yù mèn',
尽早: 'jǐn zǎo',
切断: 'qiē duàn',
指头: 'zhǐ tou',
为生: 'wéi shēng',
畜生: 'chù sheng',
切除: 'qiē chú',
着力: 'zhuó lì',
着想: 'zhuó xiǎng',
级差: 'jí chā',
投奔: 'tóu bèn',
棍子: 'gùn zi',
含糊: 'hán hu',
少妇: 'shào fù',
兴致: 'xìng zhì',
纳闷: 'nà mèn',
干流: 'gàn liú',
卷起: 'juǎn qǐ',
扇子: 'shàn zi',
更改: 'gēng gǎi',
笼络: 'lǒng luò',
喇叭: 'lǎ ba',
载荷: 'zài hè',
妥当: 'tuǒ dàng',
为难: 'wéi nán',
着陆: 'zhuó lù',
燕子: 'yàn zi',
干吗: 'gàn má',
白发: 'bái fà',
总得: 'zǒng děi',
夹击: 'jiā jī',
曝光: 'bào guāng',
曲调: 'qǔ diào',
相机: 'xiàng jī',
叫化: 'jiào huà',
角逐: 'jué zhú',
啊哟: 'ā yō',
载重: 'zài zhòng',
长辈: 'zhǎng bèi',
出差: 'chū chāi',
垛口: 'duǒ kǒu',
撇开: 'piē kāi',
厅长: 'tīng zhǎng',
组分: 'zǔ fèn',
误差: 'wù chā',
家当: 'jiā dàng',
传记: 'zhuàn jì',
个子: 'gè zi',
铺设: 'pū shè',
干事: 'gàn shì',
杆菌: 'gǎn jūn',
定量: 'dìng liàng',
运载: 'yùn zài',
会儿: 'huì er',
酋长: 'qiú zhǎng',
重返: 'chóng fǎn',
差额: 'chā é',
露面: 'lòu miàn',
钻研: 'zuān yán',
大城: 'dài chéng',
上当: 'shàng dàng',
销量: 'xiāo liàng',
作坊: 'zuō fang',
照相: 'zhào xiàng',
哎呀: 'āi yā',
调集: 'diào jí',
看中: 'kàn zhòng',
议长: 'yì zhǎng',
风筝: 'fēng zheng',
辟邪: 'bì xié',
空隙: 'kòng xì',
更迭: 'gēng dié',
偏差: 'piān chā',
声调: 'shēng diào',
适量: 'shì liàng',
屯子: 'tún zi',
无量: 'wú liàng',
空地: 'kòng dì',
调度: 'diào dù',
散射: 'sǎn shè',
创伤: 'chuāng shāng',
海参: 'hǎi shēn',
满载: 'mǎn zài',
重叠: 'chóng dié',
落差: 'luò chā',
单调: 'dān diào',
老将: 'lǎo jiàng',
人参: 'rén shēn',
间断: 'jiàn duàn',
重现: 'chóng xiàn',
夹杂: 'jiā zá',
调用: 'diào yòng',
萝卜: 'luó bo',
附着: 'fù zhuó',
应声: 'yìng shēng',
主将: 'zhǔ jiàng',
罪过: 'zuì guo',
咀嚼: 'jǔ jué',
为政: 'wéi zhèng',
过量: 'guò liàng',
乐曲: 'yuè qǔ',
负荷: 'fù hè',
枪弹: 'qiāng dàn',
悄然: 'qiǎo rán',
处方: 'chǔ fāng',
悄声: 'qiǎo shēng',
曲子: 'qǔ zi',
情调: 'qíng diào',
挑衅: 'tiǎo xìn',
代为: 'dài wéi',
了结: 'liǎo jié',
打中: 'dǎ zhòng',
酒吧: 'jiǔ bā',
懒得: 'lǎn de',
增量: 'zēng liàng',
衣着: 'yī zhuó',
部将: 'bù jiàng',
要塞: 'yào sài',
茶几: 'chá jī',
杠杆: 'gàng gǎn',
出没: 'chū mò',
鲜有: 'xiǎn yǒu',
间隙: 'jiàn xì',
重担: 'zhòng dàn',
重演: 'chóng yǎn',
重试: 'chóng shì',
应酬: 'yìng chou',
只当: 'zhǐ dāng',
毋宁: 'wú nìng',
包扎: 'bāo zā',
前头: 'qián tou',
卷烟: 'juǎn yān',
非得: 'fēi děi',
弹道: 'dàn dào',
杆子: 'gān zi',
门将: 'mén jiàng',
后头: 'hòu tou',
喝彩: 'hè cǎi',
暖和: 'nuǎn huo',
累积: 'lěi jī',
调遣: 'diào qiǎn',
倔强: 'jué jiàng',
宝藏: 'bǎo zàng',
丧事: 'sāng shì',
约莫: 'yuē mo',
纤夫: 'qiàn fū',
更替: 'gēng tì',
装载: 'zhuāng zài',
背包: 'bēi bāo',
帖子: 'tiě zi',
松散: 'sōng sǎn',
呼喝: 'hū hè',
可恶: 'kě wù',
自转: 'zì zhuàn',
供电: 'gōng diàn',
反省: 'fǎn xǐng',
坦率: 'tǎn shuài',
苏打: 'sū dá',
本分: 'běn fèn',
落得: 'luò de',
鄙薄: 'bǐ bó',
相间: 'xiāng jiàn',
单薄: 'dān bó',
混蛋: 'hún dàn',
贞观: 'zhēn guān',
附和: 'fù hè',
能耐: 'néng nài',
吓唬: 'xià hu',
未了: 'wèi liǎo',
引着: 'yǐn zháo',
抽调: 'chōu diào',
沙子: 'shā zi',
席卷: 'xí juǎn',
标的: 'biāo dì',
别扭: 'biè niu',
思量: 'sī liang',
喝采: 'hè cǎi',
论语: 'lún yǔ',
盖子: 'gài zi',
分外: 'fèn wài',
弄堂: 'lòng táng',
乐舞: 'yuè wǔ',
雨量: 'yǔ liàng',
毛发: 'máo fà',
差遣: 'chāi qiǎn',
背负: 'bēi fù',
转速: 'zhuàn sù',
声乐: 'shēng yuè',
夹攻: 'jiā gōng',
供水: 'gōng shuǐ',
主干: 'zhǔ gàn',
惩处: 'chéng chǔ',
长相: 'zhǎng xiàng',
公差: 'gōng chāi',
榴弹: 'liú dàn',
省得: 'shěng de',
条子: 'tiáo zi',
重围: 'chóng wéi',
阻塞: 'zǔ sè',
劲风: 'jìng fēng',
纠葛: 'jiū gé',
颠簸: 'diān bǒ',
点中: 'diǎn zhòng',
重创: 'zhòng chuāng',
姥姥: 'lǎo lao',
迷糊: 'mí hu',
公家: 'gōng jia',
几率: 'jī lǜ',
苦闷: 'kǔ mèn',
度量: 'dù liàng',
差错: 'chā cuò',
暑假: 'shǔ jià',
参差: 'cēn cī',
搭载: 'dā zài',
助长: 'zhù zhǎng',
相称: 'xiāng chèn',
红晕: 'hóng yùn',
舍命: 'shě mìng',
喜好: 'xǐ hào',
列传: 'liè zhuàn',
劲敌: 'jìng dí',
蛤蟆: 'há ma',
请假: 'qǐng jià',
钉子: 'dīng zi',
沉没: 'chén mò',
高丽: 'gāo lí',
休假: 'xiū jià',
无为: 'wú wéi',
巴结: 'bā jie',
了得: 'liǎo dé',
变相: 'biàn xiàng',
核弹: 'hé dàn',
亲家: 'qìng jia',
承载: 'chéng zài',
喝问: 'hè wèn',
还击: 'huán jī',
交还: 'jiāo huán',
将令: 'jiàng lìng',
单于: 'chán yú',
空缺: 'kòng quē',
绿林: 'lù lín',
胆量: 'dǎn liàng',
执着: 'zhí zhuó',
低调: 'dī diào',
闭塞: 'bì sè',
轻薄: 'qīng bó',
得当: 'dé dàng',
占卜: 'zhān bǔ',
扫帚: 'sào zhou',
龟兹: 'qiū cí',
年长: 'nián zhǎng',
外传: 'wài zhuàn',
头子: 'tóu zi',
裁缝: 'cái feng',
礼乐: 'lǐ yuè',
血泊: 'xuè pō',
散乱: 'sǎn luàn',
动量: 'dòng liàng',
倒腾: 'dǎo teng',
取舍: 'qǔ shě',
咱家: 'zán jiā',
长发: 'cháng fà',
爪哇: 'zhǎo wā',
弹壳: 'dàn ké',
省悟: 'xǐng wù',
嚷嚷: 'rāng rang',
连累: 'lián lèi',
应得: 'yīng dé',
族长: 'zú zhǎng',
柜子: 'guì zi',
擂鼓: 'léi gǔ',
眩晕: 'xuàn yùn',
调配: 'tiáo pèi',
躯干: 'qū gàn',
差役: 'chāi yì',
坎坷: 'kǎn kě',
少儿: 'shào ér',
乐团: 'yuè tuán',
养分: 'yǎng fèn',
退还: 'tuì huán',
格调: 'gé diào',
语调: 'yǔ diào',
音调: 'yīn diào',
乐府: 'yuè fǔ',
古朴: 'gǔ pǔ',
打点: 'dǎ diǎn',
差使: 'chāi shǐ',
匀称: 'yún chèn',
瘦削: 'shòu xuē',
膏药: 'gāo yao',
吞没: 'tūn mò',
调任: 'diào rèn',
散居: 'sǎn jū',
上头: 'shàng tóu',
风靡: 'fēng mǐ',
放假: 'fàng jià',
估量: 'gū liang',
失当: 'shī dàng',
中弹: 'zhòng dàn',
妄为: 'wàng wéi',
长者: 'zhǎng zhě',
起哄: 'qǐ hòng',
末了: 'mò liǎo',
相声: 'xiàng sheng',
校正: 'jiào zhèng',
劝降: 'quàn xiáng',
矢量: 'shǐ liàng',
沉闷: 'chén mèn',
给与: 'jǐ yǔ',
解法: 'jiě fǎ',
塞外: 'sài wài',
将校: 'jiàng xiào',
嗜好: 'shì hào',
没落: 'mò luò',
朴刀: 'pō dāo',
片子: 'piān zi',
切削: 'qiē xiāo',
弹丸: 'dàn wán',
稀薄: 'xī bó',
亏得: 'kuī dé',
间歇: 'jiàn xiē',
翘首: 'qiáo shǒu',
色调: 'sè diào',
处决: 'chǔ jué',
表率: 'biǎo shuài',
尺子: 'chǐ zi',
招降: 'zhāo xiáng',
称职: 'chèn zhí',
斗篷: 'dǒu peng',
铺子: 'pù zi',
底子: 'dǐ zi',
负载: 'fù zài',
干警: 'gàn jǐng',
倒数: 'dào shǔ',
将官: 'jiàng guān',
锄头: 'chú tou',
归降: 'guī xiáng',
疟疾: 'nüè ji',
唠叨: 'láo dao',
限量: 'xiàn liàng',
屏息: 'bǐng xī',
重逢: 'chóng féng',
器乐: 'qì yuè',
氢弹: 'qīng dàn',
脖颈: 'bó gěng',
妃子: 'fēi zi',
处事: 'chǔ shì',
参量: 'cān liàng',
轻率: 'qīng shuài',
缥缈: 'piāo miǎo',
中奖: 'zhòng jiǎng',
才干: 'cái gàn',
施舍: 'shī shě',
卷子: 'juàn zi',
游说: 'yóu shuì',
巷子: 'xiàng zi',
膀胱: 'páng guāng',
切勿: 'qiè wù',
看管: 'kān guǎn',
风头: 'fēng tou',
精干: 'jīng gàn',
高差: 'gāo chā',
恐吓: 'kǒng hè',
扁担: 'biǎn dàn',
给养: 'jǐ yǎng',
格子: 'gé zi',
供需: 'gōng xū',
反差: 'fǎn chā',
飞弹: 'fēi dàn',
微薄: 'wēi bó',
发型: 'fà xíng',
即兴: 'jí xìng',
攒动: 'cuán dòng',
间或: 'jiàn huò',
浅薄: 'qiǎn bó',
乐章: 'yuè zhāng',
顺差: 'shùn chā',
调子: 'diào zi',
相位: 'xiàng wèi',
转子: 'zhuàn zǐ',
劲旅: 'jìng lǚ',
咔嚓: 'kā chā',
了事: 'liǎo shì',
转悠: 'zhuàn you',
当铺: 'dàng pù',
爪子: 'zhuǎ zi',
单子: 'dān zi',
好战: 'hào zhàn',
燕麦: 'yàn mài',
只许: 'zhǐ xǔ',
干练: 'gàn liàn',
女将: 'nǚ jiàng',
酒量: 'jiǔ liàng',
划船: 'huá chuán',
伎俩: 'jì liǎng',
挑拨: 'tiǎo bō',
少校: 'shào xiào',
着落: 'zhuó luò',
憎恶: 'zēng wù',
刻薄: 'kè bó',
要挟: 'yāo xié',
用处: 'yòng chu',
还手: 'huán shǒu',
模具: 'mú jù',
执著: 'zhí zhuó',
喝令: 'hè lìng',
保长: 'bǎo zhǎng',
吸着: 'xī zhe',
症结: 'zhēng jié',
公转: 'gōng zhuàn',
校勘: 'jiào kān',
重提: 'chóng tí',
扫兴: 'sǎo xìng',
铺盖: 'pū gài',
长史: 'zhǎng shǐ',
差价: 'chā jià',
压根: 'yà gēn',
怔住: 'zhèng zhù',
应允: 'yīng yǔn',
切入: 'qiē rù',
战将: 'zhàn jiàng',
年少: 'nián shào',
舍身: 'shě shēn',
执拗: 'zhí niù',
处世: 'chǔ shì',
中风: 'zhòng fēng',
等量: 'děng liàng',
放量: 'fàng liàng',
腔调: 'qiāng diào',
老少: 'lǎo shào',
没入: 'mò rù',
瓜葛: 'guā gé',
将帅: 'jiàng shuài',
车载: 'chē zài',
窝囊: 'wō nang',
长进: 'zhǎng jìn',
可汗: 'kè hán',
并州: 'bīng zhōu',
供销: 'gōng xiāo',
切片: 'qiē piàn',
差事: 'chāi shì',
知会: 'zhī hui',
鹰爪: 'yīng zhǎo',
处女: 'chǔ nǚ',
切磋: 'qiē cuō',
日头: 'rì tou',
押解: 'yā jiè',
滋长: 'zī zhǎng',
道观: 'dào guàn',
脚色: 'jué sè',
当量: 'dāng liàng',
婆家: 'pó jia',
缘分: 'yuán fèn',
空闲: 'kòng xián',
好色: 'hào sè',
怒喝: 'nù hè',
笼统: 'lǒng tǒng',
边塞: 'biān sài',
何曾: 'hé céng',
重合: 'chóng hé',
零散: 'líng sǎn',
轰隆: 'hōng lōng',
化子: 'huà zi',
内蒙: 'nèi měng',
数落: 'shǔ luò',
逆差: 'nì chā',
牟利: 'móu lì',
栅栏: 'zhà lan',
中标: 'zhòng biāo',
调档: 'diào dàng',
佝偻: 'gōu lóu',
场子: 'chǎng zi',
甲壳: 'jiǎ qiào',
重温: 'chóng wēn',
炮制: 'páo zhì',
返还: 'fǎn huán',
自传: 'zì zhuàn',
高调: 'gāo diào',
殷红: 'yān hóng',
固着: 'gù zhuó',
强求: 'qiǎng qiú',
本相: 'běn xiàng',
骄横: 'jiāo hèng',
草率: 'cǎo shuài',
气闷: 'qì mèn',
着色: 'zhuó sè',
宁肯: 'nìng kěn',
兴头: 'xìng tou',
拘泥: 'jū nì',
夹角: 'jiā jiǎo',
发髻: 'fà jì',
猛将: 'měng jiàng',
约摸: 'yuē mo',
拖累: 'tuō lěi',
呢绒: 'ní róng',
钻探: 'zuān tàn',
夹层: 'jiā céng',
落魄: 'luò pò',
巷道: 'hàng dào',
运量: 'yùn liàng',
解闷: 'jiě mèn',
空儿: 'kòng er',
估摸: 'gū mo',
好客: 'hào kè',
钻孔: 'zuān kǒng',
糊弄: 'hù nòng',
荥阳: 'xíng yáng',
烦闷: 'fán mèn',
仓卒: 'cāng cù',
分叉: 'fēn chà',
厂子: 'chǎng zi',
小调: 'xiǎo diào',
少阳: 'shào yáng',
受降: 'shòu xiáng',
染坊: 'rǎn fáng',
胳臂: 'gē bei',
将门: 'jiàng mén',
模板: 'mú bǎn',
配给: 'pèi jǐ',
为伍: 'wéi wǔ',
跟头: 'gēn tou',
划算: 'huá suàn',
累赘: 'léi zhui',
哄笑: 'hōng xiào',
晕眩: 'yūn xuàn',
干掉: 'gàn diào',
缝制: 'féng zhì',
难处: 'nán chù',
着意: 'zhuó yì',
蛮横: 'mán hèng',
奇数: 'jī shù',
短发: 'duǎn fà',
生还: 'shēng huán',
还清: 'huán qīng',
看护: 'kān hù',
直率: 'zhí shuài',
奏乐: 'zòu yuè',
载客: 'zài kè',
专横: 'zhuān hèng',
湮没: 'yān mò',
空格: 'kòng gé',
铺垫: 'pū diàn',
良将: 'liáng jiàng',
哗啦: 'huā lā',
散漫: 'sǎn màn',
脱发: 'tuō fà',
送还: 'sòng huán',
埋没: 'mái mò',
累及: 'lěi jí',
薄雾: 'bó wù',
调离: 'diào lí',
舌苔: 'shé tāi',
机长: 'jī zhǎng',
栓塞: 'shuān sè',
配角: 'pèi jué',
切口: 'qiē kǒu',
创口: 'chuāng kǒu',
哈欠: 'hā qian',
实弹: 'shí dàn',
铺平: 'pū píng',
哈达: 'hǎ dá',
懒散: 'lǎn sǎn',
实干: 'shí gàn',
填空: 'tián kòng',
刁钻: 'diāo zuān',
乐师: 'yuè shī',
量变: 'liàng biàn',
诱降: 'yòu xiáng',
搪塞: 'táng sè',
征调: 'zhēng diào',
夹道: 'jiā dào',
干咳: 'gān ké',
止咳: 'zhǐ ké',
乐工: 'yuè gōng',
划过: 'huá guò',
着火: 'zháo huǒ',
更正: 'gēng zhèng',
给付: 'jǐ fù',
空子: 'kòng zi',
哪吒: 'né zhā',
正着: 'zhèng zháo',
刷子: 'shuā zi',
丧葬: 'sāng zàng',
夹带: 'jiā dài',
安分: 'ān fèn',
中意: 'zhòng yì',
长孙: 'zhǎng sūn',
校订: 'jiào dìng',
卷曲: 'juǎn qū',
载运: 'zài yùn',
投弹: 'tóu dàn',
柞蚕: 'zuò cán',
份量: 'fèn liàng',
调换: 'diào huàn',
了然: 'liǎo rán',
咧嘴: 'liě zuǐ',
典当: 'diǎn dàng',
寒假: 'hán jià',
长兄: 'zhǎng xiōng',
给水: 'jǐ shuǐ',
须发: 'xū fà',
枝干: 'zhī gàn',
属相: 'shǔ xiàng',
哄抢: 'hōng qiǎng',
刻划: 'kè huà',
塞子: 'sāi zi',
单干: 'dān gàn',
还乡: 'huán xiāng',
兆头: 'zhào tou',
寺观: 'sì guàn',
督率: 'dū shuài',
啊哈: 'ā ha',
割舍: 'gē shě',
抹布: 'mā bù',
好恶: 'hào wù',
下处: 'xià chǔ',
消长: 'xiāo zhǎng',
离间: 'lí jiàn',
准头: 'zhǔn tou',
校对: 'jiào duì',
什物: 'shí wù',
番禺: 'pān yú',
佛爷: 'fó ye',
吗啡: 'mǎ fēi',
盐分: 'yán fèn',
虎将: 'hǔ jiàng',
薄荷: 'bò he',
独处: 'dú chǔ',
空位: 'kòng wèi',
铺路: 'pū lù',
乌拉: 'wū lā',
调回: 'diào huí',
来头: 'lái tou',
闲散: 'xián sǎn',
胶卷: 'jiāo juǎn',
冒失: 'mào shi',
干劲: 'gàn jìn',
弦乐: 'xián yuè',
相国: 'xiàng guó',
丹参: 'dān shēn',
助兴: 'zhù xìng',
铺开: 'pū kāi',
次长: 'cì zhǎng',
发卡: 'fà qiǎ',
拮据: 'jié jū',
刹车: 'shā chē',
生发: 'shēng fà',
重播: 'chóng bō',
缝合: 'féng hé',
音量: 'yīn liàng',
少尉: 'shào wèi',
冲压: 'chòng yā',
苍劲: 'cāng jìng',
厚薄: 'hòu báo',
威吓: 'wēi hè',
外相: 'wài xiàng',
呼号: 'hū háo',
着迷: 'zháo mí',
挑担: 'tiāo dàn',
纹路: 'wén lù',
还俗: 'huán sú',
强横: 'qiáng hèng',
着数: 'zhāo shù',
降顺: 'xiáng shùn',
挑明: 'tiǎo míng',
眯缝: 'mī feng',
分内: 'fèn nèi',
更衣: 'gēng yī',
软和: 'ruǎn huo',
尽兴: 'jìn xìng',
号子: 'hào zi',
爪牙: 'zhǎo yá',
败将: 'bài jiàng',
猜中: 'cāi zhòng',
结扎: 'jié zā',
没空: 'méi kòng',
夹缝: 'jiā fèng',
拾掇: 'shí duo',
掺和: 'chān huo',
簸箕: 'bò ji',
电量: 'diàn liàng',
荷载: 'hè zǎi',
调式: 'diào shì',
处身: 'chǔ shēn',
打手: 'dǎ shǒu',
弹弓: 'dàn gōng',
横蛮: 'hèng mán',
能干: 'néng gàn',
校点: 'jiào diǎn',
加载: 'jiā zài',
干校: 'gàn xiào',
哄传: 'hōng chuán',
校注: 'jiào zhù',
淤塞: 'yū sè',
马扎: 'mǎ zhá',
月氏: 'yuè zhī',
高干: 'gāo gàn',
经传: 'jīng zhuàn',
曾孙: 'zēng sūn',
好斗: 'hào dòu',
关卡: 'guān qiǎ',
逃奔: 'táo bèn',
磨蹭: 'mó ceng',
牟取: 'móu qǔ',
颤栗: 'zhàn lì',
蚂蚱: 'mà zha',
撮合: 'cuō he',
趔趄: 'liè qie',
摔打: 'shuāi dǎ',
台子: 'tái zi',
分得: 'fēn de',
粘着: 'nián zhuó',
采邑: 'cài yì',
散装: 'sǎn zhuāng',
婀娜: 'ē nuó',
兴味: 'xìng wèi',
行头: 'xíng tou',
气量: 'qì liàng',
调运: 'diào yùn',
处治: 'chǔ zhì',
乐音: 'yuè yīn',
充塞: 'chōng sè',
恫吓: 'dòng hè',
论调: 'lùn diào',
相中: 'xiāng zhòng',
民乐: 'mín yuè',
炮仗: 'pào zhang',
丧服: 'sāng fú',
骁将: 'xiāo jiàng',
量刑: 'liàng xíng',
缝补: 'féng bǔ',
财会: 'cái kuài',
大干: 'dà gàn',
历数: 'lì shǔ',
校场: 'jiào chǎng',
塞北: 'sài běi',
识相: 'shí xiàng',
辱没: 'rǔ mò',
鲜亮: 'xiān liàng',
语塞: 'yǔ sè',
露脸: 'lòu liǎn',
凉快: 'liáng kuai',
腰杆: 'yāo gǎn',
溜达: 'liū da',
嘎嘎: 'gā gā',
公干: 'gōng gàn',
桔梗: 'jié gěng',
挑逗: 'tiǎo dòu',
看门: 'kān mén',
乐歌: 'yuè gē',
拓片: 'tà piàn',
挑动: 'tiǎo dòng',
准将: 'zhǔn jiàng',
遒劲: 'qiú jìng',
磨坊: 'mò fáng',
逶迤: 'wēi yí',
搅和: 'jiǎo huo',
摩挲: 'mó suō',
作弄: 'zuò nòng',
苗头: 'miáo tou',
打颤: 'dǎ zhàn',
大藏: 'dà zàng',
畜牲: 'chù shēng',
勾搭: 'gōu da',
树荫: 'shù yīn',
树杈: 'shù chà',
铁杆: 'tiě gǎn',
将相: 'jiàng xiàng',
份子: 'fèn zi',
视差: 'shì chā',
绿荫: 'lǜ yīn',
枪杆: 'qiāng gǎn',
缝纫: 'féng rèn',
愁闷: 'chóu mèn',
点将: 'diǎn jiàng',
华佗: 'huà tuó',
劲射: 'jìng shè',
箱笼: 'xiāng lǒng',
终了: 'zhōng liǎo',
鬓发: 'bìn fà',
结巴: 'jiē ba',
苦干: 'kǔ gàn',
看家: 'kān jiā',
正旦: 'zhēng dàn',
中肯: 'zhòng kěn',
厦门: 'xià mén',
东莞: 'dōng guǎn',
食量: 'shí liàng',
宫调: 'gōng diào',
间作: 'jiàn zuò',
弹片: 'dàn piàn',
差池: 'chā chí',
漂白: 'piǎo bái',
杠子: 'gàng zi',
调处: 'tiáo chǔ',
好动: 'hào dòng',
转炉: 'zhuàn lú',
屏气: 'bǐng qì',
夹板: 'jiā bǎn',
哀乐: 'āi yuè',
干道: 'gàn dào',
苦处: 'kǔ chù',
劈柴: 'pǐ chái',
长势: 'zhǎng shì',
天华: 'tiān huá',
共处: 'gòng chǔ',
校验: 'jiào yàn',
出塞: 'chū sài',
磨盘: 'mò pán',
萎靡: 'wěi mǐ',
奔丧: 'bēn sāng',
唱和: 'chàng hè',
大调: 'dà diào',
非分: 'fēi fèn',
钻营: 'zuān yíng',
夹子: 'jiā zi',
超载: 'chāo zài',
更始: 'gēng shǐ',
铃铛: 'líng dang',
披散: 'pī sàn',
发还: 'fā huán',
转轮: 'zhuàn lún',
横财: 'hèng cái',
泡桐: 'pāo tóng',
抛撒: 'pāo sǎ',
天呀: 'tiān yā',
糊糊: 'hū hu',
躯壳: 'qū qiào',
通量: 'tōng liàng',
奉还: 'fèng huán',
午觉: 'wǔ jiào',
闷棍: 'mèn gùn',
浪头: 'làng tou',
砚台: 'yàn tái',
油坊: 'yóu fáng',
学长: 'xué zhǎng',
过载: 'guò zài',
笔调: 'bǐ diào',
衣被: 'yī bèi',
畜产: 'xù chǎn',
调阅: 'diào yuè',
蛮干: 'mán gàn',
曾祖: 'zēng zǔ',
提干: 'tí gàn',
变调: 'biàn diào',
覆没: 'fù mò',
模子: 'mú zi',
乐律: 'yuè lǜ',
称心: 'chèn xīn',
木杆: 'mù gān',
重印: 'chóng yìn',
自省: 'zì xǐng',
提调: 'tí diào',
看相: 'kàn xiàng',
芋头: 'yù tou',
下切: 'xià qiē',
塞上: 'sài shàng',
铺张: 'pū zhāng',
藤蔓: 'téng wàn',
薄幸: 'bó xìng',
解数: 'xiè shù',
褪去: 'tuì qù',
霰弹: 'xiàn dàn',
柚木: 'yóu mù',
痕量: 'hén liàng',
雅乐: 'yǎ yuè',
号哭: 'háo kū',
诈降: 'zhà xiáng',
猪圈: 'zhū juàn',
咋舌: 'zé shé',
铣床: 'xǐ chuáng',
防弹: 'fáng dàn',
健将: 'jiàn jiàng',
丽水: 'lí shuǐ',
削发: 'xuē fà',
空当: 'kòng dāng',
多相: 'duō xiàng',
鲜见: 'xiǎn jiàn',
划桨: 'huá jiǎng',
载波: 'zài bō',
跳蚤: 'tiào zao',
俏皮: 'qiào pí',
吧嗒: 'bā dā',
结发: 'jié fà',
了断: 'liǎo duàn',
同调: 'tóng diào',
石磨: 'shí mò',
时差: 'shí chā',
鼻塞: 'bí sè',
挑子: 'tiāo zi',
推磨: 'tuī mò',
武侯: 'wǔ hóu',
抹煞: 'mǒ shā',
调转: 'diào zhuǎn',
籍没: 'jí mò',
还债: 'huán zhài',
调演: 'diào yǎn',
分划: 'fēn huá',
奇偶: 'jī ǒu',
断喝: 'duàn hè',
闷雷: 'mèn léi',
狼藉: 'láng jí',
饭量: 'fàn liàng',
还礼: 'huán lǐ',
转调: 'zhuǎn diào',
星相: 'xīng xiàng',
手相: 'shǒu xiàng',
配乐: 'pèi yuè',
盖头: 'gài tou',
连杆: 'lián gǎn',
簿记: 'bù jì',
刀把: 'dāo bà',
量词: 'liàng cí',
名角: 'míng jué',
步调: 'bù diào',
校本: 'jiào běn',
账簿: 'zhàng bù',
隽永: 'juàn yǒng',
稍为: 'shāo wéi',
易传: 'yì zhuàn',
乐谱: 'yuè pǔ',
牵累: 'qiān lěi',
答理: 'dā li',
喝斥: 'hè chì',
吟哦: 'yín é',
干渠: 'gàn qú',
海量: 'hǎi liàng',
精当: 'jīng dàng',
着床: 'zhuó chuáng',
月相: 'yuè xiàng',
庶几: 'shù jī',
宫观: 'gōng guàn',
论处: 'lùn chǔ',
征辟: 'zhēng bì',
厚朴: 'hòu pò',
介壳: 'jiè qiào',
吭哧: 'kēng chī',
咯血: 'kǎ xiě',
铺陈: 'pū chén',
重生: 'chóng shēng',
乐理: 'yuè lǐ',
哀号: 'āi háo',
藏历: 'zàng lì',
刚劲: 'gāng jìng',
削平: 'xuē píng',
浓荫: 'nóng yīn',
城垛: 'chéng duǒ',
当差: 'dāng chāi',
正传: 'zhèng zhuàn',
并处: 'bìng chǔ',
创面: 'chuāng miàn',
旦角: 'dàn jué',
薄礼: 'bó lǐ',
晃荡: 'huàng dang',
臊子: 'sào zi',
家什: 'jiā shí',
闷头: 'mēn tóu',
美发: 'měi fà',
度数: 'dù shu',
着凉: 'zháo liáng',
闯将: 'chuǎng jiàng',
几案: 'jī àn',
姘头: 'pīn tou',
差数: 'chā shù',
散碎: 'sǎn suì',
壅塞: 'yōng sè',
寒颤: 'hán zhàn',
牵强: 'qiān qiǎng',
无间: 'wú jiàn',
轮转: 'lún zhuàn',
号叫: 'háo jiào',
铺排: 'pū pái',
降伏: 'xiáng fú',
轧钢: 'zhá gāng',
东阿: 'dōng ē',
病假: 'bìng jià',
累加: 'lěi jiā',
梗塞: 'gěng sè',
弹夹: 'dàn jiā',
钻心: 'zuān xīn',
晃眼: 'huǎng yǎn',
魔爪: 'mó zhǎo',
标量: 'biāo liàng',
憋闷: 'biē mèn',
猜度: 'cāi duó',
处士: 'chǔ shì',
官差: 'guān chāi',
讨还: 'tǎo huán',
长门: 'cháng mén',
馏分: 'liú fēn',
里弄: 'lǐ lòng',
色相: 'sè xiàng',
雅兴: 'yǎ xìng',
角力: 'jué lì',
弹坑: 'dàn kēng',
枝杈: 'zhī chà',
夹具: 'jiā jù',
处刑: 'chǔ xíng',
悍将: 'hàn jiàng',
好学: 'hào xué',
好好: 'hǎo hǎo',
银发: 'yín fà',
扫把: 'sào bǎ',
法相: 'fǎ xiàng',
贵干: 'guì gàn',
供气: 'gōng qì',
空余: 'kòng yú',
捆扎: 'kǔn zā',
瘠薄: 'jí bó',
浆糊: 'jiàng hu',
嘎吱: 'gā zhī',
调令: 'diào lìng',
法帖: 'fǎ tiè',
淋病: 'lìn bìng',
调派: 'diào pài',
转盘: 'zhuàn pán',
供稿: 'gōng gǎo',
差官: 'chāi guān',
忧闷: 'yōu mèn',
教长: 'jiào zhǎng',
重唱: 'chóng chàng',
酒兴: 'jiǔ xìng',
乐坛: 'yuè tán',
花呢: 'huā ní',
叱喝: 'chì hè',
膀臂: 'bǎng bì',
得空: 'dé kòng',
转圈: 'zhuàn quān',
横暴: 'hèng bào',
哄抬: 'hōng tái',
引吭: 'yǐn háng',
载货: 'zài huò',
中计: 'zhòng jì',
官长: 'guān zhǎng',
相面: 'xiàng miàn',
看头: 'kàn tou',
盼头: 'pàn tou',
意兴: 'yì xìng',
军乐: 'jūn yuè',
累次: 'lěi cì',
骨嘟: 'gǔ dū',
燕赵: 'yān zhào',
报丧: 'bào sāng',
弥撒: 'mí sa',
挨斗: 'ái dòu',
扁舟: 'piān zhōu',
丑角: 'chǒu jué',
吊丧: 'diào sāng',
强将: 'qiáng jiàng',
重奏: 'chóng zòu',
发辫: 'fà biàn',
着魔: 'zháo mó',
着法: 'zhāo fǎ',
盛放: 'shèng fàng',
填塞: 'tián sè',
凶横: 'xiōng hèng',
稽首: 'qǐ shǒu',
碑帖: 'bēi tiè',
冲量: 'chōng liàng',
发菜: 'fà cài',
假发: 'jiǎ fà',
翻卷: 'fān juǎn',
小量: 'xiǎo liàng',
胶着: 'jiāo zhuó',
里子: 'lǐ zi',
调调: 'diào diao',
散兵: 'sǎn bīng',
高挑: 'gāo tiǎo',
播撒: 'bō sǎ',
夹心: 'jiā xīn',
扇动: 'shān dòng',
叨扰: 'tāo rǎo',
霓裳: 'ní cháng',
捻子: 'niǎn zi',
弥缝: 'mí féng',
撒布: 'sǎ bù',
场院: 'cháng yuàn',
省亲: 'xǐng qīn',
提拉: 'tí lā',
惯量: 'guàn liàng',
强逼: 'qiáng bī',
强征: 'qiáng zhēng',
晕车: 'yùn chē',
数道: 'shù dào',
带累: 'dài lèi',
拓本: 'tà běn',
嫌恶: 'xián wù',
宿将: 'sù jiàng',
龟裂: 'jūn liè',
缠夹: 'chán jiā',
发式: 'fà shì',
隔扇: 'gé shàn',
天分: 'tiān fèn',
癖好: 'pǐ hào',
四通: 'sì tōng',
白术: 'bái zhú',
划伤: 'huá shāng',
角斗: 'jué dòu',
听差: 'tīng chāi',
岁差: 'suì chā',
丧礼: 'sāng lǐ',
脉脉: 'mò mò',
削瘦: 'xuē shòu',
撒播: 'sǎ bō',
莎草: 'suō cǎo',
犍为: 'qián wéi',
调头: 'diào tóu',
龙卷: 'lóng juǎn',
外调: 'wài diào',
字帖: 'zì tiè',
卷发: 'juǎn fà',
揣度: 'chuǎi duó',
洋相: 'yáng xiàng',
散光: 'sǎn guāng',
骨碌: 'gū lu',
薄命: 'bó mìng',
笼头: 'lóng tóu',
咽炎: 'yān yán',
碌碡: 'liù zhou',
片儿: 'piàn er',
纤手: 'qiàn shǒu',
散体: 'sǎn tǐ',
内省: 'nèi xǐng',
强留: 'qiáng liú',
解送: 'jiè sòng',
反间: 'fǎn jiàn',
少壮: 'shào zhuàng',
留空: 'liú kōng',
告假: 'gào jià',
咳血: 'ké xuè',
薄暮: 'bó mù',
铺轨: 'pū guǐ',
磨削: 'mó xuē',
治丧: 'zhì sāng',
叉子: 'chā zi',
哄动: 'hōng dòng',
蛾子: 'é zi',
出落: 'chū luò',
股长: 'gǔ zhǎng',
贵处: 'guì chù',
还魂: 'huán hún',
例假: 'lì jià',
刹住: 'shā zhù',
身量: 'shēn liàng',
同好: 'tóng hào',
模量: 'mó liàng',
更生: 'gēng shēng',
服丧: 'fú sāng',
率直: 'shuài zhí',
字模: 'zì mú',
散架: 'sǎn jià',
答腔: 'dā qiāng',
交恶: 'jiāo wù',
薄情: 'bó qíng',
眼泡: 'yǎn pāo',
袅娜: 'niǎo nuó',
草垛: 'cǎo duò',
冲劲: 'chòng jìn',
呢喃: 'ní nán',
切中: 'qiè zhòng',
挑灯: 'tiǎo dēng',
还愿: 'huán yuàn',
激将: 'jī jiàng',
更鼓: 'gēng gǔ',
没药: 'mò yào',
败兴: 'bài xìng',
切面: 'qiē miàn',
散户: 'sǎn hù',
累进: 'lěi jìn',
背带: 'bēi dài',
秤杆: 'chèng gǎn',
碾坊: 'niǎn fáng',
簿子: 'bù zi',
扳手: 'bān shǒu',
铅山: 'yán shān',
儒将: 'rú jiàng',
重光: 'chóng guāng',
剪发: 'jiǎn fà',
长上: 'zhǎng shàng',
小传: 'xiǎo zhuàn',
压轴: 'yā zhòu',
弱冠: 'ruò guàn',
花卷: 'huā juǎn',
横祸: 'hèng huò',
夹克: 'jiā kè',
光晕: 'guāng yùn',
披靡: 'pī mǐ',
对调: 'duì diào',
夹持: 'jiā chí',
空额: 'kòng é',
平调: 'píng diào',
铺床: 'pū chuáng',
丧钟: 'sāng zhōng',
作乐: 'zuò lè',
少府: 'shào fǔ',
数数: 'shuò shuò',
奔头: 'bèn tou',
进给: 'jìn jǐ',
率性: 'shuài xìng',
乐子: 'lè zi',
绑扎: 'bǎng zā',
挑唆: 'tiǎo suō',
漂洗: 'piǎo xǐ',
夹墙: 'jiā qiáng',
咳喘: 'ké chuǎn',
乜斜: 'miē xie',
错处: 'cuò chù',
闷酒: 'mèn jiǔ',
时调: 'shí diào',
重孙: 'chóng sūn',
经幢: 'jīng chuáng',
圩场: 'xū chǎng',
调门: 'diào mén',
花头: 'huā tóu',
划拉: 'huá la',
套色: 'tào shǎi',
粗率: 'cū shuài',
相率: 'xiāng shuài',
款识: 'kuǎn zhì',
吁请: 'yù qǐng',
荫蔽: 'yīn bì',
文蛤: 'wén gé',
嘀嗒: 'dī dā',
调取: 'diào qǔ',
交差: 'jiāo chāi',
落子: 'luò zǐ',
相册: 'xiàng cè',
絮叨: 'xù dao',
落发: 'luò fà',
异相: 'yì xiàng',
浸没: 'jìn mò',
角抵: 'jué dǐ',
卸载: 'xiè zài',
春卷: 'chūn juǎn',
扎挣: 'zhá zheng',
畜养: 'xù yǎng',
吡咯: 'bǐ luò',
垛子: 'duò zi',
恶少: 'è shào',
发际: 'fà jì',
红苕: 'hóng sháo',
糨糊: 'jiàng hu',
哭丧: 'kū sāng',
稍息: 'shào xī',
晕船: 'yùn chuán',
校样: 'jiào yàng',
外差: 'wài chā',
脚爪: 'jiǎo zhǎo',
铺展: 'pū zhǎn',
芫荽: 'yán sui',
夹紧: 'jiā jǐn',
尿泡: 'suī pào',
丧乱: 'sāng luàn',
凶相: 'xiōng xiàng',
华发: 'huá fà',
打场: 'dǎ cháng',
云量: 'yún liàng',
正切: 'zhèng qiē',
划拳: 'huá quán',
划艇: 'huá tǐng',
评传: 'píng zhuàn',
拉纤: 'lā qiàn',
句读: 'jù dòu',
散剂: 'sǎn jì',
骨殖: 'gǔ shi',
塞音: 'sè yīn',
铺叙: 'pū xù',
阏氏: 'yān zhī',
冷颤: 'lěng zhàn',
煞住: 'shā zhù',
少男: 'shào nán',
管乐: 'guǎn yuè',
号啕: 'háo táo',
纳降: 'nà xiáng',
拥塞: 'yōng sè',
万乘: 'wàn shèng',
杆儿: 'gǎn ér',
葛藤: 'gé téng',
簿籍: 'bù jí',
皮夹: 'pí jiā',
校准: 'jiào zhǔn',
允当: 'yǔn dàng',
器量: 'qì liàng',
选调: 'xuǎn diào',
扮相: 'bàn xiàng',
干才: 'gàn cái',
基干: 'jī gàn',
割切: 'gē qiē',
国乐: 'guó yuè',
卡壳: 'qiǎ ké',
辟谷: 'bì gǔ',
磨房: 'mò fáng',
咿呀: 'yī yā',
芥末: 'jiè mo',
薄技: 'bó jì',
产假: 'chǎn jià',
诗兴: 'shī xìng',
重出: 'chóng chū',
转椅: 'zhuàn yǐ',
酌量: 'zhuó liang',
簿册: 'bù cè',
藏青: 'zàng qīng',
的士: 'dī shì',
调人: 'diào rén',
解元: 'jiè yuán',
茎干: 'jīng gàn',
巨量: 'jù liàng',
榔头: 'láng tou',
率真: 'shuài zhēn',
喷香: 'pèn xiāng',
锁钥: 'suǒ yuè',
虾蟆: 'há má',
相图: 'xiàng tú',
兴会: 'xìng huì',
灶头: 'zào tóu',
重婚: 'chóng hūn',
钻洞: 'zuān dòng',
忖度: 'cǔn duó',
党参: 'dǎng shēn',
调温: 'diào wēn',
杆塔: 'gān tǎ',
葛布: 'gé bù',
拱券: 'gǒng xuàn',
夹生: 'jiā shēng',
露馅: 'lòu xiàn',
恰切: 'qià qiè',
散见: 'sǎn jiàn',
哨卡: 'shào qiǎ',
烫发: 'tàng fà',
体量: 'tǐ liàng',
挺括: 'tǐng kuò',
系带: 'jì dài',
相士: 'xiàng shì',
羊圈: 'yáng juàn',
转矩: 'zhuàn jǔ',
吧台: 'bā tái',
苍术: 'cāng zhú',
菲薄: 'fěi bó',
蛤蚧: 'gé jiè',
蛤蜊: 'gé lí',
瓜蔓: 'guā wàn',
怪相: 'guài xiàng',
临帖: 'lín tiè',
女红: 'nǚ gōng',
刨床: 'bào chuáng',
翘楚: 'qiáo chǔ',
数九: 'shǔ jiǔ',
谈兴: 'tán xìng',
雄劲: 'xióng jìng',
扎染: 'zā rǎn',
遮荫: 'zhē yīn',
周正: 'zhōu zhèng',
赚头: 'zhuàn tou',
扒手: 'pá shǒu',
搀和: 'chān huo',
诚朴: 'chéng pǔ',
肚量: 'dù liàng',
干结: 'gān jié',
工尺: 'gōng chě',
家累: 'jiā lěi',
曲水: 'qū shuǐ',
沙参: 'shā shēn',
挑花: 'tiǎo huā',
阿门: 'ā mén',
背篓: 'bēi lǒu',
瘪三: 'biē sān',
裁处: 'cái chǔ',
创痛: 'chuāng tòng',
福相: 'fú xiàng',
更动: 'gēng dòng',
豪兴: 'háo xìng',
还阳: 'huán yáng',
还嘴: 'huán zuǐ',
借调: 'jiè diào',
卷云: 'juǎn yún',
流弹: 'liú dàn',
想头: 'xiǎng tou',
削价: 'xuē jià',
校阅: 'jiào yuè',
雅量: 'yǎ liàng',
别传: 'bié zhuàn',
薄酒: 'bó jiǔ',
春假: 'chūn jià',
发妻: 'fà qī',
哗哗: 'huā huā',
宽绰: 'kuān chuo',
了悟: 'liǎo wù',
切花: 'qiē huā',
审度: 'shěn duó',
应许: 'yīng xǔ',
转台: 'zhuàn tái',
仔猪: 'zǐ zhū',
裁量: 'cái liáng',
藏戏: 'zàng xì',
乘兴: 'chéng xìng',
绸缪: 'chóu móu',
摧折: 'cuī zhé',
调经: 'tiáo jīng',
调职: 'diào zhí',
缝缀: 'féng zhuì',
骨朵: 'gū duǒ',
核儿: 'hú er',
恒量: 'héng liàng',
还价: 'huán jià',
浑朴: 'hún pǔ',
苦差: 'kǔ chāi',
面糊: 'miàn hù',
煞车: 'shā chē',
省视: 'xǐng shì',
什锦: 'shí jǐn',
信差: 'xìn chāi',
余切: 'yú qiē',
攒眉: 'cuán méi',
炸糕: 'zhá gāo',
钻杆: 'zuàn gǎn',
扒灰: 'pá huī',
拌和: 'bàn huò',
长调: 'cháng diào',
大溜: 'dà liù',
抖搂: 'dǒu lōu',
飞转: 'fēi zhuàn',
干仗: 'gàn zhàng',
好胜: 'hào shèng',
画片: 'huà piàn',
搅混: 'jiǎo hún',
螺杆: 'luó gǎn',
木模: 'mù mú',
怒号: 'nù háo',
频数: 'pín shù',
无宁: 'wú níng',
遗少: 'yí shào',
邮差: 'yóu chāi',
占卦: 'zhān guà',
占星: 'zhān xīng',
重审: 'chóng shěn',
自量: 'zì liàng',
调防: 'diào fáng',
发廊: 'fà láng',
反调: 'fǎn diào',
缝子: 'fèng zi',
更夫: 'gēng fū',
骨子: 'gǔ zi',
光杆: 'guāng gǎn',
夹棍: 'jiā gùn',
居丧: 'jū sāng',
巨贾: 'jù gǔ',
看押: 'kān yā',
空转: 'kōng zhuàn',
量力: 'liàng lì',
炮烙: 'páo luò',
赔还: 'péi huán',
扑扇: 'pū shān',
散记: 'sǎn jì',
散件: 'sǎn jiàn',
删削: 'shān xuē',
射干: 'shè gàn',
条几: 'tiáo jī',
偷空: 'tōu kòng',
削壁: 'xuē bì',
校核: 'jiào hé',
阴干: 'yīn gān',
择菜: 'zhái cài',
重九: 'chóng jiǔ',
主调: 'zhǔ diào',
自禁: 'zì jīn',
吧唧: 'bā jī',
便溺: 'biàn niào',
词调: 'cí diào',
叨咕: 'dáo gu',
落枕: 'lào zhěn',
铺砌: 'pū qì',
刷白: 'shuà bái',
委靡: 'wěi mǐ',
系泊: 'xì bó',
相马: 'xiàng mǎ',
熨帖: 'yù tiē',
转筋: 'zhuàn jīn',
棒喝: 'bàng hè',
傧相: 'bīn xiàng',
镐头: 'gǎo tóu',
间苗: 'jiàn miáo',
乐池: 'yuè chí',
卖相: 'mài xiàng',
屏弃: 'bǐng qì',
铅弹: 'qiān dàn',
切变: 'qiē biàn',
请调: 'qǐng diào',
群氓: 'qún méng',
散板: 'sǎn bǎn',
省察: 'xǐng chá',
事假: 'shì jià',
纤绳: 'qiàn shéng',
重影: 'chóng yǐng',
耕种: 'gēng zhòng',
种地: 'zhòng dì',
种菜: 'zhòng cài',
栽种: 'zāi zhòng',
接种: 'jiē zhòng',
垦种: 'kěn zhòng',
种殖: 'zhòng zhí',
种瓜: 'zhòng guā',
种豆: 'zhòng dòu',
种树: 'zhòng shù',
睡着: 'shuì zháo',
笼子: 'lóng zi',
重启: 'chóng qǐ',
重整: 'chóng zhěng',
重弹: 'chóng tán',
重足: 'chóng zú',
重山: 'chóng shān',
重游: 'chóng yóu',
重峦: 'chóng luán',
爷爷: 'yé ye',
奶奶: 'nǎi nai',
姥爷: 'lǎo ye',
爸爸: 'bà ba',
妈妈: 'mā ma',
婶婶: 'shěn shen',
舅舅: 'jiù jiu',
姑姑: 'gū gu',
叔叔: 'shū shu',
姨夫: 'yí fu',
舅母: 'jiù mu',
姑父: 'gū fu',
姐夫: 'jiě fu',
婆婆: 'pó po',
公公: 'gōng gong',
舅子: 'jiù zi',
姐姐: 'jiě jie',
哥哥: 'gē ge',
妹妹: 'mèi mei',
妹夫: 'mèi fu',
姨子: 'yí zi',
宝宝: 'bǎo bao',
娃娃: 'wá wa',
孩子: 'hái zi',
日子: 'rì zi',
样子: 'yàng zi',
狮子: 'shī zi',
身子: 'shēn zi',
架子: 'jià zi',
嫂子: 'sǎo zi',
鼻子: 'bí zi',
亭子: 'tíng zi',
折子: 'zhé zi',
面子: 'miàn zi',
脖子: 'bó zi',
辈子: 'bèi zi',
帽子: 'mào zi',
拍子: 'pāi zi',
柱子: 'zhù zi',
辫子: 'biàn zi',
鸽子: 'gē zi',
房子: 'fáng zi',
丸子: 'wán zi',
摊子: 'tān zi',
牌子: 'pái zi',
胡子: 'hú zi',
鬼子: 'guǐ zi',
矮子: 'ǎi zi',
鸭子: 'yā zi',
小子: 'xiǎo zi',
影子: 'yǐng zi',
屋子: 'wū zi',
对子: 'duì zi',
点子: 'diǎn zi',
本子: 'běn zi',
种子: 'zhǒng zi',
儿子: 'ér zi',
兔子: 'tù zi',
骗子: 'piàn zi',
院子: 'yuàn zi',
猴子: 'hóu zi',
嗓子: 'sǎng zi',
侄子: 'zhí zi',
柿子: 'shì zi',
钳子: 'qián zi',
虱子: 'shī zi',
瓶子: 'píng zi',
豹子: 'bào zi',
筷子: 'kuài zi',
篮子: 'lán zi',
绳子: 'shéng zi',
嘴巴: 'zuǐ ba',
耳朵: 'ěr duo',
茄子: 'qié zi',
蚌埠: 'bèng bù',
崆峒: 'kōng tóng',
琵琶: 'pí pa',
蘑菇: 'mó gu',
葫芦: 'hú lu',
狐狸: 'hú li',
桔子: 'jú zi',
盒子: 'hé zi',
桌子: 'zhuō zi',
竹子: 'zhú zi',
师傅: 'shī fu',
衣服: 'yī fu',
袜子: 'wà zi',
杯子: 'bēi zi',
刺猬: 'cì wei',
麦子: 'mài zi',
队伍: 'duì wu',
知了: 'zhī liǎo',
鱼儿: 'yú er',
馄饨: 'hún tun',
灯笼: 'dēng long',
庄稼: 'zhuāng jia',
聪明: 'cōng ming',
镜子: 'jìng zi',
银子: 'yín zi',
盘子: 'pán zi',
了却: 'liǎo què',
力气: 'lì qi',
席子: 'xí zi',
林子: 'lín zi',
朝霞: 'zhāo xiá',
朝夕: 'zhāo xī',
朝气: 'zhāo qì',
翅膀: 'chì bǎng',
省长: 'shěng zhǎng',
臧否: 'zāng pǐ',
否泰: 'pǐ tài',
变得: 'biàn de',
丈夫: 'zhàng fu',
豆腐: 'dòu fu',
笔杆: 'bǐ gǎn',
枞阳: 'zōng yáng',
行人: 'xíng rén',
打着: 'dǎ zhe',
// 一字不变调的词语(需要增补更多)
// 有歧义的词:一楼、一栋、一层、一排、一连
// “一楼”这个词,上下文语意是“一整栋楼”时,需要变调成四声;我住一楼时,则是一声
第一: 'dì yī',
万一: 'wàn yī',
之一: 'zhī yī',
得之: 'dé zhī',
统一: 'tǒng yī',
唯一: 'wéi yī',
专一: 'zhuān yī',
单一: 'dān yī',
如一: 'rú yī',
其一: 'qí yī',
合一: 'hé yī',
逐一: 'zhú yī',
周一: 'zhōu yī',
初一: 'chū yī',
研一: 'yán yī',
归一: 'guī yī',
假一: 'jiǎ yī',
闻一: 'wén yī',
了了: 'liǎo liǎo',
公了: 'gōng liǎo',
私了: 'sī liǎo',
// 一 发音
一月: 'yī yuè',
一号: 'yī hào',
一级: 'yī jí',
一等: 'yī děng',
一哥: 'yī gē',
月一: 'yuè yī',
一一: 'yī yī',
二一: 'èr yī',
三一: 'sān yī',
四一: 'sì yī',
五一: 'wǔ yī',
六一: 'liù yī',
七一: 'qī yī',
八一: 'bā yī',
九一: 'jiǔ yī',
一〇: 'yī líng',
一零: 'yī líng',
一二: 'yī èr',
一三: 'yī sān',
一四: 'yī sì',
一五: 'yī wǔ',
一六: 'yī liù',
一七: 'yī qī',
一八: 'yī bā',
一九: 'yī jiǔ',
一又: 'yī yòu',
一饼: 'yī bǐng',
一楼: 'yī lóu',
为例: 'wéi lì',
为准: 'wéi zhǔn',
沧海: 'cāng hǎi',
难为: 'nán wéi',
责难: 'zé nàn',
患难: 'huàn nàn',
磨难: 'mó nàn',
大难: 'dà nàn',
刁难: 'diāo nàn',
殉难: 'xùn nàn',
落难: 'luò nàn',
罹难: 'lí nàn',
灾难: 'zāi nàn',
难民: 'nàn mín',
苦难: 'kǔ nàn',
危难: 'wēi nàn',
发难: 'fā nàn',
逃难: 'táo nàn',
避难: 'bì nàn',
遇难: 'yù nàn',
阻难: 'zǔ nàn',
厄难: 'è nàn',
徇难: 'xùn nàn',
空难: 'kōng nàn',
喜欢: 'xǐ huan',
朝朝: 'zhāo zhāo',
不行: 'bù xíng',
轧轧: 'yà yà',
弯曲: 'wān qū',
扭曲: 'niǔ qū',
曲直: 'qū zhí',
委曲: 'wěi qū',
酒曲: 'jiǔ qū',
曲径: 'qū jìng',
曲解: 'qū jiě',
歪曲: 'wāi qū',
曲线: 'qū xiàn',
曲阜: 'qū fù',
九曲: 'jiǔ qū',
曲折: 'qū zhé',
曲肱: 'qū gōng',
曲意: 'qū yì',
仡佬: 'gē lǎo'
};
var Pattern2 = Object.keys(DICT2).map(function (key) {
return {
zh: key,
pinyin: DICT2[key],
probability: 2e-8 /* Probability.DICT */,
length: 2,
priority: Priority.Normal,
dict: Symbol('dict2')
};
});
var DICT3 = {
为什么: 'wèi shén me',
实际上: 'shí jì shang',
检察长: 'jiǎn chá zhǎng',
干什么: 'gàn shén me',
这会儿: 'zhè huì er',
尽可能: 'jǐn kě néng',
董事长: 'dǒng shì zhǎng',
了不起: 'liǎo bù qǐ',
参谋长: 'cān móu zhǎng',
朝鲜族: 'cháo xiǎn zú',
海内外: 'hǎi nèi wài',
禁不住: 'jīn bú zhù',
柏拉图: 'bó lā tú',
不在乎: 'bú zài hu',
洛杉矶: 'luò shān jī',
有点儿: 'yǒu diǎn er',
迫击炮: 'pǎi jī pào',
不得了: 'bù dé liǎo',
马尾松: 'mǎ wěi sōng',
运输量: 'yùn shū liàng',
发脾气: 'fā pí qi',
士大夫: 'shì dà fū',
鸭绿江: 'yā lù jiāng',
压根儿: 'yà gēn er',
对得起: 'duì de qǐ',
那会儿: 'nà huì er',
自个儿: 'zì gě er',
物理量: 'wù lǐ liàng',
怎么着: 'zěn me zhāo',
明晃晃: 'míng huǎng huǎng',
节假日: 'jié jià rì',
心里话: 'xīn lǐ huà',
发行量: 'fā xíng liàng',
兴冲冲: 'xìng chōng chōng',
分子量: 'fēn zǐ liàng',
国子监: 'guó zǐ jiàn',
老大难: 'lǎo dà nán',
党内外: 'dǎng nèi wài',
这么着: 'zhè me zhāo',
少奶奶: 'shào nǎi nai',
暗地里: 'àn dì lǐ',
更年期: 'gēng nián qī',
工作量: 'gōng zuò liàng',
背地里: 'bèi dì lǐ',
山里红: 'shān li hóng',
好好儿: 'hǎo hāo er',
交响乐: 'jiāo xiǎng yuè',
好意思: 'hǎo yì si',
吐谷浑: 'tǔ yù hún',
没意思: 'méi yì si',
理发师: 'lǐ fà shī',
塔什干: 'tǎ shí gān',
充其量: 'chōng qí liàng',
靠得住: 'kào de zhù',
车行道: 'chē xíng dào',
人行道: 'rén xíng dào',
中郎将: 'zhōng láng jiàng',
照明弹: 'zhào míng dàn',
烟幕弹: 'yān mù dàn',
没奈何: 'mò nài hé',
乱哄哄: 'luàn hōng hōng',
惠更斯: 'huì gēng sī',
载重量: 'zài zhòng liàng',
瞧得起: 'qiáo de qǐ',
纪传体: 'jì zhuàn tǐ',
阿房宫: 'ē páng gōng',
卷心菜: 'juǎn xīn cài',
戏班子: 'xì bān zi',
过得去: 'guò de qù',
花岗石: 'huā gāng shí',
外甥女: 'wài sheng nǚ',
团团转: 'tuán tuán zhuàn',
大堡礁: 'dà bǎo jiāo',
燃烧弹: 'rán shāo dàn',
劳什子: 'láo shí zi',
摇滚乐: 'yáo gǔn yuè',
夹竹桃: 'jiā zhú táo',
闹哄哄: 'nào hōng hōng',
三连冠: 'sān lián guàn',
重头戏: 'zhòng tóu xì',
二人转: 'èr rén zhuàn',
节骨眼: 'jiē gǔ yǎn',
知识面: 'zhī shi miàn',
护士长: 'hù shi zhǎng',
信号弹: 'xìn hào dàn',
干电池: 'gān diàn chí',
枪杆子: 'qiāng gǎn zi',
哭丧棒: 'kū sāng bàng',
鼻咽癌: 'bí yān ái',
瓦岗军: 'wǎ gāng jūn',
买得起: 'mǎi de qǐ',
癞蛤蟆: 'lài há ma',
脊梁骨: 'jǐ liang gǔ',
子母弹: 'zǐ mǔ dàn',
开小差: 'kāi xiǎo chāi',
女强人: 'nǚ qiáng rén',
英雄传: 'yīng xióng zhuàn',
爵士乐: 'jué shì yuè',
说笑话: 'shuō xiào hua',
碰头会: 'pèng tóu huì',
玻璃钢: 'bō li gāng',
曳光弹: 'yè guāng dàn',
少林拳: 'shào lín quán',
咏叹调: 'yǒng tàn diào',
少先队: 'shào xiān duì',
灵长目: 'líng zhǎng mù',
对着干: 'duì zhe gàn',
蒙蒙亮: 'méng méng liàng',
软骨头: 'ruǎn gǔ tou',
铺盖卷: 'pū gài juǎn',
和稀泥: 'huò xī ní',
背黑锅: 'bēi hēi guō',
红彤彤: 'hóng tōng tōng',
武侯祠: 'wǔ hóu cí',
打哆嗦: 'dǎ duō suo',
户口簿: 'hù kǒu bù',
马尾藻: 'mǎ wěi zǎo',
夜猫子: 'yè māo zi',
打手势: 'dǎ shǒu shì',
龙王爷: 'lóng wáng yé',
气头上: 'qì tóu shang',
糊涂虫: 'hú tu chóng',
笔杆子: 'bǐ gǎn zi',
占便宜: 'zhàn pián yi',
打主意: 'dǎ zhǔ yì',
多弹头: 'duō dàn tóu',
露一手: 'lòu yì shǒu',
堰塞湖: 'yàn sè hú',
保得住: 'bǎo de zhù',
趵突泉: 'bào tū quán',
奥得河: 'ào de hé',
司务长: 'sī wù zhǎng',
禁不起: 'jīn bù qǐ',
什刹海: 'shí chà hǎi',
莲花落: 'lián huā lào',
见世面: 'jiàn shì miàn',
豁出去: 'huō chū qù',
电位差: 'diàn wèi chā',
挨个儿: 'āi gè er',
那阵儿: 'nà zhèn er',
肺活量: 'fèi huó liàng',
大师傅: 'dà shī fu',
掷弹筒: 'zhì dàn tǒng',
打呼噜: 'dǎ hū lu',
广渠门: 'ān qú mén',
未见得: 'wèi jiàn dé',
大婶儿: 'dà shěn er',
谈得来: 'tán de lái',
脚丫子: 'jiǎo yā zi',
空包弹: 'kōng bāo dàn',
窝里斗: 'wō li dòu',
弹着点: 'dàn zhuó diǎn',
个头儿: 'gè tóu er',
看得起: 'kàn de qǐ',
糊涂账: 'hú tu zhàng',
大猩猩: 'dà xīng xing',
禁得起: 'jīn de qǐ',
法相宗: 'fǎ xiàng zōng',
可怜相: 'kě lián xiàng',
吃得下: 'chī de xià',
汉堡包: 'hàn bǎo bāo',
闹嚷嚷: 'nào rāng rāng',
数来宝: 'shǔ lái bǎo',
合得来: 'hé de lái',
干性油: 'gān xìng yóu',
闷葫芦: 'mèn hú lu',
呱呱叫: 'guā guā jiào',
西洋参: 'xī yáng shēn',
林荫道: 'lín yīn dào',
拉家常: 'lā jiā cháng',
卷铺盖: 'juǎn pū gài',
过得硬: 'guò de yìng',
飞将军: 'fēi jiāng jūn',
挑大梁: 'tiǎo dà liáng',
哈巴狗: 'hǎ ba gǒu',
过家家: 'guò jiā jiā',
催泪弹: 'cuī lèi dàn',
雨夹雪: 'yǔ jiā xuě',
敲竹杠: 'qiāo zhú gàng',
列车长: 'liè chē zhǎng',
华达呢: 'huá dá ní',
犯得着: 'fàn de zháo',
土疙瘩: 'tǔ gē da',
煞风景: 'shā fēng jǐng',
轻量级: 'qīng liàng jí',
羞答答: 'xiū dā dā',
石子儿: 'shí zǐ er',
达姆弹: 'dá mǔ dàn',
科教片: 'kē jiào piān',
侃大山: 'kǎn dà shān',
丁点儿: 'dīng diǎn er',
吃得消: 'chī de xiāo',
捋虎须: 'luō hǔ xū',
高丽参: 'gāo lí shēn',
众生相: 'zhòng shēng xiàng',
咽峡炎: 'yān xiá yán',
禁得住: 'jīn de zhù',
吃得开: 'chī de kāi',
柞丝绸: 'zuò sī chóu',
应声虫: 'yìng shēng chóng',
数得着: 'shǔ de zháo',
傻劲儿: 'shǎ jìn er',
铅玻璃: 'qiān bō li',
可的松: 'kě dì sōng',
划得来: 'huá de lái',
晕乎乎: 'yūn hū hū',
屎壳郎: 'shǐ ke làng',
尥蹶子: 'liào juě zi',
藏红花: 'zàng hóng huā',
闷罐车: 'mèn guàn chē',
卡脖子: 'qiǎ bó zi',
红澄澄: 'hóng deng deng',
赶得及: 'gǎn de jí',
当间儿: 'dāng jiàn er',
露马脚: 'lòu mǎ jiǎo',
鸡内金: 'jī nèi jīn',
犯得上: 'fàn de shàng',
钉齿耙: 'dīng chǐ bà',
饱和点: 'bǎo hé diǎn',
龙爪槐: 'lóng zhǎo huái',
喝倒彩: 'hè dào cǎi',
定冠词: 'dìng guàn cí',
担担面: 'dàn dan miàn',
吃得住: 'chī de zhù',
爪尖儿: 'zhuǎ jiān er',
支着儿: 'zhī zhāo er',
折跟头: 'zhē gēn tou',
阴着儿: 'yīn zhāo er',
烟卷儿: 'yān juǎn er',
宣传弹: 'xuān chuán dàn',
信皮儿: 'xìn pí er',
弦切角: 'xián qiē jiǎo',
缩砂密: 'sù shā mì',
说得来: 'shuō de lái',
水漂儿: 'shuǐ piāo er',
耍笔杆: 'shuǎ bǐ gǎn',
数得上: 'shǔ de shàng',
数不着: 'shǔ bù zháo',
数不清: 'shǔ bù qīng',
什件儿: 'shí jiàn er',
生死簿: 'shēng sǐ bù',
扇风机: 'shān fēng jī',
撒呓挣: 'sā yì zheng',
日记簿: 'rì jì bù',
热得快: 'rè de kuài',
亲家公: 'qìng jia gōng',
奇函数: 'jī hán shù',
拍纸簿: 'pāi zhǐ bù',
努劲儿: 'nǔ jìn er',
泥娃娃: 'ní wá wa',
内切圆: 'nèi qiē yuán',
哪会儿: 'nǎ huì er',
闷头儿: 'mēn tóu er',
没谱儿: 'méi pǔ er',
铆劲儿: 'mǎo jìn er',
溜肩膀: 'liū jiān bǎng',
了望台: 'liào wàng tái',
老来少: 'lǎo lái shào',
坤角儿: 'kūn jué er',
考勤簿: 'kǎo qín bù',
卷笔刀: 'juǎn bǐ dāo',
进给量: 'jìn jǐ liàng',
划不来: 'huá bù lái',
汗褂儿: 'hàn guà er',
鼓囊囊: 'gǔ nāng nāng',
够劲儿: 'gòu jìn er',
公切线: 'gōng qiē xiàn',
搁得住: 'gé de zhù',
赶浪头: 'gǎn làng tóu',
赶得上: 'gǎn de shàng',
干酵母: 'gān jiào mǔ',
嘎渣儿: 'gā zhā er',
嘎嘣脆: 'gā bēng cuì',
对得住: 'duì de zhù',
逗闷子: 'dòu mèn zi',
顶呱呱: 'dǐng guā guā',
滴溜儿: 'dī liù er',
大轴子: 'dà zhòu zi',
打板子: 'dǎ bǎn zi',
寸劲儿: 'cùn jìn er',
醋劲儿: 'cù jìn er',
揣手儿: 'chuāi shǒu er',
冲劲儿: 'chòng jìn er',
吃得来: 'chī de lái',
不更事: 'bù gēng shì',
奔头儿: 'bèn tou er',
百夫长: 'bǎi fū zhǎng',
娃娃亲: 'wá wa qīn',
死劲儿: 'sǐ jìn er',
骨朵儿: 'gū duǒ er',
功劳簿: 'gōng láo bù',
都江堰: 'dū jiāng yàn',
一担水: 'yí dàn shuǐ',
否极泰: 'pǐ jí tài',
泰来否: 'tài lái pǐ',
咳特灵: 'ké tè líng',
开户行: 'kāi hù háng',
郦食其: 'lì yì jī',
花事了: 'huā shì liǎo',
// 一字变调的词语(与两个字的字典冲突,故需要重新定义)
一更更: 'yì gēng gēng',
一重山: 'yì chóng shān',
风一更: 'fēng yì gēng',
雪一更: 'xuě yì gēng',
归一码: 'guī yì mǎ',
// 一字不变调的词语(需要增补更多)
星期一: 'xīng qī yī',
礼拜一: 'lǐ bài yī',
一季度: 'yī jì dù',
一月一: 'yī yuè yī',
一字马: 'yī zì mǎ',
一是一: 'yī shì yī',
一次方: 'yī cì fāng',
一阳指: 'yī yáng zhǐ',
一字决: 'yī zì jué',
一年级: 'yī nián jí',
一不做: 'yī bú zuò',
屈戌儿: 'qū qu ér',
难为水: 'nán wéi shuǐ',
难为情: 'nán wéi qíng',
行一行: 'xíng yì háng',
别别的: 'biè bié de',
干哪行: 'gàn nǎ háng',
干一行: 'gàn yì háng',
曲别针: 'qū bié zhēn'
};
var Pattern3 = Object.keys(DICT3).map(function (key) {
return {
zh: key,
pinyin: DICT3[key],
probability: 2e-8 /* Probability.DICT */,
length: 3,
priority: Priority.Normal,
dict: Symbol('dict3')
};
});
var DICT4 = {
成吉思汗: "chéng jí sī hán",
四通八达: "sì tōng bā dá",
一模一样: "yì mú yí yàng",
青藏高原: "qīng zàng gāo yuán",
阿弥陀佛: "ē mí tuó fó",
解放思想: "jiè fàng sī xiǎng",
所作所为: "suǒ zuò suǒ wéi",
迷迷糊糊: "mí mí hu hū",
荷枪实弹: "hè qiāng shí dàn",
兴高采烈: "xìng gāo cǎi liè",
无能为力: "wú néng wéi lì",
布鲁塞尔: "bù lǔ sài ěr",
为所欲为: "wéi suǒ yù wéi",
克什米尔: "kè shí mǐ ěr",
没完没了: "méi wán méi liǎo",
不为人知: "bù wéi rén zhī",
结结巴巴: "jiē jiē bā bā",
前仆后继: "qián pū hòu jì",
铺天盖地: "pū tiān gài dì",
直截了当: "zhí jié liǎo dàng",
供不应求: "gōng bú yìng qiú",
御史大夫: "yù shǐ dà fū",
不为瓦全: "bù wéi wǎ quán",
不可收拾: "bù kě shōu shi",
胡作非为: "hú zuò fēi wéi",
分毫不差: "fēn háo bú chà",
模模糊糊: "mó mó hu hū",
不足为奇: "bù zú wéi qí",
悄无声息: "qiǎo wú shēng xī",
了如指掌: "liǎo rú zhǐ zhǎng",
深恶痛绝: "shēn wù tòng jué",
高高兴兴: "gāo gāo xìng xìng",
唉声叹气: "āi shēng tàn qì",
汉藏语系: "hàn zàng yǔ xì",
处心积虑: "chǔ xīn jī lǜ",
泣不成声: "qì bù chéng shēng",
半夜三更: "bàn yè sān gēng",
失魂落魄: "shī hún luò pò",
二十八宿: "èr shí bā xiù",
转来转去: "zhuàn lái zhuàn qù",
数以万计: "shǔ yǐ wàn jì",
相依为命: "xiāng yī wéi mìng",
恋恋不舍: "liàn liàn bù shě",
屈指可数: "qū zhǐ kě shǔ",
神出鬼没: "shén chū guǐ mò",
结结实实: "jiē jiē shí shí",
有的放矢: "yǒu dì fàng shǐ",
叽哩咕噜: "jī lǐ gū lū",
调兵遣将: "diào bīng qiǎn jiàng",
载歌载舞: "zài gē zài wǔ",
转危为安: "zhuǎn wēi wéi ān",
踏踏实实: "tā tā shi shí",
桑给巴尔: "sāng jǐ bā ěr",
装模作样: "zhuāng mú zuò yàng",
见义勇为: "jiàn yì yǒng wéi",
相差无几: "xiāng chā wú jǐ",
叹为观止: "tàn wéi guān zhǐ",
闷闷不乐: "mèn mèn bú lè",
喜怒哀乐: "xǐ nù āi lè",
鲜为人知: "xiǎn wéi rén zhī",
张牙舞爪: "zhāng yá wǔ zhǎo",
为非作歹: "wéi fēi zuò dǎi",
含糊其辞: "hán hú qí cí",
疲于奔命: "pí yú bēn mìng",
勉为其难: "miǎn wéi qí nán",
依依不舍: "yī yī bù shě",
顶头上司: "dǐng tóu shàng si",
不着边际: "bù zhuó biān jì",
大模大样: "dà mú dà yàng",
寻欢作乐: "xún huān zuò lè",
一走了之: "yì zǒu liǎo zhī",
字里行间: "zì lǐ háng jiān",
含含糊糊: "hán hán hu hū",
恰如其分: "qià rú qí fèn",
破涕为笑: "pò tì wéi xiào",
深更半夜: "shēn gēng bàn yè",
千差万别: "qiān chā wàn bié",
数不胜数: "shǔ bú shèng shǔ",
据为己有: "jù wéi jǐ yǒu",
天旋地转: "tiān xuán dì zhuàn",
养尊处优: "yǎng zūn chǔ yōu",
玻璃纤维: "bō li xiān wéi",
吵吵闹闹: "chāo chao nào nào",
晕头转向: "yūn tóu zhuàn xiàng",
土生土长: "tǔ shēng tǔ zhǎng",
宁死不屈: "nìng sǐ bù qū",
不省人事: "bù xǐng rén shì",
尽力而为: "jìn lì ér wéi",
精明强干: "jīng míng qiáng gàn",
唠唠叨叨: "láo lao dāo dāo",
叽叽喳喳: "jī ji zhā zhā",
功不可没: "gōng bù kě mò",
锲而不舍: "qiè ér bù shě",
排忧解难: "pái yōu jiě nàn",
稀里糊涂: "xī li hú tú",
各有所长: "gè yǒu suǒ cháng",
的的确确: "dí dí què què",
哄堂大笑: "hōng táng dà xiào",
听而不闻: "tīng ér bù wén",
刀耕火种: "dāo gēng huǒ zhòng",
内分泌腺: "nèi fèn mì xiàn",
化险为夷: "huà xiǎn wéi yí",
百发百中: "bǎi fā bǎi zhòng",
重见天日: "chóng jiàn tiān rì",
反败为胜: "fǎn bài wéi shèng",
一了百了: "yì liǎo bǎi liǎo",
大大咧咧: "dà da liē liē",
心急火燎: "xīn jí huǒ liǎo",
粗心大意: "cū xīn dà yi",
鸡皮疙瘩: "jī pí gē da",
夷为平地: "yí wéi píng dì",
日积月累: "rì jī yuè lěi",
设身处地: "shè shēn chǔ dì",
投其所好: "tóu qí suǒ hào",
间不容发: "jiān bù róng fà",
人满为患: "rén mǎn wéi huàn",
穷追不舍: "qióng zhuī bù shě",
为时已晚: "wéi shí yǐ wǎn",
如数家珍: "rú shǔ jiā zhēn",
心里有数: "xīn lǐ yǒu shù",
以牙还牙: "yǐ yá huán yá",
神不守舍: "shén bù shǒu shě",
孟什维克: "mèng shí wéi kè",
各自为战: "gè zì wéi zhàn",
怨声载道: "yuàn shēng zài dào",
救苦救难: "jiù kǔ jiù nàn",
好好先生: "hǎo hǎo xiān sheng",
怪模怪样: "guài mú guài yàng",
抛头露面: "pāo tóu lù miàn",
游手好闲: "yóu shǒu hào xián",
无所不为: "wú suǒ bù wéi",
调虎离山: "diào hǔ lí shān",
步步为营: "bù bù wéi yíng",
好大喜功: "hào dà xǐ gōng",
众矢之的: "zhòng shǐ zhī dì",
长生不死: "cháng shēng bù sǐ",
蔚为壮观: "wèi wéi zhuàng guān",
不可胜数: "bù kě shèng shǔ",
鬼使神差: "guǐ shǐ shén chāi",
洁身自好: "jié shēn zì hào",
敢作敢为: "gǎn zuò gǎn wéi",
茅塞顿开: "máo sè dùn kāi",
走马换将: "zǒu mǎ huàn jiàng",
为时过早: "wéi shí guò zǎo",
为人师表: "wéi rén shī biǎo",
阴差阳错: "yīn chā yáng cuò",
油腔滑调: "yóu qiāng huá diào",
重蹈覆辙: "chóng dǎo fù zhé",
骂骂咧咧: "mà ma liē liē",
絮絮叨叨: "xù xù dāo dāo",
如履薄冰: "rú lǚ bó bīng",
损兵折将: "sǔn bīng zhé jiàng",
拐弯抹角: "guǎi wān mò jiǎo",
像模像样: "xiàng mú xiàng yàng",
供过于求: "gōng guò yú qiú",
开花结果: "kāi huā jiē guǒ",
仔仔细细: "zǐ zǐ xì xì",
川藏公路: "chuān zàng gōng lù",
河北梆子: "hé běi bāng zi",
长年累月: "cháng nián lěi yuè",
正儿八经: "zhèng er bā jīng",
不识抬举: "bù shí tái ju",
重振旗鼓: "chóng zhèn qí gǔ",
气息奄奄: "qì xī yān yān",
紧追不舍: "jǐn zhuī bù shě",
服服帖帖: "fú fu tiē tiē",
强词夺理: "qiǎng cí duó lǐ",
噼里啪啦: "pī li pā lā",
人才济济: "rén cái jǐ jǐ",
发人深省: "fā rén shēn xǐng",
不足为凭: "bù zú wéi píng",
为富不仁: "wéi fù bù rén",
连篇累牍: "lián piān lěi dú",
呼天抢地: "hū tiān qiāng dì",
落落大方: "luò luò dà fāng",
自吹自擂: "zì chuī zì léi",
乐善好施: "lè shàn hào shī",
以攻为守: "yǐ gōng wéi shǒu",
磨磨蹭蹭: "mó mó cèng cèng",
削铁如泥: "xuē tiě rú ní",
助纣为虐: "zhù zhòu wéi nüè",
以退为进: "yǐ tuì wéi jìn",
嘁嘁喳喳: "qī qī chā chā",
枪林弹雨: "qiāng lín dàn yǔ",
令人发指: "lìng rén fà zhǐ",
转败为胜: "zhuǎn bài wéi shèng",
转弯抹角: "zhuǎn wān mò jiǎo",
在劫难逃: "zài jié nán táo",
正当防卫: "zhèng dàng fáng wèi",
不足为怪: "bù zú wéi guài",
难兄难弟: "nàn xiōng nàn dì",
咿咿呀呀: "yī yī yā yā",
弹尽粮绝: "dàn jìn liáng jué",
阿谀奉承: "ē yú fèng chéng",
稀里哗啦: "xī li huā lā",
返老还童: "fǎn lǎo huán tóng",
好高骛远: "hào gāo wù yuǎn",
鹿死谁手: "lù sǐ shéi shǒu",
差强人意: "chā qiáng rén yì",
大吹大擂: "dà chuī dà léi",
成家立业: "chéng jiā lì yè",
自怨自艾: "zì yuàn zì yì",
负债累累: "fù zhài lěi lěi",
古为今用: "gǔ wéi jīn yòng",
入土为安: "rù tǔ wéi ān",
下不为例: "xià bù wéi lì",
一哄而上: "yì hōng ér shàng",
没头苍蝇: "méi tóu cāng ying",
天差地远: "tiān chā dì yuǎn",
风卷残云: "fēng juǎn cán yún",
多灾多难: "duō zāi duō nàn",
乳臭未干: "rǔ xiù wèi gān",
行家里手: "háng jiā lǐ shǒu",
狼狈为奸: "láng bèi wéi jiān",
处变不惊: "chǔ biàn bù jīng",
一唱一和: "yí chàng yí hè",
一念之差: "yí niàn zhī chā",
金蝉脱壳: "jīn chán tuō qiào",
滴滴答答: "dī dī dā dā",
硕果累累: "shuò guǒ léi léi",
好整以暇: "hào zhěng yǐ xiá",
红得发紫: "hóng de fā zǐ",
传为美谈: "chuán wéi měi tán",
富商大贾: "fù shāng dà gǔ",
四海为家: "sì hǎi wéi jiā",
了若指掌: "liǎo ruò zhǐ zhǎng",
大有可为: "dà yǒu kě wéi",
出头露面: "chū tóu lù miàn",
鼓鼓囊囊: "gǔ gu nāng nāng",
窗明几净: "chuāng míng jī jìng",
泰然处之: "tài rán chǔ zhī",
怒发冲冠: "nù fà chōng guān",
有机玻璃: "yǒu jī bō li",
骨头架子: "gǔ tou jià zi",
义薄云天: "yì bó yún tiān",
一丁点儿: "yī dīng diǎn er",
时来运转: "shí lái yùn zhuǎn",
陈词滥调: "chén cí làn diào",
化整为零: "huà zhěng wéi líng",
火烧火燎: "huǒ shāo huǒ liǎo",
干脆利索: "gàn cuì lì suǒ",
吊儿郎当: "diào er láng dāng",
广种薄收: "guǎng zhòng bó shōu",
种瓜得瓜: "zhòng guā dé guā",
种豆得豆: "zhòng dòu dé dòu",
难舍难分: "nán shě nán fēn",
歃血为盟: "shà xuè wéi méng",
奋发有为: "fèn fā yǒu wéi",
阴错阳差: "yīn cuò yáng chā",
东躲西藏: "dōng duǒ xī cáng",
烟熏火燎: "yān xūn huǒ liǎo",
钻牛角尖: "zuān niú jiǎo jiān",
乔装打扮: "qiáo zhuāng dǎ bàn",
改弦更张: "gǎi xián gēng zhāng",
河南梆子: "hé nán bāng zi",
好吃懒做: "hào chī lǎn zuò",
何乐不为: "hé lè bù wéi",
大出风头: "dà chū fēng tóu",
攻城掠地: "gōng chéng lüè dì",
漂漂亮亮: "piào piào liang liang",
折衷主义: "zhé zhōng zhǔ yì",
大马哈鱼: "dà mǎ hǎ yú",
绿树成荫: "lǜ shù chéng yīn",
率先垂范: "shuài xiān chuí fàn",
家长里短: "jiā cháng lǐ duǎn",
宽大为怀: "kuān dà wéi huái",
左膀右臂: "zuǒ bǎng yòu bì",
一笑了之: "yí xiào liǎo zhī",
天下为公: "tiān xià wéi gōng",
还我河山: "huán wǒ hé shān",
何足为奇: "hé zú wéi qí",
好自为之: "hǎo zì wéi zhī",
风姿绰约: "fēng zī chuò yuē",
大雨滂沱: "dà yǔ pāng tuó",
传为佳话: "chuán wéi jiā huà",
吃里扒外: "chī lǐ pá wài",
重操旧业: "chóng cāo jiù yè",
小家子气: "xiǎo jiā zi qì",
少不更事: "shào bù gēng shì",
难分难舍: "nán fēn nán shě",
添砖加瓦: "tiān zhuān jiā wǎ",
是非分明: "shì fēi fēn míng",
舍我其谁: "shě wǒ qí shuí",
偏听偏信: "piān tīng piān xìn",
量入为出: "liàng rù wéi chū",
降龙伏虎: "xiáng lóng fú hǔ",
钢化玻璃: "gāng huà bō li",
正中下怀: "zhèng zhòng xià huái",
以身许国: "yǐ shēn xǔ guó",
一语中的: "yì yǔ zhòng dì",
丧魂落魄: "sàng hún luò pò",
三座大山: "sān zuò dà shān",
济济一堂: "jǐ jǐ yì táng",
好事之徒: "hào shì zhī tú",
干净利索: "gàn jìng lì suǒ",
出将入相: "chū jiàng rù xiàng",
袅袅娜娜: "niǎo niǎo nuó nuó",
狐狸尾巴: "hú li wěi ba",
好逸恶劳: "hào yì wù láo",
大而无当: "dà ér wú dàng",
打马虎眼: "dǎ mǎ hu yǎn",
板上钉钉: "bǎn shàng dìng dīng",
吆五喝六: "yāo wǔ hè liù",
虾兵蟹将: "xiā bīng xiè jiàng",
水调歌头: "shuǐ diào gē tóu",
数典忘祖: "shǔ diǎn wàng zǔ",
人事不省: "rén shì bù xǐng",
曲高和寡: "qǔ gāo hè guǎ",
屡教不改: "lǚ jiào bù gǎi",
互为因果: "hù wéi yīn guǒ",
互为表里: "hù wéi biǎo lǐ",
厚此薄彼: "hòu cǐ bó bǐ",
过关斩将: "guò guān zhǎn jiàng",
疙疙瘩瘩: "gē ge dā dā",
大腹便便: "dà fù pián pián",
走为上策: "zǒu wéi shàng cè",
冤家对头: "yuān jia duì tóu",
有隙可乘: "yǒu xì kě chèng",
一鳞半爪: "yì lín bàn zhǎo",
片言只语: "piàn yán zhǐ yǔ",
开花结实: "kāi huā jié shí",
经年累月: "jīng nián lěi yuè",
含糊其词: "hán hú qí cí",
寡廉鲜耻: "guǎ lián xiǎn chǐ",
成年累月: "chéng nián lěi yuè",
不徇私情: "bú xùn sī qíng",
不当人子: "bù dāng rén zǐ",
膀大腰圆: "bǎng dà yāo yuán",
指腹为婚: "zhǐ fù wéi hūn",
这么点儿: "zhè me diǎn er",
意兴索然: "yì xīng suǒ rán",
绣花枕头: "xiù huā zhěn tou",
无的放矢: "wú dì fàng shǐ",
望闻问切: "wàng wén wèn qiè",
舍己为人: "shě jǐ wèi rén",
穷年累月: "qióng nián lěi yuè",
排难解纷: "pái nàn jiě fēn",
处之泰然: "chǔ zhī tài rán",
指鹿为马: "zhǐ lù wéi mǎ",
危如累卵: "wēi rú lěi luǎn",
天兵天将: "tiān bīng tiān jiàng",
舍近求远: "shě jìn qiú yuǎn",
南腔北调: "nán qiāng běi diào",
苦中作乐: "kǔ zhōng zuò lè",
厚积薄发: "hòu jī bó fā",
臭味相投: "xiù wèi xiāng tóu",
长幼有序: "zhǎng yòu yǒu xù",
逼良为娼: "bī liáng wéi chāng",
悲悲切切: "bēi bēi qiè qiē",
败军之将: "bài jūn zhī jiàng",
欺行霸市: "qī háng bà shì",
削足适履: "xuē zú shì lǚ",
先睹为快: "xiān dǔ wéi kuài",
啼饥号寒: "tí jī háo hán",
疏不间亲: "shū bú jiàn qīn",
神差鬼使: "shén chāi guǐ shǐ",
敲敲打打: "qiāo qiāo dǎ dǎ",
平铺直叙: "píng pū zhí xù",
没头没尾: "méi tóu mò wěi",
寥寥可数: "liáo liáo kě shǔ",
哼哈二将: "hēng hā èr jiàng",
鹤发童颜: "hè fà tóng yán",
各奔前程: "gè bèn qián chéng",
弹无虚发: "dàn wú xū fā",
大人先生: "dà rén xiān sheng",
与民更始: "yǔ mín gēng shǐ",
树碑立传: "shù bēi lì zhuàn",
是非得失: "shì fēi dé shī",
实逼处此: "shí bī chǔ cǐ",
塞翁失马: "sài wēng shī mǎ",
日薄西山: "rì bó xī shān",
切身体会: "qiè shēn tǐ huì",
片言只字: "piàn yán zhǐ zì",
跑马卖解: "pǎo mǎ mài xiè",
宁折不弯: "nìng zhé bù wān",
零零散散: "líng líng sǎn sǎn",
量体裁衣: "liàng tǐ cái yī",
连中三元: "lián zhòng sān yuán",
礼崩乐坏: "lǐ bēng yuè huài",
不为已甚: "bù wéi yǐ shèn",
转悲为喜: "zhuǎn bēi wéi xǐ",
以眼还眼: "yǐ yǎn huán yǎn",
蔚为大观: "wèi wéi dà guān",
未为不可: "wèi wéi bù kě",
童颜鹤发: "tóng yán hè fà",
朋比为奸: "péng bǐ wéi jiān",
莫此为甚: "mò cǐ wéi shèn",
夹枪带棒: "jiā qiāng dài bàng",
富商巨贾: "fù shāng jù jiǎ",
淡然处之: "dàn rán chǔ zhī",
箪食壶浆: "dān shí hú jiāng",
创巨痛深: "chuāng jù tòng shēn",
草长莺飞: "cǎo zhǎng yīng fēi",
坐视不救: "zuò shī bú jiù",
以己度人: "yǐ jǐ duó rén",
随行就市: "suí háng jiù shì",
文以载道: "wén yǐ zài dào",
文不对题: "wén bú duì tí",
铁板钉钉: "tiě bǎn dìng dīng",
身体发肤: "shēn tǐ fà fū",
缺吃少穿: "quē chī shǎo chuān",
目无尊长: "mù wú zūn zhǎng",
吉人天相: "jí rén tiān xiàng",
毁家纾难: "huǐ jiā shū nàn",
钢筋铁骨: "gāng jīn tiě gǔ",
丢卒保车: "diū zú bǎo jū",
丢三落四: "diū sān là sì",
闭目塞听: "bì mù sè tīng",
削尖脑袋: "xuē jiān nǎo dài",
为非作恶: "wéi fēi zuò è",
人才难得: "rén cái nán dé",
情非得已: "qíng fēi dé yǐ",
切中要害: "qiè zhòng yào hài",
火急火燎: "huǒ jí huǒ liǎo",
画地为牢: "huà dì wéi láo",
好酒贪杯: "hào jiǔ tān bēi",
长歌当哭: "cháng gē dàng kū",
载沉载浮: "zài chén zài fú",
遇难呈祥: "yù nàn chéng xiáng",
榆木疙瘩: "yú mù gē da",
以邻为壑: "yǐ lín wéi hè",
洋为中用: "yáng wéi zhōng yòng",
言为心声: "yán wéi xīn shēng",
言必有中: "yán bì yǒu zhòng",
图穷匕见: "tú qióng bǐ xiàn",
滂沱大雨: "páng tuó dà yǔ",
目不暇给: "mù bù xiá jǐ",
量才录用: "liàng cái lù yòng",
教学相长: "jiào xué xiāng zhǎng",
悔不当初: "huǐ bù dāng chū",
呼幺喝六: "hū yāo hè liù",
不足为训: "bù zú wéi xùn",
不拘形迹: "bù jū xíng jī",
傍若无人: "páng ruò wú rén",
罪责难逃: "zuì zé nán táo",
自我吹嘘: "zì wǒ chuī xū",
转祸为福: "zhuǎn huò wéi fú",
勇冠三军: "yǒng guàn sān jūn",
易地而处: "yì dì ér chǔ",
卸磨杀驴: "xiè mò shā lǘ",
玩儿不转: "wán ér bú zhuàn",
天道好还: "tiān dào hǎo huán",
身单力薄: "shēn dān lì bó",
撒豆成兵: "sǎ dòu chéng bīng",
片纸只字: "piàn zhǐ zhī zì",
宁缺毋滥: "nìng quē wú làn",
没没无闻: "mò mò wú wén",
量力而为: "liàng lì ér wéi",
历历可数: "lì lì kě shǔ",
口碑载道: "kǒu bēi zài dào",
君子好逑: "jūn zǐ hǎo qiú",
好为人师: "hào wéi rén shī",
豪商巨贾: "háo shāng jù jiǎ",
各有所好: "gè yǒu suǒ hào",
度德量力: "duó dé liàng lì",
指天为誓: "zhǐ tiān wéi shì",
逸兴遄飞: "yì xìng chuán fēi",
心宽体胖: "xīn kuān tǐ pán",
为德不卒: "wéi dé bù zú",
天下为家: "tiān xià wéi jiā",
视为畏途: "shì wéi wèi tú",
三灾八难: "sān zāi bā nàn",
沐猴而冠: "mù hóu ér guàn",
哩哩啦啦: "lī li lā lā",
见缝就钻: "jiàn fèng jiù zuān",
夹层玻璃: "jiā céng bō li",
急公好义: "jí gōng hào yì",
积年累月: "jī nián lěi yuè",
划地为牢: "huá dì wéi láo",
更名改姓: "gēng míng gǎi xìng",
奉为圭臬: "fèng wéi guī niè",
多难兴邦: "duō nàn xīng bāng",
不破不立: "bú pò bú lì",
坐地自划: "zuò dì zì huá",
坐不重席: "zuò bù chóng xí",
坐不窥堂: "zuò bù kuī táng",
作嫁衣裳: "zuò jià yī shang",
左枝右梧: "zuǒ zhī yòu wú",
左宜右有: "zuǒ yí yòu yǒu",
钻头觅缝: "zuān tóu mì fèng",
钻天打洞: "zuān tiān dǎ dòng",
钻皮出羽: "zuān pí chū yǔ",
钻火得冰: "zuān huǒ dé bīng",
钻洞觅缝: "zuàn dòng mì féng",
钻冰求火: "zuān bīng qiú huǒ",
子为父隐: "zǐ wéi fù yǐn",
擢发难数: "zhuó fà nán shǔ",
着人先鞭: "zhuó rén xiān biān",
斫雕为朴: "zhuó diāo wéi pǔ",
锥处囊中: "zhuī chǔ náng zhōng",
椎心饮泣: "chuí xīn yǐn qì",
椎心泣血: "chuí xīn qì xuè",
椎牛飨士: "chuí niú xiǎng shì",
椎牛歃血: "chuí niú shà xuè",
椎牛发冢: "chuí niú fà zhǒng",
椎埋屠狗: "chuí mái tú gǒu",
椎埋狗窃: "chuí mái gǒu qiè",
壮发冲冠: "zhuàng fā chōng guàn",
庄严宝相: "zhuāng yán bǎo xiàng",
转愁为喜: "zhuǎn chóu wéi xǐ",
转嗔为喜: "zhuǎn chēn wéi xǐ",
拽巷啰街: "zhuài xiàng luó jiē",
拽耙扶犁: "zhuāi pá fú lí",
拽布拖麻: "zhuài bù tuō má",
箸长碗短: "zhù cháng wǎn duǎn",
铸剑为犁: "zhù jiàn wéi lí",
杼柚其空: "zhù yòu qí kōng",
杼柚空虚: "zhù yòu kōng xū",
助天为虐: "zhù tiān wéi nüè",
属垣有耳: "zhǔ yuán yǒu ěr",
属毛离里: "zhǔ máo lí lǐ",
属辞比事: "zhǔ cí bǐ shì",
逐物不还: "zhú wù bù huán",
铢量寸度: "zhū liáng cùn duó",
铢两悉称: "zhū liǎng xī chèn",
侏儒观戏: "zhū rú guān xì",
朱轓皁盖: "zhū fān zào gài",
昼度夜思: "zhòu duó yè sī",
诪张为幻: "zhōu zhāng wéi huàn",
重明继焰: "chóng míng jì yàn",
众啄同音: "zhòng zhuó tóng yīn",
众毛攒裘: "zhòng máo cuán qiú",
众好众恶: "zhòng hào zhòng wù",
擿埴索涂: "zhāi zhí suǒ tú",
稚齿婑媠: "zhì chǐ wǒ tuó",
至当不易: "zhì dàng bú yì",
指皂为白: "zhǐ zào wéi bái",
指雁为羹: "zhǐ yàn wéi gēng",
指树为姓: "zhǐ shù wéi xìng",
指山说磨: "zhǐ shān shuō mò",
止戈为武: "zhǐ gē wéi wǔ",
枝干相持: "zhī gàn xiāng chí",
枝大于本: "zh dà yú běn",
支吾其词: "zhī wú qí cí",
正身率下: "zhèng shēn shuài xià",
正冠李下: "zhèng guàn lǐ xià",
整冠纳履: "zhěng guān nà lǚ",
整躬率物: "zhěng gōng shuài wù",
整顿干坤: "zhěng dùn gàn kūn",
针头削铁: "zhēn tóu xuē tiě",
贞松劲柏: "zhēn sōng jìng bǎi",
赭衣塞路: "zhě yī sè lù",
折箭为誓: "shé jiàn wéi shì",
折而族之: "zhé ér zú zhī",
昭德塞违: "zhāo dé sè wéi",
章句小儒: "zhāng jù xiǎo rú",
湛恩汪濊: "zhàn ēn wāng huì",
占风望气: "zhān fēng wàng qì",
斩将搴旗: "zhǎn jiàng qiān qí",
曾母投杼: "zēng mǔ tóu zhù",
曾参杀人: "zēng shēn shā rén",
造谣中伤: "zào yáo zhòng shāng",
早占勿药: "zǎo zhān wù yào",
凿龟数策: "záo guī shǔ cè",
攒三聚五: "cuán sān jù wǔ",
攒眉蹙额: "cuán mei cù é",
攒零合整: "cuán líng hé zhěng",
攒锋聚镝: "cuán fēng jù dí",
载笑载言: "zài xiào zài yán",
载酒问字: "zài jiǔ wèn zì",
殒身不恤: "yǔn shēn bú xù",
云舒霞卷: "yún shū xiá juǎn",
月中折桂: "yuè zhōng shé guì",
月落参横: "yuè luò shēn héng",
鬻驽窃价: "yù nú qiè jià",
鬻鸡为凤: "yù jī wéi fèng",
遇难成祥: "yù nàn chéng xiáng",
郁郁累累: "yù yù lěi lěi",
玉卮无当: "yù zhī wú dàng",
语笑喧阗: "yǔ xiào xuān tián",
与世沉浮: "yǔ shì chén fú",
与时消息: "yǔ shí xiāo xi",
逾墙钻隙: "yú qiáng zuān xì",
渔夺侵牟: "yú duó qīn móu",
杅穿皮蠹: "yú chuān pí dù",
余勇可贾: "yú yǒng kě gǔ",
予智予雄: "yú zhì yú xióng",
予取予求: "yú qǔ yú qiú",
于家为国: "yú jiā wéi guó",
有借无还: "yǒu jiè wú huán",
有加无已: "yǒu jiā wú yǐ",
有国难投: "yǒu guó nán tóu",
游必有方: "yóu bì yǒu fāng",
油干灯尽: "yóu gàn dēng jìn",
尤云殢雨: "yóu yún tì yǔ",
庸中皦皦: "yōng zhōng jiǎo jiǎo",
郢书燕说: "yǐng shū yān shuō",
营蝇斐锦: "yíng yíng fēi jǐn",
鹰心雁爪: "yīng xīn yàn zhǎo",
莺吟燕儛: "yīng yín yàn wǔ",
应天顺时: "yīng tiān shùn shí",
印累绶若: "yìn léi shòu ruò",
隐占身体: "yǐn zhàn shēn tǐ",
饮犊上流: "yìn dú shàng liú",
引绳切墨: "yǐn shéng qiē mò",
龈齿弹舌: "yín chǐ dàn shé",
因缘为市: "yīn yuán wéi shì",
因树为屋: "yīn shù wéi wū",
溢美溢恶: "yì měi yì wù",
抑塞磊落: "yì sè lěi luò",
倚闾望切: "yǐ lǘ wàng qiē",
以意为之: "yǐ yì wéi zhī",
以言为讳: "yǐ yán wéi huì",
以疏间亲: "yǐ shū jiàn qīn",
以水济水: "yǐ shuǐ jǐ shuǐ",
以书为御: "yǐ shū wéi yù",
以守为攻: "yǐ shǒu wéi gōng",
以升量石: "yǐ shēng liáng dàn",
以慎为键: "yǐ shèn wéi jiàn",
以筌为鱼: "yǐ quán wéi yú",
以利累形: "yǐ lì lěi xíng",
以毁为罚: "yǐ huǐ wéi fá",
以黑为白: "yǐ hēi wéi bái",
以规为瑱: "yǐ guī wéi tiàn",
以古为鉴: "yǐ gǔ wéi jiàn",
以宫笑角: "yǐ gōng xiào jué",
以法为教: "yǐ fǎ wéi jiào",
以大恶细: "yǐ dà wù xì",
遗世忘累: "yí shì wàng lěi",
遗寝载怀: "yí qǐn zài huái",
移的就箭: "yí dì jiù jiàn",
依头缕当: "yī tóu lǚ dàng",
衣租食税: "yì zū shí shuì",
衣轻乘肥: "yì qīng chéng féi",
衣裳之会: "yī shang zhī huì",
衣单食薄: "yī dān shí bó",
一还一报: "yì huán yí bào",
叶公好龙: "yè gōng hào lóng",
野调无腔: "yě diào wú qiāng",
瑶池女使: "yáo chí nǚ shǐ",
幺麽小丑: "yāo mó xiǎo chǒu",
养精畜锐: "yǎng jīng xù ruì",
卬首信眉: "áng shǒu shēn méi",
洋洋纚纚: "yáng yáng sǎ sǎ",
羊羔美酒: "yáng gāo měi jiǔ",
扬风扢雅: "yáng fēng jié yǎ",
燕昭市骏: "yān zhāo shì jùn",
燕昭好马: "yān zhāo hǎo mǎ",
燕石妄珍: "yān shí wàng zhēn",
燕骏千金: "yān jùn qiān jīn",
燕金募秀: "yān jīn mù xiù",
燕驾越毂: "yān jià yuè gǔ",
燕歌赵舞: "yān gē zhào wǔ",
燕岱之石: "yān dài zhī shí",
燕处危巢: "yàn chǔ wēi cháo",
掞藻飞声: "shàn zǎo fēi shēng",
偃革为轩: "yǎn gé wéi xuān",
妍蚩好恶: "yán chī hǎo è",
压良为贱: "yā liáng wéi jiàn",
搀行夺市: "chān háng duó shì",
泣数行下: "qì shù háng xià",
当行出色: "dāng háng chū sè",
秀出班行: "xiù chū bān háng",
儿女成行: "ér nǚ chéng háng",
大行大市: "dà háng dà shì",
寻行数墨: "xún háng shǔ mò",
埙篪相和: "xūn chí xiāng hè",
血债累累: "xuè zhài lěi lěi",
炫玉贾石: "xuàn yù gǔ shí",
炫石为玉: "xuàn shí wéi yù",
悬石程书: "xuán dàn chéng shū",
悬狟素飡: "xuán huán sù cān",
悬龟系鱼: "xuán guī xì yú",
揎拳捋袖: "xuān quán luō xiù",
轩鹤冠猴: "xuān hè guàn hóu",
畜妻养子: "xù qī yǎng zǐ",
羞人答答: "xiū rén dā dā",
修鳞养爪: "xiū lín yǎng zhǎo",
熊据虎跱: "xióng jù hǔ zhì",
兄死弟及: "xiōng sǐ dì jí",
腥闻在上: "xīng wén zài shàng",
兴文匽武: "xīng wén yǎn wǔ",
兴观群怨: "xìng guān qún yuàn",
兴高彩烈: "xìng gāo cǎi liè",
心手相应: "xīn shǒu xiāng yìng",
心口相应: "xīn kǒu xiāng yīng",
挟势弄权: "xié shì nòng quán",
胁肩累足: "xié jiān lěi zú",
校短量长: "jiào duǎn liáng cháng",
小眼薄皮: "xiǎo yǎn bó pí",
硝云弹雨: "xiāo yún dàn yǔ",
鸮鸣鼠暴: "xiāo míng shǔ bào",
削株掘根: "xuē zhū jué gēn",
削铁无声: "xuē tiě wú shēng",
削职为民: "xuē zhí wéi mín",
削木为吏: "xuē mù wéi lì",
想望风褱: "xiǎng wàng fēng huái",
香培玉琢: "xiang pei yu zhuó",
相鼠有皮: "xiàng shǔ yǒu pí",
相时而动: "xiàng shí ér dòng",
相切相磋: "xiāng qiē xiāng cuō",
相女配夫: "xiàng nǚ pèi fū",
相门有相: "xiàng mén yǒu xiàng",
挦章撦句: "xián zhāng chě jù",
先我着鞭: "xiān wǒ zhuó biān",
习焉不察: "xí yān bù chá",
歙漆阿胶: "shè qī ē jiāo",
晰毛辨发: "xī máo biàn fà",
悉索薄赋: "xī suǒ bó fù",
雾鳞云爪: "wù lín yún zhǎo",
物稀为贵: "wù xī wéi guì",
碔砆混玉: "wǔ fū hùn yù",
武断专横: "wǔ duàn zhuān héng",
五石六鹢: "wǔ shí liù yì",
五色相宣: "wǔ sè xiāng xuān",
五侯七贵: "wǔ hóu qī guì",
五侯蜡烛: "wǔ hòu là zhú",
五羖大夫: "wǔ gǔ dà fū",
吾自有处: "wú zì yǒu chǔ",
无下箸处: "wú xià zhù chǔ",
无伤无臭: "wú shāng wú xiù",
无能为役: "wú néng wéi yì",
无寇暴死: "wú kòu bào sǐ",
无孔不钻: "wú kǒng bú zuàn",
无间可乘: "wú jiān kě chéng",
无间冬夏: "wú jiān dōng xià",
无恶不为: "wú è bù wéi",
无动为大: "wú dòng wéi dà",
诬良为盗: "wū liáng wéi dào",
握拳透爪: "wò quán tòu zhǎo",
文武差事: "wén wǔ chāi shì",
委委佗佗: "wēi wēi tuó tuó",
惟日为岁: "wéi rì wéi suì",
帷薄不修: "wéi bó bù xiū",
为善最乐: "wéi shàn zuì lè",
为山止篑: "wéi shān zhǐ kuì",
为仁不富: "wéi rén bú fù",
为裘为箕: "wéi qiú wéi jī",
为民父母: "wéi mín fù mǔ",
为虺弗摧: "wéi huǐ fú cuī",
为好成歉: "wéi hǎo chéng qiàn",
为鬼为蜮: "wéi guǐ wéi yù",
望风响应: "wàng fēng xiǎng yīng",
望尘僄声: "wàng chén piào shēng",
往渚还汀: "wǎng zhǔ huán tīng",
王贡弹冠: "wáng gòng dàn guàn",
亡国大夫: "wáng guó dà fū",
万贯家私: "wàn guàn jiā sī",
晚食当肉: "wǎn shí dàng ròu",
晚节不保: "wǎn jié bù bǎo",
玩岁愒时: "wán suì kài shí",
蛙蟆胜负: "wā má shèng fù",
吞言咽理: "tūn yán yàn lǐ",
颓垣断堑: "tuí yuán duàn qiàn",
推干就湿: "tuī gàn jiù shī",
剸繁决剧: "tuán fán jué jù",
团头聚面: "tuán tóu jù miàn",
兔丝燕麦: "tù sī yàn mài",
兔头麞脑: "tù tóu zhāng nǎo",
兔葵燕麦: "tù kuí yàn mài",
吐哺握发: "tǔ bǔ wò fà",
投传而去: "tóu zhuàn ér qù",
头没杯案: "tóu mò bēi àn",
头昏脑闷: "tóu hūn nǎo mèn",
头会箕敛: "tóu kuài jī liǎn",
头出头没: "tóu chū tóu mò",
痛自创艾: "tòng zì chuāng yì",
同恶相助: "tóng wù xiāng zhù",
同恶相恤: "tóng wù xiāng xù",
痌瘝在抱: "tōng guān zài bào",
通文调武: "tōng wén diào wǔ",
停留长智: "tíng liú zhǎng zhì",
铁树开华: "tiě shù kāi huā",
条贯部分: "tiáo guàn bù fēn",
挑牙料唇: "tiǎo yá liào chún",
挑么挑六: "tiāo yāo tiāo liù",
挑唇料嘴: "tiǎo chún liào zuǐ",
恬不为意: "tián bù wéi yì",
恬不为怪: "tián bù wéi guài",
天下为笼: "tiān xià wéi lóng",
天台路迷: "tiān tái lù mí",
天年不遂: "tiān nián bú suì",
探囊胠箧: "tàn náng qū qiè",
谭言微中: "tán yán wēi zhòng",
谈言微中: "tán yán wēi zhòng",
狧穅及米: "shì kāng jí mǐ",
随物应机: "suí wù yīng jī",
搜岩采干: "sōu yán cǎi gàn",
宋斤鲁削: "sòng jīn lǔ xuē",
松筠之节: "sōng yún zhī jié",
四亭八当: "sì tíng bā dàng",
四马攒蹄: "sì mǎ cuán tí",
四不拗六: "sì bú niù liù",
思所逐之: "sī suǒ zhú zhī",
丝恩发怨: "sī ēn fà yuàn",
硕望宿德: "shuò wàng xiǔ dé",
铄古切今: "shuò gǔ qiē jīn",
顺风而呼: "shùn fēng ér hū",
顺风吹火: "shùn fēng chuī huǒ",
水中著盐: "shuǐ zhōng zhuó yán",
双柑斗酒: "shuāng gān dǒu jiǔ",
数米而炊: "shǔ mǐ ér chuī",
数米量柴: "shǔ mǐ liáng chái",
数理逻辑: "shù lǐ luó ji",
数黑论黄: "shǔ hēi lùn huáng",
数白论黄: "shǔ bái lùn huáng",
束缊还妇: "shù yūn huán fù",
束蒲为脯: "shù pú wéi pú",
束椽为柱: "shù chuán wéi zhù",
书缺有间: "shū quē yǒu jiàn",
手足重茧: "shǒu zú chóng jiǎn",
手足异处: "shǒu zú yì chǔ",
手脚干净: "shǒu jiǎo gàn jìng",
手不应心: "shǒu bù yīng xīn",
螫手解腕: "shì shǒu jiě wàn",
释知遗形: "shì zhī yí xíng",
适时应务: "shì shí yīng wù",
适情率意: "shì qíng shuài yì",
适当其冲: "shì dāng qí chōng",
视为知己: "shì wéi zhī jǐ",
使羊将狼: "shǐ yáng jiàng láng",
食为民天: "shí wéi mín tiān",
拾掇无遗: "shí duō wú yí",
实与有力: "shí yù yǒu lì",
石英玻璃: "shí yīng bō li",
石室金匮: "shí shì jīn guì",
什袭珍藏: "shí xí zhēn cáng",
什伍东西: "shí wǔ dōng xī",
什围伍攻: "shí wéi wǔ gōng",
十魔九难: "shí mó jiǔ nàn",
诗书发冢: "shī shū fà zhǒng",
虱处裈中: "shī chǔ kūn zhōng",
师直为壮: "shī zhí wéi zhuàng",
尸居龙见: "shī jū lóng xiàn",
圣经贤传: "shèng jīng xián zhuàn",
圣君贤相: "shèng jūn xián xiàng",
生拖死拽: "shēng tuō sǐ zhuài",
审己度人: "shěn jǐ duó rén",
神武挂冠: "shén wǔ guà guàn",
神龙失埶: "shén lóng shī shì",
深文曲折: "shēn wén qǔ shé",
深厉浅揭: "shēn lì qiǎn qì",
深谷为陵: "shēn gǔ wéi líng",
深恶痛疾: "shēn wù tòng jí",
深仇宿怨: "shēn chóu xiǔ yuàn",
舍己为公: "shě jǐ wèi gōng",
舍短取长: "shě duǎn qǔ cháng",
舍策追羊: "shě cè zhuī yáng",
蛇蝎为心: "shé xiē wéi xīn",
少成若性: "shào chéng ruò xìng",
上当学乖: "shàng dàng xué guāi",
赏不当功: "shǎng bù dāng gōng",
善自为谋: "shàn zì wéi móu",
善为说辞: "shàn wéi shuō cí",
善善恶恶: "shàn shàn wù è",
善财难舍: "shàn cái nán shě",
苫眼铺眉: "shān yǎn pū méi",
讪牙闲嗑: "shàn yá xián kē",
山阴乘兴: "shān yīn chéng xīng",
山殽野湋: "shān yáo yě wéi",
山溜穿石: "shān liù chuān shí",
山节藻棁: "shān jié zǎo zhuō",
杀鸡为黍: "shā jī wéi shǔ",
色厉胆薄: "sè lì dǎn bó",
桑荫未移: "sāng yīn wèi yí",
桑荫不徙: "sāng yīn bù xǐ",
桑土绸缪: "sāng tǔ chóu miù",
桑户棬枢: "sāng hù juàn shū",
三战三北: "sān zhàn sān běi",
三瓦两舍: "sān wǎ liǎng shě",
三人为众: "sān rén wèi zhòng",
三差两错: "sān chā liǎng cuò",
塞井焚舍: "sāi jǐng fén shě",
洒心更始: "sǎ xīn gèng shǐ",
洒扫应对: "sǎ sǎo yìng duì",
软红香土: "ruǎn hóng xiāng tǔ",
入吾彀中: "rù wú gòu zhōng",
入铁主簿: "rù tiě zhǔ bù",
入理切情: "rù lǐ qiē qíng",
汝成人耶: "rǔ chéng rén yé",
如水投石: "rú shuǐ tóu shí",
如切如磋: "rú qiē rú cuō",
如登春台: "rú dēng chūn tái",
肉薄骨并: "ròu bó gǔ bìng",
柔情绰态: "róu qíng chuò tài",
戎马劻勷: "róng mǎ kuāng ráng",
日中为市: "rì zhōng wéi shì",
日月参辰: "rì yuè shēn chén",
日省月修: "rì xǐng yuè xiū",
日削月割: "rì xuē yuè gē",
日省月试: "rì xǐng yuè shì",
任达不拘: "rèn dá bù jū",
人言藉藉: "rén yán jí jí",
人模狗样: "rén mú gǒu yàng",
人莫予毒: "rén mò yú dú",
热熬翻饼: "rè áo fān bǐng",
圈牢养物: "juàn láo yǎng wù",
取予有节: "qǔ yǔ yǒu jié",
诎要桡腘: "qū yāo ráo guó",
穷形尽相: "qióng xíng jìn xiàng",
情凄意切: "qíng qī yì qiè",
情见势屈: "qíng xiàn shì qū",
情见乎辞: "qíng xiàn hū cí",
清都绛阙: "qīng dōu jiàng què",
倾肠倒肚: "qīng cháng dào dǔ",
青紫被体: "qīng zǐ pī tǐ",
青林黑塞: "qīng lín hēi sài",
螓首蛾眉: "qín shǒu é méi",
琴瑟之好: "qín sè zhī hào",
且住为佳: "qiě zhù wéi jiā",
切树倒根: "qiē shù dǎo gēn",
切理餍心: "qiē lǐ yàn xīn",
切近的当: "qiē jìn de dāng",
翘足引领: "qiáo zú yǐn lǐng",
巧发奇中: "qiǎo fā qí zhòng",
强嘴拗舌: "jiàng zuǐ niù shé",
强直自遂: "qiáng zhí zì suí",
强死强活: "qiǎng sǐ qiǎng huó",
强食自爱: "qiǎng shí zì ài",
强食靡角: "qiǎng shí mí jiǎo",
强弓劲弩: "qiáng gōng jìng nǔ",
强聒不舍: "qiǎng guō bù shě",
强凫变鹤: "qiáng fú biàn hè",
强而后可: "qiǎng ér hòu kě",
强得易贫: "qiǎng dé yì pín",
遣兴陶情: "qiǎn xìng táo qíng",
牵羊担酒: "qiān yáng dān jiǔ",
千了百当: "qiān liǎo bǎi dàng",
泣下如雨: "qì xià rú yǔ",
起偃为竖: "qǐ yǎn wéi shù",
岂弟君子: "kǎi tì jūn zǐ",
綦溪利跂: "qí xī lì qí",
棋输先著: "qí shū xiān zhuó",
齐王舍牛: "qí wáng shě niú",
欺天诳地: "qī tiān kuáng dì",
普天率土: "pǔ tiān shuài tǔ",
铺胸纳地: "pū xiōng nà dì",
铺锦列绣: "pū jǐn liè xiù",
破家为国: "pò jiā wèi guó",
破觚为圜: "pò gū wéi yuán",
萍飘蓬转: "píng piāo péng zhuàn",
帡天极地: "píng tiān jí dì",
屏声息气: "bǐng shēng xī qì",
凭几据杖: "píng jī jù zhàng",
贫嘴薄舌: "pín zuǐ bó shé",
片语只辞: "piàn yǔ zhī cí",
披发文身: "pī fà wén shēn",
烹龙炮凤: "pēng lóng páo fèng",
炰鳖脍鲤: "fǒu biē kuài lǐ",
庞眉皓发: "páng méi hào fà",
攀花折柳: "pān huā zhé liǔ",
攀蟾折桂: "pān chán shé guì",
女大难留: "nǚ dà nán liú",
弄玉吹箫: "nòng yù chuī xiāo",
弄管调弦: "nòng guǎn tiáo xián",
弄粉调朱: "nòng fěn diào zhū",
浓抹淡妆: "nóng mò dàn zhuāng",
捻土为香: "niǎn tǔ wéi xiāng",
年谊世好: "nián yì shì hǎo",
年华垂暮: "nián huá chuí mù",
儗不于伦: "nǐ bù yú lún",
泥而不滓: "ní ér bù zǐ",
能者为师: "néng zhě wéi shī",
能不称官: "néng bú chèn guān",
挠直为曲: "náo zhí wéi qū",
难进易退: "nán jìn yì tuì",
难得糊涂: "nán dé hú tú",
南蛮鴂舌: "nán mán jué shé",
南贩北贾: "nán fàn běi gǔ",
牧猪奴戏: "mù zhū nú xì",
目眢心忳: "mù yuān xīn tún",
目挑心招: "mù tiǎo xīn zhāo",
目量意营: "mù liàng yì yíng",
木头木脑: "mù tóu mù nǎo",
木干鸟栖: "mù gàn niǎo qī",
侔色揣称: "móu sè chuǎi chèn",
莫予毒也: "mò yú dú yě",
抹粉施脂: "mò fěn shī zhī",
磨砻镌切: "mó lóng juān qiē",
磨棱刓角: "mó léng wán jiǎo",
摸门不着: "mō mén bù zháo",
摸不着边: "mō bù zhuó biān",
命中注定: "mìng zhōng zhù dìng",
鸣鹤之应: "míng hè zhī yìng",
明效大验: "míng xiào dà yàn",
名我固当: "míng wǒ gù dāng",
邈处欿视: "miǎo chǔ kǎn shì",
黾穴鸲巢: "měng xué qú cháo",
绵里薄材: "mián lǐ bó cái",
靡有孑遗: "mǐ yǒu jié yí",
靡衣偷食: "mǐ yī tōu shí",
迷恋骸骨: "mí liàn hái gǔ",
扪参历井: "mén shēn lì jǐng",
门单户薄: "mén dān hù bó",
昧旦晨兴: "mèi dàn chén xīng",
冒名接脚: "mào míng jiē jiǎo",
毛遂堕井: "máo suí duò jǐng",
毛发倒竖: "máo fā dǎo shù",
卖文为生: "mài wén wéi shēng",
卖李钻核: "mài lǐ zuān hé",
买椟还珠: "mǎi dú huán zhū",
埋三怨四: "mán sān yuàn sì",
马入华山: "mǎ rù huá shān",
落魄江湖: "luò pò jiāng hú",
落落难合: "luò luò nán hé",
落草为寇: "luò cǎo wéi kòu",
罗织构陷: "luó zhī gòu xiàn",
鸾凤和鸣: "luán fèng hè míng",
率由旧章: "shuài yóu jiù zhāng",
率土同庆: "shuài tǔ tóng qìng",
率兽食人: "shuài shòu shí rén",
率土归心: "shuài tǔ guī xīn",
率马以骥: "shuài mǎ yǐ jì",
率尔成章: "shuài ěr chéng zhāng",
鲁斤燕削: "lǔ jīn yàn xuē",
漏尽更阑: "lòu jìn gēng lán",
笼鸟槛猿: "lóng niǎo jiàn yuán",
笼鸟池鱼: "lóng niǎo chí yú",
龙游曲沼: "lóng yóu qū zhǎo",
龙血玄黄: "lóng xuè xuán huáng",
龙雕凤咀: "lóng diāo fèng jǔ",
六尺之讬: "liù chǐ zhī tuō",
令原之戚: "líng yuán zhī qī",
令人捧腹: "lìng rén pěng fù",
陵劲淬砺: "líng jìng cuì lì",
临敌易将: "lín dí yì jiàng",
裂裳衣疮: "liè shang yī chuāng",
裂冠毁冕: "liè guàn huǐ miǎn",
了无惧色: "liǎo wú jù sè",
了身达命: "liǎo shēn dá mìng",
了然无闻: "liǎo rán wú wén",
了不可见: "liǎo bù kě jiàn",
了不长进: "liǎo bù zhǎng jìn",
燎发摧枯: "liǎo fà cuī kū",
审时度势: "shěn shí duó shì",
量小力微: "liàng xiǎo lì wēi",
相时度力: "xiāng shí duó lì",
量枘制凿: "liàng ruì zhì záo",
量如江海: "liàng rú jiāng hǎi",
量金买赋: "liàng jīn mǎi fù",
量己审分: "liàng jǐ shěn fēn",
敛骨吹魂: "liǎn gǔ chuī hún",
詈夷为跖: "lì yí wéi zhí",
利令志惛: "lì lìng zhì hūn",
李广不侯: "lǐ guǎng bú hòu",
礼为情貌: "lǐ wéi qíng mào",
礼让为国: "lǐ ràng wéi guó",
犁生骍角: "lí shēng xīng jiǎo",
离本徼末: "lí běn jiǎo mò",
楞眉横眼: "léng méi hèng yǎn",
擂天倒地: "léi tiān dǎo dì",
累足成步: "lěi zú chéng bù",
累瓦结绳: "lěi wǎ jié shéng",
累土至山: "lěi tǔ zhì shān",
累土聚沙: "lěi tǔ jù shā",
累卵之危: "lěi luǎn zhī wēi",
累累如珠: "lěi lěi rú zhū",
累块积苏: "lěi kuài jī sū",
乐山乐水: "lè shān lè shuǐ",
潦原浸天: "lǎo yuán jìn tiān",
老师宿儒: "lǎo shī xiǔ rú",
牢什古子: "láo shí gǔ zi",
琅嬛福地: "láng huán fú dì",
揆情度理: "kuí qíng duó lǐ",
旷日累时: "kuàng rì lěi shí",
匡救弥缝: "kuāng jiù mí fèng",
枯树生华: "kū shù shēng huā",
口轻舌薄: "kǒu qīng shé bó",
口角生风: "kǒu jiǎo shēng fēng",
口角春风: "kǒu jiǎo chūn fēng",
口角风情: "kǒu jiǎo fēng qíng",
口干舌焦: "kǒu gān shé jiāo",
口腹之累: "kǒu fù zhī lěi",
空腹便便: "kōng fù pián pián",
嗑牙料嘴: "kē yá liào zuǐ",
刻木为鹄: "kè mù wéi hú",
咳珠唾玉: "ké zhū tuò yù",
咳唾成珠: "ké tuò chéng zhū",
抗颜为师: "kàng yán wéi shī",
开华结果: "kāi huā jié guǒ",
峻阪盐车: "jùn bǎn yán chē",
嚼铁咀金: "jiáo tiě jǔ jīn",
嚼墨喷纸: "jué mò pēn zhǐ",
倔头强脑: "juè tóu jiàng nǎo",
倔头倔脑: "juè tóu juè nǎo",
倦鸟知还: "juàn niǎo zhī huán",
卷席而葬: "juǎn xí ér zàng",
卷甲倍道: "juǎn jiǎ bèi dào",
聚米为山: "jù mǐ wéi shān",
举手相庆: "jǔ shǒu xiāng qìng",
举世混浊: "jǔ shì hún zhuó",
鞠为茂草: "jū wéi mào cǎo",
拘神遣将: "jū shén qiǎn jiàng",
居下讪上: "jū xià shàn shàng",
久要不忘: "jiǔ yāo bú wàng",
九转功成: "jiǔ zhuǎn gōng chéng",
九蒸三熯: "jiǔ zhēng sān hàn",
敬业乐群: "jìng yè lè qún",
井底虾蟆: "jǐng dǐ xiā má",
旌旗卷舒: "jīng qí juǎn shū",
荆棘载途: "jīng jí zài tú",
禁舍开塞: "jìn shě kāi sāi",
祲威盛容: "jìn wēi shèng róng",
进退消长: "jìn tuì xiāo cháng",
进退应矩: "jìn tuì yīng jǔ",
进退触籓: "jìn tuì chù fān",
进退跋疐: "jìn tuì bá zhì",
尽多尽少: "jǐn duō jǐn shǎo",
锦囊还矢: "jǐn náng huán shǐ",
矜己自饰: "jīn jǐ zì shì",
矜功负气: "jīn gōng fù qì",
津关险塞: "jīn guān xiǎn sài",
金吾不禁: "jīn wú bú jìn",
金翅擘海: "jīn chì bāi hǎi",
解衣衣人: "jiě yī yī rén",
解人难得: "jiě rén nán dé",
解铃系铃: "jiě líng xì líng",
解发佯狂: "jiě fà yáng kuáng",
诘屈磝碻: "jié qū áo qiāo",
教猱升木: "jiāo náo shēng mù",
较瘦量肥: "jiào shòu liàng féi",
角立杰出: "jiǎo lì jié chū",
焦沙烂石: "jiāo shā làn shí",
骄儿騃女: "jiāo ér sì nǚ",
浇风薄俗: "jiāo fēng bó sú",
降妖捉怪: "xiáng yāo zhuō guài",
将取固予: "jiāng qǔ gù yǔ",
将门有将: "jiàng mén yǒu jiàng",
将夺固与: "jiāng duó gù yǔ",
槛花笼鹤: "jiàn huā lóng hè",
鉴影度形: "jiàn yǐng duó xíng",
渐不可长: "jiàn bù kě zhǎng",
见素抱朴: "xiàn sù bào pǔ",
见弃于人: "jiàn qì yú rén",
简丝数米: "jiǎn sī shǔ mǐ",
俭不中礼: "jiǎn bú zhòng lǐ",
间见层出: "jiàn xiàn céng chū",
尖嘴薄舌: "jiān zuǐ bó shé",
甲冠天下: "jiǎ guàn tiān xià",
葭莩之亲: "jiā fú zhī qīn",
家累千金: "jiā lèi qiān jīn",
家给人足: "jiā jǐ rén zú",
家道从容: "jiā dào cóng róng",
夹袋人物: "jiā dài rén wù",
霁风朗月: "jì fēng lǎng yuè",
寄兴寓情: "jì xìng yù qíng",
计深虑远: "jì shēn lǜ yuǎn",
计功量罪: "jì gōng liàng zuì",
掎裳连襼: "jǐ shang lián yì",
虮虱相吊: "jǐ shī xiāng diào",
疾不可为: "jí bù kě wéi",
极深研几: "jí shēn yán jī",
及宾有鱼: "jí bīn yǒu yú",
激薄停浇: "jī bó tíng jiāo",
积素累旧: "jī sù lěi jiù",
积时累日: "jī shí lěi rì",
积露为波: "jī lù wéi bō",
积德累功: "jī dé lěi gōng",
积谗糜骨: "jī chán méi gǔ",
击排冒没: "jī pái mào mò",
祸为福先: "huò wéi fú xiān",
祸福相依: "huò fú xiāng yī",
获隽公车: "huò jùn gōng chē",
混应滥应: "hùn yīng làn yīng",
毁舟为杕: "huǐ zhōu wéi duò",
毁钟为铎: "huǐ zhōng wéi duó",
毁冠裂裳: "huǐ guān liè cháng",
晦盲否塞: "huì máng pǐ sè",
回船转舵: "huí chuán zhuàn duò",
潢池盗弄: "huáng chí dào nòng",
黄冠草履: "huáng guàn cǎo lǚ",
黄发儿齿: "huáng fà ér chǐ",
黄发垂髫: "huáng fà chuí tiáo",
还珠返璧: "huán zhū fǎn bì",
还年驻色: "huán nián zhù sè",
还年却老: "huán nián què lǎo",
坏裳为裤: "huài shang wéi kù",
画荻和丸: "huà dí huò wán",
化枭为鸠: "huà xiāo wéi jiū",
化腐为奇: "huà fǔ wéi qí",
化鸱为凤: "huà chī wéi fèng",
花不棱登: "huā bu lēng dēng",
户限为穿: "hù xiàn wéi chuān",
呼卢喝雉: "hū lú hè zhì",
呼来喝去: "hū lái hè qù",
呼不给吸: "hū bù jǐ xī",
厚味腊毒: "hòu wèi xī dú",
厚德载物: "hòu dé zài wù",
鸿渐于干: "hóng jiàn yú gàn",
洪炉燎发: "hóng lú liáo fà",
红绳系足: "hóng shéng jì zú",
红不棱登: "hóng bu lēng dēng",
横抢硬夺: "hèng qiǎng yìng duó",
横恩滥赏: "hèng ēn làn shǎng",
恨海难填: "hèn hǎi nán tián",
鹤发鸡皮: "hè fà jī pí",
涸思干虑: "hé sī gān lǜ",
河涸海干: "hé hé hǎi gān",
和颜说色: "hé yán yuè sè",
合从连衡: "hé zòng lián héng",
浩浩汤汤: "hào hào shāng shāng",
好勇斗狠: "hào yǒng dòu hěn",
好问则裕: "hào wèn zé yù",
好为事端: "hào wéi shì duān",
好问决疑: "hào wèn jué yí",
好生之德: "hào shēng zhī dé",
好奇尚异: "hǎo qí shàng yì",
好恶不同: "hǎo è bù tóng",
好丹非素: "hào dān fēi sù",
豪干暴取: "háo gàn bào qǔ",
毫发不爽: "háo fà bù shuǎng",
寒酸落魄: "hán suān luò pò",
含英咀华: "hán yīng jǔ huá",
含糊不明: "hán hú bù míng",
过为已甚: "guò wéi yǐ shèn",
桂折兰摧: "guì shé lán cuī",
规旋矩折: "guī xuán jǔ shé",
广文先生: "guǎng wén xiān sheng",
广陵散绝: "guǎng líng sǎn jué",
冠山戴粒: "guàn shān dài lì",
冠屦倒施: "guàn jù dǎo shī",
挂席为门: "guà xí wéi mén",
寡见鲜闻: "guǎ jiàn xiǎn wén",
瓜葛相连: "guā gé xiāng lián",
鼓吻奋爪: "gǔ wěn fèn zhǎo",
古调单弹: "gǔ diào dān tán",
古调不弹: "gǔ diào bù tán",
姑射神人: "gū yè shén rén",
苟合取容: "gǒu hé qǔ róng",
狗续侯冠: "gǒu xù hòu guàn",
钩爪锯牙: "gōu zhǎo jù yá",
共枝别干: "gòng zhī bié gàn",
共为唇齿: "gòng wéi chún chǐ",
拱手而降: "gǒng shǒu ér xiáng",
拱肩缩背: "gǒng jiān suō bèi",
功薄蝉翼: "gōng bó chán yì",
弓调马服: "gōng diào mǎ fú",
更姓改物: "gēng xìng gǎi wù",
更仆难数: "gēng pú nán shǔ",
更令明号: "gēng lìng míng hào",
更待干罢: "gèng dài gàn bà",
更唱迭和: "gēng chàng dié hé",
更长梦短: "gēng cháng mèng duǎn",
各色名样: "gè sè míng yàng",
格格不纳: "gé gé bú nà",
格格不吐: "gé gé bù tǔ",
告朔饩羊: "gù shuò xì yáng",
膏车秣马: "gào chē mò mǎ",
高义薄云: "gāo yì bó yún",
岗头泽底: "gāng tóu zé dǐ",
敢为敢做: "gǎn wéi gǎn zuò",
甘分随时: "gān fèn suí shí",
甘处下流: "gān chǔ xià liú",
干啼湿哭: "gàn tí shī kū",
干名犯义: "gàn míng fàn yì",
干将莫邪: "gān jiāng mò yé",
干城之将: "gān chéng zhī jiàng",
腹载五车: "fù zài wǔ chē",
父债子还: "fù zhài zǐ huán",
父为子隐: "fù wéi zǐ yǐn",
辅世长民: "fǔ shì zhǎng mín",
福为祸始: "fú wéi huò shǐ",
符号逻辑: "fú hào luó jí",
浮收勒折: "fú shōu lè shé",
肤受之愬: "fū shòu zhī sù",
否终则泰: "pǐ zhōng zé tài",
佛头著粪: "fó tóu zhuó fèn",
奉为楷模: "fèng wéi kǎi mó",
凤靡鸾吪: "fèng mǐ luán é",
封豨修蛇: "fēng xī xiū shé",
风影敷衍: "fēng yǐng fū yǎn",
丰屋蔀家: "fēng wū bù jiā",
粪土不如: "fèn tǔ bù rú",
分风劈流: "fēn fēng pǐ liú",
沸沸汤汤: "fèi fèi shāng shāng",
菲食薄衣: "fěi shí bó yī",
飞将数奇: "fēi jiàng shù qí",
放辟邪侈: "fàng pì xié chǐ",
方领圆冠: "fāng lǐng yuán guàn",
犯而不校: "fàn ér bú jiào",
返本还源: "fǎn běn huán yuán",
反劳为逸: "fǎn láo wéi yì",
法轮常转: "fǎ lún cháng zhuàn",
罚不当罪: "fá bù dāng zuì",
发引千钧: "fà yǐn qiān jūn",
发奸擿伏: "fā jiān tī fú",
发短心长: "fà duǎn xīn cháng",
二竖为虐: "èr shù wéi nüè",
儿女心肠: "ér nǚ xīn cháng",
儿女亲家: "ér nǚ qìng jiā",
遏恶扬善: "è wù yáng shàn",
饿殍枕藉: "è piǎo zhěn jí",
饿殍载道: "è piǎo zài dào",
恶醉强酒: "wù zuì qiǎng jiǔ",
恶意中伤: "è yì zhòng shāng",
恶湿居下: "wù shī jū xià",
恶居下流: "wù jū xià liú",
恶不去善: "wù bú qù shàn",
扼吭夺食: "è háng duó shí",
扼襟控咽: "è jīn kòng yān",
峨峨汤汤: "é é shāng shāng",
屙金溺银: "ē jīn niào yín",
朵颐大嚼: "duǒ yí dà jiáo",
夺人所好: "duó rén suǒ hào",
多言数穷: "duō yán shuò qióng",
多文为富: "duō wén wéi fù",
多端寡要: "duō duān guǎ yào",
多财善贾: "duō cái shàn gǔ",
遁世无闷: "dùn shì wú mèn",
遁迹黄冠: "dùn jì huáng guàn",
堆案盈几: "duī àn yíng jī",
断还归宗: "duàn huán guī zōng",
短见薄识: "duǎn jiàn bó shí",
蠹居棊处: "dù jū qí chǔ",
度己以绳: "duó jǐ yǐ shéng",
杜默为诗: "dù mò wéi shī",
杜鹃啼血: "dù juān tí xuè",
笃近举远: "dǔ jìn jǔ yuǎn",
独有千秋: "dú yǒu qiān qiū",
读书得间: "dú shū dé jiàn",
斗转参横: "dǒu zhuǎn shēn héng",
兜肚连肠: "dōu dǔ lián cháng",
洞见症结: "dòng jiàn zhèng jié",
恫疑虚喝: "dòng yí xū hè",
动中窾要: "dòng zhōng kuǎn yào",
东鸣西应: "dōng míng xī yīng",
东鳞西爪: "dōng lín xī zhǎo",
东量西折: "dōng liàng xī shé",
东家西舍: "dōng jiā xī shè",
东扯西拽: "dōng chě xī zhuāi",
鼎铛有耳: "dǐng chēng yǒu ěr",
鼎铛玉石: "dǐng chēng yù shí",
钉头磷磷: "dīng tóu lín lín",
跌宕不羁: "diē dàng bù jī",
跌弹斑鸠: "diē dàn bān jiū",
雕心雁爪: "diāo xīn yàn zhǎo",
颠倒衣裳: "diān dǎo yī cháng",
德薄能鲜: "dé bó néng xiǎn",
得马折足: "dé mǎ shé zú",
蹈其覆辙: "dǎo qí fù zhé",
捣虚撇抗: "dǎo xū piē kàng",
倒载干戈: "dào zài gān gē",
倒裳索领: "dào cháng suǒ lǐng",
倒果为因: "dào guǒ wéi yīn",
叨在知己: "tāo zài zhī jǐ",
叨陪末座: "tāo péi mò zuò",
党豺为虐: "dǎng chái wéi nüè",
当轴处中: "dāng zhóu chǔ zhōng",
当着不着: "dāng zhuó bù zhuó",
当务始终: "dāng wù shǐ zhōng",
淡汝浓抹: "dàn rǔ nóng mǒ",
弹丸脱手: "tán wán tuō shǒu",
弹铗无鱼: "dàn jiá wú yú",
箪食瓢饮: "dān sì piáo yǐn",
大璞不完: "dà pú bù wán",
大明法度: "dà míng fǎ dù",
大车以载: "dà chē yǐ zài",
打闷葫芦: "dǎ mèn hú lu",
沓来踵至: "tà lái zhǒng zhì",
厝火燎原: "cuò huǒ liǎo yuán",
撮科打哄: "cuō kē dǎ hòng",
寸积铢累: "cùn jī zhū lěi",
啛啛喳喳: "cuì cuì chā chā",
摧折豪强: "cuī zhé háo qiáng",
摧刚为柔: "cuī gāng wéi róu",
从俗就简: "cóng sú jiù jiǎn",
此发彼应: "cǐ fā bǐ yīng",
此唱彼和: "cǐ chàng bǐ hè",
慈悲为本: "cí bēi wéi běn",
纯属骗局: "chún shǔ piàn jú",
春笋怒发: "chūn sǔn nù fā",
垂头搨翼: "chuí tóu tà yì",
传为笑谈: "chuán wéi xiào tán",
传风扇火: "chuán fēng shān huǒ",
穿红着绿: "chuān hóng zhuó lǜ",
触处机来: "chù chǔ jī lái",
处尊居显: "chǔ zūn jū xiǎn",
处堂燕雀: "chǔ táng yàn què",
处实效功: "chǔ shí xiào gōng",
处高临深: "chǔ gāo lín shēn",
出入无间: "chū rù wú jiān",
出门应辙: "chū mén yīng zhé",
出处语默: "chū chǔ yǔ mò",
出处殊途: "chū chǔ shū tú",
出处进退: "chū chǔ jìn tuì",
愁山闷海: "chóu shān mèn hǎi",
冲冠眦裂: "chōng guàn zì liè",
齿牙为祸: "chǐ yá wéi huò",
尺二冤家: "chǐ èr yuān jia",
尺短寸长: "chǐ duǎn cùn cháng",
尺寸之功: "chǐ cùn zhī gōng",
城北徐公: "chéng běi xú gōng",
成败兴废: "chéng bài xīng fèi",
趁水和泥: "chèn shuǐ huò ní",
称雨道晴: "chēng yǔ dào qíng",
称体载衣: "chēng tǐ zài yī",
称体裁衣: "chèn tǐ cái yī",
称家有无: "chèn jiā yǒu wú",
称德度功: "chēng dé duó gōng",
沉吟章句: "chén yín zhāng jù",
沉吟不决: "chén yín bù jué",
沉疴宿疾: "chén kē sù jí",
扯纤拉烟: "chě qiàn lā yān",
扯顺风旗: "chě shùn fēng qí",
车载船装: "chē zǎi chuán zhuāng",
朝升暮合: "zhāo shēng mù gě",
朝攀暮折: "zhāo pān mù shé",
超今冠古: "chāo jīn guàn gǔ",
倡而不和: "chàng ér bú hè",
畅所欲为: "chàng suǒ yù wéi",
苌弘碧血: "cháng hóng bì xiě",
长幼尊卑: "zhǎng yòu zūn bēi",
长绳系日: "cháng shéng jì rì",
长年三老: "zhǎng nián sān lǎo",
长春不老: "cháng chūn bù lǎo",
长傲饰非: "zhǎng ào shì fēi",
昌亭旅食: "chāng tíng lǚ shí",
禅絮沾泥: "chán xù zhān ní",
差三错四: "chā sān cuò sì",
层台累榭: "céng tái lěi xiè",
层见迭出: "céng xiàn dié chū",
藏踪蹑迹: "cáng zōng niè jì",
苍蝇见血: "cāng yíng jiàn xiě",
餐松啖柏: "cān sōng dàn bó",
骖风驷霞: "cān fēng sì xiá",
参伍错综: "cēn wǔ cuò zōng",
参辰卯酉: "shēn chén mǎo yǒu",
材优干济: "cái yōu gān jǐ",
材薄质衰: "cái bó zhì shuāi",
才大难用: "cái dà nán yòng",
才薄智浅: "cái bó zhì qiǎn",
不足为意: "bù zú wéi yì",
不足为据: "bù zú wéi jù",
不足为法: "bù zú wéi fǎ",
不足齿数: "bù zú chǐ shǔ",
不着疼热: "bù zhuó téng rè",
不知薡蕫: "bù zhī dǐng dǒng",
不越雷池: "bú yuè léi chí",
不相为谋: "bù xiāng wéi móu",
不贪为宝: "bù tān wéi bǎo",
不了而了: "bù liǎo ér liǎo",
不可揆度: "bù kě kuí duó",
不遑启处: "bù huáng qǐ chǔ",
不当不正: "bù dāng bú zhèng",
不差什么: "bú chà shén me",
不差累黍: "bù chā lěi shǔ",
擘两分星: "bò liǎng fēn xīng",
簸土扬沙: "bǒ tǔ yáng shā",
薄物细故: "bó wù xì gù",
薄寒中人: "bó hán zhòng rén",
博文约礼: "bó wén yuē lǐ",
播糠眯目: "bō kāng mí mù",
剥皮抽筋: "bō pí chōu jīn",
剥肤椎髓: "bō fū chuí suǐ",
波属云委: "bō zhǔ yún wěi",
波骇云属: "bō hài yún zhǔ",
兵微将寡: "bīng wēi jiàng guǎ",
兵强将勇: "bīng qiáng jiàng yǒng",
兵多将广: "bīng duō jiàng guǎng",
兵不由将: "bīng bù yóu jiàng",
冰解的破: "bīng jiě dì pò",
彬彬济济: "bīn bīn jǐ jǐ",
摽梅之年: "biào méi zhī nián",
表里为奸: "biǎo lǐ wéi jiān",
飙发电举: "biāo fā diàn jǔ",
变贪厉薄: "biàn tān lì bó",
敝盖不弃: "bì gài bú qì",
秕言谬说: "bǐ yán miù shuō",
比物属事: "bǐ wù zhǔ shì",
被山带河: "pī shān dài hé",
被甲枕戈: "pī jiǎ zhěn gē",
被甲据鞍: "pī jiǎ jù ān",
被褐怀玉: "pī hè huái yù",
被发缨冠: "pī fà yīng guàn",
背曲腰躬: "bèi qǔ yāo gōng",
北窗高卧: "běi chuāng gāo wò",
北辰星拱: "běi chén xīng gǒng",
北鄙之音: "běi bǐ zhī yīn",
卑宫菲食: "bēi gōng fěi shí",
暴衣露冠: "pù yī lù guàn",
暴腮龙门: "pù sāi lóng mén",
暴露文学: "bào lù wén xué",
暴虎冯河: "bào hǔ píng hé",
抱蔓摘瓜: "bào wàn zhāi guā",
抱法处势: "bào fǎ chǔ shì",
褒贬与夺: "bāo biǎn yǔ duó",
帮闲钻懒: "bāng xián zuān lǎn",
拜将封侯: "bài jiàng fēng hóu",
百兽率舞: "bǎi shòu shuài wǔ",
百孔千创: "bǎi kǒng qiān chuāng",
白衣卿相: "bái yī qīng xiàng",
白首为郎: "bái shǒu wéi láng",
白首相知: "bái shǒu xiāng zhī",
把玩无厌: "bǎ wán wú yàn",
拔锅卷席: "bá guō juǎn xí",
拔本塞源: "bá běn sè yuán",
傲不可长: "ào bù kě zhǎng",
熬更守夜: "áo gēng shǒu yè",
安时处顺: "ān shí chǔ shùn",
安身为乐: "ān shēn wéi lè",
安老怀少: "ān lǎo huái shào",
安步当车: "ān bù dàng chē",
爱人好士: "ài rén hào shì",
矮人观场: "ǎi rén guān chǎng",
捱风缉缝: "ái fēng jī fèng",
挨山塞海: "āi shān sè hǎi",
阿家阿翁: "ā jiā ā wēng",
阿党相为: "ē dǎng xiāng wéi",
追亡逐北: "zhuī wáng zhú běi",
竹篮打水: "zhú lán dá shuǐ",
知疼着热: "zhī téng zháo rè",
语不惊人: "yǔ bù jīng rén",
于今为烈: "yú jīn wéi liè",
一日三省: "yí rì sān xǐng",
穴居野处: "xué jū yě chǔ",
五脊六兽: "wǔ jǐ liù shòu",
无声无臭: "wú shēng wú xiù",
谓予不信: "wèi yú bú xìn",
舍身为国: "shě shēn wéi guó",
杀妻求将: "shā qī qiú jiàng",
强作解人: "qiǎng zuò jiě rén",
气冲斗牛: "qì chōng dǒu niú",
临深履薄: "lín shēn lǚ bó",
钧天广乐: "jūn tiān guǎng yuè",
艰难竭蹶: "jiān nán jié jué",
夹七夹八: "jiā qī jiā bā",
混混噩噩: "hún hún è è",
厚古薄今: "hòu gǔ bó jīn",
鬼怕恶人: "guǐ pà è rén",
伽马射线: "gā mǎ shè xiàn",
佛头着粪: "fó tóu zhuó fèn",
奉为至宝: "fèng wéi zhì bǎo",
登坛拜将: "dēng tán bài jiàng",
晨昏定省: "chén hūn dìng xǐng",
察察为明: "chá chá wéi míng",
博闻强识: "bó wén qiáng zhì",
避难就易: "bì nán jiù yì",
了无生机: 'liǎo wú shēng jī',
// 一字不变调的词语,如果词语仅有单个一且一字在结尾的无需添加(需要增补更多)
有一说一: 'yǒu yī shuō yī',
独一无二: 'dú yī wú èr',
说一不二: 'shuō yī bù èr',
举一反三: 'jǔ yī fǎn sān',
数一数二: 'shǔ yī shǔ èr',
杀一儆百: 'shā yī jǐng bǎi',
丁一卯二: 'dīng yī mǎo èr',
丁一确二: 'dīng yī què èr',
不一而止: 'bù yī ér zhǐ',
无一幸免: 'wú yī xìng miǎn',
// 来源:https://m.gushici.com/cyxy_4e00_4
表里不一: 'biǎo lǐ bù yī',
良莠不一: 'liáng yǒu bù yī',
心口不一: 'xīn kǒu bù yī',
言行不一: 'yán xíng bù yī',
政令不一: 'zhèng lìng bù yī',
参差不一: 'cēn cī bù yī',
纷纷不一: 'fēn fēn bù yī',
毁誉不一: 'huǐ yù bù yī',
不一而三: 'bù yī ér sān',
百不一遇: 'bǎi bù yī yù',
言行抱一: 'yán xíng bào yī',
瑜百瑕一: 'yú bǎi xiá yī',
背城借一: 'bèi chéng jiè yī',
凭城借一: 'píng chéng jiè yī',
劝百讽一: 'quàn bǎi fěng yī',
群居和一: 'qún jū hé yī',
百不获一: 'bǎi bù huò yī',
百不失一: 'bǎi bù shī yī',
百无失一: 'bǎi wú shī yī',
万不失一: 'wàn bù shī yī',
万无失一: 'wàn wú shī yī',
合而为一: 'hé ér wéi yī',
合两为一: 'hé liǎng wéi yī',
合二为一: 'hé èr wéi yī',
天下为一: 'tiān xià wéi yī',
相与为一: 'xiāng yǔ wéi yī',
较若画一: 'jiào ruò huà yī',
较如画一: 'jiào rú huà yī',
斠若画一: 'jiào ruò huà yī',
言行若一: 'yán xíng ruò yī',
始终若一: 'shǐ zhōng ruò yī',
终始若一: 'zhōng shǐ ruò yī',
惟精惟一: 'wéi jīng wéi yī',
众多非一: 'zhòng duō fēi yī',
不能赞一: 'bù néng zàn yī',
问一答十: 'wèn yī dá shí',
一不扭众: 'yī bù niǔ zhòng',
一以贯之: 'yī yǐ guàn zhī',
一以当百: 'yī yǐ dāng bǎi',
百不当一: 'bǎi bù dāng yī',
十不当一: 'shí bù dāng yī',
以一警百: 'yǐ yī jǐng bǎi',
以一奉百: 'yǐ yī fèng bǎi',
以一持万: 'yǐ yī chí wàn',
以一知万: 'yǐ yī zhī wàn',
百里挑一: 'bǎi lǐ tiāo yī',
整齐划一: 'zhěng qí huà yī',
一来二去: 'yī lái èr qù',
一路公交: 'yī lù gōng jiāo',
一路汽车: 'yī lù qì chē',
一路巴士: 'yī lù bā shì',
朝朝朝落: 'zhāo cháo zhāo luò',
曲意逢迎: 'qū yì féng yíng',
一行不行: 'yì háng bù xíng',
行行不行: 'háng háng bù xíng'
};
var Pattern4 = Object.keys(DICT4).map(function (key) {
return {
zh: key,
pinyin: DICT4[key],
probability: 2e-8 /* Probability.DICT */,
length: 4,
priority: Priority.Normal,
dict: Symbol('dict4')
};
});
var DICT5 = {
巴尔干半岛: 'bā ěr gàn bàn dǎo',
巴尔喀什湖: 'bā ěr kā shí hú',
不幸而言中: 'bú xìng ér yán zhòng',
布尔什维克: 'bù ěr shí wéi kè',
何乐而不为: 'hé lè ér bù wéi',
苛政猛于虎: 'kē zhèng měng yú hǔ',
蒙得维的亚: 'méng dé wéi dì yà',
民以食为天: 'mín yǐ shí wéi tiān',
事后诸葛亮: 'shì hòu zhū gě liàng',
物以稀为贵: 'wù yǐ xī wéi guì',
先下手为强: 'xiān xià shǒu wéi qiáng',
行行出状元: 'háng háng chū zhuàng yuan',
亚得里亚海: 'yà dé lǐ yà hǎi',
眼不见为净: 'yǎn bú jiàn wéi jìng',
竹筒倒豆子: 'zhú tǒng dào dòu zi'
};
var Pattern5 = Object.keys(DICT5).map(function (key) {
return {
zh: key,
pinyin: DICT5[key],
probability: 2e-8 /* Probability.DICT */,
length: 5,
priority: Priority.Normal,
dict: Symbol('dict5')
};
});
// 根据 probability 和 decimal 获取两个概率中最大的
function getMaxProbability(a, b) {
if (!a) {
return b;
}
if (a.decimal < b.decimal) {
return a;
} else if (a.decimal === b.decimal) {
return a.probability > b.probability ? a : b;
} else {
return b;
}
}
// probability 小于 1e-300 时,为防止小数溢出需要进位
function checkDecimal(prob) {
if (prob.probability < 1e-300) {
prob.probability *= 1e300;
prob.decimal += 1;
}
}
function getPatternDecimal(pattern) {
if (pattern.priority === Priority.Custom) {
return -(pattern.length * pattern.length * 100);
}
if (pattern.priority === Priority.Surname) {
return -(pattern.length * pattern.length * 10);
}
return 0;
}
// 最大概率算法
function maxProbability(patterns, length) {
var dp = [];
var patternIndex = patterns.length - 1;
var pattern = patterns[patternIndex];
// 按照长度去除重叠词
for (var i = length - 1; i >= 0; i--) {
// suffix
var suffixDP = i + 1 >= length ? {
probability: 1,
decimal: 0,
patterns: []
} : dp[i + 1];
while (pattern && pattern.index + pattern.length - 1 === i) {
var startIndex = pattern.index;
var curDP = {
probability: pattern.probability * suffixDP.probability,
decimal: suffixDP.decimal + getPatternDecimal(pattern),
patterns: suffixDP.patterns,
concatPattern: pattern
};
checkDecimal(curDP);
dp[startIndex] = getMaxProbability(dp[startIndex], curDP);
pattern = patterns[--patternIndex];
}
// dp[i]
var iDP = {
probability: 1e-13 /* Probability.Unknown */ * suffixDP.probability,
decimal: 0,
patterns: suffixDP.patterns
};
checkDecimal(iDP);
dp[i] = getMaxProbability(dp[i], iDP);
if (dp[i].concatPattern) {
dp[i].patterns = dp[i].patterns.concat(dp[i].concatPattern);
dp[i].concatPattern = undefined;
delete dp[i + 1];
}
}
return dp[0].patterns.reverse();
}
// 取最少分词数
function getMinCount(a, b) {
if (!a) {
return b;
}
return a.count <= b.count ? a : b;
}
function getPatternCount(pattern) {
if (pattern.priority === Priority.Custom) {
return -(pattern.length * pattern.length * 100000);
}
if (pattern.priority === Priority.Surname) {
return -(pattern.length * pattern.length * 100);
}
return 1;
}
// 最少分词算法
function minTokenization(patterns, length) {
var dp = [];
var patternIndex = patterns.length - 1;
var pattern = patterns[patternIndex];
// 按照长度去除重叠词
for (var i = length - 1; i >= 0; i--) {
// suffix
var suffixDP = i + 1 >= length ? {
count: 0,
patterns: []
} : dp[i + 1];
while (pattern && pattern.index + pattern.length - 1 === i) {
var startIndex = pattern.index;
var curDP = {
count: getPatternCount(pattern) + suffixDP.count,
patterns: suffixDP.patterns,
concatPattern: pattern
};
dp[startIndex] = getMinCount(dp[startIndex], curDP);
pattern = patterns[--patternIndex];
}
// dp[i]
var iDP = {
count: 1 + suffixDP.count,
patterns: suffixDP.patterns
};
dp[i] = getMinCount(dp[i], iDP);
if (dp[i].concatPattern) {
dp[i].patterns = dp[i].patterns.concat(dp[i].concatPattern);
dp[i].concatPattern = undefined;
delete dp[i + 1];
}
}
return dp[0].patterns.reverse();
}
// 判断 pre 是否可以被忽略的重叠词
function isIgnorablePattern(cur, pre) {
// 未重叠
if (pre.index + pre.length <= cur.index) {
return false;
}
if (pre.priority > cur.priority) {
return false;
}
if (pre.priority === cur.priority && pre.length > cur.length) {
return false;
}
return true;
}
// 逆向最大匹配算法
function reverseMaxMatch(patterns) {
var filteredArr = [];
// 按照长度去除重叠词
for (var i = patterns.length - 1; i >= 0;) {
var index = patterns[i].index;
var j = i - 1;
while (j >= 0 && isIgnorablePattern(patterns[i], patterns[j])) {
j--;
}
if (j < 0 || patterns[j].index + patterns[j].length <= index) {
filteredArr.push(patterns[i]);
}
i = j;
}
return filteredArr.reverse();
}
var TokenizationAlgorithm;
(function (TokenizationAlgorithm) {
TokenizationAlgorithm[TokenizationAlgorithm["ReverseMaxMatch"] = 1] = "ReverseMaxMatch";
TokenizationAlgorithm[TokenizationAlgorithm["MaxProbability"] = 2] = "MaxProbability";
TokenizationAlgorithm[TokenizationAlgorithm["MinTokenization"] = 3] = "MinTokenization";
})(TokenizationAlgorithm || (TokenizationAlgorithm = {}));
var TrieNode = /*#__PURE__*/(0, _createClass2.default)(function TrieNode(parent) {
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
(0, _classCallCheck2.default)(this, TrieNode);
this.children = new Map();
this.fail = null;
this.patterns = [];
this.parent = parent;
this.prefix = prefix;
this.key = key;
});
var AC = /*#__PURE__*/function () {
function AC() {
(0, _classCallCheck2.default)(this, AC);
this.dictMap = new Map();
this.queues = [];
this.root = new TrieNode(null);
}
(0, _createClass2.default)(AC, [{
key: "build",
value: function build(patternList) {
this.buildTrie(patternList);
this.buildFailPointer();
}
// 构建 trie 树
}, {
key: "buildTrie",
value: function buildTrie(patternList) {
var _iterator2 = _createForOfIteratorHelper(patternList),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var pattern = _step2.value;
var zhChars = splitString(pattern.zh);
var cur = this.root;
for (var i = 0; i < zhChars.length; i++) {
var c = zhChars[i];
if (!cur.children.has(c)) {
var trieNode = new TrieNode(cur, zhChars.slice(0, i).join(''), c);
cur.children.set(c, trieNode);
this.addNodeToQueues(trieNode);
}
cur = cur.children.get(c);
}
this.insertPattern(cur.patterns, pattern);
pattern.node = cur;
this.addPatternToDictMap(pattern);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
// 构建失败指针
}, {
key: "buildFailPointer",
value: function buildFailPointer() {
var queue = [];
var queueIndex = 0;
this.queues.forEach(function (_queue) {
queue = queue.concat(_queue);
});
this.queues = [];
while (queue.length > queueIndex) {
var node = queue[queueIndex++];
var failNode = node.parent && node.parent.fail;
var key = node.key;
while (failNode && !failNode.children.has(key)) {
failNode = failNode.fail;
}
if (!failNode) {
node.fail = this.root;
} else {
node.fail = failNode.children.get(key);
}
}
}
// 将 pattern 添加到 dictMap 中
}, {
key: "addPatternToDictMap",
value: function addPatternToDictMap(pattern) {
if (!this.dictMap.has(pattern.dict)) {
this.dictMap.set(pattern.dict, new Set());
}
this.dictMap.get(pattern.dict).add(pattern);
}
}, {
key: "addNodeToQueues",
value: function addNodeToQueues(trieNode) {
if (!this.queues[stringLength(trieNode.prefix)]) {
this.queues[stringLength(trieNode.prefix)] = [];
}
this.queues[stringLength(trieNode.prefix)].push(trieNode);
}
// 按照优先级插入 pattern
}, {
key: "insertPattern",
value: function insertPattern(patterns, pattern) {
for (var i = patterns.length - 1; i >= 0; i--) {
var _pattern = patterns[i];
if (pattern.priority === _pattern.priority && pattern.probability >= _pattern.probability) {
patterns[i + 1] = _pattern;
} else if (pattern.priority > _pattern.priority) {
patterns[i + 1] = _pattern;
} else {
patterns[i + 1] = pattern;
return;
}
}
patterns[0] = pattern;
}
}, {
key: "removeDict",
value: function removeDict(dictName) {
if (this.dictMap.has(dictName)) {
var set = this.dictMap.get(dictName);
set.forEach(function (pattern) {
pattern.node.patterns = pattern.node.patterns.filter(function (_pattern) {
return _pattern !== pattern;
});
});
this.dictMap.delete(dictName);
}
}
// 搜索字符串返回匹配的模式串
}, {
key: "match",
value: function match(text, surname) {
var _this = this;
var cur = this.root;
var result = [];
var zhChars = splitString(text);
var _loop = function _loop(i) {
var c = zhChars[i];
while (cur !== null && !cur.children.has(c)) {
cur = cur.fail;
}
if (cur === null) {
cur = _this.root;
} else {
cur = cur.children.get(c);
var pattern = cur.patterns.find(function (item) {
if (surname === "off") {
return item.priority !== Priority.Surname;
} else if (surname === "head") {
return item.length - 1 - i === 0;
} else {
return true;
}
});
if (pattern) {
result.push(Object.assign(Object.assign({}, pattern), {
index: i - pattern.length + 1
}));
}
var failNode = cur.fail;
while (failNode !== null) {
var _pattern2 = failNode.patterns.find(function (item) {
if (surname === "off") {
return item.priority !== Priority.Surname;
} else if (surname === "head") {
return item.length - 1 - i === 0;
} else {
return true;
}
});
if (_pattern2) {
result.push(Object.assign(Object.assign({}, _pattern2), {
index: i - _pattern2.length + 1
}));
}
failNode = failNode.fail;
}
}
};
for (var i = 0; i < zhChars.length; i++) {
_loop(i);
}
return result;
}
}, {
key: "search",
value: function search(text, surname) {
var algorithm = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
var patterns = this.match(text, surname);
if (algorithm === 1 /* TokenizationAlgorithm.ReverseMaxMatch */) {
return reverseMaxMatch(patterns);
} else if (algorithm === 3 /* TokenizationAlgorithm.MinTokenization */) {
return minTokenization(patterns, stringLength(text));
}
return maxProbability(patterns, stringLength(text));
}
}]);
return AC;
}(); // 常规匹配
var PatternsNormal = [].concat((0, _toConsumableArray2.default)(Pattern5), (0, _toConsumableArray2.default)(Pattern4), (0, _toConsumableArray2.default)(Pattern3), (0, _toConsumableArray2.default)(Pattern2), (0, _toConsumableArray2.default)(PatternNumberDict), (0, _toConsumableArray2.default)(PatternSurname));
var acTree = new AC();
acTree.build(PatternsNormal);
var customDict = {};
var customMultipleDict = new FastDictFactory();
var customPolyphonicDict = new FastDictFactory();
var CustomDictName = Symbol('custom');
/**
* @description: 用户自定义拼音
* @param {{ [key: string]: string }} config 用户自定义的拼音映射(支持汉字、词语、句子的映射),若匹配到该映射,优先将汉字转换为该映射
* @param {CustomPinyinOptions} options multiple/polyphonic 对于 customPinyin 补充词汇的处理
*/
function customPinyin() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var options = arguments.length > 1 ? arguments[1] : undefined;
var words = Object.keys(config).sort(function (word1, word2) {
return stringLength(word2) - stringLength(word1);
});
words.forEach(function (word) {
customDict[word] = config[word];
});
var customPatterns = Object.keys(customDict).map(function (word) {
return {
zh: word,
pinyin: customDict[word],
probability: 1 /* Probability.Custom */ + stringLength(word),
length: stringLength(word),
priority: Priority.Custom,
dict: CustomDictName
};
});
acTree.build(customPatterns);
// add words for multiple and polyphonic
if (options === null || options === void 0 ? void 0 : options.multiple) {
addCustomConfigToDict(config, customMultipleDict, options.multiple);
}
if (options === null || options === void 0 ? void 0 : options.polyphonic) {
addCustomConfigToDict(config, customPolyphonicDict, options.polyphonic);
}
}
function addCustomConfigToDict(config, dict, handleType) {
var _loop2 = function _loop2(word) {
var pinyins = config[word];
splitString(word).forEach(function (char, index) {
var pinyin = pinyins.split(' ')[index] || '';
if (handleType === 'replace' || handleType === 'add' && !dict.get(char) && !DICT1.get(char)) {
// 直接覆盖原词典
dict.set(char, pinyin);
} else {
// 补充至原词典
dict.set(char, dict.get(char) || DICT1.get(char));
if (!dict.get(char).split(' ').includes(pinyin)) {
dict.set(char, "".concat(dict.get(char), " ").concat(pinyin).trim());
}
}
});
};
for (var word in config) {
_loop2(word);
}
}
var getCustomMultpileDict = function getCustomMultpileDict() {
return customMultipleDict;
};
var getCustomPolyphonicDict = function getCustomPolyphonicDict() {
return customPolyphonicDict;
};
function clearCustomDict(dict) {
if (dict === 'pinyin' || dict.indexOf('pinyin') !== -1) {
Object.keys(customDict).forEach(function (word) {
delete customDict[word];
});
acTree.removeDict(CustomDictName);
}
if (dict === 'multiple' || dict.indexOf('multiple') !== -1) {
customMultipleDict.clear();
}
if (dict === 'polyphonic' || dict.indexOf('polyphonic') !== -1) {
customPolyphonicDict.clear();
}
}
var getSingleWordPinyin = function getSingleWordPinyin(char) {
var pinyin = DICT1.get(char);
// 若查到, 则返回第一个拼音; 若未查到, 返回原字符
return pinyin ? pinyin.split(" ")[0] : char;
};
var getPinyin = function getPinyin(word, list, surname, segmentit) {
var matches = acTree.search(word, surname, segmentit);
var matchIndex = 0;
var zhChars = splitString(word);
for (var i = 0; i < zhChars.length;) {
var _match = matches[matchIndex];
if (_match && i === _match.index) {
if (_match.length === 1 && _match.priority <= Priority.Normal) {
var char = zhChars[i];
var _pinyin4 = "";
_pinyin4 = processSepecialPinyin(char, zhChars[i - 1], zhChars[i + 1]);
list[i] = {
origin: char,
result: _pinyin4,
isZh: _pinyin4 !== char,
originPinyin: _pinyin4
};
i++;
matchIndex++;
continue;
}
var pinyins = _match.pinyin.split(" ");
var pinyinIndex = 0;
for (var j = 0; j < _match.length; j++) {
var _zhChars = splitString(_match.zh);
list[i + j] = {
origin: _zhChars[j],
result: pinyins[pinyinIndex],
isZh: true,
originPinyin: pinyins[pinyinIndex]
};
pinyinIndex++;
}
i += _match.length;
matchIndex++;
} else {
var _char = zhChars[i];
var _pinyin5 = "";
_pinyin5 = processSepecialPinyin(_char, zhChars[i - 1], zhChars[i + 1]);
list[i] = {
origin: _char,
result: _pinyin5,
isZh: _pinyin5 !== _char,
originPinyin: _pinyin5
};
i++;
}
}
return {
list: list,
matches: matches
};
};
var getPinyinWithoutTone = function getPinyinWithoutTone(pinyin) {
return pinyin.replace(/(ā|á|ǎ|à)/g, "a").replace(/(ō|ó|ǒ|ò)/g, "o").replace(/(ē|é|ě|è)/g, "e").replace(/(ī|í|ǐ|ì)/g, "i").replace(/(ū|ú|ǔ|ù)/g, "u").replace(/(ǖ|ǘ|ǚ|ǜ)/g, "ü").replace(/(n̄|ń|ň|ǹ)/g, "n").replace(/(m̄|ḿ|m̌|m̀)/g, "m").replace(/(ê̄|ế|ê̌|ề)/g, "ê");
};
var getAllPinyin = function getAllPinyin(char) {
var surname = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "off";
var customMultpileDict = getCustomMultpileDict();
var pinyin = DICT1.get(char) ? DICT1.get(char).split(" ") : [];
if (customMultpileDict.get(char)) {
pinyin = customMultpileDict.get(char).split(" ");
} else if (surname !== "off") {
var surnamePinyin = Surnames[char];
if (surnamePinyin) {
pinyin = [surnamePinyin].concat(pinyin.filter(function (py) {
return py !== surnamePinyin;
}));
}
}
return pinyin;
};
var getMultiplePinyin = function getMultiplePinyin(word) {
var surname = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "off";
var pinyin = getAllPinyin(word, surname);
if (pinyin.length > 0) {
return pinyin.map(function (value) {
return {
origin: word,
result: value,
isZh: true,
originPinyin: value
};
});
} else {
return [{
origin: word,
result: word,
isZh: false,
originPinyin: word
}];
}
};
var getInitialAndFinal = function getInitialAndFinal(pinyin) {
var pinyin_arr = pinyin.split(" ");
var initial_arr = [];
var final_arr = [];
var _iterator3 = _createForOfIteratorHelper(pinyin_arr),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var _pinyin = _step3.value;
var _iterator4 = _createForOfIteratorHelper(InitialList),
_step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
var _initial = _step4.value;
if (_pinyin.startsWith(_initial)) {
var _final = _pinyin.slice(_initial.length);
if (SpecialInitialList.indexOf(_initial) !== -1 && SpecialFinalList.indexOf(_final) !== -1) {
// 针对 jqx 的 u 特殊处理
_final = SpecialFinalMap[_final];
}
initial_arr.push(_initial);
final_arr.push(_final);
break;
}
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
return {
final: final_arr.join(" "),
initial: initial_arr.join(" ") // 声母
};
};
exports.getInitialAndFinal = getInitialAndFinal;
var getFinalParts = function getFinalParts(pinyin) {
var _getInitialAndFinal = getInitialAndFinal(pinyin),
final = _getInitialAndFinal.final;
var head = "",
body = "",
tail = "";
if (doubleFinalList.indexOf(getPinyinWithoutTone(final)) !== -1) {
head = final[0];
body = final[1];
tail = final.slice(2);
} else {
body = final[0] || "";
tail = final.slice(1) || "";
}
return {
head: head,
body: body,
tail: tail
};
};
exports.getFinalParts = getFinalParts;
var getNumOfTone = function getNumOfTone(pinyin) {
var reg_tone1 = /(ā|ō|ē|ī|ū|ǖ|n̄|m̄|ê̄)/;
var reg_tone2 = /(á|ó|é|í|ú|ǘ|ń|ḿ|ế)/;
var reg_tone3 = /(ǎ|ǒ|ě|ǐ|ǔ|ǚ|ň|m̌|ê̌)/;
var reg_tone4 = /(à|ò|è|ì|ù|ǜ|ǹ|m̀|ề)/;
var reg_tone0 = /(a|o|e|i|u|ü|ê)/;
var special_tone = /(n|m)$/;
var tone_num_arr = [];
var pinyin_arr = pinyin.split(" ");
pinyin_arr.forEach(function (_pinyin) {
if (reg_tone1.test(_pinyin)) {
tone_num_arr.push("1");
} else if (reg_tone2.test(_pinyin)) {
tone_num_arr.push("2");
} else if (reg_tone3.test(_pinyin)) {
tone_num_arr.push("3");
} else if (reg_tone4.test(_pinyin)) {
tone_num_arr.push("4");
} else if (reg_tone0.test(_pinyin)) {
tone_num_arr.push("0");
} else if (special_tone.test(_pinyin)) {
tone_num_arr.push("0");
} else {
tone_num_arr.push("");
}
});
return tone_num_arr.join(" ");
};
exports.getNumOfTone = getNumOfTone;
var getPinyinWithNum = function getPinyinWithNum(pinyin, originPinyin) {
var pinyin_arr = getPinyinWithoutTone(pinyin).split(" ");
var tone_num_arr = getNumOfTone(originPinyin).split(" ");
var res_arr = [];
pinyin_arr.forEach(function (item, index) {
res_arr.push("".concat(item).concat(tone_num_arr[index]));
});
return res_arr.join(" ");
};
var getFirstLetter = function getFirstLetter(pinyin, isZh) {
var first_letter_arr = [];
var pinyin_arr = pinyin.split(" ");
pinyin_arr.forEach(function (pinyin) {
first_letter_arr.push(isZh ? pinyin[0] : pinyin);
});
return first_letter_arr.join(" ");
};
// 验证输入是否为字符串
var validateType = function validateType(word) {
if (typeof word !== "string") {
console.error("The first param of pinyin is error: " + word + ' is not assignable to type "string".');
return false;
} else {
return true;
}
};
function isNonZhScope(char, scope) {
if (scope instanceof RegExp) {
return scope.test(char);
}
return true;
}
// nonZh 属性处理
var middleWareNonZh = function middleWareNonZh(list, options) {
var nonZh = options.nonZh;
if (nonZh === "removed") {
return list.filter(function (item) {
return item.isZh || !isNonZhScope(item.origin, options.nonZhScope);
});
} else if (nonZh === "consecutive") {
for (var i = list.length - 2; i >= 0; i--) {
var cur = list[i];
var pre = list[i + 1];
if (!cur.isZh && !pre.isZh && isNonZhScope(cur.origin, options.nonZhScope) && isNonZhScope(pre.origin, options.nonZhScope)) {
cur.origin += pre.origin;
cur.result += pre.result;
pre.delete = true;
}
}
return list.filter(function (item) {
return !item.delete;
});
} else {
return list;
}
};
// multiple 属性处理
var middlewareMultiple = function middlewareMultiple(word, options) {
if (stringLength(word) === 1 && options.multiple) {
return getMultiplePinyin(word, options.surname);
} else {
return false;
}
};
// pattern 属性处理
var middlewarePattern = function middlewarePattern(list, options) {
switch (options.pattern) {
case "pinyin":
break;
case "num":
list.forEach(function (item) {
item.result = item.isZh ? getNumOfTone(item.result) : "";
});
break;
case "initial":
list.forEach(function (item) {
item.result = item.isZh ? getInitialAndFinal(item.result).initial : "";
});
break;
case "final":
list.forEach(function (item) {
item.result = item.isZh ? getInitialAndFinal(item.result).final : "";
});
break;
case "first":
list.forEach(function (item) {
item.result = getFirstLetter(item.result, item.isZh);
});
break;
case "finalHead":
list.forEach(function (item) {
item.result = item.isZh ? getFinalParts(item.result).head : "";
});
break;
case "finalBody":
list.forEach(function (item) {
item.result = item.isZh ? getFinalParts(item.result).body : "";
});
break;
case "finalTail":
list.forEach(function (item) {
item.result = item.isZh ? getFinalParts(item.result).tail : "";
});
break;
}
};
// toneType 属性处理
var middlewareToneType = function middlewareToneType(list, options) {
switch (options.toneType) {
case "symbol":
break;
case "none":
list.forEach(function (item) {
if (item.isZh) {
item.result = getPinyinWithoutTone(item.result);
}
});
break;
case "num":
{
list.forEach(function (item) {
if (item.isZh) {
item.result = getPinyinWithNum(item.result, item.originPinyin);
}
});
break;
}
}
};
// v 属性处理
var middlewareV = function middlewareV(list, options) {
if (options.v) {
list.forEach(function (item) {
if (item.isZh) {
item.result = item.result.replace(/ü/g, "v");
}
});
}
};
// type 属性处理
var middlewareType = function middlewareType(list, options, word) {
if (options.multiple && stringLength(word) === 1) {
var last = "";
list = list.filter(function (item) {
var res = item.result !== last;
last = item.result;
return res;
});
}
if (options.type === "array") {
return list.map(function (item) {
return item.result;
});
}
if (options.type === "all") {
return list.map(function (item) {
var pinyin = item.isZh ? item.result : "";
var _getInitialAndFinal2 = getInitialAndFinal(pinyin),
initial = _getInitialAndFinal2.initial,
final = _getInitialAndFinal2.final;
var _getFinalParts = getFinalParts(pinyin),
head = _getFinalParts.head,
body = _getFinalParts.body,
tail = _getFinalParts.tail;
var polyphonic = [];
if (pinyin !== "") {
polyphonic = [pinyin].concat(getAllPinyin(item.origin, options.surname).filter(function (item) {
return item !== pinyin;
}));
}
return {
origin: item.origin,
pinyin: pinyin,
initial: initial,
final: final,
first: getFirstLetter(item.result, item.isZh),
finalHead: head,
finalBody: body,
finalTail: tail,
num: Number(getNumOfTone(item.originPinyin)),
isZh: item.isZh,
polyphonic: polyphonic,
inZhRange: !!DICT1.get(item.origin),
result: item.result
};
});
}
return list.map(function (item) {
return item.result;
}).join(options.separator);
};
// 是否开启变调
var middlewareToneSandhi = function middlewareToneSandhi(list, toneSandhi) {
if (toneSandhi === false) {
list.forEach(function (item) {
if (item.origin === "一") {
item.result = item.originPinyin = "yī";
} else if (item.origin === "不") {
item.result = item.originPinyin = "bù";
}
});
}
return list;
};
var DEFAULT_OPTIONS$2 = {
pattern: "pinyin",
toneType: "symbol",
type: "string",
multiple: false,
mode: "normal",
removeNonZh: false,
nonZh: "spaced",
v: false,
separator: " ",
toneSandhi: true,
segmentit: 2 /* TokenizationAlgorithm.MaxProbability */
};
/**
* @description: 获取汉语字符串的拼音
* @param {string} word 要转换的汉语字符串
* @param {CompleteOptions=} options 配置项
* @return {string | string[] | AllData[]} options.type 为 string 时,返回字符串,中间用空格隔开;为 array 时,返回拼音字符串数组;为 all 时返回全部信息的数组
*/
function pinyin(word, options) {
options = Object.assign(Object.assign({}, DEFAULT_OPTIONS$2), options || {});
// 校验 word 类型是否正确
var legal = validateType(word);
if (!legal) {
return word;
}
// 传入空字符串
if (word === "") {
return options.type === "array" || options.type === "all" ? [] : "";
}
if (options.surname === undefined) {
if (options.mode === "surname") {
options.surname = "all";
} else {
options.surname = "off";
}
}
if (options.type === "all") {
options.pattern = "pinyin";
}
if (options.pattern === "num") {
options.toneType = "none";
}
if (options.removeNonZh) {
options.nonZh = "removed";
}
var _list = Array(stringLength(word));
var _getPinyin = getPinyin(word, _list, options.surname, options.segmentit),
list = _getPinyin.list;
// 一和不变调处理
list = middlewareToneSandhi(list, options.toneSandhi);
// nonZh 参数及 removeNonZh 参数
list = middleWareNonZh(list, options);
// multiple 参数
if (middlewareMultiple(word, options)) {
list = middlewareMultiple(word, options);
}
// pattern 参数
middlewarePattern(list, options);
// toneType参数处理
middlewareToneType(list, options);
// v参数处理
middlewareV(list, options);
// type 参数处理
return middlewareType(list, options, word);
}
var DefaultName = Symbol("default");
var originDictMap = new Map();
function addDict(dict, options) {
var patterns = [];
// string 类型时:options 为 name()
var name = (0, _typeof2.default)(options) === "object" ? options.name : options;
var dictName = name || DefaultName;
var dict1Handle = (options === null || options === void 0 ? void 0 : options.dict1) || "add";
for (var word in dict) {
var value = dict[word];
var _pinyin6 = Array.isArray(value) ? value[0] : value;
var wordLength = stringLength(word);
if (wordLength === 1) {
addToOriginDict(dictName, word, _pinyin6, dict1Handle);
}
if (Array.isArray(value)) {
patterns.push({
zh: word,
pinyin: _pinyin6,
probability: typeof value[1] === "number" ? value[1] : 2e-8 /* Probability.DICT */ * wordLength * wordLength,
length: wordLength,
priority: Priority.Normal,
dict: dictName,
pos: typeof value[2] === "string" ? value[2] : ""
});
} else {
patterns.push({
zh: word,
pinyin: _pinyin6,
probability: 2e-8 /* Probability.DICT */ * wordLength * wordLength,
length: wordLength,
priority: Priority.Normal,
dict: dictName
});
}
}
acTree.build(patterns);
}
function removeDict(dictName) {
acTree.removeDict(dictName || DefaultName);
removeOriginDict(dictName || DefaultName);
}
function addToOriginDict(dict, char, pinyin) {
var handle = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "add";
if (!originDictMap.get(dict)) {
originDictMap.set(dict, {});
}
var originDict = originDictMap.get(dict);
if (!originDict[char]) {
originDict[char] = DICT1.get(char);
}
if (handle === "add") {
var existedPinyin = DICT1.get(char);
if (existedPinyin && !existedPinyin.split(' ').includes(pinyin)) {
DICT1.set(char, "".concat(existedPinyin, " ").concat(pinyin));
} else if (!DICT1.get(char)) {
DICT1.set(char, pinyin);
}
} else if (handle === "replace") {
DICT1.set(char, pinyin);
}
}
function removeOriginDict(dict) {
var originDict = originDictMap.get(dict) || {};
for (var char in originDict) {
DICT1.set(char, originDict[char]);
delete originDict[char];
}
}
var DefaultMatchOptions = {
precision: "first",
continuous: false,
space: "ignore",
lastPrecision: "start",
insensitive: true,
v: false
};
var MAX_PINYIN_LENGTH = 6;
/**
* @description: 检测汉语字符串和拼音是否匹配
* @param {string} text 汉语字符串
* @param {string} pinyin 拼音,支持各种缩写形式
* @param {MatchOptions=} options 配置项
* @return {Array | null} 若匹配成功,返回 text 中匹配成功的下标数组;若匹配失败,返回 null
*/
var match = function match(text, pinyin, options) {
if ((options === null || options === void 0 ? void 0 : options.precision) === "any") {
options.lastPrecision = "any";
}
if (options === null || options === void 0 ? void 0 : options.v) {
pinyin = pinyin.replace(/ü/g, "v");
}
var completeOptions = Object.assign(Object.assign({}, DefaultMatchOptions), options || {});
// 是否大小写不敏感
if (completeOptions.insensitive !== false) {
text = text.toLowerCase();
pinyin = pinyin.toLowerCase();
}
// 移除空格
if (completeOptions.space === "ignore") {
pinyin = pinyin.replace(/\s/g, "");
}
var result = (options === null || options === void 0 ? void 0 : options.precision) === "any" ? matchAny(text, pinyin, completeOptions) : matchAboveStart(text, pinyin, completeOptions);
return processDoubleUnicodeIndex(text, result);
};
// 检测两个拼音最大的匹配长度
exports.match = match;
var getMatchLength = function getMatchLength(pinyin1, pinyin2) {
var length = 0;
for (var i = 0; i < pinyin1.length; i++) {
if (pinyin1[i] === pinyin2[length]) {
length++;
}
}
return length;
};
var matchAny = function matchAny(text, pinyin$1, options) {
var result = [];
var words = splitString(text);
var ignoreSpace = options.space === "ignore";
var _loop3 = function _loop3(i) {
// 空格字符
if (ignoreSpace && words[i] === " ") {
result.push(i);
return "continue";
}
// 是否为中文匹配
if (words[i] === pinyin$1[0]) {
pinyin$1 = pinyin$1.slice(1);
result.push(i);
return "continue";
}
// 当前字的多音字拼音
var ps = pinyin(words[i], {
toneType: "none",
multiple: true,
type: "array",
v: options.v
});
var currentLength = 0;
ps.forEach(function (p) {
var length = getMatchLength(p, pinyin$1);
if (length > currentLength) {
currentLength = length;
}
});
if (currentLength) {
pinyin$1 = pinyin$1.slice(currentLength);
result.push(i);
}
if (!pinyin$1) {
return "break";
}
};
for (var i = 0; i < words.length; i++) {
var _ret = _loop3(i);
if (_ret === "continue") continue;
if (_ret === "break") break;
}
// 未匹配完
if (pinyin$1) {
return null;
}
// 是否连续
if (options.continuous) {
var _result = result;
var isNotContinuous = result.some(function (val, index) {
return index > 0 && val !== _result[index - 1] + 1;
});
if (isNotContinuous) {
return null;
}
}
if (options.space === "ignore") {
result = result.filter(function (i) {
return words[i] !== " ";
});
}
return result.length ? result : null;
};
var matchAboveStart = function matchAboveStart(text, pinyin$1, options) {
var words = splitString(text);
// 二维数组 dp[i][j],i 表示遍历到的 text 索引+1, j 表示遍历到的 pinyin 的索引+1
var dp = Array(words.length + 1);
// 使用哨兵初始化 dp
for (var i = 0; i < dp.length; i++) {
dp[i] = Array(pinyin$1.length + 1);
dp[i][0] = [];
}
for (var _i = 0; _i < dp[0].length; _i++) {
dp[0][_i] = [];
}
// 动态规划匹配
var _loop4 = function _loop4(_i2) {
// options.continuous 为 false 或 options.space 为 ignore 且当前为空格时,第 i 个字可以不参与匹配
if (!options.continuous || options.space == "ignore" && words[_i2 - 1] === " ") {
for (var j = 1; j <= pinyin$1.length; j++) {
dp[_i2][j - 1] = dp[_i2 - 1][j - 1];
}
}
// 第 i 个字参与匹配
var _loop5 = function _loop5(_j) {
if (!dp[_i2 - 1][_j - 1]) {
// 第 i - 1 已经匹配失败,停止向后匹配
return "continue";
} else if (_j !== 1 && !dp[_i2 - 1][_j - 1].length) {
// 非开头且前面的字符未匹配完成,停止向后匹配
return "continue";
} else {
var muls = pinyin(words[_i2 - 1], {
type: "array",
toneType: "none",
multiple: true,
v: options.v
});
// 非中文匹配
if (words[_i2 - 1] === pinyin$1[_j - 1]) {
var matches = [].concat((0, _toConsumableArray2.default)(dp[_i2 - 1][_j - 1]), [_i2 - 1]);
// 记录最长的可匹配下标数组
if (!dp[_i2][_j] || matches.length > dp[_i2][_j].length) {
dp[_i2][_j] = matches;
}
// pinyin 参数完全匹配完成,记录结果
if (_j === pinyin$1.length) {
return {
v: {
v: dp[_i2][_j]
}
};
}
}
// 剩余长度小于等于 MAX_PINYIN_LENGTH(6) 时,有可能是最后一个拼音了
if (pinyin$1.length - _j <= MAX_PINYIN_LENGTH) {
// lastPrecision 参数处理
var last = muls.some(function (py) {
if (options.lastPrecision === "any") {
return py.includes(pinyin$1.slice(_j - 1, pinyin$1.length));
}
if (options.lastPrecision === "start") {
return py.startsWith(pinyin$1.slice(_j - 1, pinyin$1.length));
}
if (options.lastPrecision === "first") {
return py[0] === pinyin$1.slice(_j - 1, pinyin$1.length);
}
if (options.lastPrecision === "every") {
return py === pinyin$1.slice(_j - 1, pinyin$1.length);
}
return false;
});
if (last) {
return {
v: {
v: [].concat((0, _toConsumableArray2.default)(dp[_i2 - 1][_j - 1]), [_i2 - 1])
}
};
}
}
var precision = options.precision;
// precision 为 start 时,匹配开头
if (precision === "start") {
muls.forEach(function (py) {
var end = _j;
var matches = [].concat((0, _toConsumableArray2.default)(dp[_i2 - 1][_j - 1]), [_i2 - 1]);
while (end <= pinyin$1.length && py.startsWith(pinyin$1.slice(_j - 1, end))) {
if (!dp[_i2][end] || matches.length > dp[_i2][end].length) {
dp[_i2][end] = matches;
}
end++;
}
});
}
// precision 为 first 时,匹配首字母
if (precision === "first") {
if (muls.some(function (py) {
return py[0] === pinyin$1[_j - 1];
})) {
var _matches = [].concat((0, _toConsumableArray2.default)(dp[_i2 - 1][_j - 1]), [_i2 - 1]);
// 记录最长的可匹配下标数组
if (!dp[_i2][_j] || _matches.length > dp[_i2][_j].length) {
dp[_i2][_j] = _matches;
}
}
}
// 匹配当前汉字的完整拼音
var completeMatch = muls.find(function (py) {
return py === pinyin$1.slice(_j - 1, _j - 1 + py.length);
});
if (completeMatch) {
var _matches2 = [].concat((0, _toConsumableArray2.default)(dp[_i2 - 1][_j - 1]), [_i2 - 1]);
var endIndex = _j - 1 + completeMatch.length;
// 记录最长的可匹配下标数组
if (!dp[_i2][endIndex] || _matches2.length > dp[_i2][endIndex].length) {
dp[_i2][endIndex] = _matches2;
}
}
}
};
for (var _j = 1; _j <= pinyin$1.length; _j++) {
var _ret3 = _loop5(_j);
if (_ret3 === "continue") continue;
if ((0, _typeof2.default)(_ret3) === "object") return _ret3.v;
}
};
for (var _i2 = 1; _i2 < dp.length; _i2++) {
var _ret2 = _loop4(_i2);
if ((0, _typeof2.default)(_ret2) === "object") return _ret2.v;
}
return null;
};
// 对于双字节的字符,需要将 index 顺延 +1
function processDoubleUnicodeIndex(text, indexArray) {
if (!indexArray) {
return null;
}
var result = [];
var doubleUnicodeCount = 0;
var words = splitString(text);
var i = 0;
for (var j = 0; j < indexArray.length; j++) {
var curIndex = indexArray[j];
while (i <= curIndex) {
if (words[i].length === 2) {
doubleUnicodeCount++;
}
i++;
}
var realIndex = curIndex + doubleUnicodeCount;
if (words[curIndex].length === 2) {
result.push(realIndex - 1, realIndex);
} else {
result.push(realIndex);
}
}
return result;
}
var DefaultHtmlOptions = {
resultClass: 'py-result-item',
chineseClass: 'py-chinese-item',
pinyinClass: 'py-pinyin-item',
nonChineseClass: 'py-non-chinese-item',
wrapNonChinese: false,
toneType: 'symbol',
customClassMap: {},
toneSandhi: true,
rp: true
};
/**
* @description: 获取带拼音汉字的 html 字符串
* @param {string} text 要转换的字符串
* @param {HtmlOptions=} options html 中标签类名相关配置
* @return {string} 带汉字的拼音字符串
*/
var html = function html(text, options) {
var completeOptions = Object.assign(Object.assign({}, DefaultHtmlOptions), options || {});
var pinyinArray = pinyin(text, {
type: 'all',
toneType: completeOptions.toneType,
toneSandhi: options === null || options === void 0 ? void 0 : options.toneSandhi
});
var result = pinyinArray.map(function (item) {
var additionalClass = '';
for (var classname in completeOptions.customClassMap) {
var dict = completeOptions.customClassMap[classname];
if (dict.includes(item.origin)) {
additionalClass += " ".concat(classname);
}
}
if (item.isZh) {
// 汉字字符处理
var resultClass = completeOptions.resultClass || DefaultHtmlOptions.resultClass;
var chineseClass = completeOptions.chineseClass || DefaultHtmlOptions.chineseClass;
var pinyinClass = completeOptions.pinyinClass || DefaultHtmlOptions.pinyinClass;
return "").concat(item.origin, "").concat(completeOptions.rp ? '' : '', "").concat(completeOptions.rp ? '' : '', "");
} else {
// 非汉字字符处理
if (completeOptions.wrapNonChinese) {
var nonChineseClass = completeOptions.nonChineseClass || DefaultHtmlOptions.nonChineseClass;
return "").concat(item.origin, "");
} else {
return item.origin;
}
}
});
return result.join('');
};
exports.html = html;
var DEFAULT_OPTIONS$1 = {
pattern: 'pinyin',
toneType: 'symbol',
type: 'string',
v: false,
nonZh: 'spaced'
};
/**
* @description: 获取每个汉字的所有读音
* @param {string} text 要转换的汉语字符串
* @param {CompleteOptions=} options 配置项
* @return {string[] | string[][] | AllData[][]} options.type 为 string 时,返回字符串数组,中间用空格隔开;为 array 时,返回二维拼音字符串数组;为 all 时返回二维全部信息的数组
*/
function polyphonic(text) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_OPTIONS$1;
// 校验 text 类型是否正确
var legal = validateType(text);
if (!legal) {
return [];
}
// 传入空字符串
if (text === '') {
return [];
}
if (options.type === 'all') {
options.pattern = 'pinyin';
}
if (options.pattern === 'num') {
options.toneType = 'none';
}
var list = getPolyphonicList(text);
// nonZh 参数及 removeNonZh 参数
list = middleWareNonZh(list, options);
var doubleList = getSplittedPolyphonicList(list);
// pattern 参数
doubleList.forEach(function (list) {
middlewarePattern(list, options);
});
// toneType参数处理
doubleList.forEach(function (list) {
middlewareToneType(list, options);
});
// v参数处理
doubleList.forEach(function (list) {
middlewareV(list, options);
});
// type 参数处理
var result = doubleList.map(function (list) {
return handleType(list, options);
});
return result;
}
// 获取每个字多音字的数组
var getPolyphonicList = function getPolyphonicList(text) {
return splitString(text).map(function (char) {
var customPolyphonicDict = getCustomPolyphonicDict();
var pinyin = customPolyphonicDict.get(char) || DICT1.get(char) || char;
return {
origin: char,
result: pinyin,
isZh: pinyin !== char,
originPinyin: pinyin
};
});
};
// 将多音字每个读音都单独切为一个数组项
var getSplittedPolyphonicList = function getSplittedPolyphonicList(list) {
return list.map(function (item) {
return item.isZh ? item.result.split(' ').map(function (pinyin) {
return {
origin: item.origin,
result: pinyin,
isZh: true,
originPinyin: pinyin
};
}) : [item];
});
};
// type 属性处理
var handleType = function handleType(list, options) {
if (options.type === 'array') {
return Array.from(new Set(list.map(function (item) {
return item.result;
})));
}
if (options.type === 'all') {
return list.map(function (item) {
var pinyin = item.isZh ? item.result : '';
var _getInitialAndFinal3 = getInitialAndFinal(pinyin),
initial = _getInitialAndFinal3.initial,
final = _getInitialAndFinal3.final;
var _getFinalParts2 = getFinalParts(pinyin),
head = _getFinalParts2.head,
body = _getFinalParts2.body,
tail = _getFinalParts2.tail;
return {
origin: item.origin,
pinyin: pinyin,
initial: initial,
final: final,
first: getFirstLetter(item.result, item.isZh),
finalHead: head,
finalBody: body,
finalTail: tail,
num: Number(getNumOfTone(item.originPinyin)),
isZh: item.isZh,
inZhRange: !!DICT1.get(item.origin)
};
});
}
return Array.from(new Set(list.map(function (item) {
return item.result;
}))).join(' ');
};
var DefaultConvertOptions = {
separator: ' ',
format: 'numToSymbol'
};
var toneMap = {
a: ['a', 'ā', 'á', 'ǎ', 'à'],
o: ['o', 'ō', 'ó', 'ǒ', 'ò'],
e: ['e', 'ē', 'é', 'ě', 'è'],
ü: ['ü', 'ǖ', 'ǘ', 'ǚ', 'ǜ'],
v: ['ü', 'ǖ', 'ǘ', 'ǚ', 'ǜ'],
ui: ['ui', 'uī', 'uí', 'uǐ', 'uì'],
iu: ['iu', 'iū', 'iú', 'iǔ', 'iù'],
i: ['i', 'ī', 'í', 'ǐ', 'ì'],
u: ['u', 'ū', 'ú', 'ǔ', 'ù'],
n: ['n', 'n̄', 'ń', 'ň', 'ǹ'],
m: ['m', 'm̄', 'ḿ', 'm̌', 'm̀'],
ê: ['ê', 'ê̄', 'ế', 'ê̌', 'ề']
};
/**
* @description: 拼音格式转换。pin1 yin1 -> pīn yīn 或 pīn yīn -> pin1 yin1 或 pīn yīn -> pin yin
* @param {string | string[]} pinyin 要转换的拼音字符串或者拼音字符串数组
* @param {ConvertOptions=} options 配置项
* @return {string | string[]} 转换后的拼音字符串或者拼音字符串数组
*/
function convert(pinyin, options) {
options = Object.assign(Object.assign({}, DefaultConvertOptions), options || {});
var originType = (0, _typeof2.default)(pinyin);
if (typeof pinyin === 'string') {
pinyin = pinyin.split(options.separator);
}
pinyin = pinyin.map(function (item) {
var format = options.format;
if (format === 'numToSymbol') {
return formatNumToSymbol(item);
} else if (format === 'symbolToNum') {
return formatSymbolToNum(item);
} else if (format === 'toneNone') {
return formatToneNone(item);
}
return item;
});
if (originType === 'string') {
return pinyin.join(options.separator);
} else {
return pinyin;
}
}
function formatNumToSymbol(pinyin) {
var lastChar = Number(pinyin[pinyin.length - 1]);
if (lastChar >= 0 && lastChar <= 4) {
for (var key in toneMap) {
if (pinyin.includes(key)) {
return pinyin.slice(0, pinyin.length - 1).replace(key, toneMap[key][lastChar]);
}
}
return pinyin;
} else {
return pinyin;
}
}
function formatSymbolToNum(pinyin) {
return "".concat(getPinyinWithoutTone(pinyin)).concat(getNumOfTone(pinyin));
}
function formatToneNone(pinyin) {
return getPinyinWithoutTone(pinyin);
}
var OutputFormat;
exports.OutputFormat = OutputFormat;
(function (OutputFormat) {
OutputFormat[OutputFormat["AllSegment"] = 1] = "AllSegment";
OutputFormat[OutputFormat["AllArray"] = 2] = "AllArray";
OutputFormat[OutputFormat["AllString"] = 3] = "AllString";
OutputFormat[OutputFormat["PinyinSegment"] = 4] = "PinyinSegment";
OutputFormat[OutputFormat["PinyinArray"] = 5] = "PinyinArray";
OutputFormat[OutputFormat["PinyinString"] = 6] = "PinyinString";
OutputFormat[OutputFormat["ZhSegment"] = 7] = "ZhSegment";
OutputFormat[OutputFormat["ZhArray"] = 8] = "ZhArray";
OutputFormat[OutputFormat["ZhString"] = 9] = "ZhString";
})(OutputFormat || (exports.OutputFormat = OutputFormat = {}));
function middlewareSegment(list, matches) {
var segments = [];
var i = 0;
var j = 0;
while (i < list.length && j < matches.length) {
var _match2 = matches[j];
var item = list[i];
if (_match2.zh.startsWith(item.origin)) {
var start = i;
var chars = splitString(_match2.zh);
var cur = start + 1;
while (cur < list.length && list[cur].origin === chars[cur - start]) {
cur++;
}
var _segment = list.slice(start, cur);
segments.push({
segment: _segment.map(function (item) {
return {
origin: item.origin,
result: item.result
};
}),
isZh: true
});
i += cur - start;
j++;
} else {
segments.push({
segment: [{
origin: item.origin,
result: item.result
}],
isZh: false
});
i++;
}
}
while (i < list.length) {
var _item = list[i];
segments.push({
segment: [{
origin: _item.origin,
result: _item.result
}],
isZh: false
});
i++;
}
return segments;
}
function middlewareOutputFormat(segments, options) {
var _options$format = options.format,
format = _options$format === void 0 ? OutputFormat.AllSegment : _options$format,
_options$separator = options.separator,
separator = _options$separator === void 0 ? ' ' : _options$separator;
if (format === OutputFormat.AllSegment) {
return segments.map(function (item) {
return {
origin: item.segment.map(function (item) {
return item.origin;
}).join(''),
result: item.segment.map(function (item) {
return item.result;
}).join('')
};
});
} else if (format === OutputFormat.AllArray) {
return segments.map(function (item) {
return item.segment;
});
} else if (format === OutputFormat.AllString) {
var list = segments.map(function (item) {
return {
origin: item.segment.map(function (item) {
return item.origin;
}).join(''),
result: item.segment.map(function (item) {
return item.result;
}).join('')
};
});
return {
origin: list.map(function (item) {
return item.origin;
}).join(separator),
result: list.map(function (item) {
return item.result;
}).join(separator)
};
} else if (format === OutputFormat.PinyinSegment) {
return segments.map(function (item) {
return item.segment.map(function (item) {
return item.result;
}).join('');
});
} else if (format === OutputFormat.PinyinArray) {
return segments.map(function (item) {
return item.segment.map(function (item) {
return item.result;
});
});
} else if (format === OutputFormat.PinyinString) {
return segments.map(function (item) {
return item.segment.map(function (item) {
return item.result;
}).join('');
}).join(separator);
} else if (format === OutputFormat.ZhSegment) {
return segments.map(function (item) {
return item.segment.map(function (item) {
return item.origin;
}).join('');
});
} else if (format === OutputFormat.ZhArray) {
return segments.map(function (item) {
return item.segment.map(function (item) {
return item.origin;
});
});
} else if (format === OutputFormat.ZhString) {
return segments.map(function (item) {
return item.segment.map(function (item) {
return item.origin;
}).join('');
}).join(separator);
}
}
var DEFAULT_OPTIONS = {
toneType: "symbol",
mode: "normal",
nonZh: "spaced",
v: false,
separator: " ",
toneSandhi: true,
segmentit: 2 /* TokenizationAlgorithm.MaxProbability */,
format: OutputFormat.AllSegment
};
function segment(word, options) {
options = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options || {});
// 校验 word 类型是否正确
var legal = validateType(word);
if (!legal) {
return word;
}
if (options.surname === undefined) {
if (options.mode === "surname") {
options.surname = "all";
} else {
options.surname = "off";
}
}
var _list = Array(stringLength(word));
var _getPinyin2 = getPinyin(word, _list, options.surname, options.segmentit),
list = _getPinyin2.list,
matches = _getPinyin2.matches;
// 一和不变调处理
list = middlewareToneSandhi(list, options.toneSandhi);
// nonZh
list = middleWareNonZh(list, options);
// toneType参数处理
middlewareToneType(list, options);
// v参数处理
middlewareV(list, options);
var segments = middlewareSegment(list, matches);
return middlewareOutputFormat(segments, {
format: options.format,
separator: options.separator
});
}
/***/ }),
/***/ 19:
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
\******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ 9);
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return arrayLikeToArray(arr);
}
module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 2:
/*!************************************************************!*\
!*** ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, global) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createApp = createApp;
exports.createComponent = createComponent;
exports.createPage = createPage;
exports.createPlugin = createPlugin;
exports.createSubpackageApp = createSubpackageApp;
exports.default = void 0;
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
var _construct2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/construct */ 15));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 18));
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
var _uniI18n = __webpack_require__(/*! @dcloudio/uni-i18n */ 22);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var realAtob;
var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
var b64re = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;
if (typeof atob !== 'function') {
realAtob = function realAtob(str) {
str = String(str).replace(/[\t\n\f\r ]+/g, '');
if (!b64re.test(str)) {
throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");
}
// Adding the padding if missing, for semplicity
str += '=='.slice(2 - (str.length & 3));
var bitmap;
var result = '';
var r1;
var r2;
var i = 0;
for (; i < str.length;) {
bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 | (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));
result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255) : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255) : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);
}
return result;
};
} else {
// 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法
realAtob = atob;
}
function b64DecodeUnicode(str) {
return decodeURIComponent(realAtob(str).split('').map(function (c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
function getCurrentUserInfo() {
var token = wx.getStorageSync('uni_id_token') || '';
var tokenArr = token.split('.');
if (!token || tokenArr.length !== 3) {
return {
uid: null,
role: [],
permission: [],
tokenExpired: 0
};
}
var userInfo;
try {
userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));
} catch (error) {
throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message);
}
userInfo.tokenExpired = userInfo.exp * 1000;
delete userInfo.exp;
delete userInfo.iat;
return userInfo;
}
function uniIdMixin(Vue) {
Vue.prototype.uniIDHasRole = function (roleId) {
var _getCurrentUserInfo = getCurrentUserInfo(),
role = _getCurrentUserInfo.role;
return role.indexOf(roleId) > -1;
};
Vue.prototype.uniIDHasPermission = function (permissionId) {
var _getCurrentUserInfo2 = getCurrentUserInfo(),
permission = _getCurrentUserInfo2.permission;
return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1;
};
Vue.prototype.uniIDTokenValid = function () {
var _getCurrentUserInfo3 = getCurrentUserInfo(),
tokenExpired = _getCurrentUserInfo3.tokenExpired;
return tokenExpired > Date.now();
};
}
var _toString = Object.prototype.toString;
var hasOwnProperty = Object.prototype.hasOwnProperty;
function isFn(fn) {
return typeof fn === 'function';
}
function isStr(str) {
return typeof str === 'string';
}
function isObject(obj) {
return obj !== null && (0, _typeof2.default)(obj) === 'object';
}
function isPlainObject(obj) {
return _toString.call(obj) === '[object Object]';
}
function hasOwn(obj, key) {
return hasOwnProperty.call(obj, key);
}
function noop() {}
/**
* Create a cached version of a pure function.
*/
function cached(fn) {
var cache = Object.create(null);
return function cachedFn(str) {
var hit = cache[str];
return hit || (cache[str] = fn(str));
};
}
/**
* Camelize a hyphen-delimited string.
*/
var camelizeRE = /-(\w)/g;
var camelize = cached(function (str) {
return str.replace(camelizeRE, function (_, c) {
return c ? c.toUpperCase() : '';
});
});
function sortObject(obj) {
var sortObj = {};
if (isPlainObject(obj)) {
Object.keys(obj).sort().forEach(function (key) {
sortObj[key] = obj[key];
});
}
return !Object.keys(sortObj) ? obj : sortObj;
}
var HOOKS = ['invoke', 'success', 'fail', 'complete', 'returnValue'];
var globalInterceptors = {};
var scopedInterceptors = {};
function mergeHook(parentVal, childVal) {
var res = childVal ? parentVal ? parentVal.concat(childVal) : Array.isArray(childVal) ? childVal : [childVal] : parentVal;
return res ? dedupeHooks(res) : res;
}
function dedupeHooks(hooks) {
var res = [];
for (var i = 0; i < hooks.length; i++) {
if (res.indexOf(hooks[i]) === -1) {
res.push(hooks[i]);
}
}
return res;
}
function removeHook(hooks, hook) {
var index = hooks.indexOf(hook);
if (index !== -1) {
hooks.splice(index, 1);
}
}
function mergeInterceptorHook(interceptor, option) {
Object.keys(option).forEach(function (hook) {
if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {
interceptor[hook] = mergeHook(interceptor[hook], option[hook]);
}
});
}
function removeInterceptorHook(interceptor, option) {
if (!interceptor || !option) {
return;
}
Object.keys(option).forEach(function (hook) {
if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {
removeHook(interceptor[hook], option[hook]);
}
});
}
function addInterceptor(method, option) {
if (typeof method === 'string' && isPlainObject(option)) {
mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);
} else if (isPlainObject(method)) {
mergeInterceptorHook(globalInterceptors, method);
}
}
function removeInterceptor(method, option) {
if (typeof method === 'string') {
if (isPlainObject(option)) {
removeInterceptorHook(scopedInterceptors[method], option);
} else {
delete scopedInterceptors[method];
}
} else if (isPlainObject(method)) {
removeInterceptorHook(globalInterceptors, method);
}
}
function wrapperHook(hook, params) {
return function (data) {
return hook(data, params) || data;
};
}
function isPromise(obj) {
return !!obj && ((0, _typeof2.default)(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
}
function queue(hooks, data, params) {
var promise = false;
for (var i = 0; i < hooks.length; i++) {
var hook = hooks[i];
if (promise) {
promise = Promise.resolve(wrapperHook(hook, params));
} else {
var res = hook(data, params);
if (isPromise(res)) {
promise = Promise.resolve(res);
}
if (res === false) {
return {
then: function then() {}
};
}
}
}
return promise || {
then: function then(callback) {
return callback(data);
}
};
}
function wrapperOptions(interceptor) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
['success', 'fail', 'complete'].forEach(function (name) {
if (Array.isArray(interceptor[name])) {
var oldCallback = options[name];
options[name] = function callbackInterceptor(res) {
queue(interceptor[name], res, options).then(function (res) {
/* eslint-disable no-mixed-operators */
return isFn(oldCallback) && oldCallback(res) || res;
});
};
}
});
return options;
}
function wrapperReturnValue(method, returnValue) {
var returnValueHooks = [];
if (Array.isArray(globalInterceptors.returnValue)) {
returnValueHooks.push.apply(returnValueHooks, (0, _toConsumableArray2.default)(globalInterceptors.returnValue));
}
var interceptor = scopedInterceptors[method];
if (interceptor && Array.isArray(interceptor.returnValue)) {
returnValueHooks.push.apply(returnValueHooks, (0, _toConsumableArray2.default)(interceptor.returnValue));
}
returnValueHooks.forEach(function (hook) {
returnValue = hook(returnValue) || returnValue;
});
return returnValue;
}
function getApiInterceptorHooks(method) {
var interceptor = Object.create(null);
Object.keys(globalInterceptors).forEach(function (hook) {
if (hook !== 'returnValue') {
interceptor[hook] = globalInterceptors[hook].slice();
}
});
var scopedInterceptor = scopedInterceptors[method];
if (scopedInterceptor) {
Object.keys(scopedInterceptor).forEach(function (hook) {
if (hook !== 'returnValue') {
interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);
}
});
}
return interceptor;
}
function invokeApi(method, api, options) {
for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
params[_key - 3] = arguments[_key];
}
var interceptor = getApiInterceptorHooks(method);
if (interceptor && Object.keys(interceptor).length) {
if (Array.isArray(interceptor.invoke)) {
var res = queue(interceptor.invoke, options);
return res.then(function (options) {
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return api.apply(void 0, [wrapperOptions(getApiInterceptorHooks(method), options)].concat(params));
});
} else {
return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params));
}
}
return api.apply(void 0, [options].concat(params));
}
var promiseInterceptor = {
returnValue: function returnValue(res) {
if (!isPromise(res)) {
return res;
}
return new Promise(function (resolve, reject) {
res.then(function (res) {
if (!res) {
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/;
var CONTEXT_API_RE = /^create|Manager$/;
// Context例外情况
var CONTEXT_API_RE_EXC = ['createBLEConnection'];
// 同步例外情况
var ASYNC_API = ['createBLEConnection', 'createPushMessage'];
var CALLBACK_API_RE = /^on|^off/;
function isContextApi(name) {
return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1;
}
function isSyncApi(name) {
return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1;
}
function isCallbackApi(name) {
return CALLBACK_API_RE.test(name) && name !== 'onPush';
}
function handlePromise(promise) {
return promise.then(function (data) {
return [null, data];
}).catch(function (err) {
return [err];
});
}
function shouldPromise(name) {
if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) {
return false;
}
return true;
}
/* eslint-disable no-extend-native */
if (!Promise.prototype.finally) {
Promise.prototype.finally = function (callback) {
var promise = this.constructor;
return this.then(function (value) {
return promise.resolve(callback()).then(function () {
return value;
});
}, function (reason) {
return promise.resolve(callback()).then(function () {
throw reason;
});
});
};
}
function promisify(name, api) {
if (!shouldPromise(name) || !isFn(api)) {
return api;
}
return function promiseApi() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
params[_key2 - 1] = arguments[_key2];
}
if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {
return wrapperReturnValue(name, invokeApi.apply(void 0, [name, api, options].concat(params)));
}
return wrapperReturnValue(name, handlePromise(new Promise(function (resolve, reject) {
invokeApi.apply(void 0, [name, api, Object.assign({}, options, {
success: resolve,
fail: reject
})].concat(params));
})));
};
}
var EPS = 1e-4;
var BASE_DEVICE_WIDTH = 750;
var isIOS = false;
var deviceWidth = 0;
var deviceDPR = 0;
function checkDeviceWidth() {
var 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__6019061",
appName: "ZHSQ",
appVersion: "1.0.0",
appVersionCode: "100",
appLanguage: getAppLanguage(hostLanguage),
uniCompileVersion: "4.64",
uniCompilerVersion: "4.64",
uniRuntimeVersion: "4.64",
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__6019061",
appName: "ZHSQ",
appVersion: "1.0.0",
appVersionCode: "100",
appLanguage: getAppLanguage(hostLanguage),
hostVersion: version,
hostLanguage: hostLanguage,
hostName: _hostName,
hostSDKVersion: SDKVersion,
hostTheme: theme,
isUniAppX: false,
uniPlatform: undefined || "mp-weixin",
uniCompileVersion: "4.64",
uniCompilerVersion: "4.64",
uniRuntimeVersion: "4.64"
}));
}
};
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":"ZHSQ","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;
/***/ }),
/***/ 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;
/***/ }),
/***/ 212:
/*!*********************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/kitchen.js ***!
\*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
shopList: '/api/v1/wechat/shop/shop_list',
// 获取厨房信息
balance: '/api/v1/wechat/shop/user_balance',
// 用户余额
pay: '/api/v1/wechat/shop/shop_pay',
// 支付
recharge: '/api/v1/wechat/shop/recharge' // 充值
};
exports.apiArr = apiArr;
/***/ }),
/***/ 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)))
/***/ }),
/***/ 229:
/*!*****************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/pay.js ***!
\*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiPay = void 0;
var apiPay = {
pay: '/api/v1/lakala/preorder',
//预下单
queryPay: '/api/v1/lakala/trade-query' //查询交易结果
};
exports.apiPay = apiPay;
/***/ }),
/***/ 23:
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 24:
/*!************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 12);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
Object.defineProperty(Constructor, "prototype", {
writable: false
});
return Constructor;
}
module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 246:
/*!*************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/v2Community.js ***!
\*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
getCommunityList: "/api/v2/wechat/community-room/list",
//小区房源列表
getCommunityInfo: "/api/v2/wechat/community-room/info",
//小区房源详情
workOrderCategoryCrudList: '/api/v2/wechat/work-order-category-crud/list',
// 工单分类信息列表
workOrderCrudCreat: '/api/v2/wechat/work-order-crud/creat',
// 报事报修工单信息创建
getWorkOrderCrudList: '/api/v2/wechat/work-order-crud/page',
// 报事报修工单信息分页
workOrderCrudInfo: '/api/v2/wechat/work-order-crud/info',
// 报事报修工单信息详情
workMasterLick: '/api/v2/wechat/community-worker/list',
// 获取小区员工列表
workOrderCrudDispatch: '/api/v2/wechat/work-order-crud/dispatch',
// 人员派单
workOrderCrudAccept: '/api/v2/wechat/work-order-crud/accept',
// 人员接单
workOrderCrudUpdate: '/api/v2/wechat/work-order-crud/worker/update' // 工作人员更新工单
};
exports.apiArr = apiArr;
/***/ }),
/***/ 25:
/*!******************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***!
\******************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* WEBPACK VAR INJECTION */(function(global) {/*!
* Vue.js v2.6.11
* (c) 2014-2024 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.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. , , v-for, or when the children is provided by user
// with hand-written render functions / JSX. In such cases a full normalization
// is needed to cater to all possible types of children values.
function normalizeChildren (children) {
return isPrimitive(children)
? [createTextVNode(children)]
: Array.isArray(children)
? normalizeArrayChildren(children)
: undefined
}
function isTextNode (node) {
return isDef(node) && isDef(node.text) && isFalse(node.isComment)
}
function normalizeArrayChildren (children, nestedIndex) {
var res = [];
var i, c, lastIndex, last;
for (i = 0; i < children.length; i++) {
c = children[i];
if (isUndef(c) || typeof c === 'boolean') { continue }
lastIndex = res.length - 1;
last = res[lastIndex];
// nested
if (Array.isArray(c)) {
if (c.length > 0) {
c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i));
// merge adjacent text nodes
if (isTextNode(c[0]) && isTextNode(last)) {
res[lastIndex] = createTextVNode(last.text + (c[0]).text);
c.shift();
}
res.push.apply(res, c);
}
} else if (isPrimitive(c)) {
if (isTextNode(last)) {
// merge adjacent text nodes
// this is necessary for SSR hydration because text nodes are
// essentially merged when rendered to HTML strings
res[lastIndex] = createTextVNode(last.text + c);
} else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
}
} else {
if (isTextNode(c) && isTextNode(last)) {
// merge adjacent text nodes
res[lastIndex] = createTextVNode(last.text + c.text);
} else {
// default key for nested array children (likely generated by v-for)
if (isTrue(children._isVList) &&
isDef(c.tag) &&
isUndef(c.key) &&
isDef(nestedIndex)) {
c.key = "__vlist" + nestedIndex + "_" + i + "__";
}
res.push(c);
}
}
}
return res
}
/* */
function initProvide (vm) {
var provide = vm.$options.provide;
if (provide) {
vm._provided = typeof provide === 'function'
? provide.call(vm)
: provide;
}
}
function initInjections (vm) {
var result = resolveInject(vm.$options.inject, vm);
if (result) {
toggleObserving(false);
Object.keys(result).forEach(function (key) {
/* istanbul ignore else */
if (true) {
defineReactive$$1(vm, key, result[key], function () {
warn(
"Avoid mutating an injected value directly since the changes will be " +
"overwritten whenever the provided component re-renders. " +
"injection being mutated: \"" + key + "\"",
vm
);
});
} else {}
});
toggleObserving(true);
}
}
function resolveInject (inject, vm) {
if (inject) {
// inject is :any because flow is not smart enough to figure out cached
var result = Object.create(null);
var keys = hasSymbol
? Reflect.ownKeys(inject)
: Object.keys(inject);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
// #6574 in case the inject object is observed...
if (key === '__ob__') { continue }
var provideKey = inject[key].from;
var source = vm;
while (source) {
if (source._provided && hasOwn(source._provided, provideKey)) {
result[key] = source._provided[provideKey];
break
}
source = source.$parent;
}
if (!source) {
if ('default' in inject[key]) {
var provideDefault = inject[key].default;
result[key] = typeof provideDefault === 'function'
? provideDefault.call(vm)
: provideDefault;
} else if (true) {
warn(("Injection \"" + key + "\" not found"), vm);
}
}
}
return result
}
}
/* */
/**
* Runtime helper for resolving raw children VNodes into a slot object.
*/
function resolveSlots (
children,
context
) {
if (!children || !children.length) {
return {}
}
var slots = {};
for (var i = 0, l = children.length; i < l; i++) {
var child = children[i];
var data = child.data;
// remove slot attribute if the node is resolved as a Vue slot node
if (data && data.attrs && data.attrs.slot) {
delete data.attrs.slot;
}
// named slots should only be respected if the vnode was rendered in the
// same context.
if ((child.context === context || child.fnContext === context) &&
data && data.slot != null
) {
var name = data.slot;
var slot = (slots[name] || (slots[name] = []));
if (child.tag === 'template') {
slot.push.apply(slot, child.children || []);
} else {
slot.push(child);
}
} else {
// fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page
if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){
(slots['page'] || (slots['page'] = [])).push(child);
}else{
(slots.default || (slots.default = [])).push(child);
}
}
}
// ignore slots that contains only whitespace
for (var name$1 in slots) {
if (slots[name$1].every(isWhitespace)) {
delete slots[name$1];
}
}
return slots
}
function isWhitespace (node) {
return (node.isComment && !node.asyncFactory) || node.text === ' '
}
/* */
function normalizeScopedSlots (
slots,
normalSlots,
prevSlots
) {
var res;
var hasNormalSlots = Object.keys(normalSlots).length > 0;
var isStable = slots ? !!slots.$stable : !hasNormalSlots;
var key = slots && slots.$key;
if (!slots) {
res = {};
} else if (slots._normalized) {
// fast path 1: child component re-render only, parent did not change
return slots._normalized
} else if (
isStable &&
prevSlots &&
prevSlots !== emptyObject &&
key === prevSlots.$key &&
!hasNormalSlots &&
!prevSlots.$hasNormal
) {
// fast path 2: stable scoped slots w/ no normal slots to proxy,
// only need to normalize once
return prevSlots
} else {
res = {};
for (var key$1 in slots) {
if (slots[key$1] && key$1[0] !== '$') {
res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);
}
}
}
// expose normal slots on scopedSlots
for (var key$2 in normalSlots) {
if (!(key$2 in res)) {
res[key$2] = proxyNormalSlot(normalSlots, key$2);
}
}
// avoriaz seems to mock a non-extensible $scopedSlots object
// and when that is passed down this would cause an error
if (slots && Object.isExtensible(slots)) {
(slots)._normalized = res;
}
def(res, '$stable', isStable);
def(res, '$key', key);
def(res, '$hasNormal', hasNormalSlots);
return res
}
function normalizeScopedSlot(normalSlots, key, fn) {
var normalized = function () {
var res = arguments.length ? fn.apply(null, arguments) : fn({});
res = res && typeof res === 'object' && !Array.isArray(res)
? [res] // single vnode
: normalizeChildren(res);
return res && (
res.length === 0 ||
(res.length === 1 && res[0].isComment) // #9658
) ? undefined
: res
};
// this is a slot using the new v-slot syntax without scope. although it is
// compiled as a scoped slot, render fn users would expect it to be present
// on this.$slots because the usage is semantically a normal slot.
if (fn.proxy) {
Object.defineProperty(normalSlots, key, {
get: normalized,
enumerable: true,
configurable: true
});
}
return normalized
}
function proxyNormalSlot(slots, key) {
return function () { return slots[key]; }
}
/* */
/**
* Runtime helper for rendering v-for lists.
*/
function renderList (
val,
render
) {
var ret, i, l, keys, key;
if (Array.isArray(val) || typeof val === 'string') {
ret = new Array(val.length);
for (i = 0, l = val.length; i < l; i++) {
ret[i] = render(val[i], i, i, i); // fixed by xxxxxx
}
} else if (typeof val === 'number') {
ret = new Array(val);
for (i = 0; i < val; i++) {
ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx
}
} else if (isObject(val)) {
if (hasSymbol && val[Symbol.iterator]) {
ret = [];
var iterator = val[Symbol.iterator]();
var result = iterator.next();
while (!result.done) {
ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx
result = iterator.next();
}
} else {
keys = Object.keys(val);
ret = new Array(keys.length);
for (i = 0, l = keys.length; i < l; i++) {
key = keys[i];
ret[i] = render(val[key], key, i, i); // fixed by xxxxxx
}
}
}
if (!isDef(ret)) {
ret = [];
}
(ret)._isVList = true;
return ret
}
/* */
/**
* Runtime helper for rendering
*/
function renderSlot (
name,
fallback,
props,
bindObject
) {
var scopedSlotFn = this.$scopedSlots[name];
var nodes;
if (scopedSlotFn) { // scoped slot
props = props || {};
if (bindObject) {
if ( true && !isObject(bindObject)) {
warn(
'slot v-bind without argument expects an Object',
this
);
}
props = extend(extend({}, bindObject), props);
}
// fixed by xxxxxx app-plus scopedSlot
nodes = scopedSlotFn(props, this, props._i) || fallback;
} else {
nodes = this.$slots[name] || fallback;
}
var target = props && props.slot;
if (target) {
return this.$createElement('template', { slot: target }, nodes)
} else {
return nodes
}
}
/* */
/**
* Runtime helper for resolving filters
*/
function resolveFilter (id) {
return resolveAsset(this.$options, 'filters', id, true) || identity
}
/* */
function isKeyNotMatch (expect, actual) {
if (Array.isArray(expect)) {
return expect.indexOf(actual) === -1
} else {
return expect !== actual
}
}
/**
* Runtime helper for checking keyCodes from config.
* exposed as Vue.prototype._k
* passing in eventKeyName as last argument separately for backwards compat
*/
function checkKeyCodes (
eventKeyCode,
key,
builtInKeyCode,
eventKeyName,
builtInKeyName
) {
var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;
if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {
return isKeyNotMatch(builtInKeyName, eventKeyName)
} else if (mappedKeyCode) {
return isKeyNotMatch(mappedKeyCode, eventKeyCode)
} else if (eventKeyName) {
return hyphenate(eventKeyName) !== key
}
}
/* */
/**
* Runtime helper for merging v-bind="object" into a VNode's data.
*/
function bindObjectProps (
data,
tag,
value,
asProp,
isSync
) {
if (value) {
if (!isObject(value)) {
true && warn(
'v-bind without argument expects an Object or Array value',
this
);
} else {
if (Array.isArray(value)) {
value = toObject(value);
}
var hash;
var loop = function ( key ) {
if (
key === 'class' ||
key === 'style' ||
isReservedAttribute(key)
) {
hash = data;
} else {
var type = data.attrs && data.attrs.type;
hash = asProp || config.mustUseProp(tag, type, key)
? data.domProps || (data.domProps = {})
: data.attrs || (data.attrs = {});
}
var camelizedKey = camelize(key);
var hyphenatedKey = hyphenate(key);
if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
hash[key] = value[key];
if (isSync) {
var on = data.on || (data.on = {});
on[("update:" + key)] = function ($event) {
value[key] = $event;
};
}
}
};
for (var key in value) loop( key );
}
}
return data
}
/* */
/**
* Runtime helper for rendering static trees.
*/
function renderStatic (
index,
isInFor
) {
var cached = this._staticTrees || (this._staticTrees = []);
var tree = cached[index];
// if has already-rendered static tree and not inside v-for,
// we can reuse the same tree.
if (tree && !isInFor) {
return tree
}
// otherwise, render a fresh tree.
tree = cached[index] = this.$options.staticRenderFns[index].call(
this._renderProxy,
null,
this // for render fns generated for functional component templates
);
markStatic(tree, ("__static__" + index), false);
return tree
}
/**
* Runtime helper for v-once.
* Effectively it means marking the node as static with a unique key.
*/
function markOnce (
tree,
index,
key
) {
markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
return tree
}
function markStatic (
tree,
key,
isOnce
) {
if (Array.isArray(tree)) {
for (var i = 0; i < tree.length; i++) {
if (tree[i] && typeof tree[i] !== 'string') {
markStaticNode(tree[i], (key + "_" + i), isOnce);
}
}
} else {
markStaticNode(tree, key, isOnce);
}
}
function markStaticNode (node, key, isOnce) {
node.isStatic = true;
node.key = key;
node.isOnce = isOnce;
}
/* */
function bindObjectListeners (data, value) {
if (value) {
if (!isPlainObject(value)) {
true && warn(
'v-on without argument expects an Object value',
this
);
} else {
var on = data.on = data.on ? extend({}, data.on) : {};
for (var key in value) {
var existing = on[key];
var ours = value[key];
on[key] = existing ? [].concat(existing, ours) : ours;
}
}
}
return data
}
/* */
function resolveScopedSlots (
fns, // see flow/vnode
res,
// the following are added in 2.6
hasDynamicKeys,
contentHashKey
) {
res = res || { $stable: !hasDynamicKeys };
for (var i = 0; i < fns.length; i++) {
var slot = fns[i];
if (Array.isArray(slot)) {
resolveScopedSlots(slot, res, hasDynamicKeys);
} else if (slot) {
// marker for reverse proxying v-slot without scope on this.$slots
if (slot.proxy) {
slot.fn.proxy = true;
}
res[slot.key] = slot.fn;
}
}
if (contentHashKey) {
(res).$key = contentHashKey;
}
return res
}
/* */
function bindDynamicKeys (baseObj, values) {
for (var i = 0; i < values.length; i += 2) {
var key = values[i];
if (typeof key === 'string' && key) {
baseObj[values[i]] = values[i + 1];
} else if ( true && key !== '' && key !== null) {
// null is a special value for explicitly removing a binding
warn(
("Invalid value for dynamic directive argument (expected string or null): " + key),
this
);
}
}
return baseObj
}
// helper to dynamically append modifier runtime markers to event names.
// ensure only append when value is already string, otherwise it will be cast
// to string and cause the type check to miss.
function prependModifier (value, symbol) {
return typeof value === 'string' ? symbol + value : value
}
/* */
function installRenderHelpers (target) {
target._o = markOnce;
target._n = toNumber;
target._s = toString;
target._l = renderList;
target._t = renderSlot;
target._q = looseEqual;
target._i = looseIndexOf;
target._m = renderStatic;
target._f = resolveFilter;
target._k = checkKeyCodes;
target._b = bindObjectProps;
target._v = createTextVNode;
target._e = createEmptyVNode;
target._u = resolveScopedSlots;
target._g = bindObjectListeners;
target._d = bindDynamicKeys;
target._p = prependModifier;
}
/* */
function FunctionalRenderContext (
data,
props,
children,
parent,
Ctor
) {
var this$1 = this;
var options = Ctor.options;
// ensure the createElement function in functional components
// gets a unique context - this is necessary for correct named slot check
var contextVm;
if (hasOwn(parent, '_uid')) {
contextVm = Object.create(parent);
// $flow-disable-line
contextVm._original = parent;
} else {
// the context vm passed in is a functional context as well.
// in this case we want to make sure we are able to get a hold to the
// real context instance.
contextVm = parent;
// $flow-disable-line
parent = parent._original;
}
var isCompiled = isTrue(options._compiled);
var needNormalization = !isCompiled;
this.data = data;
this.props = props;
this.children = children;
this.parent = parent;
this.listeners = data.on || emptyObject;
this.injections = resolveInject(options.inject, parent);
this.slots = function () {
if (!this$1.$slots) {
normalizeScopedSlots(
data.scopedSlots,
this$1.$slots = resolveSlots(children, parent)
);
}
return this$1.$slots
};
Object.defineProperty(this, 'scopedSlots', ({
enumerable: true,
get: function get () {
return normalizeScopedSlots(data.scopedSlots, this.slots())
}
}));
// support for compiled functional template
if (isCompiled) {
// exposing $options for renderStatic()
this.$options = options;
// pre-resolve slots for renderSlot()
this.$slots = this.slots();
this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);
}
if (options._scopeId) {
this._c = function (a, b, c, d) {
var vnode = createElement(contextVm, a, b, c, d, needNormalization);
if (vnode && !Array.isArray(vnode)) {
vnode.fnScopeId = options._scopeId;
vnode.fnContext = parent;
}
return vnode
};
} else {
this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };
}
}
installRenderHelpers(FunctionalRenderContext.prototype);
function createFunctionalComponent (
Ctor,
propsData,
data,
contextVm,
children
) {
var options = Ctor.options;
var props = {};
var propOptions = options.props;
if (isDef(propOptions)) {
for (var key in propOptions) {
props[key] = validateProp(key, propOptions, propsData || emptyObject);
}
} else {
if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
if (isDef(data.props)) { mergeProps(props, data.props); }
}
var renderContext = new FunctionalRenderContext(
data,
props,
children,
contextVm,
Ctor
);
var vnode = options.render.call(null, renderContext._c, renderContext);
if (vnode instanceof VNode) {
return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)
} else if (Array.isArray(vnode)) {
var vnodes = normalizeChildren(vnode) || [];
var res = new Array(vnodes.length);
for (var i = 0; i < vnodes.length; i++) {
res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);
}
return res
}
}
function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {
// #7817 clone node before setting fnContext, otherwise if the node is reused
// (e.g. it was from a cached normal slot) the fnContext causes named slots
// that should not be matched to match.
var clone = cloneVNode(vnode);
clone.fnContext = contextVm;
clone.fnOptions = options;
if (true) {
(clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;
}
if (data.slot) {
(clone.data || (clone.data = {})).slot = data.slot;
}
return clone
}
function mergeProps (to, from) {
for (var key in from) {
to[camelize(key)] = from[key];
}
}
/* */
/* */
/* */
/* */
// inline hooks to be invoked on component VNodes during patch
var componentVNodeHooks = {
init: function init (vnode, hydrating) {
if (
vnode.componentInstance &&
!vnode.componentInstance._isDestroyed &&
vnode.data.keepAlive
) {
// kept-alive components, treat as a patch
var mountedNode = vnode; // work around flow
componentVNodeHooks.prepatch(mountedNode, mountedNode);
} else {
var child = vnode.componentInstance = createComponentInstanceForVnode(
vnode,
activeInstance
);
child.$mount(hydrating ? vnode.elm : undefined, hydrating);
}
},
prepatch: function prepatch (oldVnode, vnode) {
var options = vnode.componentOptions;
var child = vnode.componentInstance = oldVnode.componentInstance;
updateChildComponent(
child,
options.propsData, // updated props
options.listeners, // updated listeners
vnode, // new parent vnode
options.children // new children
);
},
insert: function insert (vnode) {
var context = vnode.context;
var componentInstance = vnode.componentInstance;
if (!componentInstance._isMounted) {
callHook(componentInstance, 'onServiceCreated');
callHook(componentInstance, 'onServiceAttached');
componentInstance._isMounted = true;
callHook(componentInstance, 'mounted');
}
if (vnode.data.keepAlive) {
if (context._isMounted) {
// vue-router#1212
// During updates, a kept-alive component's child components may
// change, so directly walking the tree here may call activated hooks
// on incorrect children. Instead we push them into a queue which will
// be processed after the whole patch process ended.
queueActivatedComponent(componentInstance);
} else {
activateChildComponent(componentInstance, true /* direct */);
}
}
},
destroy: function destroy (vnode) {
var componentInstance = vnode.componentInstance;
if (!componentInstance._isDestroyed) {
if (!vnode.data.keepAlive) {
componentInstance.$destroy();
} else {
deactivateChildComponent(componentInstance, true /* direct */);
}
}
}
};
var hooksToMerge = Object.keys(componentVNodeHooks);
function createComponent (
Ctor,
data,
context,
children,
tag
) {
if (isUndef(Ctor)) {
return
}
var baseCtor = context.$options._base;
// plain options object: turn it into a constructor
if (isObject(Ctor)) {
Ctor = baseCtor.extend(Ctor);
}
// if at this stage it's not a constructor or an async component factory,
// reject.
if (typeof Ctor !== 'function') {
if (true) {
warn(("Invalid Component definition: " + (String(Ctor))), context);
}
return
}
// async component
var asyncFactory;
if (isUndef(Ctor.cid)) {
asyncFactory = Ctor;
Ctor = resolveAsyncComponent(asyncFactory, baseCtor);
if (Ctor === undefined) {
// return a placeholder node for async component, which is rendered
// as a comment node but preserves all the raw information for the node.
// the information will be used for async server-rendering and hydration.
return createAsyncPlaceholder(
asyncFactory,
data,
context,
children,
tag
)
}
}
data = data || {};
// resolve constructor options in case global mixins are applied after
// component constructor creation
resolveConstructorOptions(Ctor);
// transform component v-model data into props & events
if (isDef(data.model)) {
transformModel(Ctor.options, data);
}
// extract props
var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx
// functional component
if (isTrue(Ctor.options.functional)) {
return createFunctionalComponent(Ctor, propsData, data, context, children)
}
// extract listeners, since these needs to be treated as
// child component listeners instead of DOM listeners
var listeners = data.on;
// replace with listeners with .native modifier
// so it gets processed during parent component patch.
data.on = data.nativeOn;
if (isTrue(Ctor.options.abstract)) {
// abstract components do not keep anything
// other than props & listeners & slot
// work around flow
var slot = data.slot;
data = {};
if (slot) {
data.slot = slot;
}
}
// install component management hooks onto the placeholder node
installComponentHooks(data);
// return a placeholder vnode
var name = Ctor.options.name || tag;
var vnode = new VNode(
("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
data, undefined, undefined, undefined, context,
{ Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
asyncFactory
);
return vnode
}
function createComponentInstanceForVnode (
vnode, // we know it's MountedComponentVNode but flow doesn't
parent // activeInstance in lifecycle state
) {
var options = {
_isComponent: true,
_parentVnode: vnode,
parent: parent
};
// check inline-template render functions
var inlineTemplate = vnode.data.inlineTemplate;
if (isDef(inlineTemplate)) {
options.render = inlineTemplate.render;
options.staticRenderFns = inlineTemplate.staticRenderFns;
}
return new vnode.componentOptions.Ctor(options)
}
function installComponentHooks (data) {
var hooks = data.hook || (data.hook = {});
for (var i = 0; i < hooksToMerge.length; i++) {
var key = hooksToMerge[i];
var existing = hooks[key];
var toMerge = componentVNodeHooks[key];
if (existing !== toMerge && !(existing && existing._merged)) {
hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;
}
}
}
function mergeHook$1 (f1, f2) {
var merged = function (a, b) {
// flow complains about extra args which is why we use any
f1(a, b);
f2(a, b);
};
merged._merged = true;
return merged
}
// transform component v-model info (value and callback) into
// prop and event handler respectively.
function transformModel (options, data) {
var prop = (options.model && options.model.prop) || 'value';
var event = (options.model && options.model.event) || 'input'
;(data.attrs || (data.attrs = {}))[prop] = data.model.value;
var on = data.on || (data.on = {});
var existing = on[event];
var callback = data.model.callback;
if (isDef(existing)) {
if (
Array.isArray(existing)
? existing.indexOf(callback) === -1
: existing !== callback
) {
on[event] = [callback].concat(existing);
}
} else {
on[event] = callback;
}
}
/* */
var SIMPLE_NORMALIZE = 1;
var ALWAYS_NORMALIZE = 2;
// wrapper function for providing a more flexible interface
// without getting yelled at by flow
function createElement (
context,
tag,
data,
children,
normalizationType,
alwaysNormalize
) {
if (Array.isArray(data) || isPrimitive(data)) {
normalizationType = children;
children = data;
data = undefined;
}
if (isTrue(alwaysNormalize)) {
normalizationType = ALWAYS_NORMALIZE;
}
return _createElement(context, tag, data, children, normalizationType)
}
function _createElement (
context,
tag,
data,
children,
normalizationType
) {
if (isDef(data) && isDef((data).__ob__)) {
true && warn(
"Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
'Always create fresh vnode data objects in each render!',
context
);
return createEmptyVNode()
}
// object syntax in v-bind
if (isDef(data) && isDef(data.is)) {
tag = data.is;
}
if (!tag) {
// in case of component :is set to falsy value
return createEmptyVNode()
}
// warn against non-primitive key
if ( true &&
isDef(data) && isDef(data.key) && !isPrimitive(data.key)
) {
{
warn(
'Avoid using non-primitive value as key, ' +
'use string/number value instead.',
context
);
}
}
// support single function children as default scoped slot
if (Array.isArray(children) &&
typeof children[0] === 'function'
) {
data = data || {};
data.scopedSlots = { default: children[0] };
children.length = 0;
}
if (normalizationType === ALWAYS_NORMALIZE) {
children = normalizeChildren(children);
} else if (normalizationType === SIMPLE_NORMALIZE) {
children = simpleNormalizeChildren(children);
}
var vnode, ns;
if (typeof tag === 'string') {
var Ctor;
ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);
if (config.isReservedTag(tag)) {
// platform built-in elements
if ( true && isDef(data) && isDef(data.nativeOn)) {
warn(
("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."),
context
);
}
vnode = new VNode(
config.parsePlatformTagName(tag), data, children,
undefined, undefined, context
);
} else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {
// component
vnode = createComponent(Ctor, data, context, children, tag);
} else {
// unknown or unlisted namespaced elements
// check at runtime because it may get assigned a namespace when its
// parent normalizes children
vnode = new VNode(
tag, data, children,
undefined, undefined, context
);
}
} else {
// direct component options / constructor
vnode = createComponent(tag, data, context, children);
}
if (Array.isArray(vnode)) {
return vnode
} else if (isDef(vnode)) {
if (isDef(ns)) { applyNS(vnode, ns); }
if (isDef(data)) { registerDeepBindings(data); }
return vnode
} else {
return createEmptyVNode()
}
}
function applyNS (vnode, ns, force) {
vnode.ns = ns;
if (vnode.tag === 'foreignObject') {
// use default namespace inside foreignObject
ns = undefined;
force = true;
}
if (isDef(vnode.children)) {
for (var i = 0, l = vnode.children.length; i < l; i++) {
var child = vnode.children[i];
if (isDef(child.tag) && (
isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {
applyNS(child, ns, force);
}
}
}
}
// ref #5318
// necessary to ensure parent re-render when deep bindings like :style and
// :class are used on slot nodes
function registerDeepBindings (data) {
if (isObject(data.style)) {
traverse(data.style);
}
if (isObject(data.class)) {
traverse(data.class);
}
}
/* */
function initRender (vm) {
vm._vnode = null; // the root of the child tree
vm._staticTrees = null; // v-once cached trees
var options = vm.$options;
var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree
var renderContext = parentVnode && parentVnode.context;
vm.$slots = resolveSlots(options._renderChildren, renderContext);
vm.$scopedSlots = emptyObject;
// bind the createElement fn to this instance
// so that we get proper render context inside it.
// args order: tag, data, children, normalizationType, alwaysNormalize
// internal version is used by render functions compiled from templates
vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
// normalization is always applied for the public version, used in
// user-written render functions.
vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
// $attrs & $listeners are exposed for easier HOC creation.
// they need to be reactive so that HOCs using them are always updated
var parentData = parentVnode && parentVnode.data;
/* istanbul ignore else */
if (true) {
defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
!isUpdatingChildComponent && warn("$attrs is readonly.", vm);
}, true);
defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {
!isUpdatingChildComponent && warn("$listeners is readonly.", vm);
}, true);
} else {}
}
var currentRenderingInstance = null;
function renderMixin (Vue) {
// install runtime convenience helpers
installRenderHelpers(Vue.prototype);
Vue.prototype.$nextTick = function (fn) {
return nextTick(fn, this)
};
Vue.prototype._render = function () {
var vm = this;
var ref = vm.$options;
var render = ref.render;
var _parentVnode = ref._parentVnode;
if (_parentVnode) {
vm.$scopedSlots = normalizeScopedSlots(
_parentVnode.data.scopedSlots,
vm.$slots,
vm.$scopedSlots
);
}
// set parent vnode. this allows render functions to have access
// to the data on the placeholder node.
vm.$vnode = _parentVnode;
// render self
var vnode;
try {
// There's no need to maintain a stack because all render fns are called
// separately from one another. Nested component's render fns are called
// when parent component is patched.
currentRenderingInstance = vm;
vnode = render.call(vm._renderProxy, vm.$createElement);
} catch (e) {
handleError(e, vm, "render");
// return error render result,
// or previous vnode to prevent render error causing blank component
/* istanbul ignore else */
if ( true && vm.$options.renderError) {
try {
vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
} catch (e) {
handleError(e, vm, "renderError");
vnode = vm._vnode;
}
} else {
vnode = vm._vnode;
}
} finally {
currentRenderingInstance = null;
}
// if the returned array contains only a single node, allow it
if (Array.isArray(vnode) && vnode.length === 1) {
vnode = vnode[0];
}
// return empty vnode in case the render function errored out
if (!(vnode instanceof VNode)) {
if ( true && Array.isArray(vnode)) {
warn(
'Multiple root nodes returned from render function. Render function ' +
'should return a single root node.',
vm
);
}
vnode = createEmptyVNode();
}
// set parent
vnode.parent = _parentVnode;
return vnode
};
}
/* */
function ensureCtor (comp, base) {
if (
comp.__esModule ||
(hasSymbol && comp[Symbol.toStringTag] === 'Module')
) {
comp = comp.default;
}
return isObject(comp)
? base.extend(comp)
: comp
}
function createAsyncPlaceholder (
factory,
data,
context,
children,
tag
) {
var node = createEmptyVNode();
node.asyncFactory = factory;
node.asyncMeta = { data: data, context: context, children: children, tag: tag };
return node
}
function resolveAsyncComponent (
factory,
baseCtor
) {
if (isTrue(factory.error) && isDef(factory.errorComp)) {
return factory.errorComp
}
if (isDef(factory.resolved)) {
return factory.resolved
}
var owner = currentRenderingInstance;
if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
// already pending
factory.owners.push(owner);
}
if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
return factory.loadingComp
}
if (owner && !isDef(factory.owners)) {
var owners = factory.owners = [owner];
var sync = true;
var timerLoading = null;
var timerTimeout = null
;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });
var forceRender = function (renderCompleted) {
for (var i = 0, l = owners.length; i < l; i++) {
(owners[i]).$forceUpdate();
}
if (renderCompleted) {
owners.length = 0;
if (timerLoading !== null) {
clearTimeout(timerLoading);
timerLoading = null;
}
if (timerTimeout !== null) {
clearTimeout(timerTimeout);
timerTimeout = null;
}
}
};
var resolve = once(function (res) {
// cache resolved
factory.resolved = ensureCtor(res, baseCtor);
// invoke callbacks only if this is not a synchronous resolve
// (async resolves are shimmed as synchronous during SSR)
if (!sync) {
forceRender(true);
} else {
owners.length = 0;
}
});
var reject = once(function (reason) {
true && warn(
"Failed to resolve async component: " + (String(factory)) +
(reason ? ("\nReason: " + reason) : '')
);
if (isDef(factory.errorComp)) {
factory.error = true;
forceRender(true);
}
});
var res = factory(resolve, reject);
if (isObject(res)) {
if (isPromise(res)) {
// () => Promise
if (isUndef(factory.resolved)) {
res.then(resolve, reject);
}
} else if (isPromise(res.component)) {
res.component.then(resolve, reject);
if (isDef(res.error)) {
factory.errorComp = ensureCtor(res.error, baseCtor);
}
if (isDef(res.loading)) {
factory.loadingComp = ensureCtor(res.loading, baseCtor);
if (res.delay === 0) {
factory.loading = true;
} else {
timerLoading = setTimeout(function () {
timerLoading = null;
if (isUndef(factory.resolved) && isUndef(factory.error)) {
factory.loading = true;
forceRender(false);
}
}, res.delay || 200);
}
}
if (isDef(res.timeout)) {
timerTimeout = setTimeout(function () {
timerTimeout = null;
if (isUndef(factory.resolved)) {
reject(
true
? ("timeout (" + (res.timeout) + "ms)")
: undefined
);
}
}, res.timeout);
}
}
}
sync = false;
// return in case resolved synchronously
return factory.loading
? factory.loadingComp
: factory.resolved
}
}
/* */
function isAsyncPlaceholder (node) {
return node.isComment && node.asyncFactory
}
/* */
function getFirstComponentChild (children) {
if (Array.isArray(children)) {
for (var i = 0; i < children.length; i++) {
var c = children[i];
if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
return c
}
}
}
}
/* */
/* */
function initEvents (vm) {
vm._events = Object.create(null);
vm._hasHookEvent = false;
// init parent attached events
var listeners = vm.$options._parentListeners;
if (listeners) {
updateComponentListeners(vm, listeners);
}
}
var target;
function add (event, fn) {
target.$on(event, fn);
}
function remove$1 (event, fn) {
target.$off(event, fn);
}
function createOnceHandler (event, fn) {
var _target = target;
return function onceHandler () {
var res = fn.apply(null, arguments);
if (res !== null) {
_target.$off(event, onceHandler);
}
}
}
function updateComponentListeners (
vm,
listeners,
oldListeners
) {
target = vm;
updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);
target = undefined;
}
function eventsMixin (Vue) {
var hookRE = /^hook:/;
Vue.prototype.$on = function (event, fn) {
var vm = this;
if (Array.isArray(event)) {
for (var i = 0, l = event.length; i < l; i++) {
vm.$on(event[i], fn);
}
} else {
(vm._events[event] || (vm._events[event] = [])).push(fn);
// optimize hook:event cost by using a boolean flag marked at registration
// instead of a hash lookup
if (hookRE.test(event)) {
vm._hasHookEvent = true;
}
}
return vm
};
Vue.prototype.$once = function (event, fn) {
var vm = this;
function on () {
vm.$off(event, on);
fn.apply(vm, arguments);
}
on.fn = fn;
vm.$on(event, on);
return vm
};
Vue.prototype.$off = function (event, fn) {
var vm = this;
// all
if (!arguments.length) {
vm._events = Object.create(null);
return vm
}
// array of events
if (Array.isArray(event)) {
for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {
vm.$off(event[i$1], fn);
}
return vm
}
// specific event
var cbs = vm._events[event];
if (!cbs) {
return vm
}
if (!fn) {
vm._events[event] = null;
return vm
}
// specific handler
var cb;
var i = cbs.length;
while (i--) {
cb = cbs[i];
if (cb === fn || cb.fn === fn) {
cbs.splice(i, 1);
break
}
}
return vm
};
Vue.prototype.$emit = function (event) {
var vm = this;
if (true) {
var lowerCaseEvent = event.toLowerCase();
if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
tip(
"Event \"" + lowerCaseEvent + "\" is emitted in component " +
(formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
"Note that HTML attributes are case-insensitive and you cannot use " +
"v-on to listen to camelCase events when using in-DOM templates. " +
"You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
);
}
}
var cbs = vm._events[event];
if (cbs) {
cbs = cbs.length > 1 ? toArray(cbs) : cbs;
var args = toArray(arguments, 1);
var info = "event handler for \"" + event + "\"";
for (var i = 0, l = cbs.length; i < l; i++) {
invokeWithErrorHandling(cbs[i], vm, args, vm, info);
}
}
return vm
};
}
/* */
var activeInstance = null;
var isUpdatingChildComponent = false;
function setActiveInstance(vm) {
var prevActiveInstance = activeInstance;
activeInstance = vm;
return function () {
activeInstance = prevActiveInstance;
}
}
function initLifecycle (vm) {
var options = vm.$options;
// locate first non-abstract parent
var parent = options.parent;
if (parent && !options.abstract) {
while (parent.$options.abstract && parent.$parent) {
parent = parent.$parent;
}
parent.$children.push(vm);
}
vm.$parent = parent;
vm.$root = parent ? parent.$root : vm;
vm.$children = [];
vm.$refs = {};
vm._watcher = null;
vm._inactive = null;
vm._directInactive = false;
vm._isMounted = false;
vm._isDestroyed = false;
vm._isBeingDestroyed = false;
}
function lifecycleMixin (Vue) {
Vue.prototype._update = function (vnode, hydrating) {
var vm = this;
var prevEl = vm.$el;
var prevVnode = vm._vnode;
var restoreActiveInstance = setActiveInstance(vm);
vm._vnode = vnode;
// Vue.prototype.__patch__ is injected in entry points
// based on the rendering backend used.
if (!prevVnode) {
// initial render
vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);
} else {
// updates
vm.$el = vm.__patch__(prevVnode, vnode);
}
restoreActiveInstance();
// update __vue__ reference
if (prevEl) {
prevEl.__vue__ = null;
}
if (vm.$el) {
vm.$el.__vue__ = vm;
}
// if parent is an HOC, update its $el as well
if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
vm.$parent.$el = vm.$el;
}
// updated hook is called by the scheduler to ensure that children are
// updated in a parent's updated hook.
};
Vue.prototype.$forceUpdate = function () {
var vm = this;
if (vm._watcher) {
vm._watcher.update();
}
};
Vue.prototype.$destroy = function () {
var vm = this;
if (vm._isBeingDestroyed) {
return
}
callHook(vm, 'beforeDestroy');
vm._isBeingDestroyed = true;
// remove self from parent
var parent = vm.$parent;
if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
remove(parent.$children, vm);
}
// teardown watchers
if (vm._watcher) {
vm._watcher.teardown();
}
var i = vm._watchers.length;
while (i--) {
vm._watchers[i].teardown();
}
// remove reference from data ob
// frozen object may not have observer.
if (vm._data.__ob__) {
vm._data.__ob__.vmCount--;
}
// call the last hook...
vm._isDestroyed = true;
// invoke destroy hooks on current rendered tree
vm.__patch__(vm._vnode, null);
// fire destroyed hook
callHook(vm, 'destroyed');
// turn off all instance listeners.
vm.$off();
// remove __vue__ reference
if (vm.$el) {
vm.$el.__vue__ = null;
}
// release circular reference (#6759)
if (vm.$vnode) {
vm.$vnode.parent = null;
}
};
}
function updateChildComponent (
vm,
propsData,
listeners,
parentVnode,
renderChildren
) {
if (true) {
isUpdatingChildComponent = true;
}
// determine whether component has slot children
// we need to do this before overwriting $options._renderChildren.
// check if there are dynamic scopedSlots (hand-written or compiled but with
// dynamic slot names). Static scoped slots compiled from template has the
// "$stable" marker.
var newScopedSlots = parentVnode.data.scopedSlots;
var oldScopedSlots = vm.$scopedSlots;
var hasDynamicScopedSlot = !!(
(newScopedSlots && !newScopedSlots.$stable) ||
(oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||
(newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)
);
// Any static slot children from the parent may have changed during parent's
// update. Dynamic scoped slots may also have changed. In such cases, a forced
// update is necessary to ensure correctness.
var needsForceUpdate = !!(
renderChildren || // has new static slots
vm.$options._renderChildren || // has old static slots
hasDynamicScopedSlot
);
vm.$options._parentVnode = parentVnode;
vm.$vnode = parentVnode; // update vm's placeholder node without re-render
if (vm._vnode) { // update child tree's parent
vm._vnode.parent = parentVnode;
}
vm.$options._renderChildren = renderChildren;
// update $attrs and $listeners hash
// these are also reactive so they may trigger child update if the child
// used them during render
vm.$attrs = parentVnode.data.attrs || emptyObject;
vm.$listeners = listeners || emptyObject;
// update props
if (propsData && vm.$options.props) {
toggleObserving(false);
var props = vm._props;
var propKeys = vm.$options._propKeys || [];
for (var i = 0; i < propKeys.length; i++) {
var key = propKeys[i];
var propOptions = vm.$options.props; // wtf flow?
props[key] = validateProp(key, propOptions, propsData, vm);
}
toggleObserving(true);
// keep a copy of raw propsData
vm.$options.propsData = propsData;
}
// fixed by xxxxxx update properties(mp runtime)
vm._$updateProperties && vm._$updateProperties(vm);
// update listeners
listeners = listeners || emptyObject;
var oldListeners = vm.$options._parentListeners;
vm.$options._parentListeners = listeners;
updateComponentListeners(vm, listeners, oldListeners);
// resolve slots + force update if has children
if (needsForceUpdate) {
vm.$slots = resolveSlots(renderChildren, parentVnode.context);
vm.$forceUpdate();
}
if (true) {
isUpdatingChildComponent = false;
}
}
function isInInactiveTree (vm) {
while (vm && (vm = vm.$parent)) {
if (vm._inactive) { return true }
}
return false
}
function activateChildComponent (vm, direct) {
if (direct) {
vm._directInactive = false;
if (isInInactiveTree(vm)) {
return
}
} else if (vm._directInactive) {
return
}
if (vm._inactive || vm._inactive === null) {
vm._inactive = false;
for (var i = 0; i < vm.$children.length; i++) {
activateChildComponent(vm.$children[i]);
}
callHook(vm, 'activated');
}
}
function deactivateChildComponent (vm, direct) {
if (direct) {
vm._directInactive = true;
if (isInInactiveTree(vm)) {
return
}
}
if (!vm._inactive) {
vm._inactive = true;
for (var i = 0; i < vm.$children.length; i++) {
deactivateChildComponent(vm.$children[i]);
}
callHook(vm, 'deactivated');
}
}
function callHook (vm, hook) {
// #7573 disable dep collection when invoking lifecycle hooks
pushTarget();
var handlers = vm.$options[hook];
var info = hook + " hook";
if (handlers) {
for (var i = 0, j = handlers.length; i < j; i++) {
invokeWithErrorHandling(handlers[i], vm, null, vm, info);
}
}
if (vm._hasHookEvent) {
vm.$emit('hook:' + hook);
}
popTarget();
}
/* */
var MAX_UPDATE_COUNT = 100;
var queue = [];
var activatedChildren = [];
var has = {};
var circular = {};
var waiting = false;
var flushing = false;
var index = 0;
/**
* Reset the scheduler's state.
*/
function resetSchedulerState () {
index = queue.length = activatedChildren.length = 0;
has = {};
if (true) {
circular = {};
}
waiting = flushing = false;
}
// Async edge case #6566 requires saving the timestamp when event listeners are
// attached. However, calling performance.now() has a perf overhead especially
// if the page has thousands of event listeners. Instead, we take a timestamp
// every time the scheduler flushes and use that for all event listeners
// attached during that flush.
var currentFlushTimestamp = 0;
// Async edge case fix requires storing an event listener's attach timestamp.
var getNow = Date.now;
// Determine what event timestamp the browser is using. Annoyingly, the
// timestamp can either be hi-res (relative to page load) or low-res
// (relative to UNIX epoch), so in order to compare time we have to use the
// same timestamp type when saving the flush timestamp.
// All IE versions use low-res event timestamps, and have problematic clock
// implementations (#9632)
if (inBrowser && !isIE) {
var performance = window.performance;
if (
performance &&
typeof performance.now === 'function' &&
getNow() > document.createEvent('Event').timeStamp
) {
// if the event timestamp, although evaluated AFTER the Date.now(), is
// smaller than it, it means the event is using a hi-res timestamp,
// and we need to use the hi-res version for event listener timestamps as
// well.
getNow = function () { return performance.now(); };
}
}
/**
* Flush both queues and run the watchers.
*/
function flushSchedulerQueue () {
currentFlushTimestamp = getNow();
flushing = true;
var watcher, id;
// Sort queue before flush.
// This ensures that:
// 1. Components are updated from parent to child. (because parent is always
// created before the child)
// 2. A component's user watchers are run before its render watcher (because
// user watchers are created before the render watcher)
// 3. If a component is destroyed during a parent component's watcher run,
// its watchers can be skipped.
queue.sort(function (a, b) { return a.id - b.id; });
// do not cache length because more watchers might be pushed
// as we run existing watchers
for (index = 0; index < queue.length; index++) {
watcher = queue[index];
if (watcher.before) {
watcher.before();
}
id = watcher.id;
has[id] = null;
watcher.run();
// in dev build, check and stop circular updates.
if ( true && has[id] != null) {
circular[id] = (circular[id] || 0) + 1;
if (circular[id] > MAX_UPDATE_COUNT) {
warn(
'You may have an infinite update loop ' + (
watcher.user
? ("in watcher with expression \"" + (watcher.expression) + "\"")
: "in a component render function."
),
watcher.vm
);
break
}
}
}
// keep copies of post queues before resetting state
var activatedQueue = activatedChildren.slice();
var updatedQueue = queue.slice();
resetSchedulerState();
// call component updated and activated hooks
callActivatedHooks(activatedQueue);
callUpdatedHooks(updatedQueue);
// devtool hook
/* istanbul ignore if */
if (devtools && config.devtools) {
devtools.emit('flush');
}
}
function callUpdatedHooks (queue) {
var i = queue.length;
while (i--) {
var watcher = queue[i];
var vm = watcher.vm;
if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {
callHook(vm, 'updated');
}
}
}
/**
* Queue a kept-alive component that was activated during patch.
* The queue will be processed after the entire tree has been patched.
*/
function queueActivatedComponent (vm) {
// setting _inactive to false here so that a render function can
// rely on checking whether it's in an inactive tree (e.g. router-view)
vm._inactive = false;
activatedChildren.push(vm);
}
function callActivatedHooks (queue) {
for (var i = 0; i < queue.length; i++) {
queue[i]._inactive = true;
activateChildComponent(queue[i], true /* true */);
}
}
/**
* Push a watcher into the watcher queue.
* Jobs with duplicate IDs will be skipped unless it's
* pushed when the queue is being flushed.
*/
function queueWatcher (watcher) {
var id = watcher.id;
if (has[id] == null) {
has[id] = true;
if (!flushing) {
queue.push(watcher);
} else {
// if already flushing, splice the watcher based on its id
// if already past its id, it will be run next immediately.
var i = queue.length - 1;
while (i > index && queue[i].id > watcher.id) {
i--;
}
queue.splice(i + 1, 0, watcher);
}
// queue the flush
if (!waiting) {
waiting = true;
if ( true && !config.async) {
flushSchedulerQueue();
return
}
nextTick(flushSchedulerQueue);
}
}
}
/* */
var uid$2 = 0;
/**
* A watcher parses an expression, collects dependencies,
* and fires callback when the expression value changes.
* This is used for both the $watch() api and directives.
*/
var Watcher = function Watcher (
vm,
expOrFn,
cb,
options,
isRenderWatcher
) {
this.vm = vm;
if (isRenderWatcher) {
vm._watcher = this;
}
vm._watchers.push(this);
// options
if (options) {
this.deep = !!options.deep;
this.user = !!options.user;
this.lazy = !!options.lazy;
this.sync = !!options.sync;
this.before = options.before;
} else {
this.deep = this.user = this.lazy = this.sync = false;
}
this.cb = cb;
this.id = ++uid$2; // uid for batching
this.active = true;
this.dirty = this.lazy; // for lazy watchers
this.deps = [];
this.newDeps = [];
this.depIds = new _Set();
this.newDepIds = new _Set();
this.expression = true
? expOrFn.toString()
: undefined;
// parse expression for getter
if (typeof expOrFn === 'function') {
this.getter = expOrFn;
} else {
this.getter = parsePath(expOrFn);
if (!this.getter) {
this.getter = noop;
true && warn(
"Failed watching path: \"" + expOrFn + "\" " +
'Watcher only accepts simple dot-delimited paths. ' +
'For full control, use a function instead.',
vm
);
}
}
this.value = this.lazy
? undefined
: this.get();
};
/**
* Evaluate the getter, and re-collect dependencies.
*/
Watcher.prototype.get = function get () {
pushTarget(this);
var value;
var vm = this.vm;
try {
value = this.getter.call(vm, vm);
} catch (e) {
if (this.user) {
handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
} else {
throw e
}
} finally {
// "touch" every property so they are all tracked as
// dependencies for deep watching
if (this.deep) {
traverse(value);
}
popTarget();
this.cleanupDeps();
}
return value
};
/**
* Add a dependency to this directive.
*/
Watcher.prototype.addDep = function addDep (dep) {
var id = dep.id;
if (!this.newDepIds.has(id)) {
this.newDepIds.add(id);
this.newDeps.push(dep);
if (!this.depIds.has(id)) {
dep.addSub(this);
}
}
};
/**
* Clean up for dependency collection.
*/
Watcher.prototype.cleanupDeps = function cleanupDeps () {
var i = this.deps.length;
while (i--) {
var dep = this.deps[i];
if (!this.newDepIds.has(dep.id)) {
dep.removeSub(this);
}
}
var tmp = this.depIds;
this.depIds = this.newDepIds;
this.newDepIds = tmp;
this.newDepIds.clear();
tmp = this.deps;
this.deps = this.newDeps;
this.newDeps = tmp;
this.newDeps.length = 0;
};
/**
* Subscriber interface.
* Will be called when a dependency changes.
*/
Watcher.prototype.update = function update () {
/* istanbul ignore else */
if (this.lazy) {
this.dirty = true;
} else if (this.sync) {
this.run();
} else {
queueWatcher(this);
}
};
/**
* Scheduler job interface.
* Will be called by the scheduler.
*/
Watcher.prototype.run = function run () {
if (this.active) {
var value = this.get();
if (
value !== this.value ||
// Deep watchers and watchers on Object/Arrays should fire even
// when the value is the same, because the value may
// have mutated.
isObject(value) ||
this.deep
) {
// set new value
var oldValue = this.value;
this.value = value;
if (this.user) {
try {
this.cb.call(this.vm, value, oldValue);
} catch (e) {
handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));
}
} else {
this.cb.call(this.vm, value, oldValue);
}
}
}
};
/**
* Evaluate the value of the watcher.
* This only gets called for lazy watchers.
*/
Watcher.prototype.evaluate = function evaluate () {
this.value = this.get();
this.dirty = false;
};
/**
* Depend on all deps collected by this watcher.
*/
Watcher.prototype.depend = function depend () {
var i = this.deps.length;
while (i--) {
this.deps[i].depend();
}
};
/**
* Remove self from all dependencies' subscriber list.
*/
Watcher.prototype.teardown = function teardown () {
if (this.active) {
// remove self from vm's watcher list
// this is a somewhat expensive operation so we skip it
// if the vm is being destroyed.
if (!this.vm._isBeingDestroyed) {
remove(this.vm._watchers, this);
}
var i = this.deps.length;
while (i--) {
this.deps[i].removeSub(this);
}
this.active = false;
}
};
/* */
var sharedPropertyDefinition = {
enumerable: true,
configurable: true,
get: noop,
set: noop
};
function proxy (target, sourceKey, key) {
sharedPropertyDefinition.get = function proxyGetter () {
return this[sourceKey][key]
};
sharedPropertyDefinition.set = function proxySetter (val) {
this[sourceKey][key] = val;
};
Object.defineProperty(target, key, sharedPropertyDefinition);
}
function initState (vm) {
vm._watchers = [];
var opts = vm.$options;
if (opts.props) { initProps(vm, opts.props); }
if (opts.methods) { initMethods(vm, opts.methods); }
if (opts.data) {
initData(vm);
} else {
observe(vm._data = {}, true /* asRootData */);
}
if (opts.computed) { initComputed(vm, opts.computed); }
if (opts.watch && opts.watch !== nativeWatch) {
initWatch(vm, opts.watch);
}
}
function initProps (vm, propsOptions) {
var propsData = vm.$options.propsData || {};
var props = vm._props = {};
// cache prop keys so that future props updates can iterate using Array
// instead of dynamic object key enumeration.
var keys = vm.$options._propKeys = [];
var isRoot = !vm.$parent;
// root instance props should be converted
if (!isRoot) {
toggleObserving(false);
}
var loop = function ( key ) {
keys.push(key);
var value = validateProp(key, propsOptions, propsData, vm);
/* istanbul ignore else */
if (true) {
var hyphenatedKey = hyphenate(key);
if (isReservedAttribute(hyphenatedKey) ||
config.isReservedAttr(hyphenatedKey)) {
warn(
("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),
vm
);
}
defineReactive$$1(props, key, value, function () {
if (!isRoot && !isUpdatingChildComponent) {
{
if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn
return
}
//fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警
if(
key === 'value' &&
Array.isArray(vm.$options.behaviors) &&
vm.$options.behaviors.indexOf('uni://form-field') !== -1
){
return
}
if(vm._getFormData){
return
}
var $parent = vm.$parent;
while($parent){
if($parent.__next_tick_pending){
return
}
$parent = $parent.$parent;
}
}
warn(
"Avoid mutating a prop directly since the value will be " +
"overwritten whenever the parent component re-renders. " +
"Instead, use a data or computed property based on the prop's " +
"value. Prop being mutated: \"" + key + "\"",
vm
);
}
});
} else {}
// static props are already proxied on the component's prototype
// during Vue.extend(). We only need to proxy props defined at
// instantiation here.
if (!(key in vm)) {
proxy(vm, "_props", key);
}
};
for (var key in propsOptions) loop( key );
toggleObserving(true);
}
function initData (vm) {
var data = vm.$options.data;
data = vm._data = typeof data === 'function'
? getData(data, vm)
: data || {};
if (!isPlainObject(data)) {
data = {};
true && warn(
'data functions should return an object:\n' +
'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
vm
);
}
// proxy data on instance
var keys = Object.keys(data);
var props = vm.$options.props;
var methods = vm.$options.methods;
var i = keys.length;
while (i--) {
var key = keys[i];
if (true) {
if (methods && hasOwn(methods, key)) {
warn(
("Method \"" + key + "\" has already been defined as a data property."),
vm
);
}
}
if (props && hasOwn(props, key)) {
true && warn(
"The data property \"" + key + "\" is already declared as a prop. " +
"Use prop default value instead.",
vm
);
} else if (!isReserved(key)) {
proxy(vm, "_data", key);
}
}
// observe data
observe(data, true /* asRootData */);
}
function getData (data, vm) {
// #7573 disable dep collection when invoking data getters
pushTarget();
try {
return data.call(vm, vm)
} catch (e) {
handleError(e, vm, "data()");
return {}
} finally {
popTarget();
}
}
var computedWatcherOptions = { lazy: true };
function initComputed (vm, computed) {
// $flow-disable-line
var watchers = vm._computedWatchers = Object.create(null);
// computed properties are just getters during SSR
var isSSR = isServerRendering();
for (var key in computed) {
var userDef = computed[key];
var getter = typeof userDef === 'function' ? userDef : userDef.get;
if ( true && getter == null) {
warn(
("Getter is missing for computed property \"" + key + "\"."),
vm
);
}
if (!isSSR) {
// create internal watcher for the computed property.
watchers[key] = new Watcher(
vm,
getter || noop,
noop,
computedWatcherOptions
);
}
// component-defined computed properties are already defined on the
// component prototype. We only need to define computed properties defined
// at instantiation here.
if (!(key in vm)) {
defineComputed(vm, key, userDef);
} else if (true) {
if (key in vm.$data) {
warn(("The computed property \"" + key + "\" is already defined in data."), vm);
} else if (vm.$options.props && key in vm.$options.props) {
warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
}
}
}
}
function defineComputed (
target,
key,
userDef
) {
var shouldCache = !isServerRendering();
if (typeof userDef === 'function') {
sharedPropertyDefinition.get = shouldCache
? createComputedGetter(key)
: createGetterInvoker(userDef);
sharedPropertyDefinition.set = noop;
} else {
sharedPropertyDefinition.get = userDef.get
? shouldCache && userDef.cache !== false
? createComputedGetter(key)
: createGetterInvoker(userDef.get)
: noop;
sharedPropertyDefinition.set = userDef.set || noop;
}
if ( true &&
sharedPropertyDefinition.set === noop) {
sharedPropertyDefinition.set = function () {
warn(
("Computed property \"" + key + "\" was assigned to but it has no setter."),
this
);
};
}
Object.defineProperty(target, key, sharedPropertyDefinition);
}
function createComputedGetter (key) {
return function computedGetter () {
var watcher = this._computedWatchers && this._computedWatchers[key];
if (watcher) {
if (watcher.dirty) {
watcher.evaluate();
}
if (Dep.SharedObject.target) {// fixed by xxxxxx
watcher.depend();
}
return watcher.value
}
}
}
function createGetterInvoker(fn) {
return function computedGetter () {
return fn.call(this, this)
}
}
function initMethods (vm, methods) {
var props = vm.$options.props;
for (var key in methods) {
if (true) {
if (typeof methods[key] !== 'function') {
warn(
"Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " +
"Did you reference the function correctly?",
vm
);
}
if (props && hasOwn(props, key)) {
warn(
("Method \"" + key + "\" has already been defined as a prop."),
vm
);
}
if ((key in vm) && isReserved(key)) {
warn(
"Method \"" + key + "\" conflicts with an existing Vue instance method. " +
"Avoid defining component methods that start with _ or $."
);
}
}
vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);
}
}
function initWatch (vm, watch) {
for (var key in watch) {
var handler = watch[key];
if (Array.isArray(handler)) {
for (var i = 0; i < handler.length; i++) {
createWatcher(vm, key, handler[i]);
}
} else {
createWatcher(vm, key, handler);
}
}
}
function createWatcher (
vm,
expOrFn,
handler,
options
) {
if (isPlainObject(handler)) {
options = handler;
handler = handler.handler;
}
if (typeof handler === 'string') {
handler = vm[handler];
}
return vm.$watch(expOrFn, handler, options)
}
function stateMixin (Vue) {
// flow somehow has problems with directly declared definition object
// when using Object.defineProperty, so we have to procedurally build up
// the object here.
var dataDef = {};
dataDef.get = function () { return this._data };
var propsDef = {};
propsDef.get = function () { return this._props };
if (true) {
dataDef.set = function () {
warn(
'Avoid replacing instance root $data. ' +
'Use nested data properties instead.',
this
);
};
propsDef.set = function () {
warn("$props is readonly.", this);
};
}
Object.defineProperty(Vue.prototype, '$data', dataDef);
Object.defineProperty(Vue.prototype, '$props', propsDef);
Vue.prototype.$set = set;
Vue.prototype.$delete = del;
Vue.prototype.$watch = function (
expOrFn,
cb,
options
) {
var vm = this;
if (isPlainObject(cb)) {
return createWatcher(vm, expOrFn, cb, options)
}
options = options || {};
options.user = true;
var watcher = new Watcher(vm, expOrFn, cb, options);
if (options.immediate) {
try {
cb.call(vm, watcher.value);
} catch (error) {
handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\""));
}
}
return function unwatchFn () {
watcher.teardown();
}
};
}
/* */
var uid$3 = 0;
function initMixin (Vue) {
Vue.prototype._init = function (options) {
var vm = this;
// a uid
vm._uid = uid$3++;
var startTag, endTag;
/* istanbul ignore if */
if ( true && config.performance && mark) {
startTag = "vue-perf-start:" + (vm._uid);
endTag = "vue-perf-end:" + (vm._uid);
mark(startTag);
}
// a flag to avoid this being observed
vm._isVue = true;
// merge options
if (options && options._isComponent) {
// optimize internal component instantiation
// since dynamic options merging is pretty slow, and none of the
// internal component options needs special treatment.
initInternalComponent(vm, options);
} else {
vm.$options = mergeOptions(
resolveConstructorOptions(vm.constructor),
options || {},
vm
);
}
/* istanbul ignore else */
if (true) {
initProxy(vm);
} else {}
// expose real self
vm._self = vm;
initLifecycle(vm);
initEvents(vm);
initRender(vm);
callHook(vm, 'beforeCreate');
!vm._$fallback && initInjections(vm); // resolve injections before data/props
initState(vm);
!vm._$fallback && initProvide(vm); // resolve provide after data/props
!vm._$fallback && callHook(vm, 'created');
/* istanbul ignore if */
if ( true && config.performance && mark) {
vm._name = formatComponentName(vm, false);
mark(endTag);
measure(("vue " + (vm._name) + " init"), startTag, endTag);
}
if (vm.$options.el) {
vm.$mount(vm.$options.el);
}
};
}
function initInternalComponent (vm, options) {
var opts = vm.$options = Object.create(vm.constructor.options);
// doing this because it's faster than dynamic enumeration.
var parentVnode = options._parentVnode;
opts.parent = options.parent;
opts._parentVnode = parentVnode;
var vnodeComponentOptions = parentVnode.componentOptions;
opts.propsData = vnodeComponentOptions.propsData;
opts._parentListeners = vnodeComponentOptions.listeners;
opts._renderChildren = vnodeComponentOptions.children;
opts._componentTag = vnodeComponentOptions.tag;
if (options.render) {
opts.render = options.render;
opts.staticRenderFns = options.staticRenderFns;
}
}
function resolveConstructorOptions (Ctor) {
var options = Ctor.options;
if (Ctor.super) {
var superOptions = resolveConstructorOptions(Ctor.super);
var cachedSuperOptions = Ctor.superOptions;
if (superOptions !== cachedSuperOptions) {
// super option changed,
// need to resolve new options.
Ctor.superOptions = superOptions;
// check if there are any late-modified/attached options (#4976)
var modifiedOptions = resolveModifiedOptions(Ctor);
// update base extend options
if (modifiedOptions) {
extend(Ctor.extendOptions, modifiedOptions);
}
options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
if (options.name) {
options.components[options.name] = Ctor;
}
}
}
return options
}
function resolveModifiedOptions (Ctor) {
var modified;
var latest = Ctor.options;
var sealed = Ctor.sealedOptions;
for (var key in latest) {
if (latest[key] !== sealed[key]) {
if (!modified) { modified = {}; }
modified[key] = latest[key];
}
}
return modified
}
function Vue (options) {
if ( true &&
!(this instanceof Vue)
) {
warn('Vue is a constructor and should be called with the `new` keyword');
}
this._init(options);
}
initMixin(Vue);
stateMixin(Vue);
eventsMixin(Vue);
lifecycleMixin(Vue);
renderMixin(Vue);
/* */
function initUse (Vue) {
Vue.use = function (plugin) {
var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
if (installedPlugins.indexOf(plugin) > -1) {
return this
}
// additional parameters
var args = toArray(arguments, 1);
args.unshift(this);
if (typeof plugin.install === 'function') {
plugin.install.apply(plugin, args);
} else if (typeof plugin === 'function') {
plugin.apply(null, args);
}
installedPlugins.push(plugin);
return this
};
}
/* */
function initMixin$1 (Vue) {
Vue.mixin = function (mixin) {
this.options = mergeOptions(this.options, mixin);
return this
};
}
/* */
function initExtend (Vue) {
/**
* Each instance constructor, including Vue, has a unique
* cid. This enables us to create wrapped "child
* constructors" for prototypal inheritance and cache them.
*/
Vue.cid = 0;
var cid = 1;
/**
* Class inheritance
*/
Vue.extend = function (extendOptions) {
extendOptions = extendOptions || {};
var Super = this;
var SuperId = Super.cid;
var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
if (cachedCtors[SuperId]) {
return cachedCtors[SuperId]
}
var name = extendOptions.name || Super.options.name;
if ( true && name) {
validateComponentName(name);
}
var Sub = function VueComponent (options) {
this._init(options);
};
Sub.prototype = Object.create(Super.prototype);
Sub.prototype.constructor = Sub;
Sub.cid = cid++;
Sub.options = mergeOptions(
Super.options,
extendOptions
);
Sub['super'] = Super;
// For props and computed properties, we define the proxy getters on
// the Vue instances at extension time, on the extended prototype. This
// avoids Object.defineProperty calls for each instance created.
if (Sub.options.props) {
initProps$1(Sub);
}
if (Sub.options.computed) {
initComputed$1(Sub);
}
// allow further extension/mixin/plugin usage
Sub.extend = Super.extend;
Sub.mixin = Super.mixin;
Sub.use = Super.use;
// create asset registers, so extended classes
// can have their private assets too.
ASSET_TYPES.forEach(function (type) {
Sub[type] = Super[type];
});
// enable recursive self-lookup
if (name) {
Sub.options.components[name] = Sub;
}
// keep a reference to the super options at extension time.
// later at instantiation we can check if Super's options have
// been updated.
Sub.superOptions = Super.options;
Sub.extendOptions = extendOptions;
Sub.sealedOptions = extend({}, Sub.options);
// cache constructor
cachedCtors[SuperId] = Sub;
return Sub
};
}
function initProps$1 (Comp) {
var props = Comp.options.props;
for (var key in props) {
proxy(Comp.prototype, "_props", key);
}
}
function initComputed$1 (Comp) {
var computed = Comp.options.computed;
for (var key in computed) {
defineComputed(Comp.prototype, key, computed[key]);
}
}
/* */
function initAssetRegisters (Vue) {
/**
* Create asset registration methods.
*/
ASSET_TYPES.forEach(function (type) {
Vue[type] = function (
id,
definition
) {
if (!definition) {
return this.options[type + 's'][id]
} else {
/* istanbul ignore if */
if ( true && type === 'component') {
validateComponentName(id);
}
if (type === 'component' && isPlainObject(definition)) {
definition.name = definition.name || id;
definition = this.options._base.extend(definition);
}
if (type === 'directive' && typeof definition === 'function') {
definition = { bind: definition, update: definition };
}
this.options[type + 's'][id] = definition;
return definition
}
};
});
}
/* */
function getComponentName (opts) {
return opts && (opts.Ctor.options.name || opts.tag)
}
function matches (pattern, name) {
if (Array.isArray(pattern)) {
return pattern.indexOf(name) > -1
} else if (typeof pattern === 'string') {
return pattern.split(',').indexOf(name) > -1
} else if (isRegExp(pattern)) {
return pattern.test(name)
}
/* istanbul ignore next */
return false
}
function pruneCache (keepAliveInstance, filter) {
var cache = keepAliveInstance.cache;
var keys = keepAliveInstance.keys;
var _vnode = keepAliveInstance._vnode;
for (var key in cache) {
var cachedNode = cache[key];
if (cachedNode) {
var name = getComponentName(cachedNode.componentOptions);
if (name && !filter(name)) {
pruneCacheEntry(cache, key, keys, _vnode);
}
}
}
}
function pruneCacheEntry (
cache,
key,
keys,
current
) {
var cached$$1 = cache[key];
if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {
cached$$1.componentInstance.$destroy();
}
cache[key] = null;
remove(keys, key);
}
var patternTypes = [String, RegExp, Array];
var KeepAlive = {
name: 'keep-alive',
abstract: true,
props: {
include: patternTypes,
exclude: patternTypes,
max: [String, Number]
},
created: function created () {
this.cache = Object.create(null);
this.keys = [];
},
destroyed: function destroyed () {
for (var key in this.cache) {
pruneCacheEntry(this.cache, key, this.keys);
}
},
mounted: function mounted () {
var this$1 = this;
this.$watch('include', function (val) {
pruneCache(this$1, function (name) { return matches(val, name); });
});
this.$watch('exclude', function (val) {
pruneCache(this$1, function (name) { return !matches(val, name); });
});
},
render: function render () {
var slot = this.$slots.default;
var vnode = getFirstComponentChild(slot);
var componentOptions = vnode && vnode.componentOptions;
if (componentOptions) {
// check pattern
var name = getComponentName(componentOptions);
var ref = this;
var include = ref.include;
var exclude = ref.exclude;
if (
// not included
(include && (!name || !matches(include, name))) ||
// excluded
(exclude && name && matches(exclude, name))
) {
return vnode
}
var ref$1 = this;
var cache = ref$1.cache;
var keys = ref$1.keys;
var key = vnode.key == null
// same constructor may get registered as different local components
// so cid alone is not enough (#3269)
? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')
: vnode.key;
if (cache[key]) {
vnode.componentInstance = cache[key].componentInstance;
// make current key freshest
remove(keys, key);
keys.push(key);
} else {
cache[key] = vnode;
keys.push(key);
// prune oldest entry
if (this.max && keys.length > parseInt(this.max)) {
pruneCacheEntry(cache, keys[0], keys, this._vnode);
}
}
vnode.data.keepAlive = true;
}
return vnode || (slot && slot[0])
}
};
var builtInComponents = {
KeepAlive: KeepAlive
};
/* */
function initGlobalAPI (Vue) {
// config
var configDef = {};
configDef.get = function () { return config; };
if (true) {
configDef.set = function () {
warn(
'Do not replace the Vue.config object, set individual fields instead.'
);
};
}
Object.defineProperty(Vue, 'config', configDef);
// exposed util methods.
// NOTE: these are not considered part of the public API - avoid relying on
// them unless you are aware of the risk.
Vue.util = {
warn: warn,
extend: extend,
mergeOptions: mergeOptions,
defineReactive: defineReactive$$1
};
Vue.set = set;
Vue.delete = del;
Vue.nextTick = nextTick;
// 2.6 explicit observable API
Vue.observable = function (obj) {
observe(obj);
return obj
};
Vue.options = Object.create(null);
ASSET_TYPES.forEach(function (type) {
Vue.options[type + 's'] = Object.create(null);
});
// this is used to identify the "base" constructor to extend all plain-object
// components with in Weex's multi-instance scenarios.
Vue.options._base = Vue;
extend(Vue.options.components, builtInComponents);
initUse(Vue);
initMixin$1(Vue);
initExtend(Vue);
initAssetRegisters(Vue);
}
initGlobalAPI(Vue);
Object.defineProperty(Vue.prototype, '$isServer', {
get: isServerRendering
});
Object.defineProperty(Vue.prototype, '$ssrContext', {
get: function get () {
/* istanbul ignore next */
return this.$vnode && this.$vnode.ssrContext
}
});
// expose FunctionalRenderContext for ssr runtime helper installation
Object.defineProperty(Vue, 'FunctionalRenderContext', {
value: FunctionalRenderContext
});
Vue.version = '2.6.11';
/**
* https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js
*/
var ARRAYTYPE = '[object Array]';
var OBJECTTYPE = '[object Object]';
var NULLTYPE = '[object Null]';
var UNDEFINEDTYPE = '[object Undefined]';
// const FUNCTIONTYPE = '[object Function]'
function diff(current, pre) {
var result = {};
syncKeys(current, pre);
_diff(current, pre, '', result);
return result
}
function syncKeys(current, pre) {
if (current === pre) { return }
var rootCurrentType = type(current);
var rootPreType = type(pre);
if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {
if(Object.keys(current).length >= Object.keys(pre).length){
for (var key in pre) {
var currentValue = current[key];
if (currentValue === undefined) {
current[key] = null;
} else {
syncKeys(currentValue, pre[key]);
}
}
}
} else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {
if (current.length >= pre.length) {
pre.forEach(function (item, index) {
syncKeys(current[index], item);
});
}
}
}
function nullOrUndefined(currentType, preType) {
if(
(currentType === NULLTYPE || currentType === UNDEFINEDTYPE) &&
(preType === NULLTYPE || preType === UNDEFINEDTYPE)
) {
return false
}
return true
}
function _diff(current, pre, path, result) {
if (current === pre) { return }
var rootCurrentType = type(current);
var rootPreType = type(pre);
if (rootCurrentType == OBJECTTYPE) {
if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {
setResult(result, path, current);
} else {
var loop = function ( key ) {
var currentValue = current[key];
var preValue = pre[key];
var currentType = type(currentValue);
var preType = type(preValue);
if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {
if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {
setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
}
} else if (currentType == ARRAYTYPE) {
if (preType != ARRAYTYPE) {
setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
} else {
if (currentValue.length < preValue.length) {
setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
} else {
currentValue.forEach(function (item, index) {
_diff(item, preValue[index], (path == '' ? '' : path + ".") + key + '[' + index + ']', result);
});
}
}
} else if (currentType == OBJECTTYPE) {
if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {
setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
} else {
for (var subKey in currentValue) {
_diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + ".") + key + '.' + subKey, result);
}
}
}
};
for (var key in current) loop( key );
}
} else if (rootCurrentType == ARRAYTYPE) {
if (rootPreType != ARRAYTYPE) {
setResult(result, path, current);
} else {
if (current.length < pre.length) {
setResult(result, path, current);
} else {
current.forEach(function (item, index) {
_diff(item, pre[index], path + '[' + index + ']', result);
});
}
}
} else {
setResult(result, path, current);
}
}
function setResult(result, k, v) {
// if (type(v) != FUNCTIONTYPE) {
result[k] = v;
// }
}
function type(obj) {
return Object.prototype.toString.call(obj)
}
/* */
function flushCallbacks$1(vm) {
if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {
if (Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"ZHSQ","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
var mpInstance = vm.$scope;
console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');
}
var copies = vm.__next_tick_callbacks.slice(0);
vm.__next_tick_callbacks.length = 0;
for (var i = 0; i < copies.length; i++) {
copies[i]();
}
}
}
function hasRenderWatcher(vm) {
return queue.find(function (watcher) { return vm._watcher === watcher; })
}
function nextTick$1(vm, cb) {
//1.nextTick 之前 已 setData 且 setData 还未回调完成
//2.nextTick 之前存在 render watcher
if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {
if(Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"ZHSQ","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
var mpInstance = vm.$scope;
console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
']:nextVueTick');
}
return nextTick(cb, vm)
}else{
if(Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"ZHSQ","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
var mpInstance$1 = vm.$scope;
console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +
']:nextMPTick');
}
}
var _resolve;
if (!vm.__next_tick_callbacks) {
vm.__next_tick_callbacks = [];
}
vm.__next_tick_callbacks.push(function () {
if (cb) {
try {
cb.call(vm);
} catch (e) {
handleError(e, vm, 'nextTick');
}
} else if (_resolve) {
_resolve(vm);
}
});
// $flow-disable-line
if (!cb && typeof Promise !== 'undefined') {
return new Promise(function (resolve) {
_resolve = resolve;
})
}
}
/* */
function clearInstance(key, value) {
// 简易去除 Vue 和小程序组件实例
if (value) {
if (value._isVue || value.__v_isMPComponent) {
return {}
}
}
return value
}
function cloneWithData(vm) {
// 确保当前 vm 所有数据被同步
var ret = Object.create(null);
var dataKeys = [].concat(
Object.keys(vm._data || {}),
Object.keys(vm._computedWatchers || {}));
dataKeys.reduce(function(ret, key) {
ret[key] = vm[key];
return ret
}, ret);
// vue-composition-api
var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;
var rawBindings = compositionApiState && compositionApiState.rawBindings;
if (rawBindings) {
Object.keys(rawBindings).forEach(function (key) {
ret[key] = vm[key];
});
}
//TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据
Object.assign(ret, vm.$mp.data || {});
if (
Array.isArray(vm.$options.behaviors) &&
vm.$options.behaviors.indexOf('uni://form-field') !== -1
) { //form-field
ret['name'] = vm.name;
ret['value'] = vm.value;
}
return JSON.parse(JSON.stringify(ret, clearInstance))
}
var patch = function(oldVnode, vnode) {
var this$1 = this;
if (vnode === null) { //destroy
return
}
if (this.mpType === 'page' || this.mpType === 'component') {
var mpInstance = this.$scope;
var data = Object.create(null);
try {
data = cloneWithData(this);
} catch (err) {
console.error(err);
}
data.__webviewId__ = mpInstance.data.__webviewId__;
var mpData = Object.create(null);
Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据
mpData[key] = mpInstance.data[key];
});
var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);
if (Object.keys(diffData).length) {
if (Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"ZHSQ","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +
']差量更新',
JSON.stringify(diffData));
}
this.__next_tick_pending = true;
mpInstance.setData(diffData, function () {
this$1.__next_tick_pending = false;
flushCallbacks$1(this$1);
});
} else {
flushCallbacks$1(this);
}
}
};
/* */
function createEmptyRender() {
}
function mountComponent$1(
vm,
el,
hydrating
) {
if (!vm.mpType) {//main.js 中的 new Vue
return vm
}
if (vm.mpType === 'app') {
vm.$options.render = createEmptyRender;
}
if (!vm.$options.render) {
vm.$options.render = createEmptyRender;
if (true) {
/* istanbul ignore if */
if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
vm.$options.el || el) {
warn(
'You are using the runtime-only build of Vue where the template ' +
'compiler is not available. Either pre-compile the templates into ' +
'render functions, or use the compiler-included build.',
vm
);
} else {
warn(
'Failed to mount component: template or render function not defined.',
vm
);
}
}
}
!vm._$fallback && callHook(vm, 'beforeMount');
var updateComponent = function () {
vm._update(vm._render(), hydrating);
};
// we set this to vm._watcher inside the watcher's constructor
// since the watcher's initial patch may call $forceUpdate (e.g. inside child
// component's mounted hook), which relies on vm._watcher being already defined
new Watcher(vm, updateComponent, noop, {
before: function before() {
if (vm._isMounted && !vm._isDestroyed) {
callHook(vm, 'beforeUpdate');
}
}
}, true /* isRenderWatcher */);
hydrating = false;
return vm
}
/* */
function renderClass (
staticClass,
dynamicClass
) {
if (isDef(staticClass) || isDef(dynamicClass)) {
return concat(staticClass, stringifyClass(dynamicClass))
}
/* istanbul ignore next */
return ''
}
function concat (a, b) {
return a ? b ? (a + ' ' + b) : a : (b || '')
}
function stringifyClass (value) {
if (Array.isArray(value)) {
return stringifyArray(value)
}
if (isObject(value)) {
return stringifyObject(value)
}
if (typeof value === 'string') {
return value
}
/* istanbul ignore next */
return ''
}
function stringifyArray (value) {
var res = '';
var stringified;
for (var i = 0, l = value.length; i < l; i++) {
if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {
if (res) { res += ' '; }
res += stringified;
}
}
return res
}
function stringifyObject (value) {
var res = '';
for (var key in value) {
if (value[key]) {
if (res) { res += ' '; }
res += key;
}
}
return res
}
/* */
var parseStyleText = cached(function (cssText) {
var res = {};
var listDelimiter = /;(?![^(]*\))/g;
var propertyDelimiter = /:(.+)/;
cssText.split(listDelimiter).forEach(function (item) {
if (item) {
var tmp = item.split(propertyDelimiter);
tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
}
});
return res
});
// normalize possible array / string values into Object
function normalizeStyleBinding (bindingStyle) {
if (Array.isArray(bindingStyle)) {
return toObject(bindingStyle)
}
if (typeof bindingStyle === 'string') {
return parseStyleText(bindingStyle)
}
return bindingStyle
}
/* */
var MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];
function getTarget(obj, path) {
var parts = path.split('.');
var key = parts[0];
if (key.indexOf('__$n') === 0) { //number index
key = parseInt(key.replace('__$n', ''));
}
if (parts.length === 1) {
return obj[key]
}
return getTarget(obj[key], parts.slice(1).join('.'))
}
function internalMixin(Vue) {
Vue.config.errorHandler = function(err, vm, info) {
Vue.util.warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);
console.error(err);
/* eslint-disable no-undef */
var app = typeof getApp === 'function' && getApp();
if (app && app.onError) {
app.onError(err);
}
};
var oldEmit = Vue.prototype.$emit;
Vue.prototype.$emit = function(event) {
if (this.$scope && event) {
var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];
if (triggerEvent) {
try {
triggerEvent.call(this.$scope, event, {
__args__: toArray(arguments, 1)
});
} catch (error) {
}
}
}
return oldEmit.apply(this, arguments)
};
Vue.prototype.$nextTick = function(fn) {
return nextTick$1(this, fn)
};
MP_METHODS.forEach(function (method) {
Vue.prototype[method] = function(args) {
if (this.$scope && this.$scope[method]) {
return this.$scope[method](args)
}
// mp-alipay
if (typeof my === 'undefined') {
return
}
if (method === 'createSelectorQuery') {
/* eslint-disable no-undef */
return my.createSelectorQuery(args)
} else if (method === 'createIntersectionObserver') {
/* eslint-disable no-undef */
return my.createIntersectionObserver(args)
}
// TODO mp-alipay 暂不支持 selectAllComponents,selectComponent
};
});
Vue.prototype.__init_provide = initProvide;
Vue.prototype.__init_injections = initInjections;
Vue.prototype.__call_hook = function(hook, args) {
var vm = this;
// #7573 disable dep collection when invoking lifecycle hooks
pushTarget();
var handlers = vm.$options[hook];
var info = hook + " hook";
var ret;
if (handlers) {
for (var i = 0, j = handlers.length; i < j; i++) {
ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);
}
}
if (vm._hasHookEvent) {
vm.$emit('hook:' + hook, args);
}
popTarget();
return ret
};
Vue.prototype.__set_model = function(target, key, value, modifiers) {
if (Array.isArray(modifiers)) {
if (modifiers.indexOf('trim') !== -1) {
value = value.trim();
}
if (modifiers.indexOf('number') !== -1) {
value = this._n(value);
}
}
if (!target) {
target = this;
}
// 解决动态属性添加
Vue.set(target, key, value);
};
Vue.prototype.__set_sync = function(target, key, value) {
if (!target) {
target = this;
}
// 解决动态属性添加
Vue.set(target, key, value);
};
Vue.prototype.__get_orig = function(item) {
if (isPlainObject(item)) {
return item['$orig'] || item
}
return item
};
Vue.prototype.__get_value = function(dataPath, target) {
return getTarget(target || this, dataPath)
};
Vue.prototype.__get_class = function(dynamicClass, staticClass) {
return renderClass(staticClass, dynamicClass)
};
Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {
if (!dynamicStyle && !staticStyle) {
return ''
}
var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);
var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;
return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + ":" + (styleObj[name])); }).join(';')
};
Vue.prototype.__map = function(val, iteratee) {
//TODO 暂不考虑 string
var ret, i, l, keys, key;
if (Array.isArray(val)) {
ret = new Array(val.length);
for (i = 0, l = val.length; i < l; i++) {
ret[i] = iteratee(val[i], i);
}
return ret
} else if (isObject(val)) {
keys = Object.keys(val);
ret = Object.create(null);
for (i = 0, l = keys.length; i < l; i++) {
key = keys[i];
ret[key] = iteratee(val[key], key, i);
}
return ret
} else if (typeof val === 'number') {
ret = new Array(val);
for (i = 0, l = val; i < l; i++) {
// 第一个参数暂时仍和小程序一致
ret[i] = iteratee(i, i);
}
return ret
}
return []
};
}
/* */
var LIFECYCLE_HOOKS$1 = [
//App
'onLaunch',
'onShow',
'onHide',
'onUniNViewMessage',
'onPageNotFound',
'onThemeChange',
'onError',
'onUnhandledRejection',
//Page
'onInit',
'onLoad',
// 'onShow',
'onReady',
// 'onHide',
'onUnload',
'onPullDownRefresh',
'onReachBottom',
'onTabItemTap',
'onAddToFavorites',
'onShareTimeline',
'onShareAppMessage',
'onResize',
'onPageScroll',
'onNavigationBarButtonTap',
'onBackPress',
'onNavigationBarSearchInputChanged',
'onNavigationBarSearchInputConfirmed',
'onNavigationBarSearchInputClicked',
'onUploadDouyinVideo',
'onNFCReadMessage',
//Component
// 'onReady', // 兼容旧版本,应该移除该事件
'onPageShow',
'onPageHide',
'onPageResize'
];
function lifecycleMixin$1(Vue) {
//fixed vue-class-component
var oldExtend = Vue.extend;
Vue.extend = function(extendOptions) {
extendOptions = extendOptions || {};
var methods = extendOptions.methods;
if (methods) {
Object.keys(methods).forEach(function (methodName) {
if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {
extendOptions[methodName] = methods[methodName];
delete methods[methodName];
}
});
}
return oldExtend.call(this, extendOptions)
};
var strategies = Vue.config.optionMergeStrategies;
var mergeHook = strategies.created;
LIFECYCLE_HOOKS$1.forEach(function (hook) {
strategies[hook] = mergeHook;
});
Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;
}
/* */
// install platform patch function
Vue.prototype.__patch__ = patch;
// public mount method
Vue.prototype.$mount = function(
el ,
hydrating
) {
return mountComponent$1(this, el, hydrating)
};
lifecycleMixin$1(Vue);
internalMixin(Vue);
/* */
/* harmony default export */ __webpack_exports__["default"] = (Vue);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 3)))
/***/ }),
/***/ 26:
/*!*****************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/pages.json ***!
\*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
/***/ }),
/***/ 263:
/*!*************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/reservation.js ***!
\*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
getActiveList: '/api/v1/wechat/community/activity/list',
//获取活动列表
getActiveInfoById: "/api/v1/wechat/community/activity/detail",
//获取活动详情
eliminate: "/api/v1/wechat/community/activity/eliminate",
//核销
eliminateList: "/api/v1/wechat/community/activity/eliminate/list",
//核销列表
eliminateInfo: "/api/v1/wechat/community/activity/eliminate/detail",
//核销详情
ScanCodeInfo: "/api/v1/wechat/community/activity/one",
//商家扫码详情
getReserationList: "/api/v1/wechat/community/activity/reservation/list",
//获取预约列表
Reservation: "/api/v1/wechat/community/activity/reservation",
//预约
modify: '/api/v1/wechat/community/activity/order/modify',
// 订单修改
// getShopList: "/wechat/community/activity/shop/list", // 查看自提点列表 接口作废
getShopList: '/api/v1/wechat/community/activity/shop/pick_up_point_list' // 查看自提点列表
};
exports.apiArr = apiArr;
/***/ }),
/***/ 3:
/*!***********************************!*\
!*** (webpack)/buildin/global.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports) {
var g;
// This works in non-strict mode
g = (function() {
return this;
})();
try {
// This works if eval is allowed (see CSP)
g = g || new Function("return this")();
} catch (e) {
// This works if the window reference is available
if (typeof window === "object") g = window;
}
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module.exports = g;
/***/ }),
/***/ 34:
/*!**********************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!
\**********************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode, /* vue-cli only */
components, // fixed by xxxxxx auto components
renderjs // fixed by xxxxxx renderjs
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// fixed by xxxxxx auto components
if (components) {
if (!options.components) {
options.components = {}
}
var hasOwn = Object.prototype.hasOwnProperty
for (var name in components) {
if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {
options.components[name] = components[name]
}
}
}
// fixed by xxxxxx renderjs
if (renderjs) {
if(typeof renderjs.beforeCreate === 'function'){
renderjs.beforeCreate = [renderjs.beforeCreate]
}
(renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {
this[renderjs.__module] = this
});
(options.mixins || (options.mixins = [])).push(renderjs)
}
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functioal component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
/***/ }),
/***/ 35:
/*!*******************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni.promisify.adaptor.js ***!
\*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(uni) {var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 13);
uni.addInterceptor({
returnValue: function returnValue(res) {
if (!(!!res && (_typeof(res) === "object" || typeof res === "function") && typeof res.then === "function")) {
return res;
}
return new Promise(function (resolve, reject) {
res.then(function (res) {
if (!res) return resolve(res);
return res[0] ? reject(res[0]) : resolve(res[1]);
});
});
}
});
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 36:
/*!*************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/index.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 _mixin = _interopRequireDefault(__webpack_require__(/*! ./libs/mixin/mixin.js */ 37));
var _mpMixin = _interopRequireDefault(__webpack_require__(/*! ./libs/mixin/mpMixin.js */ 38));
var _luchRequest = _interopRequireDefault(__webpack_require__(/*! ./libs/luch-request */ 39));
var _route = _interopRequireDefault(__webpack_require__(/*! ./libs/util/route.js */ 57));
var _colorGradient = _interopRequireDefault(__webpack_require__(/*! ./libs/function/colorGradient.js */ 61));
var _test = _interopRequireDefault(__webpack_require__(/*! ./libs/function/test.js */ 62));
var _debounce = _interopRequireDefault(__webpack_require__(/*! ./libs/function/debounce.js */ 63));
var _throttle = _interopRequireDefault(__webpack_require__(/*! ./libs/function/throttle.js */ 64));
var _index = _interopRequireDefault(__webpack_require__(/*! ./libs/function/index.js */ 65));
var _config = _interopRequireDefault(__webpack_require__(/*! ./libs/config/config.js */ 68));
var _props = _interopRequireDefault(__webpack_require__(/*! ./libs/config/props.js */ 69));
var _zIndex = _interopRequireDefault(__webpack_require__(/*! ./libs/config/zIndex.js */ 159));
var _color = _interopRequireDefault(__webpack_require__(/*! ./libs/config/color.js */ 117));
var _platform = _interopRequireDefault(__webpack_require__(/*! ./libs/function/platform */ 160));
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; }
// 看到此报错,是因为没有配置vue.config.js的【transpileDependencies】,详见:https://www.uviewui.com/components/npmSetting.html#_5-cli模式额外配置
var pleaseSetTranspileDependencies = {},
babelTest = pleaseSetTranspileDependencies === null || pleaseSetTranspileDependencies === void 0 ? void 0 : pleaseSetTranspileDependencies.test;
// 引入全局mixin
var $u = _objectSpread(_objectSpread({
route: _route.default,
date: _index.default.timeFormat,
// 另名date
colorGradient: _colorGradient.default.colorGradient,
hexToRgb: _colorGradient.default.hexToRgb,
rgbToHex: _colorGradient.default.rgbToHex,
colorToRgba: _colorGradient.default.colorToRgba,
test: _test.default,
type: ['primary', 'success', 'error', 'warning', 'info'],
http: new _luchRequest.default(),
config: _config.default,
// uView配置信息相关,比如版本号
zIndex: _zIndex.default,
debounce: _debounce.default,
throttle: _throttle.default,
mixin: _mixin.default,
mpMixin: _mpMixin.default,
props: _props.default
}, _index.default), {}, {
color: _color.default,
platform: _platform.default
});
// $u挂载到uni对象上
uni.$u = $u;
var install = function install(Vue) {
// 时间格式化,同时两个名称,date和timeFormat
Vue.filter('timeFormat', function (timestamp, format) {
return uni.$u.timeFormat(timestamp, format);
});
Vue.filter('date', function (timestamp, format) {
return uni.$u.timeFormat(timestamp, format);
});
// 将多久以前的方法,注入到全局过滤器
Vue.filter('timeFrom', function (timestamp, format) {
return uni.$u.timeFrom(timestamp, format);
});
// 同时挂载到uni和Vue.prototype中
// 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的
Vue.prototype.$u = $u;
Vue.mixin(_mixin.default);
};
var _default = {
install: install
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 37:
/*!************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/mixin/mixin.js ***!
\************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(uni) {module.exports = {
// 定义每个组件都可能需要用到的外部样式以及类名
props: {
// 每个组件都有的父组件传递的样式,可以为字符串或者对象形式
customStyle: {
type: [Object, String],
default: function _default() {
return {};
}
},
customClass: {
type: String,
default: ''
},
// 跳转的页面路径
url: {
type: String,
default: ''
},
// 页面跳转的类型
linkType: {
type: String,
default: 'navigateTo'
}
},
data: function data() {
return {};
},
onLoad: function onLoad() {
// getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出
this.$u.getRect = this.$uGetRect;
},
created: function created() {
// 组件当中,只有created声明周期,为了能在组件使用,故也在created中将方法挂载到$u
this.$u.getRect = this.$uGetRect;
},
computed: {
// 在2.x版本中,将会把$u挂载到uni对象下,导致在模板中无法使用uni.$u.xxx形式
// 所以这里通过computed计算属性将其附加到this.$u上,就可以在模板或者js中使用uni.$u.xxx
// 只在nvue环境通过此方式引入完整的$u,其他平台会出现性能问题,非nvue则按需引入(主要原因是props过大)
$u: function $u() {
// 在非nvue端,移除props,http,mixin等对象,避免在小程序setData时数据过大影响性能
return uni.$u.deepMerge(uni.$u, {
props: undefined,
http: undefined,
mixin: undefined
});
},
/**
* 生成bem规则类名
* 由于微信小程序,H5,nvue之间绑定class的差异,无法通过:class="[bem()]"的形式进行同用
* 故采用如下折中做法,最后返回的是数组(一般平台)或字符串(支付宝和字节跳动平台),类似['a', 'b', 'c']或'a b c'的形式
* @param {String} name 组件名称
* @param {Array} fixed 一直会存在的类名
* @param {Array} change 会根据变量值为true或者false而出现或者隐藏的类名
* @returns {Array|string}
*/
bem: function bem() {
return function (name, fixed, change) {
var _this = this;
// 类名前缀
var prefix = "u-".concat(name, "--");
var classes = {};
if (fixed) {
fixed.map(function (item) {
// 这里的类名,会一直存在
classes[prefix + _this[item]] = true;
});
}
if (change) {
change.map(function (item) {
// 这里的类名,会根据this[item]的值为true或者false,而进行添加或者移除某一个类
_this[item] ? classes[prefix + item] = _this[item] : delete classes[prefix + item];
});
}
return Object.keys(classes);
// 支付宝,头条小程序无法动态绑定一个数组类名,否则解析出来的结果会带有",",而导致失效
};
}
},
methods: {
// 跳转某一个页面
openPage: function openPage() {
var urlKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'url';
var url = this[urlKey];
if (url) {
// 执行类似uni.navigateTo的方法
uni[this.linkType]({
url: url
});
}
},
// 查询节点信息
// 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21)
// 解决办法为在组件根部再套一个没有任何作用的view元素
$uGetRect: function $uGetRect(selector, all) {
var _this2 = this;
return new Promise(function (resolve) {
uni.createSelectorQuery().in(_this2)[all ? 'selectAll' : 'select'](selector).boundingClientRect(function (rect) {
if (all && Array.isArray(rect) && rect.length) {
resolve(rect);
}
if (!all && rect) {
resolve(rect);
}
}).exec();
});
},
getParentData: function getParentData() {
var _this3 = this;
var parentName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
// 避免在created中去定义parent变量
if (!this.parent) this.parent = {};
// 这里的本质原理是,通过获取父组件实例(也即类似u-radio的父组件u-radio-group的this)
// 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性
// 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化
// 此处并不会自动更新子组件的数据,而是依赖父组件u-radio-group去监听data的变化,手动调用更新子组件的方法去重新获取
this.parent = uni.$u.$parent.call(this, parentName);
if (this.parent.children) {
// 如果父组件的children不存在本组件的实例,才将本实例添加到父组件的children中
this.parent.children.indexOf(this) === -1 && this.parent.children.push(this);
}
if (this.parent && this.parentData) {
// 历遍parentData中的属性,将parent中的同名属性赋值给parentData
Object.keys(this.parentData).map(function (key) {
_this3.parentData[key] = _this3.parent[key];
});
}
},
// 阻止事件冒泡
preventEvent: function preventEvent(e) {
e && typeof e.stopPropagation === 'function' && e.stopPropagation();
},
// 空操作
noop: function noop(e) {
this.preventEvent(e);
}
},
onReachBottom: function onReachBottom() {
uni.$emit('uOnReachBottom');
},
beforeDestroy: function beforeDestroy() {
var _this4 = this;
// 判断当前页面是否存在parent和chldren,一般在checkbox和checkbox-group父子联动的场景会有此情况
// 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱
if (this.parent && uni.$u.test.array(this.parent.children)) {
// 组件销毁时,移除父组件中的children数组中对应的实例
var childrenList = this.parent.children;
childrenList.map(function (child, index) {
// 如果相等,则移除
if (child === _this4) {
childrenList.splice(index, 1);
}
});
}
}
};
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 38:
/*!**************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/mixin/mpMixin.js ***!
\**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
// 将自定义节点设置成虚拟的,更加接近Vue组件的表现,能更好的使用flex属性
options: {
virtualHost: true
}
};
exports.default = _default;
/***/ }),
/***/ 39:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/index.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.default = void 0;
var _Request = _interopRequireDefault(__webpack_require__(/*! ./core/Request */ 40));
var _default = _Request.default;
exports.default = _default;
/***/ }),
/***/ 4:
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 40:
/*!**************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/core/Request.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.default = void 0;
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));
var _dispatchRequest = _interopRequireDefault(__webpack_require__(/*! ./dispatchRequest */ 41));
var _InterceptorManager = _interopRequireDefault(__webpack_require__(/*! ./InterceptorManager */ 49));
var _mergeConfig = _interopRequireDefault(__webpack_require__(/*! ./mergeConfig */ 50));
var _defaults = _interopRequireDefault(__webpack_require__(/*! ./defaults */ 51));
var _utils = __webpack_require__(/*! ../utils */ 44);
var _clone = _interopRequireDefault(__webpack_require__(/*! ../utils/clone */ 52));
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 Request = /*#__PURE__*/function () {
/**
* @param {Object} arg - 全局配置
* @param {String} arg.baseURL - 全局根路径
* @param {Object} arg.header - 全局header
* @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式
* @param {String} arg.dataType = [json] - 全局默认的dataType
* @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持
* @param {Object} arg.custom - 全局默认的自定义参数
* @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序
* @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持(HBuilderX 2.3.3+)
* @param {Boolean} arg.withCredentials - 全局默认的跨域请求时是否携带凭证(cookies)。默认false。仅H5支持(HBuilderX 2.6.15+)
* @param {Boolean} arg.firstIpv4 - 全DNS解析时优先使用ipv4。默认false。仅 App-Android 支持 (HBuilderX 2.8.0+)
* @param {Function(statusCode):Boolean} arg.validateStatus - 全局默认的自定义验证器。默认statusCode >= 200 && statusCode < 300
*/
function Request() {
var arg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
(0, _classCallCheck2.default)(this, Request);
if (!(0, _utils.isPlainObject)(arg)) {
arg = {};
console.warn('设置全局参数必须接收一个Object');
}
this.config = (0, _clone.default)(_objectSpread(_objectSpread({}, _defaults.default), arg));
this.interceptors = {
request: new _InterceptorManager.default(),
response: new _InterceptorManager.default()
};
}
/**
* @Function
* @param {Request~setConfigCallback} f - 设置全局默认配置
*/
(0, _createClass2.default)(Request, [{
key: "setConfig",
value: function setConfig(f) {
this.config = f(this.config);
}
}, {
key: "middleware",
value: function middleware(config) {
config = (0, _mergeConfig.default)(this.config, config);
var chain = [_dispatchRequest.default, undefined];
var promise = Promise.resolve(config);
this.interceptors.request.forEach(function (interceptor) {
chain.unshift(interceptor.fulfilled, interceptor.rejected);
});
this.interceptors.response.forEach(function (interceptor) {
chain.push(interceptor.fulfilled, interceptor.rejected);
});
while (chain.length) {
promise = promise.then(chain.shift(), chain.shift());
}
return promise;
}
/**
* @Function
* @param {Object} config - 请求配置项
* @prop {String} options.url - 请求路径
* @prop {Object} options.data - 请求参数
* @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 响应的数据类型
* @prop {Object} [options.dataType = config.dataType] - 如果设为 json,会尝试对返回的数据做一次 JSON.parse
* @prop {Object} [options.header = config.header] - 请求header
* @prop {Object} [options.method = config.method] - 请求方法
* @returns {Promise}
*/
}, {
key: "request",
value: function request() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return this.middleware(config);
}
}, {
key: "get",
value: function get(url) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return this.middleware(_objectSpread({
url: url,
method: 'GET'
}, options));
}
}, {
key: "post",
value: function post(url, data) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.middleware(_objectSpread({
url: url,
data: data,
method: 'POST'
}, options));
}
}, {
key: "put",
value: function put(url, data) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.middleware(_objectSpread({
url: url,
data: data,
method: 'PUT'
}, options));
}
}, {
key: "delete",
value: function _delete(url, data) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.middleware(_objectSpread({
url: url,
data: data,
method: 'DELETE'
}, options));
}
}, {
key: "connect",
value: function connect(url, data) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.middleware(_objectSpread({
url: url,
data: data,
method: 'CONNECT'
}, options));
}
}, {
key: "head",
value: function head(url, data) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.middleware(_objectSpread({
url: url,
data: data,
method: 'HEAD'
}, options));
}
}, {
key: "options",
value: function options(url, data) {
var _options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.middleware(_objectSpread({
url: url,
data: data,
method: 'OPTIONS'
}, _options));
}
}, {
key: "trace",
value: function trace(url, data) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.middleware(_objectSpread({
url: url,
data: data,
method: 'TRACE'
}, options));
}
}, {
key: "upload",
value: function upload(url) {
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
config.url = url;
config.method = 'UPLOAD';
return this.middleware(config);
}
}, {
key: "download",
value: function download(url) {
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
config.url = url;
config.method = 'DOWNLOAD';
return this.middleware(config);
}
}]);
return Request;
}();
/**
* setConfig回调
* @return {Object} - 返回操作后的config
* @callback Request~setConfigCallback
* @param {Object} config - 全局默认config
*/
exports.default = Request;
/***/ }),
/***/ 41:
/*!**********************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/core/dispatchRequest.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.default = void 0;
var _index = _interopRequireDefault(__webpack_require__(/*! ../adapters/index */ 42));
var _default = function _default(config) {
return (0, _index.default)(config);
};
exports.default = _default;
/***/ }),
/***/ 42:
/*!****************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/adapters/index.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 _buildURL = _interopRequireDefault(__webpack_require__(/*! ../helpers/buildURL */ 43));
var _buildFullPath = _interopRequireDefault(__webpack_require__(/*! ../core/buildFullPath */ 45));
var _settle = _interopRequireDefault(__webpack_require__(/*! ../core/settle */ 48));
var _utils = __webpack_require__(/*! ../utils */ 44);
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; }
/**
* 返回可选值存在的配置
* @param {Array} keys - 可选值数组
* @param {Object} config2 - 配置
* @return {{}} - 存在的配置项
*/
var mergeKeys = function mergeKeys(keys, config2) {
var config = {};
keys.forEach(function (prop) {
if (!(0, _utils.isUndefined)(config2[prop])) {
config[prop] = config2[prop];
}
});
return config;
};
var _default = function _default(config) {
return new Promise(function (resolve, reject) {
var fullPath = (0, _buildURL.default)((0, _buildFullPath.default)(config.baseURL, config.url), config.params);
var _config = {
url: fullPath,
header: config.header,
complete: function complete(response) {
config.fullPath = fullPath;
response.config = config;
try {
// 对可能字符串不是json 的情况容错
if (typeof response.data === 'string') {
response.data = JSON.parse(response.data);
}
// eslint-disable-next-line no-empty
} catch (e) {}
(0, _settle.default)(resolve, reject, response);
}
};
var requestTask;
if (config.method === 'UPLOAD') {
delete _config.header['content-type'];
delete _config.header['Content-Type'];
var otherConfig = {
filePath: config.filePath,
name: config.name
};
var optionalKeys = ['formData'];
requestTask = uni.uploadFile(_objectSpread(_objectSpread(_objectSpread({}, _config), otherConfig), mergeKeys(optionalKeys, config)));
} else if (config.method === 'DOWNLOAD') {
requestTask = uni.downloadFile(_config);
} else {
var _optionalKeys = ['data', 'method', 'timeout', 'dataType', 'responseType'];
requestTask = uni.request(_objectSpread(_objectSpread({}, _config), mergeKeys(_optionalKeys, config)));
}
if (config.getTask) {
config.getTask(requestTask, config);
}
});
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 43:
/*!******************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/helpers/buildURL.js ***!
\******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 13);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = buildURL;
var utils = _interopRequireWildcard(__webpack_require__(/*! ../utils */ 44));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function encode(val) {
return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');
}
/**
* Build a URL by appending params to the end
*
* @param {string} url The base of the url (e.g., http://www.google.com)
* @param {object} [params] The params to be appended
* @returns {string} The formatted url
*/
function buildURL(url, params) {
/* eslint no-param-reassign:0 */
if (!params) {
return url;
}
var serializedParams;
if (utils.isURLSearchParams(params)) {
serializedParams = params.toString();
} else {
var parts = [];
utils.forEach(params, function (val, key) {
if (val === null || typeof val === 'undefined') {
return;
}
if (utils.isArray(val)) {
key = "".concat(key, "[]");
} else {
val = [val];
}
utils.forEach(val, function (v) {
if (utils.isDate(v)) {
v = v.toISOString();
} else if (utils.isObject(v)) {
v = JSON.stringify(v);
}
parts.push("".concat(encode(key), "=").concat(encode(v)));
});
});
serializedParams = parts.join('&');
}
if (serializedParams) {
var hashmarkIndex = url.indexOf('#');
if (hashmarkIndex !== -1) {
url = url.slice(0, hashmarkIndex);
}
url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
}
return url;
}
/***/ }),
/***/ 44:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/utils.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
// utils is a library of generic helper functions non-specific to axios
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.deepMerge = deepMerge;
exports.forEach = forEach;
exports.isArray = isArray;
exports.isBoolean = isBoolean;
exports.isDate = isDate;
exports.isObject = isObject;
exports.isPlainObject = isPlainObject;
exports.isURLSearchParams = isURLSearchParams;
exports.isUndefined = isUndefined;
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
var toString = Object.prototype.toString;
/**
* Determine if a value is an Array
*
* @param {Object} val The value to test
* @returns {boolean} True if value is an Array, otherwise false
*/
function isArray(val) {
return toString.call(val) === '[object Array]';
}
/**
* Determine if a value is an Object
*
* @param {Object} val The value to test
* @returns {boolean} True if value is an Object, otherwise false
*/
function isObject(val) {
return val !== null && (0, _typeof2.default)(val) === 'object';
}
/**
* Determine if a value is a Date
*
* @param {Object} val The value to test
* @returns {boolean} True if value is a Date, otherwise false
*/
function isDate(val) {
return toString.call(val) === '[object Date]';
}
/**
* Determine if a value is a URLSearchParams object
*
* @param {Object} val The value to test
* @returns {boolean} True if value is a URLSearchParams object, otherwise false
*/
function isURLSearchParams(val) {
return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
}
/**
* Iterate over an Array or an Object invoking a function for each item.
*
* If `obj` is an Array callback will be called passing
* the value, index, and complete array for each item.
*
* If 'obj' is an Object callback will be called passing
* the value, key, and complete object for each property.
*
* @param {Object|Array} obj The object to iterate
* @param {Function} fn The callback to invoke for each item
*/
function forEach(obj, fn) {
// Don't bother if no value provided
if (obj === null || typeof obj === 'undefined') {
return;
}
// Force an array if not already something iterable
if ((0, _typeof2.default)(obj) !== 'object') {
/* eslint no-param-reassign:0 */
obj = [obj];
}
if (isArray(obj)) {
// Iterate over array values
for (var i = 0, l = obj.length; i < l; i++) {
fn.call(null, obj[i], i, obj);
}
} else {
// Iterate over object keys
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
fn.call(null, obj[key], key, obj);
}
}
}
}
/**
* 是否为boolean 值
* @param val
* @returns {boolean}
*/
function isBoolean(val) {
return typeof val === 'boolean';
}
/**
* 是否为真正的对象{} new Object
* @param {any} obj - 检测的对象
* @returns {boolean}
*/
function isPlainObject(obj) {
return Object.prototype.toString.call(obj) === '[object Object]';
}
/**
* Function equal to merge with the difference being that no reference
* to original objects is kept.
*
* @see merge
* @param {Object} obj1 Object to merge
* @returns {Object} Result of all merge properties
*/
function deepMerge( /* obj1, obj2, obj3, ... */
) {
var result = {};
function assignValue(val, key) {
if ((0, _typeof2.default)(result[key]) === 'object' && (0, _typeof2.default)(val) === 'object') {
result[key] = deepMerge(result[key], val);
} else if ((0, _typeof2.default)(val) === 'object') {
result[key] = deepMerge({}, val);
} else {
result[key] = val;
}
}
for (var i = 0, l = arguments.length; i < l; i++) {
forEach(arguments[i], assignValue);
}
return result;
}
function isUndefined(val) {
return typeof val === 'undefined';
}
/***/ }),
/***/ 448:
/*!******************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/user.js ***!
\******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
getAllList: ' /api/v1/wechat/appoints/get-all-list',
// 上门服务商品列表
revoke: '/api/v1/wechat/appoint-orders/revoke',
// 取消订单
getOne: '/api/v1/wechat/appoint-orders/get-one',
// 订单详情
create: '/api/v1/wechat/appoint-orders/create',
// 订单提交
getOrdersAllList: '/api/v1/wechat/appoint-orders/get-all-list',
// 查询这个登录人的所有订单
signCycle: '/api/v1/wechat/sign/sign-cycle',
// 签到周期详情
signList: '/api/v1/wechat/sign/sign-list',
// 获取签到记录列表
sign: '/api/v1/wechat/sign/sign',
// 积分签到
signIntegral: '/api/v1/wechat/sign/integral',
// 查询账户积分
signInfo: '/api/v1/wechat/sign/info',
// 获取签到详情
addr: '/api/v1/wechat/mpusers/addr',
// 获取地址信息
setAddr: '/api/v1/wechat/mpusers/set-addr',
// 修改地址接口
avatar: '/api/v1/wechat/mpusers/avatar',
// 上传头像
modifyPass: '/api/v1/wechat/mpusers/modify-pass',
// 修改登录密码
payPass: '/api/v1/wechat/mpusers/pay-pass',
// 设置支付密码
couponList: '/api/v1/wechat/discuss/list',
// 获取优惠券列表
getUserCommunity: "/api/v1/wechat/community/owner/mylist",
//获取用户社区信息
createQrcode: '/api/v1/wechat/water/device/qr-code' //获取小程序码
};
exports.apiArr = apiArr;
/***/ }),
/***/ 45:
/*!********************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/core/buildFullPath.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.default = buildFullPath;
var _isAbsoluteURL = _interopRequireDefault(__webpack_require__(/*! ../helpers/isAbsoluteURL */ 46));
var _combineURLs = _interopRequireDefault(__webpack_require__(/*! ../helpers/combineURLs */ 47));
/**
* Creates a new URL by combining the baseURL with the requestedURL,
* only when the requestedURL is not already an absolute URL.
* If the requestURL is absolute, this function returns the requestedURL untouched.
*
* @param {string} baseURL The base URL
* @param {string} requestedURL Absolute or relative URL to combine
* @returns {string} The combined full path
*/
function buildFullPath(baseURL, requestedURL) {
if (baseURL && !(0, _isAbsoluteURL.default)(requestedURL)) {
return (0, _combineURLs.default)(baseURL, requestedURL);
}
return requestedURL;
}
/***/ }),
/***/ 457:
/*!*****************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/packages/user/resetPwd/constant.js ***!
\*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.pageOptionType = void 0;
// 修改密码页面参数类型
var pageOptionType = {
pay: {
title: '已绑定手机号',
defultDesc: '请输入绑定手机号',
subTitle: '支付密码',
defultSubDesc: '请输入支付密码',
type: 'pay',
btnText: '设置'
},
login: {
title: '新设密码',
defultDesc: '请输入新密码',
subTitle: '确认密码',
defultSubDesc: '请再次输入密码',
type: 'login',
btnText: '修改'
}
};
exports.pageOptionType = pageOptionType;
/***/ }),
/***/ 46:
/*!***********************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js ***!
\***********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/**
* Determines whether the specified URL is absolute
*
* @param {string} url The URL to test
* @returns {boolean} True if the specified URL is absolute, otherwise false
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isAbsoluteURL;
function isAbsoluteURL(url) {
// A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL).
// RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
// by any combination of letters, digits, plus, period, or hyphen.
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
}
/***/ }),
/***/ 47:
/*!*********************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/helpers/combineURLs.js ***!
\*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/**
* Creates a new URL by combining the specified URLs
*
* @param {string} baseURL The base URL
* @param {string} relativeURL The relative URL
* @returns {string} The combined URL
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = combineURLs;
function combineURLs(baseURL, relativeURL) {
return relativeURL ? "".concat(baseURL.replace(/\/+$/, ''), "/").concat(relativeURL.replace(/^\/+/, '')) : baseURL;
}
/***/ }),
/***/ 48:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/core/settle.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = settle;
/**
* Resolve or reject a Promise based on response status.
*
* @param {Function} resolve A function that resolves the promise.
* @param {Function} reject A function that rejects the promise.
* @param {object} response The response.
*/
function settle(resolve, reject, response) {
var validateStatus = response.config.validateStatus;
var status = response.statusCode;
if (status && (!validateStatus || validateStatus(status))) {
resolve(response);
} else {
reject(response);
}
}
/***/ }),
/***/ 49:
/*!*************************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/core/InterceptorManager.js ***!
\*************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function InterceptorManager() {
this.handlers = [];
}
/**
* Add a new interceptor to the stack
*
* @param {Function} fulfilled The function to handle `then` for a `Promise`
* @param {Function} rejected The function to handle `reject` for a `Promise`
*
* @return {Number} An ID used to remove interceptor later
*/
InterceptorManager.prototype.use = function use(fulfilled, rejected) {
this.handlers.push({
fulfilled: fulfilled,
rejected: rejected
});
return this.handlers.length - 1;
};
/**
* Remove an interceptor from the stack
*
* @param {Number} id The ID that was returned by `use`
*/
InterceptorManager.prototype.eject = function eject(id) {
if (this.handlers[id]) {
this.handlers[id] = null;
}
};
/**
* Iterate over all the registered interceptors
*
* This method is particularly useful for skipping over any
* interceptors that may have become `null` calling `eject`.
*
* @param {Function} fn The function to call for each interceptor
*/
InterceptorManager.prototype.forEach = function forEach(fn) {
this.handlers.forEach(function (h) {
if (h !== null) {
fn(h);
}
});
};
var _default = InterceptorManager;
exports.default = _default;
/***/ }),
/***/ 498:
/*!*****************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/js_sdk/wa-permission/permission.js ***!
\*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
/**
* 本模块封装了Android、iOS的应用权限判断、打开应用权限设置界面、以及位置系统服务是否开启
*/
var isIos;
// 判断推送权限是否开启
function judgeIosPermissionPush() {
var result = false;
var UIApplication = plus.ios.import("UIApplication");
var app = UIApplication.sharedApplication();
var enabledTypes = 0;
if (app.currentUserNotificationSettings) {
var settings = app.currentUserNotificationSettings();
enabledTypes = settings.plusGetAttribute("types");
console.log("enabledTypes1:" + enabledTypes);
if (enabledTypes == 0) {
console.log("推送权限没有开启");
} else {
result = true;
console.log("已经开启推送功能!");
}
plus.ios.deleteObject(settings);
} else {
enabledTypes = app.enabledRemoteNotificationTypes();
if (enabledTypes == 0) {
console.log("推送权限没有开启!");
} else {
result = true;
console.log("已经开启推送功能!");
}
console.log("enabledTypes2:" + enabledTypes);
}
plus.ios.deleteObject(app);
plus.ios.deleteObject(UIApplication);
return result;
}
// 判断定位权限是否开启
function judgeIosPermissionLocation() {
var result = false;
var cllocationManger = plus.ios.import("CLLocationManager");
var status = cllocationManger.authorizationStatus();
result = status != 2;
console.log("定位权限开启:" + result);
// 以下代码判断了手机设备的定位是否关闭,推荐另行使用方法 checkSystemEnableLocation
/* var enable = cllocationManger.locationServicesEnabled();
var status = cllocationManger.authorizationStatus();
console.log("enable:" + enable);
console.log("status:" + status);
if (enable && status != 2) {
result = true;
console.log("手机定位服务已开启且已授予定位权限");
} else {
console.log("手机系统的定位没有打开或未给予定位权限");
} */
plus.ios.deleteObject(cllocationManger);
return result;
}
// 判断麦克风权限是否开启
function judgeIosPermissionRecord() {
var result = false;
var avaudiosession = plus.ios.import("AVAudioSession");
var avaudio = avaudiosession.sharedInstance();
var permissionStatus = avaudio.recordPermission();
console.log("permissionStatus:" + permissionStatus);
if (permissionStatus == 1684369017 || permissionStatus == 1970168948) {
console.log("麦克风权限没有开启");
} else {
result = true;
console.log("麦克风权限已经开启");
}
plus.ios.deleteObject(avaudiosession);
return result;
}
// 判断相机权限是否开启
function judgeIosPermissionCamera() {
var result = false;
var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
console.log("authStatus:" + authStatus);
if (authStatus == 3) {
result = true;
console.log("相机权限已经开启");
} else {
console.log("相机权限没有开启");
}
plus.ios.deleteObject(AVCaptureDevice);
return result;
}
// 判断相册权限是否开启
function judgeIosPermissionPhotoLibrary() {
var result = false;
var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary");
var authStatus = PHPhotoLibrary.authorizationStatus();
console.log("authStatus:" + authStatus);
if (authStatus == 3) {
result = true;
console.log("相册权限已经开启");
} else {
console.log("相册权限没有开启");
}
plus.ios.deleteObject(PHPhotoLibrary);
return result;
}
// 判断通讯录权限是否开启
function judgeIosPermissionContact() {
var result = false;
var CNContactStore = plus.ios.import("CNContactStore");
var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);
if (cnAuthStatus == 3) {
result = true;
console.log("通讯录权限已经开启");
} else {
console.log("通讯录权限没有开启");
}
plus.ios.deleteObject(CNContactStore);
return result;
}
// 判断日历权限是否开启
function judgeIosPermissionCalendar() {
var result = false;
var EKEventStore = plus.ios.import("EKEventStore");
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);
if (ekAuthStatus == 3) {
result = true;
console.log("日历权限已经开启");
} else {
console.log("日历权限没有开启");
}
plus.ios.deleteObject(EKEventStore);
return result;
}
// 判断备忘录权限是否开启
function judgeIosPermissionMemo() {
var result = false;
var EKEventStore = plus.ios.import("EKEventStore");
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);
if (ekAuthStatus == 3) {
result = true;
console.log("备忘录权限已经开启");
} else {
console.log("备忘录权限没有开启");
}
plus.ios.deleteObject(EKEventStore);
return result;
}
// Android权限查询
function requestAndroidPermission(permissionID) {
return new Promise(function (resolve, reject) {
plus.android.requestPermissions([permissionID],
// 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装
function (resultObj) {
var result = 0;
for (var i = 0; i < resultObj.granted.length; i++) {
var grantedPermission = resultObj.granted[i];
console.log('已获取的权限:' + grantedPermission);
result = 1;
}
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
var deniedPresentPermission = resultObj.deniedPresent[i];
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
result = 0;
}
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
var deniedAlwaysPermission = resultObj.deniedAlways[i];
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
result = -1;
}
resolve(result);
// 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限
// if (result != 1) {
// gotoAppPermissionSetting()
// }
}, function (error) {
console.log('申请权限错误:' + error.code + " = " + error.message);
resolve({
code: error.code,
message: error.message
});
});
});
}
// 使用一个方法,根据参数判断权限
function judgeIosPermission(permissionID) {
if (permissionID == "location") {
return judgeIosPermissionLocation();
} else if (permissionID == "camera") {
return judgeIosPermissionCamera();
} else if (permissionID == "photoLibrary") {
return judgeIosPermissionPhotoLibrary();
} else if (permissionID == "record") {
return judgeIosPermissionRecord();
} else if (permissionID == "push") {
return judgeIosPermissionPush();
} else if (permissionID == "contact") {
return judgeIosPermissionContact();
} else if (permissionID == "calendar") {
return judgeIosPermissionCalendar();
} else if (permissionID == "memo") {
return judgeIosPermissionMemo();
}
return false;
}
// 跳转到**应用**的权限页面
function gotoAppPermissionSetting() {
if (isIos) {
var UIApplication = plus.ios.import("UIApplication");
var application2 = UIApplication.sharedApplication();
var NSURL2 = plus.ios.import("NSURL");
// var setting2 = NSURL2.URLWithString("prefs:root=LOCATION_SERVICES");
var setting2 = NSURL2.URLWithString("app-settings:");
application2.openURL(setting2);
plus.ios.deleteObject(setting2);
plus.ios.deleteObject(NSURL2);
plus.ios.deleteObject(application2);
} else {
// console.log(plus.device.vendor);
var Intent = plus.android.importClass("android.content.Intent");
var Settings = plus.android.importClass("android.provider.Settings");
var Uri = plus.android.importClass("android.net.Uri");
var mainActivity = plus.android.runtimeMainActivity();
var intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
intent.setData(uri);
mainActivity.startActivity(intent);
}
}
// 检查系统的设备服务是否开启
// var checkSystemEnableLocation = async function () {
function checkSystemEnableLocation() {
if (isIos) {
var result = false;
var cllocationManger = plus.ios.import("CLLocationManager");
var result = cllocationManger.locationServicesEnabled();
console.log("系统定位开启:" + result);
plus.ios.deleteObject(cllocationManger);
return result;
} else {
var context = plus.android.importClass("android.content.Context");
var locationManager = plus.android.importClass("android.location.LocationManager");
var main = plus.android.runtimeMainActivity();
var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
var result = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER);
console.log("系统定位开启:" + result);
return result;
}
}
module.exports = {
judgeIosPermission: judgeIosPermission,
requestAndroidPermission: requestAndroidPermission,
checkSystemEnableLocation: checkSystemEnableLocation,
gotoAppPermissionSetting: gotoAppPermissionSetting
};
/***/ }),
/***/ 5:
/*!**************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ 6);
var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ 7);
var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 8);
var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ 10);
function _slicedToArray(arr, i) {
return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
}
module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 50:
/*!******************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/core/mergeConfig.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.default = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
var _utils = __webpack_require__(/*! ../utils */ 44);
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; }
/**
* 合并局部配置优先的配置,如果局部有该配置项则用局部,如果全局有该配置项则用全局
* @param {Array} keys - 配置项
* @param {Object} globalsConfig - 当前的全局配置
* @param {Object} config2 - 局部配置
* @return {{}}
*/
var mergeKeys = function mergeKeys(keys, globalsConfig, config2) {
var config = {};
keys.forEach(function (prop) {
if (!(0, _utils.isUndefined)(config2[prop])) {
config[prop] = config2[prop];
} else if (!(0, _utils.isUndefined)(globalsConfig[prop])) {
config[prop] = globalsConfig[prop];
}
});
return config;
};
/**
*
* @param globalsConfig - 当前实例的全局配置
* @param config2 - 当前的局部配置
* @return - 合并后的配置
*/
var _default = function _default(globalsConfig) {
var config2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var method = config2.method || globalsConfig.method || 'GET';
var config = {
baseURL: globalsConfig.baseURL || '',
method: method,
url: config2.url || '',
params: config2.params || {},
custom: _objectSpread(_objectSpread({}, globalsConfig.custom || {}), config2.custom || {}),
header: (0, _utils.deepMerge)(globalsConfig.header || {}, config2.header || {})
};
var defaultToConfig2Keys = ['getTask', 'validateStatus'];
config = _objectSpread(_objectSpread({}, config), mergeKeys(defaultToConfig2Keys, globalsConfig, config2));
// eslint-disable-next-line no-empty
if (method === 'DOWNLOAD') {} else if (method === 'UPLOAD') {
delete config.header['content-type'];
delete config.header['Content-Type'];
var uploadKeys = ['filePath', 'name', 'formData'];
uploadKeys.forEach(function (prop) {
if (!(0, _utils.isUndefined)(config2[prop])) {
config[prop] = config2[prop];
}
});
} else {
var defaultsKeys = ['data', 'timeout', 'dataType', 'responseType'];
config = _objectSpread(_objectSpread({}, config), mergeKeys(defaultsKeys, globalsConfig, config2));
}
return config;
};
exports.default = _default;
/***/ }),
/***/ 51:
/*!***************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/core/defaults.js ***!
\***************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/**
* 默认的全局配置
*/
var _default = {
baseURL: '',
header: {},
method: 'GET',
dataType: 'json',
responseType: 'text',
custom: {},
timeout: 60000,
validateStatus: function validateStatus(status) {
return status >= 200 && status < 300;
}
};
exports.default = _default;
/***/ }),
/***/ 515:
/*!******************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/communityService.js ***!
\******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
getCateList: '/wechat/appoints/get-cate-list',
// 获取同城服务分类列表
serverInfo: '/wechat/appoints/get-one',
// 获取同城服务详情
getAllList: '/wechat/appoints/get-all-list',
// 跟据不同的id 查分类
getHotCate: '/wechat/appoints/get-hot-cate',
//获取热门上门服务
submitServer: '/wechat/appoint-orders/now',
// 预约服务
createServerOrder: '/wechat/appoint-orders/create',
// 创建上门服务订单
getCurrentShopMsg: '/wechat/water/device/shop-info',
// 获取商家支付信息
getShopList: '/wechat/get-shop-list',
// 获取商家列表
getGoodsDesc: "/wechat/shop/shop_info" //商家详情
};
exports.apiArr = apiArr;
/***/ }),
/***/ 52:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/luch-request/utils/clone.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(Buffer) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
/* eslint-disable */
var clone = function () {
'use strict';
function _instanceof(obj, type) {
return type != null && obj instanceof type;
}
var nativeMap;
try {
nativeMap = Map;
} catch (_) {
// maybe a reference error because no `Map`. Give it a dummy value that no
// value will ever be an instanceof.
nativeMap = function nativeMap() {};
}
var nativeSet;
try {
nativeSet = Set;
} catch (_) {
nativeSet = function nativeSet() {};
}
var nativePromise;
try {
nativePromise = Promise;
} catch (_) {
nativePromise = function nativePromise() {};
}
/**
* Clones (copies) an Object using deep copying.
*
* This function supports circular references by default, but if you are certain
* there are no circular references in your object, you can save some CPU time
* by calling clone(obj, false).
*
* Caution: if `circular` is false and `parent` contains circular references,
* your program may enter an infinite loop and crash.
*
* @param `parent` - the object to be cloned
* @param `circular` - set to true if the object to be cloned may contain
* circular references. (optional - true by default)
* @param `depth` - set to a number if the object is only to be cloned to
* a particular depth. (optional - defaults to Infinity)
* @param `prototype` - sets the prototype to be used when cloning an object.
* (optional - defaults to parent prototype).
* @param `includeNonEnumerable` - set to true if the non-enumerable properties
* should be cloned as well. Non-enumerable properties on the prototype
* chain will be ignored. (optional - false by default)
*/
function clone(parent, circular, depth, prototype, includeNonEnumerable) {
if ((0, _typeof2.default)(circular) === 'object') {
depth = circular.depth;
prototype = circular.prototype;
includeNonEnumerable = circular.includeNonEnumerable;
circular = circular.circular;
}
// maintain two arrays for circular references, where corresponding parents
// and children have the same index
var allParents = [];
var allChildren = [];
var useBuffer = typeof Buffer != 'undefined';
if (typeof circular == 'undefined') circular = true;
if (typeof depth == 'undefined') depth = Infinity;
// recurse this function so we don't reset allParents and allChildren
function _clone(parent, depth) {
// cloning null always returns null
if (parent === null) return null;
if (depth === 0) return parent;
var child;
var proto;
if ((0, _typeof2.default)(parent) != 'object') {
return parent;
}
if (_instanceof(parent, nativeMap)) {
child = new nativeMap();
} else if (_instanceof(parent, nativeSet)) {
child = new nativeSet();
} else if (_instanceof(parent, nativePromise)) {
child = new nativePromise(function (resolve, reject) {
parent.then(function (value) {
resolve(_clone(value, depth - 1));
}, function (err) {
reject(_clone(err, depth - 1));
});
});
} else if (clone.__isArray(parent)) {
child = [];
} else if (clone.__isRegExp(parent)) {
child = new RegExp(parent.source, __getRegExpFlags(parent));
if (parent.lastIndex) child.lastIndex = parent.lastIndex;
} else if (clone.__isDate(parent)) {
child = new Date(parent.getTime());
} else if (useBuffer && Buffer.isBuffer(parent)) {
if (Buffer.from) {
// Node.js >= 5.10.0
child = Buffer.from(parent);
} else {
// Older Node.js versions
child = new Buffer(parent.length);
parent.copy(child);
}
return child;
} else if (_instanceof(parent, Error)) {
child = Object.create(parent);
} else {
if (typeof prototype == 'undefined') {
proto = Object.getPrototypeOf(parent);
child = Object.create(proto);
} else {
child = Object.create(prototype);
proto = prototype;
}
}
if (circular) {
var index = allParents.indexOf(parent);
if (index != -1) {
return allChildren[index];
}
allParents.push(parent);
allChildren.push(child);
}
if (_instanceof(parent, nativeMap)) {
parent.forEach(function (value, key) {
var keyChild = _clone(key, depth - 1);
var valueChild = _clone(value, depth - 1);
child.set(keyChild, valueChild);
});
}
if (_instanceof(parent, nativeSet)) {
parent.forEach(function (value) {
var entryChild = _clone(value, depth - 1);
child.add(entryChild);
});
}
for (var i in parent) {
var attrs = Object.getOwnPropertyDescriptor(parent, i);
if (attrs) {
child[i] = _clone(parent[i], depth - 1);
}
try {
var objProperty = Object.getOwnPropertyDescriptor(parent, i);
if (objProperty.set === 'undefined') {
// no setter defined. Skip cloning this property
continue;
}
child[i] = _clone(parent[i], depth - 1);
} catch (e) {
if (e instanceof TypeError) {
// when in strict mode, TypeError will be thrown if child[i] property only has a getter
// we can't do anything about this, other than inform the user that this property cannot be set.
continue;
} else if (e instanceof ReferenceError) {
//this may happen in non strict mode
continue;
}
}
}
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(parent);
for (var i = 0; i < symbols.length; i++) {
// Don't need to worry about cloning a symbol because it is a primitive,
// like a number or string.
var symbol = symbols[i];
var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);
if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {
continue;
}
child[symbol] = _clone(parent[symbol], depth - 1);
Object.defineProperty(child, symbol, descriptor);
}
}
if (includeNonEnumerable) {
var allPropertyNames = Object.getOwnPropertyNames(parent);
for (var i = 0; i < allPropertyNames.length; i++) {
var propertyName = allPropertyNames[i];
var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);
if (descriptor && descriptor.enumerable) {
continue;
}
child[propertyName] = _clone(parent[propertyName], depth - 1);
Object.defineProperty(child, propertyName, descriptor);
}
}
return child;
}
return _clone(parent, depth);
}
/**
* Simple flat clone using prototype, accepts only objects, usefull for property
* override on FLAT configuration object (no nested props).
*
* USE WITH CAUTION! This may not behave as you wish if you do not know how this
* works.
*/
clone.clonePrototype = function clonePrototype(parent) {
if (parent === null) return null;
var c = function c() {};
c.prototype = parent;
return new c();
};
// private utility functions
function __objToStr(o) {
return Object.prototype.toString.call(o);
}
clone.__objToStr = __objToStr;
function __isDate(o) {
return (0, _typeof2.default)(o) === 'object' && __objToStr(o) === '[object Date]';
}
clone.__isDate = __isDate;
function __isArray(o) {
return (0, _typeof2.default)(o) === 'object' && __objToStr(o) === '[object Array]';
}
clone.__isArray = __isArray;
function __isRegExp(o) {
return (0, _typeof2.default)(o) === 'object' && __objToStr(o) === '[object RegExp]';
}
clone.__isRegExp = __isRegExp;
function __getRegExpFlags(re) {
var flags = '';
if (re.global) flags += 'g';
if (re.ignoreCase) flags += 'i';
if (re.multiline) flags += 'm';
return flags;
}
clone.__getRegExpFlags = __getRegExpFlags;
return clone;
}();
var _default = clone;
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/buffer/index.js */ 53).Buffer))
/***/ }),
/***/ 53:
/*!**************************************!*\
!*** ./node_modules/buffer/index.js ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(global) {/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh
* @license MIT
*/
/* eslint-disable no-proto */
var base64 = __webpack_require__(/*! base64-js */ 54)
var ieee754 = __webpack_require__(/*! ieee754 */ 55)
var isArray = __webpack_require__(/*! isarray */ 56)
exports.Buffer = Buffer
exports.SlowBuffer = SlowBuffer
exports.INSPECT_MAX_BYTES = 50
/**
* If `Buffer.TYPED_ARRAY_SUPPORT`:
* === true Use Uint8Array implementation (fastest)
* === false Use Object implementation (most compatible, even IE6)
*
* Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
* Opera 11.6+, iOS 4.2+.
*
* Due to various browser bugs, sometimes the Object implementation will be used even
* when the browser supports typed arrays.
*
* Note:
*
* - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
* See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
*
* - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
*
* - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
* incorrect length in some situations.
* We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
* get the Object implementation, which is slower but behaves correctly.
*/
Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
? global.TYPED_ARRAY_SUPPORT
: typedArraySupport()
/*
* Export kMaxLength after typed array support is determined.
*/
exports.kMaxLength = kMaxLength()
function typedArraySupport () {
try {
var arr = new Uint8Array(1)
arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
return arr.foo() === 42 && // typed array instances can be augmented
typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
} catch (e) {
return false
}
}
function kMaxLength () {
return Buffer.TYPED_ARRAY_SUPPORT
? 0x7fffffff
: 0x3fffffff
}
function createBuffer (that, length) {
if (kMaxLength() < length) {
throw new RangeError('Invalid typed array length')
}
if (Buffer.TYPED_ARRAY_SUPPORT) {
// Return an augmented `Uint8Array` instance, for best performance
that = new Uint8Array(length)
that.__proto__ = Buffer.prototype
} else {
// Fallback: Return an object instance of the Buffer class
if (that === null) {
that = new Buffer(length)
}
that.length = length
}
return that
}
/**
* The Buffer constructor returns instances of `Uint8Array` that have their
* prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
* `Uint8Array`, so the returned instances will have all the node `Buffer` methods
* and the `Uint8Array` methods. Square bracket notation works as expected -- it
* returns a single octet.
*
* The `Uint8Array` prototype remains unmodified.
*/
function Buffer (arg, encodingOrOffset, length) {
if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
return new Buffer(arg, encodingOrOffset, length)
}
// Common case.
if (typeof arg === 'number') {
if (typeof encodingOrOffset === 'string') {
throw new Error(
'If encoding is specified then the first argument must be a string'
)
}
return allocUnsafe(this, arg)
}
return from(this, arg, encodingOrOffset, length)
}
Buffer.poolSize = 8192 // not used by this implementation
// TODO: Legacy, not needed anymore. Remove in next major version.
Buffer._augment = function (arr) {
arr.__proto__ = Buffer.prototype
return arr
}
function from (that, value, encodingOrOffset, length) {
if (typeof value === 'number') {
throw new TypeError('"value" argument must not be a number')
}
if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
return fromArrayBuffer(that, value, encodingOrOffset, length)
}
if (typeof value === 'string') {
return fromString(that, value, encodingOrOffset)
}
return fromObject(that, value)
}
/**
* Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
* if value is a number.
* Buffer.from(str[, encoding])
* Buffer.from(array)
* Buffer.from(buffer)
* Buffer.from(arrayBuffer[, byteOffset[, length]])
**/
Buffer.from = function (value, encodingOrOffset, length) {
return from(null, value, encodingOrOffset, length)
}
if (Buffer.TYPED_ARRAY_SUPPORT) {
Buffer.prototype.__proto__ = Uint8Array.prototype
Buffer.__proto__ = Uint8Array
if (typeof Symbol !== 'undefined' && Symbol.species &&
Buffer[Symbol.species] === Buffer) {
// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
Object.defineProperty(Buffer, Symbol.species, {
value: null,
configurable: true
})
}
}
function assertSize (size) {
if (typeof size !== 'number') {
throw new TypeError('"size" argument must be a number')
} else if (size < 0) {
throw new RangeError('"size" argument must not be negative')
}
}
function alloc (that, size, fill, encoding) {
assertSize(size)
if (size <= 0) {
return createBuffer(that, size)
}
if (fill !== undefined) {
// Only pay attention to encoding if it's a string. This
// prevents accidentally sending in a number that would
// be interpretted as a start offset.
return typeof encoding === 'string'
? createBuffer(that, size).fill(fill, encoding)
: createBuffer(that, size).fill(fill)
}
return createBuffer(that, size)
}
/**
* Creates a new filled Buffer instance.
* alloc(size[, fill[, encoding]])
**/
Buffer.alloc = function (size, fill, encoding) {
return alloc(null, size, fill, encoding)
}
function allocUnsafe (that, size) {
assertSize(size)
that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
if (!Buffer.TYPED_ARRAY_SUPPORT) {
for (var i = 0; i < size; ++i) {
that[i] = 0
}
}
return that
}
/**
* Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
* */
Buffer.allocUnsafe = function (size) {
return allocUnsafe(null, size)
}
/**
* Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
*/
Buffer.allocUnsafeSlow = function (size) {
return allocUnsafe(null, size)
}
function fromString (that, string, encoding) {
if (typeof encoding !== 'string' || encoding === '') {
encoding = 'utf8'
}
if (!Buffer.isEncoding(encoding)) {
throw new TypeError('"encoding" must be a valid string encoding')
}
var length = byteLength(string, encoding) | 0
that = createBuffer(that, length)
var actual = that.write(string, encoding)
if (actual !== length) {
// Writing a hex string, for example, that contains invalid characters will
// cause everything after the first invalid character to be ignored. (e.g.
// 'abxxcd' will be treated as 'ab')
that = that.slice(0, actual)
}
return that
}
function fromArrayLike (that, array) {
var length = array.length < 0 ? 0 : checked(array.length) | 0
that = createBuffer(that, length)
for (var i = 0; i < length; i += 1) {
that[i] = array[i] & 255
}
return that
}
function fromArrayBuffer (that, array, byteOffset, length) {
array.byteLength // this throws if `array` is not a valid ArrayBuffer
if (byteOffset < 0 || array.byteLength < byteOffset) {
throw new RangeError('\'offset\' is out of bounds')
}
if (array.byteLength < byteOffset + (length || 0)) {
throw new RangeError('\'length\' is out of bounds')
}
if (byteOffset === undefined && length === undefined) {
array = new Uint8Array(array)
} else if (length === undefined) {
array = new Uint8Array(array, byteOffset)
} else {
array = new Uint8Array(array, byteOffset, length)
}
if (Buffer.TYPED_ARRAY_SUPPORT) {
// Return an augmented `Uint8Array` instance, for best performance
that = array
that.__proto__ = Buffer.prototype
} else {
// Fallback: Return an object instance of the Buffer class
that = fromArrayLike(that, array)
}
return that
}
function fromObject (that, obj) {
if (Buffer.isBuffer(obj)) {
var len = checked(obj.length) | 0
that = createBuffer(that, len)
if (that.length === 0) {
return that
}
obj.copy(that, 0, 0, len)
return that
}
if (obj) {
if ((typeof ArrayBuffer !== 'undefined' &&
obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
if (typeof obj.length !== 'number' || isnan(obj.length)) {
return createBuffer(that, 0)
}
return fromArrayLike(that, obj)
}
if (obj.type === 'Buffer' && isArray(obj.data)) {
return fromArrayLike(that, obj.data)
}
}
throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
}
function checked (length) {
// Note: cannot use `length < kMaxLength()` here because that fails when
// length is NaN (which is otherwise coerced to zero.)
if (length >= kMaxLength()) {
throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
'size: 0x' + kMaxLength().toString(16) + ' bytes')
}
return length | 0
}
function SlowBuffer (length) {
if (+length != length) { // eslint-disable-line eqeqeq
length = 0
}
return Buffer.alloc(+length)
}
Buffer.isBuffer = function isBuffer (b) {
return !!(b != null && b._isBuffer)
}
Buffer.compare = function compare (a, b) {
if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
throw new TypeError('Arguments must be Buffers')
}
if (a === b) return 0
var x = a.length
var y = b.length
for (var i = 0, len = Math.min(x, y); i < len; ++i) {
if (a[i] !== b[i]) {
x = a[i]
y = b[i]
break
}
}
if (x < y) return -1
if (y < x) return 1
return 0
}
Buffer.isEncoding = function isEncoding (encoding) {
switch (String(encoding).toLowerCase()) {
case 'hex':
case 'utf8':
case 'utf-8':
case 'ascii':
case 'latin1':
case 'binary':
case 'base64':
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return true
default:
return false
}
}
Buffer.concat = function concat (list, length) {
if (!isArray(list)) {
throw new TypeError('"list" argument must be an Array of Buffers')
}
if (list.length === 0) {
return Buffer.alloc(0)
}
var i
if (length === undefined) {
length = 0
for (i = 0; i < list.length; ++i) {
length += list[i].length
}
}
var buffer = Buffer.allocUnsafe(length)
var pos = 0
for (i = 0; i < list.length; ++i) {
var buf = list[i]
if (!Buffer.isBuffer(buf)) {
throw new TypeError('"list" argument must be an Array of Buffers')
}
buf.copy(buffer, pos)
pos += buf.length
}
return buffer
}
function byteLength (string, encoding) {
if (Buffer.isBuffer(string)) {
return string.length
}
if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
(ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
return string.byteLength
}
if (typeof string !== 'string') {
string = '' + string
}
var len = string.length
if (len === 0) return 0
// Use a for loop to avoid recursion
var loweredCase = false
for (;;) {
switch (encoding) {
case 'ascii':
case 'latin1':
case 'binary':
return len
case 'utf8':
case 'utf-8':
case undefined:
return utf8ToBytes(string).length
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return len * 2
case 'hex':
return len >>> 1
case 'base64':
return base64ToBytes(string).length
default:
if (loweredCase) return utf8ToBytes(string).length // assume utf8
encoding = ('' + encoding).toLowerCase()
loweredCase = true
}
}
}
Buffer.byteLength = byteLength
function slowToString (encoding, start, end) {
var loweredCase = false
// No need to verify that "this.length <= MAX_UINT32" since it's a read-only
// property of a typed array.
// This behaves neither like String nor Uint8Array in that we set start/end
// to their upper/lower bounds if the value passed is out of range.
// undefined is handled specially as per ECMA-262 6th Edition,
// Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
if (start === undefined || start < 0) {
start = 0
}
// Return early if start > this.length. Done here to prevent potential uint32
// coercion fail below.
if (start > this.length) {
return ''
}
if (end === undefined || end > this.length) {
end = this.length
}
if (end <= 0) {
return ''
}
// Force coersion to uint32. This will also coerce falsey/NaN values to 0.
end >>>= 0
start >>>= 0
if (end <= start) {
return ''
}
if (!encoding) encoding = 'utf8'
while (true) {
switch (encoding) {
case 'hex':
return hexSlice(this, start, end)
case 'utf8':
case 'utf-8':
return utf8Slice(this, start, end)
case 'ascii':
return asciiSlice(this, start, end)
case 'latin1':
case 'binary':
return latin1Slice(this, start, end)
case 'base64':
return base64Slice(this, start, end)
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return utf16leSlice(this, start, end)
default:
if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
encoding = (encoding + '').toLowerCase()
loweredCase = true
}
}
}
// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
// Buffer instances.
Buffer.prototype._isBuffer = true
function swap (b, n, m) {
var i = b[n]
b[n] = b[m]
b[m] = i
}
Buffer.prototype.swap16 = function swap16 () {
var len = this.length
if (len % 2 !== 0) {
throw new RangeError('Buffer size must be a multiple of 16-bits')
}
for (var i = 0; i < len; i += 2) {
swap(this, i, i + 1)
}
return this
}
Buffer.prototype.swap32 = function swap32 () {
var len = this.length
if (len % 4 !== 0) {
throw new RangeError('Buffer size must be a multiple of 32-bits')
}
for (var i = 0; i < len; i += 4) {
swap(this, i, i + 3)
swap(this, i + 1, i + 2)
}
return this
}
Buffer.prototype.swap64 = function swap64 () {
var len = this.length
if (len % 8 !== 0) {
throw new RangeError('Buffer size must be a multiple of 64-bits')
}
for (var i = 0; i < len; i += 8) {
swap(this, i, i + 7)
swap(this, i + 1, i + 6)
swap(this, i + 2, i + 5)
swap(this, i + 3, i + 4)
}
return this
}
Buffer.prototype.toString = function toString () {
var length = this.length | 0
if (length === 0) return ''
if (arguments.length === 0) return utf8Slice(this, 0, length)
return slowToString.apply(this, arguments)
}
Buffer.prototype.equals = function equals (b) {
if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
if (this === b) return true
return Buffer.compare(this, b) === 0
}
Buffer.prototype.inspect = function inspect () {
var str = ''
var max = exports.INSPECT_MAX_BYTES
if (this.length > 0) {
str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
if (this.length > max) str += ' ... '
}
return ''
}
Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
if (!Buffer.isBuffer(target)) {
throw new TypeError('Argument must be a Buffer')
}
if (start === undefined) {
start = 0
}
if (end === undefined) {
end = target ? target.length : 0
}
if (thisStart === undefined) {
thisStart = 0
}
if (thisEnd === undefined) {
thisEnd = this.length
}
if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
throw new RangeError('out of range index')
}
if (thisStart >= thisEnd && start >= end) {
return 0
}
if (thisStart >= thisEnd) {
return -1
}
if (start >= end) {
return 1
}
start >>>= 0
end >>>= 0
thisStart >>>= 0
thisEnd >>>= 0
if (this === target) return 0
var x = thisEnd - thisStart
var y = end - start
var len = Math.min(x, y)
var thisCopy = this.slice(thisStart, thisEnd)
var targetCopy = target.slice(start, end)
for (var i = 0; i < len; ++i) {
if (thisCopy[i] !== targetCopy[i]) {
x = thisCopy[i]
y = targetCopy[i]
break
}
}
if (x < y) return -1
if (y < x) return 1
return 0
}
// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
//
// Arguments:
// - buffer - a Buffer to search
// - val - a string, Buffer, or number
// - byteOffset - an index into `buffer`; will be clamped to an int32
// - encoding - an optional encoding, relevant is val is a string
// - dir - true for indexOf, false for lastIndexOf
function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
// Empty buffer means no match
if (buffer.length === 0) return -1
// Normalize byteOffset
if (typeof byteOffset === 'string') {
encoding = byteOffset
byteOffset = 0
} else if (byteOffset > 0x7fffffff) {
byteOffset = 0x7fffffff
} else if (byteOffset < -0x80000000) {
byteOffset = -0x80000000
}
byteOffset = +byteOffset // Coerce to Number.
if (isNaN(byteOffset)) {
// byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
byteOffset = dir ? 0 : (buffer.length - 1)
}
// Normalize byteOffset: negative offsets start from the end of the buffer
if (byteOffset < 0) byteOffset = buffer.length + byteOffset
if (byteOffset >= buffer.length) {
if (dir) return -1
else byteOffset = buffer.length - 1
} else if (byteOffset < 0) {
if (dir) byteOffset = 0
else return -1
}
// Normalize val
if (typeof val === 'string') {
val = Buffer.from(val, encoding)
}
// Finally, search either indexOf (if dir is true) or lastIndexOf
if (Buffer.isBuffer(val)) {
// Special case: looking for empty string/buffer always fails
if (val.length === 0) {
return -1
}
return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
} else if (typeof val === 'number') {
val = val & 0xFF // Search for a byte value [0-255]
if (Buffer.TYPED_ARRAY_SUPPORT &&
typeof Uint8Array.prototype.indexOf === 'function') {
if (dir) {
return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
} else {
return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
}
}
return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
}
throw new TypeError('val must be string, number or Buffer')
}
function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
var indexSize = 1
var arrLength = arr.length
var valLength = val.length
if (encoding !== undefined) {
encoding = String(encoding).toLowerCase()
if (encoding === 'ucs2' || encoding === 'ucs-2' ||
encoding === 'utf16le' || encoding === 'utf-16le') {
if (arr.length < 2 || val.length < 2) {
return -1
}
indexSize = 2
arrLength /= 2
valLength /= 2
byteOffset /= 2
}
}
function read (buf, i) {
if (indexSize === 1) {
return buf[i]
} else {
return buf.readUInt16BE(i * indexSize)
}
}
var i
if (dir) {
var foundIndex = -1
for (i = byteOffset; i < arrLength; i++) {
if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
if (foundIndex === -1) foundIndex = i
if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
} else {
if (foundIndex !== -1) i -= i - foundIndex
foundIndex = -1
}
}
} else {
if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
for (i = byteOffset; i >= 0; i--) {
var found = true
for (var j = 0; j < valLength; j++) {
if (read(arr, i + j) !== read(val, j)) {
found = false
break
}
}
if (found) return i
}
}
return -1
}
Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
return this.indexOf(val, byteOffset, encoding) !== -1
}
Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
}
Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
}
function hexWrite (buf, string, offset, length) {
offset = Number(offset) || 0
var remaining = buf.length - offset
if (!length) {
length = remaining
} else {
length = Number(length)
if (length > remaining) {
length = remaining
}
}
// must be an even number of digits
var strLen = string.length
if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
if (length > strLen / 2) {
length = strLen / 2
}
for (var i = 0; i < length; ++i) {
var parsed = parseInt(string.substr(i * 2, 2), 16)
if (isNaN(parsed)) return i
buf[offset + i] = parsed
}
return i
}
function utf8Write (buf, string, offset, length) {
return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
}
function asciiWrite (buf, string, offset, length) {
return blitBuffer(asciiToBytes(string), buf, offset, length)
}
function latin1Write (buf, string, offset, length) {
return asciiWrite(buf, string, offset, length)
}
function base64Write (buf, string, offset, length) {
return blitBuffer(base64ToBytes(string), buf, offset, length)
}
function ucs2Write (buf, string, offset, length) {
return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
}
Buffer.prototype.write = function write (string, offset, length, encoding) {
// Buffer#write(string)
if (offset === undefined) {
encoding = 'utf8'
length = this.length
offset = 0
// Buffer#write(string, encoding)
} else if (length === undefined && typeof offset === 'string') {
encoding = offset
length = this.length
offset = 0
// Buffer#write(string, offset[, length][, encoding])
} else if (isFinite(offset)) {
offset = offset | 0
if (isFinite(length)) {
length = length | 0
if (encoding === undefined) encoding = 'utf8'
} else {
encoding = length
length = undefined
}
// legacy write(string, encoding, offset, length) - remove in v0.13
} else {
throw new Error(
'Buffer.write(string, encoding, offset[, length]) is no longer supported'
)
}
var remaining = this.length - offset
if (length === undefined || length > remaining) length = remaining
if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
throw new RangeError('Attempt to write outside buffer bounds')
}
if (!encoding) encoding = 'utf8'
var loweredCase = false
for (;;) {
switch (encoding) {
case 'hex':
return hexWrite(this, string, offset, length)
case 'utf8':
case 'utf-8':
return utf8Write(this, string, offset, length)
case 'ascii':
return asciiWrite(this, string, offset, length)
case 'latin1':
case 'binary':
return latin1Write(this, string, offset, length)
case 'base64':
// Warning: maxLength not taken into account in base64Write
return base64Write(this, string, offset, length)
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return ucs2Write(this, string, offset, length)
default:
if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
encoding = ('' + encoding).toLowerCase()
loweredCase = true
}
}
}
Buffer.prototype.toJSON = function toJSON () {
return {
type: 'Buffer',
data: Array.prototype.slice.call(this._arr || this, 0)
}
}
function base64Slice (buf, start, end) {
if (start === 0 && end === buf.length) {
return base64.fromByteArray(buf)
} else {
return base64.fromByteArray(buf.slice(start, end))
}
}
function utf8Slice (buf, start, end) {
end = Math.min(buf.length, end)
var res = []
var i = start
while (i < end) {
var firstByte = buf[i]
var codePoint = null
var bytesPerSequence = (firstByte > 0xEF) ? 4
: (firstByte > 0xDF) ? 3
: (firstByte > 0xBF) ? 2
: 1
if (i + bytesPerSequence <= end) {
var secondByte, thirdByte, fourthByte, tempCodePoint
switch (bytesPerSequence) {
case 1:
if (firstByte < 0x80) {
codePoint = firstByte
}
break
case 2:
secondByte = buf[i + 1]
if ((secondByte & 0xC0) === 0x80) {
tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
if (tempCodePoint > 0x7F) {
codePoint = tempCodePoint
}
}
break
case 3:
secondByte = buf[i + 1]
thirdByte = buf[i + 2]
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
codePoint = tempCodePoint
}
}
break
case 4:
secondByte = buf[i + 1]
thirdByte = buf[i + 2]
fourthByte = buf[i + 3]
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
codePoint = tempCodePoint
}
}
}
}
if (codePoint === null) {
// we did not generate a valid codePoint so insert a
// replacement char (U+FFFD) and advance only 1 byte
codePoint = 0xFFFD
bytesPerSequence = 1
} else if (codePoint > 0xFFFF) {
// encode to utf16 (surrogate pair dance)
codePoint -= 0x10000
res.push(codePoint >>> 10 & 0x3FF | 0xD800)
codePoint = 0xDC00 | codePoint & 0x3FF
}
res.push(codePoint)
i += bytesPerSequence
}
return decodeCodePointsArray(res)
}
// Based on http://stackoverflow.com/a/22747272/680742, the browser with
// the lowest limit is Chrome, with 0x10000 args.
// We go 1 magnitude less, for safety
var MAX_ARGUMENTS_LENGTH = 0x1000
function decodeCodePointsArray (codePoints) {
var len = codePoints.length
if (len <= MAX_ARGUMENTS_LENGTH) {
return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
}
// Decode in chunks to avoid "call stack size exceeded".
var res = ''
var i = 0
while (i < len) {
res += String.fromCharCode.apply(
String,
codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
)
}
return res
}
function asciiSlice (buf, start, end) {
var ret = ''
end = Math.min(buf.length, end)
for (var i = start; i < end; ++i) {
ret += String.fromCharCode(buf[i] & 0x7F)
}
return ret
}
function latin1Slice (buf, start, end) {
var ret = ''
end = Math.min(buf.length, end)
for (var i = start; i < end; ++i) {
ret += String.fromCharCode(buf[i])
}
return ret
}
function hexSlice (buf, start, end) {
var len = buf.length
if (!start || start < 0) start = 0
if (!end || end < 0 || end > len) end = len
var out = ''
for (var i = start; i < end; ++i) {
out += toHex(buf[i])
}
return out
}
function utf16leSlice (buf, start, end) {
var bytes = buf.slice(start, end)
var res = ''
for (var i = 0; i < bytes.length; i += 2) {
res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
}
return res
}
Buffer.prototype.slice = function slice (start, end) {
var len = this.length
start = ~~start
end = end === undefined ? len : ~~end
if (start < 0) {
start += len
if (start < 0) start = 0
} else if (start > len) {
start = len
}
if (end < 0) {
end += len
if (end < 0) end = 0
} else if (end > len) {
end = len
}
if (end < start) end = start
var newBuf
if (Buffer.TYPED_ARRAY_SUPPORT) {
newBuf = this.subarray(start, end)
newBuf.__proto__ = Buffer.prototype
} else {
var sliceLen = end - start
newBuf = new Buffer(sliceLen, undefined)
for (var i = 0; i < sliceLen; ++i) {
newBuf[i] = this[i + start]
}
}
return newBuf
}
/*
* Need to make sure that buffer isn't trying to write out of bounds.
*/
function checkOffset (offset, ext, length) {
if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
}
Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
offset = offset | 0
byteLength = byteLength | 0
if (!noAssert) checkOffset(offset, byteLength, this.length)
var val = this[offset]
var mul = 1
var i = 0
while (++i < byteLength && (mul *= 0x100)) {
val += this[offset + i] * mul
}
return val
}
Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
offset = offset | 0
byteLength = byteLength | 0
if (!noAssert) {
checkOffset(offset, byteLength, this.length)
}
var val = this[offset + --byteLength]
var mul = 1
while (byteLength > 0 && (mul *= 0x100)) {
val += this[offset + --byteLength] * mul
}
return val
}
Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
if (!noAssert) checkOffset(offset, 1, this.length)
return this[offset]
}
Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 2, this.length)
return this[offset] | (this[offset + 1] << 8)
}
Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 2, this.length)
return (this[offset] << 8) | this[offset + 1]
}
Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 4, this.length)
return ((this[offset]) |
(this[offset + 1] << 8) |
(this[offset + 2] << 16)) +
(this[offset + 3] * 0x1000000)
}
Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 4, this.length)
return (this[offset] * 0x1000000) +
((this[offset + 1] << 16) |
(this[offset + 2] << 8) |
this[offset + 3])
}
Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
offset = offset | 0
byteLength = byteLength | 0
if (!noAssert) checkOffset(offset, byteLength, this.length)
var val = this[offset]
var mul = 1
var i = 0
while (++i < byteLength && (mul *= 0x100)) {
val += this[offset + i] * mul
}
mul *= 0x80
if (val >= mul) val -= Math.pow(2, 8 * byteLength)
return val
}
Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
offset = offset | 0
byteLength = byteLength | 0
if (!noAssert) checkOffset(offset, byteLength, this.length)
var i = byteLength
var mul = 1
var val = this[offset + --i]
while (i > 0 && (mul *= 0x100)) {
val += this[offset + --i] * mul
}
mul *= 0x80
if (val >= mul) val -= Math.pow(2, 8 * byteLength)
return val
}
Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
if (!noAssert) checkOffset(offset, 1, this.length)
if (!(this[offset] & 0x80)) return (this[offset])
return ((0xff - this[offset] + 1) * -1)
}
Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 2, this.length)
var val = this[offset] | (this[offset + 1] << 8)
return (val & 0x8000) ? val | 0xFFFF0000 : val
}
Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 2, this.length)
var val = this[offset + 1] | (this[offset] << 8)
return (val & 0x8000) ? val | 0xFFFF0000 : val
}
Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 4, this.length)
return (this[offset]) |
(this[offset + 1] << 8) |
(this[offset + 2] << 16) |
(this[offset + 3] << 24)
}
Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 4, this.length)
return (this[offset] << 24) |
(this[offset + 1] << 16) |
(this[offset + 2] << 8) |
(this[offset + 3])
}
Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 4, this.length)
return ieee754.read(this, offset, true, 23, 4)
}
Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 4, this.length)
return ieee754.read(this, offset, false, 23, 4)
}
Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 8, this.length)
return ieee754.read(this, offset, true, 52, 8)
}
Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
if (!noAssert) checkOffset(offset, 8, this.length)
return ieee754.read(this, offset, false, 52, 8)
}
function checkInt (buf, value, offset, ext, max, min) {
if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
if (offset + ext > buf.length) throw new RangeError('Index out of range')
}
Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
value = +value
offset = offset | 0
byteLength = byteLength | 0
if (!noAssert) {
var maxBytes = Math.pow(2, 8 * byteLength) - 1
checkInt(this, value, offset, byteLength, maxBytes, 0)
}
var mul = 1
var i = 0
this[offset] = value & 0xFF
while (++i < byteLength && (mul *= 0x100)) {
this[offset + i] = (value / mul) & 0xFF
}
return offset + byteLength
}
Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
value = +value
offset = offset | 0
byteLength = byteLength | 0
if (!noAssert) {
var maxBytes = Math.pow(2, 8 * byteLength) - 1
checkInt(this, value, offset, byteLength, maxBytes, 0)
}
var i = byteLength - 1
var mul = 1
this[offset + i] = value & 0xFF
while (--i >= 0 && (mul *= 0x100)) {
this[offset + i] = (value / mul) & 0xFF
}
return offset + byteLength
}
Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
this[offset] = (value & 0xff)
return offset + 1
}
function objectWriteUInt16 (buf, value, offset, littleEndian) {
if (value < 0) value = 0xffff + value + 1
for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
(littleEndian ? i : 1 - i) * 8
}
}
Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset] = (value & 0xff)
this[offset + 1] = (value >>> 8)
} else {
objectWriteUInt16(this, value, offset, true)
}
return offset + 2
}
Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset] = (value >>> 8)
this[offset + 1] = (value & 0xff)
} else {
objectWriteUInt16(this, value, offset, false)
}
return offset + 2
}
function objectWriteUInt32 (buf, value, offset, littleEndian) {
if (value < 0) value = 0xffffffff + value + 1
for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
}
}
Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset + 3] = (value >>> 24)
this[offset + 2] = (value >>> 16)
this[offset + 1] = (value >>> 8)
this[offset] = (value & 0xff)
} else {
objectWriteUInt32(this, value, offset, true)
}
return offset + 4
}
Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset] = (value >>> 24)
this[offset + 1] = (value >>> 16)
this[offset + 2] = (value >>> 8)
this[offset + 3] = (value & 0xff)
} else {
objectWriteUInt32(this, value, offset, false)
}
return offset + 4
}
Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) {
var limit = Math.pow(2, 8 * byteLength - 1)
checkInt(this, value, offset, byteLength, limit - 1, -limit)
}
var i = 0
var mul = 1
var sub = 0
this[offset] = value & 0xFF
while (++i < byteLength && (mul *= 0x100)) {
if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
sub = 1
}
this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
}
return offset + byteLength
}
Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) {
var limit = Math.pow(2, 8 * byteLength - 1)
checkInt(this, value, offset, byteLength, limit - 1, -limit)
}
var i = byteLength - 1
var mul = 1
var sub = 0
this[offset + i] = value & 0xFF
while (--i >= 0 && (mul *= 0x100)) {
if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
sub = 1
}
this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
}
return offset + byteLength
}
Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
if (value < 0) value = 0xff + value + 1
this[offset] = (value & 0xff)
return offset + 1
}
Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset] = (value & 0xff)
this[offset + 1] = (value >>> 8)
} else {
objectWriteUInt16(this, value, offset, true)
}
return offset + 2
}
Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset] = (value >>> 8)
this[offset + 1] = (value & 0xff)
} else {
objectWriteUInt16(this, value, offset, false)
}
return offset + 2
}
Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset] = (value & 0xff)
this[offset + 1] = (value >>> 8)
this[offset + 2] = (value >>> 16)
this[offset + 3] = (value >>> 24)
} else {
objectWriteUInt32(this, value, offset, true)
}
return offset + 4
}
Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
value = +value
offset = offset | 0
if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
if (value < 0) value = 0xffffffff + value + 1
if (Buffer.TYPED_ARRAY_SUPPORT) {
this[offset] = (value >>> 24)
this[offset + 1] = (value >>> 16)
this[offset + 2] = (value >>> 8)
this[offset + 3] = (value & 0xff)
} else {
objectWriteUInt32(this, value, offset, false)
}
return offset + 4
}
function checkIEEE754 (buf, value, offset, ext, max, min) {
if (offset + ext > buf.length) throw new RangeError('Index out of range')
if (offset < 0) throw new RangeError('Index out of range')
}
function writeFloat (buf, value, offset, littleEndian, noAssert) {
if (!noAssert) {
checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
}
ieee754.write(buf, value, offset, littleEndian, 23, 4)
return offset + 4
}
Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
return writeFloat(this, value, offset, true, noAssert)
}
Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
return writeFloat(this, value, offset, false, noAssert)
}
function writeDouble (buf, value, offset, littleEndian, noAssert) {
if (!noAssert) {
checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
}
ieee754.write(buf, value, offset, littleEndian, 52, 8)
return offset + 8
}
Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
return writeDouble(this, value, offset, true, noAssert)
}
Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
return writeDouble(this, value, offset, false, noAssert)
}
// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
Buffer.prototype.copy = function copy (target, targetStart, start, end) {
if (!start) start = 0
if (!end && end !== 0) end = this.length
if (targetStart >= target.length) targetStart = target.length
if (!targetStart) targetStart = 0
if (end > 0 && end < start) end = start
// Copy 0 bytes; we're done
if (end === start) return 0
if (target.length === 0 || this.length === 0) return 0
// Fatal error conditions
if (targetStart < 0) {
throw new RangeError('targetStart out of bounds')
}
if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
if (end < 0) throw new RangeError('sourceEnd out of bounds')
// Are we oob?
if (end > this.length) end = this.length
if (target.length - targetStart < end - start) {
end = target.length - targetStart + start
}
var len = end - start
var i
if (this === target && start < targetStart && targetStart < end) {
// descending copy from end
for (i = len - 1; i >= 0; --i) {
target[i + targetStart] = this[i + start]
}
} else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
// ascending copy from start
for (i = 0; i < len; ++i) {
target[i + targetStart] = this[i + start]
}
} else {
Uint8Array.prototype.set.call(
target,
this.subarray(start, start + len),
targetStart
)
}
return len
}
// Usage:
// buffer.fill(number[, offset[, end]])
// buffer.fill(buffer[, offset[, end]])
// buffer.fill(string[, offset[, end]][, encoding])
Buffer.prototype.fill = function fill (val, start, end, encoding) {
// Handle string cases:
if (typeof val === 'string') {
if (typeof start === 'string') {
encoding = start
start = 0
end = this.length
} else if (typeof end === 'string') {
encoding = end
end = this.length
}
if (val.length === 1) {
var code = val.charCodeAt(0)
if (code < 256) {
val = code
}
}
if (encoding !== undefined && typeof encoding !== 'string') {
throw new TypeError('encoding must be a string')
}
if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
throw new TypeError('Unknown encoding: ' + encoding)
}
} else if (typeof val === 'number') {
val = val & 255
}
// Invalid ranges are not set to a default, so can range check early.
if (start < 0 || this.length < start || this.length < end) {
throw new RangeError('Out of range index')
}
if (end <= start) {
return this
}
start = start >>> 0
end = end === undefined ? this.length : end >>> 0
if (!val) val = 0
var i
if (typeof val === 'number') {
for (i = start; i < end; ++i) {
this[i] = val
}
} else {
var bytes = Buffer.isBuffer(val)
? val
: utf8ToBytes(new Buffer(val, encoding).toString())
var len = bytes.length
for (i = 0; i < end - start; ++i) {
this[i + start] = bytes[i % len]
}
}
return this
}
// HELPER FUNCTIONS
// ================
var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
function base64clean (str) {
// Node strips out invalid characters like \n and \t from the string, base64-js does not
str = stringtrim(str).replace(INVALID_BASE64_RE, '')
// Node converts strings with length < 2 to ''
if (str.length < 2) return ''
// Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
while (str.length % 4 !== 0) {
str = str + '='
}
return str
}
function stringtrim (str) {
if (str.trim) return str.trim()
return str.replace(/^\s+|\s+$/g, '')
}
function toHex (n) {
if (n < 16) return '0' + n.toString(16)
return n.toString(16)
}
function utf8ToBytes (string, units) {
units = units || Infinity
var codePoint
var length = string.length
var leadSurrogate = null
var bytes = []
for (var i = 0; i < length; ++i) {
codePoint = string.charCodeAt(i)
// is surrogate component
if (codePoint > 0xD7FF && codePoint < 0xE000) {
// last char was a lead
if (!leadSurrogate) {
// no lead yet
if (codePoint > 0xDBFF) {
// unexpected trail
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
continue
} else if (i + 1 === length) {
// unpaired lead
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
continue
}
// valid lead
leadSurrogate = codePoint
continue
}
// 2 leads in a row
if (codePoint < 0xDC00) {
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
leadSurrogate = codePoint
continue
}
// valid surrogate pair
codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
} else if (leadSurrogate) {
// valid bmp char, but last char was a lead
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
}
leadSurrogate = null
// encode utf8
if (codePoint < 0x80) {
if ((units -= 1) < 0) break
bytes.push(codePoint)
} else if (codePoint < 0x800) {
if ((units -= 2) < 0) break
bytes.push(
codePoint >> 0x6 | 0xC0,
codePoint & 0x3F | 0x80
)
} else if (codePoint < 0x10000) {
if ((units -= 3) < 0) break
bytes.push(
codePoint >> 0xC | 0xE0,
codePoint >> 0x6 & 0x3F | 0x80,
codePoint & 0x3F | 0x80
)
} else if (codePoint < 0x110000) {
if ((units -= 4) < 0) break
bytes.push(
codePoint >> 0x12 | 0xF0,
codePoint >> 0xC & 0x3F | 0x80,
codePoint >> 0x6 & 0x3F | 0x80,
codePoint & 0x3F | 0x80
)
} else {
throw new Error('Invalid code point')
}
}
return bytes
}
function asciiToBytes (str) {
var byteArray = []
for (var i = 0; i < str.length; ++i) {
// Node's code seems to be doing this and not & 0x7F..
byteArray.push(str.charCodeAt(i) & 0xFF)
}
return byteArray
}
function utf16leToBytes (str, units) {
var c, hi, lo
var byteArray = []
for (var i = 0; i < str.length; ++i) {
if ((units -= 2) < 0) break
c = str.charCodeAt(i)
hi = c >> 8
lo = c % 256
byteArray.push(lo)
byteArray.push(hi)
}
return byteArray
}
function base64ToBytes (str) {
return base64.toByteArray(base64clean(str))
}
function blitBuffer (src, dst, offset, length) {
for (var i = 0; i < length; ++i) {
if ((i + offset >= dst.length) || (i >= src.length)) break
dst[i + offset] = src[i]
}
return i
}
function isnan (val) {
return val !== val // eslint-disable-line no-self-compare
}
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 3)))
/***/ }),
/***/ 54:
/*!*****************************************!*\
!*** ./node_modules/base64-js/index.js ***!
\*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.byteLength = byteLength
exports.toByteArray = toByteArray
exports.fromByteArray = fromByteArray
var lookup = []
var revLookup = []
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
for (var i = 0, len = code.length; i < len; ++i) {
lookup[i] = code[i]
revLookup[code.charCodeAt(i)] = i
}
// Support decoding URL-safe base64 strings, as Node.js does.
// See: https://en.wikipedia.org/wiki/Base64#URL_applications
revLookup['-'.charCodeAt(0)] = 62
revLookup['_'.charCodeAt(0)] = 63
function getLens (b64) {
var len = b64.length
if (len % 4 > 0) {
throw new Error('Invalid string. Length must be a multiple of 4')
}
// Trim off extra bytes after placeholder bytes are found
// See: https://github.com/beatgammit/base64-js/issues/42
var validLen = b64.indexOf('=')
if (validLen === -1) validLen = len
var placeHoldersLen = validLen === len
? 0
: 4 - (validLen % 4)
return [validLen, placeHoldersLen]
}
// base64 is 4/3 + up to two characters of the original data
function byteLength (b64) {
var lens = getLens(b64)
var validLen = lens[0]
var placeHoldersLen = lens[1]
return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
}
function _byteLength (b64, validLen, placeHoldersLen) {
return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
}
function toByteArray (b64) {
var tmp
var lens = getLens(b64)
var validLen = lens[0]
var placeHoldersLen = lens[1]
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))
var curByte = 0
// if there are placeholders, only get up to the last complete 4 chars
var len = placeHoldersLen > 0
? validLen - 4
: validLen
var i
for (i = 0; i < len; i += 4) {
tmp =
(revLookup[b64.charCodeAt(i)] << 18) |
(revLookup[b64.charCodeAt(i + 1)] << 12) |
(revLookup[b64.charCodeAt(i + 2)] << 6) |
revLookup[b64.charCodeAt(i + 3)]
arr[curByte++] = (tmp >> 16) & 0xFF
arr[curByte++] = (tmp >> 8) & 0xFF
arr[curByte++] = tmp & 0xFF
}
if (placeHoldersLen === 2) {
tmp =
(revLookup[b64.charCodeAt(i)] << 2) |
(revLookup[b64.charCodeAt(i + 1)] >> 4)
arr[curByte++] = tmp & 0xFF
}
if (placeHoldersLen === 1) {
tmp =
(revLookup[b64.charCodeAt(i)] << 10) |
(revLookup[b64.charCodeAt(i + 1)] << 4) |
(revLookup[b64.charCodeAt(i + 2)] >> 2)
arr[curByte++] = (tmp >> 8) & 0xFF
arr[curByte++] = tmp & 0xFF
}
return arr
}
function tripletToBase64 (num) {
return lookup[num >> 18 & 0x3F] +
lookup[num >> 12 & 0x3F] +
lookup[num >> 6 & 0x3F] +
lookup[num & 0x3F]
}
function encodeChunk (uint8, start, end) {
var tmp
var output = []
for (var i = start; i < end; i += 3) {
tmp =
((uint8[i] << 16) & 0xFF0000) +
((uint8[i + 1] << 8) & 0xFF00) +
(uint8[i + 2] & 0xFF)
output.push(tripletToBase64(tmp))
}
return output.join('')
}
function fromByteArray (uint8) {
var tmp
var len = uint8.length
var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
var parts = []
var maxChunkLength = 16383 // must be multiple of 3
// go through the array every three bytes, we'll deal with trailing stuff later
for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
}
// pad the end with zeros, but make sure to not forget the extra bytes
if (extraBytes === 1) {
tmp = uint8[len - 1]
parts.push(
lookup[tmp >> 2] +
lookup[(tmp << 4) & 0x3F] +
'=='
)
} else if (extraBytes === 2) {
tmp = (uint8[len - 2] << 8) + uint8[len - 1]
parts.push(
lookup[tmp >> 10] +
lookup[(tmp >> 4) & 0x3F] +
lookup[(tmp << 2) & 0x3F] +
'='
)
}
return parts.join('')
}
/***/ }),
/***/ 55:
/*!***************************************!*\
!*** ./node_modules/ieee754/index.js ***!
\***************************************/
/*! no static exports found */
/***/ (function(module, exports) {
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */
exports.read = function (buffer, offset, isLE, mLen, nBytes) {
var e, m
var eLen = (nBytes * 8) - mLen - 1
var eMax = (1 << eLen) - 1
var eBias = eMax >> 1
var nBits = -7
var i = isLE ? (nBytes - 1) : 0
var d = isLE ? -1 : 1
var s = buffer[offset + i]
i += d
e = s & ((1 << (-nBits)) - 1)
s >>= (-nBits)
nBits += eLen
for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
m = e & ((1 << (-nBits)) - 1)
e >>= (-nBits)
nBits += mLen
for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
if (e === 0) {
e = 1 - eBias
} else if (e === eMax) {
return m ? NaN : ((s ? -1 : 1) * Infinity)
} else {
m = m + Math.pow(2, mLen)
e = e - eBias
}
return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
}
exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
var e, m, c
var eLen = (nBytes * 8) - mLen - 1
var eMax = (1 << eLen) - 1
var eBias = eMax >> 1
var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
var i = isLE ? 0 : (nBytes - 1)
var d = isLE ? 1 : -1
var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
value = Math.abs(value)
if (isNaN(value) || value === Infinity) {
m = isNaN(value) ? 1 : 0
e = eMax
} else {
e = Math.floor(Math.log(value) / Math.LN2)
if (value * (c = Math.pow(2, -e)) < 1) {
e--
c *= 2
}
if (e + eBias >= 1) {
value += rt / c
} else {
value += rt * Math.pow(2, 1 - eBias)
}
if (value * c >= 2) {
e++
c /= 2
}
if (e + eBias >= eMax) {
m = 0
e = eMax
} else if (e + eBias >= 1) {
m = ((value * c) - 1) * Math.pow(2, mLen)
e = e + eBias
} else {
m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
e = 0
}
}
for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
e = (e << mLen) | m
eLen += mLen
for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
buffer[offset + i - d] |= s * 128
}
/***/ }),
/***/ 56:
/*!***************************************!*\
!*** ./node_modules/isarray/index.js ***!
\***************************************/
/*! no static exports found */
/***/ (function(module, exports) {
var toString = {}.toString;
module.exports = Array.isArray || function (arr) {
return toString.call(arr) == '[object Array]';
};
/***/ }),
/***/ 57:
/*!***********************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/util/route.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 */ 58));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 60));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 23));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 24));
/**
* 路由跳转方法,该方法相对于直接使用uni.xxx的好处是使用更加简单快捷
* 并且带有路由拦截功能
*/
var Router = /*#__PURE__*/function () {
function Router() {
(0, _classCallCheck2.default)(this, Router);
// 原始属性定义
this.config = {
type: 'navigateTo',
url: '',
delta: 1,
// navigateBack页面后退时,回退的层数
params: {},
// 传递的参数
animationType: 'pop-in',
// 窗口动画,只在APP有效
animationDuration: 300,
// 窗口动画持续时间,单位毫秒,只在APP有效
intercept: false // 是否需要拦截
};
// 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文
// 这里在构造函数中进行this绑定
this.route = this.route.bind(this);
}
// 判断url前面是否有"/",如果没有则加上,否则无法跳转
(0, _createClass2.default)(Router, [{
key: "addRootPath",
value: function addRootPath(url) {
return url[0] === '/' ? url : "/".concat(url);
}
// 整合路由参数
}, {
key: "mixinParam",
value: function mixinParam(url, params) {
url = url && this.addRootPath(url);
// 使用正则匹配,主要依据是判断是否有"/","?","="等,如“/page/index/index?name=mary"
// 如果有url中有get参数,转换后无需带上"?"
var query = '';
if (/.*\/.*\?.*=.*/.test(url)) {
// object对象转为get类型的参数
query = uni.$u.queryParams(params, false);
// 因为已有get参数,所以后面拼接的参数需要带上"&"隔开
return url += "&".concat(query);
}
// 直接拼接参数,因为此处url中没有后面的query参数,也就没有"?/&"之类的符号
query = uni.$u.queryParams(params);
return url += query;
}
// 对外的方法名称
}, {
key: "route",
value: function () {
var _route = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
var options,
params,
mergeConfig,
isNext,
_args = arguments;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
params = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
// 合并用户的配置和内部的默认配置
mergeConfig = {};
if (typeof options === 'string') {
// 如果options为字符串,则为route(url, params)的形式
mergeConfig.url = this.mixinParam(options, params);
mergeConfig.type = 'navigateTo';
} else {
mergeConfig = uni.$u.deepMerge(this.config, options);
// 否则正常使用mergeConfig中的url和params进行拼接
mergeConfig.url = this.mixinParam(options.url, options.params);
}
// 如果本次跳转的路径和本页面路径一致,不执行跳转,防止用户快速点击跳转按钮,造成多次跳转同一个页面的问题
if (!(mergeConfig.url === uni.$u.page())) {
_context.next = 6;
break;
}
return _context.abrupt("return");
case 6:
if (params.intercept) {
this.config.intercept = params.intercept;
}
// params参数也带给拦截器
mergeConfig.params = params;
// 合并内外部参数
mergeConfig = uni.$u.deepMerge(this.config, mergeConfig);
// 判断用户是否定义了拦截器
if (!(typeof uni.$u.routeIntercept === 'function')) {
_context.next = 16;
break;
}
_context.next = 12;
return new Promise(function (resolve, reject) {
uni.$u.routeIntercept(mergeConfig, resolve);
});
case 12:
isNext = _context.sent;
// 如果isNext为true,则执行路由跳转
isNext && this.openPage(mergeConfig);
_context.next = 17;
break;
case 16:
this.openPage(mergeConfig);
case 17:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function route() {
return _route.apply(this, arguments);
}
return route;
}() // 执行路由跳转
}, {
key: "openPage",
value: function openPage(config) {
// 解构参数
var url = config.url,
type = config.type,
delta = config.delta,
animationType = config.animationType,
animationDuration = config.animationDuration;
if (config.type == 'navigateTo' || config.type == 'to') {
uni.navigateTo({
url: url,
animationType: animationType,
animationDuration: animationDuration
});
}
if (config.type == 'redirectTo' || config.type == 'redirect') {
uni.redirectTo({
url: url
});
}
if (config.type == 'switchTab' || config.type == 'tab') {
uni.switchTab({
url: url
});
}
if (config.type == 'reLaunch' || config.type == 'launch') {
uni.reLaunch({
url: url
});
}
if (config.type == 'navigateBack' || config.type == 'back') {
uni.navigateBack({
delta: delta
});
}
}
}]);
return Router;
}();
var _default = new Router().route;
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 58:
/*!************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// TODO(Babel 8): Remove this file.
var runtime = __webpack_require__(/*! @babel/runtime/helpers/regeneratorRuntime */ 59)();
module.exports = runtime;
/***/ }),
/***/ 59:
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
\*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! ./typeof.js */ 13)["default"];
function _regeneratorRuntime() {
"use strict";
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
return e;
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
var t,
e = {},
r = Object.prototype,
n = r.hasOwnProperty,
o = Object.defineProperty || function (t, e, r) {
t[e] = r.value;
},
i = "function" == typeof Symbol ? Symbol : {},
a = i.iterator || "@@iterator",
c = i.asyncIterator || "@@asyncIterator",
u = i.toStringTag || "@@toStringTag";
function define(t, e, r) {
return Object.defineProperty(t, e, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}), t[e];
}
try {
define({}, "");
} catch (t) {
define = function define(t, e, r) {
return t[e] = r;
};
}
function wrap(t, e, r, n) {
var i = e && e.prototype instanceof Generator ? e : Generator,
a = Object.create(i.prototype),
c = new Context(n || []);
return o(a, "_invoke", {
value: makeInvokeMethod(t, r, c)
}), a;
}
function tryCatch(t, e, r) {
try {
return {
type: "normal",
arg: t.call(e, r)
};
} catch (t) {
return {
type: "throw",
arg: t
};
}
}
e.wrap = wrap;
var h = "suspendedStart",
l = "suspendedYield",
f = "executing",
s = "completed",
y = {};
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
var p = {};
define(p, a, function () {
return this;
});
var d = Object.getPrototypeOf,
v = d && d(d(values([])));
v && v !== r && n.call(v, a) && (p = v);
var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
function defineIteratorMethods(t) {
["next", "throw", "return"].forEach(function (e) {
define(t, e, function (t) {
return this._invoke(e, t);
});
});
}
function AsyncIterator(t, e) {
function invoke(r, o, i, a) {
var c = tryCatch(t[r], t, o);
if ("throw" !== c.type) {
var u = c.arg,
h = u.value;
return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
invoke("next", t, i, a);
}, function (t) {
invoke("throw", t, i, a);
}) : e.resolve(h).then(function (t) {
u.value = t, i(u);
}, function (t) {
return invoke("throw", t, i, a);
});
}
a(c.arg);
}
var r;
o(this, "_invoke", {
value: function value(t, n) {
function callInvokeWithMethodAndArg() {
return new e(function (e, r) {
invoke(t, n, e, r);
});
}
return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
}
});
}
function makeInvokeMethod(e, r, n) {
var o = h;
return function (i, a) {
if (o === f) throw Error("Generator is already running");
if (o === s) {
if ("throw" === i) throw a;
return {
value: t,
done: !0
};
}
for (n.method = i, n.arg = a;;) {
var c = n.delegate;
if (c) {
var u = maybeInvokeDelegate(c, n);
if (u) {
if (u === y) continue;
return u;
}
}
if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
if (o === h) throw o = s, n.arg;
n.dispatchException(n.arg);
} else "return" === n.method && n.abrupt("return", n.arg);
o = f;
var p = tryCatch(e, r, n);
if ("normal" === p.type) {
if (o = n.done ? s : l, p.arg === y) continue;
return {
value: p.arg,
done: n.done
};
}
"throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
}
};
}
function maybeInvokeDelegate(e, r) {
var n = r.method,
o = e.iterator[n];
if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
var i = tryCatch(o, e.iterator, r.arg);
if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
var a = i.arg;
return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
}
function pushTryEntry(t) {
var e = {
tryLoc: t[0]
};
1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
}
function resetTryEntry(t) {
var e = t.completion || {};
e.type = "normal", delete e.arg, t.completion = e;
}
function Context(t) {
this.tryEntries = [{
tryLoc: "root"
}], t.forEach(pushTryEntry, this), this.reset(!0);
}
function values(e) {
if (e || "" === e) {
var r = e[a];
if (r) return r.call(e);
if ("function" == typeof e.next) return e;
if (!isNaN(e.length)) {
var o = -1,
i = function next() {
for (; ++o < e.length;) {
if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
}
return next.value = t, next.done = !0, next;
};
return i.next = i;
}
}
throw new TypeError(_typeof(e) + " is not iterable");
}
return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
value: GeneratorFunctionPrototype,
configurable: !0
}), o(GeneratorFunctionPrototype, "constructor", {
value: GeneratorFunction,
configurable: !0
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
var e = "function" == typeof t && t.constructor;
return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
}, e.mark = function (t) {
return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
}, e.awrap = function (t) {
return {
__await: t
};
}, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
return this;
}), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
void 0 === i && (i = Promise);
var a = new AsyncIterator(wrap(t, r, n, o), i);
return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
return t.done ? t.value : a.next();
});
}, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
return this;
}), define(g, "toString", function () {
return "[object Generator]";
}), e.keys = function (t) {
var e = Object(t),
r = [];
for (var n in e) {
r.push(n);
}
return r.reverse(), function next() {
for (; r.length;) {
var t = r.pop();
if (t in e) return next.value = t, next.done = !1, next;
}
return next.done = !0, next;
};
}, e.values = values, Context.prototype = {
constructor: Context,
reset: function reset(e) {
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) {
"t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
}
},
stop: function stop() {
this.done = !0;
var t = this.tryEntries[0].completion;
if ("throw" === t.type) throw t.arg;
return this.rval;
},
dispatchException: function dispatchException(e) {
if (this.done) throw e;
var r = this;
function handle(n, o) {
return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
}
for (var o = this.tryEntries.length - 1; o >= 0; --o) {
var i = this.tryEntries[o],
a = i.completion;
if ("root" === i.tryLoc) return handle("end");
if (i.tryLoc <= this.prev) {
var c = n.call(i, "catchLoc"),
u = n.call(i, "finallyLoc");
if (c && u) {
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
} else if (c) {
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
} else {
if (!u) throw Error("try statement without catch or finally");
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
}
}
}
},
abrupt: function abrupt(t, e) {
for (var r = this.tryEntries.length - 1; r >= 0; --r) {
var o = this.tryEntries[r];
if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
var i = o;
break;
}
}
i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
var a = i ? i.completion : {};
return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
},
complete: function complete(t, e) {
if ("throw" === t.type) throw t.arg;
return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
},
finish: function finish(t) {
for (var e = this.tryEntries.length - 1; e >= 0; --e) {
var r = this.tryEntries[e];
if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
}
},
"catch": function _catch(t) {
for (var e = this.tryEntries.length - 1; e >= 0; --e) {
var r = this.tryEntries[e];
if (r.tryLoc === t) {
var n = r.completion;
if ("throw" === n.type) {
var o = n.arg;
resetTryEntry(r);
}
return o;
}
}
throw Error("illegal catch attempt");
},
delegateYield: function delegateYield(e, r, n) {
return this.delegate = {
iterator: values(e),
resultName: r,
nextLoc: n
}, "next" === this.method && (this.arg = t), y;
}
}, e;
}
module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 596:
/*!************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/doorToDoor.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
AllDoorToDoor: '/api/v1/wechat/appoints/get-cate-list',
//获取服务列表
ServerInfo: '/api/v1/wechat/appoints/get-one',
//获取服务列表
getServerById: '/api/v1/wechat/appoints/get-all-list',
//跟据不同的id 查分类
submitServer: '/api/v1/wechat/appoint-orders/now',
//预约服务
createServerOrder: '/api/v1/wechat/appoint-orders/create',
//创建上门服务订单
getCurrentShopMsg: '/api/v1/wechat/water/device/shop-info',
//获取店铺支付信息
getBanner: '/api/v1/wechat/banner-list ',
//banner图
getGoodsList: '/api/v1/wechat/get-shop-list',
//获取商家列表
getGoodsDesc: "/api/v1/wechat/shop/shop_info" //商家详情
};
exports.apiArr = apiArr;
/***/ }),
/***/ 6:
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 60:
/*!*****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn) {
return function () {
var self = this,
args = arguments;
return new Promise(function (resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 605:
/*!*********************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/v2local.js ***!
\*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
getMerChantCateList: "/api/v2/wechat/merchant-cate-crud/list",
//商家分类
getMerchantList: "/api/v2/wechat/merchant-info-crud/page",
//商家列表
createComment: "/api/v2/wechat/merchant-evaluation-crud/creat",
//创建用户评价
getMerchantComment: "/api/v2/wechat/merchant-evaluation-crud/page",
//获取商家评价
merChantCommentLike: "/api/v2/wechat/merchant-evaluation-like-crud/creat",
//点赞
merChantCommentUnlike: "/api/v2/wechat/merchant-evaluation-like-crud/del",
//取消点赞
userCommentInfo: "/api/v2/wechat/merchant-evaluation-crud/info",
//用户评论详情
createUserReply: "/api/v2/wechat/merchant-evaluation-reply-crud/creat",
//发送评论
deleteMerChantComment: "/api/v2/wechat/merchant-evaluation-crud/del",
//删除用户评价
getUserCommentReply: "/api/v2/wechat/merchant-evaluation-reply-crud/page",
//获取用户评价的回复列表
getUserCommunityList: '/api/v2/wechat/community-room/list',
//查询用户房源信息
getPayList: "/api/v2/wechat/quick-payment-record-crud/page",
//支付记录
getUserPoints: "/api/v2/wechat/member-points-flow-crud/main",
//获取用户积分
getPointsList: "/api/v2/wechat/member-points-flow-crud/page",
//积分记录
getUserHomeMoney: "/api/v2/wechat/government-housing-fund-flow-crud/main",
//会员基金
getHomeMoneyList: "/api/v2/wechat/government-housing-fund-flow-crud/page",
//会员基金流水
createPay: "/api/v2/wechat/quick-payment-record-crud/creat",
//创建支付信息
getPayInfo: "/api/v2/wechat/quick-payment-record-crud/info",
//支付记录
createStore: "/api/v2/wechat/store-info-crud/creat" //门店信息创建
};
exports.apiArr = apiArr;
/***/ }),
/***/ 61:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/function/colorGradient.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/**
* 求两个颜色之间的渐变值
* @param {string} startColor 开始的颜色
* @param {string} endColor 结束的颜色
* @param {number} step 颜色等分的份额
* */
function colorGradient() {
var startColor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'rgb(0, 0, 0)';
var endColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'rgb(255, 255, 255)';
var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
var startRGB = hexToRgb(startColor, false); // 转换为rgb数组模式
var startR = startRGB[0];
var startG = startRGB[1];
var startB = startRGB[2];
var endRGB = hexToRgb(endColor, false);
var endR = endRGB[0];
var endG = endRGB[1];
var endB = endRGB[2];
var sR = (endR - startR) / step; // 总差值
var sG = (endG - startG) / step;
var sB = (endB - startB) / step;
var colorArr = [];
for (var i = 0; i < step; i++) {
// 计算每一步的hex值
var hex = rgbToHex("rgb(".concat(Math.round(sR * i + startR), ",").concat(Math.round(sG * i + startG), ",").concat(Math.round(sB * i + startB), ")"));
// 确保第一个颜色值为startColor的值
if (i === 0) hex = rgbToHex(startColor);
// 确保最后一个颜色值为endColor的值
if (i === step - 1) hex = rgbToHex(endColor);
colorArr.push(hex);
}
return colorArr;
}
// 将hex表示方式转换为rgb表示方式(这里返回rgb数组模式)
function hexToRgb(sColor) {
var str = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
sColor = String(sColor).toLowerCase();
if (sColor && reg.test(sColor)) {
if (sColor.length === 4) {
var sColorNew = '#';
for (var i = 1; i < 4; i += 1) {
sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
}
sColor = sColorNew;
}
// 处理六位的颜色值
var sColorChange = [];
for (var _i = 1; _i < 7; _i += 2) {
sColorChange.push(parseInt("0x".concat(sColor.slice(_i, _i + 2))));
}
if (!str) {
return sColorChange;
}
return "rgb(".concat(sColorChange[0], ",").concat(sColorChange[1], ",").concat(sColorChange[2], ")");
}
if (/^(rgb|RGB)/.test(sColor)) {
var arr = sColor.replace(/(?:\(|\)|rgb|RGB)*/g, '').split(',');
return arr.map(function (val) {
return Number(val);
});
}
return sColor;
}
// 将rgb表示方式转换为hex表示方式
function rgbToHex(rgb) {
var _this = rgb;
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
if (/^(rgb|RGB)/.test(_this)) {
var aColor = _this.replace(/(?:\(|\)|rgb|RGB)*/g, '').split(',');
var strHex = '#';
for (var i = 0; i < aColor.length; i++) {
var hex = Number(aColor[i]).toString(16);
hex = String(hex).length == 1 ? "".concat(0, hex) : hex; // 保证每个rgb的值为2位
if (hex === '0') {
hex += hex;
}
strHex += hex;
}
if (strHex.length !== 7) {
strHex = _this;
}
return strHex;
}
if (reg.test(_this)) {
var aNum = _this.replace(/#/, '').split('');
if (aNum.length === 6) {
return _this;
}
if (aNum.length === 3) {
var numHex = '#';
for (var _i2 = 0; _i2 < aNum.length; _i2 += 1) {
numHex += aNum[_i2] + aNum[_i2];
}
return numHex;
}
} else {
return _this;
}
}
/**
* JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串
* sHex为传入的十六进制的色值
* alpha为rgba的透明度
*/
function colorToRgba(color, alpha) {
color = rgbToHex(color);
// 十六进制颜色值的正则表达式
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/* 16进制颜色转为RGB格式 */
var sColor = String(color).toLowerCase();
if (sColor && reg.test(sColor)) {
if (sColor.length === 4) {
var sColorNew = '#';
for (var i = 1; i < 4; i += 1) {
sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
}
sColor = sColorNew;
}
// 处理六位的颜色值
var sColorChange = [];
for (var _i3 = 1; _i3 < 7; _i3 += 2) {
sColorChange.push(parseInt("0x".concat(sColor.slice(_i3, _i3 + 2))));
}
// return sColorChange.join(',')
return "rgba(".concat(sColorChange.join(','), ",").concat(alpha, ")");
}
return sColor;
}
var _default = {
colorGradient: colorGradient,
hexToRgb: hexToRgb,
rgbToHex: rgbToHex,
colorToRgba: colorToRgba
};
exports.default = _default;
/***/ }),
/***/ 614:
/*!***********************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/api/shopEnter.js ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.apiArr = void 0;
var apiArr = {
settledShop: '/api/v1/wechat/shop/settled-shop',
// 商家入驻
settledDeal: '/api/v1/wechat/water/dealer/settled-deal',
// 经销商入驻
settledComm: '/api/v1/wechat/community/settled-comm',
// 社区入驻
getTree: '/api/v1/wechat/shop/cates/get-tree' // 商家商户分类树信息
};
exports.apiArr = apiArr;
/***/ }),
/***/ 62:
/*!**************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/function/test.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.default = void 0;
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
/**
* 验证电子邮箱格式
*/
function email(value) {
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);
}
/**
* 验证手机格式
*/
function mobile(value) {
return /^1([3589]\d|4[5-9]|6[1-2,4-7]|7[0-8])\d{8}$/.test(value);
}
/**
* 验证URL格式
*/
function url(value) {
return /^((https|http|ftp|rtsp|mms):\/\/)(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z].[a-zA-Z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+\/?)$/.test(value);
}
/**
* 验证日期格式
*/
function date(value) {
if (!value) return false;
// 判断是否数值或者字符串数值(意味着为时间戳),转为数值,否则new Date无法识别字符串时间戳
if (number(value)) value = +value;
return !/Invalid|NaN/.test(new Date(value).toString());
}
/**
* 验证ISO类型的日期格式
*/
function dateISO(value) {
return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value);
}
/**
* 验证十进制数字
*/
function number(value) {
return /^[\+-]?(\d+\.?\d*|\.\d+|\d\.\d+e\+\d+)$/.test(value);
}
/**
* 验证字符串
*/
function string(value) {
return typeof value === 'string';
}
/**
* 验证整数
*/
function digits(value) {
return /^\d+$/.test(value);
}
/**
* 验证身份证号码
*/
function idCard(value) {
return /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(value);
}
/**
* 是否车牌号
*/
function carNo(value) {
// 新能源车牌
var xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
// 旧车牌
var creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
if (value.length === 7) {
return creg.test(value);
}
if (value.length === 8) {
return xreg.test(value);
}
return false;
}
/**
* 金额,只允许2位小数
*/
function amount(value) {
// 金额,只允许保留两位小数
return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value);
}
/**
* 中文
*/
function chinese(value) {
var reg = /^[\u4e00-\u9fa5]+$/gi;
return reg.test(value);
}
/**
* 只能输入字母
*/
function letter(value) {
return /^[a-zA-Z]*$/.test(value);
}
/**
* 只能是字母或者数字
*/
function enOrNum(value) {
// 英文或者数字
var reg = /^[0-9a-zA-Z]*$/g;
return reg.test(value);
}
/**
* 验证是否包含某个值
*/
function contains(value, param) {
return value.indexOf(param) >= 0;
}
/**
* 验证一个值范围[min, max]
*/
function range(value, param) {
return value >= param[0] && value <= param[1];
}
/**
* 验证一个长度范围[min, max]
*/
function rangeLength(value, param) {
return value.length >= param[0] && value.length <= param[1];
}
/**
* 是否固定电话
*/
function landline(value) {
var reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/;
return reg.test(value);
}
/**
* 判断是否为空
*/
function empty(value) {
switch ((0, _typeof2.default)(value)) {
case 'undefined':
return true;
case 'string':
if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true;
break;
case 'boolean':
if (!value) return true;
break;
case 'number':
if (value === 0 || isNaN(value)) return true;
break;
case 'object':
if (value === null || value.length === 0) return true;
for (var i in value) {
return false;
}
return true;
}
return false;
}
/**
* 是否json字符串
*/
function jsonString(value) {
if (typeof value === 'string') {
try {
var obj = JSON.parse(value);
if ((0, _typeof2.default)(obj) === 'object' && obj) {
return true;
}
return false;
} catch (e) {
return false;
}
}
return false;
}
/**
* 是否数组
*/
function array(value) {
if (typeof Array.isArray === 'function') {
return Array.isArray(value);
}
return Object.prototype.toString.call(value) === '[object Array]';
}
/**
* 是否对象
*/
function object(value) {
return Object.prototype.toString.call(value) === '[object Object]';
}
/**
* 是否短信验证码
*/
function code(value) {
var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;
return new RegExp("^\\d{".concat(len, "}$")).test(value);
}
/**
* 是否函数方法
* @param {Object} value
*/
function func(value) {
return typeof value === 'function';
}
/**
* 是否promise对象
* @param {Object} value
*/
function promise(value) {
return object(value) && func(value.then) && func(value.catch);
}
/** 是否图片格式
* @param {Object} value
*/
function image(value) {
var newValue = value.split('?')[0];
var IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
return IMAGE_REGEXP.test(newValue);
}
/**
* 是否视频格式
* @param {Object} value
*/
function video(value) {
var VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv|m3u8)/i;
return VIDEO_REGEXP.test(value);
}
/**
* 是否为正则对象
* @param {Object}
* @return {Boolean}
*/
function regExp(o) {
return o && Object.prototype.toString.call(o) === '[object RegExp]';
}
var _default = {
email: email,
mobile: mobile,
url: url,
date: date,
dateISO: dateISO,
number: number,
digits: digits,
idCard: idCard,
carNo: carNo,
amount: amount,
chinese: chinese,
letter: letter,
enOrNum: enOrNum,
contains: contains,
range: range,
rangeLength: rangeLength,
empty: empty,
isEmpty: empty,
jsonString: jsonString,
landline: landline,
object: object,
array: array,
code: code,
func: func,
promise: promise,
video: video,
image: image,
regExp: regExp,
string: string
};
exports.default = _default;
/***/ }),
/***/ 63:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/function/debounce.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var timeout = null;
/**
* 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数
*
* @param {Function} func 要执行的回调函数
* @param {Number} wait 延时的时间
* @param {Boolean} immediate 是否立即执行
* @return null
*/
function debounce(func) {
var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
// 清除定时器
if (timeout !== null) clearTimeout(timeout);
// 立即执行,此类情况一般用不到
if (immediate) {
var callNow = !timeout;
timeout = setTimeout(function () {
timeout = null;
}, wait);
if (callNow) typeof func === 'function' && func();
} else {
// 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时wait毫秒后执行func回调方法
timeout = setTimeout(function () {
typeof func === 'function' && func();
}, wait);
}
}
var _default = debounce;
exports.default = _default;
/***/ }),
/***/ 64:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/function/throttle.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var timer;
var flag;
/**
* 节流原理:在一定时间内,只能触发一次
*
* @param {Function} func 要执行的回调函数
* @param {Number} wait 延时的时间
* @param {Boolean} immediate 是否立即执行
* @return null
*/
function throttle(func) {
var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
if (immediate) {
if (!flag) {
flag = true;
// 如果是立即执行,则在wait毫秒内开始时执行
typeof func === 'function' && func();
timer = setTimeout(function () {
flag = false;
}, wait);
}
} else if (!flag) {
flag = true;
// 如果是非立即执行,则在wait毫秒内的结束处执行
timer = setTimeout(function () {
flag = false;
typeof func === 'function' && func();
}, wait);
}
}
var _default = throttle;
exports.default = _default;
/***/ }),
/***/ 65:
/*!***************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/function/index.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 _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5));
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
var _test = _interopRequireDefault(__webpack_require__(/*! ./test.js */ 62));
var _digit = __webpack_require__(/*! ./digit.js */ 66);
/**
* @description 如果value小于min,取min;如果value大于max,取max
* @param {number} min
* @param {number} max
* @param {number} value
*/
function range() {
var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
return Math.max(min, Math.min(max, Number(value)));
}
/**
* @description 用于获取用户传递值的px值 如果用户传递了"xxpx"或者"xxrpx",取出其数值部分,如果是"xxxrpx"还需要用过uni.upx2px进行转换
* @param {number|string} value 用户传递值的px值
* @param {boolean} unit
* @returns {number|string}
*/
function getPx(value) {
var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (_test.default.number(value)) {
return unit ? "".concat(value, "px") : Number(value);
}
// 如果带有rpx,先取出其数值部分,再转为px值
if (/(rpx|upx)$/.test(value)) {
return unit ? "".concat(uni.upx2px(parseInt(value)), "px") : Number(uni.upx2px(parseInt(value)));
}
return unit ? "".concat(parseInt(value), "px") : parseInt(value);
}
/**
* @description 进行延时,以达到可以简写代码的目的 比如: await uni.$u.sleep(20)将会阻塞20ms
* @param {number} value 堵塞时间 单位ms 毫秒
* @returns {Promise} 返回promise
*/
function sleep() {
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30;
return new Promise(function (resolve) {
setTimeout(function () {
resolve();
}, value);
});
}
/**
* @description 运行期判断平台
* @returns {string} 返回所在平台(小写)
* @link 运行期判断平台 https://uniapp.dcloud.io/frame?id=判断平台
*/
function os() {
return uni.getSystemInfoSync().platform.toLowerCase();
}
/**
* @description 获取系统信息同步接口
* @link 获取系统信息同步接口 https://uniapp.dcloud.io/api/system/info?id=getsysteminfosync
*/
function sys() {
return uni.getSystemInfoSync();
}
/**
* @description 取一个区间数
* @param {Number} min 最小值
* @param {Number} max 最大值
*/
function random(min, max) {
if (min >= 0 && max > 0 && max >= min) {
var gab = max - min + 1;
return Math.floor(Math.random() * gab + min);
}
return 0;
}
/**
* @param {Number} len uuid的长度
* @param {Boolean} firstU 将返回的首字母置为"u"
* @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制
*/
function guid() {
var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;
var firstU = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var radix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
var uuid = [];
radix = radix || chars.length;
if (len) {
// 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位
for (var i = 0; i < len; i++) {
uuid[i] = chars[0 | Math.random() * radix];
}
} else {
var r;
// rfc4122标准要求返回的uuid中,某些位为固定的字符
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
uuid[14] = '4';
for (var _i = 0; _i < 36; _i++) {
if (!uuid[_i]) {
r = 0 | Math.random() * 16;
uuid[_i] = chars[_i == 19 ? r & 0x3 | 0x8 : r];
}
}
}
// 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class
if (firstU) {
uuid.shift();
return "u".concat(uuid.join(''));
}
return uuid.join('');
}
/**
* @description 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法
this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx
这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name
值(默认为undefined),就是查找最顶层的$parent
* @param {string|undefined} name 父组件的参数名
*/
function $parent() {
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
var parent = this.$parent;
// 通过while历遍,这里主要是为了H5需要多层解析的问题
while (parent) {
// 父组件
if (parent.$options && parent.$options.name !== name) {
// 如果组件的name不相等,继续上一级寻找
parent = parent.$parent;
} else {
return parent;
}
}
return false;
}
/**
* @description 样式转换
* 对象转字符串,或者字符串转对象
* @param {object | string} customStyle 需要转换的目标
* @param {String} target 转换的目的,object-转为对象,string-转为字符串
* @returns {object|string}
*/
function addStyle(customStyle) {
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'object';
// 字符串转字符串,对象转对象情形,直接返回
if (_test.default.empty(customStyle) || (0, _typeof2.default)(customStyle) === 'object' && target === 'object' || target === 'string' && typeof customStyle === 'string') {
return customStyle;
}
// 字符串转对象
if (target === 'object') {
// 去除字符串样式中的两端空格(中间的空格不能去掉,比如padding: 20px 0如果去掉了就错了),空格是无用的
customStyle = trim(customStyle);
// 根据";"将字符串转为数组形式
var styleArray = customStyle.split(';');
var style = {};
// 历遍数组,拼接成对象
for (var i = 0; i < styleArray.length; i++) {
// 'font-size:20px;color:red;',如此最后字符串有";"的话,会导致styleArray最后一个元素为空字符串,这里需要过滤
if (styleArray[i]) {
var item = styleArray[i].split(':');
style[trim(item[0])] = trim(item[1]);
}
}
return style;
}
// 这里为对象转字符串形式
var string = '';
for (var _i2 in customStyle) {
// 驼峰转为中划线的形式,否则css内联样式,无法识别驼峰样式属性名
var key = _i2.replace(/([A-Z])/g, '-$1').toLowerCase();
string += "".concat(key, ":").concat(customStyle[_i2], ";");
}
// 去除两端空格
return trim(string);
}
/**
* @description 添加单位,如果有rpx,upx,%,px等单位结尾或者值为auto,直接返回,否则加上px单位结尾
* @param {string|number} value 需要添加单位的值
* @param {string} unit 添加的单位名 比如px
*/
function addUnit() {
var _uni$$u$config$unit, _uni, _uni$$u, _uni$$u$config;
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'auto';
var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (_uni$$u$config$unit = (_uni = uni) === null || _uni === void 0 ? void 0 : (_uni$$u = _uni.$u) === null || _uni$$u === void 0 ? void 0 : (_uni$$u$config = _uni$$u.config) === null || _uni$$u$config === void 0 ? void 0 : _uni$$u$config.unit) !== null && _uni$$u$config$unit !== void 0 ? _uni$$u$config$unit : 'px';
value = String(value);
// 用uView内置验证规则中的number判断是否为数值
return _test.default.number(value) ? "".concat(value).concat(unit) : value;
}
/**
* @description 深度克隆
* @param {object} obj 需要深度克隆的对象
* @param cache 缓存
* @returns {*} 克隆后的对象或者原值(不是对象)
*/
function deepClone(obj) {
var cache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new WeakMap();
if (obj === null || (0, _typeof2.default)(obj) !== 'object') return obj;
if (cache.has(obj)) return cache.get(obj);
var clone;
if (obj instanceof Date) {
clone = new Date(obj.getTime());
} else if (obj instanceof RegExp) {
clone = new RegExp(obj);
} else if (obj instanceof Map) {
clone = new Map(Array.from(obj, function (_ref) {
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
key = _ref2[0],
value = _ref2[1];
return [key, deepClone(value, cache)];
}));
} else if (obj instanceof Set) {
clone = new Set(Array.from(obj, function (value) {
return deepClone(value, cache);
}));
} else if (Array.isArray(obj)) {
clone = obj.map(function (value) {
return deepClone(value, cache);
});
} else if (Object.prototype.toString.call(obj) === '[object Object]') {
clone = Object.create(Object.getPrototypeOf(obj));
cache.set(obj, clone);
for (var _i3 = 0, _Object$entries = Object.entries(obj); _i3 < _Object$entries.length; _i3++) {
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i3], 2),
key = _Object$entries$_i[0],
value = _Object$entries$_i[1];
clone[key] = deepClone(value, cache);
}
} else {
clone = Object.assign({}, obj);
}
cache.set(obj, clone);
return clone;
}
/**
* @description JS对象深度合并
* @param {object} target 需要拷贝的对象
* @param {object} source 拷贝的来源对象
* @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象)
*/
function deepMerge() {
var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
target = deepClone(target);
if ((0, _typeof2.default)(target) !== 'object' || target === null || (0, _typeof2.default)(source) !== 'object' || source === null) return target;
var merged = Array.isArray(target) ? target.slice() : Object.assign({}, target);
for (var prop in source) {
if (!source.hasOwnProperty(prop)) continue;
var sourceValue = source[prop];
var targetValue = merged[prop];
if (sourceValue instanceof Date) {
merged[prop] = new Date(sourceValue);
} else if (sourceValue instanceof RegExp) {
merged[prop] = new RegExp(sourceValue);
} else if (sourceValue instanceof Map) {
merged[prop] = new Map(sourceValue);
} else if (sourceValue instanceof Set) {
merged[prop] = new Set(sourceValue);
} else if ((0, _typeof2.default)(sourceValue) === 'object' && sourceValue !== null) {
merged[prop] = deepMerge(targetValue, sourceValue);
} else {
merged[prop] = sourceValue;
}
}
return merged;
}
/**
* @description error提示
* @param {*} err 错误内容
*/
function error(err) {
// 开发环境才提示,生产环境不会提示
if (true) {
console.error("uView\u63D0\u793A\uFF1A".concat(err));
}
}
/**
* @description 打乱数组
* @param {array} array 需要打乱的数组
* @returns {array} 打乱后的数组
*/
function randomArray() {
var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0
return array.sort(function () {
return Math.random() - 0.5;
});
}
// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序
// 所以这里做一个兼容polyfill的兼容处理
if (!String.prototype.padStart) {
// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解
String.prototype.padStart = function (maxLength) {
var fillString = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ' ';
if (Object.prototype.toString.call(fillString) !== '[object String]') {
throw new TypeError('fillString must be String');
}
var str = this;
// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉
if (str.length >= maxLength) return String(str);
var fillLength = maxLength - str.length;
var times = Math.ceil(fillLength / fillString.length);
while (times >>= 1) {
fillString += fillString;
if (times === 1) {
fillString += fillString;
}
}
return fillString.slice(0, fillLength) + str;
};
}
/**
* @description 格式化时间
* @param {String|Number} dateTime 需要格式化的时间戳
* @param {String} fmt 格式化规则 yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合 默认yyyy-mm-dd
* @returns {string} 返回格式化后的字符串
*/
function timeFormat() {
var dateTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
var formatStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'yyyy-mm-dd';
var date;
// 若传入时间为假值,则取当前时间
if (!dateTime) {
date = new Date();
}
// 若为unix秒时间戳,则转为毫秒时间戳(逻辑有点奇怪,但不敢改,以保证历史兼容)
else if (/^\d{10}$/.test(dateTime === null || dateTime === void 0 ? void 0 : dateTime.toString().trim())) {
date = new Date(dateTime * 1000);
}
// 若用户传入字符串格式时间戳,new Date无法解析,需做兼容
else if (typeof dateTime === 'string' && /^\d+$/.test(dateTime.trim())) {
date = new Date(Number(dateTime));
}
// 处理平台性差异,在Safari/Webkit中,new Date仅支持/作为分割符的字符串时间
// 处理 '2022-07-10 01:02:03',跳过 '2022-07-10T01:02:03'
else if (typeof dateTime === 'string' && dateTime.includes('-') && !dateTime.includes('T')) {
date = new Date(dateTime.replace(/-/g, '/'));
}
// 其他都认为符合 RFC 2822 规范
else {
date = new Date(dateTime);
}
var timeSource = {
'y': date.getFullYear().toString(),
// 年
'm': (date.getMonth() + 1).toString().padStart(2, '0'),
// 月
'd': date.getDate().toString().padStart(2, '0'),
// 日
'h': date.getHours().toString().padStart(2, '0'),
// 时
'M': date.getMinutes().toString().padStart(2, '0'),
// 分
's': date.getSeconds().toString().padStart(2, '0') // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (var key in timeSource) {
var _ref3 = new RegExp("".concat(key, "+")).exec(formatStr) || [],
_ref4 = (0, _slicedToArray2.default)(_ref3, 1),
ret = _ref4[0];
if (ret) {
// 年可能只需展示两位
var beginIndex = key === 'y' && ret.length === 2 ? 2 : 0;
formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex));
}
}
return formatStr;
}
/**
* @description 时间戳转为多久之前
* @param {String|Number} timestamp 时间戳
* @param {String|Boolean} format
* 格式化规则如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;
* 如果为布尔值false,无论什么时间,都返回多久以前的格式
* @returns {string} 转化后的内容
*/
function timeFrom() {
var timestamp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'yyyy-mm-dd';
if (timestamp == null) timestamp = Number(new Date());
timestamp = parseInt(timestamp);
// 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位)
if (timestamp.toString().length == 10) timestamp *= 1000;
var timer = new Date().getTime() - timestamp;
timer = parseInt(timer / 1000);
// 如果小于5分钟,则返回"刚刚",其他以此类推
var tips = '';
switch (true) {
case timer < 300:
tips = '刚刚';
break;
case timer >= 300 && timer < 3600:
tips = "".concat(parseInt(timer / 60), "\u5206\u949F\u524D");
break;
case timer >= 3600 && timer < 86400:
tips = "".concat(parseInt(timer / 3600), "\u5C0F\u65F6\u524D");
break;
case timer >= 86400 && timer < 2592000:
tips = "".concat(parseInt(timer / 86400), "\u5929\u524D");
break;
default:
// 如果format为false,则无论什么时间戳,都显示xx之前
if (format === false) {
if (timer >= 2592000 && timer < 365 * 86400) {
tips = "".concat(parseInt(timer / (86400 * 30)), "\u4E2A\u6708\u524D");
} else {
tips = "".concat(parseInt(timer / (86400 * 365)), "\u5E74\u524D");
}
} else {
tips = timeFormat(timestamp, format);
}
}
return tips;
}
/**
* @description 去除空格
* @param String str 需要去除空格的字符串
* @param String pos both(左右)|left|right|all 默认both
*/
function trim(str) {
var pos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'both';
str = String(str);
if (pos == 'both') {
return str.replace(/^\s+|\s+$/g, '');
}
if (pos == 'left') {
return str.replace(/^\s*/, '');
}
if (pos == 'right') {
return str.replace(/(\s*$)/g, '');
}
if (pos == 'all') {
return str.replace(/\s+/g, '');
}
return str;
}
/**
* @description 对象转url参数
* @param {object} data,对象
* @param {Boolean} isPrefix,是否自动加上"?"
* @param {string} arrayFormat 规则 indices|brackets|repeat|comma
*/
function queryParams() {
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var isPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var arrayFormat = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'brackets';
var prefix = isPrefix ? '?' : '';
var _result = [];
if (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets';
var _loop = function _loop(key) {
var value = data[key];
// 去掉为空的参数
if (['', undefined, null].indexOf(value) >= 0) {
return "continue";
}
// 如果值为数组,另行处理
if (value.constructor === Array) {
// e.g. {ids: [1, 2, 3]}
switch (arrayFormat) {
case 'indices':
// 结果: ids[0]=1&ids[1]=2&ids[2]=3
for (var i = 0; i < value.length; i++) {
_result.push("".concat(key, "[").concat(i, "]=").concat(value[i]));
}
break;
case 'brackets':
// 结果: ids[]=1&ids[]=2&ids[]=3
value.forEach(function (_value) {
_result.push("".concat(key, "[]=").concat(_value));
});
break;
case 'repeat':
// 结果: ids=1&ids=2&ids=3
value.forEach(function (_value) {
_result.push("".concat(key, "=").concat(_value));
});
break;
case 'comma':
// 结果: ids=1,2,3
var commaStr = '';
value.forEach(function (_value) {
commaStr += (commaStr ? ',' : '') + _value;
});
_result.push("".concat(key, "=").concat(commaStr));
break;
default:
value.forEach(function (_value) {
_result.push("".concat(key, "[]=").concat(_value));
});
}
} else {
_result.push("".concat(key, "=").concat(value));
}
};
for (var key in data) {
var _ret = _loop(key);
if (_ret === "continue") continue;
}
return _result.length ? prefix + _result.join('&') : '';
}
/**
* 显示消息提示框
* @param {String} title 提示的内容,长度与 icon 取值有关。
* @param {Number} duration 提示的延迟时间,单位毫秒,默认:2000
*/
function toast(title) {
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;
uni.showToast({
title: String(title),
icon: 'none',
duration: duration
});
}
/**
* @description 根据主题type值,获取对应的图标
* @param {String} type 主题名称,primary|info|error|warning|success
* @param {boolean} fill 是否使用fill填充实体的图标
*/
function type2icon() {
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'success';
var fill = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
// 如果非预置值,默认为success
if (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success';
var iconName = '';
// 目前(2019-12-12),info和primary使用同一个图标
switch (type) {
case 'primary':
iconName = 'info-circle';
break;
case 'info':
iconName = 'info-circle';
break;
case 'error':
iconName = 'close-circle';
break;
case 'warning':
iconName = 'error-circle';
break;
case 'success':
iconName = 'checkmark-circle';
break;
default:
iconName = 'checkmark-circle';
}
// 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的
if (fill) iconName += '-fill';
return iconName;
}
/**
* @description 数字格式化
* @param {number|string} number 要格式化的数字
* @param {number} decimals 保留几位小数
* @param {string} decimalPoint 小数点符号
* @param {string} thousandsSeparator 千分位符号
* @returns {string} 格式化后的数字
*/
function priceFormat(number) {
var decimals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var decimalPoint = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';
var thousandsSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ',';
number = "".concat(number).replace(/[^0-9+-Ee.]/g, '');
var n = !isFinite(+number) ? 0 : +number;
var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals);
var sep = typeof thousandsSeparator === 'undefined' ? ',' : thousandsSeparator;
var dec = typeof decimalPoint === 'undefined' ? '.' : decimalPoint;
var s = '';
s = (prec ? (0, _digit.round)(n, prec) + '' : "".concat(Math.round(n))).split('.');
var re = /(-?\d+)(\d{3})/;
while (re.test(s[0])) {
s[0] = s[0].replace(re, "$1".concat(sep, "$2"));
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || '';
s[1] += new Array(prec - s[1].length + 1).join('0');
}
return s.join(dec);
}
/**
* @description 获取duration值
* 如果带有ms或者s直接返回,如果大于一定值,认为是ms单位,小于一定值,认为是s单位
* 比如以30位阈值,那么300大于30,可以理解为用户想要的是300ms,而不是想花300s去执行一个动画
* @param {String|number} value 比如: "1s"|"100ms"|1|100
* @param {boolean} unit 提示: 如果是false 默认返回number
* @return {string|number}
*/
function getDuration(value) {
var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var valueNum = parseInt(value);
if (unit) {
if (/s$/.test(value)) return value;
return value > 30 ? "".concat(value, "ms") : "".concat(value, "s");
}
if (/ms$/.test(value)) return valueNum;
if (/s$/.test(value)) return valueNum > 30 ? valueNum : valueNum * 1000;
return valueNum;
}
/**
* @description 日期的月或日补零操作
* @param {String} value 需要补零的值
*/
function padZero(value) {
return "00".concat(value).slice(-2);
}
/**
* @description 在u-form的子组件内容发生变化,或者失去焦点时,尝试通知u-form执行校验方法
* @param {*} instance
* @param {*} event
*/
function formValidate(instance, event) {
var formItem = uni.$u.$parent.call(instance, 'u-form-item');
var form = uni.$u.$parent.call(instance, 'u-form');
// 如果发生变化的input或者textarea等,其父组件中有u-form-item或者u-form等,就执行form的validate方法
// 同时将form-item的pros传递给form,让其进行精确对象验证
if (formItem && form) {
form.validateField(formItem.prop, function () {}, event);
}
}
/**
* @description 获取某个对象下的属性,用于通过类似'a.b.c'的形式去获取一个对象的的属性的形式
* @param {object} obj 对象
* @param {string} key 需要获取的属性字段
* @returns {*}
*/
function getProperty(obj, key) {
if (!obj) {
return;
}
if (typeof key !== 'string' || key === '') {
return '';
}
if (key.indexOf('.') !== -1) {
var keys = key.split('.');
var firstObj = obj[keys[0]] || {};
for (var i = 1; i < keys.length; i++) {
if (firstObj) {
firstObj = firstObj[keys[i]];
}
}
return firstObj;
}
return obj[key];
}
/**
* @description 设置对象的属性值,如果'a.b.c'的形式进行设置
* @param {object} obj 对象
* @param {string} key 需要设置的属性
* @param {string} value 设置的值
*/
function setProperty(obj, key, value) {
if (!obj) {
return;
}
// 递归赋值
var inFn = function inFn(_obj, keys, v) {
// 最后一个属性key
if (keys.length === 1) {
_obj[keys[0]] = v;
return;
}
// 0~length-1个key
while (keys.length > 1) {
var k = keys[0];
if (!_obj[k] || (0, _typeof2.default)(_obj[k]) !== 'object') {
_obj[k] = {};
}
var _key = keys.shift();
// 自调用判断是否存在属性,不存在则自动创建对象
inFn(_obj[k], keys, v);
}
};
if (typeof key !== 'string' || key === '') {} else if (key.indexOf('.') !== -1) {
// 支持多层级赋值操作
var keys = key.split('.');
inFn(obj, keys, value);
} else {
obj[key] = value;
}
}
/**
* @description 获取当前页面路径
*/
function page() {
var _pages$route, _pages;
var pages = getCurrentPages();
// 某些特殊情况下(比如页面进行redirectTo时的一些时机),pages可能为空数组
return "/".concat((_pages$route = (_pages = pages[pages.length - 1]) === null || _pages === void 0 ? void 0 : _pages.route) !== null && _pages$route !== void 0 ? _pages$route : '');
}
/**
* @description 获取当前路由栈实例数组
*/
function pages() {
var pages = getCurrentPages();
return pages;
}
/**
* 获取页面历史栈指定层实例
* @param back {number} [0] - 0或者负数,表示获取历史栈的哪一层,0表示获取当前页面实例,-1 表示获取上一个页面实例。默认0。
*/
function getHistoryPage() {
var back = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var pages = getCurrentPages();
var len = pages.length;
return pages[len - 1 + back];
}
/**
* @description 修改uView内置属性值
* @param {object} props 修改内置props属性
* @param {object} config 修改内置config属性
* @param {object} color 修改内置color属性
* @param {object} zIndex 修改内置zIndex属性
*/
function setConfig(_ref5) {
var _ref5$props = _ref5.props,
props = _ref5$props === void 0 ? {} : _ref5$props,
_ref5$config = _ref5.config,
config = _ref5$config === void 0 ? {} : _ref5$config,
_ref5$color = _ref5.color,
color = _ref5$color === void 0 ? {} : _ref5$color,
_ref5$zIndex = _ref5.zIndex,
zIndex = _ref5$zIndex === void 0 ? {} : _ref5$zIndex;
var deepMerge = uni.$u.deepMerge;
uni.$u.config = deepMerge(uni.$u.config, config);
uni.$u.props = deepMerge(uni.$u.props, props);
uni.$u.color = deepMerge(uni.$u.color, color);
uni.$u.zIndex = deepMerge(uni.$u.zIndex, zIndex);
}
var _default = {
range: range,
getPx: getPx,
sleep: sleep,
os: os,
sys: sys,
random: random,
guid: guid,
$parent: $parent,
addStyle: addStyle,
addUnit: addUnit,
deepClone: deepClone,
deepMerge: deepMerge,
error: error,
randomArray: randomArray,
timeFormat: timeFormat,
timeFrom: timeFrom,
trim: trim,
queryParams: queryParams,
toast: toast,
type2icon: type2icon,
priceFormat: priceFormat,
getDuration: getDuration,
padZero: padZero,
formValidate: formValidate,
getProperty: getProperty,
setProperty: setProperty,
page: page,
pages: pages,
getHistoryPage: getHistoryPage,
setConfig: setConfig
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 66:
/*!***************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/function/digit.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.default = void 0;
exports.divide = divide;
exports.enableBoundaryChecking = enableBoundaryChecking;
exports.minus = minus;
exports.plus = plus;
exports.round = round;
exports.times = times;
var _toArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toArray */ 67));
var _boundaryCheckingState = true; // 是否进行越界检查的全局开关
/**
* 把错误的数据转正
* @private
* @example strip(0.09999999999999998)=0.1
*/
function strip(num) {
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 15;
return +parseFloat(Number(num).toPrecision(precision));
}
/**
* Return digits length of a number
* @private
* @param {*number} num Input number
*/
function digitLength(num) {
// Get digit length of e
var eSplit = num.toString().split(/[eE]/);
var len = (eSplit[0].split('.')[1] || '').length - +(eSplit[1] || 0);
return len > 0 ? len : 0;
}
/**
* 把小数转成整数,如果是小数则放大成整数
* @private
* @param {*number} num 输入数
*/
function float2Fixed(num) {
if (num.toString().indexOf('e') === -1) {
return Number(num.toString().replace('.', ''));
}
var dLen = digitLength(num);
return dLen > 0 ? strip(Number(num) * Math.pow(10, dLen)) : Number(num);
}
/**
* 检测数字是否越界,如果越界给出提示
* @private
* @param {*number} num 输入数
*/
function checkBoundary(num) {
if (_boundaryCheckingState) {
if (num > Number.MAX_SAFE_INTEGER || num < Number.MIN_SAFE_INTEGER) {
console.warn("".concat(num, " \u8D85\u51FA\u4E86\u7CBE\u5EA6\u9650\u5236\uFF0C\u7ED3\u679C\u53EF\u80FD\u4E0D\u6B63\u786E"));
}
}
}
/**
* 把递归操作扁平迭代化
* @param {number[]} arr 要操作的数字数组
* @param {function} operation 迭代操作
* @private
*/
function iteratorOperation(arr, operation) {
var _arr = (0, _toArray2.default)(arr),
num1 = _arr[0],
num2 = _arr[1],
others = _arr.slice(2);
var res = operation(num1, num2);
others.forEach(function (num) {
res = operation(res, num);
});
return res;
}
/**
* 高精度乘法
* @export
*/
function times() {
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
nums[_key] = arguments[_key];
}
if (nums.length > 2) {
return iteratorOperation(nums, times);
}
var num1 = nums[0],
num2 = nums[1];
var num1Changed = float2Fixed(num1);
var num2Changed = float2Fixed(num2);
var baseNum = digitLength(num1) + digitLength(num2);
var leftValue = num1Changed * num2Changed;
checkBoundary(leftValue);
return leftValue / Math.pow(10, baseNum);
}
/**
* 高精度加法
* @export
*/
function plus() {
for (var _len2 = arguments.length, nums = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
nums[_key2] = arguments[_key2];
}
if (nums.length > 2) {
return iteratorOperation(nums, plus);
}
var num1 = nums[0],
num2 = nums[1];
// 取最大的小数位
var baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));
// 把小数都转为整数然后再计算
return (times(num1, baseNum) + times(num2, baseNum)) / baseNum;
}
/**
* 高精度减法
* @export
*/
function minus() {
for (var _len3 = arguments.length, nums = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
nums[_key3] = arguments[_key3];
}
if (nums.length > 2) {
return iteratorOperation(nums, minus);
}
var num1 = nums[0],
num2 = nums[1];
var baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));
return (times(num1, baseNum) - times(num2, baseNum)) / baseNum;
}
/**
* 高精度除法
* @export
*/
function divide() {
for (var _len4 = arguments.length, nums = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
nums[_key4] = arguments[_key4];
}
if (nums.length > 2) {
return iteratorOperation(nums, divide);
}
var num1 = nums[0],
num2 = nums[1];
var num1Changed = float2Fixed(num1);
var num2Changed = float2Fixed(num2);
checkBoundary(num1Changed);
checkBoundary(num2Changed);
// 重要,这里必须用strip进行修正
return times(num1Changed / num2Changed, strip(Math.pow(10, digitLength(num2) - digitLength(num1))));
}
/**
* 四舍五入
* @export
*/
function round(num, ratio) {
var base = Math.pow(10, ratio);
var result = divide(Math.round(Math.abs(times(num, base))), base);
if (num < 0 && result !== 0) {
result = times(result, -1);
}
// 位数不足则补0
return result;
}
/**
* 是否进行边界检查,默认开启
* @param flag 标记开关,true 为开启,false 为关闭,默认为 true
* @export
*/
function enableBoundaryChecking() {
var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
_boundaryCheckingState = flag;
}
var _default = {
times: times,
plus: plus,
minus: minus,
divide: divide,
round: round,
enableBoundaryChecking: enableBoundaryChecking
};
exports.default = _default;
/***/ }),
/***/ 67:
/*!********************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/toArray.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ 6);
var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ 20);
var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 8);
var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ 10);
function _toArray(arr) {
return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();
}
module.exports = _toArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 68:
/*!**************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/config.js ***!
\**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// 此版本发布于2024-10-29
var version = '2.0.38';
// 开发环境才提示,生产环境不会提示
if (true) {
console.log("\n %c uView V".concat(version, " %c https://uviewui.com/ \n\n"), 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;');
}
var _default = {
v: version,
version: version,
// 主题名称
type: ['primary', 'success', 'info', 'error', 'warning'],
// 颜色部分,本来可以通过scss的:export导出供js使用,但是奈何nvue不支持
color: {
'u-primary': '#2979ff',
'u-warning': '#ff9900',
'u-success': '#19be6b',
'u-error': '#fa3534',
'u-info': '#909399',
'u-main-color': '#303133',
'u-content-color': '#606266',
'u-tips-color': '#909399',
'u-light-color': '#c0c4cc'
},
// 默认单位,可以通过配置为rpx,那么在用于传入组件大小参数为数值时,就默认为rpx
unit: 'px'
};
exports.default = _default;
/***/ }),
/***/ 69:
/*!*************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props.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.default = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
var _config = _interopRequireDefault(__webpack_require__(/*! ./config */ 68));
var _actionSheet = _interopRequireDefault(__webpack_require__(/*! ./props/actionSheet.js */ 70));
var _album = _interopRequireDefault(__webpack_require__(/*! ./props/album.js */ 71));
var _alert = _interopRequireDefault(__webpack_require__(/*! ./props/alert.js */ 72));
var _avatar = _interopRequireDefault(__webpack_require__(/*! ./props/avatar */ 73));
var _avatarGroup = _interopRequireDefault(__webpack_require__(/*! ./props/avatarGroup */ 74));
var _backtop = _interopRequireDefault(__webpack_require__(/*! ./props/backtop */ 75));
var _badge = _interopRequireDefault(__webpack_require__(/*! ./props/badge */ 76));
var _button = _interopRequireDefault(__webpack_require__(/*! ./props/button */ 77));
var _calendar = _interopRequireDefault(__webpack_require__(/*! ./props/calendar */ 78));
var _carKeyboard = _interopRequireDefault(__webpack_require__(/*! ./props/carKeyboard */ 79));
var _cell = _interopRequireDefault(__webpack_require__(/*! ./props/cell */ 80));
var _cellGroup = _interopRequireDefault(__webpack_require__(/*! ./props/cellGroup */ 81));
var _checkbox = _interopRequireDefault(__webpack_require__(/*! ./props/checkbox */ 82));
var _checkboxGroup = _interopRequireDefault(__webpack_require__(/*! ./props/checkboxGroup */ 83));
var _circleProgress = _interopRequireDefault(__webpack_require__(/*! ./props/circleProgress */ 84));
var _code = _interopRequireDefault(__webpack_require__(/*! ./props/code */ 85));
var _codeInput = _interopRequireDefault(__webpack_require__(/*! ./props/codeInput */ 86));
var _col = _interopRequireDefault(__webpack_require__(/*! ./props/col */ 87));
var _collapse = _interopRequireDefault(__webpack_require__(/*! ./props/collapse */ 88));
var _collapseItem = _interopRequireDefault(__webpack_require__(/*! ./props/collapseItem */ 89));
var _columnNotice = _interopRequireDefault(__webpack_require__(/*! ./props/columnNotice */ 90));
var _countDown = _interopRequireDefault(__webpack_require__(/*! ./props/countDown */ 91));
var _countTo = _interopRequireDefault(__webpack_require__(/*! ./props/countTo */ 92));
var _datetimePicker = _interopRequireDefault(__webpack_require__(/*! ./props/datetimePicker */ 93));
var _divider = _interopRequireDefault(__webpack_require__(/*! ./props/divider */ 94));
var _empty = _interopRequireDefault(__webpack_require__(/*! ./props/empty */ 95));
var _form = _interopRequireDefault(__webpack_require__(/*! ./props/form */ 96));
var _formItem = _interopRequireDefault(__webpack_require__(/*! ./props/formItem */ 97));
var _gap = _interopRequireDefault(__webpack_require__(/*! ./props/gap */ 98));
var _grid = _interopRequireDefault(__webpack_require__(/*! ./props/grid */ 99));
var _gridItem = _interopRequireDefault(__webpack_require__(/*! ./props/gridItem */ 100));
var _icon = _interopRequireDefault(__webpack_require__(/*! ./props/icon */ 101));
var _image = _interopRequireDefault(__webpack_require__(/*! ./props/image */ 102));
var _indexAnchor = _interopRequireDefault(__webpack_require__(/*! ./props/indexAnchor */ 103));
var _indexList = _interopRequireDefault(__webpack_require__(/*! ./props/indexList */ 104));
var _input = _interopRequireDefault(__webpack_require__(/*! ./props/input */ 105));
var _keyboard = _interopRequireDefault(__webpack_require__(/*! ./props/keyboard */ 106));
var _line = _interopRequireDefault(__webpack_require__(/*! ./props/line */ 107));
var _lineProgress = _interopRequireDefault(__webpack_require__(/*! ./props/lineProgress */ 108));
var _link = _interopRequireDefault(__webpack_require__(/*! ./props/link */ 109));
var _list = _interopRequireDefault(__webpack_require__(/*! ./props/list */ 110));
var _listItem = _interopRequireDefault(__webpack_require__(/*! ./props/listItem */ 111));
var _loadingIcon = _interopRequireDefault(__webpack_require__(/*! ./props/loadingIcon */ 112));
var _loadingPage = _interopRequireDefault(__webpack_require__(/*! ./props/loadingPage */ 113));
var _loadmore = _interopRequireDefault(__webpack_require__(/*! ./props/loadmore */ 114));
var _modal = _interopRequireDefault(__webpack_require__(/*! ./props/modal */ 115));
var _navbar = _interopRequireDefault(__webpack_require__(/*! ./props/navbar */ 116));
var _noNetwork = _interopRequireDefault(__webpack_require__(/*! ./props/noNetwork */ 118));
var _noticeBar = _interopRequireDefault(__webpack_require__(/*! ./props/noticeBar */ 119));
var _notify = _interopRequireDefault(__webpack_require__(/*! ./props/notify */ 120));
var _numberBox = _interopRequireDefault(__webpack_require__(/*! ./props/numberBox */ 121));
var _numberKeyboard = _interopRequireDefault(__webpack_require__(/*! ./props/numberKeyboard */ 122));
var _overlay = _interopRequireDefault(__webpack_require__(/*! ./props/overlay */ 123));
var _parse = _interopRequireDefault(__webpack_require__(/*! ./props/parse */ 124));
var _picker = _interopRequireDefault(__webpack_require__(/*! ./props/picker */ 125));
var _popup = _interopRequireDefault(__webpack_require__(/*! ./props/popup */ 126));
var _radio = _interopRequireDefault(__webpack_require__(/*! ./props/radio */ 127));
var _radioGroup = _interopRequireDefault(__webpack_require__(/*! ./props/radioGroup */ 128));
var _rate = _interopRequireDefault(__webpack_require__(/*! ./props/rate */ 129));
var _readMore = _interopRequireDefault(__webpack_require__(/*! ./props/readMore */ 130));
var _row = _interopRequireDefault(__webpack_require__(/*! ./props/row */ 131));
var _rowNotice = _interopRequireDefault(__webpack_require__(/*! ./props/rowNotice */ 132));
var _scrollList = _interopRequireDefault(__webpack_require__(/*! ./props/scrollList */ 133));
var _search = _interopRequireDefault(__webpack_require__(/*! ./props/search */ 134));
var _section = _interopRequireDefault(__webpack_require__(/*! ./props/section */ 135));
var _skeleton = _interopRequireDefault(__webpack_require__(/*! ./props/skeleton */ 136));
var _slider = _interopRequireDefault(__webpack_require__(/*! ./props/slider */ 137));
var _statusBar = _interopRequireDefault(__webpack_require__(/*! ./props/statusBar */ 138));
var _steps = _interopRequireDefault(__webpack_require__(/*! ./props/steps */ 139));
var _stepsItem = _interopRequireDefault(__webpack_require__(/*! ./props/stepsItem */ 140));
var _sticky = _interopRequireDefault(__webpack_require__(/*! ./props/sticky */ 141));
var _subsection = _interopRequireDefault(__webpack_require__(/*! ./props/subsection */ 142));
var _swipeAction = _interopRequireDefault(__webpack_require__(/*! ./props/swipeAction */ 143));
var _swipeActionItem = _interopRequireDefault(__webpack_require__(/*! ./props/swipeActionItem */ 144));
var _swiper = _interopRequireDefault(__webpack_require__(/*! ./props/swiper */ 145));
var _swipterIndicator = _interopRequireDefault(__webpack_require__(/*! ./props/swipterIndicator */ 146));
var _switch2 = _interopRequireDefault(__webpack_require__(/*! ./props/switch */ 147));
var _tabbar = _interopRequireDefault(__webpack_require__(/*! ./props/tabbar */ 148));
var _tabbarItem = _interopRequireDefault(__webpack_require__(/*! ./props/tabbarItem */ 149));
var _tabs = _interopRequireDefault(__webpack_require__(/*! ./props/tabs */ 150));
var _tag = _interopRequireDefault(__webpack_require__(/*! ./props/tag */ 151));
var _text = _interopRequireDefault(__webpack_require__(/*! ./props/text */ 152));
var _textarea = _interopRequireDefault(__webpack_require__(/*! ./props/textarea */ 153));
var _toast = _interopRequireDefault(__webpack_require__(/*! ./props/toast */ 154));
var _toolbar = _interopRequireDefault(__webpack_require__(/*! ./props/toolbar */ 155));
var _tooltip = _interopRequireDefault(__webpack_require__(/*! ./props/tooltip */ 156));
var _transition = _interopRequireDefault(__webpack_require__(/*! ./props/transition */ 157));
var _upload = _interopRequireDefault(__webpack_require__(/*! ./props/upload */ 158));
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 color = _config.default.color;
var _default = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, _actionSheet.default), _album.default), _alert.default), _avatar.default), _avatarGroup.default), _backtop.default), _badge.default), _button.default), _calendar.default), _carKeyboard.default), _cell.default), _cellGroup.default), _checkbox.default), _checkboxGroup.default), _circleProgress.default), _code.default), _codeInput.default), _col.default), _collapse.default), _collapseItem.default), _columnNotice.default), _countDown.default), _countTo.default), _datetimePicker.default), _divider.default), _empty.default), _form.default), _formItem.default), _gap.default), _grid.default), _gridItem.default), _icon.default), _image.default), _indexAnchor.default), _indexList.default), _input.default), _keyboard.default), _line.default), _lineProgress.default), _link.default), _list.default), _listItem.default), _loadingIcon.default), _loadingPage.default), _loadmore.default), _modal.default), _navbar.default), _noNetwork.default), _noticeBar.default), _notify.default), _numberBox.default), _numberKeyboard.default), _overlay.default), _parse.default), _picker.default), _popup.default), _radio.default), _radioGroup.default), _rate.default), _readMore.default), _row.default), _rowNotice.default), _scrollList.default), _search.default), _section.default), _skeleton.default), _slider.default), _statusBar.default), _steps.default), _stepsItem.default), _sticky.default), _subsection.default), _swipeAction.default), _swipeActionItem.default), _swiper.default), _swipterIndicator.default), _switch2.default), _tabbar.default), _tabbarItem.default), _tabs.default), _tag.default), _text.default), _textarea.default), _toast.default), _toolbar.default), _tooltip.default), _transition.default), _upload.default);
exports.default = _default;
/***/ }),
/***/ 7:
/*!*********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e,
n,
i,
u,
a = [],
f = !0,
o = !1;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t) return;
f = !1;
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) {
;
}
} catch (r) {
o = !0, n = r;
} finally {
try {
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 70:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/actionSheet.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:44:35
* @FilePath : /u-view2.0/uview-ui/libs/config/props/actionSheet.js
*/
var _default = {
// action-sheet组件
actionSheet: {
show: false,
title: '',
description: '',
actions: function actions() {
return [];
},
index: '',
cancelText: '',
closeOnClickAction: true,
safeAreaInsetBottom: true,
openType: '',
closeOnClickOverlay: true,
round: 0
}
};
exports.default = _default;
/***/ }),
/***/ 71:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/album.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:47:24
* @FilePath : /u-view2.0/uview-ui/libs/config/props/album.js
*/
var _default = {
// album 组件
album: {
urls: function urls() {
return [];
},
keyName: '',
singleSize: 180,
multipleSize: 70,
space: 6,
singleMode: 'scaleToFill',
multipleMode: 'aspectFill',
maxCount: 9,
previewFullImage: true,
rowCount: 3,
showMore: true
}
};
exports.default = _default;
/***/ }),
/***/ 710:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-grid/props.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 分成几列
col: {
type: [String, Number],
default: uni.$u.props.grid.col
},
// 是否显示边框
border: {
type: Boolean,
default: uni.$u.props.grid.border
},
// 宫格对齐方式,表现为数量少的时候,靠左,居中,还是靠右
align: {
type: String,
default: uni.$u.props.grid.align
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 718:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-grid-item/props.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 宫格的name
name: {
type: [String, Number, null],
default: uni.$u.props.gridItem.name
},
// 背景颜色
bgColor: {
type: String,
default: uni.$u.props.gridItem.bgColor
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 72:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/alert.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:48:53
* @FilePath : /u-view2.0/uview-ui/libs/config/props/alert.js
*/
var _default = {
// alert警告组件
alert: {
title: '',
type: 'warning',
description: '',
closable: false,
showIcon: false,
effect: 'light',
center: false,
fontSize: 14
}
};
exports.default = _default;
/***/ }),
/***/ 73:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/avatar.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:49:22
* @FilePath : /u-view2.0/uview-ui/libs/config/props/avatar.js
*/
var _default = {
// avatar 组件
avatar: {
src: '',
shape: 'circle',
size: 40,
mode: 'scaleToFill',
text: '',
bgColor: '#c0c4cc',
color: '#ffffff',
fontSize: 18,
icon: '',
mpAvatar: false,
randomBgColor: false,
defaultUrl: '',
colorIndex: '',
name: ''
}
};
exports.default = _default;
/***/ }),
/***/ 733:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-search/props.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 搜索框形状,round-圆形,square-方形
shape: {
type: String,
default: uni.$u.props.search.shape
},
// 搜索框背景色,默认值#f2f2f2
bgColor: {
type: String,
default: uni.$u.props.search.bgColor
},
// 占位提示文字
placeholder: {
type: String,
default: uni.$u.props.search.placeholder
},
// 是否启用清除控件
clearabled: {
type: Boolean,
default: uni.$u.props.search.clearabled
},
// 是否自动聚焦
focus: {
type: Boolean,
default: uni.$u.props.search.focus
},
// 是否在搜索框右侧显示取消按钮
showAction: {
type: Boolean,
default: uni.$u.props.search.showAction
},
// 右边控件的样式
actionStyle: {
type: Object,
default: uni.$u.props.search.actionStyle
},
// 取消按钮文字
actionText: {
type: String,
default: uni.$u.props.search.actionText
},
// 输入框内容对齐方式,可选值为 left|center|right
inputAlign: {
type: String,
default: uni.$u.props.search.inputAlign
},
// input输入框的样式,可以定义文字颜色,大小等,对象形式
inputStyle: {
type: Object,
default: uni.$u.props.search.inputStyle
},
// 是否启用输入框
disabled: {
type: Boolean,
default: uni.$u.props.search.disabled
},
// 边框颜色
borderColor: {
type: String,
default: uni.$u.props.search.borderColor
},
// 搜索图标的颜色,默认同输入框字体颜色
searchIconColor: {
type: String,
default: uni.$u.props.search.searchIconColor
},
// 输入框字体颜色
color: {
type: String,
default: uni.$u.props.search.color
},
// placeholder的颜色
placeholderColor: {
type: String,
default: uni.$u.props.search.placeholderColor
},
// 左边输入框的图标,可以为uView图标名称或图片路径
searchIcon: {
type: String,
default: uni.$u.props.search.searchIcon
},
searchIconSize: {
type: [Number, String],
default: uni.$u.props.search.searchIconSize
},
// 组件与其他上下左右元素之间的距离,带单位的字符串形式,如"30px"、"30px 20px"等写法
margin: {
type: String,
default: uni.$u.props.search.margin
},
// 开启showAction时,是否在input获取焦点时才显示
animation: {
type: Boolean,
default: uni.$u.props.search.animation
},
// 输入框的初始化内容
value: {
type: String,
default: uni.$u.props.search.value
},
// 输入框最大能输入的长度,-1为不限制长度(来自uniapp文档)
maxlength: {
type: [String, Number],
default: uni.$u.props.search.maxlength
},
// 搜索框高度,单位px
height: {
type: [String, Number],
default: uni.$u.props.search.height
},
// 搜索框左侧文本
label: {
type: [String, Number, null],
default: uni.$u.props.search.label
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 74:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/avatarGroup.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:49:55
* @FilePath : /u-view2.0/uview-ui/libs/config/props/avatarGroup.js
*/
var _default = {
// avatarGroup 组件
avatarGroup: {
urls: function urls() {
return [];
},
maxCount: 5,
shape: 'circle',
mode: 'scaleToFill',
showMore: true,
size: 40,
keyName: '',
gap: 0.5,
extraValue: 0
}
};
exports.default = _default;
/***/ }),
/***/ 741:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-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 = {
'uicon-level': "\uE693",
'uicon-column-line': "\uE68E",
'uicon-checkbox-mark': "\uE807",
'uicon-folder': "\uE7F5",
'uicon-movie': "\uE7F6",
'uicon-star-fill': "\uE669",
'uicon-star': "\uE65F",
'uicon-phone-fill': "\uE64F",
'uicon-phone': "\uE622",
'uicon-apple-fill': "\uE881",
'uicon-chrome-circle-fill': "\uE885",
'uicon-backspace': "\uE67B",
'uicon-attach': "\uE632",
'uicon-cut': "\uE948",
'uicon-empty-car': "\uE602",
'uicon-empty-coupon': "\uE682",
'uicon-empty-address': "\uE646",
'uicon-empty-favor': "\uE67C",
'uicon-empty-permission': "\uE686",
'uicon-empty-news': "\uE687",
'uicon-empty-search': "\uE664",
'uicon-github-circle-fill': "\uE887",
'uicon-rmb': "\uE608",
'uicon-person-delete-fill': "\uE66A",
'uicon-reload': "\uE788",
'uicon-order': "\uE68F",
'uicon-server-man': "\uE6BC",
'uicon-search': "\uE62A",
'uicon-fingerprint': "\uE955",
'uicon-more-dot-fill': "\uE630",
'uicon-scan': "\uE662",
'uicon-share-square': "\uE60B",
'uicon-map': "\uE61D",
'uicon-map-fill': "\uE64E",
'uicon-tags': "\uE629",
'uicon-tags-fill': "\uE651",
'uicon-bookmark-fill': "\uE63B",
'uicon-bookmark': "\uE60A",
'uicon-eye': "\uE613",
'uicon-eye-fill': "\uE641",
'uicon-mic': "\uE64A",
'uicon-mic-off': "\uE649",
'uicon-calendar': "\uE66E",
'uicon-calendar-fill': "\uE634",
'uicon-trash': "\uE623",
'uicon-trash-fill': "\uE658",
'uicon-play-left': "\uE66D",
'uicon-play-right': "\uE610",
'uicon-minus': "\uE618",
'uicon-plus': "\uE62D",
'uicon-info': "\uE653",
'uicon-info-circle': "\uE7D2",
'uicon-info-circle-fill': "\uE64B",
'uicon-question': "\uE715",
'uicon-error': "\uE6D3",
'uicon-close': "\uE685",
'uicon-checkmark': "\uE6A8",
'uicon-android-circle-fill': "\uE67E",
'uicon-android-fill': "\uE67D",
'uicon-ie': "\uE87B",
'uicon-IE-circle-fill': "\uE889",
'uicon-google': "\uE87A",
'uicon-google-circle-fill': "\uE88A",
'uicon-setting-fill': "\uE872",
'uicon-setting': "\uE61F",
'uicon-minus-square-fill': "\uE855",
'uicon-plus-square-fill': "\uE856",
'uicon-heart': "\uE7DF",
'uicon-heart-fill': "\uE851",
'uicon-camera': "\uE7D7",
'uicon-camera-fill': "\uE870",
'uicon-more-circle': "\uE63E",
'uicon-more-circle-fill': "\uE645",
'uicon-chat': "\uE620",
'uicon-chat-fill': "\uE61E",
'uicon-bag-fill': "\uE617",
'uicon-bag': "\uE619",
'uicon-error-circle-fill': "\uE62C",
'uicon-error-circle': "\uE624",
'uicon-close-circle': "\uE63F",
'uicon-close-circle-fill': "\uE637",
'uicon-checkmark-circle': "\uE63D",
'uicon-checkmark-circle-fill': "\uE635",
'uicon-question-circle-fill': "\uE666",
'uicon-question-circle': "\uE625",
'uicon-share': "\uE631",
'uicon-share-fill': "\uE65E",
'uicon-shopping-cart': "\uE621",
'uicon-shopping-cart-fill': "\uE65D",
'uicon-bell': "\uE609",
'uicon-bell-fill': "\uE640",
'uicon-list': "\uE650",
'uicon-list-dot': "\uE616",
'uicon-zhihu': "\uE6BA",
'uicon-zhihu-circle-fill': "\uE709",
'uicon-zhifubao': "\uE6B9",
'uicon-zhifubao-circle-fill': "\uE6B8",
'uicon-weixin-circle-fill': "\uE6B1",
'uicon-weixin-fill': "\uE6B2",
'uicon-twitter-circle-fill': "\uE6AB",
'uicon-twitter': "\uE6AA",
'uicon-taobao-circle-fill': "\uE6A7",
'uicon-taobao': "\uE6A6",
'uicon-weibo-circle-fill': "\uE6A5",
'uicon-weibo': "\uE6A4",
'uicon-qq-fill': "\uE6A1",
'uicon-qq-circle-fill': "\uE6A0",
'uicon-moments-circel-fill': "\uE69A",
'uicon-moments': "\uE69B",
'uicon-qzone': "\uE695",
'uicon-qzone-circle-fill': "\uE696",
'uicon-baidu-circle-fill': "\uE680",
'uicon-baidu': "\uE681",
'uicon-facebook-circle-fill': "\uE68A",
'uicon-facebook': "\uE689",
'uicon-car': "\uE60C",
'uicon-car-fill': "\uE636",
'uicon-warning-fill': "\uE64D",
'uicon-warning': "\uE694",
'uicon-clock-fill': "\uE638",
'uicon-clock': "\uE60F",
'uicon-edit-pen': "\uE612",
'uicon-edit-pen-fill': "\uE66B",
'uicon-email': "\uE611",
'uicon-email-fill': "\uE642",
'uicon-minus-circle': "\uE61B",
'uicon-minus-circle-fill': "\uE652",
'uicon-plus-circle': "\uE62E",
'uicon-plus-circle-fill': "\uE661",
'uicon-file-text': "\uE663",
'uicon-file-text-fill': "\uE665",
'uicon-pushpin': "\uE7E3",
'uicon-pushpin-fill': "\uE86E",
'uicon-grid': "\uE673",
'uicon-grid-fill': "\uE678",
'uicon-play-circle': "\uE647",
'uicon-play-circle-fill': "\uE655",
'uicon-pause-circle-fill': "\uE654",
'uicon-pause': "\uE8FA",
'uicon-pause-circle': "\uE643",
'uicon-eye-off': "\uE648",
'uicon-eye-off-outline': "\uE62B",
'uicon-gift-fill': "\uE65C",
'uicon-gift': "\uE65B",
'uicon-rmb-circle-fill': "\uE657",
'uicon-rmb-circle': "\uE677",
'uicon-kefu-ermai': "\uE656",
'uicon-server-fill': "\uE751",
'uicon-coupon-fill': "\uE8C4",
'uicon-coupon': "\uE8AE",
'uicon-integral': "\uE704",
'uicon-integral-fill': "\uE703",
'uicon-home-fill': "\uE964",
'uicon-home': "\uE965",
'uicon-hourglass-half-fill': "\uE966",
'uicon-hourglass': "\uE967",
'uicon-account': "\uE628",
'uicon-plus-people-fill': "\uE626",
'uicon-minus-people-fill': "\uE615",
'uicon-account-fill': "\uE614",
'uicon-thumb-down-fill': "\uE726",
'uicon-thumb-down': "\uE727",
'uicon-thumb-up': "\uE733",
'uicon-thumb-up-fill': "\uE72F",
'uicon-lock-fill': "\uE979",
'uicon-lock-open': "\uE973",
'uicon-lock-opened-fill': "\uE974",
'uicon-lock': "\uE97A",
'uicon-red-packet-fill': "\uE690",
'uicon-photo-fill': "\uE98B",
'uicon-photo': "\uE98D",
'uicon-volume-off-fill': "\uE659",
'uicon-volume-off': "\uE644",
'uicon-volume-fill': "\uE670",
'uicon-volume': "\uE633",
'uicon-red-packet': "\uE691",
'uicon-download': "\uE63C",
'uicon-arrow-up-fill': "\uE6B0",
'uicon-arrow-down-fill': "\uE600",
'uicon-play-left-fill': "\uE675",
'uicon-play-right-fill': "\uE676",
'uicon-rewind-left-fill': "\uE679",
'uicon-rewind-right-fill': "\uE67A",
'uicon-arrow-downward': "\uE604",
'uicon-arrow-leftward': "\uE601",
'uicon-arrow-rightward': "\uE603",
'uicon-arrow-upward': "\uE607",
'uicon-arrow-down': "\uE60D",
'uicon-arrow-right': "\uE605",
'uicon-arrow-left': "\uE60E",
'uicon-arrow-up': "\uE606",
'uicon-skip-back-left': "\uE674",
'uicon-skip-forward-right': "\uE672",
'uicon-rewind-right': "\uE66F",
'uicon-rewind-left': "\uE671",
'uicon-arrow-right-double': "\uE68D",
'uicon-arrow-left-double': "\uE68C",
'uicon-wifi-off': "\uE668",
'uicon-wifi': "\uE667",
'uicon-empty-data': "\uE62F",
'uicon-empty-history': "\uE684",
'uicon-empty-list': "\uE68B",
'uicon-empty-page': "\uE627",
'uicon-empty-order': "\uE639",
'uicon-man': "\uE697",
'uicon-woman': "\uE69C",
'uicon-man-add': "\uE61C",
'uicon-man-add-fill': "\uE64C",
'uicon-man-delete': "\uE61A",
'uicon-man-delete-fill': "\uE66A",
'uicon-zh': "\uE70A",
'uicon-en': "\uE692"
};
exports.default = _default;
/***/ }),
/***/ 742:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-icon/props.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 图标类名
name: {
type: String,
default: uni.$u.props.icon.name
},
// 图标颜色,可接受主题色
color: {
type: String,
default: uni.$u.props.icon.color
},
// 字体大小,单位px
size: {
type: [String, Number],
default: uni.$u.props.icon.size
},
// 是否显示粗体
bold: {
type: Boolean,
default: uni.$u.props.icon.bold
},
// 点击图标的时候传递事件出去的index(用于区分点击了哪一个)
index: {
type: [String, Number],
default: uni.$u.props.icon.index
},
// 触摸图标时的类名
hoverClass: {
type: String,
default: uni.$u.props.icon.hoverClass
},
// 自定义扩展前缀,方便用户扩展自己的图标库
customPrefix: {
type: String,
default: uni.$u.props.icon.customPrefix
},
// 图标右边或者下面的文字
label: {
type: [String, Number],
default: uni.$u.props.icon.label
},
// label的位置,只能右边或者下边
labelPos: {
type: String,
default: uni.$u.props.icon.labelPos
},
// label的大小
labelSize: {
type: [String, Number],
default: uni.$u.props.icon.labelSize
},
// label的颜色
labelColor: {
type: String,
default: uni.$u.props.icon.labelColor
},
// label与图标的距离
space: {
type: [String, Number],
default: uni.$u.props.icon.space
},
// 图片的mode
imgMode: {
type: String,
default: uni.$u.props.icon.imgMode
},
// 用于显示图片小图标时,图片的宽度
width: {
type: [String, Number],
default: uni.$u.props.icon.width
},
// 用于显示图片小图标时,图片的高度
height: {
type: [String, Number],
default: uni.$u.props.icon.height
},
// 用于解决某些情况下,让图标垂直居中的用途
top: {
type: [String, Number],
default: uni.$u.props.icon.top
},
// 是否阻止事件传播
stop: {
type: Boolean,
default: uni.$u.props.icon.stop
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 75:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/backtop.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:50:18
* @FilePath : /u-view2.0/uview-ui/libs/config/props/backtop.js
*/
var _default = {
// backtop组件
backtop: {
mode: 'circle',
icon: 'arrow-upward',
text: '',
duration: 100,
scrollTop: 0,
top: 400,
bottom: 100,
right: 20,
zIndex: 9,
iconStyle: function iconStyle() {
return {
color: '#909399',
fontSize: '19px'
};
}
}
};
exports.default = _default;
/***/ }),
/***/ 750:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-popup/props.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否展示弹窗
show: {
type: Boolean,
default: uni.$u.props.popup.show
},
// 是否显示遮罩
overlay: {
type: Boolean,
default: uni.$u.props.popup.overlay
},
// 弹出的方向,可选值为 top bottom right left center
mode: {
type: String,
default: uni.$u.props.popup.mode
},
// 动画时长,单位ms
duration: {
type: [String, Number],
default: uni.$u.props.popup.duration
},
// 是否显示关闭图标
closeable: {
type: Boolean,
default: uni.$u.props.popup.closeable
},
// 自定义遮罩的样式
overlayStyle: {
type: [Object, String],
default: uni.$u.props.popup.overlayStyle
},
// 点击遮罩是否关闭弹窗
closeOnClickOverlay: {
type: Boolean,
default: uni.$u.props.popup.closeOnClickOverlay
},
// 层级
zIndex: {
type: [String, Number],
default: uni.$u.props.popup.zIndex
},
// 是否为iPhoneX留出底部安全距离
safeAreaInsetBottom: {
type: Boolean,
default: uni.$u.props.popup.safeAreaInsetBottom
},
// 是否留出顶部安全距离(状态栏高度)
safeAreaInsetTop: {
type: Boolean,
default: uni.$u.props.popup.safeAreaInsetTop
},
// 自定义关闭图标位置,top-left为左上角,top-right为右上角,bottom-left为左下角,bottom-right为右下角
closeIconPos: {
type: String,
default: uni.$u.props.popup.closeIconPos
},
// 是否显示圆角
round: {
type: [Boolean, String, Number],
default: uni.$u.props.popup.round
},
// mode=center,也即中部弹出时,是否使用缩放模式
zoom: {
type: Boolean,
default: uni.$u.props.popup.zoom
},
// 弹窗背景色,设置为transparent可去除白色背景
bgColor: {
type: String,
default: uni.$u.props.popup.bgColor
},
// 遮罩的透明度,0-1之间
overlayOpacity: {
type: [Number, String],
default: uni.$u.props.popup.overlayOpacity
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 758:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-navbar/props.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否开启顶部安全区适配
safeAreaInsetTop: {
type: Boolean,
default: uni.$u.props.navbar.safeAreaInsetTop
},
// 固定在顶部时,是否生成一个等高元素,以防止塌陷
placeholder: {
type: Boolean,
default: uni.$u.props.navbar.placeholder
},
// 是否固定在顶部
fixed: {
type: Boolean,
default: uni.$u.props.navbar.fixed
},
// 是否显示下边框
border: {
type: Boolean,
default: uni.$u.props.navbar.border
},
// 左边的图标
leftIcon: {
type: String,
default: uni.$u.props.navbar.leftIcon
},
// 左边的提示文字
leftText: {
type: String,
default: uni.$u.props.navbar.leftText
},
// 左右的提示文字
rightText: {
type: String,
default: uni.$u.props.navbar.rightText
},
// 右边的图标
rightIcon: {
type: String,
default: uni.$u.props.navbar.rightIcon
},
// 标题
title: {
type: [String, Number],
default: uni.$u.props.navbar.title
},
// 背景颜色
bgColor: {
type: String,
default: uni.$u.props.navbar.bgColor
},
// 标题的宽度
titleWidth: {
type: [String, Number],
default: uni.$u.props.navbar.titleWidth
},
// 导航栏高度
height: {
type: [String, Number],
default: uni.$u.props.navbar.height
},
// 左侧返回图标的大小
leftIconSize: {
type: [String, Number],
default: uni.$u.props.navbar.leftIconSize
},
// 左侧返回图标的颜色
leftIconColor: {
type: String,
default: uni.$u.props.navbar.leftIconColor
},
// 点击左侧区域(返回图标),是否自动返回上一页
autoBack: {
type: Boolean,
default: uni.$u.props.navbar.autoBack
},
// 标题的样式,对象或字符串
titleStyle: {
type: [String, Object],
default: uni.$u.props.navbar.titleStyle
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 76:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/badge.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-23 19:51:50
* @FilePath : /u-view2.0/uview-ui/libs/config/props/badge.js
*/
var _default = {
// 徽标数组件
badge: {
isDot: false,
value: '',
show: true,
max: 999,
type: 'error',
showZero: false,
bgColor: null,
color: null,
shape: 'circle',
numberType: 'overflow',
offset: function offset() {
return [];
},
inverted: false,
absolute: false
}
};
exports.default = _default;
/***/ }),
/***/ 766:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-upload/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.chooseFile = chooseFile;
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; }
function pickExclude(obj, keys) {
// 某些情况下,type可能会为
if (!['[object Object]', '[object File]'].includes(Object.prototype.toString.call(obj))) {
return {};
}
return Object.keys(obj).reduce(function (prev, key) {
if (!keys.includes(key)) {
prev[key] = obj[key];
}
return prev;
}, {});
}
function formatImage(res) {
return res.tempFiles.map(function (item) {
return _objectSpread(_objectSpread({}, pickExclude(item, ['path'])), {}, {
type: 'image',
url: item.path,
thumb: item.path,
size: item.size
});
});
}
function formatVideo(res) {
return [_objectSpread(_objectSpread({}, pickExclude(res, ['tempFilePath', 'thumbTempFilePath', 'errMsg'])), {}, {
type: 'video',
url: res.tempFilePath,
thumb: res.thumbTempFilePath,
size: res.size
})];
}
function formatMedia(res) {
return res.tempFiles.map(function (item) {
return _objectSpread(_objectSpread({}, pickExclude(item, ['fileType', 'thumbTempFilePath', 'tempFilePath'])), {}, {
type: res.type,
url: item.tempFilePath,
thumb: res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath,
size: item.size
});
});
}
function formatFile(res) {
return res.tempFiles.map(function (item) {
return _objectSpread(_objectSpread({}, pickExclude(item, ['path'])), {}, {
url: item.path,
size: item.size
});
});
}
function chooseFile(_ref) {
var accept = _ref.accept,
multiple = _ref.multiple,
capture = _ref.capture,
compressed = _ref.compressed,
maxDuration = _ref.maxDuration,
sizeType = _ref.sizeType,
camera = _ref.camera,
maxCount = _ref.maxCount;
return new Promise(function (resolve, reject) {
switch (accept) {
case 'image':
uni.chooseImage({
count: multiple ? Math.min(maxCount, 9) : 1,
sourceType: capture,
sizeType: sizeType,
success: function success(res) {
return resolve(formatImage(res));
},
fail: reject
});
break;
// 只有微信小程序才支持chooseMedia接口
case 'media':
wx.chooseMedia({
count: multiple ? Math.min(maxCount, 9) : 1,
sourceType: capture,
maxDuration: maxDuration,
sizeType: sizeType,
camera: camera,
success: function success(res) {
return resolve(formatMedia(res));
},
fail: reject
});
break;
case 'video':
uni.chooseVideo({
sourceType: capture,
compressed: compressed,
maxDuration: maxDuration,
camera: camera,
success: function success(res) {
return resolve(formatVideo(res));
},
fail: reject
});
break;
// 只有微信小程序才支持chooseMessageFile接口
case 'file':
wx.chooseMessageFile({
count: multiple ? maxCount : 1,
type: accept,
success: function success(res) {
return resolve(formatFile(res));
},
fail: reject
});
break;
default:
// 此为保底选项,在accept不为上面任意一项的时候选取全部文件
wx.chooseMessageFile({
count: multiple ? maxCount : 1,
type: 'all',
success: function success(res) {
return resolve(formatFile(res));
},
fail: reject
});
}
});
}
/* 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"]))
/***/ }),
/***/ 767:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-upload/mixin.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
watch: {
// 监听accept的变化,判断是否符合个平台要求
// 只有微信小程序才支持选择媒体,文件类型,所以这里做一个判断提示
accept: {
immediate: true,
handler: function handler(val) {}
}
}
};
exports.default = _default;
/***/ }),
/***/ 768:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-upload/props.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 接受的文件类型, 可选值为all media image file video
accept: {
type: String,
default: uni.$u.props.upload.accept
},
// 图片或视频拾取模式,当accept为image类型时设置capture可选额外camera可以直接调起摄像头
capture: {
type: [String, Array],
default: uni.$u.props.upload.capture
},
// 当accept为video时生效,是否压缩视频,默认为true
compressed: {
type: Boolean,
default: uni.$u.props.upload.compressed
},
// 当accept为video时生效,可选值为back或front
camera: {
type: String,
default: uni.$u.props.upload.camera
},
// 当accept为video时生效,拍摄视频最长拍摄时间,单位秒
maxDuration: {
type: Number,
default: uni.$u.props.upload.maxDuration
},
// 上传区域的图标,只能内置图标
uploadIcon: {
type: String,
default: uni.$u.props.upload.uploadIcon
},
// 上传区域的图标的颜色,默认
uploadIconColor: {
type: String,
default: uni.$u.props.upload.uploadIconColor
},
// 是否开启文件读取前事件
useBeforeRead: {
type: Boolean,
default: uni.$u.props.upload.useBeforeRead
},
// 读取后的处理函数
afterRead: {
type: Function,
default: null
},
// 读取前的处理函数
beforeRead: {
type: Function,
default: null
},
// 是否显示组件自带的图片预览功能
previewFullImage: {
type: Boolean,
default: uni.$u.props.upload.previewFullImage
},
// 最大上传数量
maxCount: {
type: [String, Number],
default: uni.$u.props.upload.maxCount
},
// 是否启用
disabled: {
type: Boolean,
default: uni.$u.props.upload.disabled
},
// 预览上传的图片时的裁剪模式,和image组件mode属性一致
imageMode: {
type: String,
default: uni.$u.props.upload.imageMode
},
// 标识符,可以在回调函数的第二项参数中获取
name: {
type: String,
default: uni.$u.props.upload.name
},
// 所选的图片的尺寸, 可选值为original compressed
sizeType: {
type: Array,
default: uni.$u.props.upload.sizeType
},
// 是否开启图片多选,部分安卓机型不支持
multiple: {
type: Boolean,
default: uni.$u.props.upload.multiple
},
// 是否展示删除按钮
deletable: {
type: Boolean,
default: uni.$u.props.upload.deletable
},
// 文件大小限制,单位为byte
maxSize: {
type: [String, Number],
default: uni.$u.props.upload.maxSize
},
// 显示已上传的文件列表
fileList: {
type: Array,
default: uni.$u.props.upload.fileList
},
// 上传区域的提示文字
uploadText: {
type: String,
default: uni.$u.props.upload.uploadText
},
// 内部预览图片区域和选择图片按钮的区域宽度
width: {
type: [String, Number],
default: uni.$u.props.upload.width
},
// 内部预览图片区域和选择图片按钮的区域高度
height: {
type: [String, Number],
default: uni.$u.props.upload.height
},
// 是否在上传完成后展示预览图
previewImage: {
type: Boolean,
default: uni.$u.props.upload.previewImage
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 77:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/button.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:51:27
* @FilePath : /u-view2.0/uview-ui/libs/config/props/button.js
*/
var _default = {
// button组件
button: {
hairline: false,
type: 'info',
size: 'normal',
shape: 'square',
plain: false,
disabled: false,
loading: false,
loadingText: '',
loadingMode: 'spinner',
loadingSize: 15,
openType: '',
formType: '',
appParameter: '',
hoverStopPropagation: true,
lang: 'en',
sessionFrom: '',
sendMessageTitle: '',
sendMessagePath: '',
sendMessageImg: '',
showMessageCard: false,
dataName: '',
throttleTime: 0,
hoverStartTime: 0,
hoverStayTime: 200,
text: '',
icon: '',
iconColor: '',
color: ''
}
};
exports.default = _default;
/***/ }),
/***/ 776:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-line/props.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
color: {
type: String,
default: uni.$u.props.line.color
},
// 长度,竖向时表现为高度,横向时表现为长度,可以为百分比,带px单位的值等
length: {
type: [String, Number],
default: uni.$u.props.line.length
},
// 线条方向,col-竖向,row-横向
direction: {
type: String,
default: uni.$u.props.line.direction
},
// 是否显示细边框
hairline: {
type: Boolean,
default: uni.$u.props.line.hairline
},
// 线条与上下左右元素的间距,字符串形式,如"30px"、"20px 30px"
margin: {
type: [String, Number],
default: uni.$u.props.line.margin
},
// 是否虚线,true-虚线,false-实线
dashed: {
type: Boolean,
default: uni.$u.props.line.dashed
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 78:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/calendar.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:52:43
* @FilePath : /u-view2.0/uview-ui/libs/config/props/calendar.js
*/
var _default = {
// calendar 组件
calendar: {
title: '日期选择',
showTitle: true,
showSubtitle: true,
mode: 'single',
startText: '开始',
endText: '结束',
customList: function customList() {
return [];
},
color: '#3c9cff',
minDate: 0,
maxDate: 0,
defaultDate: null,
maxCount: Number.MAX_SAFE_INTEGER,
// Infinity
rowHeight: 56,
formatter: null,
showLunar: false,
showMark: true,
confirmText: '确定',
confirmDisabledText: '确定',
show: false,
closeOnClickOverlay: false,
readonly: false,
showConfirm: true,
maxRange: Number.MAX_SAFE_INTEGER,
// Infinity
rangePrompt: '',
showRangePrompt: true,
allowSameDay: false,
round: 0,
monthNum: 3
}
};
exports.default = _default;
/***/ }),
/***/ 784:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-empty/props.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 内置图标名称,或图片路径,建议绝对路径
icon: {
type: String,
default: uni.$u.props.empty.icon
},
// 提示文字
text: {
type: String,
default: uni.$u.props.empty.text
},
// 文字颜色
textColor: {
type: String,
default: uni.$u.props.empty.textColor
},
// 文字大小
textSize: {
type: [String, Number],
default: uni.$u.props.empty.textSize
},
// 图标的颜色
iconColor: {
type: String,
default: uni.$u.props.empty.iconColor
},
// 图标的大小
iconSize: {
type: [String, Number],
default: uni.$u.props.empty.iconSize
},
// 选择预置的图标类型
mode: {
type: String,
default: uni.$u.props.empty.mode
},
// 图标宽度,单位px
width: {
type: [String, Number],
default: uni.$u.props.empty.width
},
// 图标高度,单位px
height: {
type: [String, Number],
default: uni.$u.props.empty.height
},
// 是否显示组件
show: {
type: Boolean,
default: uni.$u.props.empty.show
},
// 组件距离上一个元素之间的距离,默认px单位
marginTop: {
type: [String, Number],
default: uni.$u.props.empty.marginTop
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 79:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/carKeyboard.js ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:53:20
* @FilePath : /u-view2.0/uview-ui/libs/config/props/carKeyboard.js
*/
var _default = {
// 车牌号键盘
carKeyboard: {
random: false
}
};
exports.default = _default;
/***/ }),
/***/ 799:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-number-box/props.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 步进器标识符,在change回调返回
name: {
type: [String, Number],
default: uni.$u.props.numberBox.name
},
// 用于双向绑定的值,初始化时设置设为默认min值(最小值)
value: {
type: [String, Number],
default: uni.$u.props.numberBox.value
},
// 最小值
min: {
type: [String, Number],
default: uni.$u.props.numberBox.min
},
// 最大值
max: {
type: [String, Number],
default: uni.$u.props.numberBox.max
},
// 加减的步长,可为小数
step: {
type: [String, Number],
default: uni.$u.props.numberBox.step
},
// 是否只允许输入整数
integer: {
type: Boolean,
default: uni.$u.props.numberBox.integer
},
// 是否禁用,包括输入框,加减按钮
disabled: {
type: Boolean,
default: uni.$u.props.numberBox.disabled
},
// 是否禁用输入框
disabledInput: {
type: Boolean,
default: uni.$u.props.numberBox.disabledInput
},
// 是否开启异步变更,开启后需要手动控制输入值
asyncChange: {
type: Boolean,
default: uni.$u.props.numberBox.asyncChange
},
// 输入框宽度,单位为px
inputWidth: {
type: [String, Number],
default: uni.$u.props.numberBox.inputWidth
},
// 是否显示减少按钮
showMinus: {
type: Boolean,
default: uni.$u.props.numberBox.showMinus
},
// 是否显示增加按钮
showPlus: {
type: Boolean,
default: uni.$u.props.numberBox.showPlus
},
// 显示的小数位数
decimalLength: {
type: [String, Number, null],
default: uni.$u.props.numberBox.decimalLength
},
// 是否开启长按加减手势
longPress: {
type: Boolean,
default: uni.$u.props.numberBox.longPress
},
// 输入框文字和加减按钮图标的颜色
color: {
type: String,
default: uni.$u.props.numberBox.color
},
// 按钮大小,宽高等于此值,单位px,输入框高度和此值保持一致
buttonSize: {
type: [String, Number],
default: uni.$u.props.numberBox.buttonSize
},
// 输入框和按钮的背景颜色
bgColor: {
type: String,
default: uni.$u.props.numberBox.bgColor
},
// 指定光标于键盘的距离,避免键盘遮挡输入框,单位px
cursorSpacing: {
type: [String, Number],
default: uni.$u.props.numberBox.cursorSpacing
},
// 是否禁用增加按钮
disablePlus: {
type: Boolean,
default: uni.$u.props.numberBox.disablePlus
},
// 是否禁用减少按钮
disableMinus: {
type: Boolean,
default: uni.$u.props.numberBox.disableMinus
},
// 加减按钮图标的样式
iconStyle: {
type: [Object, String],
default: uni.$u.props.numberBox.iconStyle
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 8:
/*!***************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ 9);
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);
}
module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 80:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/cell.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-23 20:53:09
* @FilePath : /u-view2.0/uview-ui/libs/config/props/cell.js
*/
var _default = {
// cell组件的props
cell: {
customClass: '',
title: '',
label: '',
value: '',
icon: '',
disabled: false,
border: true,
center: false,
url: '',
linkType: 'navigateTo',
clickable: false,
isLink: false,
required: false,
arrowDirection: '',
iconStyle: {},
rightIconStyle: {},
rightIcon: 'arrow-right',
titleStyle: {},
size: '',
stop: true,
name: ''
}
};
exports.default = _default;
/***/ }),
/***/ 807:
/*!********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-picker/props.js ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否展示picker弹窗
show: {
type: Boolean,
default: uni.$u.props.picker.show
},
// 是否展示顶部的操作栏
showToolbar: {
type: Boolean,
default: uni.$u.props.picker.showToolbar
},
// 顶部标题
title: {
type: String,
default: uni.$u.props.picker.title
},
// 对象数组,设置每一列的数据
columns: {
type: Array,
default: uni.$u.props.picker.columns
},
// 是否显示加载中状态
loading: {
type: Boolean,
default: uni.$u.props.picker.loading
},
// 各列中,单个选项的高度
itemHeight: {
type: [String, Number],
default: uni.$u.props.picker.itemHeight
},
// 取消按钮的文字
cancelText: {
type: String,
default: uni.$u.props.picker.cancelText
},
// 确认按钮的文字
confirmText: {
type: String,
default: uni.$u.props.picker.confirmText
},
// 取消按钮的颜色
cancelColor: {
type: String,
default: uni.$u.props.picker.cancelColor
},
// 确认按钮的颜色
confirmColor: {
type: String,
default: uni.$u.props.picker.confirmColor
},
// 每列中可见选项的数量
visibleItemCount: {
type: [String, Number],
default: uni.$u.props.picker.visibleItemCount
},
// 选项对象中,需要展示的属性键名
keyName: {
type: String,
default: uni.$u.props.picker.keyName
},
// 是否允许点击遮罩关闭选择器
closeOnClickOverlay: {
type: Boolean,
default: uni.$u.props.picker.closeOnClickOverlay
},
// 各列的默认索引
defaultIndex: {
type: Array,
default: uni.$u.props.picker.defaultIndex
},
// 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件,只在微信2.21.1及以上有效
immediateChange: {
type: Boolean,
default: uni.$u.props.picker.immediateChange
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 81:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/cellGroup.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:54:16
* @FilePath : /u-view2.0/uview-ui/libs/config/props/cellGroup.js
*/
var _default = {
// cell-group组件的props
cellGroup: {
title: '',
border: true,
customStyle: {}
}
};
exports.default = _default;
/***/ }),
/***/ 815:
/*!*****************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-datetime-picker/props.js ***!
\*****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否打开组件
show: {
type: Boolean,
default: uni.$u.props.datetimePicker.show
},
// 是否展示顶部的操作栏
showToolbar: {
type: Boolean,
default: uni.$u.props.datetimePicker.showToolbar
},
// 绑定值
value: {
type: [String, Number],
default: uni.$u.props.datetimePicker.value
},
// 顶部标题
title: {
type: String,
default: uni.$u.props.datetimePicker.title
},
// 展示格式,mode=date为日期选择,mode=time为时间选择,mode=year-month为年月选择,mode=datetime为日期时间选择
mode: {
type: String,
default: uni.$u.props.datetimePicker.mode
},
// 可选的最大时间
maxDate: {
type: Number,
// 最大默认值为后10年
default: uni.$u.props.datetimePicker.maxDate
},
// 可选的最小时间
minDate: {
type: Number,
// 最小默认值为前10年
default: uni.$u.props.datetimePicker.minDate
},
// 可选的最小小时,仅mode=time有效
minHour: {
type: Number,
default: uni.$u.props.datetimePicker.minHour
},
// 可选的最大小时,仅mode=time有效
maxHour: {
type: Number,
default: uni.$u.props.datetimePicker.maxHour
},
// 可选的最小分钟,仅mode=time有效
minMinute: {
type: Number,
default: uni.$u.props.datetimePicker.minMinute
},
// 可选的最大分钟,仅mode=time有效
maxMinute: {
type: Number,
default: uni.$u.props.datetimePicker.maxMinute
},
// 选项过滤函数
filter: {
type: [Function, null],
default: uni.$u.props.datetimePicker.filter
},
// 选项格式化函数
formatter: {
type: [Function, null],
default: uni.$u.props.datetimePicker.formatter
},
// 是否显示加载中状态
loading: {
type: Boolean,
default: uni.$u.props.datetimePicker.loading
},
// 各列中,单个选项的高度
itemHeight: {
type: [String, Number],
default: uni.$u.props.datetimePicker.itemHeight
},
// 取消按钮的文字
cancelText: {
type: String,
default: uni.$u.props.datetimePicker.cancelText
},
// 确认按钮的文字
confirmText: {
type: String,
default: uni.$u.props.datetimePicker.confirmText
},
// 取消按钮的颜色
cancelColor: {
type: String,
default: uni.$u.props.datetimePicker.cancelColor
},
// 确认按钮的颜色
confirmColor: {
type: String,
default: uni.$u.props.datetimePicker.confirmColor
},
// 每列中可见选项的数量
visibleItemCount: {
type: [String, Number],
default: uni.$u.props.datetimePicker.visibleItemCount
},
// 是否允许点击遮罩关闭选择器
closeOnClickOverlay: {
type: Boolean,
default: uni.$u.props.datetimePicker.closeOnClickOverlay
},
// 各列的默认索引
defaultIndex: {
type: Array,
default: uni.$u.props.datetimePicker.defaultIndex
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 816:
/*!**********************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/libs/util/dayjs.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 (t, e) {
( false ? undefined : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = e() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (e),
__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__)) : undefined;
}(this, function () {
'use strict';
var t = 'millisecond';
var e = 'second';
var n = 'minute';
var r = 'hour';
var i = 'day';
var s = 'week';
var u = 'month';
var a = 'quarter';
var o = 'year';
var f = 'date';
var h = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d+)?$/;
var c = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;
var d = {
name: 'en',
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_')
};
var $ = function $(t, e, n) {
var r = String(t);
return !r || r.length >= e ? t : "".concat(Array(e + 1 - r.length).join(n)).concat(t);
};
var l = {
s: $,
z: function z(t) {
var e = -t.utcOffset();
var n = Math.abs(e);
var r = Math.floor(n / 60);
var i = n % 60;
return "".concat((e <= 0 ? '+' : '-') + $(r, 2, '0'), ":").concat($(i, 2, '0'));
},
m: function t(e, n) {
if (e.date() < n.date()) return -t(n, e);
var r = 12 * (n.year() - e.year()) + (n.month() - e.month());
var i = e.clone().add(r, u);
var s = n - i < 0;
var a = e.clone().add(r + (s ? -1 : 1), u);
return +(-(r + (n - i) / (s ? i - a : a - i)) || 0);
},
a: function a(t) {
return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);
},
p: function p(h) {
return {
M: u,
y: o,
w: s,
d: i,
D: f,
h: r,
m: n,
s: e,
ms: t,
Q: a
}[h] || String(h || '').toLowerCase().replace(/s$/, '');
},
u: function u(t) {
return void 0 === t;
}
};
var y = 'en';
var M = {};
M[y] = d;
var m = function m(t) {
return t instanceof S;
};
var D = function D(t, e, n) {
var r;
if (!t) return y;
if (typeof t === 'string') M[t] && (r = t), e && (M[t] = e, r = t);else {
var _i = t.name;
M[_i] = t, r = _i;
}
return !n && r && (y = r), r || !n && y;
};
var v = function v(t, e) {
if (m(t)) return t.clone();
var n = _typeof(e) === 'object' ? e : {};
return n.date = t, n.args = arguments, new S(n);
};
var g = l;
g.l = D, g.i = m, g.w = function (t, e) {
return v(t, {
locale: e.$L,
utc: e.$u,
x: e.$x,
$offset: e.$offset
});
};
var S = function () {
function d(t) {
this.$L = D(t.locale, null, !0), this.parse(t);
}
var $ = d.prototype;
return $.parse = function (t) {
this.$d = function (t) {
var e = t.date;
var n = t.utc;
if (e === null) return new Date(NaN);
if (g.u(e)) return new Date();
if (e instanceof Date) return new Date(e);
if (typeof e === 'string' && !/Z$/i.test(e)) {
var _r = e.match(h);
if (_r) {
var _i2 = _r[2] - 1 || 0;
var _s = (_r[7] || '0').substring(0, 3);
return n ? new Date(Date.UTC(_r[1], _i2, _r[3] || 1, _r[4] || 0, _r[5] || 0, _r[6] || 0, _s)) : new Date(_r[1], _i2, _r[3] || 1, _r[4] || 0, _r[5] || 0, _r[6] || 0, _s);
}
}
return new Date(e);
}(t), this.$x = t.x || {}, this.init();
}, $.init = function () {
var t = this.$d;
this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds();
}, $.$utils = function () {
return g;
}, $.isValid = function () {
return !(this.$d.toString() === 'Invalid Date');
}, $.isSame = function (t, e) {
var n = v(t);
return this.startOf(e) <= n && n <= this.endOf(e);
}, $.isAfter = function (t, e) {
return v(t) < this.startOf(e);
}, $.isBefore = function (t, e) {
return this.endOf(e) < v(t);
}, $.$g = function (t, e, n) {
return g.u(t) ? this[e] : this.set(n, t);
}, $.unix = function () {
return Math.floor(this.valueOf() / 1e3);
}, $.valueOf = function () {
return this.$d.getTime();
}, $.startOf = function (t, a) {
var h = this;
var c = !!g.u(a) || a;
var d = g.p(t);
var $ = function $(t, e) {
var n = g.w(h.$u ? Date.UTC(h.$y, e, t) : new Date(h.$y, e, t), h);
return c ? n : n.endOf(i);
};
var l = function l(t, e) {
return g.w(h.toDate()[t].apply(h.toDate('s'), (c ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), h);
};
var y = this.$W;
var M = this.$M;
var m = this.$D;
var D = "set".concat(this.$u ? 'UTC' : '');
switch (d) {
case o:
return c ? $(1, 0) : $(31, 11);
case u:
return c ? $(1, M) : $(0, M + 1);
case s:
var v = this.$locale().weekStart || 0;
var S = (y < v ? y + 7 : y) - v;
return $(c ? m - S : m + (6 - S), M);
case i:
case f:
return l("".concat(D, "Hours"), 0);
case r:
return l("".concat(D, "Minutes"), 1);
case n:
return l("".concat(D, "Seconds"), 2);
case e:
return l("".concat(D, "Milliseconds"), 3);
default:
return this.clone();
}
}, $.endOf = function (t) {
return this.startOf(t, !1);
}, $.$set = function (s, a) {
var h;
var c = g.p(s);
var d = "set".concat(this.$u ? 'UTC' : '');
var $ = (h = {}, h[i] = "".concat(d, "Date"), h[f] = "".concat(d, "Date"), h[u] = "".concat(d, "Month"), h[o] = "".concat(d, "FullYear"), h[r] = "".concat(d, "Hours"), h[n] = "".concat(d, "Minutes"), h[e] = "".concat(d, "Seconds"), h[t] = "".concat(d, "Milliseconds"), h)[c];
var l = c === i ? this.$D + (a - this.$W) : a;
if (c === u || c === o) {
var _y = this.clone().set(f, 1);
_y.$d[$](l), _y.init(), this.$d = _y.set(f, Math.min(this.$D, _y.daysInMonth())).$d;
} else $ && this.$d[$](l);
return this.init(), this;
}, $.set = function (t, e) {
return this.clone().$set(t, e);
}, $.get = function (t) {
return this[g.p(t)]();
}, $.add = function (t, a) {
var f;
var h = this;
t = Number(t);
var c = g.p(a);
var d = function d(e) {
var n = v(h);
return g.w(n.date(n.date() + Math.round(e * t)), h);
};
if (c === u) return this.set(u, this.$M + t);
if (c === o) return this.set(o, this.$y + t);
if (c === i) return d(1);
if (c === s) return d(7);
var $ = (f = {}, f[n] = 6e4, f[r] = 36e5, f[e] = 1e3, f)[c] || 1;
var l = this.$d.getTime() + t * $;
return g.w(l, this);
}, $.subtract = function (t, e) {
return this.add(-1 * t, e);
}, $.format = function (t) {
var e = this;
if (!this.isValid()) return 'Invalid Date';
var n = t || 'YYYY-MM-DDTHH:mm:ssZ';
var r = g.z(this);
var i = this.$locale();
var s = this.$H;
var u = this.$m;
var a = this.$M;
var o = i.weekdays;
var f = i.months;
var h = function h(t, r, i, s) {
return t && (t[r] || t(e, n)) || i[r].substr(0, s);
};
var d = function d(t) {
return g.s(s % 12 || 12, t, '0');
};
var $ = i.meridiem || function (t, e, n) {
var r = t < 12 ? 'AM' : 'PM';
return n ? r.toLowerCase() : r;
};
var l = {
YY: String(this.$y).slice(-2),
YYYY: this.$y,
M: a + 1,
MM: g.s(a + 1, 2, '0'),
MMM: h(i.monthsShort, a, f, 3),
MMMM: h(f, a),
D: this.$D,
DD: g.s(this.$D, 2, '0'),
d: String(this.$W),
dd: h(i.weekdaysMin, this.$W, o, 2),
ddd: h(i.weekdaysShort, this.$W, o, 3),
dddd: o[this.$W],
H: String(s),
HH: g.s(s, 2, '0'),
h: d(1),
hh: d(2),
a: $(s, u, !0),
A: $(s, u, !1),
m: String(u),
mm: g.s(u, 2, '0'),
s: String(this.$s),
ss: g.s(this.$s, 2, '0'),
SSS: g.s(this.$ms, 3, '0'),
Z: r
};
return n.replace(c, function (t, e) {
return e || l[t] || r.replace(':', '');
});
}, $.utcOffset = function () {
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
}, $.diff = function (t, f, h) {
var c;
var d = g.p(f);
var $ = v(t);
var l = 6e4 * ($.utcOffset() - this.utcOffset());
var y = this - $;
var M = g.m(this, $);
return M = (c = {}, c[o] = M / 12, c[u] = M, c[a] = M / 3, c[s] = (y - l) / 6048e5, c[i] = (y - l) / 864e5, c[r] = y / 36e5, c[n] = y / 6e4, c[e] = y / 1e3, c)[d] || y, h ? M : g.a(M);
}, $.daysInMonth = function () {
return this.endOf(u).$D;
}, $.$locale = function () {
return M[this.$L];
}, $.locale = function (t, e) {
if (!t) return this.$L;
var n = this.clone();
var r = D(t, e, !0);
return r && (n.$L = r), n;
}, $.clone = function () {
return g.w(this.$d, this);
}, $.toDate = function () {
return new Date(this.valueOf());
}, $.toJSON = function () {
return this.isValid() ? this.toISOString() : null;
}, $.toISOString = function () {
return this.$d.toISOString();
}, $.toString = function () {
return this.$d.toUTCString();
}, d;
}();
var p = S.prototype;
return v.prototype = p, [['$ms', t], ['$s', e], ['$m', n], ['$H', r], ['$W', i], ['$M', u], ['$y', o], ['$D', f]].forEach(function (t) {
p[t[1]] = function (e) {
return this.$g(e, t[0], t[1]);
};
}), v.extend = function (t, e) {
return t.$i || (t(e, S, v), t.$i = !0), v;
}, v.locale = D, v.isDayjs = m, v.unix = function (t) {
return v(1e3 * t);
}, v.en = M[y], v.Ls = M, v.p = {}, v;
});
/***/ }),
/***/ 82:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/checkbox.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-23 21:06:59
* @FilePath : /u-view2.0/uview-ui/libs/config/props/checkbox.js
*/
var _default = {
// checkbox组件
checkbox: {
name: '',
shape: '',
size: '',
checkbox: false,
disabled: '',
activeColor: '',
inactiveColor: '',
iconSize: '',
iconColor: '',
label: '',
labelSize: '',
labelColor: '',
labelDisabled: ''
}
};
exports.default = _default;
/***/ }),
/***/ 83:
/*!***************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/checkboxGroup.js ***!
\***************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:54:47
* @FilePath : /u-view2.0/uview-ui/libs/config/props/checkboxGroup.js
*/
var _default = {
// checkbox-group组件
checkboxGroup: {
name: '',
value: function value() {
return [];
},
shape: 'square',
disabled: false,
activeColor: '#2979ff',
inactiveColor: '#c8c9cc',
size: 18,
placement: 'row',
labelSize: 14,
labelColor: '#303133',
labelDisabled: false,
iconColor: '#ffffff',
iconSize: 12,
iconPlacement: 'left',
borderBottom: false
}
};
exports.default = _default;
/***/ }),
/***/ 831:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-overlay/props.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否显示遮罩
show: {
type: Boolean,
default: uni.$u.props.overlay.show
},
// 层级z-index
zIndex: {
type: [String, Number],
default: uni.$u.props.overlay.zIndex
},
// 遮罩的过渡时间,单位为ms
duration: {
type: [String, Number],
default: uni.$u.props.overlay.duration
},
// 不透明度值,当做rgba的第四个参数
opacity: {
type: [String, Number],
default: uni.$u.props.overlay.opacity
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 839:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-transition/props.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否展示组件
show: {
type: Boolean,
default: uni.$u.props.transition.show
},
// 使用的动画模式
mode: {
type: String,
default: uni.$u.props.transition.mode
},
// 动画的执行时间,单位ms
duration: {
type: [String, Number],
default: uni.$u.props.transition.duration
},
// 使用的动画过渡函数
timingFunction: {
type: String,
default: uni.$u.props.transition.timingFunction
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 84:
/*!****************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/circleProgress.js ***!
\****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:55:02
* @FilePath : /u-view2.0/uview-ui/libs/config/props/circleProgress.js
*/
var _default = {
// circleProgress 组件
circleProgress: {
percentage: 30
}
};
exports.default = _default;
/***/ }),
/***/ 840:
/*!*****************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-transition/transition.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.default = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 58));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 60));
var _nvueAniMap = _interopRequireDefault(__webpack_require__(/*! ./nvue.ani-map.js */ 841));
// 定义一个一定时间后自动成功的promise,让调用nextTick方法处,进入下一个then方法
var nextTick = function nextTick() {
return new Promise(function (resolve) {
return setTimeout(resolve, 1000 / 50);
});
};
// nvue动画模块实现细节抽离在外部文件
// 定义类名,通过给元素动态切换类名,赋予元素一定的css动画样式
var getClassNames = function getClassNames(name) {
return {
enter: "u-".concat(name, "-enter u-").concat(name, "-enter-active"),
'enter-to': "u-".concat(name, "-enter-to u-").concat(name, "-enter-active"),
leave: "u-".concat(name, "-leave u-").concat(name, "-leave-active"),
'leave-to': "u-".concat(name, "-leave-to u-").concat(name, "-leave-active")
};
};
var _default = {
methods: {
// 组件被点击发出事件
clickHandler: function clickHandler() {
this.$emit('click');
},
// vue版本的组件进场处理
vueEnter: function vueEnter() {
var _this = this;
// 动画进入时的类名
var classNames = getClassNames(this.mode);
// 定义状态和发出动画进入前事件
this.status = 'enter';
this.$emit('beforeEnter');
this.inited = true;
this.display = true;
this.classes = classNames.enter;
this.$nextTick( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
// 标识动画尚未结束
_this.$emit('enter');
_this.transitionEnded = false;
// 组件动画进入后触发的事件
_this.$emit('afterEnter');
// 赋予组件enter-to类名
_this.classes = classNames['enter-to'];
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
})));
},
// 动画离场处理
vueLeave: function vueLeave() {
var _this2 = this;
// 如果不是展示状态,无需执行逻辑
if (!this.display) return;
var classNames = getClassNames(this.mode);
// 标记离开状态和发出事件
this.status = 'leave';
this.$emit('beforeLeave');
// 获得类名
this.classes = classNames.leave;
this.$nextTick(function () {
// 动画正在离场的状态
_this2.transitionEnded = false;
_this2.$emit('leave');
// 组件执行动画,到了执行的执行时间后,执行一些额外处理
setTimeout(_this2.onTransitionEnd, _this2.duration);
_this2.classes = classNames['leave-to'];
});
},
// 完成过渡后触发
onTransitionEnd: function onTransitionEnd() {
// 如果已经是结束的状态,无需再处理
if (this.transitionEnded) return;
this.transitionEnded = true;
// 发出组件动画执行后的事件
this.$emit(this.status === 'leave' ? 'afterLeave' : 'afterEnter');
if (!this.show && this.display) {
this.display = false;
this.inited = false;
}
}
}
};
exports.default = _default;
/***/ }),
/***/ 841:
/*!*******************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-transition/nvue.ani-map.js ***!
\*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
fade: {
enter: {
opacity: 0
},
'enter-to': {
opacity: 1
},
leave: {
opacity: 1
},
'leave-to': {
opacity: 0
}
},
'fade-up': {
enter: {
opacity: 0,
transform: 'translateY(100%)'
},
'enter-to': {
opacity: 1,
transform: 'translateY(0)'
},
leave: {
opacity: 1,
transform: 'translateY(0)'
},
'leave-to': {
opacity: 0,
transform: 'translateY(100%)'
}
},
'fade-down': {
enter: {
opacity: 0,
transform: 'translateY(-100%)'
},
'enter-to': {
opacity: 1,
transform: 'translateY(0)'
},
leave: {
opacity: 1,
transform: 'translateY(0)'
},
'leave-to': {
opacity: 0,
transform: 'translateY(-100%)'
}
},
'fade-left': {
enter: {
opacity: 0,
transform: 'translateX(-100%)'
},
'enter-to': {
opacity: 1,
transform: 'translateY(0)'
},
leave: {
opacity: 1,
transform: 'translateY(0)'
},
'leave-to': {
opacity: 0,
transform: 'translateX(-100%)'
}
},
'fade-right': {
enter: {
opacity: 0,
transform: 'translateX(100%)'
},
'enter-to': {
opacity: 1,
transform: 'translateY(0)'
},
leave: {
opacity: 1,
transform: 'translateY(0)'
},
'leave-to': {
opacity: 0,
transform: 'translateX(100%)'
}
},
'slide-up': {
enter: {
transform: 'translateY(100%)'
},
'enter-to': {
transform: 'translateY(0)'
},
leave: {
transform: 'translateY(0)'
},
'leave-to': {
transform: 'translateY(100%)'
}
},
'slide-down': {
enter: {
transform: 'translateY(-100%)'
},
'enter-to': {
transform: 'translateY(0)'
},
leave: {
transform: 'translateY(0)'
},
'leave-to': {
transform: 'translateY(-100%)'
}
},
'slide-left': {
enter: {
transform: 'translateX(-100%)'
},
'enter-to': {
transform: 'translateY(0)'
},
leave: {
transform: 'translateY(0)'
},
'leave-to': {
transform: 'translateX(-100%)'
}
},
'slide-right': {
enter: {
transform: 'translateX(100%)'
},
'enter-to': {
transform: 'translateY(0)'
},
leave: {
transform: 'translateY(0)'
},
'leave-to': {
transform: 'translateX(100%)'
}
},
zoom: {
enter: {
transform: 'scale(0.95)'
},
'enter-to': {
transform: 'scale(1)'
},
leave: {
transform: 'scale(1)'
},
'leave-to': {
transform: 'scale(0.95)'
}
},
'fade-zoom': {
enter: {
opacity: 0,
transform: 'scale(0.95)'
},
'enter-to': {
opacity: 1,
transform: 'scale(1)'
},
leave: {
opacity: 1,
transform: 'scale(1)'
},
'leave-to': {
opacity: 0,
transform: 'scale(0.95)'
}
}
};
exports.default = _default;
/***/ }),
/***/ 849:
/*!************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-status-bar/props.js ***!
\************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
bgColor: {
type: String,
default: uni.$u.props.statusBar.bgColor
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 85:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/code.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:55:27
* @FilePath : /u-view2.0/uview-ui/libs/config/props/code.js
*/
var _default = {
// code 组件
code: {
seconds: 60,
startText: '获取验证码',
changeText: 'X秒重新获取',
endText: '重新获取',
keepRunning: false,
uniqueKey: ''
}
};
exports.default = _default;
/***/ }),
/***/ 857:
/*!*************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-safe-bottom/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: {}
};
exports.default = _default;
/***/ }),
/***/ 86:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/codeInput.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:55:58
* @FilePath : /u-view2.0/uview-ui/libs/config/props/codeInput.js
*/
var _default = {
// codeInput 组件
codeInput: {
adjustPosition: true,
maxlength: 6,
dot: false,
mode: 'box',
hairline: false,
space: 10,
value: '',
focus: false,
bold: false,
color: '#606266',
fontSize: 18,
size: 35,
disabledKeyboard: false,
borderColor: '#c9cacc',
disabledDot: true
}
};
exports.default = _default;
/***/ }),
/***/ 865:
/*!**************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-loading-icon/props.js ***!
\**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否显示组件
show: {
type: Boolean,
default: uni.$u.props.loadingIcon.show
},
// 颜色
color: {
type: String,
default: uni.$u.props.loadingIcon.color
},
// 提示文字颜色
textColor: {
type: String,
default: uni.$u.props.loadingIcon.textColor
},
// 文字和图标是否垂直排列
vertical: {
type: Boolean,
default: uni.$u.props.loadingIcon.vertical
},
// 模式选择,circle-圆形,spinner-花朵形,semicircle-半圆形
mode: {
type: String,
default: uni.$u.props.loadingIcon.mode
},
// 图标大小,单位默认px
size: {
type: [String, Number],
default: uni.$u.props.loadingIcon.size
},
// 文字大小
textSize: {
type: [String, Number],
default: uni.$u.props.loadingIcon.textSize
},
// 文字内容
text: {
type: [String, Number],
default: uni.$u.props.loadingIcon.text
},
// 动画模式
timingFunction: {
type: String,
default: uni.$u.props.loadingIcon.timingFunction
},
// 动画执行周期时间
duration: {
type: [String, Number],
default: uni.$u.props.loadingIcon.duration
},
// mode=circle时的暗边颜色
inactiveColor: {
type: String,
default: uni.$u.props.loadingIcon.inactiveColor
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 87:
/*!*****************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/col.js ***!
\*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:56:12
* @FilePath : /u-view2.0/uview-ui/libs/config/props/col.js
*/
var _default = {
// col 组件
col: {
span: 12,
offset: 0,
justify: 'start',
align: 'stretch',
textAlign: 'left'
}
};
exports.default = _default;
/***/ }),
/***/ 873:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/uni_modules/uview-ui/components/u-toolbar/props.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
props: {
// 是否展示工具条
show: {
type: Boolean,
default: uni.$u.props.toolbar.show
},
// 取消按钮的文字
cancelText: {
type: String,
default: uni.$u.props.toolbar.cancelText
},
// 确认按钮的文字
confirmText: {
type: String,
default: uni.$u.props.toolbar.confirmText
},
// 取消按钮的颜色
cancelColor: {
type: String,
default: uni.$u.props.toolbar.cancelColor
},
// 确认按钮的颜色
confirmColor: {
type: String,
default: uni.$u.props.toolbar.confirmColor
},
// 标题文字
title: {
type: String,
default: uni.$u.props.toolbar.title
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 88:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/collapse.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:56:30
* @FilePath : /u-view2.0/uview-ui/libs/config/props/collapse.js
*/
var _default = {
// collapse 组件
collapse: {
value: null,
accordion: false,
border: true
}
};
exports.default = _default;
/***/ }),
/***/ 89:
/*!**************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/collapseItem.js ***!
\**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:56:42
* @FilePath : /u-view2.0/uview-ui/libs/config/props/collapseItem.js
*/
var _default = {
// collapseItem 组件
collapseItem: {
title: '',
value: '',
label: '',
disabled: false,
isLink: true,
clickable: true,
border: true,
align: 'left',
name: '',
icon: '',
duration: 300
}
};
exports.default = _default;
/***/ }),
/***/ 9:
/*!*****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
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;
}
module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ 90:
/*!**************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/columnNotice.js ***!
\**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:57:16
* @FilePath : /u-view2.0/uview-ui/libs/config/props/columnNotice.js
*/
var _default = {
// columnNotice 组件
columnNotice: {
text: '',
icon: 'volume',
mode: '',
color: '#f9ae3d',
bgColor: '#fdf6ec',
fontSize: 14,
speed: 80,
step: false,
duration: 1500,
disableTouch: true
}
};
exports.default = _default;
/***/ }),
/***/ 91:
/*!***********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/countDown.js ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:11:29
* @FilePath : /u-view2.0/uview-ui/libs/config/props/countDown.js
*/
var _default = {
// u-count-down 计时器组件
countDown: {
time: 0,
format: 'HH:mm:ss',
autoStart: true,
millisecond: false
}
};
exports.default = _default;
/***/ }),
/***/ 92:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/countTo.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:57:32
* @FilePath : /u-view2.0/uview-ui/libs/config/props/countTo.js
*/
var _default = {
// countTo 组件
countTo: {
startVal: 0,
endVal: 0,
duration: 2000,
autoplay: true,
decimals: 0,
useEasing: true,
decimal: '.',
color: '#606266',
fontSize: 22,
bold: false,
separator: ''
}
};
exports.default = _default;
/***/ }),
/***/ 93:
/*!****************************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/datetimePicker.js ***!
\****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:57:48
* @FilePath : /u-view2.0/uview-ui/libs/config/props/datetimePicker.js
*/
var _default = {
// datetimePicker 组件
datetimePicker: {
show: false,
showToolbar: true,
value: '',
title: '',
mode: 'datetime',
maxDate: new Date(new Date().getFullYear() + 10, 0, 1).getTime(),
minDate: new Date(new Date().getFullYear() - 10, 0, 1).getTime(),
minHour: 0,
maxHour: 23,
minMinute: 0,
maxMinute: 59,
filter: null,
formatter: null,
loading: false,
itemHeight: 44,
cancelText: '取消',
confirmText: '确认',
cancelColor: '#909193',
confirmColor: '#3c9cff',
visibleItemCount: 5,
closeOnClickOverlay: false,
immediateChange: false,
defaultIndex: function defaultIndex() {
return [];
}
}
};
exports.default = _default;
/***/ }),
/***/ 94:
/*!*********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/divider.js ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 16:58:03
* @FilePath : /u-view2.0/uview-ui/libs/config/props/divider.js
*/
var _default = {
// divider组件
divider: {
dashed: false,
hairline: true,
dot: false,
textPosition: 'center',
text: '',
textSize: 14,
textColor: '#909399',
lineColor: '#dcdfe6'
}
};
exports.default = _default;
/***/ }),
/***/ 95:
/*!*******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/empty.js ***!
\*******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:03:27
* @FilePath : /u-view2.0/uview-ui/libs/config/props/empty.js
*/
var _default = {
// empty组件
empty: {
icon: '',
text: '',
textColor: '#c0c4cc',
textSize: 14,
iconColor: '#c0c4cc',
iconSize: 90,
mode: 'data',
width: 160,
height: 160,
show: true,
marginTop: 0
}
};
exports.default = _default;
/***/ }),
/***/ 96:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/form.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:03:49
* @FilePath : /u-view2.0/uview-ui/libs/config/props/form.js
*/
var _default = {
// form 组件
form: {
model: function model() {
return {};
},
rules: function rules() {
return {};
},
errorType: 'message',
borderBottom: true,
labelPosition: 'left',
labelWidth: 45,
labelAlign: 'left',
labelStyle: function labelStyle() {
return {};
}
}
};
exports.default = _default;
/***/ }),
/***/ 97:
/*!**********************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/formItem.js ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:04:32
* @FilePath : /u-view2.0/uview-ui/libs/config/props/formItem.js
*/
var _default = {
// formItem 组件
formItem: {
label: '',
prop: '',
borderBottom: '',
labelPosition: '',
labelWidth: '',
rightIcon: '',
leftIcon: '',
required: false,
leftIconStyle: ''
}
};
exports.default = _default;
/***/ }),
/***/ 98:
/*!*****************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/gap.js ***!
\*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:05:25
* @FilePath : /u-view2.0/uview-ui/libs/config/props/gap.js
*/
var _default = {
// gap组件
gap: {
bgColor: 'transparent',
height: 20,
marginTop: 0,
marginBottom: 0,
customStyle: {}
}
};
exports.default = _default;
/***/ }),
/***/ 99:
/*!******************************************************************************************!*\
!*** D:/projection/Hbuilder/uniapp-ZHSQ/node_modules/uview-ui/libs/config/props/grid.js ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/*
* @Author : LQ
* @Description :
* @version : 1.0
* @Date : 2021-08-20 16:44:21
* @LastAuthor : LQ
* @lastTime : 2021-08-20 17:05:57
* @FilePath : /u-view2.0/uview-ui/libs/config/props/grid.js
*/
var _default = {
// grid组件
grid: {
col: 3,
border: false,
align: 'left'
}
};
exports.default = _default;
/***/ })
}]);
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map