var fs = require('fs'); // var User = require('user'); // var Evt = require('evt'); var ObjectId = require('objectid'); // var gui = require('nw.gui'); // console.log(gui.App); /* // 开发版 process.on('uncaughtException', function (err) { // 打印出错误 console.log('~!!~ uncaughtException ~!!~'); console.log(err); // 打印出错误的调用栈方便调试 console.log(err.stack); }); */ 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; }, // 复制文件 copyFile: function(src, dist, callback) { if(!src || !dist) { return callback && callback(false); } var readStream = fs.createReadStream(src); var writeStream = fs.createWriteStream(dist); readStream.pipe(writeStream); readStream.on('end', function () { callback && callback(true); }); readStream.on('error', function () { callback && callback(false); }); }, inArray: function(arr, item) { var me = this; if(!arr) { return false; } for(var i = 0; i < arr.length; i++) { if(arr[i] == item) { return true; } } return false; }, isImageExt: function(ext) { var me = this; if(!ext) { return false; } ext = ext.toLowerCase(); return me.inArray(['jpg', 'jpeg', 'bmp', 'png', 'gif'], ext); }, // 拆分filePath的各个部分 splitFile: function(fullFilePath) { var ret = { path: "", // a/b name: "", // c.js nameNotExt: "", // a ext: "", // js getFullPath: function() { var me = this; if(me.path) { if(me.ext) { return me.path + '/' + me.nameNotExt + '.' + me.ext; } else { return me.path + '/' + me.nameNotExt; } } else { if(me.ext) { return me.nameNotExt + '.' + me.ext; } else { return me.nameNotExt; } } } } if(!fullFilePath) { return ret; } var strs = fullFilePath.split('/'); if(strs.length == 1) { ret.name = strs; } else { ret.name = strs[strs.length - 1]; strs.pop(); ret.path = strs.join('/'); } var names = ret.name.split('.'); if(names.length > 1) { ret.ext = names[names.length - 1]; names.pop(); ret.nameNotExt = names.join('.'); } else { ret.nameNotExt = ret.name; } return ret; } }; module.exports = Common;