【搭建博客服务端部分】第三部分 登录接口
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