app-2c6b56e97c.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. 'use strict';
  2. var appMessage = angular.module('appMessage', ['luegg.directives']);
  3. (function () {
  4. 'use strict';
  5. angular
  6. .module('appMessage')
  7. .directive('ngMsg', Directive);
  8. Directive.inject = [];
  9. function Directive() {
  10. var directive = {
  11. link: link,
  12. restrict: 'A',
  13. scope: {
  14. msg: '=ngMsg',
  15. appContent: '=ngAppContent'
  16. }
  17. };
  18. return directive;
  19. function link(scope, element, attrs) {
  20. var replaceSystemFace = function(content){
  21. scope.appContent.faceConfig.sys.forEach(function(element) {
  22. content = content.replace(element.shortcut,'<img src="local://' + scope.appContent.directory.base + element.image + '">');
  23. }, this);
  24. // var reg = /[(\w+)-src="(http://[\w\W]+?)"]/;
  25. // var reg = new RegExp('\\[(\\w+)\\-src=\\"(http://[\\w\\W]+?)\\"\\]', "i");
  26. var reg = new RegExp('\\[image\\-src=\\"([\\w\\W]+?)\\"\\]', "i");
  27. var g = reg.exec(content);
  28. if (g === null)
  29. return content;
  30. console.log(JSON.stringify(g));
  31. for(var i = 0; i <= g.length - 1; i++){
  32. console.log(g[i]);
  33. }
  34. return content;
  35. };
  36. var replaceImage = function(content){
  37. }
  38. var html = '';
  39. // 消息类型([1,文本消息],[2,图片消息],[3,文件消息],[4,语音消息], [5,位置消息])
  40. if (scope.appContent === undefined || scope.appContent.faceConfig ===undefined || scope.appContent.faceConfig.sys === undefined){
  41. html = '<span class="text-message">' + scope.msg.content + '</span>';
  42. } else if (scope.msg.contentType == 1) {
  43. html = '<span class="text-message">' + replaceSystemFace(scope.msg.content) + '</span>';
  44. } else if (scope.msg.contentType == 2) {
  45. html = '<span class="text-message">' +
  46. '<a href="#" class="thumbnail" style="width:300px;">' +
  47. '<img src="' + scope.msg.content + '" alt="通用的占位符缩略图">' +
  48. '</a>' +
  49. '</span>';
  50. } else if (scope.msg.contentType == 3) {
  51. element.css({
  52. width: '300px'
  53. });
  54. element.addClass('file-message');
  55. var reg = /\?[\W\w]*/;
  56. var fileName = decodeURIComponent(reg.exec(scope.msg.content).toString().substr(1));
  57. html = '<img src="../img/file/unkown.png" onError=" this.src = \'../img/file/unkown.png\' "/>' +
  58. '<span style="float:left; margin:5px 0px 0px 0px">文件名:' + fileName + '<br/>大小:' + scope.msg.length + '</span>' +
  59. '<div class="p-t-sm text-right">' +
  60. '<a class="text-primary" role="button">打开</a>' +
  61. '<a class="text-primary" role="button">打开文件夹</a>' +
  62. '</div>';
  63. } else if (scope.msg.contentType == 4) {
  64. html = '<span class="text-message">' +
  65. '<iframe class="map" border=0 src="' + scope.msg.content + '" frameBorder=no></iframe>' +
  66. '</span>';
  67. } else if (scope.msg.contentType == 5) {
  68. html = '<span class="text-message">' +
  69. '<audio src="' + scope.msg.content + '" controls="controls">' +
  70. '</audio>' +
  71. '</span>';
  72. }
  73. var newElement = angular.element(html);
  74. element.append(newElement);
  75. }
  76. }
  77. })();
  78. 'use strict';
  79. angular.module('appMessage').controller('MessageController', ['$scope', function ($scope) {
  80. lxtalkClient.Invoke('{15180DEF-D508-45F7-BAEB-6486CD8752C8}', '_Register', '', $scope);
  81. $scope.glued = true;
  82. $scope.items = [{
  83. "uid": "2636765",
  84. "senderDisplayName": "陆趣趣",
  85. "sender": "0578+002682BECE10-lqq",
  86. "msgType": 0,
  87. "networkType": 1,
  88. "isDes": false,
  89. "length": 0,
  90. "isReaded": false,
  91. "contentType": 1,
  92. "receiver": "0578+002682BECE10-lsws",
  93. "fromClient": 0,
  94. "ts": 1483494160000,
  95. "id": 0,
  96. "content": "111111",
  97. "style": ""
  98. }, {
  99. content: "消息内容",
  100. style: '字体',
  101. fromClient: 2, //消息来源([0:PC],[1:iOS],[2:Android]
  102. id: "616ebe69e1c04c2ea9740a14457aaca6",
  103. isDes: 0, //是否加密消息
  104. contentType: 1, // 消息类型([1,文本消息],[2,图片消息],[3,文件消息],[4,语音消息], [5,位置消息])
  105. networkType: 1, //网络类型([1:wifi],[2:2G],[3:3G],[4:4G])
  106. sender: "0578+0-ls_xxj1",
  107. senderDisplayName: "陆趣趣",
  108. length: 12312,
  109. ts: 12312312412 //时间搓
  110. }, {
  111. content: "http://202.107.249.133:8125/e/8/2/4/f/e824fa94cbacff419a0ad611926710f9.dat?下载文件.docx",
  112. fromClient: 2,
  113. id: "253db476c6d140f0a1b4d4af5fcf2016",
  114. isDes: 0,
  115. contentType: 3,
  116. networkType: 1,
  117. sender: "0578+0-ls_xxj1",
  118. senderDisplayName: "陆趣趣",
  119. length: 17359
  120. }, {
  121. content: "../img/DefaultHeadImage_96.png",
  122. fromClient: 2,
  123. id: "253db476c6d140f0a1b4d4af5fcf2016",
  124. isDes: 0,
  125. contentType: 2,
  126. networkType: 1,
  127. sender: "0578+0-ls_xxj1",
  128. senderDisplayName: "陆趣趣",
  129. length: 17359
  130. }];
  131. $scope.appContent = {};
  132. // $scope.guid = lxtalkClient.Invoke('register', 'talkview', $scope);
  133. $scope.addMessage = function () {
  134. scroll(0, document.body.scrollHeight);
  135. }
  136. $scope.showMessage = function (jsonStr) {
  137. console.log(jsonStr);
  138. var msg = JSON.parse(jsonStr);
  139. $scope.items.push(msg);
  140. }
  141. $scope.showHistoryMessage = function (jsonStr) {
  142. var msg = JOSN.parse(jsonStr);
  143. $scope.items.unshift(msg);
  144. }
  145. $scope.initAppContent = function(appContentJson){
  146. // console.log(appContentJson);
  147. $scope.appContent = JSON.parse(appContentJson);
  148. }
  149. }]);