java-mall-app/unpackage/dist/dev/mp-weixin/im/chat/chat.js
2025-12-12 17:04:03 +08:00

1619 lines
88 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

require('../common/vendor.js');(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["im/chat/chat"],{
/***/ 1446:
/*!**********************************************************************************************************!*\
!*** C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/main.js?{"page":"im%2Fchat%2Fchat"} ***!
\**********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, createPage) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
__webpack_require__(/*! uni-pages */ 26);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25));
var _chat = _interopRequireDefault(__webpack_require__(/*! ./im/chat/chat.vue */ 1447));
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
createPage(_chat.default);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["createPage"]))
/***/ }),
/***/ 1447:
/*!***************************************************************************************!*\
!*** C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/im/chat/chat.vue ***!
\***************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chat.vue?vue&type=template&id=9753e5dc& */ 1448);
/* harmony import */ var _chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chat.vue?vue&type=script&lang=js& */ 1450);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _chat_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chat.vue?vue&type=style&index=0&lang=scss& */ 1453);
/* harmony import */ var _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 37);
var renderjs
/* normalize component */
var component = Object(_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__["render"],
_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
null,
null,
false,
_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "im/chat/chat.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 1448:
/*!**********************************************************************************************************************!*\
!*** C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/im/chat/chat.vue?vue&type=template&id=9753e5dc& ***!
\**********************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./chat.vue?vue&type=template&id=9753e5dc& */ 1449);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_9753e5dc___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 1449:
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/im/chat/chat.vue?vue&type=template&id=9753e5dc& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
var l0 = _vm.__map(_vm.msgList, function (row, index) {
var $orig = _vm.__get_orig(row)
var g0 =
row.type == "user" &&
row.msg.userinfo.uid == _vm.myuid &&
row.msg.type == "voice" &&
!row.message_length
? row.msg.content.length
: null
var m0 =
row.type == "user" &&
row.msg.userinfo.uid == _vm.myuid &&
row.msg.type == "item"
? _vm.__("¥")
: null
var m1 =
row.type == "user" &&
row.msg.userinfo.uid == _vm.myuid &&
row.msg.type == "item"
? _vm.number_format(row.msg.content.item_unit_price, 2)
: null
var m2 =
row.type == "user" &&
row.msg.userinfo.uid != _vm.myuid &&
false &&
row.msg.type == "text" &&
!row.translate_txt
? _vm.__("翻译")
: null
var g1 =
row.type == "user" &&
row.msg.userinfo.uid != _vm.myuid &&
row.msg.type == "voice" &&
!row.message_length
? row.msg.content.length
: null
return {
$orig: $orig,
g0: g0,
m0: m0,
m1: m1,
m2: m2,
g1: g1,
}
})
var m3 = _vm.__("发送")
var m4 = _vm.isPlay ? _vm.__("退出") : null
if (!_vm._isMounted) {
_vm.e0 = function ($event) {
_vm.isPlay = false
}
_vm.e1 = function ($event) {
_vm.isPlay = false
}
_vm.e2 = function ($event) {
_vm.isPlay = false
}
}
_vm.$mp.data = Object.assign(
{},
{
$root: {
l0: l0,
m3: m3,
m4: m4,
},
}
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 1450:
/*!****************************************************************************************************************!*\
!*** C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/im/chat/chat.vue?vue&type=script&lang=js& ***!
\****************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./chat.vue?vue&type=script&lang=js& */ 1451);
/* harmony import */ var _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 1451:
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/im/chat/chat.vue?vue&type=script&lang=js& ***!
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 30));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 32));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
var _emojiData = _interopRequireDefault(__webpack_require__(/*! @/im/static/emoji/emojiData.js */ 1452));
var _vuex = __webpack_require__(/*! vuex */ 34);
var _util = _interopRequireDefault(__webpack_require__(/*! ../../helpers/util */ 40));
var _config = _interopRequireDefault(__webpack_require__(/*! ../../config/config */ 33));
var _apiconfig = _interopRequireDefault(__webpack_require__(/*! ../../helpers/apiconfig */ 54));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var emotion = function emotion() {
__webpack_require__.e(/*! require.ensure | im/chat/emotion/index */ "im/chat/emotion/index").then((function () {
return resolve(__webpack_require__(/*! ./emotion/index.vue */ 1938));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
var uParse = function uParse() {
Promise.all(/*! require.ensure | components/u-parse/u-parse */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/u-parse/u-parse")]).then((function () {
return resolve(__webpack_require__(/*! @/components/u-parse/u-parse.vue */ 1555));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
var _default = {
components: {
emotion: emotion,
uParse: uParse
},
data: function data() {
return {
options: {},
//文字消息
// dotsCurrent:1,
textMsg: "",
//消息列表
isHistoryLoading: false,
scrollAnimation: false,
scrollTop: 0,
scrollToView: "",
screenMsgId: [],
//信息Id列表
msgList: [],
//信息列表
msgImgList: [],
myuid: 0,
//录音相关参数
//H5不能录音
RECORDER: uni.getRecorderManager(),
isVoice: false,
voiceTis: "按住 说话",
recordTis: "手指上滑 取消发送",
recording: false,
willStop: false,
initPoint: {
identifier: 0,
Y: 0
},
recordTimer: null,
recordLength: 0,
//播放语音相关参数
AUDIO: uni.createInnerAudioContext(),
playMsgid: null,
VoiceTimer: null,
// 抽屉参数
popupLayerClass: "",
// more参数
hideMore: true,
//表情定义
hideEmoji: true,
emojiList: [{}],
emojiPath: "",
//表情图片图床名称 ,由于我上传的第三方图床名称会有改变,所以有此数据来做对应,您实际应用中应该不需要
// onlineEmoji:{
// "100.gif":"AbNQgA.gif","101.gif":"AbN3ut.gif","102.gif":"AbNM3d.gif","103.gif":"AbN8DP.gif",
// "104.gif":"AbNljI.gif","105.gif":"AbNtUS.gif","106.gif":"AbNGHf.gif","107.gif":"AbNYE8.gif",
// "108.gif":"AbNaCQ.gif","109.gif":"AbNN4g.gif","110.gif":"AbN0vn.gif","111.gif":"AbNd3j.gif",
// "112.gif":"AbNsbV.gif","113.gif":"AbNwgs.gif","114.gif":"AbNrD0.gif","115.gif":"AbNDuq.gif",
// "116.gif":"AbNg5F.gif","117.gif":"AbN6ET.gif","118.gif":"AbNcUU.gif","119.gif":"AbNRC4.gif","120.gif":"AbNhvR.gif",
// "121.gif":"AbNf29.gif","122.gif":"AbNW8J.gif","123.gif":"AbNob6.gif","124.gif":"AbN5K1.gif","125.gif":"AbNHUO.gif","126.gif":"AbNIDx.gif",
// "127.gif":"AbN7VK.gif","128.gif":"AbNb5D.gif","129.gif":"AbNX2d.gif","130.gif":"AbNLPe.gif",
// "131.gif":"AbNjxA.gif","132.gif":"AbNO8H.gif","133.gif":"AbNxKI.gif","134.gif":"AbNzrt.gif",
// "135.gif":"AbU9Vf.gif","136.gif":"AbUSqP.gif","137.gif":"AbUCa8.gif","138.gif":"AbUkGQ.gif",
// "139.gif":"AbUFPg.gif","140.gif":"AbUPIS.gif","141.gif":"AbUZMn.gif","142.gif":"AbUExs.gif",
// "143.gif":"AbUA2j.gif","144.gif":"AbUMIU.gif","145.gif":"AbUerq.gif","146.gif":"AbUKaT.gif",
// "147.gif":"AbUmq0.gif","148.gif":"AbUuZV.gif","149.gif":"AbUliF.gif","150.gif":"AbU1G4.gif",
// "151.gif":"AbU8z9.gif","152.gif":"AbU3RJ.gif","153.gif":"AbUYs1.gif","154.gif":"AbUJMR.gif",
// "155.gif":"AbUadK.gif","156.gif":"AbUtqx.gif","157.gif":"AbUUZ6.gif","158.gif":"AbUBJe.gif",
// "159.gif":"AbUdIO.gif","160.gif":"AbU0iD.gif","161.gif":"AbUrzd.gif","162.gif":"AbUDRH.gif",
// "163.gif":"AbUyQA.gif","164.gif":"AbUWo8.gif","165.gif":"AbU6sI.gif","166.gif":"AbU2eP.gif",
// "167.gif":"AbUcLt.gif","168.gif":"AbU4Jg.gif","169.gif":"AbURdf.gif","170.gif":"AbUhFS.gif",
// "171.gif":"AbU5WQ.gif","172.gif":"AbULwV.gif","173.gif":"AbUIzj.gif","174.gif":"AbUTQs.gif",
// "175.gif":"AbU7yn.gif","176.gif":"AbUqe0.gif","177.gif":"AbUHLq.gif","178.gif":"AbUOoT.gif",
// "179.gif":"AbUvYF.gif","180.gif":"AbUjFU.gif","181.gif":"AbaSSJ.gif","182.gif":"AbUxW4.gif",
// "183.gif":"AbaCO1.gif","184.gif":"Abapl9.gif","185.gif":"Aba9yR.gif","186.gif":"AbaFw6.gif",
// "187.gif":"Abaiex.gif","188.gif":"AbakTK.gif","189.gif":"AbaZfe.png","190.gif":"AbaEFO.gif",
// "191.gif":"AbaVYD.gif","192.gif":"AbamSH.gif","193.gif":"AbaKOI.gif","194.gif":"Abanld.gif",
// "195.gif":"Abau6A.gif","196.gif":"AbaQmt.gif","197.gif":"Abal0P.gif","198.gif":"AbatpQ.gif",
// "199.gif":"Aba1Tf.gif","200.png":"Aba8k8.png","201.png":"AbaGtS.png","202.png":"AbaJfg.png",
// "203.png":"AbaNlj.png","204.png":"Abawmq.png","205.png":"AbaU6s.png","206.png":"AbaaXn.png",
// "207.png":"Aba000.png","208.png":"AbarkT.png","209.png":"AbastU.png","210.png":"AbaB7V.png",
// "211.png":"Abafn1.png","212.png":"Abacp4.png","213.png":"AbayhF.png","214.png":"Abag1J.png","215.png":"Aba2c9.png","216.png":"AbaRXR.png",
// "217.png":"Aba476.png","218.png":"Abah0x.png","219.png":"Abdg58.png"},
//红包相关参数
windowsState: "",
redenvelopeData: {
rid: null,
//红包ID
from: null,
face: null,
blessing: null,
money: null
},
chattype: "user",
chat_to_puid: 0,
///当前对聊的人
user_other_row: {},
chattitle: "",
chatlog: [],
////我们从缓存读取
page: 1,
ispage: false,
flag: false,
video: "",
isPlay: false
};
},
computed: _objectSpread({}, (0, _vuex.mapState)(["Config", "hasLogin", "userInfo", "plantformInfo", "getMsg"])),
watch: {
getMsg: function getMsg(val) {
var that = this;
var cacheid = 0;
console.log("获取到数据");
console.log(val);
var nowDate = new Date();
var lastid = val.message_id;
var tempmy = this.userInfo.im;
var msg_type = val.msg_type;
console.log("asdasd", this.user_other_row.user_avatar);
var msg = {
type: "user",
sendmethod: this.chattype,
avatar: val.avatar,
needload: false,
fromid: this.chat_to_puid,
toid: tempmy.puid,
msg: {
id: lastid,
type: msg_type,
userinfo: {
uid: this.chat_to_puid,
username: this.user_other_row.user_nickname,
face: this.user_other_row.user_avatar || val.avatar
},
content: {
text: val.content
}
}
};
// 用户消息
switch (msg_type) {
case "text":
msg.msg.content.text = val.content;
break;
case "voice":
msg.msg.content.url = val.content;
break;
case "img":
msg.msg.content.url = val.content;
break;
case "video":
msg.msg.content.url = val.content;
break;
case "redEnvelope":
msg.msg.content.blessing = val.content;
break;
case "rtc":
msg.msg.content.text = val.content;
break;
}
if (that.chattype == "user" && val.type == "friend") {
if (that.chat_to_puid == val.id) {
console.log("screenMsg");
console.log(msg);
that.screenMsg(msg);
//发起视频聊天
if (msg_type == "rtc") {
this.$.gotopage("/rtc/room/1v1wx?to_user_id=" + that.options.uid);
}
}
cacheid = msg.fromid;
} else if (that.chattype == "group" && val.type == "group") {
if (that.chat_to_puid == val.toid) {
that.screenMsg(msg);
}
cacheid = msg.toid;
///群聊
} else {
///不让在当前页面显示内容
}
if (that.chat_to_puid == val.id) {
_apiconfig.default.setMsgRead(lastid, function () {});
//设为已读
}
this.$apiconfig.cacheMessage(val, val.sendmethod, cacheid, tempmy);
//新消息数归零
this.$store.commit("resetWeidu", {
type: this.chattype,
val: this.chat_to_puid
});
}
},
onUnload: function onUnload() {
var that = this;
this.$store.commit("resetWeidu", {
type: this.chattype,
val: this.chat_to_puid
});
this.$store.commit("setCurrentPuid", "");
if (!that.plantformInfo.config.chat_global) {
that.$Socket.nclose();
}
},
onHide: function onHide() {
console.log("onHide");
},
onLoad: function onLoad(options) {
var _this = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
var that, params;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
that = _this;
_context.next = 3;
return _this.$onLaunched;
case 3:
that.voiceTis = _this.__("按住 说话");
that.recordTis = _this.__("手指上滑 取消发送");
if (typeof options.uid == "undefined") {
that.$.navigateBack(1);
}
_this.forceUserInfo(function (user) {
if (that.userInfo.im) {
that.getPlantformInfo(function (plantformInfo) {
if (!that.plantformInfo.config.chat_global) {
that.$Socket.connectserver(that.userInfo.im);
}
});
}
});
_this.setData({
options: options
});
if (options.name) {
_this.chattitle = options.name;
uni.setNavigationBarTitle({
title: options.name
});
}
params = {
user_other_id: options.uid,
is_group: options.type == 1 ? 1 : 0
};
_this.$.request({
url: _this.Config.URL.user.msg_config,
data: params,
success: function success(data, status, msg, code) {
console.info(data);
if (status == 200) {
if (!options.name) {
_this.chattitle = data.user_other_info.user_nickname;
uni.setNavigationBarTitle({
title: data.user_other_info.user_nickname
});
}
_this.chat_to_puid = data.user_other_info.puid;
_this.user_other_row = data.user_other_info;
_this.chattype = options.type == 1 ? "group" : "user";
_this.chattitle = options.title;
_this.getMsgList();
///将未读条数归零
_this.$store.commit("updateChaterAttr", {
type: _this.chattype,
val: _this.chat_to_puid,
attr: "weidu",
data: 0,
addinfo: {
weidu: 0,
lastmsg: "",
id: _this.chat_to_puid,
avatar: _this.user_other_row.user_avatar,
user_id: _this.user_other_row.user_id,
username: _this.user_other_row.user_nickname,
logtype: _this.chattype
}
});
_this.$store.commit("resetWeidu", {
type: _this.chattype,
val: _this.chat_to_puid
});
_this.$store.commit("setCurrentPuid", _this.chat_to_puid);
//设置用户消息全部为已读
//领取操作
var tmp_params = {
user_other_id: _this.user_other_row.user_id
};
_this.$.request({
url: _this.Config.URL.user.msg_set_read,
data: tmp_params,
loading: false,
success: function success(tmp_data, tmp_status, tmp_msg, tmp_code) {
if (tmp_status == 200) {}
}
});
//语音自然播放结束
_this.AUDIO.onEnded(function (res) {
_this.playMsgid = null;
});
//录音开始事件
_this.RECORDER.onStart(function (e) {
_this.recordBegin(e);
});
//录音结束事件
_this.RECORDER.onStop(function (e) {
_this.recordEnd(e);
});
// this.emojiList=[
// [{"url":"100.gif",alt:"[微笑]"},{"url":"101.gif",alt:"[伤心]"},{"url":"102.gif",alt:"[美女]"},{"url":"103.gif",alt:"[发呆]"},{"url":"104.gif",alt:"[墨镜]"},{"url":"105.gif",alt:"[哭]"},{"url":"106.gif",alt:"[羞]"},{"url":"107.gif",alt:"[哑]"},{"url":"108.gif",alt:"[睡]"},{"url":"109.gif",alt:"[哭]"},{"url":"110.gif",alt:"[囧]"},{"url":"111.gif",alt:"[怒]"},{"url":"112.gif",alt:"[调皮]"},{"url":"113.gif",alt:"[笑]"},{"url":"114.gif",alt:"[惊讶]"},{"url":"115.gif",alt:"[难过]"},{"url":"116.gif",alt:"[酷]"},{"url":"117.gif",alt:"[汗]"},{"url":"118.gif",alt:"[抓狂]"},{"url":"119.gif",alt:"[吐]"},{"url":"120.gif",alt:"[笑]"},{"url":"121.gif",alt:"[快乐]"},{"url":"122.gif",alt:"[奇]"},{"url":"123.gif",alt:"[傲]"}],
// [{"url":"124.gif",alt:"[饿]"},{"url":"125.gif",alt:"[累]"},{"url":"126.gif",alt:"[吓]"},{"url":"127.gif",alt:"[汗]"},{"url":"128.gif",alt:"[高兴]"},{"url":"129.gif",alt:"[闲]"},{"url":"130.gif",alt:"[努力]"},{"url":"131.gif",alt:"[骂]"},{"url":"132.gif",alt:"[疑问]"},{"url":"133.gif",alt:"[秘密]"},{"url":"134.gif",alt:"[乱]"},{"url":"135.gif",alt:"[疯]"},{"url":"136.gif",alt:"[哀]"},{"url":"137.gif",alt:"[鬼]"},{"url":"138.gif",alt:"[打击]"},{"url":"139.gif",alt:"[bye]"},{"url":"140.gif",alt:"[汗]"},{"url":"141.gif",alt:"[抠]"},{"url":"142.gif",alt:"[鼓掌]"},{"url":"143.gif",alt:"[糟糕]"},{"url":"144.gif",alt:"[恶搞]"},{"url":"145.gif",alt:"[什么]"},{"url":"146.gif",alt:"[什么]"},{"url":"147.gif",alt:"[累]"}],
// [{"url":"148.gif",alt:"[看]"},{"url":"149.gif",alt:"[难过]"},{"url":"150.gif",alt:"[难过]"},{"url":"151.gif",alt:"[坏]"},{"url":"152.gif",alt:"[亲]"},{"url":"153.gif",alt:"[吓]"},{"url":"154.gif",alt:"[可怜]"},{"url":"155.gif",alt:"[刀]"},{"url":"156.gif",alt:"[水果]"},{"url":"157.gif",alt:"[酒]"},{"url":"158.gif",alt:"[篮球]"},{"url":"159.gif",alt:"[乒乓]"},{"url":"160.gif",alt:"[咖啡]"},{"url":"161.gif",alt:"[美食]"},{"url":"162.gif",alt:"[动物]"},{"url":"163.gif",alt:"[鲜花]"},{"url":"164.gif",alt:"[枯]"},{"url":"165.gif",alt:"[唇]"},{"url":"166.gif",alt:"[爱]"},{"url":"167.gif",alt:"[分手]"},{"url":"168.gif",alt:"[生日]"},{"url":"169.gif",alt:"[电]"},{"url":"170.gif",alt:"[炸弹]"},{"url":"171.gif",alt:"[刀子]"}],
// [{"url":"172.gif",alt:"[足球]"},{"url":"173.gif",alt:"[瓢虫]"},{"url":"174.gif",alt:"[翔]"},{"url":"175.gif",alt:"[月亮]"},{"url":"176.gif",alt:"[太阳]"},{"url":"177.gif",alt:"[礼物]"},{"url":"178.gif",alt:"[抱抱]"},{"url":"179.gif",alt:"[拇指]"},{"url":"180.gif",alt:"[贬低]"},{"url":"181.gif",alt:"[握手]"},{"url":"182.gif",alt:"[剪刀手]"},{"url":"183.gif",alt:"[抱拳]"},{"url":"184.gif",alt:"[勾引]"},{"url":"185.gif",alt:"[拳头]"},{"url":"186.gif",alt:"[小拇指]"},{"url":"187.gif",alt:"[拇指八]"},{"url":"188.gif",alt:"[食指]"},{"url":"189.gif",alt:"[ok]"},{"url":"190.gif",alt:"[情侣]"},{"url":"191.gif",alt:"[爱心]"},{"url":"192.gif",alt:"[蹦哒]"},{"url":"193.gif",alt:"[颤抖]"},{"url":"194.gif",alt:"[怄气]"},{"url":"195.gif",alt:"[跳舞]"}],
// [{"url":"196.gif",alt:"[发呆]"},{"url":"197.gif",alt:"[背着]"},{"url":"198.gif",alt:"[伸手]"},{"url":"199.gif",alt:"[耍帅]"},{"url":"200.png",alt:"[微笑]"},{"url":"201.png",alt:"[生病]"},{"url":"202.png",alt:"[哭泣]"},{"url":"203.png",alt:"[吐舌]"},{"url":"204.png",alt:"[迷糊]"},{"url":"205.png",alt:"[瞪眼]"},{"url":"206.png",alt:"[恐怖]"},{"url":"207.png",alt:"[忧愁]"},{"url":"208.png",alt:"[眨眉]"},{"url":"209.png",alt:"[闭眼]"},{"url":"210.png",alt:"[鄙视]"},{"url":"211.png",alt:"[阴暗]"},{"url":"212.png",alt:"[小鬼]"},{"url":"213.png",alt:"[礼物]"},{"url":"214.png",alt:"[拜佛]"},{"url":"215.png",alt:"[力量]"},{"url":"216.png",alt:"[金钱]"},{"url":"217.png",alt:"[蛋糕]"},{"url":"218.png",alt:"[彩带]"},{"url":"219.png",alt:"[礼物]"},]
// ]
var _that = _this;
_this.emojiList = _emojiData.default.imgArr[1].emojiList;
_this.emojiPath = _emojiData.default.imgArr[1].emojiPath;
/*that.$Socket.listenlist[this.chattype+this.chat_to_puid]=true;
if(that.$Socket.listenlist[this.chattype+this.chat_to_puid]){
///如果已被监听
}else{
that.$Socket.sockettast.onMessage(function(res){
console.log("页面捕获了socket数据"+res.data)
let temdata= eval("("+res.data+")");
switch(temdata.type){
case 'getmessage':
let msg =temdata.message;
//{type:"user",msg:{id:1,type:"text",time:"12:56",userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{text:"为什么温度会相差那么大?"}}};
that.screenMsg(msg);
//that.cacheMessage(msg);
break;
}
})
}*/
//读取商品信息,直接发送出去
if (options.item_id) {
var params = {
item_id: options.item_id
};
_that.$.request({
url: _this.Config.URL.product.item,
data: params,
loading: false,
ajaxCache: {
timeout: _this.Config.CACHE_EXPIRE
},
success: function success(data, status, msg, code) {
if (200 == status) {
data.item_row.item_unit_price;
data.item_row.product_item_name;
data.item_row.product_image;
data.item_row.item_id;
var imgstr = '<img class="chatimg aaa1" style="max-width:100%" src="' + data.item_row.product_image + '">';
var content = '<div class="chat-bubble-box">' + imgstr + ' <a href="/pages/product/detail?pid=' + data.item_row.item_id + '">' + data.item_row.product_item_name + _that.__("¥") + data.item_row.item_unit_price + "</a></div>";
//content = content.replace(new RegExp( '<img ', "gm"), '<img style="max-width:100%;height:auto;display: flex;" ');
var _msg = {
text: content,
item_id: data.item_row.item_id
};
//that.sendMsg(msg, 'item');
_that.sendMsg(_msg, "text");
}
},
complete: function complete(res, status) {}
});
}
//读取订单信息,直接发送出去
if (options.text) {
var _msg2 = {
text: options.text + 'aaa1'
};
_that.sendMsg(_msg2, "text");
}
} else {
uni.navigateBack({});
}
}
});
case 11:
case "end":
return _context.stop();
}
}
}, _callee);
}))();
},
onShow: function onShow() {
this.scrollTop = 9999999;
var that = this;
this.myuid = this.userInfo.im.puid;
//this.getLeavemsg()
//模板借由本地缓存实现发红包效果,实际应用中请不要使用此方法。
//
/*uni.getStorage({
key: 'redEnvelopeData',
success: (res)=>{
// console.log(res.data);
let nowDate = new Date();
let lastid = this.msgList[this.msgList.length-1].msg.id;
lastid++;
let row = {type:"user",msg:{id:lastid,type:"redEnvelope",time:nowDate.getHours()+":"+nowDate.getMinutes(),userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{blessing:res.data.blessing,rid:Math.floor(Math.random()*1000+1),isReceived:false}}};
this.screenMsg(row);
uni.removeStorage({key: 'redEnvelopeData'});
}
});*/
},
methods: _objectSpread(_objectSpread({}, (0, _vuex.mapMutations)(["login", "logout", "getPlantformInfo", "forceUserInfo", "getUserInfo"])), {}, {
// moveend(e){
// console.log(e.detail)
// if(e.detail.current===4){
// this.dotsCurrent=Object.assign(this.dotsCurrent,1)
// }
// },
translate: function translate(txt, id) {
var that = this;
that.$.request({
url: this.Config.URL.translate,
data: {
txt: txt
},
success: function success(data, status, msg, code) {
if (200 == status) {
console.log(id);
that.msgList[id].translate_txt = data.text;
console.log(that.msgList);
} else {
that.Msg(msg);
}
}
});
},
// 接受消息(筛选处理)
screenMsg: function screenMsg(msg) {
console.info("screenMsg");
console.log("收到消息原始内容:", msg.msg.content.text); // 未处理的原始内容
console.info(msg);
//从长连接处转发给这个方法,进行筛选处理
if (this.$.inArray(this.screenMsgId, msg.msg.id)) {
return;
} else {
this.screenMsgId.push(msg.msg.id);
}
if (msg.type == "system") {
// 系统消息
switch (msg.msg.type) {
case "text":
this.addSystemTextMsg(msg);
break;
case "redEnvelope":
this.addSystemRedEnvelopeMsg(msg);
break;
}
} else if (msg.type == "user" || msg.type == "friend") {
// 用户消息
switch (msg.msg.type) {
case "text":
this.addTextMsg(msg);
break;
case "voice":
this.addVoiceMsg(msg);
break;
case "img":
this.addImgMsg(msg);
break;
case "video":
this.addTextMsg(msg);
break;
case "redEnvelope":
this.addRedEnvelopeMsg(msg);
break;
}
// console.log('用户消息');
//非自己的消息震动
if (msg.msg.userinfo.uid != this.myuid) {
// console.log('振动');
uni.vibrateLong();
}
}
this.$nextTick(function () {
// 滚动到底
this.scrollToView = "msg" + msg.msg.id;
});
},
//触发滑动到顶部(加载历史信息记录)
loadHistory: function loadHistory(e) {
var _this2 = this;
if (this.isHistoryLoading) {
return;
}
this.isHistoryLoading = true; //参数作为进入请求标识,防止重复请求
this.scrollAnimation = false; //关闭滑动动画
var Viewid = this.msgList[0].msg.id; //记住第一个信息ID
var that = this;
if (this.flag && this.ispage) {
that.setData({
flag: false
}), clearTimeout(t);
that.setData({
page: parseInt(that.page) + 1
});
var t = setTimeout(function () {
that.getMsgList(function () {
//这段代码很重要,不然每次加载历史数据都会跳到顶部
_this2.$nextTick(function () {
this.scrollToView = "msg" + Viewid; //跳转上次的第一行信息位置
console.info("this.scrollToView ");
console.info(this.scrollToView);
this.$nextTick(function () {
this.scrollAnimation = true; //恢复滚动动画
});
});
_this2.isHistoryLoading = false;
});
}, 500);
} else {
this.isHistoryLoading = false;
}
return;
//本地模拟请求历史记录效果
this.$apiconfig.getMessagelog_f({
data: {
mid: this.myuid,
toid: this.chat_to_puid
}
}).then(function (res) {
console.log(res);
});
setTimeout(function () {
// 消息列表
/*this.$apiconfig.getMessagelog_f({data:[]}).then(res=>{
});*/
/*let list = [
{type:"user",msg:{id:1,type:"text",time:"12:56",userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{text:"为什么温度会相差那么大?"}}},
{type:"user",msg:{id:2,type:"text",time:"12:57",userinfo:{uid:1,username:"售后客服008",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg"},content:{text:"这个是有偏差的,两个温度相差十几二十度是很正常的,如果相差五十度,那即是质量问题了。"}}},
{type:"user",msg:{id:3,type:"voice",time:"12:59",userinfo:{uid:1,username:"售后客服008",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg"},content:{url:"/static/voice/1.mp3",length:"00:06"}}},
{type:"user",msg:{id:4,type:"voice",time:"13:05",userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{url:"/static/voice/2.mp3",length:"00:06"}}},
]*/
var list = [];
if (list.length > 0) {
// 获取消息中的图片,并处理显示尺寸
for (var i = 0; i < list.length; i++) {
if (list[i].type == "user" && list[i].msg.type == "img") {
list[i].msg.content = _this2.setPicSize(list[i].msg.content);
_this2.msgImgList.unshift(list[i].msg.content.url);
}
list[i].msg.id = Math.floor(Math.random() * 1000 + 1);
_this2.msgList.unshift(list[i]);
}
//这段代码很重要,不然每次加载历史数据都会跳到顶部
_this2.$nextTick(function () {
this.scrollToView = "msg" + Viewid; //跳转上次的第一行信息位置
this.$nextTick(function () {
this.scrollAnimation = true; //恢复滚动动画
});
});
}
_this2.isHistoryLoading = false;
}, 1000);
},
///获取留言(如果是好友就从退出时间往前十条十条的加载,群得话只加载最近十条)
getLeavemsg: function getLeavemsg() {
var tempmy = this.userInfo.im;
this.$apiconfig.getrecentmsg_f({
data: {
mid: tempmy.user_id,
tid: this.chat_to_puid,
type: this.chattype
}
}).then(function (res) {
console.log(res.data);
});
},
// 加载初始页面消息
getMsgList: function getMsgList(callback) {
var _this3 = this;
var that = this;
// 消息列表
//最好读取和某个人的聊天缓存,所以信息我们都存缓存
var list = [];
/* uni.getStorage({
key:'chatim',
complete(res) {
let tempmy=that.userInfo.data.mine;
if(res.data==''||typeof(res.data)=='undefined'){
}else{
if(typeof(res.data[tempmy.puid])=='undefined'||typeof(res.data[tempmy.puid]['chatlog'])=='undefined'){
console.log(1)
}else{
if(that.chattype=='group'){
if(typeof(res.data[tempmy.puid]['chatlog']['group'+that.chat_to_puid])=='undefined'){
}else{
list= res.data[tempmy.puid]['chatlog']['group'+that.chat_to_puid]
}
}else{
console.log(2)
if(typeof(res.data[tempmy.puid]['chatlog']['friend'+that.chat_to_puid])=='undefined'){
}else{
list= res.data[tempmy.puid]['chatlog']['friend'+that.chat_to_puid]
}
}
}
}
}
})*/
/* let list = [
{type:"system",msg:{id:0,type:"text",content:{text:"欢迎进入聊天室"}}},
{type:"user",msg:{id:1,type:"text",time:"12:56",userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{text:"为什么温度会相差那么大?"}}},
{type:"user",msg:{id:2,type:"text",time:"12:57",userinfo:{uid:1,username:"售后客服008",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg"},content:{text:"这个是有偏差的,两个温度相差十几二十度是很正常的,如果相差五十度,那即是质量问题了。"}}},
{type:"user",msg:{id:3,type:"voice",time:"12:59",userinfo:{uid:1,username:"售后客服008",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg"},content:{url:"/static/voice/1.mp3",length:"00:06"}}},
{type:"user",msg:{id:4,type:"voice",time:"13:05",userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{url:"/static/voice/2.mp3",length:"00:06"}}},
{type:"user",msg:{id:5,type:"img",time:"13:05",userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{url:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/p10.jpg",w:200,h:200}}},
{type:"user",msg:{id:6,type:"img",time:"12:59",userinfo:{uid:1,username:"售后客服008",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg"},content:{url:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/q.jpg",w:1920,h:1080}}},
{type:"system",msg:{id:7,type:"text",content:{text:"欢迎进入聊天室"}}},
{type:"system",msg:{id:9,type:"redEnvelope",content:{text:"售后客服008领取了你的红包"}}},
{type:"user",msg:{id:10,type:"redEnvelope",time:"12:56",userinfo:{uid:0,username:"大黑哥",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/face.jpg"},content:{blessing:"恭喜发财,大吉大利,万事如意",rid:0,isReceived:false}}},
{type:"user",msg:{id:11,type:"redEnvelope",time:"12:56",userinfo:{uid:1,username:"售后客服008",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg"},content:{blessing:"恭喜发财",rid:1,isReceived:false}}},
]*/
var tempmy = this.userInfo.im;
console.info("tempmy");
console.info(tempmy);
var params = {
user_other_id: this.user_other_row.user_id,
data: {
mid: tempmy.puid,
tid: this.chat_to_puid,
type: this.chattype
},
page: this.page
};
this.$apiconfig.getrecentmsg_f(params, function (data, status, msg, code) {
console.info("getrecentmsg_f");
console.info(JSON.stringify(data));
console.info(status);
console.info(msg);
if (data.items.length > 0) {
var array = [];
list = data.items.forEach(function (item) {
array.push(item);
});
list = array;
// 获取消息中的图片,并处理显示尺寸
if (list.length > 0) {
for (var i = 0; i < list.length; i++) {
if (list[i].type == "user" && list[i].msg.type == "img") {
list[i].msg.content = _this3.setPicSize(list[i].msg.content);
_this3.msgImgList.push(list[i].msg.content.url);
}
if (list[i].msg.type != "img") {
list[i].msg = _this3.$apiconfig.im_decode_msg(list[i].msg);
}
list[i].translate_txt = _this3.__("翻译");
list[i].msg.translate_txt = _this3.__("翻译");
}
}
_this3.msgList = list.concat(_this3.msgList);
if (data.page >= data.total) {
that.setData({
flag: false,
ispage: false
});
} else {
that.setData({
flag: true,
ispage: true
});
}
} else {
that.setData({
flag: false,
ispage: false
});
}
console.info(data);
console.info("msgList1111", _this3.msgList);
if (callback) {
callback();
} else {
// 滚动到底部
_this3.$nextTick(function () {
//进入页面滚动到底部
this.scrollTop = 9999;
this.$nextTick(function () {
this.scrollAnimation = true;
});
});
}
});
},
//处理图片尺寸,如果不处理宽高,新进入页面加载图片时候会闪
setPicSize: function setPicSize(content) {
// 让图片最长边等于设置的最大长度短边等比例缩小图片控件真实改变区别于aspectFit方式。
var maxW = uni.upx2px(350); //350是定义消息图片最大宽度
var maxH = uni.upx2px(350); //350是定义消息图片最大高度
if (content.w > maxW || content.h > maxH) {
var scale = content.w / content.h;
content.w = scale > 1 ? maxW : maxH * scale;
content.h = scale > 1 ? maxW / scale : maxH;
}
return content;
},
//更多功能(点击+弹出)
showMore: function showMore() {
this.isVoice = false;
this.hideEmoji = true;
if (this.hideMore) {
this.hideMore = false;
this.openDrawer();
} else {
this.hideDrawer();
}
},
// 打开抽屉
openDrawer: function openDrawer() {
this.popupLayerClass = "showLayer";
},
// 隐藏抽屉
hideDrawer: function hideDrawer() {
var _this4 = this;
this.popupLayerClass = "";
setTimeout(function () {
_this4.hideMore = true;
_this4.hideEmoji = true;
}, 150);
},
// 选择图片发送
chooseImage: function chooseImage() {
this.getImage("album");
},
// 选择视频发送
chooseVideo: function chooseVideo() {
this.upLoadVideo("album");
},
upLoadVideo: function upLoadVideo() {
var that = this;
uni.chooseVideo({
count: 1,
sourceType: ["camera", "album"],
success: function success(res) {
uni.showLoading({
title: "视频上传中..",
mask: true
});
uni.uploadFile({
url: that.Config.URL.upload_file,
filePath: res.tempFilePath,
name: "upfile",
success: function success(uploadFileRes) {
var msg = {
url: res.tempFilePath,
w: uploadFileRes.width,
h: uploadFileRes.height
};
uni.hideLoading();
var tmpres = JSON.parse(uploadFileRes.data);
///图片上传到服务器,上传完成后发送信息
if (tmpres.status == 200) {
msg.url = tmpres.data.url;
that.sendMsg(msg, "video");
} else {
that.$.confirm(tmpres.msg || that.__("发生错误"));
}
}
/* success: (res) => {
that.send_content=JSON.parse(res.data).data.url+','+JSON.parse(res.data).data.cover
that.send(3)
} */
});
}
});
},
//拍照发送
camera: function camera() {
this.getImage("camera");
},
//发红包
handRedEnvelopes: function handRedEnvelopes() {
uni.navigateTo({
url: "HM-hand/HM-hand"
});
this.hideDrawer();
},
//语音通话
yuyintonghua: function yuyintonghua() {
//发送语音通知消息
var msg = {
text: this.__("发起语音通话")
};
this.sendMsg(msg, "rtc");
this.$.gotopage("/rtc/room/1v1wx?to_user_id=" + this.options.uid);
},
//选照片 or 拍照
getImage: function getImage(type) {
var _this5 = this;
var that = this;
this.hideDrawer();
that.$.chooseImage({
sourceType: [type],
sizeType: ["original", "compressed"],
//可以指定是原图还是压缩图,默认二者都有
success: function success(res) {
var _loop = function _loop(i) {
uni.getImageInfo({
src: res.tempFilePaths[i],
success: function success(image) {
var msg = {
url: res.tempFilePaths[i],
w: image.width,
h: image.height
};
that.$.uploadFile({
url: that.Config.URL.upload,
//仅为示例,非真实的接口地址
filePath: res.tempFilePaths[i],
name: "upfile",
formData: {
user: "test"
},
success: function success(uploadFileRes) {
var tmpres = JSON.parse(uploadFileRes.data);
///图片上传到服务器,上传完成后发送信息
if (tmpres.status == 200) {
msg.url = tmpres.data.url;
_this5.sendMsg(msg, "img");
} else {
that.$.confirm(tmpres.msg || that.__("发生错误"));
}
}
});
}
});
};
for (var i = 0; i < res.tempFilePaths.length; i++) {
_loop(i);
}
}
});
},
// 选择表情
chooseEmoji: function chooseEmoji() {
this.hideMore = true;
if (this.hideEmoji) {
this.hideEmoji = false;
this.openDrawer();
} else {
this.hideDrawer();
}
},
//添加表情
addEmoji: function addEmoji(em) {
//判断删除按钮
if (em.emojiItem.alt === "[删除]") {
// uni.showToast({
// title:"触发删除操作",
// icon:"none"
// })
var str;
var msglen = this.textMsg.length - 1;
var start = this.textMsg.lastIndexOf("[");
var end = this.textMsg.lastIndexOf("]");
var len = end - start;
if (end != -1 && end === msglen && len >= 2 && len <= 4) {
// 表情字符
str = this.textMsg.slice(0, start);
} else {
// 普通键盘输入汉字 或者字符
str = this.textMsg.slice(0, msglen);
}
this.textMsg = str;
return;
}
// console.log(em)
this.emojiList = _emojiData.default.imgArr[em.groupIndex].emojiList;
this.emojiPath = _emojiData.default.imgArr[em.groupIndex].emojiPath;
if (em.minEmoji === false) {
this.sendBigEmoji(em.emojiItem.url);
} else {
// this.textMsg+=em.alt;
this.textMsg += em.emojiItem.alt;
}
},
// 发送大表情
sendBigEmoji: function sendBigEmoji(url) {
console.log("发送表情,图片路径:", this.emojiPath + url);
this.hideDrawer(); //隐藏抽屉
if (!url) {
return;
}
var imgstr = '<img style="width:48px;height:48px;" src="' + this.emojiPath + url + '">';
var content = '<div style="align-items: center;word-wrap:break-word;">' + imgstr + "</div>";
var msg = {
text: content
};
this.sendMsg(msg, "text");
this.textMsg = ""; //清空输入框
},
//获取焦点如果不是选表情ing,则关闭抽屉
textareaFocus: function textareaFocus() {
if (this.popupLayerClass == "showLayer" && this.hideMore == false) {
this.hideDrawer();
}
},
// 发送文字消息
sendText: function sendText() {
/*uni.showToast({
title:'发送文本消息',
icon:"none"
})*/
this.hideDrawer(); //隐藏抽屉
if (!this.textMsg) {
return;
}
var content = this.replaceEmoji(this.textMsg);
var msg = {
text: content
};
this.sendMsg(msg, "text");
this.textMsg = ""; //清空输入框
},
replaceEmoji: function replaceEmoji(str) {
var _this6 = this;
var replacedStr = str.replace(/\[([^(\]|\[)]*)\]/g, function (item, index) {
console.log("匹配到的表情符号:", item);
for (var i = 0; i < _this6.emojiList.length; i++) {
var row = _this6.emojiList[i];
for (var j = 0; j < row.length; j++) {
var EM = row[j];
if (EM.alt == item) {
// 在线表情路径,图文混排必须使用网络路径,请上传一份表情到你的服务器后再替换此路径
var onlinePath = _this6.emojiPath;
var imgstr = "<img style=\"width:24px;height:24px;\" src=\"".concat(onlinePath).concat(EM.url, "\">");
return imgstr;
}
}
}
return item;
});
return replacedStr;
},
// 发送消息
sendMsg: function sendMsg(content, type) {
var _this7 = this;
var needload = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
console.info("--------------");
console.info(content);
console.info(content.text);
console.info(type);
console.info(needload);
if (type === "text" && content.text) {
// 用<div>包裹文字,确保 rich-text 能识别
content.text = "<div style=\"word-wrap: break-word;\">".concat(content.text, "</div>");
}
var message_id = 1001;
var mine = {
username: this.userInfo.user_nickname,
avatar: this.userInfo.user_avatar,
id: this.userInfo.im.puid,
user_id: this.userInfo.user_id,
content: content.text || content.url,
length: type == "voice" ? content.length : 0,
w: type == "img" ? content.w : 0,
h: type == "img" ? content.h : 0,
item_id: typeof content.item_id != "undefined" ? content.item_id : 0,
type: type,
mine: true
};
var to = {
id: this.chat_to_puid,
friend_id: this.user_other_row.user_id,
user_id: this.user_other_row.user_id,
name: this.user_other_row.user_nickname,
avatar: this.user_other_row.user_avatar,
type: this.chattype
};
var maxLength = 50;
if (mine.content.replace(/\s/g, "") !== "") {
if (mine.content.length > maxLength) {
//return layer.msg('内容最长不能超过' + maxLength + '个字符')
}
}
var chat_data = {
mine: mine,
to: to
};
var params = {
user_other_id: this.user_other_row.user_id,
message_content: mine.content,
item_id: typeof content.item_id != "undefined" ? content.item_id : 0,
length: mine.length,
w: mine.w,
h: mine.h,
type: type
};
this.$apiconfig.sendMessage_f(params, function (data, status, res_msg, code) {
chat_data.mine.message_id = data.message_other_id;
//chat_data.to.message_id = data.message_id;
_this7.$Socket.nsend(chat_data);
//实际应用中,此处应该提交长连接,模板仅做本地处理。
var nowDate = new Date();
var lastid = data.message_other_id;
var tempmy = _this7.userInfo.im;
///TOID现在是模拟的
var msg = {
type: "user",
sendmethod: _this7.chattype,
needload: needload,
fromid: tempmy.puid,
toid: _this7.chat_to_puid,
msg: {
id: lastid,
type: type,
userinfo: {
uid: tempmy.puid,
username: _this7.userInfo.user_nickname,
face: _this7.userInfo.user_avatar
},
content: content
}
};
// 发送消息
if (_this7.chattype == "group") {} else {
_this7.screenMsg(msg); ///消息显示在自己聊天面板
msg.display = true;
_this7.$store.commit("updateChaterAttr", {
type: _this7.chattype,
val: _this7.chat_to_puid,
attr: "lastmsg",
data: content,
addinfo: {
weidu: 0,
lastmsg: content,
id: _this7.chat_to_puid,
avatar: _this7.user_other_row.user_avatar,
user_id: _this7.user_other_row.user_id,
username: _this7.user_other_row.user_nickname,
logtype: _this7.chattype
}
});
_this7.$store.commit("resetWeidu", {
type: _this7.chattype,
val: _this7.chat_to_puid
});
_this7.$apiconfig.cacheMessage(msg, _this7.chattype, _this7.chat_to_puid, tempmy);
}
});
return;
////聊天记录存入缓存
//
this.$apiconfig.sendMessage_f({
data: msg
}).then(function (res) {
console.log(res);
});
// 定时器模拟对方回复,三秒
/*setTimeout(()=>{
lastid = this.msgList[this.msgList.length-1].msg.id;
lastid++;
msg = {type:'user',msg:{id:lastid,time:nowDate.getHours()+":"+nowDate.getMinutes(),type:type,userinfo:{uid:1,username:"售后客服008",face:"https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg"},content:content}}
// 本地模拟发送消息
this.screenMsg(msg);
},3000)*/
},
// 添加文字消息到列表
addTextMsg: function addTextMsg(msg) {
console.info("addTextMsg");
console.info(msg);
msg.msg.content.text = this.replaceEmoji(msg.msg.content.text);
this.msgList.push(msg);
},
// 添加语音消息到列表
addVoiceMsg: function addVoiceMsg(msg) {
this.msgList.push(msg);
},
// 添加图片消息到列表
addImgMsg: function addImgMsg(msg) {
msg.msg.content = this.setPicSize(msg.msg.content);
this.msgImgList.push(msg.msg.content.url);
this.msgList.push(msg);
},
addRedEnvelopeMsg: function addRedEnvelopeMsg(msg) {
this.msgList.push(msg);
},
// 添加系统文字消息到列表
addSystemTextMsg: function addSystemTextMsg(msg) {
this.msgList.push(msg);
},
// 添加系统红包消息到列表
addSystemRedEnvelopeMsg: function addSystemRedEnvelopeMsg(msg) {
this.msgList.push(msg);
},
// 打开红包
openRedEnvelope: function openRedEnvelope(msg, index) {
var _this8 = this;
var rid = msg.content.rid;
uni.showLoading({
title: "加载中..."
});
// console.log("index: " + index);
//模拟请求服务器效果
setTimeout(function () {
//加载数据
if (rid == 0) {
_this8.redenvelopeData = {
rid: 0,
//红包ID
from: "大黑哥",
face: "https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face.jpg",
blessing: "恭喜发财,大吉大利",
money: "已领完"
};
} else {
_this8.redenvelopeData = {
rid: 1,
//红包ID
from: "售后客服008",
face: "https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/im/img/im/face/face_2.jpg",
blessing: "恭喜发财",
money: "0.01"
};
if (!msg.content.isReceived) {
// {type:"system",msg:{id:8,type:"redEnvelope",content:{text:"你领取了售后客服008的红包"}}},
_this8.sendSystemMsg({
text: "你领取了" + (msg.userinfo.uid == _this8.myuid ? "自己" : msg.userinfo.username) + "的红包"
}, "redEnvelope");
// console.log("this.msgList[index]: " + JSON.stringify(this.msgList[index]));
_this8.msgList[index].msg.content.isReceived = true;
}
}
uni.hideLoading();
_this8.windowsState = "show";
}, 200);
},
// 关闭红包弹窗
closeRedEnvelope: function closeRedEnvelope() {
var _this9 = this;
this.windowsState = "hide";
setTimeout(function () {
_this9.windowsState = "";
}, 200);
},
sendSystemMsg: function sendSystemMsg(content, type) {
var lastid = this.msgList[this.msgList.length - 1].msg.id;
lastid++;
var row = {
type: "system",
msg: {
id: lastid,
type: type,
content: content
}
};
this.screenMsg(row);
},
//领取详情
toDetails: function toDetails(rid) {
uni.navigateTo({
url: "HM-details/HM-details?rid=" + rid
});
},
// 预览图片
showPic: function showPic(msg) {
uni.previewImage({
indicator: "none",
current: msg.content.url,
urls: this.msgImgList
});
},
getSplit: function getSplit(item, index) {
if (index == 1) {
return item.split(",")[index] + "?200*200.png";
} else {
return item.split(",")[index];
}
},
playVideo: function playVideo(row) {
var _this10 = this;
console.log(row);
var item = "";
if (row.message_cat) {
item = row.message_content;
} else {
item = row.msg.content.url;
}
console.log(item);
this.video = item;
this.isPlay = true;
setTimeout(function () {
_this10.$refs.video.play();
}, 100);
},
// 播放语音
playVoice: function playVoice(row) {
this.playMsgid = row.msg.id;
if (row.message_length) {
this.AUDIO.src = row.message_content;
} else {
this.AUDIO.src = row.msg.content.url;
}
this.$nextTick(function () {
this.AUDIO.play();
});
},
// 录音开始
voiceBegin: function voiceBegin(e) {
if (e.touches.length > 1) {
return;
}
this.initPoint.Y = e.touches[0].clientY;
this.initPoint.identifier = e.touches[0].identifier;
console.log("voiceBegin", e);
var recorderManager = uni.getRecorderManager();
recorderManager.start({
format: "mp3"
}); //录音开始,
console.log("录音开始了");
},
//录音开始UI效果
recordBegin: function recordBegin(e) {
var _this11 = this;
this.recording = true;
this.voiceTis = this.__("松开 结束");
this.recordLength = 0;
this.recordTimer = setInterval(function () {
_this11.recordLength++;
}, 1000);
},
// 录音被打断
voiceCancel: function voiceCancel() {
this.recording = false;
this.voiceTis = this.__("按住 说话");
this.recordTis = this.__("手指上滑 取消发送");
this.willStop = true; //不发送录音
this.RECORDER.stop(); //录音结束
console.log("录音中断了");
},
// 录音中(判断是否触发上滑取消发送)
voiceIng: function voiceIng(e) {
if (!this.recording) {
return;
}
var touche = e.touches[0];
//上滑一个导航栏的高度触发上滑取消发送
if (this.initPoint.Y - touche.clientY >= uni.upx2px(100)) {
this.willStop = true;
this.recordTis = this.__("松开手指 取消发送");
} else {
this.willStop = false;
this.recordTis = this.__("手指上滑 取消发送");
}
},
// 结束录音
voiceEnd: function voiceEnd(e) {
if (!this.recording) {
return;
}
this.recording = false;
this.voiceTis = this.__("按住 说话");
this.recordTis = this.__("手指上滑 取消发送");
this.RECORDER.stop(); //录音结束
console.log("录音结束了了");
},
//录音结束(回调文件)
recordEnd: function recordEnd(e) {
var _this12 = this;
clearInterval(this.recordTimer);
if (!this.willStop) {
console.log("e: " + JSON.stringify(e));
var tempFilePaths = e.tempFilePath;
var that = this;
var urlpaht = that.Config.URL.upload_file;
console.log("urlpaht", urlpaht);
this.$.uploadFile({
url: urlpaht,
//仅为示例,非真实的接口地址
filePath: tempFilePaths,
header: {
merchcode: that.$apiconfig.merchcode
},
name: "upfile",
formData: {
user: "test"
},
success: function success(uploadFileRes) {
console.log("uploadFileRes", uploadFileRes);
var tmpres = JSON.parse(uploadFileRes.data);
var msg = {
length: 0,
url: tmpres.data.url
};
var min = parseInt(_this12.recordLength / 60);
var sec = _this12.recordLength % 60;
min = min < 10 ? "0" + min : min;
sec = sec < 10 ? "0" + sec : sec;
msg.length = min + ":" + sec;
///上传录音到服务器
_this12.sendMsg(msg, "voice");
console.log("录音接口成功");
}
});
} else {
console.log("取消发送录音");
console.log("接口发送录音失败");
}
this.willStop = false;
},
// 切换语音/文字输入
switchVoice: function switchVoice() {
this.hideDrawer();
this.isVoice = this.isVoice ? false : true;
},
discard: function discard() {
return;
},
preview: function preview(src, e) {
// do something
},
navigate: function navigate(href, e) {
// do something
console.info(href);
console.info(e);
this.$.gopage(href);
}
})
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
/***/ }),
/***/ 1453:
/*!*************************************************************************************************************************!*\
!*** C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/im/chat/chat.vue?vue&type=style&index=0&lang=scss& ***!
\*************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./chat.vue?vue&type=style&index=0&lang=scss& */ 1454);
/* harmony import */ var _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 1454:
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/lihy/Desktop/company/wechat_miniProgram/java-mall-app/im/chat/chat.vue?vue&type=style&index=0&lang=scss& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
},[[1446,"common/runtime","common/vendor","im/common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/im/chat/chat.js.map