【搭建博客服务端部分】第三部分 登录接口

导读:本篇文章讲解 【搭建博客服务端部分】第三部分 登录接口,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

【搭建博客服务端部分】第三部分 登录接口



3. 登录接口

在这里我个人习惯使用ApiPost这个软件进行测试接口,大家可以用自己习惯使用软件

const express = require('express')
const { db, genid } = require('../db/dbUtil')
const {v4:uuidv4}  = require('uuid')
// 创建路由
const router = express.Router()
// 编写路由
router.post('/login', (req, res) => {
    // 解构出前端传入的数据
    const {account,password} = req.body
    // 查找数据库是否有匹配的数据
    // ? 占位,传入的参数需要一一对应
    db.async.all('select * from admin where account = ? AND password = ? ',[account,password]).then(({error,rows}) =>{
        if(error == null && rows.length > 0){
            // 查到用户数据,生成token,给前端返回数据,并且将token存储到数据库中
            let token = uuidv4() // 生成唯一值
            // 下面代码的意思:更新admin这张表,设置token值,条件是id为多少
            db.async.run('UPDATE admin set token = ? where id = ?',[token,rows[0].id])

            let loginInfo = rows[0]
            loginInfo.token = token
            loginInfo.password = null
            res.send({
                code:200,
                msg:'登陆成功!',
                data:loginInfo
            })
        }else{
            // 查不到用户信息,返回失败
            res.send({
                code:500,
                msg:'登录失败!'
            })
        }
    })
})

module.exports = router

接口写法记得到app.js中去注册,通过测试可以实现获取数据,数据库也能够更新

在这里插入图片描述

在这里插入图片描述


总结

以上就是今天要讲的内容,希望对大家有所帮助!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82842.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!