UNPKG

lenye_base

Version:

基础方法

84 lines (64 loc) 2.05 kB
import isObject from './is_object.js'; import ifnodeorbrowser from './ifnodeorbrowser.js'; import { windows } from './windowsimulate.js'; import http from './url.js'; /** * setCookie / getCookie / deleteCookie * From https://stackoverflow.com/questions/1458724/how-do-i-set-unset-cookie-with-jquery/1458728#1458728 */ var setCookie = {}; if (ifnodeorbrowser === 'node') { // todo /* global global:true */ if (!global['cookie']) { global['cookie'] = {}; } setCookie = (name, value, option) => { global['cookie'][name] = value; }; } else { setCookie = (name, value, option) => { var longTime = 10; if (isObject(value)) { value = JSON.stringify(value); } if (!windows.localStorage) { windows.localStorage.setItem(name, value); } else { var val = encodeURIComponent(value); var cookie = encodeURIComponent(name) + '=' + val; if (option) { if (option.days) { var date = new Date(); var ms = option.days * 24 * 3600 * 1000; date.setTime(date.getTime() + ms); cookie += '; expires=' + date.toGMTString(); } else if (option.hour) { var _date = new Date(); var _ms = option.hour * 3600 * 1000; _date.setTime(_date.getTime() + _ms); cookie += '; expires=' + _date.toGMTString(); } else { var _date2 = new Date(); var _ms2 = longTime * 365 * 24 * 3600 * 1000; _date2.setTime(_date2.getTime() + _ms2); cookie += '; expires=' + _date2.toGMTString(); } if (option.path) { cookie += '; path=' + option.path; } else { cookie += '; path=' + '/'; } if (option.domain) { cookie += '; domain=' + option.domain; } else { cookie += '; domain=' + http.gettopUrl(); } if (option.secure) cookie += '; true'; } windows.document.cookie = cookie; } }; } var setCookie$1 = setCookie; export default setCookie$1;