JS开发者必看:微信小程序本地存储(localStorage、sessionStorage等)全攻略!
微信小程序提供了多种本地存储方式,包括localStorage、sessionStorage、AsyncStorage和File。 1. localStorage:localStorage主要用于存储非敏感数据,如用户设置、收藏等,数据不会在用户关闭小程序后消失。 ```javascript // 存储数据 wx.setStorageSync(key, value); // 获取数据 var value = wx.getStorageSync(key); ``` 2. sessionStorage:sessionStorage主要用于存储临时数据,数据在用户关闭小程序后会自动删除。 ```javascript // 存储数据 wx.setStorageSync(key, value); // 获取数据 var value = wx.getStorageSync(key); ``` 3. AsyncStorage:AsyncStorage用于存储非敏感数据,数据不会在用户关闭小程序后消失。AsyncStorage相比于localStorage,提供了异步操作,可以提高性能。 ```javascript // 存储数据 wx.setStorageSync(key, value); // 获取数据 var value = wx.getStorageSync(key); ``` 4. File:File用于存储文件,如图片、音频等。 ```javascript // 存储文件 wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function(res) { var tempFilePaths = res.tempFilePaths; // 返回选定照片的本地路径 // 将本地路径保存到本地存储 wx.setStorageSync('image', tempFilePaths); } }); // 获取文件 var image = wx.getStorageSync('image'); ``` 注意:在使用localStorage、sessionStorage和AsyncStorage时,需要在app.js中进行设置,例如: ```javascript App({ globalData: { userInfo: null }, onLaunch: function() { // 后端返回的全局数据 var data = { name: '张三', avatarUrl: 'https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIpXicU4GvVicUic49f3LZTiaDl2JpBiaibE6mibicYKZlQicibicYKicibicYicibicYibicYibicYibicibicYibicibibicibicibicibicibicibibicibicibicibicibibicibicibicibicibicibicibicib ######[AI写代码神器 | 1500点数解答 | 2023-11-09 01:45:35]
- Vue项目代码优化:职位详情异常处理、简历校验与收藏操作提示升级 (GPT | 136点数解答 | 2024-12-29 17:09:05)240
- Java实现有序集合合并与交集算法(顺序表+单链表)(百度文心 | 1247点数解答 | 2026-03-25 10:35:22)15
- "Debugging 'Cannot Read Properties of Null (reading \'userid\')' Error in Vue Components: Steps and Example"(讯飞星火 | 614点数解答 | 2024-11-28 14:31:57)274
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)374
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)321
- HTML+jQuery:打造带动态交互效果的商品展示页面(讯飞星火 | 497点数解答 | 2024-12-19 14:58:18)329
- HTML与jQuery结合:实现商品列表交互动画的首页代码解析(讯飞星火 | 497点数解答 | 2024-12-19 14:58:20)345
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)266
- Three.js实现可360°观察正交长方体:代码分析、优化与注意要点(DeepSeek | 466点数解答 | 2025-03-01 11:35:41)255
- JavaScript 开发必知:Vuex 与 LocalStorage 的区别大揭秘(阿里通义 | 245点数解答 | 2023-11-09 01:50:45)180
- JS 代码:轻松定义含“Saab、Volvo、BMW”的数组变量 mycars( | 14点数解答 | 2024-05-19 20:47:47)419
- JS 代码:定义存储“saab”“volvo”“bmw”的数组变量 mycars( | 21点数解答 | 2024-05-20 22:18:13)279