在微信小程序中,可以通过以下几种方法获取缓存数据:
使用 `wx.getStorage` 方法(异步)
首先,通过 `wx.setStorage` 方法将数据存储到本地缓存中。
然后,使用 `wx.getStorage` 方法并传入要获取数据的 `key` 值,通过回调函数获取数据。
示例代码:
```javascript
wx.setStorage({ key: 'username', data: 'John Doe' });
wx.getStorage({ key: 'username', success: function(res) {
console.log(res.data); // 输出 'John Doe' } });
```
使用 `wx.getStorageSync` 方法(同步)
使用 `wx.setStorageSync` 方法将数据存储到本地缓存中。
使用 `wx.getStorageSync` 方法并传入要获取数据的 `key` 值,直接返回对应的数据。
示例代码:
```javascript
wx.setStorageSync('phone', '1234567890');
var phone = wx.getStorageSync('phone');
console.log(phone); // 输出 '1234567890'
```
使用 `wx.getStorage` 方法(异步)并指定回调函数
与第一种方法类似,但使用 `wx.getStorage` 方法并传入回调函数来获取数据。
示例代码:
```javascript
wx.setStorage({ key: 'myData', data: res.data.data });
wx.getStorage({ key: 'myData', success: function(res) {
var myData = res.data;
// 读取key值为myData的缓存数据并渲染到页面
that.setData({ userName: myData.user.truename, schoolName: myData.school.name, className: myData.user.className });
} });
```
使用 `wx.getStorageSync` 方法(同步)并指定返回值
与第二种方法类似,但使用 `wx.getStorageSync` 方法并直接返回对应的数据。
示例代码:
```javascript
var users_head = wx.getStorageSync('users_head');
var users_name = wx.getStorageSync('users_name');
console.log(users_head); // 输出用户头像数据
console.log(users_name); // 输出用户名数据
```
使用 `wx.clearStorage` 方法(异步)
清除指定 `key` 的缓存数据。
示例代码:
```javascript
wx.clearStorage({ key: 'username' });
```
使用 `wx.clearStorageSync` 方法(同步)
同步清除指定 `key` 的缓存数据。
示例代码:
```javascript
wx.clearStorageSync('username');
```
使用 `wx.clearStorage` 方法(异步)清空所有缓存数据
清除所有缓存数据。
示例代码:
```javascript
wx.clearStorage({ success: function() {
console.log('All cache data cleared');
} });
```
使用 `wx.clearStorageSync` 方法(同步)清空所有缓存数据
同步清除所有缓存数据。
示例代码:
```javascript
wx.clearStorageSync();
```
通过以上方法,可以在微信小程序中方便地获取和管理本地缓存数据。建议根据业务需求选择合适的异步或同步方法,并注意缓存数据的大小限制(同一个微信用户,同一个小程序 storage 上限为 10MB)。