会话(Session)
为Uma
简化会话中间件。默认为基于 cookie 的会话
快速开始
install
$ npm install -S @umajs/plugin-session
开启服务
请参照插件使用说明开启国际化支持
// plugin.config.ts
export default {
session: {
enable: true,
options: <sessionOptions>{
secret: 'secret',
},
},
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
具体开启方式请参考plugin一节中的配置方式
options
type sessionOptions = {
key: string, // 保存session的Key,默认uma:sess
maxAge: number, // 单位ms, 默认保存1天
secret: string, // 加密签名,默认umasss,注意:不要使用默认值
overwrite: Boolean, // 是否重复覆盖,默认为true
crypto: ICrypto, // 加密/解密方法,需要实现 ICrypto 接口(encrypt / decrypt),实例化后传入
}
1
2
3
4
5
6
7
2
3
4
5
6
7
注意: secret 不要使用默认值
API
set(key, value):
get(key):
remove(key):
ctx.session.set(key, val) // 根据 key,设置 value 到 session 中
ctx.session.get(key) // 根据 key 值获取 session 的值
ctx.session.remove(key) // 删除 session 中的 key 属性
1
2
3
2
3
example
export default class Index extends BaseController {
setss() {
this.ctx.session.set('haha', 'Hello World')
return Result.send('set session done.')
}
getss() {
return Result.send(this.ctx.session.get('haha'))
}
rmss() {
this.ctx.session.remove('haha')
return Result.send('remove session done.')
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15