在使用uniapp开发手机app时,有的数据我们需要保存在本地,有许多方式都可以实现,比如localstorage,sessionstorage,indexDB或者sqlite。但是上面这种方式都有一个问题,就是app卸载之后保存的数据也会随之一起删除。今天介绍一个app卸载重装后数据依然存在的方法,思路就是把数据存储到手机的文件系统中,下面是代码实现。
新建一个storage.js的文件
export default {
storage(addr, data) {
plus.io.requestFileSystem(
plus.io.PRIVATE_DOC, // 程序私有文档目录常量
fs => {
// 创建或打开文件, fs.root是根目录操作对象,直接fs表示当前操作对象
fs.root.getFile(
addr, {
create: true // 文件不存在则创建
},
fileEntry => {
// 文件在手机中的路径
fileEntry.createWriter(writer => {
// 写入文件成功完成的回调函数
writer.onwrite = e => {
console.log('写入成功');
};
// 向文件中写入数据
writer.write(
JSON.stringify(data)
);
});
},
e => {
console.log('getFile failed: ' + e.message);
}
);
},
e => {
console.log(e.message);
}
);
},
read(addr) {
let that = this;
return new Promise((resolve, reject) => {
plus.io.requestFileS

文章介绍了在uniapp开发中,如何利用手机文件系统实现数据持久化存储,即使app卸载重装,数据仍然可以保留。通过创建一个名为`storage.js`的文件,导出`storage`对象,包含`storage`和`read`两个方法,分别用于写入和读取文件系统中的数据,使用`plus.io.requestFileSystem`和`FileWriter`进行文件操作。
最低0.47元/天 解锁文章
4529

被折叠的 条评论
为什么被折叠?



