uniapp 实现一个本地浏览历史商品程序,存储格式为id跟图片地址,并且不能有重复id数据,最多存10条
时间: 2024-02-13 20:00:10 浏览: 50
下面是一个示例代码,实现了基于uniapp框架的本地浏览历史程序,可以记录最近浏览的商品id和图片地址,并且保证不重复,且最多存储10条记录:
```javascript
// 将商品id和图片地址存储到本地浏览历史中
function addViewedProduct(product) {
let viewedProducts = uni.getStorageSync('viewedProducts') || [];
// 如果该商品id已存在于浏览历史中,则不再添加
if (viewedProducts.some(p => p.id === product.id)) {
return;
}
// 将该商品添加到浏览历史中
viewedProducts.unshift(product);
// 最多只保留前10条浏览历史记录
if (viewedProducts.length > 10) {
viewedProducts = viewedProducts.slice(0, 10);
}
uni.setStorageSync('viewedProducts', viewedProducts);
}
// 获取最近浏览的商品列表
function getViewedProducts() {
const viewedProducts = uni.getStorageSync('viewedProducts') || [];
return viewedProducts;
}
// 使用数组展示最近浏览的商品列表
function showViewedProducts() {
const viewedProducts = getViewedProducts();
// 展示最近浏览的商品列表
}
```
在该示例代码中,我们使用`uni.getStorageSync`和`uni.setStorageSync`方法来读取和存储本地浏览历史数据。我们通过`viewedProducts`数组来存储最近浏览的商品信息,其中每个商品信息包括`id`和`image`属性。当用户浏览新商品时,我们首先检查该商品id是否已经存在于浏览历史中,如果已经存在,则不再添加;否则,我们将该商品添加到数组的前面,并且保证最多只保留前10条浏览历史记录。最后,我们可以通过`getViewedProducts`方法获取最近浏览的商品列表,并展示到页面上。
阅读全文