Browse Source

聊天界面

dgf 8 years ago
parent
commit
92922b5376
2 changed files with 27 additions and 40 deletions
  1. 25 38
      talkview/src/js/controller/messageController.js
  2. 2 2
      talkview/src/templates/messages.html

+ 25 - 38
talkview/src/js/controller/messageController.js

@@ -43,7 +43,17 @@ angular.module('appMessage').controller('MessageController', ['$scope', '$filter
             $scope.historymessages.push(msg);
         };
 
-        $scope.getTime = function(item) {
+        $scope.getHisTime = function(item) {
+            var myDate = new Date();
+            var nowDate = $filter("date")(myDate.getTime(), "yyyy-MM-dd");
+            var messageDate = $filter("date")(item.ts, "yyyy-MM-dd");
+            if (messageDate == nowDate)
+                return $filter("date")(item.ts, "HH:mm:ss");
+            else
+                return $filter("date")(item.ts, "yyyy-MM-dd HH:mm:ss");
+        };
+
+        $scope.getCurTime = function(item) {
             var arr = $scope.appContent.directory.user.split("\\");
             var userself = arr[arr.length - 2];
             var getUserID = item.sender.indexOf(userself);
@@ -61,43 +71,20 @@ angular.module('appMessage').controller('MessageController', ['$scope', '$filter
                 $scope.sendMark = 0;
                 $scope.sMessageTime = [];
             }
-            if (messageDate == nowDate) {
-                if ($scope.sendMark == 1 || $scope.receiveMark == 1) {
-                    return $filter("date")(item.ts, "HH:mm:ss");
-                } else if ($scope.sendMark > 1 && Math.abs($scope.sMessageTime[$scope.sendMark - 1] - $scope.sMessageTime[0]) < 60000) {
-                    return '';
-                } else if ($scope.receiveMark > 1 && Math.abs($scope.rMessageTime[$scope.receiveMark - 1] - $scope.rMessageTime[0]) < 60000) {
-                    return '';
-                } else if ($scope.sendMark > 1 && Math.abs($scope.sMessageTime[$scope.sendMark - 1] - $scope.sMessageTime[0]) > 60000) {
-                    $scope.sMessageTime[0] = $scope.sMessageTime[$scope.sendMark - 1];
-                    $scope.sendMark = 1;
-                    return $filter("date")(item.ts, "HH:mm:ss");
-                } else if ($scope.receiveMark > 1 && Math.abs($scope.rMessageTime[$scope.receiveMark - 1] - $scope.rMessageTime[0]) > 60000) {
-                    $scope.rMessageTime[0] = $scope.rMessageTime[$scope.receiveMark - 1];
-                    $scope.receiveMark = 1;
-                    return $filter("date")(item.ts, "HH:mm:ss");
-                }
-            } else {
-                if ($scope.sendMark == 1 || $scope.receiveMark == 1) {
-                    console.log("111");
-                    return $filter("date")(item.ts, "yyyy HH:mm:ss");
-                } else if ($scope.sendMark > 1 && Math.abs($scope.sMessageTime[$scope.sendMark - 1] - $scope.sMessageTime[0]) < 60000) {
-                    console.log("222");
-
-                } else if ($scope.receiveMark > 1 && Math.abs($scope.rMessageTime[$scope.receiveMark - 1] - $scope.rMessageTime[0]) < 60000) {
-                    console.log("333");
-
-                } else if ($scope.sendMark > 1 && Math.abs($scope.sMessageTime[$scope.sendMark - 1] - $scope.sMessageTime[0]) > 60000) {
-                    console.log("444");
-                    $scope.sendMark = 0;
-                    $scope.sMessageTime = [];
-                    return $filter("date")(item.ts, "MM HH:mm:ss");
-                } else if ($scope.receiveMark > 1 && Math.abs($scope.rMessageTime[$scope.receiveMark - 1] - $scope.rMessageTime[0]) > 60000) {
-                    console.log("555");
-                    $scope.receiveMark = 0;
-                    $scope.rMessageTime = [];
-                    return $filter("date")(item.ts, "dd HH:mm:ss");
-                }
+            if ($scope.sendMark == 1 || $scope.receiveMark == 1) {
+                return $filter("date")(item.ts, "HH:mm:ss");
+            } else if ($scope.sendMark > 1 && Math.abs($scope.sMessageTime[$scope.sendMark - 1] - $scope.sMessageTime[0]) < 60000) {
+                return $filter("date")(item.ts, "yyyy HH:mm:ss");
+            } else if ($scope.receiveMark > 1 && Math.abs($scope.rMessageTime[$scope.receiveMark - 1] - $scope.rMessageTime[0]) < 60000) {
+                return '';
+            } else if ($scope.sendMark > 1 && Math.abs($scope.sMessageTime[$scope.sendMark - 1] - $scope.sMessageTime[0]) > 60000) {
+                $scope.sMessageTime[0] = $scope.sMessageTime[$scope.sendMark - 1];
+                $scope.sendMark = 1;
+                return $filter("date")(item.ts, "HH:mm:ss");
+            } else if ($scope.receiveMark > 1 && Math.abs($scope.rMessageTime[$scope.receiveMark - 1] - $scope.rMessageTime[0]) > 60000) {
+                $scope.rMessageTime[0] = $scope.rMessageTime[$scope.receiveMark - 1];
+                $scope.receiveMark = 1;
+                return $filter("date")(item.ts, "HH:mm:ss");
             }
         };
 

+ 2 - 2
talkview/src/templates/messages.html

@@ -2,7 +2,7 @@
     <div class="getMore"><a role="button" class="i-More"><small ng-click="getMore()">加载更多消息</small></a><small class="n-More hide">当前没有更多消息</small></div>
     <div class="feed-activity-list p-l-xs p-t-xs p-r-xs loadmore" ng-cloak>
         <div class="feed-element" ng-repeat="item in historymessages | orderBy:item.index:'desc'">
-            <div class="curTime"><small class="text-muted">{{getTime(item)}}</small></div>
+            <div class="curTime"><small class="text-muted">{{getHisTime(item)}}</small></div>
             <div class="media-body" ng-history-msg="item" ng-app-content="appContent" ng-count="count" ng-height="height">
                 <!--<p>
                     <strong>{{item.senderDisplayName === undefined || item.senderDisplayName == ''? item.sender : item.senderDisplayName}}</strong><small>-2017-2-6 15:57:17 {{item.ts}}</small>
@@ -15,7 +15,7 @@
     </div>
     <div class="feed-activity-list p-l-xs p-t-xs p-r-xs sendmessage" ng-cloak>
         <div class="feed-element animate" ng-repeat="item in sendmessages track by $index">
-            <div class="curTime"><small class="text-muted">{{getTime(item)}}</small></div>
+            <div class="curTime"><small class="text-muted">{{getCurTime(item)}}</small></div>
             <div class="media-body" ng-current-msg="item" ng-app-content="appContent">
                 <!--<p>
                     <strong>{{item.senderDisplayName === undefined || item.senderDisplayName == ''? item.sender : item.senderDisplayName}}</strong><small class="text-muted">-{{getTime(item)}}</small>