1 | /**
|
2 | * 设置 cookie
|
3 | * @param {String} localeId
|
4 | * @param {Object} ctx Koa context
|
5 | */
|
6 | module.exports = (localeId, ctx) => {
|
7 |
|
8 | const maxDate = 365
|
9 | const options = {}
|
10 | if (typeof process.env.KOOT_I18N_COOKIE_DOMAIN === 'string' &&
|
11 | process.env.KOOT_I18N_COOKIE_DOMAIN) {
|
12 | options.domain = process.env.KOOT_I18N_COOKIE_DOMAIN
|
13 | }
|
14 |
|
15 | if (__CLIENT__) {
|
16 | if (localeId && typeof document !== 'undefined' && typeof document.cookie !== 'undefined') {
|
17 | require('js-cookie').set(
|
18 | process.env.KOOT_I18N_COOKIE_KEY,
|
19 | localeId,
|
20 | {
|
21 | expires: maxDate,
|
22 | ...options
|
23 | }
|
24 | )
|
25 | }
|
26 | }
|
27 |
|
28 | if (__SERVER__) {
|
29 | // TODO: set cookie on server
|
30 | // console.log('ctx.host', ctx.host)
|
31 | // console.log('ctx.hostname', ctx.hostname)
|
32 | // console.log(process.env.KOOT_I18N_COOKIE_KEY, localeId, { domain: ctx.hostname, ...options })
|
33 | // ctx.cookies.set(process.env.KOOT_I18N_COOKIE_KEY, localeId, {
|
34 | // domain: ctx.hostname,
|
35 | // maxAge: maxDate * 24 * 60 * 60 * 1000,
|
36 | // signed: false,
|
37 | // ...options
|
38 | // })
|
39 | }
|
40 | }
|