由于功能需要
如果需要做记住密码的功能或者路由守卫都需要使用一下数据持久化 方便数据的管理
这边我写好了一个封装的工具函数 可以直接导用
import dataPreferences from '@ohos.data.preferences';
export const PREFERENCE_KEY = 'PREFERENCE_KEY'
export const MSG_KEY = 'MSG_KEY'
export const setSomeThing=(key: string, val: string)=>{
dataPreferences.getPreferences(getContext(this),PREFERENCE_KEY,(err,preference) =>{
if (err) {
console.log('获取数据失败' + err)
return
}
preference.put(key,val,(err) =>{
if (err) {
console.log('放入数据失败')
return
}
preference.flush((err) => {
if (err) {
console.log('flush value error')
return
}
console.log('flush value success')
})
})
})
}
export const getValueForKey = async(key: string): Promise<string> =>{
let preference = await dataPreferences.getPreferences(getContext(this), PREFERENCE_KEY)
return preference.get(key,'default Value') as Promise<string>
}
这边建议放在common下的目录 创建一个 untils
这边可以直接导入使用
import {setSomeThing,getValueForKey,MSG_KEY} from '../common/untils/structuredata'
第一个函数setSomeThing 负责存储
第二个函数getValueForKey负责打印数据 或者 读取数据
第三个常量MSG_KEY 为键名
setSomeThing(MSG_KEY,this.account)
//这样子存储 第一个不变 第二个补充变量
let msg: string = await getValueForKey(MSG_KEY)
console.log('存起来的值',msg)