subject-two/entry/src/main/ets/utils/Preference.ets
2025-02-11 09:09:34 +08:00

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();