简单的后台管理:登录+注册接口

所需:Express+MySQL数据库 +Vue

首先在Express创建服务端并且连接数据库

// 连接数据库
var mysql = require('mysql');
var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'webdemo01'
});

// 调用连接数据库
connection.connect();

在解决跨域问题

// 解决跨域问题
app.all("*",function(req,res,next){
    // 设置允许跨域的域名,*代表允许任意域名跨域
    res.header('Access-Control-Allow-Origin','*');
    // 允许的header类型
    res.header('Access-Control-Allow-Headers','content-type');
    // 跨域允许的请求方式
    res.header('Access-Control-Allow-Methods','DELETE,PUT,POST,GET,OPTIONS');
    if(req.method.toLowerCase() == 'options')
        res.send(200); // 让options 尝试请求快速结束
    else
        next();
})

先写一个Post注册接口

app.post('/enroll',function(req,res){

}

注册接口思路是:向数据库查询有没有相同的用户名,如果有则返回注册失败,没有则注册成功

    // 向数据库查询用户名
    var addSql = "select * from `users` where `account` = ?";
    var addSqlParams = [req.body.account];

    connection.query(addSql,addSqlParams,function(err,result){
        if(err){ 
            console.log("[INSERT ERROR] - ",err.message);
            return;
        }

 查询完后判断数据库返回服务端的数据是否是空列表,如果是空列表 则数据库没查到该用户名 否则就是查到了

        // 拿到数据库返回来的结果判断长度是否为零, 如果不为零则就是已经有用户名了
        if(result.length != 0){
            console.log(result);
            res.send({conde:'-1',msg:'用户已存在'})
        }else{
            console.log(result);
            // 向数据库添加账号和密码
            var addSql = "INSERT INTO `users`(`account`,`pwd`) VALUES(?,?)";
            var addSqlParams = [req.body.account,req.body.pwd];
            // 增
            connection.query(addSql,addSqlParams,function(err,result){
                if(err){
                    console.log("[INSERT ERROR] - ",err.message);
                    res.send({code:-2,msg:"注册失败"});
                    return;
                }
                res.send({conde:1,msg:"注册成功"});
            });
        }

这样注册接口就写好了

登录接口其实和注册接口有一异曲同工之处

也是先向数据库上传账号和密码, 然后让数据库进行对比, 如果对比完数据库返回来是空列表, 则为账号密码错误, 反之则为登陆成功

// 登录接口
app.post('/login',function(req,res){
    // console.log(req.body);

    let loginSuc = false

    var addSql = "select * from `users` where `account` = ? and `pwd` = ?";
    var addSqlParams = [req.body.account,req.body.pwd];
    // 增
    connection.query(addSql,addSqlParams,function(err,result){
        if(err){
            console.log("[INSERT ERROR] - ",err.message);
            res.send({code:-2,msg:"登录失败"});
            return;
        }
        if(result.length != 0){

            res.send({conde:1,msg:"登陆成功"});
            loginSuc = true
            
        }else{
            res.send({conde:-1,msg:"账号或密码错误"})
        }
        console.log(result);
    });


})

可能我写的没有那些大佬的后台登陆那么完善, 比较适合新手练练

立志成为全栈! 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值