From 4da94566f65002be1990999c80d841be6b736f9f Mon Sep 17 00:00:00 2001 From: luchenqun Date: Tue, 8 Nov 2016 17:10:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8promise=E6=94=B9=E5=86=99mysq?= =?UTF-8?q?l=E8=AF=AD=E5=8F=A5=EF=BC=8C=E8=B5=B0=E5=87=BA=E5=8F=AF?= =?UTF-8?q?=E6=81=B6=E7=9A=84=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/db.js | 20 ++++++++++-- routes/api.js | 85 ++++++-------------------------------------------- 2 files changed, 26 insertions(+), 79 deletions(-) diff --git a/database/db.js b/database/db.js index ddee633..e31c478 100644 --- a/database/db.js +++ b/database/db.js @@ -1,12 +1,13 @@ var mysql = require('mysql'); var client = mysql.createConnection({ - host: '127.0.0.1', - user: 'lcq', - password: 'fendoubuxi596320', + host: '127.0.0.1' || '172.24.13.5', + user: 'lcq' || 'root', + password: 'fendoubuxi596320' || 'root123', database: 'mybookmarks', multipleStatements: true, port: 3306 }); + client.connect(); var db = { @@ -65,4 +66,17 @@ db.updateLastUseTags = function(user_id, tags) { }); } +db.clickBookmark = function(id){ + var sql = "UPDATE `bookmarks` SET `click_count`=`click_count`+1, `last_click`=now() WHERE (`id`='" + id + "')"; + return new Promise(function(resolve, reject) { + client.query(sql, (err, result) => { + if (err) { + reject(err); + } else { + resolve(id); + } + }); + }); +} + module.exports = db; diff --git a/routes/api.js b/routes/api.js index 5a053d0..451ddcf 100644 --- a/routes/api.js +++ b/routes/api.js @@ -6,11 +6,11 @@ var https = require('https'); var cheerio = require('cheerio'); var request = require('request'); var iconv = require('iconv-lite'); -var db = require('./database/db.js'); +var db = require('../database/db.js'); var client = mysql.createConnection({ - host: '127.0.0.1', - user: 'lcq', - password: 'fendoubuxi596320', + host: '127.0.0.1' || '172.24.13.5', + user: 'lcq' || 'root', + password: 'fendoubuxi596320' || 'root123', database: 'mybookmarks', multipleStatements: true, port: 3306 @@ -18,13 +18,6 @@ var client = mysql.createConnection({ client.connect(); api.post('/getTitle', function(req, response) { - // request - // .get('https://www.baidu.com/') - // .on('response', function(response) { - // console.log(response.statusCode) // 200 - // console.log(response.headers) // 'image/png' - // }) - var params = req.body.params; var url = params.url; @@ -64,22 +57,6 @@ api.post('/getTitle', function(req, response) { title: title || '', }); }) - - // var httpGet = url.indexOf("https") >= 0 ? https : http; - // httpGet.get(url, function(res) { - // var html = ''; - // res.on('data', function(data) { - // html += data; - // }); - // res.on('end', function() { - // var $ = cheerio.load(html); - // var title = $("title").text(); - // console.log(title, response.headers['content-type']); - // response.json({ - // title: title || '', - // }); - // }); - // }); }) api.post('/logout', function(req, res) { @@ -267,55 +244,11 @@ api.post('/addBookmark', function(req, res) { var params = req.body.params; var user_id = '1'; var tags = params.tags; - var sql = "INSERT INTO `bookmarks` (`user_id`, `title`, `description`, `url`, `public`, `click_count`) VALUES ('" + user_id + "', '" + params.title + "', '" + params.description + "', '" + params.url + "', '" + params.public + "', '1')"; - console.log(sql); - client.query(sql, function(err, result) { - if (err) throw err; - var insertId = result.insertId; - - sql = "INSERT INTO `tags_bookmarks` (`tag_id`, `bookmark_id`) VALUES"; - for (var i = 0; i < tags.length; i++) { - if (i >= 1) { - sql += ',' - } - sql += "('" + tags[i] + "', '" + insertId + "')"; - } - client.query(sql, function(error, result, fields) { - if (error) { - res.json({ - error: 'error tags' - }); - } else { - sql = "UPDATE tags SET last_use = NOW() WHERE user_id = '" + user_id + "' AND id in ("; - for (var i = 0; i < tags.length; i++) { - if (i >= 1) { - sql += ',' - } - sql += "'" + tags[i] + "'"; - } - sql += ')' - console.log(sql); - client.query(sql, function(error, result1, fields) { - if (error) { - res.json({ - error: 'error tags' - }); - } else { - res.json({ - hello: 'success' - }); - } - }) - - } - }) - - console.log(result.insertId); - }); - - // res.json({ - // a: 'i love this world, too!' - // }); + db.insertBookmark(user_id, params) // 插入书签 + .then((bookmark_id) => db.insertTagsBookmarks(tags, bookmark_id)) // 插入分类 + .then(() => db.updateLastUseTags(user_id, tags)) // 更新最新使用的分类 + .then(() => res.json({})) // 运气不错 + .catch(() => console.log('fail')); // ops! }); api.post('/addTags', function(req, res) {