mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-15 07:31:33 +00:00
91 lines
2.3 KiB
JavaScript
91 lines
2.3 KiB
JavaScript
var fs = require('fs');
|
|
var User = require('user');
|
|
var File = require('file');
|
|
var Evt = require('evt');
|
|
var ObjectId = require('objectid');
|
|
|
|
// var gui = require('nw.gui');
|
|
// console.log(gui.App);
|
|
|
|
function log(o) {console.log(o)}
|
|
// log("<>>>>>>>>>>>>>>>>>>>>");
|
|
var Common = {
|
|
objectId: function() {
|
|
return ObjectId()
|
|
},
|
|
_uuid: 1,
|
|
uuid: function() {
|
|
this._uuid++;
|
|
return ((new Date()).getTime()) + '_' + this._uuid;
|
|
},
|
|
isOk: function(ret) {
|
|
if(!ret) {
|
|
return ret;
|
|
}
|
|
|
|
if(typeof ret == 'object') {
|
|
// 数组
|
|
if('length' in ret) {
|
|
return true;
|
|
}
|
|
if('Ok' in ret && !ret.Ok) { // 指明了Ok
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
},
|
|
// FileReaderWeb 是 web上的FileReader, 可能与nodejs这个有冲突
|
|
pasteImage: function(event, FileReaderWeb, callback) {
|
|
var me = this;
|
|
var items = (event.clipboardData || event.originalEvent.clipboardData).items; // 可能有多个file, 找到属于图片的file
|
|
// find pasted image among pasted items
|
|
var blob;
|
|
for (var i = 0; i < items.length; i++) {
|
|
if (items[i].type.indexOf("image") === 0) {
|
|
blob = items[i].getAsFile();
|
|
}
|
|
}
|
|
// console.log("paste images");
|
|
// console.log(blob);
|
|
// load image if there is a pasted image
|
|
if (blob) {
|
|
// console.log("??");
|
|
var reader = new FileReaderWeb();
|
|
// console.log(">>")
|
|
// console.log(reader);
|
|
// console.log(">>")
|
|
reader.onloadend = function() {
|
|
console.log(reader);
|
|
// 这个事件在读取结束后,无论成功或者失败都会触发
|
|
if (reader.error) {
|
|
console.log(reader.error);
|
|
} else {
|
|
}
|
|
}
|
|
reader.onload = function(e) {
|
|
// 上传之
|
|
// log('result');
|
|
// log(reader.result);
|
|
var ret = reader.result
|
|
ret = ret.replace(/^data:image\/\w+;base64,/, "")
|
|
// log(User.getCurUserImagesPath());
|
|
var filename = me.uuid() + '.png';
|
|
fs.writeFile(User.getCurUserImagesPath() + '/' + filename, new Buffer(ret, 'base64'), function(err) {
|
|
if(err) {
|
|
log(err);
|
|
return;
|
|
}
|
|
// 保存
|
|
var relativePath = User.getCurUserImagesAppPath() + '/' + filename;
|
|
File.addImage(relativePath);
|
|
|
|
callback && callback('app://leanote/' + relativePath);
|
|
});
|
|
};
|
|
reader.readAsDataURL(blob);
|
|
}
|
|
},
|
|
};
|
|
module.exports = Common;
|