修复本地存储对象获取数据时正确返回默认值与添加获取不同类型的数据方法

This commit is contained in:
dgflash
2022-08-30 14:44:11 +08:00
parent 1b90b7c10f
commit 4be9f0359e

View File

@@ -82,10 +82,10 @@ export module storage {
* @param defaultValue 获取的默认值
* @returns
*/
export function get(key: string, defaultValue?: any) {
export function get(key: string, defaultValue?: any): string {
if (null == key) {
console.error("存储的key不能为空");
return;
return null!;
}
key = `${key}_${_id}`;
@@ -103,31 +103,27 @@ export module storage {
}
}
if (null == defaultValue || typeof defaultValue === 'string') {
return str;
}
if (null === str) {
return defaultValue;
}
if (typeof defaultValue === 'number') {
return Number(str) || 0;
}
if (typeof defaultValue === 'boolean') {
return "true" == str; // 不要使用Boolean("false");
}
if (typeof defaultValue === 'object') {
try {
return JSON.parse(str);
}
catch (e) {
console.error("解析数据失败,str=" + str);
return defaultValue;
}
}
return str;
}
export function getNumber(key: string, defaultValue: number = 0): number {
var r = get(key);
return Number(r) || defaultValue;
}
export function getBoolean(key: string): boolean {
var r = get(key);
return Boolean(r) || false;
}
export function getJson(key: string, defaultValue?: any): any {
var r = get(key);
return (r && JSON.parse(r)) || defaultValue;
}
/**
* 删除指定关键字的数据
* @param key 需要移除的关键字