Egg.js 中 Cookie 的設置和獲取


cookie:
1、可以實現 同一個瀏覽器訪問同一個域的時候 不同頁面之間的數據共享
2、實現數據的持久化 (關閉瀏覽器重新打開以后數據還存在)
第一個參數:cookies的名稱
第二個參數:cookies的值
第三個參數:配置
設置cookie
this.ctx.cookies.set('username', 'zhangsan');
獲取cookie
this.ctx.cookies.get('username');
清除cookie
this.ctx.cookies.set('username', null); // 或者設置 maxAge 過期時間為 0
默認情況:cookies當瀏覽器關閉以后就銷毀了
注意:默認情況下面 egg.js 里面的cookie沒法設置中文
// 如果cookie加密以后就可以設置中文cookie (encrypt: true)
this.ctx.cookies.set('userInfo', '張三', {
  maxAge: 1000*3600*24, // cookie存儲一天 設置過期時間后關閉瀏覽器重新打開cookie還存在
  httpOnly: true, // 僅允許服務獲取,不允許js獲取
  signed: true, // 對cookie進行簽名 防止用戶修改cookie
  encrypt: true // 是否對cookie進行加密 如果cookie加密那么獲取的時候要對cookie進行解密
});

// 獲取加密的cookie
var userInfo = this.ctx.cookies.get('userInfo', {
  encrypt: true
});

路由跳轉:

async loginOut() {
  // 清除cookies
  this.ctx.cookies.set('userInfo', null);

  this.ctx.redirect('/news'); /*路由跳轉*/
}

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM