UNPKG

1.27 kBJavaScriptView Raw
1/**
2 * 设置 cookie
3 * @param {String} localeId
4 * @param {Object} ctx Koa context
5 */
6module.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}