提交 0b86fd87 编写于 作者: Q qiang

fix: H5端storage去除App端相关兼容逻辑

上级 5d1c7dc4
const STORAGE_DATA_TYPE = '__TYPE'
const STORAGE_KEYS = 'uni-storage-keys' const STORAGE_KEYS = 'uni-storage-keys'
function parseValue (value) { function parseValue (value) {
...@@ -28,11 +27,6 @@ export function setStorage ({ ...@@ -28,11 +27,6 @@ export function setStorage ({
data: data data: data
}) })
try { try {
if (type === 'string' && parseValue(value) !== undefined) {
localStorage.setItem(key + STORAGE_DATA_TYPE, type)
} else {
localStorage.removeItem(key + STORAGE_DATA_TYPE)
}
localStorage.setItem(key, value) localStorage.setItem(key, value)
} catch (error) { } catch (error) {
return { return {
...@@ -62,26 +56,13 @@ export function getStorage ({ ...@@ -62,26 +56,13 @@ export function getStorage ({
} }
} }
let data = value let data = value
const typeOrigin = localStorage.getItem(key + STORAGE_DATA_TYPE) || '' try {
const type = typeOrigin.toLowerCase() const object = JSON.parse(value)
if (type !== 'string' || (typeOrigin === 'String' && value === '{"type":"undefined"}')) { const result = parseValue(object)
try { if (result !== undefined) {
// 兼容H5和V3初期历史格式 data = result
let object = JSON.parse(value) }
const result = parseValue(object) } catch (error) { }
if (result !== undefined) {
data = result
} else if (type) {
// 兼容App端历史格式
data = object
if (typeof object === 'string') {
object = JSON.parse(object)
// eslint-disable-next-line valid-typeof
data = typeof object === (type === 'null' ? 'object' : type) ? object : data
}
}
} catch (error) { }
}
return { return {
data, data,
errMsg: 'getStorage:ok' errMsg: 'getStorage:ok'
...@@ -99,8 +80,6 @@ export function removeStorage ({ ...@@ -99,8 +80,6 @@ export function removeStorage ({
key key
} = {}) { } = {}) {
if (localStorage) { if (localStorage) {
// 兼容App端历史格式
localStorage.removeItem(key + STORAGE_DATA_TYPE)
localStorage.removeItem(key) localStorage.removeItem(key)
} }
return { return {
...@@ -126,14 +105,14 @@ export function clearStorageSync () { ...@@ -126,14 +105,14 @@ export function clearStorageSync () {
} }
export function getStorageInfo () { export function getStorageInfo () {
const length = (localStorage && (localStorage.length || localStorage.getLength())) || 0 const length = (localStorage && localStorage.length) || 0
const keys = [] const keys = []
let currentSize = 0 let currentSize = 0
for (let index = 0; index < length; index++) { for (let index = 0; index < length; index++) {
const key = localStorage.key(index) const key = localStorage.key(index)
if (key !== STORAGE_KEYS && key.indexOf(STORAGE_DATA_TYPE) + STORAGE_DATA_TYPE.length !== key.length) { const value = localStorage.getItem(key)
const value = localStorage.getItem(key) currentSize += key.length + value.length
currentSize += key.length + value.length if (key !== STORAGE_KEYS) {
keys.push(key) keys.push(key)
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册