电商项目中的SKU设计,前端后端数据逻辑
电商商品中常常能看到
其中,Color, 与Size,就是所谓的商品属性;
1.数据库如何设计
(1)商品表:goods
这个表很简单,根据需求来设计
(2)规格表:goods_attr
(3)规格属性:goods_attr_vals
(4)商品SKU:goods_sku
到这里数据库,基本上设计完了
2.给前端接口中的数据结构
我的做法是后端处理好结构返回数据
(1)商品信息:info
(2)商品属性:attr
(3)商品SKU:sku
(4)有效属性:tags
解释:
info,商品信息,就没什么要求,反正需要显示的。
attr,是商品的规格,用来循环属性名称,以及属性下的子属性值,id 与 SKU中的 “k1_4_9”关联
tags,作用是,从goods_sku中的 attr_group分解读出。id与id之间的关联。(就类似,选中白色,S,和8G 的id 就会有关联),这个方便前端点击规格后,那些关联规格高亮(就是有效)
sku,最后通过选择每个属性中的一个具体子属性值,selected = {0:1,1:4,2:9}(这是前端选择属性时,组成的一个当前选中属性值对象。序号0,1,2代表3个规格attr的序号,1,4,9,代表选中对应的id),最后通过组成 "k1_4_9"。可在sku中找到对应sku数据。
3.前端如何处理多个规格中,点击其中一个,其余高亮
我的思路是,一个商品,goods_attr_vals属性值是以id做主键,所以必然不会重复。
tags数据结构,当选中1时,所有子属性值中,id = “1,4,9”高亮。
当选中,4时[1,2,4,9,10],与[1,4,9]取交集,结果是[1,4,9]。依次类推。便可得出。
其中没有说到的,
每次点击时,根据 selected 来值来判断,初始selected = {},当选中某个规格时,selected = {0:1} 或者 selected = {1:4}。
然后循环selected 来查看tags 中 对应的数组值,将其进行取交集便可得出
代码:
/*** 选中规格*/ onAttr(i, k) {if (this.selected[i] === k) {delete this.selected[i];} else {this.selected[i] = this.attr[i][k].id;}/*** 判断交集规格*/hasAttr() {let temp = [];const arr = this.tags;for (let i in this.selected) {const id = this.selected[i];if(temp.length == 0){temp = [].concat(arr[id]);}else{temp = temp.filter((item) => arr[id].indexOf(item) > -1);}}return temp;},
电商项目中的SKU设计,前端后端数据逻辑相关推荐
- 【项目实战】电商项目中的SPU与SKU傻傻分不清楚
一.SPU与SKU介绍 电商里面一般对商品的单位都有 SPU 或 SKU,这两个概念有什么区别? 在电商项目中,SPU和SKU是两个常用的概念,它们分别表示不同的商品信息. 从广义上讲,类目>S ...
- 电商项目中订单系统到底该怎么设计才好?(至尊典藏版)
目录 前言 一.订单系统架构 1. 订单系统在企业中的角色 2. 订单系统与各业务系统的关系 3. 订单系统上下游关系编辑 4. 订单系统的业务架构编辑 二.订单系统核心功能 1. 订单中所包含的 ...
- 电商项目中的经典问题
转载自:https://blog.csdn.net/A_BlackMoon/article/details/80094814 请描述一下这个系统? [回答技巧] 从3个方面来回答这个问题: |--系统 ...
- 电商项目的数据库表设计(MySQL版)
简介: 目的: 电商常用功能模块的数据库设计 常见问题的数据库解决方案 环境: MySQL5.7 图形客户端,SQLyog Linux 模块: 用户:注册.登陆 商品:浏览.管理 订单:生成.管理 仓 ...
- 关于电商项目中的秒杀实现方案
秒杀:秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到.对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前 ...
- 电商项目中SPU与SKU的设计
1. 先说明几个概念. 电商网站采用在商品模块,常采用spu+sku的数据结构算法,这种算法可以将商品的属性和商品的基本信息分离,分开维护,这样我们就可以在不同的类目下自定义商品信息和分类的属性信息, ...
- 电商项目中两个重要的属性SPU和SKU
1.SPU(Standard Product Unit),标准产品单位(商品共有的属性和集合形成的SPU) SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品 ...
- 电商项目中的SPU和SKU概念
SPU SPU:Standard Product Unit,标准产品单位. 概念:SPU 是商品信息聚合的最小单位[即:商品共同的属性],是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的 ...
- 测试从零开始-电商项目实战-用例设计篇No.1-[后台-用户列表]
在之前的文章中,已经教大家搭建了电商网站,如果有没找到的,可以再私聊一下我.接下来,简单介绍一下,在公司中,一般我们怎么去开展测试. 这里我们抛开所有的理想状态,就只有这个项目的访问地址,数据库信息, ...
最新文章
- 未来农业科技:物联网如何阻止全球粮荒
- 最通俗易懂的YOLOv3原理及代码解析
- xpe低配置系统解决“写缓存失败”问题
- 算法提高 解二元一次方程组(java)
- SQL ROUND函数用法
- [android]亲自破解Flappy Bird(去广告+永生)
- redis命令参考string---MSETNX
- sql拼接同一字段_sql多个字段拼接
- x64dbg 黑色主题配色方案
- 美发明家脑洞大开 预测十几年后电脑会产生感情
- 用Go+绘制爱心给心爱的她表白
- 怎样做个微信图文链接广告宣传活动?
- C语言基本变量语法输出和输入方法
- 《计算几何》学习笔记
- C# 日期转换AM/PM
- 交叉编译tftpd32嵌入mini2440小板tftp撩起jffs2系统的fs2410小板:)in.tftpd即tftpd
- IIS无法下载文件的原因及解决方法
- InnoSetup打包工具使用;C#打包工具;VB打包工具;EXE打包工具;C++打包工具
- 期权合约怎么看?期权合约解读
- win10电脑插耳机没声音_如何免费的用Win10对电脑的声音进行录音