定义base64加密
类
import { Base64 } from 'js-base64'
class BaseData {
constructor (props, ...arge) {
// 定义加盐项
this.salting = (props && props.baseString) || 'admin-git-use'
}
encryptString (name) {
let str = null
// 判断是否为对象
if (name instanceof Object) {
str = JSON.stringify(name)
}
// 加盐
return Base64.encode(str || name + this.salting)
}
decodeString (name) {
let decodeName = Base64.decode(name) || ''
if (decodeName && decodeName.split) {
let arr = decodeName.split(this.salting)
let obj = arr[0]
let out = null
// 判断是否是对象
obj.indexOf('{') !== -1 ? out = JSON.parse(obj) : out = obj
return out
} else {
return ''
}
}
}
export default BaseData
依赖:js-base64
定义本地存储
import store from 'store'
import BaseData from '@/utils/basedata'
let base = new BaseData()
class LocalData {
constructor (props, ...arge) {
this.expires = 10 * 60 * 1000 // 默认十分钟
}
// 设置本地存储
setStore (name, data, during = this.expires) {
// 临时变量 用来拼接过期时间
let tempData = {
time: this.getNowTime(),
during,
data
}
// 设置存储
store.set(`${name}`, base.encryptString(tempData))
}
// 获取本地存储
getStore (name) {
let data = store.get(name)
if (data) {
let tempData = base.decodeString(data)
if (tempData.time && tempData.during) {
let timer = tempData.time + tempData.during
if (this.getNowTime() < (timer)) {
return tempData.data
} else {
return ''
}
} else {
return ''
}
} else {
return ''
}
}
// 删除缓存
deleteStore (name) {
store.remove(name)
}
// 获取当前时间
getNowTime () {
return Date.parse(new Date())
}
}
export default LocalData
依赖:store