diff --git a/main.js b/main.js index 59661292..c8a6690b 100644 --- a/main.js +++ b/main.js @@ -63,10 +63,11 @@ var DB = { * @param {Object} params { curUser: 是当前用户 dbPath: string 是用户的dbPath + dataBasePath: string 所有数据的基地址 * } */ ipc.on('db-init', function (event, params) { - db.init(params.curUser, params.dbPath); + db.init(params.curUser, params.dbPath, params.dataBasePath); }); } }; diff --git a/node_modules/api_main.js b/node_modules/api_main.js index 632be557..3ccbfb9a 100644 --- a/node_modules/api_main.js +++ b/node_modules/api_main.js @@ -55,9 +55,7 @@ var Api = { date: 'Mon, 19 Jan 2015 15:01:47 GMT', */ // log(resp.headers); - if(err) { - callback(false); - } else { + else { var typeStr = resp.headers['content-type']; var type = 'png'; if(typeStr) { @@ -68,15 +66,15 @@ var Api = { } var filename = Common.uuid() + '.' + type; - var imagePath = User.getCurUserImagesPath(); + var imagePath = Evt.getCurUserImagesPath(); var imagePathAll = imagePath + '/' + filename; - log(imagePathAll); fs.writeFile(imagePathAll, resp.body, function(err) { if(err) { log(err); log('local save image failed 本地保存失败'); callback(false); } else { + console.log('main save image success'); callback(imagePathAll, filename); } }); diff --git a/node_modules/db_client.js b/node_modules/db_client.js index dea97d16..b5946f5b 100644 --- a/node_modules/db_client.js +++ b/node_modules/db_client.js @@ -7,12 +7,6 @@ var path = require('path'); var Evt = require('evt'); var ipc = require('ipc'); - -var dbPath = Evt.getBasePath() + '/nedb55'; -if(dbPath.length < 6) { - var dbPath = '/Users/life/Library/Application Support/Leanote' + '/nedb2'; -} - // console.log(dbPath); // g, 表全局环境 var db = {}; @@ -29,7 +23,8 @@ for(var i in dbNames) { db.init = function (curUser, dbPath) { ipc.send('db-init', { curUser: curUser, - dbPath: dbPath + dbPath: dbPath, + dataBasePath: Evt.getBasePath() }); }; diff --git a/node_modules/db_main.js b/node_modules/db_main.js index 3774606f..f2502830 100644 --- a/node_modules/db_main.js +++ b/node_modules/db_main.js @@ -5,7 +5,7 @@ var Evt = require('evt_main'); var db = {}; // dbPath是用户的dbPath -db.init = function (curUser, dbPath) { +db.init = function (curUser, dbPath, dataBasePath) { var me = this; var dbNames = [ 'images', @@ -29,7 +29,7 @@ db.init = function (curUser, dbPath) { db._inited = true; // 保存起来 - Evt.init(curUser, dbPath); + Evt.init(curUser, dbPath, dataBasePath); console.log('db inited [main]'); }; diff --git a/node_modules/evt_main.js b/node_modules/evt_main.js index 376805cc..b8b7d28d 100644 --- a/node_modules/evt_main.js +++ b/node_modules/evt_main.js @@ -9,6 +9,14 @@ var Evt = { defaultUrl: 'https://leanote.com', leanoteUrl: 'https://leanote.com', // leanoteUrl: 'http://localhost:9000', + // + dataBasePath: '', + + init: function (curUser, dbPath, dataBasePath) { + this.curUser = curUser; + this.setHost(curUser.Host); + this.dataBasePath = dataBasePath; + }, setHost: function(host) { if(!host) { @@ -26,18 +34,18 @@ var Evt = { return this.leanoteUrl; }, - init: function (curUser, dbPath) { - this.curUser = curUser; - this.setHost(curUser.Host); - }, - getCurUserId: function () { return this.curUser.UserId; }, getToken: function () { return this.curUser.Token; - } + }, + + // 用户的图片路径 + getCurUserImagesPath: function() { + return this.dataBasePath + '/data/' + this.getCurUserId() + '/images';; + }, }; module.exports = Evt; diff --git a/node_modules/file.js b/node_modules/file.js index 1d1974d3..18bd8ea8 100644 --- a/node_modules/file.js +++ b/node_modules/file.js @@ -533,7 +533,7 @@ var File = { // 远程取不到图片, 是没有网络? 还是远程真的没有了 // TODO // console.log("cann't get server's image" + fileId); - // callback(false); + callback(false); // return me.e404(res); } }); diff --git a/node_modules/file_main.js b/node_modules/file_main.js index b8888113..e3bdae32 100644 --- a/node_modules/file_main.js +++ b/node_modules/file_main.js @@ -1,6 +1,8 @@ var fs = require('fs'); var path = require('path'); var db = require('db_main'); +var Api = require('api_main'); +var Evt = require('evt_main'); function log(o) { console.trace(o); @@ -71,11 +73,9 @@ var File = { return callback(false); } - var Api = require('api'); - // 访问api, 得到图片 function getImageFromApi() { - // console.log('fetch servers image ' + fileId); + console.log('main fetch servers image ' + fileId); Api.getImage(fileId, function(fileLocalPath, filename) { if(fileLocalPath) { // console.log('save image to local'); @@ -93,11 +93,12 @@ var File = { // 远程取不到图片, 是没有网络? 还是远程真的没有了 // TODO // console.log("cann't get server's image" + fileId); - // callback(false); + callback(false); // return me.e404(res); } - }); + }); } + // 先查看本地是否有该文件 // has表示本地数据库有记录 me.getImageLocalPath(fileId, function(has, fileLocalPath) { @@ -119,6 +120,40 @@ var File = { getImageFromApi(); } }); + }, + + _addImage: function(fileId, absolutePath, callback, isForce) { + // var absolutePath = Evt.getBasePath() + '/' + path; + // 得到文件大小 + var stat = fs.statSync(absolutePath); + var paths = absolutePath.split('/'); + var name = paths[paths.length-1]; + var names = name.split('.'); + var ext = names[names.length-1]; + var image = { + FileId: fileId, + ServerFileId: '', + Path: absolutePath, + Name: name, + UserId: Evt.getCurUserId(), + Title: name, + Type: ext, + Size: stat && stat.size, + IsDirty: true, // 本地是新添加的 + CreatedTime: new Date() + }; + if(isForce) { + image.ServerFileId = fileId; + } + db.images.insert(image, function(err, doc) { + console.log(err); + console.log(doc); + if(err) { + callback && callback(false); + } else { + callback && callback(doc); + } + }) } }; diff --git a/node_modules/note.js b/node_modules/note.js index 4b290c9c..601875d9 100644 --- a/node_modules/note.js +++ b/node_modules/note.js @@ -1673,7 +1673,10 @@ var Note = { if(!content) { return; } - console.log('syncImages..................'); + + // 这里, 导致file_main不用调用api_main了, 因为这里会调用api处理 + + // console.log('syncImages..................'); // console.log(content); // 得到图片id // var reg = new RegExp(Evt.localUrl + "/api/file/getImage\\?fileId=(.{24})\"", 'g'); @@ -1686,7 +1689,7 @@ var Note = { // console.log(s); if(s && s.length >= 2) { var fileId = s[1]; - console.log('sync image: ' + fileId); + // console.log('sync image: ' + fileId); if(!me.inSyncImage[fileId]) { me.inSyncImage[fileId] = true; File.getImage(fileId, function() { diff --git a/note.html b/note.html index 50512b35..78747d7f 100755 --- a/note.html +++ b/note.html @@ -666,7 +666,7 @@ window.debug = false; - +