ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

koa-cookie

2021-06-25 20:04:29  阅读:178  来源: 互联网

标签:koa list app ctx cookie userinfo router


1、app.js

var Koa = require('koa')
    router = require('koa-router')()
    render = require('koa-art-template')
    path = require('path')

app = new Koa()

render(app, {
    root: path.join(__dirname, 'views'),  //视图的位置
    extname: '.html',   //后缀名
    debug: process.env.NODE_ENV !=='production'  //是否开启调试模式
})

router.get('/', async (ctx)=>{
    //koa中无法设置中文的cookie,采用base64编码
    let username = Buffer.from('李起桉').toString('base64')    
    ctx.cookies.set('userinfo', username, {
        maxAge: 60*1000*60,
        //path: '/name', //配置可以访问的页面
        //domain: '.baidu.com',  //正常情况下不要设置,默认就是当前域下面的所有页面都可以访问
        //a.baidu.com和b.baidu.com共享cookie的数据
        //httpOnly: false,  //true表示cookie只有服务器端可以访问,false表示客户端(js)、服务器端都可以访问

    })

    let list = {
        name: 'lee'
    }
    await ctx.render('index',{
        list: list
    })
})
router.get('/news', async (ctx)=>{

    var data = ctx.cookies.get('userinfo')
    //koa无法转换成中文,采用base64编码
    var userinfo = Buffer.from(data, 'base64').toString()
    console.log(userinfo)
    let list = {
        name: 'qian',
    }
    await ctx.render('news',{
        list: list
    })
})

router.get('/shop', async (ctx)=>{
    var userinfo = ctx.cookies.get('userinfo')
    ctx.body = "这是一个商品页面,用户为:"+userinfo
})

app.use(router.routes())  //启动路由
app.use(router.allowedMethods()) 
app.listen(3000)

2、index.html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="css/basic.css"/>
    <script>
        // httpOnly:true 客户端拿不到cookies
        console.log(document.cookie)
    </script>
</head>
<body>
    <h2 class="header">这是一个主页面</h2>
    {{list.name}}   <!--art-template语法 --> 
    </hr>
</body>
</html>

 

标签:koa,list,app,ctx,cookie,userinfo,router
来源: https://www.cnblogs.com/zjqzilq/p/14932334.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有