Ver código fonte

冲突修改

lqq 8 anos atrás
pai
commit
716a8b386b

+ 1 - 1
talkview/src/html/index.html

@@ -22,7 +22,7 @@
     <script src="app.js"></script>
 </head>
 
-<body ng-app="appMessage" id="body">
+<body ng-app="appMessage" id="body" class="scrollGlue">
     <ui-view></ui-view>
 </body>
 

+ 1 - 0
talkview/src/js/controller/messageController.js

@@ -44,6 +44,7 @@ angular.module('appMessage').controller('MessageController', ['$scope', '$filter
         };
 
         $scope.getMore = function() {
+            $scope.height = document.body.scrollHeight;
             lxtalkClient.Invoke('{15180DEF-D508-45F7-BAEB-6486CD8752C8}', 'LoadHistoryMessages', '', $scope);
             $scope.count = false;
         };

+ 0 - 4
talkview/src/js/controller/transmitterController.js

@@ -18,10 +18,6 @@ angular.module('appMessage').controller('TransmitterController', ['$scope', '$in
         $timeout();
     };
 
-    // $scope.toJson = function(item) {
-    //     return angular.toJson(item, true);
-    // };
-
     $scope.getSuffix = function(item) {
         var arr = item.fileName.split(".");
         return '../img/file/' + arr[arr.length - 1] + '.png';

+ 30 - 5
talkview/src/js/directive/currentmessage.js

@@ -5,9 +5,9 @@
         .module('appMessage')
         .directive('ngCurrentMsg', CurrentMsg);
 
-    CurrentMsg.inject = ['$location', '$anchorScroll', '$compile', '$timeout'];
+    CurrentMsg.inject = ['$location', '$anchorScroll', '$filter', '$compile', '$timeout'];
 
-    function CurrentMsg($location, $anchorScroll, $compile, $timeout) {
+    function CurrentMsg($location, $anchorScroll, $filter, $compile, $timeout) {
         var directive = {
             link: link,
             restrict: 'A',
@@ -52,6 +52,15 @@
                     return (Math.round(fileSize * 100 / 1024) / 100).toString() + 'KB';
             };
 
+            var getTime = function(item) {
+                return $filter("date")(item.ts, "yyyy-MM-dd HH:mm:ss");
+            };
+
+            var getFileInfo = function(item) {
+                var file = '“' + getFileName(item) + '”' + '(' + getFileSize(item) + ')';
+
+            }
+
             var replaceSystemFace = function(content) {
                 //匹配表情
                 var g = (/\/\:([\w]+)/).exec(content);
@@ -110,6 +119,9 @@
 
             var replaceImage = function(content) {}
             var html = '';
+
+            if (scope.msg.senderDisplayName === undefined || scope.msg.senderDisplayName == '')
+                scope.msg.senderDisplayName = scope.msg.sender;
             // 消息类型([1,文本消息],[2,图片消息],[3,文件消息], [4,位置消息],[5,语音消息])
             if (scope.appContent === undefined || scope.appContent.faceConfig === undefined || scope.appContent.faceConfig.sys === undefined) {
                 html = '<span class="text-message">' + scope.msg.content + '</span>';
@@ -176,14 +188,28 @@
                     '<audio src="' + scope.msg.content + '" controls="controls">' +
                     '</audio>' +
                     '</span>';
+            } else if (scope.msg.contentType == 6) {
+                var content = JSON.parse(scope.msg.content);
+                html = getFileInfo(content);
+                // html = '<div class="well m-l-xs m-t-xs fit-content" id="file-error">' +
+                //     '<div><span class="glyphicon glyphicon-remove-sign"></span><span>您取消了“办公微助引导页.rar”(22.72MB)的发送,文件传输失败。</span>' +
+                //     '</div></div>';
             }
 
             if (getUserID()) {
-                var html_g = '<div class="wellself m-l-xs m-t-xs fit-content" >' +
+                var html_g = '<p><strong>' +
+                    scope.msg.senderDisplayName +
+                    '</strong><small class="text-muted">-' +
+                    getTime(scope.msg) + '</small></p>' +
+                    '<div class="wellself m-l-xs m-t-xs fit-content" >' +
                     '<div class="text-point"></div>' + html +
                     '</div>';
             } else {
-                var html_g = '<div class="well m-l-xs m-t-xs fit-content" >' +
+                var html_g = '<p><strong>' +
+                    scope.msg.senderDisplayName +
+                    '</strong><small class="text-muted">-' +
+                    getTime(scope.msg) + '</small></p>' +
+                    '<div class="well m-l-xs m-t-xs fit-content" >' +
                     '<div class="text-point"></div>' + html +
                     '</div>';
             }
@@ -209,7 +235,6 @@
             var file = JSON.parse(item);
             console.log(JSON.stringify(file));
             return lxtalkClient.Invoke('{15180DEF-D508-45F7-BAEB-6486CD8752C8}', 'OpenDirectory', JSON.stringify(file), $scope);
-
         };
         $scope.onLoad = function() {
             $location.hash("bottom");

+ 15 - 21
talkview/src/js/directive/historymessages.js

@@ -15,7 +15,8 @@
             scope: {
                 msg: '=ngHistoryMsg',
                 appContent: '=ngAppContent',
-                count: '=ngCount'
+                count: '=ngCount',
+                height: '=ngHeight'
             }
         };
         return directive;
@@ -71,8 +72,7 @@
                 while (g !== null) {
                     content = content.replace(g[0],
                         '<a class="thumbnail"' + '>' +
-                        // '<img onclick="javascript:window.open(this.src,\'\',\'height=600,width=800,top=200,left=200\')" class="lazy" style="max-width:270px;max-height:250px;" src="../img/loading.gif" data-original="local://' + scope.appContent.directory.received + g[1] + '.JPG' + '" alt="截图缩略图" >' +
-                        '<img onclick="javascript:window.open(this.src,\'\',\'height=600,width=800,top=200,left=200,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no\')" style="max-width:300px;max-height:250px;" src="local://' + scope.appContent.directory.received + g[1] + '.JPG' + '" alt="截图缩略图" >' +
+                        '<img ng-load="scrollController()" ng-error="scrollController()" onclick="javascript:window.open(this.src,\'\',\'height=600,width=800,top=200,left=200\')" style="max-width:300px;max-height:250px;" src="local://' + scope.appContent.directory.received + g[1] + '.JPG' + '" alt="截图缩略图" >' +
                         '</a>'
                     );
                     g = (/\[image\-src=\"([\w\W]+?)\"\]/i).exec(content);
@@ -111,10 +111,10 @@
                 });
                 return content;
             };
-            var message = element;
+            var replaceImage = function(content) {}
+            var html = '';
             if (scope.msg.senderDisplayName === undefined || scope.msg.senderDisplayName == '')
                 scope.msg.senderDisplayName = scope.msg.sender;
-            var html = '';
             // 消息类型([1,文本消息],[2,图片消息],[3,文件消息], [4,位置消息],[5,语音消息])
             if (scope.appContent === undefined || scope.appContent.faceConfig === undefined || scope.appContent.faceConfig.sys === undefined) {
                 html = '<span class="text-message">' + scope.msg.content + '</span>';
@@ -211,24 +211,16 @@
             // 也可以用$scope.$new()创建继承的作用域
             var $dom = compileFn(scope);
             // 添加到文档中
-            angular.element(".loadmore").prepend($dom);
+
+            //angular.element("#loadmore").prepend($dom);
+            var newElement = angular.element($dom);
+            element.prepend(newElement);
             if (scope.count) {
                 gotoBottom();
-                window.scrollTo(0, document.body.scrollHeight);
+                element.addEventListener('load', window.scrollTo(0, document.body.scrollHeight));
+            } else {
+                element.addEventListener('load', window.scrollTo(0, document.body.scrollHeight - scope.height));
             }
-            // if (scope.count && angular.element("img").hasClass("lazy")) {
-            //     angular.element("img.lazy").lazyload({
-            //         event: "click"
-            //     });
-            //     gotoBottom();
-            //     window.scrollTo(0, document.body.scrollHeight);
-            // } else if (scope.count) {
-            //     gotoBottom();
-            //     window.scrollTo(0, document.body.scrollHeight);
-            // } else
-            //     angular.element("img.lazy").lazyload({
-            //         event: "click"
-            //     });
         }
     };
     /* @ngInject */
@@ -241,7 +233,9 @@
             var file = JSON.parse(item);
             console.log(JSON.stringify(file));
             return lxtalkClient.Invoke('{15180DEF-D508-45F7-BAEB-6486CD8752C8}', 'OpenDirectory', JSON.stringify(file), $scope);
-
+        };
+        $scope.scrollController = function() {
+            window.scrollTo(0, document.body.scrollHeight - $scope.height);
         };
     }
 })();

+ 18 - 0
talkview/src/less/app.main.less

@@ -200,6 +200,24 @@
     padding-top: 10px;
 }
 
+#file-error {
+    margin: 10px 10px 5px 10px;
+    padding: 5px 7px;
+    color: #555;
+    .glyphicon {
+        margin-right: 3px;
+        color: #E35850;
+    }
+}
+#file-info {
+    margin: 10px 10px 5px 10px;
+    padding: 5px 7px;
+    color: #555;
+    .glyphicon {
+        margin-right: 3px;
+        color: #4EA9E9;
+    }
+}
 [scroll-glue-top],
 [scroll-glue-bottom],
 [scroll-glue]{

+ 115 - 31
talkview/src/templates/messages.html

@@ -1,23 +1,25 @@
-<div class="full-client" ng-mouseover="scrollShow()" ng-cloak>
+<div class="full-client" ng-mouseover="scrollShow()">
     <div id="getMore"><a role="button"><small ng-click="getMore()">加载更多消息</small></a></div>
-    <div class="feed-activity-list p-l-xs p-t-xs p-r-xs loadmore" ng-repeat="item in historymessages track by $index" ng-history-msg="item" ng-app-content="appContent" ng-count="count">
-        <!--<div class="feed-element" ng-repeat="item in historymessages track by $index">
-                <div class="media-body">
-                    <p>
-                        <strong>{{item.senderDisplayName === undefined || item.senderDisplayName == ''? item.sender : item.senderDisplayName}}</strong><small>-2017-2-6 15:57:17 {{item.ts}}</small>
-                    </p>
-                    <div class="well m-l-xs m-t-xs fit-content" ng-history-msg="item" ng-app-content="appContent">
-                        <div class="text-point"></div>
-                    </div>
+
+    <div class="feed-activity-list p-l-xs p-t-xs p-r-xs" ng-cloak id="loadmore" ng-repeat="item in historymessages track by $index" ng-history-msg="item" ng-app-content="appContent" ng-count="count" ng-height="height">
+        <!--<div class="feed-element">
+            <div class="media-body">
+                <p>
+                    <strong>{{item.senderDisplayName === undefined || item.senderDisplayName == ''? item.sender : item.senderDisplayName}}</strong><small>-2017-2-6 15:57:17 {{item.ts}}</small>
+                </p>
+                <div class="well m-l-xs m-t-xs fit-content" ng-history-msg="item" ng-app-content="appContent">
+                    <div class="text-point"></div>
                 </div>
-            </div>-->
+            </div>
+        </div>-->
     </div>
-    <div class="feed-activity-list p-l-xs p-t-xs p-r-xs" id="sendmessage">
+    <div class="feed-activity-list p-l-xs p-t-xs p-r-xs" ng-cloak id="sendmessage">
         <div class="feed-element animate" ng-repeat="item in sendmessages track by $index">
             <div class="media-body" ng-current-msg="item" ng-app-content="appContent">
-                <p>
+
+                <!--<p>
                     <strong>{{item.senderDisplayName === undefined || item.senderDisplayName == ''? item.sender : item.senderDisplayName}}</strong><small class="text-muted">-{{getTime(item)}}</small>
-                </p>
+                </p>-->
                 <!--<div class="well m-l-xs m-t-xs fit-content">
                     <div class="text-point"></div>
                 </div>-->
@@ -27,15 +29,15 @@
 
         <!-- 普通消息 -->
         <!--<div class="feed-element">
-				<div class="media-body ">
-					<strong>陆趣趣</strong>
-					<small class="text-muted">Today 2:10 pm - 12.06.2014</small>
+            <div class="media-body ">
+                <strong>陆趣趣</strong>
+                <small class="text-muted">Today 2:10 pm - 12.06.2014</small>
 
-					<div class="well m-l-xs m-t-xs fit-content">
-						<span class="text-message">手动建开发技术的发是打发是否阿萨德发按时大家阿萨德发 圣诞节法律考试及地方akjsdklfajs 按时大奖是离开的房间阿萨德发是对方可爱上了对方快递费阿斯顿发阿萨德发啊阿萨德f</span>
-    </div>
-</div>
-</div>-->
+                <div class="well m-l-xs m-t-xs fit-content">
+                    <span class="text-message">手动建开发技术的发是打发是否阿萨德发按时大家阿萨德发 圣诞节法律考试及地方akjsdklfajs 按时大奖是离开的房间阿萨德发是对方可爱上了对方快递费阿斯顿发阿萨德发啊阿萨德f</span>
+                </div>
+            </div>
+        </div>-->
 
         <!-- 文件下载消息 -->
         <!--<div class="feed-element">
@@ -58,23 +60,105 @@
                 </div>
             </div>-->
 
+        <!-- 文件提醒消息 -->
+        <!--<div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>您取消了“办公微助引导页.rar”(22.72MB)的发送,文件传输失败。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>您取消接收“办公微助引导页.rar”(22.72MB),文件传输失败。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>对方取消了“办公微助引导页.rar”(22.72MB)的发送。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>对方取消接收“办公微助引导页.rar”(22.72MB),文件发送失败。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>您终止了“2003office.1195979292.zip”(519.69MB)的发送。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>您终止了“2003office.1195979292.tmp”(519.69MB)的接收。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>对方中断了“2003office.1195979292.zip”(519.69MB)的发送。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-error">
+                    <div>
+                        <span class="glyphicon glyphicon-remove-sign"></span><span>对方中断了“2003office.1195979292.zip”(519.69MB)的接收。</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="feed-element">
+            <div class="media-body">
+                <div class="well m-l-xs m-t-xs fit-content" id="file-info">
+                    <div>
+                        <span class="glyphicon glyphicon-info-sign"></span><span>对方取消在线传输,转为发送离线文件“办公微助引导页.rar”(22.72MB)。</span>
+                    </div>
+                </div>
+            </div>
+        </div>-->
         <!-- 带截图 -->
         <!--<div class="feed-element">
-                <div class="media-body">
-                    <p>
-                        <strong>陆趣趣</strong><small>-2017-2-6 15:57:17 来自pc端</small>
-                    </p>
-                    <div class="well m-l-xs m-t-xs fit-content">
-                        <div id="text-point"></div>
-                        <span class="text-message">
+            <div class="media-body">
+                <p>
+                    <strong>陆趣趣</strong><small>-2017-2-6 15:57:17 来自pc端</small>
+                </p>
+                <div class="well m-l-xs m-t-xs fit-content">
+                    <div id="text-point"></div>
+                    <span class="text-message">
 								<a href="#" class="thumbnail" style="max-width:125px;">
 									<img src="local://E:/LxtalkUIView/dist/img/loading.jpg" alt="通用的占位符缩略图">
 								</a>
 								
 						</span>
-                    </div>
                 </div>
-            </div>-->
+            </div>
+        </div>-->
 
         <!-- 只有截图 -->
         <!--<div class="feed-element">