123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import {
- validatenull
- } from '@/util/validate';
- import website from '@/config/website'
- const keyName = website.key + '-';
- /**
- * 存储localStorage
- */
- export const setStore = (params = {}) => {
- let {
- name,
- content,
- type,
- } = params;
- name = keyName + name
- let obj = {
- dataType: typeof (content),
- content: content,
- type: type,
- datetime: new Date().getTime()
- }
- if (type) window.sessionStorage.setItem(name, JSON.stringify(obj));
- else window.localStorage.setItem(name, JSON.stringify(obj));
- }
- /**
- * 获取localStorage
- */
- export const getStore = (params = {}) => {
- let {
- name,
- debug
- } = params;
- name = keyName + name
- let obj = {},
- content;
- obj = window.sessionStorage.getItem(name);
- if (validatenull(obj)) obj = window.localStorage.getItem(name);
- if (validatenull(obj)) return;
- try {
- obj = JSON.parse(obj);
- } catch {
- return obj;
- }
- if (debug) {
- return obj;
- }
- if (obj.dataType == 'string') {
- content = obj.content;
- } else if (obj.dataType == 'number') {
- content = Number(obj.content);
- } else if (obj.dataType == 'boolean') {
- content = eval(obj.content);
- } else if (obj.dataType == 'object') {
- content = obj.content;
- }
- return content;
- }
- /**
- * 删除localStorage
- */
- export const removeStore = (params = {}) => {
- let {
- name,
- type
- } = params;
- name = keyName + name
- if (type) {
- window.sessionStorage.removeItem(name);
- } else {
- window.localStorage.removeItem(name);
- }
- }
- /**
- * 获取全部localStorage
- */
- export const getAllStore = (params = {}) => {
- let list = [];
- let {
- type
- } = params;
- if (type) {
- for (let i = 0; i <= window.sessionStorage.length; i++) {
- list.push({
- name: window.sessionStorage.key(i),
- content: getStore({
- name: window.sessionStorage.key(i),
- type: 'session'
- })
- })
- }
- } else {
- for (let i = 0; i <= window.localStorage.length; i++) {
- list.push({
- name: window.localStorage.key(i),
- content: getStore({
- name: window.localStorage.key(i),
- })
- })
- }
- }
- return list;
- }
- /**
- * 清空全部localStorage
- */
- export const clearStore = (params = {}) => {
- let { type } = params;
- if (type) {
- window.sessionStorage.clear();
- } else {
- window.localStorage.clear()
- }
- }
|