...
|
...
|
@@ -46,14 +46,70 @@ function Paste(sl, cb) { |
|
|
this.input = '';
|
|
|
}
|
|
|
|
|
|
function _upload() {
|
|
|
var path;
|
|
|
var self = this;
|
|
|
|
|
|
if (self.isSending) {
|
|
|
return;
|
|
|
}
|
|
|
self.isSending = true;
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: gDomains.imCs + '/fileManage/uploadFile',
|
|
|
data: self.formData,
|
|
|
processData: false, // 告诉jQuery不要去处理发送的数据
|
|
|
contentType: false
|
|
|
})
|
|
|
.done(function(res) {
|
|
|
if (res.code === 200) {
|
|
|
path = res.data.filePath;
|
|
|
self.uploadCb(path);
|
|
|
self.close();
|
|
|
}
|
|
|
})
|
|
|
.always(function() {
|
|
|
self.isSending = false;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
function _drawPreview(url) {
|
|
|
var html;
|
|
|
var self = this;
|
|
|
var $prev = $('.preview-dialog');
|
|
|
var $img = $prev.find('.clip-img');
|
|
|
var len = $img.length;
|
|
|
|
|
|
if (len) {
|
|
|
$img.attr('src', url);
|
|
|
self.$preview = $prev;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
html = $viewHbs({src: url});
|
|
|
$('body').append(html);
|
|
|
$('.preview-dialog').css('z-index', 1090);
|
|
|
self.$preview = $('.preview-dialog');
|
|
|
|
|
|
// 绑定预览内事件
|
|
|
self.$preview.on('click', '.head-close, .cancel-btn', self.close.bind(self))
|
|
|
.on('click', '.confirm-btn', _upload.bind(self));
|
|
|
}
|
|
|
|
|
|
Paste.prototype = {
|
|
|
bindEvents: function() {
|
|
|
var self = this;
|
|
|
|
|
|
this.$el.addEventListener('paste', function(e) {
|
|
|
self.input = $('.text.msg-area').val();
|
|
|
var cbd = e.clipboardData;
|
|
|
var ua = window.navigator.userAgent;
|
|
|
var i;
|
|
|
var item;
|
|
|
var reader;
|
|
|
var file;
|
|
|
|
|
|
self.input = $('.text.msg-area').val();
|
|
|
|
|
|
// 如果是 Safari 直接 return
|
|
|
if (!(e.clipboardData && e.clipboardData.items)) {
|
...
|
...
|
@@ -67,76 +123,27 @@ Paste.prototype = { |
|
|
return;
|
|
|
}
|
|
|
|
|
|
for (var i = 0; i < cbd.items.length; i++) {
|
|
|
var item = cbd.items[i];
|
|
|
if (item.kind == 'file') {
|
|
|
var file = item.getAsFile();
|
|
|
if (file.size === 0) { return; }
|
|
|
for (i = 0; i < cbd.items.length; i++) {
|
|
|
item = cbd.items[i];
|
|
|
if (item.kind === 'file') {
|
|
|
file = item.getAsFile();
|
|
|
|
|
|
if (file.size === 0) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
self.formData = new FormData();
|
|
|
self.formData.append('files[]', file, 'clip.jpg');
|
|
|
|
|
|
var _upload = function() {
|
|
|
if (self.isSending) return;
|
|
|
self.isSending = true;
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: gDomains.imCs + '/fileManage/uploadFile',
|
|
|
data: self.formData,
|
|
|
processData: false, // 告诉jQuery不要去处理发送的数据
|
|
|
contentType: false
|
|
|
})
|
|
|
.done(function(res) {
|
|
|
if (res.code === 200) {
|
|
|
var path = res.data.filePath;
|
|
|
self.uploadCb(path);
|
|
|
self.close();
|
|
|
}
|
|
|
})
|
|
|
.fail(function() {
|
|
|
alert('图片发送失败、点击发送重试!');
|
|
|
})
|
|
|
.always(function() {
|
|
|
self.isSending = false;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
var _bindPrevEvents = function() {
|
|
|
var $prev = self.$preview;
|
|
|
|
|
|
$prev.on('click', '.head-close, .cancel-btn', self.close.bind(self))
|
|
|
.on('click', '.confirm-btn', _upload);
|
|
|
};
|
|
|
|
|
|
var _drawPreview = function(url) {
|
|
|
var $prev = $('.preview-dialog');
|
|
|
var $img = $prev.find('.clip-img');
|
|
|
var len = $img.length;
|
|
|
|
|
|
if (len) {
|
|
|
$img.attr('src', url);
|
|
|
self.$preview = $prev;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
var html = $viewHbs({src: url});
|
|
|
$('body').append(html);
|
|
|
$('.preview-dialog').css('z-index', 1090);
|
|
|
self.$preview = $('.preview-dialog');
|
|
|
|
|
|
// 绑定预览内事件
|
|
|
_bindPrevEvents();
|
|
|
};
|
|
|
|
|
|
var reader = new FileReader();
|
|
|
reader.onload = function(e) {
|
|
|
reader = new FileReader();
|
|
|
reader.onload = function(e) { // eslint-disable-line
|
|
|
var base64 = e.target.result;
|
|
|
var image = new Image();
|
|
|
|
|
|
image.src = base64;
|
|
|
image.onload = function() {
|
|
|
$('.text.msg-area').val(self.input);
|
|
|
_drawPreview(base64);
|
|
|
_drawPreview.bind(self)(base64);
|
|
|
self.open();
|
|
|
};
|
|
|
};
|
...
|
...
|
@@ -152,7 +159,7 @@ Paste.prototype = { |
|
|
var $main = $('.preview-dialog .dialog-main');
|
|
|
|
|
|
// 机器人不支持
|
|
|
if(!view.processInfo.manual) {
|
|
|
if (!view.processInfo.manual) {
|
|
|
return;
|
|
|
}
|
|
|
|
...
|
...
|
|