(function () { var beginTime = "1988-01-01 00:00:00"; var endTime = "1988-01-01 00:00:00"; var userId = ''; var msgMap = {}; var timeOutId; var $scroll; var getTime = function (time) { var d = new Date(); var c = d.DateDiff('d', time); if (c < 1 && c > -1) { return learun.date.format(time, 'hh:mm:ss'); } else { return learun.date.format(time, 'yyyy-MM-dd hh:mm'); } }; var getHeadImg = function (user) { var url = ''; switch (user.img) { case '0': url += 'images/on-girl.jpg'; break; case '1': url += 'images/on-boy.jpg'; break; default: url += config.webapi + 'learun/adms/user/img?data=' + user.id; break; } return url; }; var getMsgHtml = function (item) { var _html = '\
'+ getTime(item.F_CreateDate) + '
\
\ \ \ '+ item.F_Content + '\
'; return _html; }; // 获取最新的消息列表 var getMsg = function (userId) { learun.httpget(config.webapi + "learun/adms/im/msg/list2", { otherUserId: userId, time: endTime }, (data) => { if (data) { var $list = $('#lr_chat_msgcontent .lr-chat-msgcontent-list'); $.each(data, function (_index, _item) { if (!msgMap[_item.F_MsgId]) { msgMap[_item.F_MsgId] = "1"; var _html = getMsgHtml(_item); $list.append(_html); endTime = _item.F_CreateDate; $scroll.refresh(true); $scroll.scrollToBottom(); } }); $list = null; } timeOutId = setTimeout(function () { getMsg(userId); }, 5000); }); }; var page = { init: function ($page, param) { $scroll = $page.find('#lr_chat_msgcontent').pullRefresh({ down: { height: 20, contentinit: '', contentdown: '', contentover: '', contentrefresh: '', callback: function () { var self = this; learun.httpget(config.webapi + "learun/adms/im/msg/list", { otherUserId: param.userId, time: beginTime }, (data) => { if (data) { var $list = $('#lr_chat_msgcontent .lr-chat-msgcontent-list'); $.each(data, function (_index, _item) { if (!msgMap[_item.F_MsgId]) { msgMap[_item.F_MsgId] = "1"; var _html = getMsgHtml(_item); $list.prepend(_html); beginTime = _item.F_CreateDate; } }); $list = null; } self.refresh(true); self.endPulldownToRefresh(); }); } } }); userId = learun.storage.get('userinfo').baseinfo.userId; var $list = $('#lr_chat_msgcontent .lr-chat-msgcontent-list'); if (param.hasHistory) { learun.layer.loading(true, '加载聊天信息中'); // 先去获取最近的十条数据 learun.httpget(config.webapi + "learun/adms/im/msg/lastlist", param.userId, (data) => { learun.layer.loading(false); if (data) { $.each(data, function (_index, item) { beginTime = item.F_CreateDate; if (_index === 0) { endTime = item.F_CreateDate; } msgMap[item.F_MsgId] = '1'; var _html = getMsgHtml(item); $list.prepend(_html); }); } $scroll.refresh(true); $scroll.scrollToBottom(); getMsg(param.userId); }); } $page.find('#lr_chat_sendbtn').on('tap', function () { var text = $('#lr_chat_input').val(); text = $.trim(text); $('#lr_chat_input').val(""); if (text) { clearTimeout(timeOutId); var $list = $('#lr_chat_msgcontent .lr-chat-msgcontent-list'); var _html = '\
\ \ \ '+ text + '\
'; $list.append(_html); $scroll.refresh(true); $scroll.scrollToBottom(); learun.httppost(config.webapi + "learun/adms/im/send", { userId: param.userId, content: text }, (data) => { if (data) { endTime = data.time; msgMap[data.msgId] = "1"; } getMsg(param.userId); }); } }); }, destroy: function (pageinfo) { clearTimeout(timeOutId); } }; return page; })();