node.js 从入门到?

 

1. 安装 node.js 环境

node.js 官网: http://nodejs.cn/download/

从node.js官网下载安装包,打开一直执行下一步下一步,不要太简单~。

 

2. 安装编辑器IDE

首推 vscode, 免费、轻便且强大。

VSCode 官网:https://code.visualstudio.com/

 

3. 使用 node.js 写api接口

安装依赖包:npm install express --save

安装post请求依赖包:npm install body-parse

在文件中导入依赖包:

               const express = require('express')

               const bodyParser = require('body-parser')

 

Example code:

main.js

/*
 * @Descripttion: 
 * @version: 
 * @Author: CK 
 * @Date: 2019-11-06 20:34:19
 * @LastEditors: CK 
 * @LastEditTime: 2019-11-06 20:42:41
 */
const express = require('express')
const app = express()
const bodyParser = require('body-parser')
const db = require('./plug/db');
app.use(bodyParser.urlencoded({ extended: false }));  //设置URL

app.get('/test')

app.post('/insExchange',(req,res)=>{
    var req_data = req.body;
    var mt_exchange_id = req.body.exchange_id
    var exchange_name = req.body.exchange_name
    var exchange_alias = req.body.exchange_alias
    var pair_one = req.body.pair_one
    var pair_one_name = req.body.pair_one_name
    var pair_two = req.body.pair_two
    var price_pair = req.body.price_pair
    var price_usd =req.body.price_usd
    var price_cny = req.body.price_cny
    var price_change = req.body.price_change
    var volume_24h = req.body.volume_24h
    var volume_24h_usd = req.body.volume_24h_usd
    var market_cap_cny = req.body.market_cap_cny
    var market_cap_usd = req.body.market_cap_usd
    
    // let sql = "SELECT `id` FROM exchange WHERE m_id='"+req_data.exchange_id+"'";
    let sql = "SELECT `id`, `logo` FROM exchange WHERE m_id=?;"
    db.query(sql, [mt_exchange_id], function(err, rows){
        console.log(rows)

        if (rows.length > 0){
            // 如果exchange存在,查询判断交易对是否存在,存在update, 不存在insert
            var exchange_id = rows[0].id
            var cover_pic = rows[0].logo
            // let sql = "SELECT `id` FROM exchanges_pair WHERE pair_one='"+req_data.pair_one+"'and pair_two='"+req_data.pair_two+"' and exchange_id="+rows[0].id
            let sql = "SELECT `id` FROM exchanges_pair WHERE pair_one=? and pair_two=? and exchange_id=?;"
            let sql_param = [req_data.pair_one, req_data.pair_two, rows[0].id]
            console.log('sql_param:', sql_param)

            db.query(sql, sql_param, function (err, rows) {
                console.log('--2:', rows)
                if (rows.length > 0){
                    // let update_sql = "UPDATE exchanges_pair SET price_pair='"+price_pair+"', price_usd='"+price_usd+"', price_cny='"+price_cny+"', price_change='"+price_change+"',volume_24h='"+volume_24h+"', volume_24h_usd='"+volume_24h_usd+"', market_cap_usd='"+market_cap_usd+"', market_cap_cny='"+market_cap_cny+"' WHERE pair_one='"+pair_one+"', and pair_two='"+pair_two+"' and exchange_id='"+exchange_id+"'"
                    let update_sql = "UPDATE exchanges_pair SET price_pair=?, price_usd=?, price_cny=?, price_change=?,volume_24h=?, volume_24h_usd=?, market_cap_usd=?, market_cap_cny=? WHERE pair_one=? and pair_two=? and exchange_id=?;"
                    let sql_param = [price_pair, price_usd, price_cny, price_change, volume_24h, volume_24h_usd, market_cap_usd, market_cap_cny, pair_one, pair_two, exchange_id]
                    db.query(update_sql, sql_param, function(err, rows){
                        console.log('update_sql:', update_sql, sql_param)
                        if (err){
                            console.log('err update sql:', err)
                            res.send({'code': 500, 'err': err})
                            return;
                        }
                        res.send({'code': 200})
                        return;

                    })
                }else{
                    // insert sql
                    let insert_sql = "INSERT INTO exchanges_pair(exchange_id, pair_one, pair_one_name, pair_two, exchange_name, exchange_alias, price_pair, price_usd, price_cny, price_change, volume_24h, volume_24h_usd, market_cap_usd, market_cap_cny, cover_pic) VALUE(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
                    let sql_param = [exchange_id, pair_one, pair_one_name, pair_two, exchange_name, exchange_alias, price_pair, price_usd, price_cny, price_change, volume_24h, volume_24h_usd, market_cap_usd, market_cap_cny, cover_pic]
                    db.query(insert_sql, sql_param, function(err, rows){
                        if (err){
                            console.log('err update sql:', err)
                            res.send({'code': 500, 'err': err})
                            return;
                        }
                        res.send({'code': 200})
                        return;
                    })
                }
            })

        }else{
            res.send({'code': 200})
        }

    })
    // console.log(req_data)
    // res.send(req_data);
})


app.listen(3000, () => console.log('Example app listening on port 3000!'))

 

4. 启动程序

测试: node main.js

部署:pm2 start main.js    (pm2 安装命令: npm install -g pm2)

 

 

--- END ---

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值