(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["app"],{

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vant_es_loading_style_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vant/es/loading/style/less */ \"./node_modules/vant/es/loading/style/less.js\");\n/* harmony import */ var vant_es_loading__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vant/es/loading */ \"./node_modules/vant/es/loading/index.js\");\n/* harmony import */ var vant_es_overlay_style_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vant/es/overlay/style/less */ \"./node_modules/vant/es/overlay/style/less.js\");\n/* harmony import */ var vant_es_overlay__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vant/es/overlay */ \"./node_modules/vant/es/overlay/index.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  components: {\n    [vant_es_overlay__WEBPACK_IMPORTED_MODULE_3__[\"default\"].name]: vant_es_overlay__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n    [vant_es_loading__WEBPACK_IMPORTED_MODULE_1__[\"default\"].name]: vant_es_loading__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n  },\n  computed: {\n    ...Object(vuex__WEBPACK_IMPORTED_MODULE_4__[\"mapGetters\"])([\"showInitLoading\"])\n  }\n});\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"06eb583a-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"06eb583a-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n  var _vm = this,\n    _c = _vm._self._c;\n  return _c(\"div\", {\n    attrs: {\n      id: \"app\"\n    }\n  }, [_c(\"router-view\"), _c(\"van-overlay\", {\n    attrs: {\n      show: _vm.showInitLoading,\n      \"z-index\": \"999\"\n    }\n  }, [_c(\"div\", {\n    staticClass: \"wrapper\"\n  }, [_c(\"van-loading\", {\n    attrs: {\n      type: \"spinner\",\n      color: \"#1989fa\"\n    }\n  })], 1)])], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2206eb583a-vue-loader-template%22%7D!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/less-loader/dist/cjs.js?!./src/styles/index.less":
/*!*******************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--11-oneOf-3-1!./node_modules/postcss-loader/src??ref--11-oneOf-3-2!./node_modules/less-loader/dist/cjs.js??ref--11-oneOf-3-3!./src/styles/index.less ***!
  \*******************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"html,\\nbody {\\n  height: 100%;\\n  width: 100%;\\n  margin: 0;\\n  padding: 0;\\n  overflow: hidden;\\n}\\nbody {\\n  line-height: 1.15;\\n  -moz-osx-font-smoothing: grayscale;\\n  -webkit-font-smoothing: antialiased;\\n  text-rendering: optimizeLegibility;\\n  font-family: \\\"Microsoft YaHei\\\", -apple-system, PingFang SC, Hiragino Sans GB, Helvetica Neue, Helvetica, sans-serif;\\n}\\nlabel {\\n  font-weight: 700;\\n}\\n*,\\n*:before,\\n*:after {\\n  box-sizing: inherit;\\n}\\na,\\na:focus,\\na:hover {\\n  cursor: pointer;\\n  color: inherit;\\n  outline: none;\\n  text-decoration: none;\\n}\\ndiv:focus {\\n  outline: none;\\n}\\na:focus,\\na:active {\\n  outline: none;\\n}\\na,\\na:focus,\\na:hover {\\n  cursor: pointer;\\n  color: inherit;\\n  text-decoration: none;\\n}\\n.emojis {\\n  width: 100%;\\n  height: 100%;\\n  box-sizing: border-box;\\n  display: flex;\\n  flex-direction: row;\\n  flex-wrap: wrap;\\n  overflow-y: scroll;\\n}\\n.emojis .emoji {\\n  height: 40px;\\n  width: 40px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/styles/index.less?./node_modules/css-loader/dist/cjs.js??ref--11-oneOf-3-1!./node_modules/postcss-loader/src??ref--11-oneOf-3-2!./node_modules/less-loader/dist/cjs.js??ref--11-oneOf-3-3");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/less-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--11-oneOf-1-2!./node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"#app {\\n  height: 100%;\\n}\\n#app .wrapper {\\n  width: 100%;\\n  height: 100%;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--11-oneOf-1-2!./node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/less-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader??ref--11-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--11-oneOf-1-2!./node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src??ref--11-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/less-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"209ff232\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/App.vue?./node_modules/vue-style-loader??ref--11-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--11-oneOf-1-2!./node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./src/App.vue":
/*!*********************!*\
  !*** ./src/App.vue ***!
  \*********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=7ba5bd90& */ \"./src/App.vue?vue&type=template&id=7ba5bd90&\");\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ \"./src/App.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _App_vue_vue_type_style_index_0_id_7ba5bd90_lang_less___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less& */ \"./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/App.vue?vue&type=script&lang=js&":
/*!**********************************************!*\
  !*** ./src/App.vue?vue&type=script&lang=js& ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/babel-loader/lib!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less&":
/*!*******************************************************************!*\
  !*** ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less& ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/vue-style-loader??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src??ref--11-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/less-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=less&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_less___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_less___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_lang_less___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/App.vue?vue&type=template&id=7ba5bd90&":
/*!****************************************************!*\
  !*** ./src/App.vue?vue&type=template&id=7ba5bd90& ***!
  \****************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_06eb583a_vue_loader_template_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ref_6_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"06eb583a-vue-loader-template\"}!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/babel-loader/lib!../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=template&id=7ba5bd90& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"06eb583a-vue-loader-template\\\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_06eb583a_vue_loader_template_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ref_6_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_06eb583a_vue_loader_template_node_modules_cache_loader_dist_cjs_js_ref_13_0_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ref_6_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/App.vue?");

/***/ }),

/***/ "./src/api/bcxin/identify.js":
/*!***********************************!*\
  !*** ./src/api/bcxin/identify.js ***!
  \***********************************/
/*! exports provided: getTencentSig, getTencentTRTCSig, sendVideoRoomMsg, rooms, exitRoom */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTencentSig\", function() { return getTencentSig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTencentTRTCSig\", function() { return getTencentTRTCSig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sendVideoRoomMsg\", function() { return sendVideoRoomMsg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rooms\", function() { return rooms; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exitRoom\", function() { return exitRoom; });\n/* harmony import */ var _api_bcxin_request__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/api/bcxin/request */ \"./src/api/bcxin/request.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! qs */ \"./node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n/**\n * @获取腾讯Sig\n * @param params\n * @returns {*}\n * 获取腾IM sigid信息\n返回值：{\n\"api\": \"\",\n\"v\": \"\",\n\"retType\": \"0\",\n-\"data\": {\n\"api\": \"\",\n\"v\": \"\",\n\"retType\": \"0\",\n\"data\": \"eJw1jk0LgkAURf-LrEPem3EmEdoYBmGL6Mu2xoz2kGSaTIvovzdpLe*598B9sd1qG5iHJWdYjFJKDgCTgXbGsZjxANiYb7ourCXtdyGA5Fwijg1p07RU0iAILsD3gH*NKk9rJ3pMw75B*7wv8-3iWEVFnhzmXdMl5elK63qTnbNEh*nsJ7Z0*X5SkZiiUkq8P5NGMYw_\",\n\"msg\": \"操作成功！\"\n},\n\"msg\": \"\"\n}\n */\nconst getTencentSig = params => {\n  return Object(_api_bcxin_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/identify/api/tencent/get-tencent-sig\",\n    method: \"GET\",\n    params\n  });\n};\n\n//获取TRTC SigId  name=\"+user.name+\"&cid=\"+user.tencentUserId;\nconst getTencentTRTCSig = params => {\n  return Object(_api_bcxin_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/identify/api/tencent/get-tencent-ysp-sig\",\n    method: \"GET\",\n    params\n  });\n};\n\n//推送音视频房间号给指定人员\nfunction sendVideoRoomMsg(params) {\n  const url = \"/identify/api/tencent/send-video-room-msg\";\n  return Object(_api_bcxin_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: url,\n    method: \"POST\",\n    headers: {\n      \"content-type\": \"application/x-www-form-urlencoded\"\n    },\n    data: qs__WEBPACK_IMPORTED_MODULE_1___default.a.stringify(params)\n  });\n}\nfunction rooms(data) {\n  return Object(_api_bcxin_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/rooms\",\n    method: \"POST\",\n    data\n    // headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\n  });\n}\n\nfunction exitRoom(params) {\n  const url = \"/identify/api/tencent/trtc-video-room\";\n  return Object(_api_bcxin_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: url,\n    method: \"POST\",\n    headers: {\n      \"content-type\": \"application/x-www-form-urlencoded\"\n    },\n    data: qs__WEBPACK_IMPORTED_MODULE_1___default.a.stringify(params)\n  });\n}\n\n//# sourceURL=webpack:///./src/api/bcxin/identify.js?");

/***/ }),

/***/ "./src/api/bcxin/request.js":
/*!**********************************!*\
  !*** ./src/api/bcxin/request.js ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/**\n * @百川信服务入口\n * @公共服务api\n */\n\n\n\n// 创建axios实例\nconst instance = axios__WEBPACK_IMPORTED_MODULE_0__[\"default\"].create({\n  // axios中请求配置有baseURL选项，表示请求URL公共部分\n  baseURL: \"https://identify.test.bcxin.com.cn\",\n  timeout: 30000\n});\ninstance.interceptors.response.use(response => {\n  const {\n    status,\n    data\n  } = response;\n  if (status === 200) {\n    return data.data;\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);\n\n//# sourceURL=webpack:///./src/api/bcxin/request.js?");

/***/ }),

/***/ "./src/api/request.js":
/*!****************************!*\
  !*** ./src/api/request.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n\n\n// 创建axios实例\nconst instance = axios__WEBPACK_IMPORTED_MODULE_0__[\"default\"].create({\n  // axios中请求配置有baseURL选项，表示请求URL公共部分\n  baseURL: \"/dispatch\",\n  timeout: 10000\n});\ninstance.interceptors.request.use(async config => {\n  // config.headers[\"skip-ip-validation\"] = 1;\n  let dispatchToken = localStorage.getItem(\"dispatchToken\");\n  if (dispatchToken) {\n    config.headers.dispatchToken = dispatchToken;\n  }\n  return config;\n}, error => {\n  return Promise.reject(error);\n});\ninstance.interceptors.response.use(response => {\n  const {\n    status,\n    data\n  } = response;\n  if (status === 200) {\n    const {\n      url\n    } = response.config;\n    if (url.indexOf(\"json\") > -1) {\n      // mock api\n      return data;\n    } else {\n      return data.data;\n    }\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);\n\n//# sourceURL=webpack:///./src/api/request.js?");

/***/ }),

/***/ "./src/api/security-station-controller.js":
/*!************************************************!*\
  !*** ./src/api/security-station-controller.js ***!
  \************************************************/
/*! exports provided: getAllStationTypes, getStations, getStationDetail */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAllStationTypes\", function() { return getAllStationTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStations\", function() { return getStations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStationDetail\", function() { return getStationDetail; });\n/* harmony import */ var _api_request__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/api/request */ \"./src/api/request.js\");\n\n\n//获取驻勤点类型\nfunction getAllStationTypes(data) {\n  return Object(_api_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/security-stations/station-types\",\n    method: \"POST\",\n    data\n  });\n}\n\n//获取驻勤点信息\nfunction getStations(data) {\n  return Object(_api_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/security-stations/search\",\n    method: \"POST\",\n    data\n  });\n}\n\n//获取驻勤点详细信息\nfunction getStationDetail(stationId) {\n  return Object(_api_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/security-stations/\" + stationId,\n    method: \"GET\"\n  });\n}\n\n//# sourceURL=webpack:///./src/api/security-station-controller.js?");

/***/ }),

/***/ "./src/api/tenant-user-controller.js":
/*!*******************************************!*\
  !*** ./src/api/tenant-user-controller.js ***!
  \*******************************************/
/*! exports provided: getCurrentUser, getCurrentSetting */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCurrentUser\", function() { return getCurrentUser; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCurrentSetting\", function() { return getCurrentSetting; });\n/* harmony import */ var _api_request__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/api/request */ \"./src/api/request.js\");\n\n\n//获取当前用户信息\nfunction getCurrentUser(params) {\n  return Object(_api_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/tenant/users/current\",\n    method: \"GET\",\n    params\n  });\n}\nfunction getCurrentSetting(params) {\n  return Object(_api_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    url: \"/tenant/users/current/setting\",\n    method: \"GET\",\n    params\n  });\n}\n\n//# sourceURL=webpack:///./src/api/tenant-user-controller.js?");

/***/ }),

/***/ "./src/auth.js":
/*!*********************!*\
  !*** ./src/auth.js ***!
  \*********************/
/*! exports provided: getAccessToken, permission, loginIM, onReadyStateUpdate, onKickOut, kickedOutReason, onError, onReceiveMessage, onUpdateConversationList, onUpdateGroupList, onTotalUnreadMessageCountUpdated */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAccessToken\", function() { return getAccessToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"permission\", function() { return permission; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loginIM\", function() { return loginIM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onReadyStateUpdate\", function() { return onReadyStateUpdate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onKickOut\", function() { return onKickOut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kickedOutReason\", function() { return kickedOutReason; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onError\", function() { return onError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onReceiveMessage\", function() { return onReceiveMessage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onUpdateConversationList\", function() { return onUpdateConversationList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onUpdateGroupList\", function() { return onUpdateGroupList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onTotalUnreadMessageCountUpdated\", function() { return onTotalUnreadMessageCountUpdated; });\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils */ \"./src/utils/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var _api_tenant_user_controller__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/api/tenant-user-controller */ \"./src/api/tenant-user-controller.js\");\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tim-js-sdk/tim-js-friendship */ \"./node_modules/tim-js-sdk/tim-js-friendship.js\");\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _tim__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/tim */ \"./src/tim.js\");\n/* harmony import */ var _api_bcxin_identify__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/api/bcxin/identify */ \"./src/api/bcxin/identify.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/store */ \"./src/store/index.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/router */ \"./src/router/index.js\");\n\n\n\n\n\n\n\n\n\n\n\nconst getAccessToken = () => {\n  return new Promise(resolve => {\n    if (false) {} else {\n      const searchParams = new URLSearchParams(\"?\" + window.location.href.split(\"?\")[1]); //将参数放在URLSearchParams函数中\n      const accessToken = searchParams.get(\"accessToken\");\n      localStorage.setItem(\"accessToken\", accessToken.toString());\n      resolve(accessToken);\n    }\n  });\n};\nconst permission = async () => {\n  const accessToken = await getAccessToken();\n  console.log(\"accessToken\", accessToken);\n  /**\n   * @自动登录获取dispatchToken\n   */\n  return new Promise((resolve, reject) => {\n    axios__WEBPACK_IMPORTED_MODULE_4__[\"default\"].post(`${\"/dispatch\"}/identity/AppDesk/auto-login`, {}, {\n      headers: {\n        \"Content-Type\": \"multipart/form-data\",\n        // \"skip-ip-validation\":1,\n        accessToken\n      }\n    }).then(async res => {\n      const {\n        status,\n        data\n      } = res;\n      if (status === 200) {\n        const {\n          data: {\n            dispatchToken\n          }\n        } = data;\n        localStorage.setItem(\"dispatchToken\", dispatchToken);\n        // 获取配置\n        const setting = await Object(_api_tenant_user_controller__WEBPACK_IMPORTED_MODULE_5__[\"getCurrentSetting\"])();\n        _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_APP_SETTING\", setting);\n        resolve(true);\n      } else if (status === 401 || status === 403) {\n        localStorage.setItem(\"dispatchToken\", \"\");\n        localStorage.setItem(\"userInfo\", \"\");\n        _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n          type: \"error\",\n          message: \"未授权无效调度台用户\",\n          duration: 0\n        });\n        _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_SYS_USER_INFO\", null);\n        reject(\"未授权无效调度台用户\");\n      }\n    }).catch(error => {\n      console.error(error);\n      localStorage.setItem(\"dispatchToken\", \"\");\n      localStorage.setItem(\"userInfo\", \"\");\n      _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n        type: \"error\",\n        message: error.response.data.message,\n        duration: 0\n      });\n      _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_SYS_USER_INFO\", null);\n      reject(\"未授权无效调度台用户\");\n      throw error;\n    });\n  });\n};\nconst getUserInfo = async () => {\n  return new Promise((resolve, reject) => {\n    Object(_api_tenant_user_controller__WEBPACK_IMPORTED_MODULE_5__[\"getCurrentUser\"])().then(res => {\n      console.log(res);\n      localStorage.setItem(\"userInfo\", JSON.stringify(res));\n      _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_SYS_USER_INFO\", res);\n      return resolve(res);\n    }).catch(error => {\n      localStorage.setItem(\"userInfo\", \"\");\n      _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_SYS_USER_INFO\", null);\n      return reject(error);\n    });\n  });\n};\n\n/**\n * @根据用户信息获取腾讯SigId\n * @根据SigId和UserId登录TIM\n */\nasync function loginIM(response) {\n  const TRTC_SIG = await Object(_api_bcxin_identify__WEBPACK_IMPORTED_MODULE_8__[\"getTencentTRTCSig\"])({\n    name: response.name,\n    cid: response.tencentUserId\n  });\n  console.log(\"TRTC_SIG===\", TRTC_SIG);\n  const userID = response.tencentUserId;\n  const {\n    data,\n    msg\n  } = await Object(_api_bcxin_identify__WEBPACK_IMPORTED_MODULE_8__[\"getTencentSig\"])({\n    name: response.name,\n    mobilePhone: response.tencentUserId\n  });\n  if (!data) {\n    return Promise.reject(msg);\n  }\n  const userSig = data;\n  console.log(\"userSig===\", userSig);\n  let promise = _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].login({\n    userID,\n    userSig\n  });\n  promise.then(function (imResponse) {\n    console.log(imResponse.data); // IM登录成功\n    _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"toggleIsLogin\", true);\n    _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"startComputeCurrent\");\n    _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit({\n      type: \"GET_USER_INFO\",\n      userID,\n      userSig,\n      sdkAppID: Number(\"1400522511\")\n    });\n    // 登录成功后会触发 SDK_READY 事件，该事件触发后，可正常使用 SDK 接口\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.SDK_READY, ({\n      name\n    }) => onReadyStateUpdate({\n      name\n    }));\n    // SDK NOT READY\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.SDK_NOT_READY, ({\n      name\n    }) => onReadyStateUpdate({\n      name\n    }));\n    // 被踢出\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.KICKED_OUT, onKickOut);\n    // SDK内部出错\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.ERROR, onError);\n    // 收到新消息\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.MESSAGE_RECEIVED, onReceiveMessage);\n    // 会话列表更新\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.CONVERSATION_LIST_UPDATED, onUpdateConversationList);\n    // 群组列表更新\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.GROUP_LIST_UPDATED, onUpdateGroupList);\n    // 会话未读总数更新，event.data 是当前单聊和群聊会话的未读总数\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].on(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.TOTAL_UNREAD_MESSAGE_COUNT_UPDATED, onTotalUnreadMessageCountUpdated);\n    if (imResponse.data.repeatLogin === true) {\n      // 标识帐号已登录，本次登录操作为重复登录。v2.5.1 起支持\n      console.log(imResponse.data.errorInfo);\n    }\n    return Promise.resolve();\n  }).catch(function (imError) {\n    console.warn(\"login error:\", imError); // 登录失败的相关信息\n    _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n      type: \"error\",\n      message: `IM登录失败 ${imError}`\n    });\n    return Promise.reject(imError);\n  });\n}\nasync function onReadyStateUpdate({\n  name\n}) {\n  console.log(name);\n  const isSDKReady = name === tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_6___default.a.EVENT.SDK_READY;\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"toggleIsSDKReady\", isSDKReady);\n  if (isSDKReady) {\n    _tim__WEBPACK_IMPORTED_MODULE_7__[\"default\"].getMyProfile().then(({\n      data\n    }) => {\n      _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"updateCurrentUserProfile\", data);\n    }).catch(error => {\n      console.log(error);\n      _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n        type: \"error\",\n        message: `IM状态更新失败  ${error.message}`\n      });\n    });\n    // 登录trtc calling\n    // trtcCalling.login({\n    //   sdkAppID: Number(process.env.VUE_APP_SDK_IM_ID),\n    //   userID,\n    //   userSig,\n    // });\n  }\n}\n\nfunction onKickOut(event) {\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n    message: `${this.kickedOutReason(event.data.type)}被踢出，请重新登录。`,\n    type: \"error\"\n  });\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"toggleIsLogin\", false);\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"reset\");\n}\nfunction kickedOutReason(type) {\n  switch (type) {\n    case this.TIM.TYPES.KICKED_OUT_MULT_ACCOUNT:\n      return \"由于多实例登录\";\n    case this.TIM.TYPES.KICKED_OUT_MULT_DEVICE:\n      return \"由于多设备登录\";\n    case this.TIM.TYPES.KICKED_OUT_USERSIG_EXPIRED:\n      return \"由于 userSig 过期\";\n    default:\n      return \"\";\n  }\n}\nfunction onError({\n  data\n}) {\n  if (data.message !== \"Network Error\") {\n    _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n      message: data.message,\n      type: \"error\"\n    });\n  }\n}\nfunction onReceiveMessage({\n  data: messageList\n}) {\n  // this.playNotifyAudio();\n  // this.handleAutoReply(messageList);\n  // this.handleVideoMessage(messageList);\n  // this.handleQuitGroupTip(messageList);\n  console.log(\"pushCurrentMessageList\", messageList);\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"pushCurrentMessageList\", messageList);\n}\nfunction onUpdateConversationList(event) {\n  console.log(\"onUpdateConversationList\", event);\n  const {\n    data: converstationList\n  } = event;\n  const sortList = converstationList.filter(converstation => {\n    return converstation.lastMessage.lastTime > 0;\n  });\n  console.log(\"onUpdateConversationList\", sortList);\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"updateConversationList\", sortList);\n}\nfunction onUpdateGroupList(event) {\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"updateGroupList\", event.data);\n}\nfunction onTotalUnreadMessageCountUpdated(event) {\n  console.log(event.data); // 当前单聊和群聊会话的未读总数\n  _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"updateTotalUnreadMessageCount\", event.data);\n}\n_router__WEBPACK_IMPORTED_MODULE_10__[\"default\"].beforeEach(async (to, from, next) => {\n  // 获取token\n  // const hasToken = await getAccessToken();\n  if (to.path === \"/myStationList\") {\n    await permission();\n    // 有token\n    console.log(_store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].getters.sysUserInfo);\n    if (_store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].getters.sysUserInfo === null) {\n      // 判断当前用户是否已拉取完user_info信息\n      try {\n        const userInfo = await getUserInfo();\n        console.log(\"userInfo\", userInfo);\n        _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_APP_LOADING\", false);\n        next({\n          ...to,\n          replace: true\n        });\n        // 权限通过后自动登录IM\n        await loginIM(userInfo);\n      } catch (err) {\n        console.log(err);\n        _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n          type: \"error\",\n          message: err,\n          duration: 0\n        });\n      }\n    } else {\n      // 有用户信息直接进入\n      next();\n      _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_APP_LOADING\", false);\n    }\n  } else {\n    if (localStorage.getItem(\"dispatchToken\")) {\n      console.log(\"sysUserInfo===\");\n      console.log(_store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].getters.sysUserInfo);\n      if (_store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].getters.sysUserInfo === null) {\n        // 判断当前用户是否已拉取完user_info信息\n        try {\n          const userInfo = await getUserInfo();\n          console.log(\"userInfo\", userInfo);\n          _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_APP_LOADING\", false);\n          next({\n            ...to,\n            replace: true\n          });\n          // 权限通过后自动登录IM\n          await loginIM(userInfo);\n        } catch (err) {\n          console.log(err);\n          _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"showMessage\", {\n            type: \"error\",\n            message: err,\n            duration: 0\n          });\n        }\n      } else {\n        // 有用户信息直接进入\n        next();\n        _store__WEBPACK_IMPORTED_MODULE_9__[\"default\"].commit(\"SET_APP_LOADING\", false);\n      }\n    } else {\n      next(\"/myStationList\");\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/auth.js?");

/***/ }),

/***/ "./src/main.js":
/*!*********************!*\
  !*** ./src/main.js ***!
  \*********************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue */ \"./src/App.vue\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./router */ \"./src/router/index.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./store */ \"./src/store/index.js\");\n/* harmony import */ var normalize_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! normalize.css */ \"./node_modules/normalize.css/normalize.css\");\n/* harmony import */ var normalize_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(normalize_css__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _styles_index_less__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/styles/index.less */ \"./src/styles/index.less\");\n/* harmony import */ var _styles_index_less__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_styles_index_less__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vant_lib_index_less__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vant/lib/index.less */ \"./node_modules/vant/lib/index.less\");\n/* harmony import */ var vant_lib_index_less__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vant_lib_index_less__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/auth */ \"./src/auth.js\");\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tim-js-sdk/tim-js-friendship */ \"./node_modules/tim-js-sdk/tim-js-friendship.js\");\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n // 公共样式\n// 引入全部样式\n\n// 权限验证\n\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype.TIM = tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_8___default.a;\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype.$bus = new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"](); // event Bus 用于无关系组件间的通信。\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].config.productionTip = false;\n\n// 判断客户端类型\nconst userAgent = navigator.appVersion;\nconst userAgentL = userAgent.toLowerCase();\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype.$client = vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].client = {\n  IE: userAgentL.indexOf(\"msie\") > -1 && !userAgentL.indexOf(\"opera\") > -1,\n  GECKO: userAgentL.indexOf(\"gecko\") > -1 && !userAgentL.indexOf(\"khtml\") > -1,\n  // 火狐内核\n  WEBKIT: userAgentL.indexOf(\"applewebkit\") > -1,\n  // 苹果、谷歌内核\n  OPERA: userAgentL.indexOf(\"opera\") > -1 && userAgentL.indexOf(\"presto\") > -1,\n  // opera内核\n  TRIDENT: userAgentL.indexOf(\"trident\") > -1,\n  // IE内核\n  MOBILE: !!userAgent.match(/AppleWebKit.*Mobile.*/),\n  // 是否为移动终端\n  MOBILEDEVICE: !!userAgentL.match(/iphone|android|phone|mobile|wap|netfront|x11|java|opera mobi|opera mini|ucweb|windows ce|symbian|symbianos|series|webos|sony|blackberry|dopod|nokia|samsung|palmsource|xda|pieplus|meizu|midp|cldc|motorola|foma|docomo|up.browser|up.link|blazer|helio|hosin|huawei|novarra|coolpad|webos|techfaith|palmsource|alcatel|amoi|ktouch|nexian|ericsson|philips|sagem|wellcom|bunjalloo|maui|smartphone|iemobile|spice|bird|zte-|longcos|pantech|gionee|portalmmm|jig browser|hiptop|benq|haier|^lct|320x320|240x320|176x220/i),\n  // 是否为移动终端\n  IOS: !!userAgent.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/),\n  // ios终端\n  ANDROID: userAgent.indexOf(\"Android\") > -1 || userAgent.indexOf(\"Adr\") > -1,\n  // android终端或者uc浏览器\n  IPHONE: userAgent.indexOf(\"iPhone\") > -1,\n  // 是否为iPhone或者QQHD浏览器\n  IPAD: userAgent.indexOf(\"iPad\") > -1,\n  // 是否iPad\n  // WEBAPP: !userAgent.indexOf('Safari') > -1, //是否web应该程序，没有头部与底部\n  QQBROWSER: userAgent.indexOf(\"QQBrowser\") > -1,\n  // 是否QQ浏览器\n  WEIXIN: userAgent.indexOf(\"MicroMessenger\") > -1,\n  // 是否微信\n  // QQ: userAgent.match(/\\sQQ/i) === ' qq', // 是否QQ\n  QQ: !!userAgent.match(/QQ\\/[0-9]/i),\n  // 是否QQ\n  WEIBO: userAgent.match(/WeiBo/i) === \"weibo\",\n  // 微博\n  ALIPAY: userAgent.indexOf(\"AlipayClient\") > -1 // 是否支付宝\n};\n\nnew vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n  router: _router__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  store: _store__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  render: h => h(_App_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n}).$mount(\"#app\");\n\n//# sourceURL=webpack:///./src/main.js?");

/***/ }),

/***/ "./src/router/index.js":
/*!*****************************!*\
  !*** ./src/router/index.js ***!
  \*****************************/
/*! exports provided: constantRouterMap, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"constantRouterMap\", function() { return constantRouterMap; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var vue_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-router */ \"./node_modules/vue-router/dist/vue-router.esm.js\");\n\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use(vue_router__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nconst constantRouterMap = [{\n  path: \"/\",\n  name: \"Home\",\n  component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/Layout.vue */ \"./src/views/Layout.vue\")),\n  redirect: \"/myStationList\",\n  children: [{\n    path: \"/myStationList\",\n    name: \"myStationList\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/MyStationList.vue */ \"./src/views/MyStationList.vue\")),\n    meta: {\n      title: \"我管理的\",\n      keepAlive: true\n    }\n  }, {\n    path: \"/stationInfo\",\n    name: \"stationInfo\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/StationInfo.vue */ \"./src/views/StationInfo.vue\")),\n    meta: {\n      title: \"驻勤点详情\"\n    }\n  }, {\n    path: \"/tempStationInfo\",\n    name: \"tempStationInfo\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/StationInfo.vue */ \"./src/views/StationInfo.vue\")),\n    meta: {\n      title: \"临保岗点详情\"\n    }\n  }, {\n    path: \"/companyInfo\",\n    name: \"companyInfo\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/CompanyInfo.vue */ \"./src/views/CompanyInfo.vue\")),\n    meta: {\n      title: \"公司详情\"\n    }\n  }, {\n    path: \"/stationEmployees\",\n    name: \"stationEmployees\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/StationEmployees.vue */ \"./src/views/StationEmployees.vue\")),\n    meta: {\n      title: \"人员列表\"\n    }\n  }, {\n    path: \"/multiStationEmployees\",\n    name: \"multiStationEmployees\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/StationEmployees.vue */ \"./src/views/StationEmployees.vue\")),\n    meta: {\n      title: \"跨执勤点人员\"\n    }\n  }, {\n    path: \"/tempStationEmployees\",\n    name: \"tempStationEmployees\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/StationEmployees.vue */ \"./src/views/StationEmployees.vue\")),\n    meta: {\n      title: \"执勤点人员\"\n    }\n  }, {\n    path: \"/employeeInfo\",\n    name: \"employeeInfo\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/EmployeeInfo.vue */ \"./src/views/EmployeeInfo.vue\")),\n    meta: {\n      title: \"人员详情\"\n    }\n  }, {\n    path: \"/aroundDispatch\",\n    name: \"aroundDispatch\",\n    component: () => Promise.all(/*! import() | about */[__webpack_require__.e(\"vendors~about\"), __webpack_require__.e(\"about\")]).then(__webpack_require__.bind(null, /*! ../views/AroundDispatch.vue */ \"./src/views/AroundDispatch.vue\")),\n    meta: {\n      title: \"周边调度\"\n    }\n  }]\n}, {\n  path: \"*\",\n  //匹配未定义的路由\n  redirect: \"/myStationList\" //重定向\n}];\n\nconst originalPush = vue_router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype.push;\nvue_router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prototype.push = function push(location) {\n  return originalPush.call(this, location).catch(err => err);\n};\nconst router = new vue_router__WEBPACK_IMPORTED_MODULE_1__[\"default\"]({\n  mode: \"hash\",\n  base: \"\",\n  routes: constantRouterMap\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (router);\n\n//# sourceURL=webpack:///./src/router/index.js?");

/***/ }),

/***/ "./src/store/getters.js":
/*!******************************!*\
  !*** ./src/store/getters.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  hidden(state) {\n    // eslint-disable-next-line no-unused-vars\n    const temp = state.current;\n    if (typeof document.hasFocus !== \"function\") {\n      return document.hidden;\n    }\n    return !document.hasFocus();\n  },\n  cachedViews: state => state.cachedViews\n});\n\n//# sourceURL=webpack:///./src/store/getters.js?");

/***/ }),

/***/ "./src/store/index.js":
/*!****************************!*\
  !*** ./src/store/index.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vant_es_dialog_style_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vant/es/dialog/style/less */ \"./node_modules/vant/es/dialog/style/less.js\");\n/* harmony import */ var vant_es_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vant/es/dialog */ \"./node_modules/vant/es/dialog/index.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _getters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getters */ \"./src/store/getters.js\");\n/* harmony import */ var _modules_conversation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/conversation */ \"./src/store/modules/conversation.js\");\n/* harmony import */ var _modules_user__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/user */ \"./src/store/modules/user.js\");\n/* harmony import */ var _modules_group__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/group */ \"./src/store/modules/group.js\");\n/* harmony import */ var _modules_video__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/video */ \"./src/store/modules/video.js\");\n/* harmony import */ var _modules_app__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/app */ \"./src/store/modules/app.js\");\n/* harmony import */ var _store_modules_trtc__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/store/modules/trtc */ \"./src/store/modules/trtc.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].use(vuex__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (new vuex__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Store({\n  getters: _getters__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n  state: {\n    current: Date.now(),\n    // 当前时间\n    intervalID: 0,\n    message: undefined,\n    placeKeywords: \"\",\n    poiList: [],\n    visualVisible: false,\n    cachedViews: [],\n    visitedViews: []\n  },\n  mutations: {\n    SET_POI_LIST(state, list) {\n      console.log(\"poiList\", list);\n      state.poiList = list;\n    },\n    SET_PLACE_KEYWORDS(state, keywords) {\n      state.placeKeywords = keywords;\n    },\n    startComputeCurrent(state) {\n      state.intervalID = setInterval(() => {\n        state.current = Date.now();\n      }, 500);\n    },\n    showMessage(state, options) {\n      if (state.message) {\n        state.message.close();\n      }\n      console.log(\"showMessage\", options);\n      // TODO: show message\n      state.message = vant_es_dialog__WEBPACK_IMPORTED_MODULE_1__[\"default\"].alert({\n        message: options.message\n      });\n    },\n    SET_VISUAL_VISIBLE(state, visible) {\n      state.visualVisible = visible;\n    },\n    ADD_VISITED_VIEWS: (state, view) => {\n      var _view$meta;\n      if (state.visitedViews.some(v => v.path === view.path)) return;\n      state.visitedViews.push({\n        name: view.name,\n        path: view.path,\n        title: view.meta.title || \"no-name\"\n      });\n      if ((_view$meta = view.meta) !== null && _view$meta !== void 0 && _view$meta.cache) {\n        state.cachedViews.push(view.name);\n      }\n    }\n  },\n  actions: {\n    addVisitedViews({\n      commit\n    }, view) {\n      return new Promise(resolve => {\n        commit(\"ADD_VISITED_VIEWS\", view);\n        resolve();\n      });\n    }\n  },\n  modules: {\n    conversation: _modules_conversation__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n    user: _modules_user__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n    group: _modules_group__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n    video: _modules_video__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n    app: _modules_app__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n    trtc: _store_modules_trtc__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n  }\n}));\n\n//# sourceURL=webpack:///./src/store/index.js?");

/***/ }),

/***/ "./src/store/modules/app.js":
/*!**********************************!*\
  !*** ./src/store/modules/app.js ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api_security_station_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/api/security-station-controller */ \"./src/api/security-station-controller.js\");\n\nconst app = {\n  state: {\n    settings: {},\n    showHeatmap: false,\n    showInitLoading: true,\n    rail: {\n      longitude: undefined,\n      latitude: undefined,\n      distance: 100\n    },\n    rightType: \"crossStation\",\n    crossStation: false,\n    stationListLength: {\n      security: 0,\n      population: 0,\n      temporarySecurity: 0\n    },\n    stationTypes: []\n  },\n  getters: {\n    settings: state => {\n      const url =  false ? undefined : \"https://v5qy.te.baibaodun.com.cn\";\n      return {\n        ...state.settings,\n        logo: `${url}/obpm${state.settings.logo}`\n      };\n    },\n    showHeatmap: state => state.showHeatmap,\n    showInitLoading: state => state.showInitLoading,\n    rail: state => state.rail,\n    rightType: state => state.rightType,\n    crossStation: state => state.crossStation,\n    stationListLength: state => state.stationListLength\n  },\n  mutations: {\n    SET_APP_SETTING(state, setting) {\n      state.settings = {\n        ...state.settings,\n        ...setting\n      };\n    },\n    TOGGLE_SHOW_HEATMAP(state) {\n      state.showHeatmap = !state.showHeatmap;\n    },\n    SET_APP_LOADING(state, visible) {\n      state.showInitLoading = visible;\n    },\n    SET_RAIL(state, rail) {\n      state.rail = {\n        ...state.rail,\n        ...rail\n      };\n    },\n    SET_RIGHT_TYPE(state, rightType) {\n      state.rail = rightType;\n    },\n    TOGGLE_CROSS_STATION(state) {\n      state.crossStation = !state.crossStation;\n    },\n    SET_STATION_LIST_LENGTH(state, {\n      security,\n      population,\n      temporarySecurity\n    }) {\n      state.stationListLength = {\n        ...state.stationListLength,\n        security,\n        population,\n        temporarySecurity\n      };\n    },\n    SET_STATION_TYPES(state, payload) {\n      state.stationTypes = [...payload];\n    }\n  },\n  actions: {\n    setRail(context, rail) {\n      context.commit(\"SET_RAIL\", rail);\n    },\n    setRightType(context, rightType) {\n      context.commit(\"SET_RIGHT_TYPE\", rightType);\n    },\n    toggleCrossStation(context) {\n      context.commit(\"TOGGLE_CROSS_STATION\");\n    },\n    setStationListLength(context, {\n      security,\n      population,\n      temporarySecurity\n    }) {\n      context.commit(\"SET_STATION_LIST_LENGTH\", {\n        security,\n        population,\n        temporarySecurity\n      });\n    },\n    async setAllStationTypes({\n      commit\n    }) {\n      const stationTypes = await Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_0__[\"getAllStationTypes\"])({\n        deskTypes: [\"TemporarySecurity\"]\n      });\n      commit(\"SET_STATION_TYPES\", stationTypes);\n      return Promise.resolve(stationTypes);\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (app);\n\n//# sourceURL=webpack:///./src/store/modules/app.js?");

/***/ }),

/***/ "./src/store/modules/conversation.js":
/*!*******************************************!*\
  !*** ./src/store/modules/conversation.js ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _tim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/tim */ \"./src/tim.js\");\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tim-js-sdk/tim-js-friendship */ \"./node_modules/tim-js-sdk/tim-js-friendship.js\");\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../store */ \"./src/store/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils */ \"./src/utils/index.js\");\n\n\n\n\n// import { titleNotify } from \"../../utils\";\n\nconst conversationModules = {\n  state: {\n    currentConversation: {},\n    currentMessageList: [],\n    currentUserList: [],\n    nextReqMessageID: \"\",\n    isCompleted: false,\n    // 当前会话消息列表是否已经拉完了所有消息\n    conversationList: [],\n    callingInfo: {\n      memberList: [],\n      type: \"C2C\" //C2C，GROUP\n    },\n\n    audioCall: false,\n    isShowConversationList: false,\n    selectedMessageList: [],\n    relayType: 1,\n    // 1: 转发  2: 逐条转发 3: 合并转发\n    mergerMessageList: [],\n    mergerMessage: {},\n    relayMessage: {},\n    selectMessage: false,\n    hasUnreadMessage: false\n  },\n  getters: {\n    toAccount: state => {\n      if (!state.currentConversation || !state.currentConversation.conversationID) {\n        return \"\";\n      }\n      switch (state.currentConversation.type) {\n        case \"C2C\":\n          return state.currentConversation.conversationID.replace(\"C2C\", \"\");\n        case \"GROUP\":\n          return state.currentConversation.conversationID.replace(\"GROUP\", \"\");\n        default:\n          return state.currentConversation.conversationID;\n      }\n    },\n    currentConversationType: state => {\n      if (!state.currentConversation || !state.currentConversation.type) {\n        return \"\";\n      }\n      return state.currentConversation.type;\n    },\n    totalUnreadCount: state => {\n      // titleNotify(result);\n      return state.conversationList.reduce((count, conversation) => {\n        // 当前会话不计算总未读\n        if (!_store__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getters.hidden && state.currentConversation.conversationID === conversation.conversationID) {\n          return count;\n        }\n        return count + conversation.unreadCount;\n      }, 0);\n    },\n    // 用于当前会话的图片预览\n    imgUrlList: state => {\n      return state.currentMessageList.filter(message => message.type === tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_2___default.a.TYPES.MSG_IMAGE && !message.isRevoked) // 筛选出没有撤回并且类型是图片类型的消息\n      .map(message => message.payload.imageInfoArray[0].url);\n    }\n  },\n  mutations: {\n    /**\n     * 显示trtcCalling 群通话成员列表\n     * @param {Object} state\n     * @param {Conversation} setCallingList\n     */\n    setCallingList(state, {\n      memberList,\n      type\n    }) {\n      state.callingInfo.memberList = memberList;\n      state.callingInfo.type = type;\n    },\n    /**\n     * 显示trtcCalling 语音通话\n     * @param {Object} state\n     * @param value\n     */\n\n    showConversationList(state, value) {\n      state.isShowConversationList = value;\n    },\n    setSelectedMessageList(state, value) {\n      state.selectedMessageList = value;\n    },\n    setRelayType(state, value) {\n      state.relayType = value;\n    },\n    setMergerMessage(state, value) {\n      state.mergerMessage = value;\n      state.mergerMessageList = [...state.mergerMessageList, value];\n    },\n    setRelayMessage(state, value) {\n      state.relayMessage = value;\n    },\n    updateMergerMessage(state, value) {\n      state.mergerMessage = value;\n      state.mergerMessageList.pop();\n    },\n    setSelectedMessage(state, value) {\n      state.selectMessage = value;\n    },\n    resetSelectedMessage(state, value) {\n      state.selectMessage = value;\n      Object.assign(state, {\n        selectedMessageList: []\n      });\n    },\n    resetMergerMessage(state, value) {\n      state.mergerMessagePop = value;\n      Object.assign(state, {\n        mergerMessage: {},\n        mergerMessageList: []\n      });\n    },\n    /**\n     * 显示trtcCalling 语音通话\n     * @param {Object} state\n     * @param {Conversation} showAudioCall\n     */\n\n    showAudioCall(state, value) {\n      state.audioCall = value;\n    },\n    updateCurrentUserList(state, value) {\n      state.currentUserList = value;\n    },\n    /**\n     * 更新当前会话\n     * 调用时机: 切换会话时\n     * @param {Object} state\n     * @param {Conversation} conversation\n     */\n    updateCurrentConversation(state, conversation) {\n      console.log(\"conversation----\", conversation);\n      state.currentConversation = conversation;\n      state.currentMessageList = [];\n      state.nextReqMessageID = \"\";\n      state.isCompleted = false;\n    },\n    updateTotalUnreadMessageCount(state, totalUnreadMessageCount) {\n      state.hasUnreadMessage = totalUnreadMessageCount > 0;\n    },\n    /**\n     * 更新会话列表\n     * 调用时机：触发会话列表更新事件时。CONVERSATION_LIST_UPDATED\n     * @param {Object} state\n     * @param {Conversation[]} conversationList\n     */\n    updateConversationList(state, conversationList) {\n      state.conversationList = conversationList;\n    },\n    /**\n     * 重置当前会话\n     * 调用时机：需要重置当前会话时，例如：当前会话是一个群组，正好被踢出群时（被踢群事件触发），重置当前会话\n     * @param {Object} state\n     */\n    resetCurrentConversation(state) {\n      state.currentConversation = {};\n    },\n    /**\n     * 将消息插入当前会话列表\n     * 调用时机：收/发消息事件触发时\n     * @param {Object} state\n     * @param {Message[]|Message} data\n     * @returns\n     */\n    pushCurrentMessageList(state, data) {\n      // 还没当前会话，则跳过\n      if (!state.currentConversation.conversationID) {\n        return;\n      }\n      if (Array.isArray(data)) {\n        // 筛选出当前会话的消息\n        const result = data.filter(item => item.conversationID === state.currentConversation.conversationID);\n        state.currentMessageList = [...state.currentMessageList, ...result];\n        Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"filterCallingMessage\"])(state.currentMessageList);\n      } else if (data.conversationID === state.currentConversation.conversationID) {\n        state.currentMessageList = [...state.currentMessageList, data];\n        Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"filterCallingMessage\"])(state.currentMessageList);\n        const userIDList = state.currentMessageList.map(user => user.from);\n        _store__WEBPACK_IMPORTED_MODULE_3__[\"default\"].dispatch(\"getCurrentUserList\", userIDList);\n      }\n    },\n    /**\n     * 从当前消息列表中删除某条消息\n     * @param {Object} state\n     * @param {Message} message\n     */\n    removeMessage(state, message) {\n      const index = state.currentMessageList.findIndex(({\n        ID\n      }) => ID === message.ID);\n      if (index >= 0) {\n        state.currentMessageList.splice(index, 1);\n      }\n    },\n    reset(state) {\n      Object.assign(state, {\n        currentConversation: {},\n        currentMessageList: [],\n        nextReqMessageID: \"\",\n        isCompleted: false,\n        // 当前会话消息列表是否已经拉完了所有消息\n        conversationList: []\n      });\n    }\n  },\n  actions: {\n    /**\n     * 获取消息列表\n     * 调用时机：打开某一会话时或下拉获取历史消息时\n     * @param {Object} context\n     * @param {String} conversationID\n     */\n    getMessageList(context, conversationID) {\n      if (context.state.isCompleted) {\n        context.commit(\"showMessage\", {\n          message: \"已经没有更多的历史消息了哦\",\n          type: \"info\"\n        });\n        return;\n      }\n      const {\n        nextReqMessageID,\n        currentMessageList\n      } = context.state;\n      _tim__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getMessageList({\n        conversationID,\n        nextReqMessageID,\n        count: 15\n      }).then(imReponse => {\n        console.log(imReponse);\n        // 更新messageID，续拉时要用到\n        context.state.nextReqMessageID = imReponse.data.nextReqMessageID;\n        context.state.isCompleted = imReponse.data.isCompleted || !imReponse.data.nextReqMessageID;\n        // 更新当前消息列表，从头部插入\n        context.state.currentMessageList = [...imReponse.data.messageList, ...currentMessageList];\n        Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"filterCallingMessage\"])(context.state.currentMessageList);\n        const userIDList = context.state.currentMessageList.map(user => user.from);\n        context.dispatch(\"getCurrentUserList\", userIDList);\n        console.log(context.state.currentMessageList);\n      });\n    },\n    getCurrentUserList(context, userIDList) {\n      context.state.currentUserList = [];\n      let promise = _tim__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getUserProfile({\n        userIDList // 请注意：即使只拉取一个用户的资料，也需要用数组类型，例如：userIDList: ['user1']\n      });\n\n      promise.then(function (imResponse) {\n        console.log(imResponse.data); // 存储用户资料的数组 - [Profile]\n        context.state.currentUserList = imResponse.data;\n      }).catch(function (imError) {\n        console.warn(\"getUserProfile error:\", imError); // 获取其他用户资料失败的相关信息\n      });\n    },\n\n    /**\n     * 切换会话\n     * 调用时机：切换会话时\n     * @param {Object} context\n     * @param {String} conversationID\n     */\n    checkoutConversation(context, conversationID) {\n      context.commit(\"resetCurrentMemberList\");\n      context.commit(\"resetSelectedMessage\", false);\n      // context.commit(\"resetFriendContent\");\n      // 1.切换会话前，将切换前的会话进行已读上报\n      if (context.state.currentConversation.conversationID) {\n        const prevConversationID = context.state.currentConversation.conversationID;\n        _tim__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setMessageRead({\n          conversationID: prevConversationID\n        });\n      }\n      // 2.待切换的会话也进行已读上报\n      _tim__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setMessageRead({\n        conversationID\n      });\n      // 3. 获取会话信息\n      return _tim__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getConversationProfile(conversationID).then(({\n        data\n      }) => {\n        console.log(data);\n        // 3.1 更新当前会话\n        context.commit(\"updateCurrentConversation\", data.conversation);\n        // 3.2 获取消息列表\n        context.dispatch(\"getMessageList\", conversationID);\n        // 3.3 拉取第一页群成员列表\n        if (data.conversation.type === tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_2___default.a.TYPES.CONV_GROUP) {\n          return context.dispatch(\"getGroupMemberList\", data.conversation.groupProfile.groupID);\n        }\n        return Promise.resolve();\n      });\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (conversationModules);\n\n//# sourceURL=webpack:///./src/store/modules/conversation.js?");

/***/ }),

/***/ "./src/store/modules/group.js":
/*!************************************!*\
  !*** ./src/store/modules/group.js ***!
  \************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _tim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/tim */ \"./src/tim.js\");\n\nconst groupModules = {\n  state: {\n    groupList: [],\n    currentMemberList: [],\n    createGroupModelVisible: false\n  },\n  getters: {\n    hasGroupList: state => state.groupList.length > 0\n  },\n  mutations: {\n    updateGroupList(state, groupList) {\n      console.log(\"updateGroupList\", groupList);\n      state.groupList = groupList;\n    },\n    updateCreateGroupModelVisible(state, visible) {\n      state.createGroupModelVisible = visible;\n    },\n    updateCurrentMemberList(state, memberList) {\n      state.currentMemberList = [...state.currentMemberList, ...memberList];\n    },\n    deleteGroupMemeber(state, userID) {\n      state.currentMemberList = state.currentMemberList.filter(member => member.userID !== userID);\n    },\n    deleteGroupMemberList(state, userIDList) {\n      state.currentMemberList = state.currentMemberList.filter(member => !userIDList.includes(member.userID));\n    },\n    resetCurrentMemberList(state) {\n      state.currentMemberList = [];\n    },\n    reset(state) {\n      Object.assign(state, {\n        groupList: [],\n        currentMemberList: [],\n        createGroupModelVisible: false\n      });\n    }\n  },\n  actions: {\n    updateGroupList(context, groupList) {\n      context.commit(\"updateGroupList\", groupList);\n    },\n    getGroupMemberList(context, groupID) {\n      return _tim__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getGroupMemberList({\n        groupID: groupID,\n        offset: context.state.currentMemberList.length,\n        count: 30\n      }).then(imResponse => {\n        context.commit(\"updateCurrentMemberList\", imResponse.data.memberList);\n        return imResponse;\n      });\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (groupModules);\n\n//# sourceURL=webpack:///./src/store/modules/group.js?");

/***/ }),

/***/ "./src/store/modules/trtc.js":
/*!***********************************!*\
  !*** ./src/store/modules/trtc.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst trtcModules = {\n  state: {\n    roomId: null,\n    remoteStreamList: []\n  },\n  getters: {},\n  mutations: {\n    SET_ROOM_ID(state, id) {\n      state.roomId = id;\n    },\n    SET_REMOTE_STREAM_LIST(state, remoteStreamList) {\n      state.remoteStreamList = remoteStreamList;\n    }\n  },\n  actions: {\n    setRoomId(context, roomId) {\n      context.commit(\"SET_ROOM_ID\", roomId);\n    },\n    setRemoteStreamList(context, remoteStreamList) {\n      context.commit(\"SET_REMOTE_STREAM_LIST\", remoteStreamList);\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (trtcModules);\n\n//# sourceURL=webpack:///./src/store/modules/trtc.js?");

/***/ }),

/***/ "./src/store/modules/user.js":
/*!***********************************!*\
  !*** ./src/store/modules/user.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _tim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/tim */ \"./src/tim.js\");\n\nconst user = {\n  state: {\n    sysUserInfo: null,\n    currentUserProfile: {},\n    isLogin: false,\n    isSDKReady: false,\n    // TIM SDK 是否 ready\n    userID: 0,\n    userSig: \"\",\n    sdkAppID: 0\n  },\n  getters: {\n    myPhone: state => {\n      if (!state.currentUserProfile.profileCustomField) {\n        return \"\";\n      }\n      return state.currentUserProfile.profileCustomField.find(item => item.key === \"Tag_Profile_Custom_phone\");\n    },\n    myCompany: state => {\n      if (!state.currentUserProfile.profileCustomField) {\n        return \"\";\n      }\n      return state.currentUserProfile.profileCustomField.find(item => item.key === \"Tag_Profile_Custom_InCom\");\n    },\n    sysUserInfo: state => {\n      return state.sysUserInfo;\n    }\n  },\n  mutations: {\n    updateCurrentUserProfile(state, userProfile) {\n      console.log(\"userProfile\", userProfile);\n      state.currentUserProfile = userProfile;\n    },\n    toggleIsLogin(state, isLogin) {\n      state.isLogin = typeof isLogin === \"undefined\" ? !state.isLogin : isLogin;\n    },\n    toggleIsSDKReady(state, isSDKReady) {\n      state.isSDKReady = typeof isSDKReady === \"undefined\" ? !state.isSDKReady : isSDKReady;\n    },\n    reset(state) {\n      Object.assign(state, {\n        currentUserProfile: {},\n        isLogin: false,\n        isSDKReady: false // TIM SDK 是否 ready\n      });\n    },\n\n    GET_USER_INFO(state, payload) {\n      state.userID = payload.userID;\n      state.userSig = payload.userSig;\n      state.sdkAppID = payload.sdkAppID;\n    },\n    SET_SYS_USER_INFO(state, payload) {\n      state.sysUserInfo = {\n        ...{},\n        ...payload\n      };\n    }\n  },\n  actions: {\n    logout(context) {\n      // 若有当前会话，在退出登录时已读上报\n      if (context.rootState.conversation.currentConversation.conversationID) {\n        _tim__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setMessageRead({\n          conversationID: context.rootState.conversation.currentConversation.conversationID\n        });\n      }\n      _tim__WEBPACK_IMPORTED_MODULE_0__[\"default\"].logout().then(() => {\n        context.commit(\"toggleIsLogin\");\n        context.commit(\"stopComputeCurrent\");\n        context.commit(\"reset\");\n      });\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (user);\n\n//# sourceURL=webpack:///./src/store/modules/user.js?");

/***/ }),

/***/ "./src/store/modules/video.js":
/*!************************************!*\
  !*** ./src/store/modules/video.js ***!
  \************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst video = {\n  state: {\n    videoRoom: 0,\n    isBusy: false\n  },\n  mutations: {\n    GENERATE_VIDEO_ROOM(state, videoRoom) {\n      if (videoRoom) {\n        state.videoRoom = videoRoom;\n      } else {\n        state.videoRoom = Math.ceil(Math.random() * (2 ** 32 - 1));\n      }\n    },\n    UPDATE_ISBUSY(state, isBusy) {\n      state.isBusy = isBusy;\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (video);\n\n//# sourceURL=webpack:///./src/store/modules/video.js?");

/***/ }),

/***/ "./src/styles/index.less":
/*!*******************************!*\
  !*** ./src/styles/index.less ***!
  \*******************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-3-1!../../node_modules/postcss-loader/src??ref--11-oneOf-3-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-3-3!./index.less */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/less-loader/dist/cjs.js?!./src/styles/index.less\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4e9296a3\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/styles/index.less?");

/***/ }),

/***/ "./src/tim.js":
/*!********************!*\
  !*** ./src/tim.js ***!
  \********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tim_js_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tim-js-sdk */ \"./node_modules/tim-js-sdk/tim-js.js\");\n/* harmony import */ var tim_js_sdk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tim_js_sdk__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var tim_upload_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tim-upload-plugin */ \"./node_modules/tim-upload-plugin/index.js\");\n/* harmony import */ var tim_upload_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(tim_upload_plugin__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var tim_profanity_filter_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tim-profanity-filter-plugin */ \"./node_modules/tim-profanity-filter-plugin/index.js\");\n/* harmony import */ var tim_profanity_filter_plugin__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(tim_profanity_filter_plugin__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * @腾讯IM\n */\n\n// 从v2.11.2起，SDK 支持了 WebSocket，推荐接入；v2.10.2及以下版本，使用 HTTP\n// v2.24.0起，SDK 支持使用本地审核插件\n\n\n\nconsole.log(\"================================\", \"1400522511\");\nlet options = {\n  SDKAppID: Number(\"1400522511\") // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID\n};\n// 创建 SDK 实例，`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例\nlet tim = tim_js_sdk__WEBPACK_IMPORTED_MODULE_0___default.a.create(options); // SDK 实例通常用 tim 表示\n\n// 设置 SDK 日志输出级别，详细分级请参见 <a href=\"https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#setLogLevel\">setLogLevel 接口的说明</a>\ntim.setLogLevel( false ? undefined : 0); // 普通级别，日志量较多，接入时建议使用\n// tim.setLogLevel(1); // release 级别，SDK 输出关键信息，生产环境时建议使用\n\n// 注册腾讯云即时通信 IM 上传插件\ntim.registerPlugin({\n  \"tim-upload-plugin\": tim_upload_plugin__WEBPACK_IMPORTED_MODULE_1___default.a\n});\n\n// 注册腾讯云即时通信 IM 本地审核插件\ntim.registerPlugin({\n  \"tim-profanity-filter-plugin\": tim_profanity_filter_plugin__WEBPACK_IMPORTED_MODULE_2___default.a\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (tim);\n\n//# sourceURL=webpack:///./src/tim.js?");

/***/ }),

/***/ "./src/utils/index.js":
/*!****************************!*\
  !*** ./src/utils/index.js ***!
  \****************************/
/*! exports provided: parseTime, formatTime, resetForm, getQueryObject, addDateRange, isValidIP, isValidMAC, checkPhone, isExternal, cleanArray, param, param2Obj, objectMerge, scrollTo, toggleClass, pickerOptions, getTime, debounce, deepClone, handleTree, tansParams, blobValidate, formatDate, getConfig, filterCallingMessage, getUrlParam, clearUrlParam, isUndefined, getLanguage, isMobile, getImgInfo, genRandom, findInArray */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseTime\", function() { return parseTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatTime\", function() { return formatTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resetForm\", function() { return resetForm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getQueryObject\", function() { return getQueryObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addDateRange\", function() { return addDateRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValidIP\", function() { return isValidIP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValidMAC\", function() { return isValidMAC; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkPhone\", function() { return checkPhone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isExternal\", function() { return isExternal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cleanArray\", function() { return cleanArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"param\", function() { return param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"param2Obj\", function() { return param2Obj; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"objectMerge\", function() { return objectMerge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollTo\", function() { return scrollTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toggleClass\", function() { return toggleClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pickerOptions\", function() { return pickerOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTime\", function() { return getTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deepClone\", function() { return deepClone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleTree\", function() { return handleTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tansParams\", function() { return tansParams; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blobValidate\", function() { return blobValidate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatDate\", function() { return formatDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getConfig\", function() { return getConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filterCallingMessage\", function() { return filterCallingMessage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getUrlParam\", function() { return getUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearUrlParam\", function() { return clearUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return isUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLanguage\", function() { return getLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isMobile\", function() { return isMobile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getImgInfo\", function() { return getImgInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"genRandom\", function() { return genRandom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findInArray\", function() { return findInArray; });\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tim-js-sdk/tim-js-friendship */ \"./node_modules/tim-js-sdk/tim-js-friendship.js\");\n/* harmony import */ var tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _tim__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/tim */ \"./src/tim.js\");\n\n\n\n\n\n// 1496311370052 转成 'yyyy-MM-dd hh:mm:ss' 或 'yyyyMMddhhmmss'\n\n\nfunction parseTime(time, cFormat) {\n  if (arguments.length === 0) {\n    return null;\n  }\n  const format = cFormat || \"{y}-{m}-{d} {h}:{i}:{s}\";\n  let date;\n  if (typeof time === \"object\") {\n    date = time;\n  } else {\n    if ((\"\" + time).length === 10) time = parseInt(time) * 1000;\n    date = new Date(time);\n  }\n  const formatObj = {\n    y: date.getFullYear(),\n    m: date.getMonth() + 1,\n    d: date.getDate(),\n    h: date.getHours(),\n    i: date.getMinutes(),\n    s: date.getSeconds(),\n    a: date.getDay()\n  };\n  const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {\n    let value = formatObj[key];\n    if (key === \"a\") return [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"][value];\n    if (result.length > 0 && value < 10) {\n      value = \"0\" + value;\n    }\n    return value || 0;\n  });\n  return time_str;\n}\nfunction formatTime(time, option) {\n  time = +time * 1000;\n  const d = new Date(time);\n  const now = Date.now();\n  const diff = (now - d) / 1000;\n  if (diff < 30) {\n    return \"刚刚\";\n  } else if (diff < 3600) {\n    // less 1 hour\n    return Math.ceil(diff / 60) + \"分钟前\";\n  } else if (diff < 3600 * 24) {\n    return Math.ceil(diff / 3600) + \"小时前\";\n  } else if (diff < 3600 * 24 * 2) {\n    return \"1天前\";\n  }\n  if (option) {\n    return parseTime(time, option);\n  } else {\n    return d.getMonth() + 1 + \"月\" + d.getDate() + \"日\" + d.getHours() + \"时\" + d.getMinutes() + \"分\";\n  }\n}\n// 表单重置\nfunction resetForm(refName) {\n  if (this.$refs[refName]) {\n    this.$refs[refName].resetFields();\n  }\n}\n// 格式化时间\nfunction getQueryObject(url) {\n  url = url == null ? window.location.href : url;\n  const search = url.substring(url.lastIndexOf(\"?\") + 1);\n  const obj = {};\n  const reg = /([^?&=]+)=([^?&=]*)/g;\n  search.replace(reg, (rs, $1, $2) => {\n    const name = decodeURIComponent($1);\n    let val = decodeURIComponent($2);\n    val = String(val);\n    obj[name] = val;\n    return rs;\n  });\n  return obj;\n}\n// 添加日期范围\nfunction addDateRange(params, dateRange, propName) {\n  var search = params;\n  if (null != dateRange && \"\" != dateRange) {\n    if (typeof propName === \"undefined\") {\n      search[\"beginTime\"] = dateRange[0];\n      search[\"endTime\"] = dateRange[1];\n    } else {\n      search[\"begin\" + propName] = dateRange[0];\n      search[\"end\" + propName] = dateRange[1];\n    }\n  }\n  // console.log()\n  return search;\n}\n//检验是否是IP\nfunction isValidIP(ip) {\n  var reg = /^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$/;\n  return reg.test(ip);\n}\n//检验是否是Mac\nfunction isValidMAC(mac) {\n  var reg = /([A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2}/;\n  return reg.test(mac);\n}\n// 验证手机号\nfunction checkPhone(rule, value, callback) {\n  let reg = /^1[345789]\\d{9}$/;\n  if (!reg.test(value)) {\n    callback(new Error(\"请输入11位手机号\"));\n  } else {\n    callback();\n  }\n}\n/**\n * @param {string} path\n * @returns {Boolean}\n */\nfunction isExternal(path) {\n  return /^(https?:|mailto:|tel:)/.test(path);\n}\nfunction cleanArray(actual) {\n  const newArray = [];\n  for (let i = 0; i < actual.length; i++) {\n    if (actual[i]) {\n      newArray.push(actual[i]);\n    }\n  }\n  return newArray;\n}\nfunction param(json) {\n  if (!json) return \"\";\n  return cleanArray(Object.keys(json).map(key => {\n    if (json[key] === undefined) return \"\";\n    return encodeURIComponent(key) + \"=\" + encodeURIComponent(json[key]);\n  })).join(\"&\");\n}\nfunction param2Obj(url) {\n  const search = url.split(\"?\")[1];\n  if (!search) {\n    return {};\n  }\n  return JSON.parse('{\"' + decodeURIComponent(search).replace(/\"/g, '\\\\\"').replace(/&/g, '\",\"').replace(/=/g, '\":\"') + '\"}');\n}\nfunction objectMerge(target, source) {\n  /* Merges two  objects,\n   giving the last one precedence */\n\n  if (typeof target !== \"object\") {\n    target = {};\n  }\n  if (Array.isArray(source)) {\n    return source.slice();\n  }\n  for (const property in source) {\n    if (Object.prototype.hasOwnProperty.call(source, property)) {\n      const sourceProperty = source[property];\n      if (typeof sourceProperty === \"object\") {\n        target[property] = objectMerge(target[property], sourceProperty);\n        continue;\n      }\n      target[property] = sourceProperty;\n    }\n  }\n  return target;\n}\nfunction scrollTo(element, to, duration) {\n  if (duration <= 0) return;\n  const difference = to - element.scrollTop;\n  const perTick = difference / duration * 10;\n  setTimeout(() => {\n    element.scrollTop = element.scrollTop + perTick;\n    if (element.scrollTop === to) return;\n    scrollTo(element, to, duration - 10);\n  }, 10);\n}\nfunction toggleClass(element, className) {\n  if (!element || !className) {\n    return;\n  }\n  let classString = element.className;\n  const nameIndex = classString.indexOf(className);\n  if (nameIndex === -1) {\n    classString += \"\" + className;\n  } else {\n    classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length);\n  }\n  element.className = classString;\n}\nconst pickerOptions = [{\n  text: \"今天\",\n  onClick(picker) {\n    const end = new Date();\n    const start = new Date(new Date().toDateString());\n    end.setTime(start.getTime());\n    picker.$emit(\"pick\", [start, end]);\n  }\n}, {\n  text: \"最近一周\",\n  onClick(picker) {\n    const end = new Date(new Date().toDateString());\n    const start = new Date();\n    start.setTime(end.getTime() - 3600 * 1000 * 24 * 7);\n    picker.$emit(\"pick\", [start, end]);\n  }\n}, {\n  text: \"最近一个月\",\n  onClick(picker) {\n    const end = new Date(new Date().toDateString());\n    const start = new Date();\n    start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);\n    picker.$emit(\"pick\", [start, end]);\n  }\n}, {\n  text: \"最近三个月\",\n  onClick(picker) {\n    const end = new Date(new Date().toDateString());\n    const start = new Date();\n    start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);\n    picker.$emit(\"pick\", [start, end]);\n  }\n}];\nfunction getTime(type) {\n  if (type === \"start\") {\n    return new Date().getTime() - 3600 * 1000 * 24 * 90;\n  } else {\n    return new Date(new Date().toDateString());\n  }\n}\n\n// 防抖\nfunction debounce(func, wait, immediate) {\n  let timeout, args, context, timestamp, result;\n  const later = function () {\n    // 据上一次触发时间间隔\n    const last = +new Date() - timestamp;\n\n    // 上次被包装函数被调用时间间隔last小于设定时间间隔wait\n    if (last < wait && last > 0) {\n      timeout = setTimeout(later, wait - last);\n    } else {\n      timeout = null;\n      // 如果设定为immediate===true，因为开始边界已经调用过了此处无需调用\n      if (!immediate) {\n        result = func.apply(context, args);\n        if (!timeout) context = args = null;\n      }\n    }\n  };\n  return function (...args) {\n    context = this;\n    timestamp = +new Date();\n    const callNow = immediate && !timeout;\n    // 如果延时不存在，重新设定延时\n    if (!timeout) timeout = setTimeout(later, wait);\n    if (callNow) {\n      result = func.apply(context, args);\n      context = args = null;\n    }\n    return result;\n  };\n}\n\n// 对象深克隆\nfunction deepClone(source) {\n  if (!source && typeof source !== \"object\") {\n    throw new Error(\"error arguments\", \"shallowClone\");\n  }\n  const targetObj = source.constructor === Array ? [] : {};\n  for (const keys in source) {\n    if (Object.prototype.hasOwnProperty.call(source, keys)) {\n      if (source[keys] && typeof source[keys] === \"object\") {\n        targetObj[keys] = source[keys].constructor === Array ? [] : {};\n        targetObj[keys] = deepClone(source[keys]);\n      } else {\n        targetObj[keys] = source[keys];\n      }\n    }\n  }\n  return targetObj;\n}\n/**\n * 构造树型结构数据\n * @param {*} data 数据源\n * @param {*} id id字段 默认 'id'\n * @param {*} parentId 父节点字段 默认 'parentId'\n * @param {*} children 孩子节点字段 默认 'children'\n */\nfunction handleTree(data, id, parentId, children) {\n  let config = {\n    id: id || \"id\",\n    parentId: parentId || \"parentId\",\n    childrenList: children || \"children\"\n  };\n  var childrenListMap = {};\n  var nodeIds = {};\n  var tree = [];\n  for (let d of data) {\n    let parentId = d[config.parentId];\n    if (childrenListMap[parentId] == null) {\n      childrenListMap[parentId] = [];\n    }\n    nodeIds[d[config.id]] = d;\n    childrenListMap[parentId].push(d);\n  }\n  for (let d of data) {\n    let parentId = d[config.parentId];\n    if (nodeIds[parentId] == null) {\n      tree.push(d);\n    }\n  }\n  for (let t of tree) {\n    adaptToChildrenList(t);\n  }\n  function adaptToChildrenList(o) {\n    if (childrenListMap[o[config.id]] !== null) {\n      o[config.childrenList] = childrenListMap[o[config.id]];\n    }\n    if (o[config.childrenList]) {\n      for (let c of o[config.childrenList]) {\n        adaptToChildrenList(c);\n      }\n    }\n  }\n  return tree;\n}\n\n/**\n * 参数处理\n * @param {*} params  参数\n */\nfunction tansParams(params) {\n  let result = \"\";\n  for (const propName of Object.keys(params)) {\n    const value = params[propName];\n    var part = encodeURIComponent(propName) + \"=\";\n    if (value !== null && typeof value !== \"undefined\") {\n      if (typeof value === \"object\") {\n        for (const key of Object.keys(value)) {\n          if (value[key] !== null && typeof value[key] !== \"undefined\") {\n            let params = propName + \"[\" + key + \"]\";\n            var subPart = encodeURIComponent(params) + \"=\";\n            result += subPart + encodeURIComponent(value[key]) + \"&\";\n          }\n        }\n      } else {\n        result += part + encodeURIComponent(value) + \"&\";\n      }\n    }\n  }\n  return result;\n}\n\n// 验证是否为blob格式\nasync function blobValidate(data) {\n  try {\n    const text = await data.text();\n    JSON.parse(text);\n    return false;\n  } catch (error) {\n    return true;\n  }\n}\n\n// 1496311370052 转成\nfunction formatDate(date, fmt) {\n  if (/(y+)/.test(fmt)) {\n    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4 - RegExp.$1.length));\n  }\n  let o = {\n    \"M+\": date.getMonth() + 1,\n    \"d+\": date.getDate(),\n    \"h+\": date.getHours(),\n    \"m+\": date.getMinutes(),\n    \"s+\": date.getSeconds()\n  };\n  for (let k in o) {\n    if (new RegExp(`(${k})`).test(fmt)) {\n      let str = o[k] + \"\";\n      fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : (\"00\" + str).substr(str.length));\n    }\n  }\n  return fmt;\n}\nconst getConfig = async key => {\n  const res = await fetch(\"config.json\");\n  return new Promise((resolve, reject) => {\n    res.json().then(async response => {\n      if (key) {\n        if (Object.prototype.hasOwnProperty.call(response, key)) {\n          resolve(response[key]);\n          return response[key];\n        } else {\n          resolve(null);\n          return null;\n        }\n      } else {\n        resolve(response);\n        return response;\n      }\n    }).catch(error => {\n      reject(new Error(error));\n    });\n  });\n};\nfunction filterCallingMessage(currentMessageList) {\n  currentMessageList.forEach(item => {\n    if (item.callType) {\n      // 对于自己伪造的消息不需要解析\n      return;\n    }\n    if (item.type === tim_js_sdk_tim_js_friendship__WEBPACK_IMPORTED_MODULE_5___default.a.TYPES.MSG_MERGER && item.payload.downloadKey !== \"\") {\n      let promise = _tim__WEBPACK_IMPORTED_MODULE_6__[\"default\"].downloadMergerMessage(item);\n      promise.then(function (imResponse) {\n        // 下载成功后，SDK会更新 message.payload.messageList 等信息\n        item = imResponse;\n      }).catch(function (imError) {\n        // 下载失败\n        console.warn(\"downloadMergerMessage error:\", imError);\n      });\n    }\n    // if (item.type === TIM.TYPES.MSG_CUSTOM) {\n    //   let payloadData = {};\n    //   try {\n    //     payloadData = JSON.parse(item.payload.data);\n    //   } catch (e) {\n    //     payloadData = {};\n    //   }\n    //   if (payloadData.businessID === 1) {\n    //     if (item.conversationType === TIM.TYPES.CONV_GROUP) {\n    //       if (payloadData.actionType === 5) {\n    //         item.nick = payloadData.inviteeList\n    //           ? payloadData.inviteeList.join(\",\")\n    //           : item.from;\n    //       }\n    //       let _text = window.trtcCalling.extractCallingInfoFromMessage(item);\n    //       let group_text = `${_text}`;\n    //       item.type = TIM.TYPES.MSG_GRP_TIP;\n    //       item.payload = {\n    //         operationType: 256,\n    //         text: group_text,\n    //         userIDList: [],\n    //       }; //JSON.stringify(customData)\n    //     }\n    //     if (item.conversationType === TIM.TYPES.CONV_C2C) {\n    //       let c2c_text = window.trtcCalling.extractCallingInfoFromMessage(item);\n    //       item.payload = {\n    //         text: c2c_text,\n    //       }; //JSON.stringify(customData)\n    //     }\n    //   }\n    // }\n  });\n}\n\nfunction getUrlParam(key) {\n  const url = decodeURI(window.location.href.replace(/^[^?]*\\?/, \"\"));\n  const regexp = new RegExp(`(^|&)${key}=([^&#]*)(&|$|)`, \"i\");\n  const paramMatch = url.match(regexp);\n  return paramMatch ? paramMatch[2] : null;\n}\nfunction clearUrlParam() {\n  location.href = location.href.slice(0, location.href.indexOf(\"?\") > 0 ? location.href.indexOf(\"?\") : location.href.length);\n}\nfunction isUndefined(value) {\n  return value === \"undefined\";\n}\n\n/**\n * 获取语言\n * @returns language\n */\nfunction getLanguage() {\n  let language = localStorage.getItem(\"trtc-quick-vue2-language\") || getUrlParam(\"lang\") || navigator.language || \"zh\";\n  language = language.replace(/_/, \"-\").toLowerCase();\n  if (language === \"zh-cn\" || language === \"zh\") {\n    language = \"zh\";\n  } else if (language === \"en\" || language === \"en-us\" || language === \"en-GB\") {\n    language = \"en\";\n  }\n  return language;\n}\n\n/**\n * 当前浏览器是否为移动端浏览器\n */\nconst isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\nconst getImgInfo = (file, maxWidth = 100, maxHeight = 100) => {\n  return new Promise(function (resolve, reject) {\n    //Window.URL 属性返回一个对象，它提供了用于创建和管理对象URLs的静态方法\n    let _URL = window.URL || window.webkitURL;\n    let img = new Image();\n    img.onload = () => {\n      let valid = img.width <= maxWidth && img.height <= maxHeight;\n      valid ? resolve() : reject();\n    };\n    //https://developer.mozilla.org/zh-CN/docs/Web/API/URL/createObjectURL  具体查看\n    img.src = _URL.createObjectURL(file);\n  }).then(() => {\n    return file;\n  }, () => {\n    return Promise.reject();\n  });\n};\nconst genRandom = (min, max) => (Math.random() * (max - min + 1) | 0) + min;\nfunction findInArray(A, B, key) {\n  return A.filter(item => B.includes(item[key]));\n}\n\n//# sourceURL=webpack:///./src/utils/index.js?");

/***/ }),

/***/ 0:
/*!***************************!*\
  !*** multi ./src/main.js ***!
  \***************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__(/*! ./src/main.js */\"./src/main.js\");\n\n\n//# sourceURL=webpack:///multi_./src/main.js?");

/***/ })

},[[0,"runtime","chunk-libs"]]]);