个人建议先设置可以组合的属性【type】(比如 {"id":1,"name":"尺码"}
、{"id":2,"name":"颜色"}
),
然后再围绕这个属性把可用值【type_value】记录下来(比如:{"id":1,"type_id":1,"name":"L"}
{"id":2,"type_id":1,"name":"M"}
{"id":3,"type_id":2,"name":"原谅绿"}
{"id":2,"type_id":4,"name":"猛男粉"}
把【type_value】的数据筛选出来,然后在前端组合一遍,把组合出来的所有适用的值已表格的形式呈现出来,旁边加个删除按钮,用户不需要的组合就让他自己点击去掉(在前端剔除),提交的时候拼出一个sku名称,比如:
[{"sku_name":"L-原谅绿","sku_index":"1-3"}, {"sku_name":"L-猛男粉","sku_index":"TYPE_VALUE_ID-TYPE_VALUE_ID"},{"sku_name":"M-猛男粉","sku_index":"M这个值的ID-猛男粉这个值的ID"}]
{"sku_index":"M这个值的ID-猛男粉这个值的ID"}
这里只是我的举例,实际你可以根据实际需求整一个index出来,其他端使用的时候按同样的规则拼出这个index就可以快速匹配这个SKU(如果没有就是没有)。
把它存到sku表里就得到了{"sku_id":1, "sku_name":"L-原谅绿","sku_index":"1-3"}
{"sku_id":2, "sku_name":"L-猛男粉","sku_index":"1-4"}
{"sku_id":3, "sku_name":"M-猛男粉","sku_index":"2-4"}
其他端需要用的时候,数据的格式{"type":[{},{}],"example1":[{},{}],"example2":{"index1":{},"index2":{}}}
比如:
{
"type": [
{
"id": 1,
"name": "尺码",
"values": [
{
"id": 1,
"name": "L"
},
{
"id": 2,
"name": "M"
}
]
},
{
"id": 2,
"name": "颜色",
"values": [
{
"id": 3,
"name": "原谅绿"
},
{
"id": 4,
"name": "猛男粉"
}
]
}
],
"example1": [
{
"sku_id": 1,
"sku_name": "L-原谅绿",
"sku_index": "1-3",
"available_num": 100
},
{
"sku_id": 2,
"sku_name": "L-猛男粉",
"sku_index": "1-4",
"available_num": 200
},
{
"sku_id": 3,
"sku_name": "M-猛男粉",
"sku_index": "2-4",
"available_num": 167
}
],
"example2": {
"1-4": {
"sku_id": 2,
"sku_name": "L-猛男粉",
"available_num": 100
},
"1-3": {
"sku_id": 1,
"sku_name": "L-原谅绿",
"available_num": 200
},
"2-4": {
"sku_id": 3,
"sku_name": "M-猛男粉",
"available_num": 167
}
}
}
推荐文章: