fusenapi/server_api/shopping-cart.api
laodaming 6987f2c2d1 fix
2023-09-15 15:27:39 +08:00

96 lines
3.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "v1"
info (
title: "shopping-cart"// TODO: add title
desc: "购物车服务"// TODO: add description
author: ""
email: ""
)
import "basic.api"
service shopping-cart {
//加入购物车
@handler AddToCartHandler
post /api/shopping-cart/add(AddToCartReq) returns (response);
//删除购物车
@handler DeleteCartHandler
post /api/shopping-cart/delete(DeleteCartReq) returns (response);
//修改购物车购买数量
@handler ModifyCartPurchaseQuantityHandler
post /api/shopping-cart/modify(ModifyCartPurchaseQuantityReq) returns (response);
//获取购物车列表
@handler GetCartsHandler
get /api/shopping-cart/get_carts(GetCartsReq) returns (response);
}
//加入购物车
type AddToCartReq {
ProductId int64 `json:"product_id"` //产品id
TemplateId int64 `json:"template_id,optional"` //模板id(不可定制的不传)
SizeId int64 `json:"size_id"` //尺寸id
FittingId int64 `json:"fitting_id,optional"` //配件id(没有可以不传)
PurchaseQuantity int64 `json:"purchase_quantity"` //购买数量
Logo string `json:"logo,optional"` //logo地址(没有可以不传)
CombineImage string `json:"combine_image,optional"` //合图地址 (没有可以不传)
RenderImage string `json:"render_image,optional"` //渲染结果图 (没有可以不传)
DiyInfo DiyInfo `json:"diy_info,optional"` //用户diy数据可选
}
type DiyInfo {
Phone string `json:"phone,optional"` //电话(可选)
Address string `json:"address,optional"` //地址 (可选)
Website string `json:"website,optional"` //网站 (可选)
Qrcode string `json:"qrcode,optional"` //二维码 (可选)
Slogan string `json:"slogan,optional"` //slogan (可选)
}
//删除购物车
type DeleteCartReq {
Id int64 `json:"id"` //购物车id
}
//修改购物车购买数量
type ModifyCartPurchaseQuantityReq {
Id int64 `json:"id"` //购物车id
PurchaseQuantity int64 `json:"purchase_quantity"` //数量
}
//获取购物车列表
type GetCartsReq {
CurrentPage int `form:"current_page"` //当前页
}
type GetCartsRsp {
Meta Meta `json:"meta"` //分页信息
CartList []CartItem `json:"cart_list"`
}
type CartItem {
ProductId int64 `json:"product_id"` //产品id
SizeInfo SizeInfo `json:"size_info"` //尺寸信息
FittingInfo FittingInfo `json:"fitting_info"` //配件信息
ItemPrice string `json:"item_price"` //单价
TotalPrice string `json:"total_price"` //单价X数量=总价
DiyInformation DiyInformation `json:"diy_information"` //diy信息
StepNum []StepNumItem `json:"step_num"` //阶梯数量
IsInvalid bool `json:"is_invalid"` //是否无效
InvalidDescription string `json:"invalid_description"` //无效原因
}
type StepNumItem {
PurchaseQuantity int64 `json:"purchase_quantity"` //数量
IsSelected bool `json:"is_selected"` //是否选中
}
type SizeInfo {
SizeId int64 `json:"size_id"` //尺寸id
Capacity string `json:"capacity"` //尺寸名称
Title SizeTitle `json:"title"`
}
type FittingInfo {
FittingId int64 `json:"fitting_id"` //配件id
FittingName string `json:"fitting_name"` //配件名称
}
type SizeTitle {
Cm string `json:"cm"`
Inch string `json:"inch"`
}
type DiyInformation {
Phone string `json:"phone"`
Address string `json:"address"`
Website string `json:"website"`
Qrcode string `json:"qrcode"`
Slogan string `json:"slogan"`
}