安装 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: '退出登录成功!' })
})
                 
评论