|
@@ -0,0 +1,60 @@
|
|
|
+(function () {
|
|
|
+ 'use strict';
|
|
|
+
|
|
|
+ angular
|
|
|
+ .module('appMessage')
|
|
|
+ .directive('ngMsg', Directive);
|
|
|
+
|
|
|
+ Directive.inject = [];
|
|
|
+
|
|
|
+ function Directive() {
|
|
|
+ var directive = {
|
|
|
+ link: link,
|
|
|
+ restrict: 'A',
|
|
|
+ scope: {
|
|
|
+ msg: '=ngMsg'
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return directive;
|
|
|
+
|
|
|
+ function link(scope, element, attrs) {
|
|
|
+ var html = '';
|
|
|
+ // 消息类型([1,文本消息],[2,图片消息],[3,文件消息],[4,语音消息], [5,位置消息])
|
|
|
+ if (scope.msg.contentType == 1) {
|
|
|
+ html = '<span class="text-message">' + scope.msg.content + '</span>';
|
|
|
+ } else if (scope.msg.contentType == 2) {
|
|
|
+ html = '<span class="text-message">' +
|
|
|
+ '<a href="#" class="thumbnail" style="width:300px;">' +
|
|
|
+ '<img src="' + scope.msg.content + '" alt="通用的占位符缩略图">' +
|
|
|
+ '</a>' +
|
|
|
+ '</span>';
|
|
|
+ } else if (scope.msg.contentType == 3) {
|
|
|
+ element.css({
|
|
|
+ width: '300px'
|
|
|
+ });
|
|
|
+ element.addClass('file-message');
|
|
|
+ var reg = /\?[\W\w]*/;
|
|
|
+ var fileName = decodeURIComponent(reg.exec(scope.msg.content).toString().substr(1));
|
|
|
+
|
|
|
+ html = '<img src="../img/file/unkown.png" onError=" this.src = \'../img/file/unkown.png\' "/>' +
|
|
|
+ '<span style="float:left; margin:5px 0px 0px 0px">文件名:' + fileName + '<br/>大小:' + scope.msg.length + '</span>' +
|
|
|
+ '<div class="p-t-sm text-right">' +
|
|
|
+ '<a class="text-primary" role="button">打开</a>' +
|
|
|
+ '<a class="text-primary" role="button">打开文件夹</a>' +
|
|
|
+ '</div>';
|
|
|
+ } else if (scope.msg.contentType == 4) {
|
|
|
+ html = '<span class="text-message">' +
|
|
|
+ '<iframe class="map" border=0 src="' + scope.msg.content + '" frameBorder=no></iframe>' +
|
|
|
+ '</span>';
|
|
|
+ } else if (scope.msg.contentType == 5) {
|
|
|
+ html = '<span class="text-message">' +
|
|
|
+ '<audio src="' + scope.msg.content + '" controls="controls">' +
|
|
|
+ '</audio>' +
|
|
|
+ '</span>';
|
|
|
+ }
|
|
|
+ console.log(html);
|
|
|
+ var newElement = angular.element(html);
|
|
|
+ element.append(newElement);
|
|
|
+ }
|
|
|
+ }
|
|
|
+})();
|