51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
import dataPreferences from '@ohos.data.preferences';
|
|
|
|
let preference: dataPreferences.Preferences;
|
|
const SYSTEM_DB: string = 'system.db'
|
|
let context = getContext(this);
|
|
|
|
class PreferenceUtils {
|
|
async writeData(value: dataPreferences.ValueType, key: string) {
|
|
// if (value === null) {
|
|
// return;
|
|
// }
|
|
if (!preference) {
|
|
await this.getPreferencesFromStorage(SYSTEM_DB);
|
|
}
|
|
try {
|
|
await preference.put(key, value);
|
|
} catch (err) {
|
|
console.info(`Failed to put value, Cause: ${err}`);
|
|
}
|
|
await preference.flush();
|
|
}
|
|
|
|
// 获取其他缓存数据
|
|
async getData<T extends dataPreferences.ValueType>(key: string) {
|
|
let value: dataPreferences.ValueType = 1;
|
|
if (!preference) {
|
|
await this.getPreferencesFromStorage(SYSTEM_DB);
|
|
}
|
|
|
|
try {
|
|
value = (await preference.get(key, ''));
|
|
} catch (err) {
|
|
console.info(`Failed to get value, Cause: ${err}`);
|
|
}
|
|
if (value === '') {
|
|
return;
|
|
}
|
|
return value as T;
|
|
}
|
|
|
|
// 创建登录数据preference
|
|
async getPreferencesFromStorage(name: string) {
|
|
try {
|
|
preference = await dataPreferences.getPreferences(context, name);
|
|
} catch (err) {
|
|
console.info(`Failed to get preferences, Cause: ${err}`);
|
|
}
|
|
}
|
|
}
|
|
|
|
export default new PreferenceUtils(); |