syntax = "v1" info ( title: "产品模板"// TODO: add title desc: // TODO: add description author: "" email: "" ) import "basic.api" service product-templatev2 { //获取产品模板详情 @handler GetTemplatevDetailHandler get /product-template/detail(GetTemplatevDetailReq) returns (response); } //获取产品模板详情 type GetTemplatevDetailReq { ModelId int64 `form:"model_id"` TemplateId int64 `form:"template_id"` } type GetTemplatevDetailRsp { ProductModelInfo interface{} `json:"product_model_info"` ProductTemplate ProductTemplate `json:"product_template"` LightList []*Light `json:"light_list"` OptionModelInfo []interface{} `json:"option_model_info"` Tag int64 `json:"tag"` } type Tag { Id int64 `json:"id"` Title string `json:"title"` } type TemplateInfo { Id int64 `json:"id"` Name string `json:"name"` Cover string `json:"cover"` IsPublic bool `json:"isPublic"` Material string `json:"material"` MaterialList []*TemplateMateria `json:"materialList"` } type ProductTemplate { CoverImg string `json:"cover_img"` Id int64 `json:"id"` IsPublic bool `json:"is_public"` LogoHeight int64 `json:"logo_height"` LogoWidth int64 `json:"logo_width"` MaterialImg string `json:"material_img"` ModelId int64 `json:"model_id"` Name string `json:"name"` ProductId int64 `json:"product_id"` Sort int64 `json:"sort"` Tag Tag `json:"tag"` TemplateInfo *TemplateInfo `json:"template_info"` Title string `json:"title"` } type Light { Id int64 `json:"id"` Info LightInfo `json:"info"` } type TemplateMateria { Id string `json:"id"` Tag string `json:"tag"` Title string `json:"title"` Type string `json:"type"` Text string `json:"text"` Fill string `json:"fill"` FontSize int64 `json:"fontSize"` FontFamily string `json:"fontFamily"` IfBr bool `json:"ifBr"` IfShow bool `json:"ifShow"` IfGroup bool `json:"ifGroup"` MaxNum int64 `json:"maxNum"` Rotation int64 `json:"rotation"` LineHeight int64 `json:"lineHeight"` Align string `json:"align"` VerticalAlign string `json:"verticalAlign"` Material string `json:"material"` MaterialTime string `json:"materialTime"` MaterialName string `json:"materialName"` QRcodeType string `json:"QRcodeType"` Width int64 `json:"width"` Height int64 `json:"height"` Proportion int64 `json:"proportion"` X int64 `json:"x"` Y int64 `json:"y"` Opacity int64 `json:"opacity"` OptionalColor []*OptionalColor `json:"optionalColor"` ZIndex int64 `json:"zIndex"` SvgPath string `json:"svgPath"` Follow Follow `json:"follow"` Group []interface{} `json:"group"` CameraStand CameraStand `json:"cameraStand"` } type LightInfo { Name string `json:"name"` Hdr Hdr `json:"hdr"` LightData []LightDataItem `json:"lightData"` } type LightDataItem { Color string `json:"color"` Id string `json:"id"` Intensity float64 `json:"intensity"` Name string `json:"name"` Type string `json:"type"` X float64 `json:"x,omitempty"` Y int64 `json:"y,omitempty"` Z float64 `json:"z,omitempty"` ShowHelper bool `json:"showHelper,omitempty"` Width int64 `json:"width,omitempty"` Height int64 `json:"height,omitempty"` Rx int64 `json:"rx,omitempty"` Ry int64 `json:"ry,omitempty"` Rz int64 `json:"rz,omitempty"` } type Hdr { IfBg bool `json:"ifBg"` ToneMappingExposure float64 `json:"toneMappingExposure"` Url string `json:"url"` } type OptionalColor { Color string `json:"color"` Name string `json:"name"` Default bool `json:"default"` } type Follow { Fill string `json:"fill"` IfShow string `json:"ifShow"` Content string `json:"content"` } type CameraStand { X int64 `json:"x"` Y int64 `json:"y"` Z int64 `json:"z"` }