From eca74d14b36dffddae3bc961e03158be0dab74e3 Mon Sep 17 00:00:00 2001 From: bobi Date: Fri, 1 Nov 2019 21:29:30 +0800 Subject: [PATCH] add:okCookir --- lib/layui/lay/okmodules/okCookie.js | 121 ++++++++++++++++++++++++++++ lib/layui/lay/okmodules/okMd5.js | 4 + lib/layui/layui.js | 1 + pages/tripartite/okCookie.html | 29 +++++++ pages/tripartite/okMd5.html | 22 +++-- 5 files changed, 169 insertions(+), 8 deletions(-) create mode 100644 lib/layui/lay/okmodules/okCookie.js create mode 100644 lib/layui/lay/okmodules/okMd5.js create mode 100644 pages/tripartite/okCookie.html diff --git a/lib/layui/lay/okmodules/okCookie.js b/lib/layui/lay/okmodules/okCookie.js new file mode 100644 index 0000000..1fc9e19 --- /dev/null +++ b/lib/layui/lay/okmodules/okCookie.js @@ -0,0 +1,121 @@ +layui.define(["jquery"], function (exports) { + let jQuery = layui.jquery; + (function ($) { + /*! + * jQuery Cookie Plugin v1.4.1 + * https://github.com/carhartl/jquery-cookie + * + * Copyright 2006, 2014 Klaus Hartl + * Released under the MIT license + */ + (function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD (Register as an anonymous module) + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS + module.exports = factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } + }(function ($) { + + var pluses = /\+/g; + + function encode(s) { + return config.raw ? s : encodeURIComponent(s); + } + + function decode(s) { + return config.raw ? s : decodeURIComponent(s); + } + + function stringifyCookieValue(value) { + return encode(config.json ? JSON.stringify(value) : String(value)); + } + + function parseCookieValue(s) { + if (s.indexOf('"') === 0) { + // This is a quoted cookie as according to RFC2068, unescape... + s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); + } + + try { + // Replace server-side written pluses with spaces. + // If we can't decode the cookie, ignore it, it's unusable. + // If we can't parse the cookie, ignore it, it's unusable. + s = decodeURIComponent(s.replace(pluses, ' ')); + return config.json ? JSON.parse(s) : s; + } catch (e) { + } + } + + function read(s, converter) { + var value = config.raw ? s : parseCookieValue(s); + return $.isFunction(converter) ? converter(value) : value; + } + + var config = $.cookie = function (key, value, options) { + + // Write + + if (arguments.length > 1 && !$.isFunction(value)) { + options = $.extend({}, config.defaults, options); + + if (typeof options.expires === 'number') { + var days = options.expires, t = options.expires = new Date(); + t.setMilliseconds(t.getMilliseconds() + days * 864e+5); + } + + return (document.cookie = [ + encode(key), '=', stringifyCookieValue(value), + options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE + options.path ? '; path=' + options.path : '', + options.domain ? '; domain=' + options.domain : '', + options.secure ? '; secure' : '' + ].join('')); + } + + // Read + + var result = key ? undefined : {}, + // To prevent the for loop in the first place assign an empty array + // in case there are no cookies at all. Also prevents odd result when + // calling $.cookie(). + cookies = document.cookie ? document.cookie.split('; ') : [], + i = 0, + l = cookies.length; + + for (; i < l; i++) { + var parts = cookies[i].split('='), + name = decode(parts.shift()), + cookie = parts.join('='); + + if (key === name) { + // If second argument (value) is a function it's a converter... + result = read(cookie, value); + break; + } + + // Prevent storing a cookie that we couldn't decode. + if (!key && (cookie = read(cookie)) !== undefined) { + result[name] = cookie; + } + } + + return result; + }; + + config.defaults = {}; + + $.removeCookie = function (key, options) { + // Must not alter options, thus extending a fresh object... + $.cookie(key, '', $.extend({}, options, {expires: -1})); + return !$.cookie(key); + }; + + })); + })(jQuery); + exports("okCookie"); +}); diff --git a/lib/layui/lay/okmodules/okMd5.js b/lib/layui/lay/okmodules/okMd5.js new file mode 100644 index 0000000..6fc9fa9 --- /dev/null +++ b/lib/layui/lay/okmodules/okMd5.js @@ -0,0 +1,4 @@ +layui.define(["jquery"], function (exports) { + + exports("okCookie"); +}); diff --git a/lib/layui/layui.js b/lib/layui/layui.js index 7064d58..88e3892 100644 --- a/lib/layui/layui.js +++ b/lib/layui/layui.js @@ -36,6 +36,7 @@ if (!Object.assign) { "okLayer": "okmodules/okLayer", "okMock": "okmodules/okMock", "jQContextMenu": "okmodules/jQContextMenu", + "okCookie": "okmodules/okCookie", }; var modulePath = Object.assign({ layer: "modules/layer", diff --git a/pages/tripartite/okCookie.html b/pages/tripartite/okCookie.html new file mode 100644 index 0000000..ba9c37e --- /dev/null +++ b/pages/tripartite/okCookie.html @@ -0,0 +1,29 @@ + + + + + okCookie + + + + +
+
+ + + + + diff --git a/pages/tripartite/okMd5.html b/pages/tripartite/okMd5.html index 6ca4569..1e76586 100644 --- a/pages/tripartite/okMd5.html +++ b/pages/tripartite/okMd5.html @@ -7,13 +7,19 @@ -
-
- - - +
+
+ + +