美文网首页
node服务器端各接口代码

node服务器端各接口代码

作者: 喜欢豆腐块 | 来源:发表于2019-08-23 04:36 被阅读0次

一、服务器段代码

/加载模块 express pool.js

const express = require("express");

const pool = require("./pool");

//创建服务器对象

var app = express();

//监听端口

app.listen(3000);

//指定静态目录

app.use(express.static("public"));

//加载跨域访问模块

const cors = require("cors");

app.use(cors({

    origin: ["http://127.0.0.1:3001",

        "http://localhost:3001"],

    credentials:true

}));

//对session进行配置

//下载express-session并配置

const session=require("express-session");

app.use(session({

    secret:"128位随机字符",//安全字符串

    resave:false,//每次请求是否都更新数据

    saveUninitialized:true,//初始化保存数据

    cookie:{

        maxAge:1000*60*60*10 //保存10小时

    }

}));

//用户登录

app.post("/login", (req, res) => {

    var uname = req.query.uname;

    var upwd = req.query.upwd;

    var sql = "select id from login  where uname=? and upwd=?";

    pool.query(sql, [uname, upwd], (err, result) => {

        if(err)throw err;

        if (result.length == 0) {

            res.send({ code: -1, msg: "登录失败" });

        } else {

            var id = result[0].id;//获取当前用户Id

            req.session.uid=id;//保存到session中

            res.send({ code: 1, msg: "登录成功!" })

        }

    })

});

//商品搜索

app.get("/search",(req,res)=>{

    var title=req.query.title;

    var sql="SELECT * FROM laptop WHERE title like '%"+title+"%'";

    pool.query(sql, [title], (err, result) => {

        console.log(sql)

        if (err) throw err;

        if(result.length==0){

            res.send({code:-1,msg:"找不到该商品"})

        }else{

            res.send({ code: 1, data: result });

        }

    })

});

//查询购物车列表

app.get("/cart",(req,res)=>{

var uid=req.session.uid;

console.log(uid)

var pid=req.query.pid;

var sql="select cart.id, lpic, num,cart.price,";

sql+=" title";

sql+=" from cart,laptop";

sql+=" where laptop.id=cart.pid";

sql+=" and cart.uid=?";

pool.query(sql,[uid],(err,result)=>{

    if(err)throw err;

    res.send({code:1,data:result});

})

});

//判断用户已登录,跳转到购物车页面,否则不跳转

app.get("/concart",(req,res)=>{

    if(!req.session.uid){

        res.send({code:-1,msg:"未登录,无法进入购物车"});

        return;

    }else{

        var uid=parseInt(req.session.uid);

        var sql="select * from login where id=?"

        pool.query(sql,[uid],(err,result)=>{

            if(err)throw err;

            res.send({code:1,data:result});

            console.log(result);

        })

    }

})

//将商品添加到购物车

app.get("/addcart",(req,res)=>{

    if(!req.session.uid){

    res.send({code:-1,msg:"请登陆"});

    return;

    }else{

      var uid=parseInt(req.session.uid);

      var pid=parseInt(req.query.pid);

      var num=1;

      var price=req.query.price;

      var sql="select id from cart where pid=? and uid=?";

      pool.query(sql,[pid,uid],(err,result)=>{

          if(err)throw err;

          if(result.length==0){

            var sql=`insert into cart values(null,${num},${price},${pid},${uid})`

          }else{

              var sql=`update cart set num=num+1 where pid=${pid} and uid=${uid}`;

          }

          pool.query(sql,(err,result)=>{

              if(err)throw err;

              if(result.affectedRows>0){

                  res.send({code:1,msg:"添加到购物车成功"});

              }else{

                res.send({code:-1,msg:"添加到购物车失败"});

              }

          })

      })

    }

});

//删除购物车商品

app.get("/del",(req,res)=>{

    //获取参数id

    var id=req.query.id;

    var sql="delete from cart where id=?";

    pool.query(sql,[id],(err,result)=>{

        if(err)throw err;

        if(result.affectedRows>0){

            res.send({code:1,msg:"删除成功"});

        }else{

            res.send({code:-1,msg:"删除失败"});

        }

    })

})

//个人中心

app.get("/me",(req,res)=>{

    if(!req.session.uid){

        res.send({code:-1,msg:"请登陆"});

      }else{

        var uid=req.session.uid;

        var sql="select * from login where id=?";

        pool.query(sql,[uid],(err,result)=>{

        if(err)throw err;

      res.send({code:1,data:result});

    })

      }

});

//退出登录状态

app.get("/esc",(req,res)=>{

    var id = 0;//获取当前用户Id

    req.session.uid=id;//保存到session中

    res.send({ code: 1, msg: "成功退出" })

});

//获取商品评论列表

app.get("/info",(req,res)=>{

    var uid=req.query.uid;

    //console.log(uid)

    var sql="select * from info where uid=?";

    pool.query(sql,[uid],(err,result)=>{

        if(err)throw err;

      res.send({code:1,data:result});

    })

})

//用户注册

app.post("/butrest",(req,res)=>{

    var uname=req.query.uname;

    var upwd=req.query.upwd;

    var sql="select * from login where uname=?";

    pool.query(sql,[uname],(err,result)=>{

      if(err)throw err;

      if(result.length!=0){

        res.send({code:-1,msg:"该用户已经存在,禁止注册!"});

      }else{

        var sql=" insert into login values(null,?,?,'img/touxiang/01.png')";

        pool.query(sql,[uname,upwd],(err,result)=>{

            console.log(result)

        if(err) throw err;

      if(result.length==0){

        res.send({code:-1,msg:"注册失败"});

      }else{

        res.send({code:1,msg:"注册成功!"});

      } 

    })

      }

    })

})

//推荐商品,查询商品PID=1的所有商品

app.get("/recommend", (req,res) => {

    var uid = req.query.pid

    var sql="select * from laptop where uid=?";

    //var sql ="select id,title,price,lpic";

    //sql +=" from laptop where uid=?";

    pool.query(sql, [uid], (err, result) => {

        if (err) throw err;

        res.send({ code: 1, data: result });

    })

});

//商品详情

app.get("/deta",(req,res)=>{

    var id=req.query.lid;

    console.log(id);

    //var sql="select * from laptop, detail where laptop.lid=detail.id and laptop.lid="+id;

    var sql='select * from laptop,detail where laptop.id=detail.id and laptop.id=?';

    pool.query(sql,[id],(err,result)=>{

        if (err) throw err;

        res.send({ code: 1, data: result });

    })

});

//获取商品详情图片

app.get("/detals",(req,res)=>{

    var pid=req.query.pid;

    var sql="select img_dg from shopxq where pid=?";

    pool.query(sql,[pid],(err,result)=>{

        if(err) throw err;

        res.send({code:1,data:result});

    })

})

//商品分页显示

app.get("/laptop", (req, res) => {

    var pno = req.query.pno;

    var pageSize = req.query.pageSize;

    if (!pno) { pno - 1 }

    if (!pageSize) { pageSize = 7 }

    var sql = "select * from laptop";

    var offset = (pno - 1) * pageSize;

    pageSize = parseInt(pageSize);

    pool.query(sql, [offset, pageSize], (err, result) => {

        if (err) throw err;

        res.send({ code: 1, data: result });

    })

});

//咨询栏目

app.get("/zixun",(req,res)=>{

    var sql="select id,title,nr from zixun";

    pool.query(sql,(err,result)=>{

        if(err)throw err;

        res.send({code:1,data:result});

    })

});

//轮播图

app.get("/imagelist", (req, res) => {

  var list = [

        { id: 1, img_url: "http://127.0.0.1:3000/img/lunbo/01.jpg" },

        { id: 2, img_url: "http://127.0.0.1:3000/img/lunbo/02.jpg" },

        { id: 3, img_url: "http://127.0.0.1:3000/img/lunbo/03.jpg" },

        { id: 4, img_url: "http://127.0.0.1:3000/img/lunbo/04.jpg" },

    ];

    res.send(list);

});

二、数据库连接文件

//引入mysql库

const mysql=require("mysql");

//创建连接池

var pool=mysql.createPool({

    host:"127.0.0.1",//服务器端地址

    user:"root",//服务器用户名

    password:"",//服务器密码

    database:"hbz12330",//数据库名称

    port:3306,数据库端口号

    connectionLimit:50

});

module.exports=pool;

相关文章

  • node服务器端各接口代码

    一、服务器段代码 /加载模块 express pool.js const express = require("e...

  • MQTT mosca服务端和客户端搭建

    mosca node服务器端代码 1、创建index.js 安装依赖mosca

  • 接口自动化测试2019-08-01

    1.接口分为内部接口和外部接口: -内部接口:服务器端内部代码交互时用到的接口,如白盒测试就是测内部接口; -...

  • Node.js安装配置

    关于Node.js Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScri...

  • NPM简介与基本使用

    说到 NPM,就不得不提到 Node.js。 Node.js 是一个开放源代码、跨平台的、可用于服务器端和网络应用...

  • AJAX基础

    AJAX基础 没有服务器请求的接口,可以安装node和node.js的框架express来写服务器文件,练习代码[...

  • Node.js中使用siege性能测试(Windows中以Exp

    一、node.js性能测试express的restful接口测试代码:https://github.com/dpc...

  • npm 相关介绍

    介绍 Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript 执行环境...

  • 初识 Node

    什么是 Node? 简单来说 Node.js 就是运行在服务器端的 Javascript . Node 应用组成?...

  • Node.js简介

    Node.js 是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。 N...

网友评论

      本文标题:node服务器端各接口代码

      本文链接:https://www.haomeiwen.com/subject/jubasctx.html