1.app.js

/**
* koa 中 session 的使用
* 1、npm install koa-session --save
* 2、const session = require('koa-session');
* 3、app.keys = ['some secret hurr'];
* const CONFIG = {
* key: 'koa:sess',
* maxAge: 86400000,
* overwrite: true,
* httpOnly: true,
* signed: true,
* rolling: false,
* renew: false
* }
*
* 4、设置 session
* ctx.session.username = '张三';
* 5、获取 session
* ctx.session.username
*/
// 引入模块
const Koa = require('koa');
const router = require('koa-router')(); /*引入是实例化路由 推荐*/
const render = require('koa-art-template');
const path = require('path');
const session = require('koa-session'); // 实例化
let app = new Koa(); // 配置 koa-art-template 模板引擎
render(app, {
root: path.join(__dirname, 'views'), // 视图的位置
extname: '.html', // 后缀名
debug: process.env.NODE_ENV !== 'production' // 是否开启调试模式
}) // 配置session的中间件
app.keys = ['some secret hurr']; /** cookie的签名 */
const CONFIG = {
key: 'koa:sess', /** 默认 */
maxAge: 86400000, /** cookie的过期时间 【需要修改】*/
overwrite: true, /** (boolean) can overwrite or not (default true) 没有效果 默认*/
httpOnly: true, /** true表示只有服务器端可以获取cookie*/
signed: true, /** 默认 签名 */
rolling: false, /** 在每次请求时强行设置 cookie,这将重置 cookie 过期时间(默认:false) 【需要修改】*/
renew: true, /** (boolean) renew session when session is nearly expired 【需要修改】*/
}
app.use(session(CONFIG, app)); router.get('/', async (ctx) => {
// 获取session
console.log(ctx.session.userinfo);
await ctx.render('index', {
list: {
name: '张三'
}
});
}) router.get('/news', async (ctx) => {
// 获取session
console.log(ctx.session.userinfo);
ctx.body = '新闻页面';
}) router.get('/login', async (ctx) => {
// 设置session
ctx.session.userinfo = '张三';
ctx.body = '登录成功';
}) app.use(router.routes());
app.use(router.allowedMethods()); app.listen(3000);

.

最新文章

  1. Python for Infomatics 第13章 网页服务三(译)
  2. 【代码笔记】iOS-推荐收听,左右两个tableView
  3. RTP、RTCP协议学习-2015.04.15
  4. 定时器的fireDate指的是触发时间
  5. FL2440驱动添加(4)LED 驱动添加
  6. Engine中如何更改矢量图层字段别名?
  7. JS操作cookie以及本地存储(sessionStorage 和 localStorage )
  8. jquery 提示信息显示后自动消失的具体实现
  9. QT VS配置UNICODE问题
  10. image.xx.com 通过haproxy 跳转到内部图片服务器
  11. Drop dual
  12. 当list做gridview的数据源时,可以用泛型来对list进行排序
  13. delphi字符串操作函数一览
  14. 自学Python全栈开发的第二次笔记(Python需要注意的地方)
  15. 开源视频会议系统:OpenMeetings 安装方法
  16. Unity UGUI 小知识
  17. C#复习笔记(5)--C#5:简化的异步编程(异步编程的基础知识)
  18. delphi 的 ORM 框架
  19. Log4j Threshold属性指定输出等级
  20. 如何将购物车信息存到Redis中?

热门文章

  1. vue数组中数据变化但是视图没有更新解决方案
  2. webconfig中的&符号问题解决
  3. ListView 一维排布 动态滑动添加新item代码
  4. OSI七层协议模型、TCP/IP四层模型
  5. Token认证的优势与劣势
  6. SSH服务端
  7. Missing artifact com.sun.jmx:jmxri:jar:1.2.1的解决方法
  8. java程序连接Liunx服务器并且执行命令
  9. 编译gpu集群版caffe
  10. java——适配器模式、策略模式