From 2a78c3ce053ba57ca3b5f72bd5987504035ca64e Mon Sep 17 00:00:00 2001 From: fanxb Date: Wed, 15 Jul 2020 22:28:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=87=8D=E7=BD=AE=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/static/js/localforage.main.js | 1932 ----------------- bookmark_front/src/App.vue | 1 + bookmark_front/src/global.less | 2 +- bookmark_front/src/layout/main/Content.vue | 10 + bookmark_front/src/layout/main/Top.vue | 43 +- bookmark_front/src/main.js | 4 +- .../src/store/modules/globalConfig.js | 13 +- .../src/views/public/pages/ResetPassword.vue | 133 ++ 8 files changed, 197 insertions(+), 1941 deletions(-) delete mode 100644 bookmark_front/public/static/js/localforage.main.js create mode 100644 bookmark_front/src/views/public/pages/ResetPassword.vue diff --git a/bookmark_front/public/static/js/localforage.main.js b/bookmark_front/public/static/js/localforage.main.js deleted file mode 100644 index 974c30a..0000000 --- a/bookmark_front/public/static/js/localforage.main.js +++ /dev/null @@ -1,1932 +0,0 @@ -/*! - localForage -- Offline Storage, Improved - Version 1.7.3 - https://localforage.github.io/localForage - (c) 2013-2017 Mozilla, Apache License 2.0 -*/ -!(function(a) { - if ("object" == typeof exports && "undefined" != typeof module) module.exports = a(); - else if ("function" == typeof define && define.amd) define([], a); - else { - var b; - (b = - "undefined" != typeof window - ? window - : "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : this), - (b.localforage = a()); - } -})(function() { - return (function a(b, c, d) { - function e(g, h) { - if (!c[g]) { - if (!b[g]) { - var i = "function" == typeof require && require; - if (!h && i) return i(g, !0); - if (f) return f(g, !0); - var j = new Error("Cannot find module '" + g + "'"); - throw ((j.code = "MODULE_NOT_FOUND"), j); - } - var k = (c[g] = { exports: {} }); - b[g][0].call( - k.exports, - function(a) { - var c = b[g][1][a]; - return e(c || a); - }, - k, - k.exports, - a, - b, - c, - d - ); - } - return c[g].exports; - } - for (var f = "function" == typeof require && require, g = 0; g < d.length; g++) e(d[g]); - return e; - })( - { - 1: [ - function(a, b, c) { - (function(a) { - "use strict"; - function c() { - k = !0; - for (var a, b, c = l.length; c; ) { - for (b = l, l = [], a = -1; ++a < c; ) b[a](); - c = l.length; - } - k = !1; - } - function d(a) { - 1 !== l.push(a) || k || e(); - } - var e, - f = a.MutationObserver || a.WebKitMutationObserver; - if (f) { - var g = 0, - h = new f(c), - i = a.document.createTextNode(""); - h.observe(i, { characterData: !0 }), - (e = function() { - i.data = g = ++g % 2; - }); - } else if (a.setImmediate || void 0 === a.MessageChannel) - e = - "document" in a && "onreadystatechange" in a.document.createElement("script") - ? function() { - var b = a.document.createElement("script"); - (b.onreadystatechange = function() { - c(), (b.onreadystatechange = null), b.parentNode.removeChild(b), (b = null); - }), - a.document.documentElement.appendChild(b); - } - : function() { - setTimeout(c, 0); - }; - else { - var j = new a.MessageChannel(); - (j.port1.onmessage = c), - (e = function() { - j.port2.postMessage(0); - }); - } - var k, - l = []; - b.exports = d; - }.call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {} - )); - }, - {} - ], - 2: [ - function(a, b, c) { - "use strict"; - function d() {} - function e(a) { - if ("function" != typeof a) throw new TypeError("resolver must be a function"); - (this.state = s), (this.queue = []), (this.outcome = void 0), a !== d && i(this, a); - } - function f(a, b, c) { - (this.promise = a), - "function" == typeof b && - ((this.onFulfilled = b), (this.callFulfilled = this.otherCallFulfilled)), - "function" == typeof c && - ((this.onRejected = c), (this.callRejected = this.otherCallRejected)); - } - function g(a, b, c) { - o(function() { - var d; - try { - d = b(c); - } catch (b) { - return p.reject(a, b); - } - d === a - ? p.reject(a, new TypeError("Cannot resolve promise with itself")) - : p.resolve(a, d); - }); - } - function h(a) { - var b = a && a.then; - if (a && ("object" == typeof a || "function" == typeof a) && "function" == typeof b) - return function() { - b.apply(a, arguments); - }; - } - function i(a, b) { - function c(b) { - f || ((f = !0), p.reject(a, b)); - } - function d(b) { - f || ((f = !0), p.resolve(a, b)); - } - function e() { - b(d, c); - } - var f = !1, - g = j(e); - "error" === g.status && c(g.value); - } - function j(a, b) { - var c = {}; - try { - (c.value = a(b)), (c.status = "success"); - } catch (a) { - (c.status = "error"), (c.value = a); - } - return c; - } - function k(a) { - return a instanceof this ? a : p.resolve(new this(d), a); - } - function l(a) { - var b = new this(d); - return p.reject(b, a); - } - function m(a) { - function b(a, b) { - function d(a) { - (g[b] = a), ++h !== e || f || ((f = !0), p.resolve(j, g)); - } - c.resolve(a).then(d, function(a) { - f || ((f = !0), p.reject(j, a)); - }); - } - var c = this; - if ("[object Array]" !== Object.prototype.toString.call(a)) - return this.reject(new TypeError("must be an array")); - var e = a.length, - f = !1; - if (!e) return this.resolve([]); - for (var g = new Array(e), h = 0, i = -1, j = new this(d); ++i < e; ) b(a[i], i); - return j; - } - function n(a) { - function b(a) { - c.resolve(a).then( - function(a) { - f || ((f = !0), p.resolve(h, a)); - }, - function(a) { - f || ((f = !0), p.reject(h, a)); - } - ); - } - var c = this; - if ("[object Array]" !== Object.prototype.toString.call(a)) - return this.reject(new TypeError("must be an array")); - var e = a.length, - f = !1; - if (!e) return this.resolve([]); - for (var g = -1, h = new this(d); ++g < e; ) b(a[g]); - return h; - } - var o = a(1), - p = {}, - q = ["REJECTED"], - r = ["FULFILLED"], - s = ["PENDING"]; - (b.exports = e), - (e.prototype.catch = function(a) { - return this.then(null, a); - }), - (e.prototype.then = function(a, b) { - if ( - ("function" != typeof a && this.state === r) || - ("function" != typeof b && this.state === q) - ) - return this; - var c = new this.constructor(d); - if (this.state !== s) { - g(c, this.state === r ? a : b, this.outcome); - } else this.queue.push(new f(c, a, b)); - return c; - }), - (f.prototype.callFulfilled = function(a) { - p.resolve(this.promise, a); - }), - (f.prototype.otherCallFulfilled = function(a) { - g(this.promise, this.onFulfilled, a); - }), - (f.prototype.callRejected = function(a) { - p.reject(this.promise, a); - }), - (f.prototype.otherCallRejected = function(a) { - g(this.promise, this.onRejected, a); - }), - (p.resolve = function(a, b) { - var c = j(h, b); - if ("error" === c.status) return p.reject(a, c.value); - var d = c.value; - if (d) i(a, d); - else { - (a.state = r), (a.outcome = b); - for (var e = -1, f = a.queue.length; ++e < f; ) a.queue[e].callFulfilled(b); - } - return a; - }), - (p.reject = function(a, b) { - (a.state = q), (a.outcome = b); - for (var c = -1, d = a.queue.length; ++c < d; ) a.queue[c].callRejected(b); - return a; - }), - (e.resolve = k), - (e.reject = l), - (e.all = m), - (e.race = n); - }, - { 1: 1 } - ], - 3: [ - function(a, b, c) { - (function(b) { - "use strict"; - "function" != typeof b.Promise && (b.Promise = a(2)); - }.call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {} - )); - }, - { 2: 2 } - ], - 4: [ - function(a, b, c) { - "use strict"; - function d(a, b) { - if (!(a instanceof b)) throw new TypeError("Cannot call a class as a function"); - } - function e() { - try { - if ("undefined" != typeof indexedDB) return indexedDB; - if ("undefined" != typeof webkitIndexedDB) return webkitIndexedDB; - if ("undefined" != typeof mozIndexedDB) return mozIndexedDB; - if ("undefined" != typeof OIndexedDB) return OIndexedDB; - if ("undefined" != typeof msIndexedDB) return msIndexedDB; - } catch (a) { - return; - } - } - function f() { - try { - if (!ua) return !1; - var a = - "undefined" != typeof openDatabase && - /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && - !/Chrome/.test(navigator.userAgent) && - !/BlackBerry/.test(navigator.platform), - b = "function" == typeof fetch && -1 !== fetch.toString().indexOf("[native code"); - return ( - (!a || b) && "undefined" != typeof indexedDB && "undefined" != typeof IDBKeyRange - ); - } catch (a) { - return !1; - } - } - function g(a, b) { - (a = a || []), (b = b || {}); - try { - return new Blob(a, b); - } catch (f) { - if ("TypeError" !== f.name) throw f; - for ( - var c = - "undefined" != typeof BlobBuilder - ? BlobBuilder - : "undefined" != typeof MSBlobBuilder - ? MSBlobBuilder - : "undefined" != typeof MozBlobBuilder - ? MozBlobBuilder - : WebKitBlobBuilder, - d = new c(), - e = 0; - e < a.length; - e += 1 - ) - d.append(a[e]); - return d.getBlob(b.type); - } - } - function h(a, b) { - b && - a.then( - function(a) { - b(null, a); - }, - function(a) { - b(a); - } - ); - } - function i(a, b, c) { - "function" == typeof b && a.then(b), "function" == typeof c && a.catch(c); - } - function j(a) { - return ( - "string" != typeof a && - (console.warn(a + " used as a key, but it is not a string."), (a = String(a))), - a - ); - } - function k() { - if (arguments.length && "function" == typeof arguments[arguments.length - 1]) - return arguments[arguments.length - 1]; - } - function l(a) { - for (var b = a.length, c = new ArrayBuffer(b), d = new Uint8Array(c), e = 0; e < b; e++) - d[e] = a.charCodeAt(e); - return c; - } - function m(a) { - return new va(function(b) { - var c = a.transaction(wa, Ba), - d = g([""]); - c.objectStore(wa).put(d, "key"), - (c.onabort = function(a) { - a.preventDefault(), a.stopPropagation(), b(!1); - }), - (c.oncomplete = function() { - var a = navigator.userAgent.match(/Chrome\/(\d+)/), - c = navigator.userAgent.match(/Edge\//); - b(c || !a || parseInt(a[1], 10) >= 43); - }); - }).catch(function() { - return !1; - }); - } - function n(a) { - return "boolean" == typeof xa - ? va.resolve(xa) - : m(a).then(function(a) { - return (xa = a); - }); - } - function o(a) { - var b = ya[a.name], - c = {}; - (c.promise = new va(function(a, b) { - (c.resolve = a), (c.reject = b); - })), - b.deferredOperations.push(c), - b.dbReady - ? (b.dbReady = b.dbReady.then(function() { - return c.promise; - })) - : (b.dbReady = c.promise); - } - function p(a) { - var b = ya[a.name], - c = b.deferredOperations.pop(); - if (c) return c.resolve(), c.promise; - } - function q(a, b) { - var c = ya[a.name], - d = c.deferredOperations.pop(); - if (d) return d.reject(b), d.promise; - } - function r(a, b) { - return new va(function(c, d) { - if (((ya[a.name] = ya[a.name] || B()), a.db)) { - if (!b) return c(a.db); - o(a), a.db.close(); - } - var e = [a.name]; - b && e.push(a.version); - var f = ua.open.apply(ua, e); - b && - (f.onupgradeneeded = function(b) { - var c = f.result; - try { - c.createObjectStore(a.storeName), b.oldVersion <= 1 && c.createObjectStore(wa); - } catch (c) { - if ("ConstraintError" !== c.name) throw c; - console.warn( - 'The database "' + - a.name + - '" has been upgraded from version ' + - b.oldVersion + - " to version " + - b.newVersion + - ', but the storage "' + - a.storeName + - '" already exists.' - ); - } - }), - (f.onerror = function(a) { - a.preventDefault(), d(f.error); - }), - (f.onsuccess = function() { - c(f.result), p(a); - }); - }); - } - function s(a) { - return r(a, !1); - } - function t(a) { - return r(a, !0); - } - function u(a, b) { - if (!a.db) return !0; - var c = !a.db.objectStoreNames.contains(a.storeName), - d = a.version < a.db.version, - e = a.version > a.db.version; - if ( - (d && - (a.version !== b && - console.warn( - 'The database "' + - a.name + - "\" can't be downgraded from version " + - a.db.version + - " to version " + - a.version + - "." - ), - (a.version = a.db.version)), - e || c) - ) { - if (c) { - var f = a.db.version + 1; - f > a.version && (a.version = f); - } - return !0; - } - return !1; - } - function v(a) { - return new va(function(b, c) { - var d = new FileReader(); - (d.onerror = c), - (d.onloadend = function(c) { - var d = btoa(c.target.result || ""); - b({ __local_forage_encoded_blob: !0, data: d, type: a.type }); - }), - d.readAsBinaryString(a); - }); - } - function w(a) { - return g([l(atob(a.data))], { type: a.type }); - } - function x(a) { - return a && a.__local_forage_encoded_blob; - } - function y(a) { - var b = this, - c = b._initReady().then(function() { - var a = ya[b._dbInfo.name]; - if (a && a.dbReady) return a.dbReady; - }); - return i(c, a, a), c; - } - function z(a) { - o(a); - for (var b = ya[a.name], c = b.forages, d = 0; d < c.length; d++) { - var e = c[d]; - e._dbInfo.db && (e._dbInfo.db.close(), (e._dbInfo.db = null)); - } - return ( - (a.db = null), - s(a) - .then(function(b) { - return (a.db = b), u(a) ? t(a) : b; - }) - .then(function(d) { - a.db = b.db = d; - for (var e = 0; e < c.length; e++) c[e]._dbInfo.db = d; - }) - .catch(function(b) { - throw (q(a, b), b); - }) - ); - } - function A(a, b, c, d) { - void 0 === d && (d = 1); - try { - var e = a.db.transaction(a.storeName, b); - c(null, e); - } catch (e) { - if (d > 0 && (!a.db || "InvalidStateError" === e.name || "NotFoundError" === e.name)) - return va - .resolve() - .then(function() { - if ( - !a.db || - ("NotFoundError" === e.name && - !a.db.objectStoreNames.contains(a.storeName) && - a.version <= a.db.version) - ) - return a.db && (a.version = a.db.version + 1), t(a); - }) - .then(function() { - return z(a).then(function() { - A(a, b, c, d - 1); - }); - }) - .catch(c); - c(e); - } - } - function B() { - return { forages: [], db: null, dbReady: null, deferredOperations: [] }; - } - function C(a) { - function b() { - return va.resolve(); - } - var c = this, - d = { db: null }; - if (a) for (var e in a) d[e] = a[e]; - var f = ya[d.name]; - f || ((f = B()), (ya[d.name] = f)), - f.forages.push(c), - c._initReady || ((c._initReady = c.ready), (c.ready = y)); - for (var g = [], h = 0; h < f.forages.length; h++) { - var i = f.forages[h]; - i !== c && g.push(i._initReady().catch(b)); - } - var j = f.forages.slice(0); - return va - .all(g) - .then(function() { - return (d.db = f.db), s(d); - }) - .then(function(a) { - return (d.db = a), u(d, c._defaultConfig.version) ? t(d) : a; - }) - .then(function(a) { - (d.db = f.db = a), (c._dbInfo = d); - for (var b = 0; b < j.length; b++) { - var e = j[b]; - e !== c && ((e._dbInfo.db = d.db), (e._dbInfo.version = d.version)); - } - }); - } - function D(a, b) { - var c = this; - a = j(a); - var d = new va(function(b, d) { - c.ready() - .then(function() { - A(c._dbInfo, Aa, function(e, f) { - if (e) return d(e); - try { - var g = f.objectStore(c._dbInfo.storeName), - h = g.get(a); - (h.onsuccess = function() { - var a = h.result; - void 0 === a && (a = null), x(a) && (a = w(a)), b(a); - }), - (h.onerror = function() { - d(h.error); - }); - } catch (a) { - d(a); - } - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function E(a, b) { - var c = this, - d = new va(function(b, d) { - c.ready() - .then(function() { - A(c._dbInfo, Aa, function(e, f) { - if (e) return d(e); - try { - var g = f.objectStore(c._dbInfo.storeName), - h = g.openCursor(), - i = 1; - (h.onsuccess = function() { - var c = h.result; - if (c) { - var d = c.value; - x(d) && (d = w(d)); - var e = a(d, c.key, i++); - void 0 !== e ? b(e) : c.continue(); - } else b(); - }), - (h.onerror = function() { - d(h.error); - }); - } catch (a) { - d(a); - } - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function F(a, b, c) { - var d = this; - a = j(a); - var e = new va(function(c, e) { - var f; - d.ready() - .then(function() { - return ( - (f = d._dbInfo), - "[object Blob]" === za.call(b) - ? n(f.db).then(function(a) { - return a ? b : v(b); - }) - : b - ); - }) - .then(function(b) { - A(d._dbInfo, Ba, function(f, g) { - if (f) return e(f); - try { - var h = g.objectStore(d._dbInfo.storeName); - null === b && (b = void 0); - var i = h.put(b, a); - (g.oncomplete = function() { - void 0 === b && (b = null), c(b); - }), - (g.onabort = g.onerror = function() { - var a = i.error ? i.error : i.transaction.error; - e(a); - }); - } catch (a) { - e(a); - } - }); - }) - .catch(e); - }); - return h(e, c), e; - } - function G(a, b) { - var c = this; - a = j(a); - var d = new va(function(b, d) { - c.ready() - .then(function() { - A(c._dbInfo, Ba, function(e, f) { - if (e) return d(e); - try { - var g = f.objectStore(c._dbInfo.storeName), - h = g.delete(a); - (f.oncomplete = function() { - b(); - }), - (f.onerror = function() { - d(h.error); - }), - (f.onabort = function() { - var a = h.error ? h.error : h.transaction.error; - d(a); - }); - } catch (a) { - d(a); - } - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function H(a) { - var b = this, - c = new va(function(a, c) { - b.ready() - .then(function() { - A(b._dbInfo, Ba, function(d, e) { - if (d) return c(d); - try { - var f = e.objectStore(b._dbInfo.storeName), - g = f.clear(); - (e.oncomplete = function() { - a(); - }), - (e.onabort = e.onerror = function() { - var a = g.error ? g.error : g.transaction.error; - c(a); - }); - } catch (a) { - c(a); - } - }); - }) - .catch(c); - }); - return h(c, a), c; - } - function I(a) { - var b = this, - c = new va(function(a, c) { - b.ready() - .then(function() { - A(b._dbInfo, Aa, function(d, e) { - if (d) return c(d); - try { - var f = e.objectStore(b._dbInfo.storeName), - g = f.count(); - (g.onsuccess = function() { - a(g.result); - }), - (g.onerror = function() { - c(g.error); - }); - } catch (a) { - c(a); - } - }); - }) - .catch(c); - }); - return h(c, a), c; - } - function J(a, b) { - var c = this, - d = new va(function(b, d) { - if (a < 0) return void b(null); - c.ready() - .then(function() { - A(c._dbInfo, Aa, function(e, f) { - if (e) return d(e); - try { - var g = f.objectStore(c._dbInfo.storeName), - h = !1, - i = g.openCursor(); - (i.onsuccess = function() { - var c = i.result; - if (!c) return void b(null); - 0 === a ? b(c.key) : h ? b(c.key) : ((h = !0), c.advance(a)); - }), - (i.onerror = function() { - d(i.error); - }); - } catch (a) { - d(a); - } - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function K(a) { - var b = this, - c = new va(function(a, c) { - b.ready() - .then(function() { - A(b._dbInfo, Aa, function(d, e) { - if (d) return c(d); - try { - var f = e.objectStore(b._dbInfo.storeName), - g = f.openCursor(), - h = []; - (g.onsuccess = function() { - var b = g.result; - if (!b) return void a(h); - h.push(b.key), b.continue(); - }), - (g.onerror = function() { - c(g.error); - }); - } catch (a) { - c(a); - } - }); - }) - .catch(c); - }); - return h(c, a), c; - } - function L(a, b) { - b = k.apply(this, arguments); - var c = this.config(); - (a = ("function" != typeof a && a) || {}), - a.name || ((a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName)); - var d, - e = this; - if (a.name) { - var f = a.name === c.name && e._dbInfo.db, - g = f - ? va.resolve(e._dbInfo.db) - : s(a).then(function(b) { - var c = ya[a.name], - d = c.forages; - c.db = b; - for (var e = 0; e < d.length; e++) d[e]._dbInfo.db = b; - return b; - }); - d = a.storeName - ? g.then(function(b) { - if (b.objectStoreNames.contains(a.storeName)) { - var c = b.version + 1; - o(a); - var d = ya[a.name], - e = d.forages; - b.close(); - for (var f = 0; f < e.length; f++) { - var g = e[f]; - (g._dbInfo.db = null), (g._dbInfo.version = c); - } - return new va(function(b, d) { - var e = ua.open(a.name, c); - (e.onerror = function(a) { - e.result.close(), d(a); - }), - (e.onupgradeneeded = function() { - e.result.deleteObjectStore(a.storeName); - }), - (e.onsuccess = function() { - var a = e.result; - a.close(), b(a); - }); - }) - .then(function(a) { - d.db = a; - for (var b = 0; b < e.length; b++) { - var c = e[b]; - (c._dbInfo.db = a), p(c._dbInfo); - } - }) - .catch(function(b) { - throw ((q(a, b) || va.resolve()).catch(function() {}), b); - }); - } - }) - : g.then(function(b) { - o(a); - var c = ya[a.name], - d = c.forages; - b.close(); - for (var e = 0; e < d.length; e++) { - d[e]._dbInfo.db = null; - } - return new va(function(b, c) { - var d = ua.deleteDatabase(a.name); - (d.onerror = d.onblocked = function(a) { - var b = d.result; - b && b.close(), c(a); - }), - (d.onsuccess = function() { - var a = d.result; - a && a.close(), b(a); - }); - }) - .then(function(a) { - c.db = a; - for (var b = 0; b < d.length; b++) p(d[b]._dbInfo); - }) - .catch(function(b) { - throw ((q(a, b) || va.resolve()).catch(function() {}), b); - }); - }); - } else d = va.reject("Invalid arguments"); - return h(d, b), d; - } - function M() { - return "function" == typeof openDatabase; - } - function N(a) { - var b, - c, - d, - e, - f, - g = 0.75 * a.length, - h = a.length, - i = 0; - "=" === a[a.length - 1] && (g--, "=" === a[a.length - 2] && g--); - var j = new ArrayBuffer(g), - k = new Uint8Array(j); - for (b = 0; b < h; b += 4) - (c = Da.indexOf(a[b])), - (d = Da.indexOf(a[b + 1])), - (e = Da.indexOf(a[b + 2])), - (f = Da.indexOf(a[b + 3])), - (k[i++] = (c << 2) | (d >> 4)), - (k[i++] = ((15 & d) << 4) | (e >> 2)), - (k[i++] = ((3 & e) << 6) | (63 & f)); - return j; - } - function O(a) { - var b, - c = new Uint8Array(a), - d = ""; - for (b = 0; b < c.length; b += 3) - (d += Da[c[b] >> 2]), - (d += Da[((3 & c[b]) << 4) | (c[b + 1] >> 4)]), - (d += Da[((15 & c[b + 1]) << 2) | (c[b + 2] >> 6)]), - (d += Da[63 & c[b + 2]]); - return ( - c.length % 3 == 2 - ? (d = d.substring(0, d.length - 1) + "=") - : c.length % 3 == 1 && (d = d.substring(0, d.length - 2) + "=="), - d - ); - } - function P(a, b) { - var c = ""; - if ( - (a && (c = Ua.call(a)), - a && - ("[object ArrayBuffer]" === c || - (a.buffer && "[object ArrayBuffer]" === Ua.call(a.buffer)))) - ) { - var d, - e = Ga; - a instanceof ArrayBuffer - ? ((d = a), (e += Ia)) - : ((d = a.buffer), - "[object Int8Array]" === c - ? (e += Ka) - : "[object Uint8Array]" === c - ? (e += La) - : "[object Uint8ClampedArray]" === c - ? (e += Ma) - : "[object Int16Array]" === c - ? (e += Na) - : "[object Uint16Array]" === c - ? (e += Pa) - : "[object Int32Array]" === c - ? (e += Oa) - : "[object Uint32Array]" === c - ? (e += Qa) - : "[object Float32Array]" === c - ? (e += Ra) - : "[object Float64Array]" === c - ? (e += Sa) - : b(new Error("Failed to get type for BinaryArray"))), - b(e + O(d)); - } else if ("[object Blob]" === c) { - var f = new FileReader(); - (f.onload = function() { - var c = Ea + a.type + "~" + O(this.result); - b(Ga + Ja + c); - }), - f.readAsArrayBuffer(a); - } else - try { - b(JSON.stringify(a)); - } catch (c) { - console.error("Couldn't convert value into a JSON string: ", a), b(null, c); - } - } - function Q(a) { - if (a.substring(0, Ha) !== Ga) return JSON.parse(a); - var b, - c = a.substring(Ta), - d = a.substring(Ha, Ta); - if (d === Ja && Fa.test(c)) { - var e = c.match(Fa); - (b = e[1]), (c = c.substring(e[0].length)); - } - var f = N(c); - switch (d) { - case Ia: - return f; - case Ja: - return g([f], { type: b }); - case Ka: - return new Int8Array(f); - case La: - return new Uint8Array(f); - case Ma: - return new Uint8ClampedArray(f); - case Na: - return new Int16Array(f); - case Pa: - return new Uint16Array(f); - case Oa: - return new Int32Array(f); - case Qa: - return new Uint32Array(f); - case Ra: - return new Float32Array(f); - case Sa: - return new Float64Array(f); - default: - throw new Error("Unkown type: " + d); - } - } - function R(a, b, c, d) { - a.executeSql( - "CREATE TABLE IF NOT EXISTS " + - b.storeName + - " (id INTEGER PRIMARY KEY, key unique, value)", - [], - c, - d - ); - } - function S(a) { - var b = this, - c = { db: null }; - if (a) for (var d in a) c[d] = "string" != typeof a[d] ? a[d].toString() : a[d]; - var e = new va(function(a, d) { - try { - c.db = openDatabase(c.name, String(c.version), c.description, c.size); - } catch (a) { - return d(a); - } - c.db.transaction(function(e) { - R( - e, - c, - function() { - (b._dbInfo = c), a(); - }, - function(a, b) { - d(b); - } - ); - }, d); - }); - return (c.serializer = Va), e; - } - function T(a, b, c, d, e, f) { - a.executeSql( - c, - d, - e, - function(a, g) { - g.code === g.SYNTAX_ERR - ? a.executeSql( - "SELECT name FROM sqlite_master WHERE type='table' AND name = ?", - [b.storeName], - function(a, h) { - h.rows.length - ? f(a, g) - : R( - a, - b, - function() { - a.executeSql(c, d, e, f); - }, - f - ); - }, - f - ) - : f(a, g); - }, - f - ); - } - function U(a, b) { - var c = this; - a = j(a); - var d = new va(function(b, d) { - c.ready() - .then(function() { - var e = c._dbInfo; - e.db.transaction(function(c) { - T( - c, - e, - "SELECT * FROM " + e.storeName + " WHERE key = ? LIMIT 1", - [a], - function(a, c) { - var d = c.rows.length ? c.rows.item(0).value : null; - d && (d = e.serializer.deserialize(d)), b(d); - }, - function(a, b) { - d(b); - } - ); - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function V(a, b) { - var c = this, - d = new va(function(b, d) { - c.ready() - .then(function() { - var e = c._dbInfo; - e.db.transaction(function(c) { - T( - c, - e, - "SELECT * FROM " + e.storeName, - [], - function(c, d) { - for (var f = d.rows, g = f.length, h = 0; h < g; h++) { - var i = f.item(h), - j = i.value; - if ( - (j && (j = e.serializer.deserialize(j)), - void 0 !== (j = a(j, i.key, h + 1))) - ) - return void b(j); - } - b(); - }, - function(a, b) { - d(b); - } - ); - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function W(a, b, c, d) { - var e = this; - a = j(a); - var f = new va(function(f, g) { - e.ready() - .then(function() { - void 0 === b && (b = null); - var h = b, - i = e._dbInfo; - i.serializer.serialize(b, function(b, j) { - j - ? g(j) - : i.db.transaction( - function(c) { - T( - c, - i, - "INSERT OR REPLACE INTO " + - i.storeName + - " (key, value) VALUES (?, ?)", - [a, b], - function() { - f(h); - }, - function(a, b) { - g(b); - } - ); - }, - function(b) { - if (b.code === b.QUOTA_ERR) { - if (d > 0) return void f(W.apply(e, [a, h, c, d - 1])); - g(b); - } - } - ); - }); - }) - .catch(g); - }); - return h(f, c), f; - } - function X(a, b, c) { - return W.apply(this, [a, b, c, 1]); - } - function Y(a, b) { - var c = this; - a = j(a); - var d = new va(function(b, d) { - c.ready() - .then(function() { - var e = c._dbInfo; - e.db.transaction(function(c) { - T( - c, - e, - "DELETE FROM " + e.storeName + " WHERE key = ?", - [a], - function() { - b(); - }, - function(a, b) { - d(b); - } - ); - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function Z(a) { - var b = this, - c = new va(function(a, c) { - b.ready() - .then(function() { - var d = b._dbInfo; - d.db.transaction(function(b) { - T( - b, - d, - "DELETE FROM " + d.storeName, - [], - function() { - a(); - }, - function(a, b) { - c(b); - } - ); - }); - }) - .catch(c); - }); - return h(c, a), c; - } - function $(a) { - var b = this, - c = new va(function(a, c) { - b.ready() - .then(function() { - var d = b._dbInfo; - d.db.transaction(function(b) { - T( - b, - d, - "SELECT COUNT(key) as c FROM " + d.storeName, - [], - function(b, c) { - var d = c.rows.item(0).c; - a(d); - }, - function(a, b) { - c(b); - } - ); - }); - }) - .catch(c); - }); - return h(c, a), c; - } - function _(a, b) { - var c = this, - d = new va(function(b, d) { - c.ready() - .then(function() { - var e = c._dbInfo; - e.db.transaction(function(c) { - T( - c, - e, - "SELECT key FROM " + e.storeName + " WHERE id = ? LIMIT 1", - [a + 1], - function(a, c) { - var d = c.rows.length ? c.rows.item(0).key : null; - b(d); - }, - function(a, b) { - d(b); - } - ); - }); - }) - .catch(d); - }); - return h(d, b), d; - } - function aa(a) { - var b = this, - c = new va(function(a, c) { - b.ready() - .then(function() { - var d = b._dbInfo; - d.db.transaction(function(b) { - T( - b, - d, - "SELECT key FROM " + d.storeName, - [], - function(b, c) { - for (var d = [], e = 0; e < c.rows.length; e++) - d.push(c.rows.item(e).key); - a(d); - }, - function(a, b) { - c(b); - } - ); - }); - }) - .catch(c); - }); - return h(c, a), c; - } - function ba(a) { - return new va(function(b, c) { - a.transaction( - function(d) { - d.executeSql( - "SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'", - [], - function(c, d) { - for (var e = [], f = 0; f < d.rows.length; f++) e.push(d.rows.item(f).name); - b({ db: a, storeNames: e }); - }, - function(a, b) { - c(b); - } - ); - }, - function(a) { - c(a); - } - ); - }); - } - function ca(a, b) { - b = k.apply(this, arguments); - var c = this.config(); - (a = ("function" != typeof a && a) || {}), - a.name || ((a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName)); - var d, - e = this; - return ( - (d = a.name - ? new va(function(b) { - var d; - (d = a.name === c.name ? e._dbInfo.db : openDatabase(a.name, "", "", 0)), - b(a.storeName ? { db: d, storeNames: [a.storeName] } : ba(d)); - }).then(function(a) { - return new va(function(b, c) { - a.db.transaction( - function(d) { - function e(a) { - return new va(function(b, c) { - d.executeSql( - "DROP TABLE IF EXISTS " + a, - [], - function() { - b(); - }, - function(a, b) { - c(b); - } - ); - }); - } - for (var f = [], g = 0, h = a.storeNames.length; g < h; g++) - f.push(e(a.storeNames[g])); - va.all(f) - .then(function() { - b(); - }) - .catch(function(a) { - c(a); - }); - }, - function(a) { - c(a); - } - ); - }); - }) - : va.reject("Invalid arguments")), - h(d, b), - d - ); - } - function da() { - try { - return ( - "undefined" != typeof localStorage && - "setItem" in localStorage && - !!localStorage.setItem - ); - } catch (a) { - return !1; - } - } - function ea(a, b) { - var c = a.name + "/"; - return a.storeName !== b.storeName && (c += a.storeName + "/"), c; - } - function fa() { - var a = "_localforage_support_test"; - try { - return localStorage.setItem(a, !0), localStorage.removeItem(a), !1; - } catch (a) { - return !0; - } - } - function ga() { - return !fa() || localStorage.length > 0; - } - function ha(a) { - var b = this, - c = {}; - if (a) for (var d in a) c[d] = a[d]; - return ( - (c.keyPrefix = ea(a, b._defaultConfig)), - ga() ? ((b._dbInfo = c), (c.serializer = Va), va.resolve()) : va.reject() - ); - } - function ia(a) { - var b = this, - c = b.ready().then(function() { - for (var a = b._dbInfo.keyPrefix, c = localStorage.length - 1; c >= 0; c--) { - var d = localStorage.key(c); - 0 === d.indexOf(a) && localStorage.removeItem(d); - } - }); - return h(c, a), c; - } - function ja(a, b) { - var c = this; - a = j(a); - var d = c.ready().then(function() { - var b = c._dbInfo, - d = localStorage.getItem(b.keyPrefix + a); - return d && (d = b.serializer.deserialize(d)), d; - }); - return h(d, b), d; - } - function ka(a, b) { - var c = this, - d = c.ready().then(function() { - for ( - var b = c._dbInfo, - d = b.keyPrefix, - e = d.length, - f = localStorage.length, - g = 1, - h = 0; - h < f; - h++ - ) { - var i = localStorage.key(h); - if (0 === i.indexOf(d)) { - var j = localStorage.getItem(i); - if ( - (j && (j = b.serializer.deserialize(j)), - void 0 !== (j = a(j, i.substring(e), g++))) - ) - return j; - } - } - }); - return h(d, b), d; - } - function la(a, b) { - var c = this, - d = c.ready().then(function() { - var b, - d = c._dbInfo; - try { - b = localStorage.key(a); - } catch (a) { - b = null; - } - return b && (b = b.substring(d.keyPrefix.length)), b; - }); - return h(d, b), d; - } - function ma(a) { - var b = this, - c = b.ready().then(function() { - for (var a = b._dbInfo, c = localStorage.length, d = [], e = 0; e < c; e++) { - var f = localStorage.key(e); - 0 === f.indexOf(a.keyPrefix) && d.push(f.substring(a.keyPrefix.length)); - } - return d; - }); - return h(c, a), c; - } - function na(a) { - var b = this, - c = b.keys().then(function(a) { - return a.length; - }); - return h(c, a), c; - } - function oa(a, b) { - var c = this; - a = j(a); - var d = c.ready().then(function() { - var b = c._dbInfo; - localStorage.removeItem(b.keyPrefix + a); - }); - return h(d, b), d; - } - function pa(a, b, c) { - var d = this; - a = j(a); - var e = d.ready().then(function() { - void 0 === b && (b = null); - var c = b; - return new va(function(e, f) { - var g = d._dbInfo; - g.serializer.serialize(b, function(b, d) { - if (d) f(d); - else - try { - localStorage.setItem(g.keyPrefix + a, b), e(c); - } catch (a) { - ("QuotaExceededError" !== a.name && - "NS_ERROR_DOM_QUOTA_REACHED" !== a.name) || - f(a), - f(a); - } - }); - }); - }); - return h(e, c), e; - } - function qa(a, b) { - if ( - ((b = k.apply(this, arguments)), (a = ("function" != typeof a && a) || {}), !a.name) - ) { - var c = this.config(); - (a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName); - } - var d, - e = this; - return ( - (d = a.name - ? new va(function(b) { - b(a.storeName ? ea(a, e._defaultConfig) : a.name + "/"); - }).then(function(a) { - for (var b = localStorage.length - 1; b >= 0; b--) { - var c = localStorage.key(b); - 0 === c.indexOf(a) && localStorage.removeItem(c); - } - }) - : va.reject("Invalid arguments")), - h(d, b), - d - ); - } - function ra(a, b) { - a[b] = function() { - var c = arguments; - return a.ready().then(function() { - return a[b].apply(a, c); - }); - }; - } - function sa() { - for (var a = 1; a < arguments.length; a++) { - var b = arguments[a]; - if (b) - for (var c in b) - b.hasOwnProperty(c) && - ($a(b[c]) ? (arguments[0][c] = b[c].slice()) : (arguments[0][c] = b[c])); - } - return arguments[0]; - } - var ta = - "function" == typeof Symbol && "symbol" == typeof Symbol.iterator - ? function(a) { - return typeof a; - } - : function(a) { - return a && - "function" == typeof Symbol && - a.constructor === Symbol && - a !== Symbol.prototype - ? "symbol" - : typeof a; - }, - ua = e(); - "undefined" == typeof Promise && a(3); - var va = Promise, - wa = "local-forage-detect-blob-support", - xa = void 0, - ya = {}, - za = Object.prototype.toString, - Aa = "readonly", - Ba = "readwrite", - Ca = { - _driver: "asyncStorage", - _initStorage: C, - _support: f(), - iterate: E, - getItem: D, - setItem: F, - removeItem: G, - clear: H, - length: I, - key: J, - keys: K, - dropInstance: L - }, - Da = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", - Ea = "~~local_forage_type~", - Fa = /^~~local_forage_type~([^~]+)~/, - Ga = "__lfsc__:", - Ha = Ga.length, - Ia = "arbf", - Ja = "blob", - Ka = "si08", - La = "ui08", - Ma = "uic8", - Na = "si16", - Oa = "si32", - Pa = "ur16", - Qa = "ui32", - Ra = "fl32", - Sa = "fl64", - Ta = Ha + Ia.length, - Ua = Object.prototype.toString, - Va = { serialize: P, deserialize: Q, stringToBuffer: N, bufferToString: O }, - Wa = { - _driver: "webSQLStorage", - _initStorage: S, - _support: M(), - iterate: V, - getItem: U, - setItem: X, - removeItem: Y, - clear: Z, - length: $, - key: _, - keys: aa, - dropInstance: ca - }, - Xa = { - _driver: "localStorageWrapper", - _initStorage: ha, - _support: da(), - iterate: ka, - getItem: ja, - setItem: pa, - removeItem: oa, - clear: ia, - length: na, - key: la, - keys: ma, - dropInstance: qa - }, - Ya = function(a, b) { - return ( - a === b || ("number" == typeof a && "number" == typeof b && isNaN(a) && isNaN(b)) - ); - }, - Za = function(a, b) { - for (var c = a.length, d = 0; d < c; ) { - if (Ya(a[d], b)) return !0; - d++; - } - return !1; - }, - $a = - Array.isArray || - function(a) { - return "[object Array]" === Object.prototype.toString.call(a); - }, - _a = {}, - ab = {}, - bb = { INDEXEDDB: Ca, WEBSQL: Wa, LOCALSTORAGE: Xa }, - cb = [bb.INDEXEDDB._driver, bb.WEBSQL._driver, bb.LOCALSTORAGE._driver], - db = ["dropInstance"], - eb = [ - "clear", - "getItem", - "iterate", - "key", - "keys", - "length", - "removeItem", - "setItem" - ].concat(db), - fb = { - description: "", - driver: cb.slice(), - name: "localforage", - size: 4980736, - storeName: "keyvaluepairs", - version: 1 - }, - gb = (function() { - function a(b) { - d(this, a); - for (var c in bb) - if (bb.hasOwnProperty(c)) { - var e = bb[c], - f = e._driver; - (this[c] = f), _a[f] || this.defineDriver(e); - } - (this._defaultConfig = sa({}, fb)), - (this._config = sa({}, this._defaultConfig, b)), - (this._driverSet = null), - (this._initDriver = null), - (this._ready = !1), - (this._dbInfo = null), - this._wrapLibraryMethodsWithReady(), - this.setDriver(this._config.driver).catch(function() {}); - } - return ( - (a.prototype.config = function(a) { - if ("object" === (void 0 === a ? "undefined" : ta(a))) { - if (this._ready) - return new Error("Can't call config() after localforage has been used."); - for (var b in a) { - if ( - ("storeName" === b && (a[b] = a[b].replace(/\W/g, "_")), - "version" === b && "number" != typeof a[b]) - ) - return new Error("Database version must be a number."); - this._config[b] = a[b]; - } - return !("driver" in a && a.driver) || this.setDriver(this._config.driver); - } - return "string" == typeof a ? this._config[a] : this._config; - }), - (a.prototype.defineDriver = function(a, b, c) { - var d = new va(function(b, c) { - try { - var d = a._driver, - e = new Error( - "Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver" - ); - if (!a._driver) return void c(e); - for (var f = eb.concat("_initStorage"), g = 0, i = f.length; g < i; g++) { - var j = f[g]; - if ((!Za(db, j) || a[j]) && "function" != typeof a[j]) return void c(e); - } - (function() { - for ( - var b = function(a) { - return function() { - var b = new Error( - "Method " + a + " is not implemented by the current driver" - ), - c = va.reject(b); - return h(c, arguments[arguments.length - 1]), c; - }; - }, - c = 0, - d = db.length; - c < d; - c++ - ) { - var e = db[c]; - a[e] || (a[e] = b(e)); - } - })(); - var k = function(c) { - _a[d] && console.info("Redefining LocalForage driver: " + d), - (_a[d] = a), - (ab[d] = c), - b(); - }; - "_support" in a - ? a._support && "function" == typeof a._support - ? a._support().then(k, c) - : k(!!a._support) - : k(!0); - } catch (a) { - c(a); - } - }); - return i(d, b, c), d; - }), - (a.prototype.driver = function() { - return this._driver || null; - }), - (a.prototype.getDriver = function(a, b, c) { - var d = _a[a] ? va.resolve(_a[a]) : va.reject(new Error("Driver not found.")); - return i(d, b, c), d; - }), - (a.prototype.getSerializer = function(a) { - var b = va.resolve(Va); - return i(b, a), b; - }), - (a.prototype.ready = function(a) { - var b = this, - c = b._driverSet.then(function() { - return null === b._ready && (b._ready = b._initDriver()), b._ready; - }); - return i(c, a, a), c; - }), - (a.prototype.setDriver = function(a, b, c) { - function d() { - g._config.driver = g.driver(); - } - function e(a) { - return g._extend(a), d(), (g._ready = g._initStorage(g._config)), g._ready; - } - function f(a) { - return function() { - function b() { - for (; c < a.length; ) { - var f = a[c]; - return ( - c++, - (g._dbInfo = null), - (g._ready = null), - g - .getDriver(f) - .then(e) - .catch(b) - ); - } - d(); - var h = new Error("No available storage method found."); - return (g._driverSet = va.reject(h)), g._driverSet; - } - var c = 0; - return b(); - }; - } - var g = this; - $a(a) || (a = [a]); - var h = this._getSupportedDrivers(a), - j = - null !== this._driverSet - ? this._driverSet.catch(function() { - return va.resolve(); - }) - : va.resolve(); - return ( - (this._driverSet = j - .then(function() { - var a = h[0]; - return ( - (g._dbInfo = null), - (g._ready = null), - g.getDriver(a).then(function(a) { - (g._driver = a._driver), - d(), - g._wrapLibraryMethodsWithReady(), - (g._initDriver = f(h)); - }) - ); - }) - .catch(function() { - d(); - var a = new Error("No available storage method found."); - return (g._driverSet = va.reject(a)), g._driverSet; - })), - i(this._driverSet, b, c), - this._driverSet - ); - }), - (a.prototype.supports = function(a) { - return !!ab[a]; - }), - (a.prototype._extend = function(a) { - sa(this, a); - }), - (a.prototype._getSupportedDrivers = function(a) { - for (var b = [], c = 0, d = a.length; c < d; c++) { - var e = a[c]; - this.supports(e) && b.push(e); - } - return b; - }), - (a.prototype._wrapLibraryMethodsWithReady = function() { - for (var a = 0, b = eb.length; a < b; a++) ra(this, eb[a]); - }), - (a.prototype.createInstance = function(b) { - return new a(b); - }), - a - ); - })(), - hb = new gb(); - b.exports = hb; - }, - { 3: 3 } - ] - }, - {}, - [4] - )(4); -}); diff --git a/bookmark_front/src/App.vue b/bookmark_front/src/App.vue index 1da117b..21c04ab 100644 --- a/bookmark_front/src/App.vue +++ b/bookmark_front/src/App.vue @@ -18,6 +18,7 @@ body { padding: 0; font-size: 100px; background-color: @bgColor; + height: initial; } #app { font-family: Avenir, Helvetica, Arial, sans-serif; diff --git a/bookmark_front/src/global.less b/bookmark_front/src/global.less index 8adef63..96351a8 100644 --- a/bookmark_front/src/global.less +++ b/bookmark_front/src/global.less @@ -9,7 +9,7 @@ * header 配置 */ @topHeight: 0.4rem; //header总高度 -@topPadding: 0.04rem; //header padding高度 +@topPaddingTop: 0.04rem; //header padding高度 /** * bottom配置 diff --git a/bookmark_front/src/layout/main/Content.vue b/bookmark_front/src/layout/main/Content.vue index aac0f0f..64c627f 100644 --- a/bookmark_front/src/layout/main/Content.vue +++ b/bookmark_front/src/layout/main/Content.vue @@ -10,14 +10,24 @@ export default {}; diff --git a/bookmark_front/src/layout/main/Top.vue b/bookmark_front/src/layout/main/Top.vue index 67e47d2..ceee6d2 100644 --- a/bookmark_front/src/layout/main/Top.vue +++ b/bookmark_front/src/layout/main/Top.vue @@ -1,13 +1,35 @@ @@ -16,9 +38,9 @@ export default { .main { position: fixed; top: 0; - width: calc(100% - 10px); - height: @topHeight - (2 * @topPadding); - padding: @topPadding; + width: 100%; + height: @topHeight; + padding: @topPaddingTop 3% @topPaddingTop 3%; display: flex; justify-content: space-between; align-items: center; @@ -28,6 +50,17 @@ export default { } .user { font-size: 0.3rem; + display: flex; + align-items: center; + cursor: pointer; + .userIcon { + width: @topHeight - 0.1rem; + height: @topHeight - 0.1rem; + border-radius: 50%; + } + .name { + font-size: 0.2rem; + } } } diff --git a/bookmark_front/src/main.js b/bookmark_front/src/main.js index 0c3d1b0..385e3c3 100644 --- a/bookmark_front/src/main.js +++ b/bookmark_front/src/main.js @@ -1,5 +1,5 @@ import Vue from "vue"; -import { Button, FormModel, Input, Icon, message, Checkbox } from "ant-design-vue"; +import { Button, FormModel, Input, Icon, message, Checkbox, Dropdown, Menu } from "ant-design-vue"; import App from "./App.vue"; import router from "./router"; import store from "./store"; @@ -9,6 +9,8 @@ Vue.use(FormModel); Vue.component(Input.name, Input); Vue.component(Icon.name, Icon); Vue.use(Checkbox); +Vue.use(Dropdown); +Vue.use(Menu); Vue.prototype.$message = message; Vue.config.productionTip = false; diff --git a/bookmark_front/src/store/modules/globalConfig.js b/bookmark_front/src/store/modules/globalConfig.js index a9098ba..0b6a411 100644 --- a/bookmark_front/src/store/modules/globalConfig.js +++ b/bookmark_front/src/store/modules/globalConfig.js @@ -1,4 +1,4 @@ -import localforage from "localforage"; +import localforage, { clear } from "localforage"; /** * 存储全局配置 */ @@ -6,7 +6,7 @@ const state = { /** * 用户信息 */ - userInfo: null, + userInfo: {}, /** * token */ @@ -20,6 +20,7 @@ const state = { const getters = {}; const actions = { + //初始化数据 async init(context) { if (context.state.isInit) { return; @@ -29,6 +30,14 @@ const actions = { window.token = token; context.commit("setToken", token); context.commit("isInit", true); + }, + //登出清除数据 + async clear(context) { + await localforage.removeItem("userInfo"); + await localforage.removeItem("token"); + delete window.token; + context.commit("setUserInfo", {}); + context.commit("setToken", null); } }; diff --git a/bookmark_front/src/views/public/pages/ResetPassword.vue b/bookmark_front/src/views/public/pages/ResetPassword.vue new file mode 100644 index 0000000..7f9037f --- /dev/null +++ b/bookmark_front/src/views/public/pages/ResetPassword.vue @@ -0,0 +1,133 @@ + + + + +