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

本文介绍了一个基于Express的博客登录接口实现方法,通过API Post软件进行测试,并详细解释了如何使用UUID生成唯一标识符作为Token,以及如何在数据库中更新用户状态。

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



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中去注册,通过测试可以实现获取数据,数据库也能够更新

在这里插入图片描述

在这里插入图片描述


总结

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值