Authored by 李奇

历史消息优化

@@ -71,7 +71,7 @@ const getMsgHistory = (encryptedUid, endTime) => { @@ -71,7 +71,7 @@ const getMsgHistory = (encryptedUid, endTime) => {
71 params.endTime = endTime; 71 params.endTime = endTime;
72 } 72 }
73 73
74 - return api.post(urls.msgHistory, params); 74 + return api.post(urls.msgHistory, params, {timeout: 5000});
75 }; 75 };
76 76
77 module.exports = { 77 module.exports = {
@@ -11,6 +11,7 @@ var $ = require('yoho-jquery'), @@ -11,6 +11,7 @@ var $ = require('yoho-jquery'),
11 uuid = require('uuid'), 11 uuid = require('uuid'),
12 emojiMap = require('./emoji-map'), 12 emojiMap = require('./emoji-map'),
13 editArea = require('./edit-area'), 13 editArea = require('./edit-area'),
  14 + serviceApi = require('./service-api'),
14 broswer = require('./broswer'), 15 broswer = require('./broswer'),
15 socketChat = require('./socket-chat'), 16 socketChat = require('./socket-chat'),
16 socketConf = require('./socket-config'); 17 socketConf = require('./socket-config');
@@ -781,6 +782,9 @@ function pageInit() { @@ -781,6 +782,9 @@ function pageInit() {
781 * 获取历史聊天记录 782 * 获取历史聊天记录
782 */ 783 */
783 function fetchHistoryMsg() { 784 function fetchHistoryMsg() {
  785 + if(processInfo.loadingHistory) {
  786 + return;
  787 + }
784 processInfo.loadingHistory = true; 788 processInfo.loadingHistory = true;
785 var msgList = []; 789 var msgList = [];
786 var data = { 790 var data = {
@@ -790,11 +794,9 @@ function pageInit() { @@ -790,11 +794,9 @@ function pageInit() {
790 if (endTime) { 794 if (endTime) {
791 data.endTime = endTime; 795 data.endTime = endTime;
792 } 796 }
793 - $.ajax({  
794 - type: 'POST',  
795 - url: '/service/history',  
796 - data: data,  
797 - success: function(res) { 797 +
  798 + serviceApi.history(data)
  799 + .done(function(res) {
798 if (res && res.code === 200) { 800 if (res && res.code === 200) {
799 if (processInfo.hasMore) { 801 if (processInfo.hasMore) {
800 msgList = res.data.records || []; 802 msgList = res.data.records || [];
@@ -802,8 +804,12 @@ function pageInit() { @@ -802,8 +804,12 @@ function pageInit() {
802 } 804 }
803 $history.hide(); 805 $history.hide();
804 processInfo.scrollLoad = true; 806 processInfo.scrollLoad = true;
  807 + } else {
  808 + processInfo.loadingHistory = false;
805 } 809 }
806 - } 810 + })
  811 + .fail(function() {
  812 + processInfo.loadingHistory = false;
807 }); 813 });
808 } 814 }
809 815
  1 +/**
  2 + * 前端Ajax请求封装
  3 + * @author LQ <qi.li@yoho.cn>
  4 + * @date 2017/03/14
  5 + */
  6 +
  7 +var $ = require('yoho-jquery');
  8 +
  9 +var reqUrls = {
  10 + history: '/service/history'
  11 +};
  12 +
  13 +var _ajax = function(method, reqUrl, params) {
  14 + return $.ajax({
  15 + type: method || "GET",
  16 + url: reqUrl,
  17 + data: params
  18 + });
  19 +};
  20 +
  21 +/**
  22 + * 历史消息
  23 + * @param params 参数对象
  24 + */
  25 +exports.history = function(params) {
  26 + return _ajax("POST", reqUrls.history, params);
  27 +};