From b7b58e50230d3eff740a072659b71353ff220cb1 Mon Sep 17 00:00:00 2001 From: luchenqun Date: Mon, 27 Feb 2017 22:51:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E7=AE=97=E8=8E=B7=E5=8F=96favico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/db.js | 2 +- package.json | 1 + routes/api.js | 48 +++++++++++++++++++++++++++++++++++++++--------- schema.sql | 2 +- 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/database/db.js b/database/db.js index a0408fd..9d6b684 100644 --- a/database/db.js +++ b/database/db.js @@ -477,7 +477,7 @@ db.addTags = function(user_id, tags_name) { if (i >= 1) { sql += ',' } - sql += "('"+ user_id +"', '"+ name +"', '88')"; // sort默认一个比较大的值,默认在后面 + sql += "('" + user_id + "', '" + name + "', '88')"; // sort默认一个比较大的值,默认在后面 }); return new Promise(function(resolve, reject) { if (tags_name.length == 0) { diff --git a/package.json b/package.json index 9e48a0a..3aef3e7 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "ejs": "~2.4.1", "express": "~4.13.4", "express-session": "^1.14.1", + "favicon": "^0.0.2", "jsdom": "^9.10.0", "morgan": "~1.7.0", "multer": "^1.3.0", diff --git a/routes/api.js b/routes/api.js index f0d17d1..7c64b70 100644 --- a/routes/api.js +++ b/routes/api.js @@ -7,6 +7,35 @@ var parseHtml = require('../common/parse_html.js'); var multer = require('multer'); var webshot = require('webshot'); var fs = require('fs'); +var favicon = require('favicon'); + +var download = function(url, dest, cb) { + var file = fs.createWriteStream(dest); + var sendReq = request.get(url); + + var error = null; + sendReq.on('response', function(response) { + if (response.statusCode !== 200) { + error = 'Response status was ' + response.statusCode; + } + }); + + sendReq.on('error', function(err) { + fs.unlink(dest); + error = err + }); + + sendReq.pipe(file); + + file.on('finish', function() { + file.close(cb(error)); + }); + + file.on('error', function(err) { + fs.unlink(dest); + error = err.message; + }); +}; var storage = multer.diskStorage({ destination: function(req, file, cb) { @@ -545,13 +574,13 @@ api.post('/uploadBookmarkFile', upload.single('bookmark'), function(req, res) { var tags = []; item.tags.forEach((tag) => { - allTags.forEach((at) => { - if (at.name == tag) { - tags.push(at.id); - } - }) + allTags.forEach((at) => { + if (at.name == tag) { + tags.push(at.id); + } }) - // 插入书签 + }) + // 插入书签 db.addBookmark(userId, bookmark) // 插入书签 .then((bookmark_id) => { db.delBookmarkTags(bookmark_id); // 不管3721,先删掉旧的分类 @@ -796,8 +825,9 @@ api.getSnapByTimer = function() { var id = bookmarks[0].id; var snap_state = bookmarks[0].snap_state; var url = bookmarks[0].url; - var finePath = './public/images/snap/' + id + '.png' - fs.exists(finePath, function(exists) { + var filePath = './public/images/snap/' + id + '.png'; + + fs.exists(filePath, function(exists) { if (exists) { db.updateBookmarkSnapState(id, -1); } else { @@ -812,7 +842,7 @@ api.getSnapByTimer = function() { }, timeout: timeout, }; - webshot(url, finePath, webshotOptions, function(err) { + webshot(url, filePath, webshotOptions, function(err) { var newSnapState = -1; if (err) { console.log("boomarkid = " + id + ", webshot over", err) diff --git a/schema.sql b/schema.sql index 0432b2e..9ae1cda 100644 --- a/schema.sql +++ b/schema.sql @@ -24,7 +24,7 @@ CREATE TABLE `bookmarks` ( `click_count` smallint DEFAULT 1, -- 总共点击次数 `created_at` datetime DEFAULT now(), -- 创建时间 `last_click` datetime DEFAULT now(), -- 最后一次点击时间 - `snap_state` tinyint(8) DEFAULT 0, -- -1:获取成功。0,1,2:获取快照次数。当前天+31:今天不再获取该网页快照 + `snap_state` tinyint(8) DEFAULT 0, -- -1:获取截图成功。-2:获取ico成功。-3:全部获取成功。0,1,2:获取快照次数。当前天+31:今天不再获取该网页快照 PRIMARY KEY (`id`), KEY `userIdIdx` (`user_id`) );