123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import {validatenull} from './validate';
- import website from '~src/config/index'
- 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 = [], {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()
- }
- }
- //清空全部localStorage
- export const clearStoreAll = () => {
- window.sessionStorage.clear();
- window.localStorage.clear()
- }
|