网站首页 > 资源文章 正文
本文主要介绍基于微信小程序实现电商SKU组合算法问题 ,这也是电商业务里比较复杂的一块内容了。下面先看下实现的效果:
SKU点击切换效果
后台编辑商品时,将一些规格组合禁用,如: 金色 256G 原厂延保版 是禁用状态的。当内存选中256G,版本选中原厂延保版,那么颜色里 金色就会变成 虚线边框,表示这种组合是被禁用的,点击了 金色后就会 变成无货状态,不可购买。
下面来整理下实现思路,先定义一下接下来会用到的名词:
规格名—比如:颜色、内存、版本
规格值—比如:暗夜绿色、256G、原厂延保版
SKU—唯一确定一件商品,即 { 颜色:暗夜绿色;内存:256G;版本:原厂延保版;}
后台接口返回的数据是一个SKU的列表json字符串 skuList:
每一个SKU对象都含有 skuId,price(价格),stocks(库存),properties(SKU属性值)
我们分三步走:
1、组装SKU数据,在界面上显示出 所有规格选项
1.1 把所有的sku对象的 properties(SKU属性值) 放进一个数组 allProperties
下面就是对应的结果
1.2 然后我要获得所有的规格名 放进 数组 propKeys,获取所有的规格名下的规格值 放进 对象 skuGroup
结果如下
1.3 有了 skuGroup对象,我们就可以在界面上渲染出
结果如下
2、默认选中一个SKU,并计算其他选项的状态,可选或者不可选(虚线边框)
//找到和商品价格一样的那个SKU,作为默认选中的SKU,(后台代码计算商品价格时,需要把所有SKU的最低价设置成商品的价格)
并组装好三个变量: selectedProp,selectedPropObj,selectedProperteis
然后在wxml里就可以渲染出来,默认SKU的选中状态和其他选项的状态
prod.wxml部分代码。其中有wxs方法:array_contain 和 props_contain2
number.wxs 部分代码
3、规格选项的点击事件,计算当前SKU的信息
最后,给出开源商城系统Mall4j 项目地址,大家可以去直接参考代码。https://gitee.com/gz-yami/mall4j
链接文章
https://juejin.im/post/5dc36e986fb9a04a8a53bf33
- 上一篇: 分享15个基于Vue3.0全家桶的优秀开源项目
- 下一篇: “无效的用户名或密码”:这种设计真的糟透了
猜你喜欢
- 2024-10-21 分享15个基于Vue3.0全家桶的优秀开源项目
- 2024-10-21 分享一个免费开源的微商城(微信开发免费平台)
- 2024-10-21 程序猿不倦不行了,我也搞一个开源商城项目,上手简单,部署方便
- 2024-10-21 给大家推荐一套电商开源平台,包括前台商城系统及后台管理系统
- 2024-10-21 跨境电商系统_商城自营系统业务逻辑_OctShop免费开源商城系统
- 2024-10-21 强烈推荐一款超好用的免费开源电商系统
- 2024-10-21 一个Java版 Spring+Uniapp的开源商城项目
- 2024-10-21 开源、轻量、简洁的商城小铺系统(开源电商小程序)
- 2024-10-21 开源商城系统包含后台管理和手机端
- 2024-10-21 JAVA多商户商城小程序源码带拼团秒杀积分全开源系统商城
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)