# Cookie
[TOC=2,3]
## 获取 cookie
controller 或者 logic 中,可以通过 `this.cookie` 方法来获取。如:
~~~
export default class extends think.controller.base {
indexAction(){
let cookie = this.cookie("theme"); //获取名为 theme 的 cookie
}
}
~~~
http 对象里也提供了 `cookie` 方法来获取 cookie。如:
~~~
let cookie = http.cookie("theme");
~~~
## cookie 配置
cookie 默认配置如下:
~~~
export default {
domain: "",
path: "/",
httponly: false, //是否 http only
secure: false,
timeout: 0 //有效时间,0 为浏览器进程,单位为秒
};
~~~
默认 cookie 是随着浏览器进程关闭而失效,可以在配置文件 `src/common/config/cookie.js` 中进行修改。如:
~~~
export default {
timeout: 7 * 24 * 3600 //将 cookie 有效时间设置为 7 天
};
~~~
## 设置 cookie
controller 或者 logic 中,可以通过 `this.cookie` 方法来设置。如:
~~~
export default class extends think.controller.base {
indexAction(){
this.cookie("theme", "default"); //将 cookie theme 值设置为 default
}
}
~~~
http 对象里也提供了 `cookie` 方法来设置 cookie。如:
~~~
http.cookie("theme", "default");
~~~
如果设置 cookie 时想修改一些参数,可以通过第三个参数来控制,如:
~~~
export default class extends think.controller.base {
indexAction(){
this.cookie("theme", "default", {
timeout: 7 * 24 * 3600 //设置 cookie 有效期为 7 天
}); //将 cookie theme 值设置为 default
}
}
~~~
- 快速入门
- 介绍
- 创建项目
- 项目结构
- 代码规范
- 升级指南
- 进阶应用
- 模块
- 控制器
- 视图
- 配置
- 路由
- 模型
- 介绍
- 事务
- 关联模型
- Mysql
- MongoDB
- SQLite
- Adapter
- 介绍
- Cache
- Session
- WebSocket
- Template
- 扩展功能
- thinkjs 命令
- 静态资源访问
- Middleware
- Service
- Cookie
- 错误处理
- 错误信息
- 数据校验
- 国际化
- 路径常量
- REST API
- 定时任务
- 线上部署
- 推荐模块
- API
- think
- think.base
- think.http.base
- http
- controller
- rest controller
- model
- model.mongo
- middleware