美文网首页
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服务器端各接口代码

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