安装 express-session
npm i express-session
创建 web 服务器
// 导入 express 模块
const express = require('express')
// 创建 web 服务器
const app = express()
// 启动服务器
app.listen(80, () => {
console.log('http://127.0.0.7')
})
配置并注册 session 中间件
// 配置 session 中间件
const session = require('express-session')
// 注册 session 中间件
app.use(session({
secret: 'itheima',
resave: false,
saveUninitialized: true
}))
向 session 中存数据
// 登录的 API 接口
app.post('/api/login', (req, res) => {
// 判断登录信息是否正确
if (req.body.username != 'admin' || req.body.password != '000000') {
return res.send({ status: 1, msg: '登陆失败!' })
}
// 登录成功,将用户信息保存到 session
req.session.user = req.body // 用户的信息
req.session.islogin = true // 用户的登录状态
res.send({ status: 0, msg: '登录成功!' })
})
从 session 中取数据
// 获取用户名称的接口
app.get('/api/username', (req, res) => {
// 从 session 中获取用户的名称,响应给客户端
// 判断用户是否已登录
if (!req.session.islogin) {
return res.send({ status: 1, msg: '请先登录!' })
}
res.send({ status: 0, msg: '您已登录!', username: req.session.user.username })
})
清空 session
// 退出登录的接口
app.post('/api/logout', (req, res) => {
// 清空 session 信息
req.session.destroy()
res.send({ status: 0, msg: '退出登录成功!' })
})
评论