全部
常见问题
产品动态
精选推荐

首页diy商品选项卡组件缓存优化

管理 管理 编辑 删除
//原代码 -每次切换选项 都会重新从服务器获取数据
pages/index/components/goodList.vue

productslist() {
				let limit = this.$config.LIMIT;
				let data = {};
				if (this.typeConfig == 1) {
					data = {
						ids: this.dataConfig.goodsList.ids.join(','),
					};
				} else {
					data = {
						priceOrder: this.goodsSort == 2 ? 'desc' : '',
						salesOrder: this.goodsSort == 1 ? 'desc' : '',
						brand_id: this.typeConfig == 2 ? this.dataConfig.brandList.brandVal.join(',') : '',
						store_label_id: this.typeConfig == 4 ? this.dataConfig.goodsLabel.activeValue.join(',') : '',
						cate_id: this.typeConfig == 3 ? this.dataConfig.classList.classVal.join(',') : '',
						limit: this.numberConfig
					};
				}
				getProductslist(data).then(res => {
					this.tempArr = res.data;
				});
			},
			
			


			
//优化修改后,初次点击切换从服务器获取,后续切换从本地缓存, 总共改3个地方

//前两处修改 文件路径
//pages/index/components/promotionList.vue

watch: {
			activeValue: {
				handler(value) {
					let that = this;
					let type = that.goodType == 0 ? 3 : that.goodType;
					let goodDataConfig = {

						navindex:this.ProductNavindex,//新增已选分类index
						......
						
						
created() {
			let that = this;
			let type = that.goodType == 0 ? 3 : that.goodType;
			let goodDataConfig = {
				navindex:this.ProductNavindex,//新增已选分类index						

......



//最后一处修改 文件路径
//pages/index/components/goodList.vue

				productslist() {
				let limit = this.$config.LIMIT;
				let data = {};
				if (this.typeConfig == 1) {
					data = {
						ids: this.dataConfig.goodsList.ids.join(','),
					};
				} else {
					data = {
						priceOrder: this.goodsSort == 2 ? 'desc' : '',
						salesOrder: this.goodsSort == 1 ? 'desc' : '',
						brand_id: this.typeConfig == 2 ? this.dataConfig.brandList.brandVal.join(',') : '',
						store_label_id: this.typeConfig == 4 ? this.dataConfig.goodsLabel.activeValue.join(',') : '',
						cate_id: this.typeConfig == 3 ? this.dataConfig.classList.classVal.join(',') : '',
						limit: this.numberConfig
					};
				}


				let diyVersion = uni.getStorageSync('diyVersion') //首页diy版本
				let navindex = this.dataConfig.navindex
				let key = navindex !== null ? `navinde&${navindex}` : null;
				if (key) {
					let goods = uni.getStorageSync(key) //根据key获取指定商品列表 和 缓存版本
					if (goods.version == diyVersion) { //检查缓存是否过期
						this.tempArr = goods.list //未过期 直接使用缓存
						return
					}
				}
				getProductslist(data).then(res => {
					this.tempArr = res.data

					//存入缓存
					if (key) {
						let value = {
							list: res.data,
							version: diyVersion
						};
						uni.setStorageSync(key, value);
						console.log("存入缓存", key, value)
					}
				});

			},
			


9c63d20240722112504801.png

e7c32202407221125304723.png


1f2a8202407221204136568.png


非常奈斯!

791c1202407221201487154.png

请登录后查看

浮云先生 最后编辑于2024-07-22 12:05:22

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
456
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

浮云先生 作者
二开加微信,请备注“二开”

回答

89

发布

13

经验

3995

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服