55 lines
1.2 KiB
TypeScript
55 lines
1.2 KiB
TypeScript
/**
|
|
* 图片转Base64
|
|
*/
|
|
function getBase64(file: File): Promise<string | ArrayBuffer | null> {
|
|
return new Promise((resolve, reject) => {
|
|
const reader = new FileReader();
|
|
reader.readAsDataURL(file);
|
|
reader.onload = () => resolve(reader.result);
|
|
reader.onerror = error => reject(error);
|
|
});
|
|
}
|
|
/**
|
|
* 预览图片
|
|
*/
|
|
export async function previewCover(file: any): Promise<string> {
|
|
if (!file.url && !file.preview) {
|
|
file.preview = await getBase64(file.originFileObj);
|
|
}
|
|
return file.url || file.preview || '';
|
|
}
|
|
|
|
/**
|
|
* 存储对应key
|
|
* @param key 键值
|
|
* @param value 内容 object自动序列化
|
|
*/
|
|
|
|
export function saveValue(key: string, value: any): boolean{
|
|
if(typeof value == 'object'){
|
|
value = JSON.stringify(value)
|
|
}
|
|
try {
|
|
localStorage.setItem(key, value);
|
|
return true;
|
|
} catch (error) {
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* 获取对应key
|
|
* @param key 键值
|
|
*/
|
|
export function getValue(key: string): any{
|
|
let value = localStorage.getItem(key);
|
|
if(value != null){
|
|
try {
|
|
value = JSON.parse(value);
|
|
} catch (error) {
|
|
return value;
|
|
}
|
|
}
|
|
return value;
|
|
} |