服务端提供商品规格的API接口
图解:
代码:
# 实现rpc接口
from application import jsonrpc
from flask import request
from .models import db,GoodsSKU
@jsonrpc.method('Goods.info')
def info(sku_id):
"""sku商品基本信息"""
data = {}
try:
sku = GoodsSKU.query.filter(
GoodsSKU.is_show == True,
GoodsSKU.is_deleted == False,
GoodsSKU.id==sku_id
).first()
data = sku.__to_dict__()
except:
# todo 日志记录
pass
data["goods_price"] = float(data["goods_price"])
data["maket_price"] = float(data["maket_price"])
data["sale_price"] = float(data["sale_price"])
data["description"] = sku.spu.__to_dict__().get("description")
return data
@jsonrpc.method('Goods.image')
def image(sku_id):
"""sku商品图片"""
image_list = []
try:
sku = GoodsSKU.query.filter(
GoodsSKU.is_show == True,
GoodsSKU.is_deleted == False,
GoodsSKU.id==sku_id
).first()
for banner in sku.images:
item = banner.__to_dict__(["image_url"])
image_list.append(item)
except:
# todo 日志记录
pass
return image_list
from .models import GoodsAttrVal
@jsonrpc.method("Goods.attribute")
def attribute(sku_id):
"""sku商品属性列表"""
data = {}
try:
sku_val_list = GoodsAttrVal.query.filter(
GoodsAttrVal.is_show == True,
GoodsAttrVal.is_deleted == False,
GoodsAttrVal.sku_id == sku_id,
GoodsAttrVal.option_id == None
).order_by(
db.desc(GoodsAttrVal.sort),
db.desc(GoodsAttrVal.id)
)
# 循环每个轮播广告模型,转换成字典
for sku_val_item in sku_val_list:
item = sku_val_item.__to_dict__(["sku_id", "attr_id", "value"])
item["attr"] = sku_val_item.attr.name
data[item.get("attr")] = item.get("value")
return data
except:
# todo 日志记录
pass
from .models import Goods
@jsonrpc.method("Goods.recommend")
def recommend(sku_id):
"""同类推荐"""
data = []
try:
sku = GoodsSKU.query.filter(
GoodsSKU.is_show == True,
GoodsSKU.is_deleted == False,
GoodsSKU.id == sku_id,
).first()
# 根据sku对应的分类ID获取同类的SPU商品
spu_list = Goods.query.filter(
Goods.is_show == True,
Goods.is_deleted == False,
Goods.category_id == sku.cate_id,
Goods.id != sku.spu_id,
).order_by(
db.desc(Goods.sort),
db.desc(Goods.id)
).limit(8)
for spu in spu_list:
item = spu.__to_dict__(["id", "title", "image_url"])
data.append(item)
except:
pass
return data
from .models import GoodsAttr
@jsonrpc.method("Goods.format")
def format(sku_id):
"""sku商品属性规格"""
current_sku = GoodsSKU.query.filter(
GoodsSKU.is_show == True,
GoodsSKU.is_deleted == False,
GoodsSKU.id == sku_id,
).first()
print(current_sku.sale_price)
# 1. 获取属性以及属性的选项
attr_list = GoodsAttr.query.filter(
GoodsAttr.is_show == True,
GoodsAttr.is_deleted == False,
GoodsAttr.type_id == current_sku.spu.type_id,
)
attr_data = []
for attr_item in attr_list:
options = []
if len( attr_item.options.all() ) > 0:
for option_item in attr_item.options:
options.append({
"id": option_item.id,
"name": option_item.option,
})
attr_data.append({
"k": attr_item.name,
"k_s": attr_item.id,
'v': options
})
"""
[
{
'k': '颜色',
'k_s': 1,
'v': [
{'id': 1, 'name': '天空蓝'},
{'id': 2, 'name': '原谅绿'},
{'id': 3, 'name': '玫瑰金'}
]
},
{'k': '内存', 'k_s': 2, 'v': [{'id': 4, 'name': '4G'}, {'id': 5, 'name': '6G'}, {'id': 6, 'name': '8G'}]},
{'k': '机身存储', 'k_s': 10, 'v': [{'id': 7, 'name': '128G'}, {'id': 8, 'name': '256G'}, {'id': 9, 'name': '512G'}]}
]
"""
# 获取同一款spu下所有的sku商品
sku_list = GoodsSKU.query.filter(
GoodsSKU.is_show == True,
GoodsSKU.is_deleted == False,
GoodsSKU.spu_id == current_sku.spu.id
).order_by(
db.desc(GoodsSKU.sort),
db.desc(GoodsSKU.id)
)
sku_data = []
for sku in sku_list:
sku_attr_list = GoodsAttrVal.query.filter(
GoodsAttrVal.is_show == True,
GoodsAttrVal.is_deleted == False,
GoodsAttrVal.sku_id == sku.id,
GoodsAttrVal.option_id!=None
).order_by(
db.desc(GoodsAttrVal.sort),
db.desc(GoodsAttrVal.id)
)
sku_attrs_data = {}
for sku_attr_item in sku_attr_list:
sku_attrs_data[str(sku_attr_item.attr_id)] = sku_attr_item.option_id
sku_data.append({
"id": sku.id,
"price": int(float(sku.sale_price) * 100 ),
"stock_num": int(sku.goods_num),
**sku_attrs_data,
})
print(current_sku.sale_price)
return {
"tree":attr_data,
"list":sku_data,
"price": float(current_sku.sale_price), # 当前页面对应SKU的售价
"stock_num": current_sku.goods_num, # 当前页面对应SKU商品的库存
"none_sku": False, # 是否无规格商品
"hide_stock": False # 是否隐藏剩余库存
}
测试数据添加如下:
INSERT INTO `mogu_goods_attribute_val` (`created_time`,`updated_time`,`sort`,`is_deleted`,`is_show`,`sku_id`,`attr_id`,`option_id`,`value`) VALUES ('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,1,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,2,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,4,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,5,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,7,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,8,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,1,3,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,2,6,NULL),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,3,NULL,'xe6x93x8dxe4xbdx9cxe7xb3xbbxe7xbbx9f'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,4,NULL,'xe9xbax92xe9xbax9f985'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,5,NULL,'0.515kg'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,6,NULL,'6.53xe8x8bxb1xe5xafxb8'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,7,NULL,'Type-C'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,8,NULL,'3200xe4xb8x87xe5x83x8fxe7xb4xa0'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,9,NULL,'5G'),('2020-09-02 11:10:47','2020-09-02 11:10:47',1,0,1,1,10,9,NULL);
客户端获取商品规格数据,代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
<title>Document</title>
<link rel="stylesheet" href="../static/css/index.css"/>
<link rel="stylesheet" href="../static/css/goods.css"/>
<script src="../static/js/vue.min.js"></script>
<script src="../static/js/vant.min.js"></script>
<script src="../static/js/axios.js"></script>
<script src="../static/js/api.js"></script>
<script src="../static/js/common.js"></script>
<script src="../static/js/uuid.js"></script>
</style>
</head>
<body>
<div id="app">
<van-tabs v-model="active" scrollspy sticky>
<van-tab title="商品">
<van-swipe :autoplay="3000">
<van-swipe-item v-for="item in sku_image"><img :src="$settings.Host+item.image_url" alt=""></van-swipe-item>
</van-swipe>
<p class="title">{{sku_info.title}}</p>
<div class="sale">
<p class="p1">¥{{sku_info.sale_price}}<span>新品促销</span></p>
<p class="p2">销量{{sku_info.sale_num}}</p>
</div>
<!-- 优惠券单元格 -->
<van-cell is-link icon="../static/images/icon/coupon.png">
<template #title>
<span class="custom-title">领取优惠券</span>
</template>
</van-cell>
<van-cell is-link @click="showList=true">
<template #title>
<span class="custom-title">请选择规格</span>
</template>
</van-cell>
<van-cell is-link>
<template #title>
<span class="custom-title">商品评价(99)</span>
</template>
</van-cell>
</van-tab>
<van-tab title="属性">
<van-cell-group>
<van-cell title="商品属性" size="large" />
</van-cell-group>
<div id="con_two_2">
<div class="canshu" v-for="value,attr in sku_attr_val">
<div class="canshu_1">
<p class="pl">{{attr}}</p>
<p class="pr">{{value}}</p>
</div>
</div>
</div>
</van-tab>
<van-tab title="详情">
<van-cell-group>
<van-cell title="商品详情" size="large" />
</van-cell-group>
{{sku_info.description}}
</van-tab>
</van-tabs>
<van-cell-group>
<van-cell title="同类推荐" size="large" />
</van-cell-group>
<div class="goods-list">
<van-grid column-num="4" :center="false">
<van-grid-item @click="goto_goods_page(goods.id)" v-for="goods in recommend_goods_list">
<label>{{goods.title}}</label>
<van-image :src="$settings.Host+goods.image_url"></van-image>
</van-grid-item>
</van-grid>
</div>
<van-tabbar v-model="tabbar_active" active-color="#ff2150" inactive-color="#000" @change="onTabbarChange">
<van-tabbar-item :name="nav.name" :icon="nav.icon" v-for="nav in common_nav_list">{{nav.name}}</van-tabbar-item>
</van-tabbar>
<!-- 商品规格 -->
<van-sku
v-model="showList"
:sku="sku"
:goods="goods"
:goods-id="goodsId"
:quota="quota"
:quota-used="quotaUsed"
:hide-stock="sku.hide_stock"
@buy-clicked="onBuyClicked"
@add-cart="onAddCartClicked"
/>
</div>
<script>
// 在 #app 标签下渲染一个按钮组件
new Vue({
el: '#app',
data:{
goodsId:"946755",
quota:0,
"quota-used": 0,
quotaUsed:0,
active: "",
tabbar_active: "home",
chosenCoupon: -1,
showList: false,
sku_info:{
// SKU商品基本信息
sku_id: 1,
title:"", // 商品图片
},
sku_image:[{},{},{}], // SKU商品图片列表
sku_attr_val: {}, // SKU商品属性列表
recommend_goods_list:[], // 同类商品推荐
sku: {
// 所有sku规格类目与其值的从属关系,比如商品有颜色和尺码两大类规格,颜色下面又有红色和蓝色两个规格值。
// 可以理解为一个商品可以有多个规格类目,一个规格类目下可以有多个规格值。
tree: [
{
k: '颜色', // 属性名称
k_s: 's1', // 属性ID
v: [
{
id: '1', // 选项ID
name: '红色', // 选项名称
},
{
id: '2',
name: '蓝色',
}
],
},
{
k: '运行内存', // 属性名称
k_s: 's2', // 属性ID
v: [
{
id: '3', // 选项ID
name: '4G', // 选项名称
},
{
id: '4',
name: '6G',
}
],
}
],
// 所有 sku 的组合列表,比如红色、M 码为一个 sku 组合,红色、S 码为另一个组合
list: [
{
id: 2259, // skuId
s1: '1', // 规格类目 k_s 为 s1 的对应规格值 id
s2: '3', // 规格类目 k_s 为 s2 的对应规格值 id
price: 10000, // 价格(单位分)
stock_num: 50 // 当前 sku 组合对应的库存
},
{
id: 2259, // skuId
"1": '1', // 规格类目 k_s 为 s1 的对应规格值 id
2: '4', // 规格类目 k_s 为 s2 的对应规格值 id
price: 19900, // 价格(单位分)
stock_num: 10 // 当前 sku 组合对应的库存
},
{
id: 2259, // skuId
s1: '2', // 规格类目 k_s 为 s1 的对应规格值 id
s2: '3', // 规格类目 k_s 为 s2 的对应规格值 id
price: 100, // 价格(单位分)
stock_num: 110 // 当前 sku 组合对应的库存
},
{
id: 2259, // skuId
s1: '2', // 规格类目 k_s 为 s1 的对应规格值 id
s2: '4', // 规格类目 k_s 为 s2 的对应规格值 id
price: 100, // 价格(单位分)
stock_num: 110 // 当前 sku 组合对应的库存
}
],
price: '99.00', // 默认价格(单位元)
stock_num: 227, // 商品总库存
none_sku: false, // 是否无规格商品
hide_stock: false // 是否隐藏剩余库存
},
goods: {
// 默认商品 sku 缩略图
picture: '../static/images/goods/c77c94908f9ff5c3.jpg',
},
common_nav_list:[],
tabbar_active: "分类",
},
created(){
this.get_common_nav();
this.get_sku_info();
this.get_sku_image();
this.get_sku_attr_list();
this.get_recommend_goods();
this.get_goods_format();
},
methods:{
get_goods_format(){
// 获取当前SPU下所有sku商品的规格数据
// 获取SKU商品基本信息
this.$axios.post(`${this.$settings.Host}/api`,{
id: this.$uuid(),
method: "Goods.format",
params: {"sku_id": this.sku_info.sku_id},
jsonrpc: "2.0"
}).then(response=>{
this.sku = response.data.result;
// 默认左起第一次菜单高亮显示
}).catch(error=>{
alert("网络异常,无法获取商品规格信息");
});
},
get_sku_info(){
// 获取SKU商品基本信息
this.$axios.post(`${this.$settings.Host}/api`,{
id: this.$uuid(),
method: "Goods.info",
params: {"sku_id": this.sku_info.sku_id},
jsonrpc: "2.0"
}).then(response=>{
this.sku_info = response.data.result;
// 默认左起第一次菜单高亮显示
}).catch(error=>{
alert("网络异常,无法获取商品基本信息");
});
},
get_sku_image(){
// 获取SKU商品图片列表
this.$axios.post(`${this.$settings.Host}/api`,{
id: this.$uuid(),
method: "Goods.image",
params: {"sku_id": this.sku_info.sku_id},
jsonrpc: "2.0"
}).then(response=>{
this.sku_image = response.data.result;
}).catch(error=>{
alert("网络异常,无法获取商品图片");
});
},
get_sku_attr_list(){
// 获取SKU商品属性列表
this.$axios.post(`${this.$settings.Host}/api`,{
id: this.$uuid(),
method: "Goods.attribute",
params: {"sku_id": this.sku_info.sku_id},
jsonrpc: "2.0"
}).then(response=>{
this.sku_attr_val = response.data.result;
}).catch(error=>{
alert("网络异常,无法获取商品图片");
});
},
get_recommend_goods(){
this.$axios.post(`${this.$settings.Host}/api`,{
id: this.$uuid(),
method: "Goods.recommend",
params: {"sku_id": this.sku_info.sku_id},
jsonrpc: "2.0"
}).then(response=>{
this.recommend_goods_list = response.data.result;
}).catch(error=>{
alert("网络异常,无法获取商品图片");
});
},
goto_goods_page(spu_id){
// 跳转到商品详情页
},
onTabbarChange(event) {
this.tabbar_active=event;
},
onBuyClicked(){
},
onAddCartClicked(){
},
get_common_nav(){
// 获取公共底部导航
this.$axios.post(`${this.$settings.Host}/api`,{
id: this.$uuid(),
method: "Common.nav",
params: [],
jsonrpc: "2.0"
}).then(response=>{
this.common_nav_list = response.data.result;
// 默认左起第一次菜单高亮显示
}).catch(error=>{
alert("网络异常,无法获取底部导航");
});
}
},
});
// 通过 CDN 引入时不会自动注册 Lazyload 组件
// 可以通过下面的方式手动注册
Vue.use(vant.CouponCell);
Vue.use(vant.CouponList);
</script>
</body>
</html>