开发中制作登录和保存用户信息在本地,最常用的就是cookie操作
比如我们在作一个登录功能时,希望用户在接下来的一段时间内都不需要重新登录就可以访问资源,这时候就需要我们操作cookie来完成我们的需求
koa2的ctx提供了写入和读取的方法
语法:
ctx.cookies.get(name,[optins]):读取上下文请求中的cookie。
ctx.cookies.set(name,value,[options]):在上下文中写入cookie。
写入和读取的操作:
const Koa = require('koa')
const app = new Koa()
app.use(async(ctx)=>{
if(ctx.url == '/index'){
ctx.cookies.set('name','lval',{
domain:'127.0.0.1',//写入cookie所在的域名
path:'/index', // 写cookie所在的路径
maxAge:1000*60*60*24, // cookie有效时长
expires:new Date('2018-12-31'), // cookie失效时间
httpOnly:false, // 是否只用于http请求中获取
overwrite:false // 是否允许重写
})
ctx.body = 'cookie is ok'
}else{
// 获取cookie
if(ctx.cookies.get('name')){
ctx.body = ctx.cookies.get('name')
}else{
ctx.body = 'cookie is defeated'
}
}
})