当前位置:首页 > uni-app

uniapp本地储存

2026-02-05 21:12:22uni-app

uniapp本地存储方法

uniapp提供了多种本地存储方案,适用于不同场景的数据持久化需求。以下是常用的本地存储方法:

同步存储与读取

使用uni.setStorageSyncuni.getStorageSync进行同步操作,适合少量关键数据的存储:

// 存储数据
uni.setStorageSync('key', 'value');

// 读取数据
let data = uni.getStorageSync('key');

// 删除指定key
uni.removeStorageSync('key');

// 清空所有数据
uni.clearStorageSync();

异步存储与读取

异步接口更适合大量数据存储,避免阻塞主线程:

// 存储数据
uni.setStorage({
  key: 'key',
  data: 'value',
  success: function() {
    console.log('存储成功');
  }
});

// 读取数据
uni.getStorage({
  key: 'key',
  success: function(res) {
    console.log(res.data);
  }
});

本地文件存储

对于较大数据或文件,可使用文件系统API:

// 写入文件
plus.io.requestFileSystem(plus.io.PRIVATE_WWW, function(fs) {
  fs.root.getFile('test.txt', {create: true}, function(fileEntry) {
    fileEntry.createWriter(function(writer) {
      writer.write('文件内容');
    });
  });
});

// 读取文件
plus.io.requestFileSystem(plus.io.PRIVATE_WWW, function(fs) {
  fs.root.getFile('test.txt', {}, function(fileEntry) {
    fileEntry.file(function(file) {
      let reader = new plus.io.FileReader();
      reader.readAsText(file);
      reader.onloadend = function(e) {
        console.log(this.result);
      }
    });
  });
});

注意事项

  • 同步API会阻塞后续代码执行,建议在简单场景使用
  • 存储大小限制通常为5-10MB,不同平台可能有差异
  • 敏感信息建议加密后存储
  • H5端使用localStorage实现,App端使用原生存储

扩展方案

对于更复杂的需求:

  • SQLite数据库插件:适合结构化数据存储
  • IndexedDB:H5端的大容量存储方案
  • 第三方缓存库:如lru-cache等内存缓存方案

uniapp本地储存

标签: uniapp
分享给朋友:

相关文章

uniapp 消息推送

uniapp 消息推送

uniapp 消息推送实现方法 使用uniPush服务 uniapp官方提供了uniPush服务,支持iOS、Android及小程序平台的消息推送。需要在manifest.json中配置推送模块,并按…

uniapp使用npm

uniapp使用npm

uniapp中使用npm的方法 uniapp支持通过npm安装和管理第三方依赖包,以下是具体操作步骤: 安装Node.js环境 确保本地已安装Node.js(建议使用LTS版本),安装后会自动包含…

uniapp怎么启动

uniapp怎么启动

启动UniApp项目的步骤 确保已安装Node.js(建议版本12+)和HBuilderX(官方IDE)。若未安装,需先下载并配置环境。 安装开发工具 从HBuilderX官网下载对应操作系统的版…

uniapp隐藏滚动条

uniapp隐藏滚动条

在UniApp中隐藏滚动条可以通过以下几种方法实现,具体根据使用场景选择: 全局样式设置(APP/H5) 通过修改全局CSS样式隐藏滚动条,适用于所有页面: ::-webkit-scrollb…

uniapp部署到服务器

uniapp部署到服务器

部署准备 确保本地开发环境已完成项目构建,生成静态文件(H5端为/dist/build/h5目录)。检查服务器环境是否安装Nginx/Apache等Web服务软件,并配置好域名解析。 上传文件 通…

uniapp组件

uniapp组件

uniapp组件基础概念 uniapp的组件系统基于Vue.js,支持跨平台开发(H5、小程序、App等)。组件分为内置基础组件(如<view>、<button>)和自定义组件…