UNPKG

@ssports_fe/ssutils

Version:
51 lines (41 loc) 1.15 kB
function decode(s) { return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent); } /** * * @desc 根据name读取cookie * @param {String} key * @return {String} */ function getCookie(key, json) { if (typeof document === 'undefined') { return; } let jar = {}; // To prevent the for loop in the first place assign an empty array // in case there are no cookies at all. let cookies = document.cookie ? document.cookie.split('; ') : []; let i = 0; for (; i < cookies.length; i++) { let parts = cookies[i].split('='); let cookie = parts.slice(1).join('='); if (!json && cookie.charAt(0) === '"') { cookie = cookie.slice(1, -1); } try { let name = decode(parts[0]); cookie = decode(cookie); if (json) { try { cookie = JSON.parse(cookie); } catch (e) {} } jar[name] = cookie; if (key === name) { break; } } catch (e) {} } return key ? jar[key] : jar; } module.exports = getCookie;