用nodejs实现登录页面---实现php的功能

首先安装npm工具,该工具node.js已经集成,打开cmd,输入:npm install
下载第三方模块的命令:
 进入:www.npmjs.org

 npminstall mysql          第三方管理mysql数据模块

   npm install express         第三方管理http请求

   npm install express-session  第三方管理session

   npm install body-parser     第三方处理post请求数据

   npm install cors            第三方处理跨域请求

express 是一个基于nodejs中http协议的高层模块,简化web服务器端应用开发v4版本中定义
express是一个用于接收客户端请求,返回相应消息的工具。www.expressjs.com.cn
下载express  npm install express

//nodejs 登录
//1:加载对应模块
//  http
//  express
//  mysql
//  body-parser  处理post请求参数
const http = require("http");//加载模块
const express = require("express");//加载express模块
const mysql = require("mysql");//加载数据库模块
const bodyParser = require("body-parser");
//2:创建连接池
var pool = mysql.createPool({
  host:"127.0.0.1",
  user:"root",
  password:"",
  database:"yijian",
  port:3306,
  connectionLimit:25
});
//3:创建服务器 3000
var app = express();
var server = http.createServer(app);
server.listen(3000);
//4:加载静态目录 public
app.use(express.static("public"));
//5:配置 body parser
app.use(bodyParser.urlencoded({extended:false}));

//6:处理登录请求 
//post /login  req.body.uname  req.body.upwd
app.post("/login",(req,res)=>{
    var uname = req.body.uname;
    var upwd = req.body.upwd;


    var sql = "SELECT uid FROM yi_user";
    sql += " WHERE uname = ? AND upwd = ?";
    pool.getConnection((err,conn)=>{
      if(err)throw err;
      conn.query(sql,[uname,upwd],(err,result)=>{
             if(err)throw err;
             if(result.length>0){
               res.json({code:1,msg:"登录成功"});
             }else{
               res.json({code:-1,msg:"用户名密码有误"});
             }
      });
    })
});


//6:处理登录请求   15:52--16:02
//get /userlist
//#pno       当前页码
//#pageSize  页大小
//{
//  pno:1,
//  pageSize:8,
//  data:[],
//  pageCount:6
//}
app.get("/userlist",(req,res)=>{
  var output = {
    pno:1,        //当前页数
    pageSize:1,   //页大小
    pageCount:1,  //总页数
    data:[]       //当前页内容
  };


  //解决一个问题:
  //发送二条sql语句,希望都执行完成再发送json
  var progress = 0;
  var pno = req.query.pno;
  var pageSize = req.query.pageSize;
  if(!pno){
    pno = 1;
  }
  if(!pageSize){
    pageSize = 8;
  }
  var sql = " SELECT uid,uname,email,phone";
  sql += " FROM yi_user LIMIT ?,?";


  //造型整型数值
  var offset = parseInt((pno-1)*pageSize);
  pageSize = parseInt(pageSize);


  pool.getConnection((err,conn)=>{
    if(err)throw err;
    conn.query(sql,[offset,pageSize],(err,result)=>{
    if(err)throw err;
    output.pno = pno;          //当前页数
    output.pageSize = pageSize;//页大小
    output.data = result       //当前页内容
    progress += 50;
    if(progress == 100) {
      res.json(output);
    }
    conn.release();     //关闭连接
    });//query end
  });//conn end
  pool.getConnection((err,conn)=>{
    if(err)throw err;
    var sql = "SELECT count(uid) AS c";
    sql += " FROM yi_user";
    conn.query(sql,(err,result)=>{
      if(err)throw  err;
      var count = result[0]["c"];
      output.pageCount = Math.ceil(count/output.pageSize);
      progress += 50;
      if(progress==100) {  //
        res.json(output);
      }
      conn.release();
    });
  });
});




//模块二:删除指定用户
//17:30--17:40
//更新:  (expire=='0'=>'1')
app.get("/userdel",(req,res)=>{
  var uid = parseInt(req.query.uid);
  pool.getConnection((err,conn)=>{
    if(err)throw err;
    var sql = "UPDATE yi_user SET expire = '1'";
    sql += " WHERE uid = ? AND expire = '0'";
    conn.query(sql,[uid],(err,result)=>{
      if(err)throw err;
      if(result.affectedRows>0){
        res.json({code:1,msg:"删除成功"});
      }else{
        res.json({code:-1,msg:"删除失败"});
      }
      conn.release();
    });
  });
});

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十里长亭jj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值