let express = require('express')
// 引入读取浏览器带过来的cookie
let cookieparser = require('cookie-parser')
let app = express()
// 中间件
app.use(cookieparser())
// demo 路由不对 cookie 进行任何操作
app.get('/demo', function (req, res) {
res.send('我是demo路由给你的反馈,我没有对cookie进行任何的操作')
})
// 会话 cookie,关闭浏览器即立刻消失
// demo1 路由,负责个客户端"种"下一个 cookie
app.get('/demo1', (req, res) => {
// 1.给客户端种下一个会话cookie
// 2.express 中给客户端"种"cookie不需要任何的库
// cookie 需要的事字符串
let obj = {school: 'zhangsan', subject: 'qianduan'}
res.cookie('peiqi', JSON.stringify(obj)) // 给客户端种下 cookie
res.send('我是 demo1路由给你的反馈,我给你种下了一个会话cookie,你赶紧去浏览器里看看')
});
// demo2路由,负责给客户端"种"下一个持久化 cookie
app.get('/demo2', function (req, res) {
res.cookie('xiaoming', 'hello', {maxAge: 1000 * 30}) // 给客户端种下一个持久化 cookie
res.send('我是demo2路由给你的反馈,我给你种下一个持久化cookie,你赶紧去浏览器看看')
})
// demo3 路由,负责读取客户端所携带过来的 cookie
app.get('/demo3', function (req, res) {
// express 中读取客户端携带过来的 cookie 要借助一个中间件吗,名为: cookie-parser
console.log(req.cookies)
const {peiqi} = req.cookies
let a = JSON.parse(peiqi)
console.log(a.school)
res.send('我是 demo3 路由,我读取了你携带过来的cookie,你去服务器可哦内阁制太')
})
// demo4 路由负责告诉客户端删除一个cookie
app.get('/demo4', function (req, res) {
res.clearCookie('pqiqi')
res.send('兄弟,我删除你所保存的key为peiqi的那个cookie')
})
app.listen(3000, function (err) {
if (!err) console.log('服务器启动成功')
else console.log(err)
})