使用 SDK
更新時(shí)間:
業(yè)務(wù)數(shù)據(jù)存儲(chǔ)
基于 Prefersence 內(nèi)存存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)模塊,支持的數(shù)據(jù)類(lèi)型包含:number、string、boolean、Array<number>、Array<boolean>、Array<Uint8Array> 和 Uint8Array。
創(chuàng)建業(yè)務(wù)數(shù)據(jù)表
let mpData: MPData = MPData.createData('xxx')
增刪改查
let mpData: MPData = MPData.createData('xxx')
mpData.put(key,value)
mpData.putObject(key,object)
mpData.delete(key)
mpData.get(key):preferences.ValueType
mpData.getAll(): [string,string[]]
同步
不調(diào)用同步接口時(shí),數(shù)據(jù)信息存儲(chǔ)到內(nèi)存中;調(diào)用同步接口后,數(shù)據(jù)存儲(chǔ)到序列化文件中。
mpData.synchronize()
清空數(shù)據(jù)
mpData.clear()
全局用戶(hù)存儲(chǔ)
增刪改查
import { MPData } from "@mpaas/datacenter"
// 存儲(chǔ)
// 基本數(shù)據(jù)類(lèi)型
MPData.put(key, value).then().catch() // 默認(rèn)全局存儲(chǔ)
MPData.put(key, value,{userId:""}).then().cantch //用戶(hù)關(guān)聯(lián)數(shù)據(jù)存儲(chǔ)
MPData.put(key, value,{encrypt: true}).then().catch() // 使用加密存儲(chǔ)
// object
MPData.putObject(key, value).then().catch()
MPData.putObject(key, value,{userId:""}).then().cantch //用戶(hù)關(guān)聯(lián)數(shù)據(jù)存儲(chǔ)
MPData.putObject(key, value,{encrypt: true}).then().catch() // 使用加密存儲(chǔ)
// 批量操作
MPData.putBatch(values).then().catch()
MPData.putBatch(values,{userId:""}).then().cantch //用戶(hù)關(guān)聯(lián)數(shù)據(jù)存儲(chǔ)
MPData.putBatch(values,{encrypt: true}).then().catch() // 使用加密存儲(chǔ)
// 取值
MPData.get(key).then().catch()
MPData.get(key,{userId:""}).then().cantch //用戶(hù)關(guān)聯(lián)數(shù)據(jù)
MPData.get(key,{encrypt: true}).then().catch() // 使用加密
// 刪除
await MPData.delete(key)
await MPData.delete(key,{userId : "" })
await MPData.delete(key,{encrypt:true})
重要
傳入的可選參數(shù)要保持一致。
重置數(shù)據(jù)
// 重置
await MPData.resetGlobalStore() // 全局?jǐn)?shù)據(jù)
await MPData.resetUserStore(userId) // 用戶(hù)數(shù)據(jù)
查詢(xún)指定參數(shù)下所有數(shù)據(jù)
// 獲取所有數(shù)據(jù)
await MPData.getAllData() // 全局?jǐn)?shù)據(jù)
await MPData.getAllData(userId) //用戶(hù)數(shù)據(jù)
關(guān)閉鏈接
建議使用完數(shù)據(jù)后關(guān)閉數(shù)據(jù)庫(kù)鏈接,鴻蒙底層限制最大并發(fā) 8 個(gè)數(shù)據(jù)庫(kù)鏈接池,超過(guò)后會(huì)有異常。
await MPData.close()
獲取指定前綴的數(shù)據(jù)數(shù)組
MPData.getEntries(keyPrefix).then((data)=>{
//data 是一個(gè)json串
}).catch()
MPData.getEntries(keyPrefix,{userId:""}).then().cantch //用戶(hù)關(guān)聯(lián)數(shù)據(jù)
MPData.getEntries(keyPrefix,{encrypt: true}).then().catch() // 使用加密
文件存儲(chǔ)
let fileUtil = new MPFile()
// 存儲(chǔ)文件 encrypt:是否加密
public async saveFile(fileName: string , content: string, encrypt: boolean = false)
// 獲取文件內(nèi)容
public async getFileContent(fileName: string, encrypt: boolean = false)
// 刪除文件
public async removeFile(fileName: string)
數(shù)據(jù)集操作
調(diào)用
getResult
獲取數(shù)據(jù)集。// 獲取指定前綴的數(shù)據(jù)集 MPData.getResult(keyPrefix).then().catch() MPData.getResult(keyPrefix,{userId:""}).then().catch() MPData.getResult(keyPrefix,{encrypt:true}).then().catch()
調(diào)用下方 API。其中,參數(shù)要保持一致。
MPData.getCount() 當(dāng)前游標(biāo)位置 MPData.getPosition() 游標(biāo)移動(dòng) MPData.moveToFirst() MPData.moveToNext() MPData.moveToPrevious() MPData.move(offset) MPData.moveToPosition(position) 游標(biāo)位置判斷 MPData.isFirst() MPData.isLast() MPData.isBeforeFirst() MPData.isAfterLast() 獲取當(dāng)前游標(biāo)對(duì)應(yīng)的數(shù)據(jù) MPData.getEntry()
文檔內(nèi)容是否對(duì)您有幫助?