安装
npm i koa-session
import Koa from 'koa'
import Router from '@koa/router'
import Session from 'koa-session'
const hostname = "127.0.0.1"
const port = 8008
const app = new Koa()
const router = new Router() //实例化一个 Router 对象
//koa-session 默认将 session 数据存储在客户端的 cookie 中
app.keys = ['session.dengruicode.com'] //设置会话签名的密钥
const CONFIG = {
key: 'DR', //存储在 cookie 中的键名
maxAge: 24 * 60 * 60 * 1000, //24小时 有效期(单位:毫秒)
signed: true, //是否启用会话签名, 用于防止CSRF攻击
secure: false, //是否仅通过 https 协议发送 cookie
}
app.use(Session(CONFIG, app))
router.get('/', async ctx => {
//赋值
ctx.session.name = "邓瑞"
ctx.session.url = "dengruicode.com"
if(!ctx.session.user){
ctx.session.user = 100
}else{
ctx.session.user++
}
//取值
let name = ctx.session.name
console.log("name:",name)
//删除
//ctx.session = null //清空
//delete ctx.session.name //删除 session 中的 name 属性
ctx.body = "用户:" + ctx.session.user
})
app.use(router.routes()) //将定义在 router 对象中的路由规则添加到 app 实例中
app.listen(port, hostname, () => {
console.log(`服务器已启动: http://${hostname}:${port}`)
})