package jdshopapi import ( "bytes" "crypto/md5" "encoding/json" "fmt" "image" "image/gif" "image/jpeg" "image/png" "io/ioutil" "net/http" "testing" "git.rosy.net.cn/baseapi/platformapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" ) func TestFindShopCategories(t *testing.T) { result, err := api.FindShopCategories() if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestDeleteShopCategory(t *testing.T) { result, err := api.DeleteShopCategory(14439186) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestFindVendorCategories(t *testing.T) { result, err := api.FindVendorCategories() if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestUploadPicture(t *testing.T) { data, _, err := DownloadFileByURL("https://image.jxc4.com/noGoodsImg.jpg") // img, outMimeType, _ := Binary2Image(data, "") // result2, _ := Image2Binary(img, outMimeType) result, err := api.UploadPicture(data, 0, "noGoodsImg") if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func DownloadFileByURL(fileURL string) (bodyData []byte, fileMD5 string, err error) { response, err := http.Get(fileURL) if err == nil { defer response.Body.Close() if response.StatusCode == http.StatusOK { if bodyData, err = ioutil.ReadAll(response.Body); err == nil { fileMD5 = fmt.Sprintf("%X", md5.Sum(bodyData)) } } else { err = platformapi.ErrHTTPCodeIsNot200 } } return bodyData, fileMD5, err } func Binary2Image(binaryData []byte, mimeType string) (img image.Image, outMimeType string, err error) { if mimeType == "" { mimeType = http.DetectContentType(binaryData) } switch mimeType { case model.MimeTypeJpeg: img, err = jpeg.Decode(bytes.NewReader(binaryData)) case model.MimeTypePng: img, err = png.Decode(bytes.NewReader(binaryData)) case model.MimeTypeGif: img, err = gif.Decode(bytes.NewReader(binaryData)) } return img, mimeType, err } func Image2Binary(img image.Image, mimeType string) (binaryData []byte, err error) { buf := new(bytes.Buffer) switch mimeType { case model.MimeTypeJpeg: jpeg.Encode(buf, img, nil) case model.MimeTypePng: png.Encode(buf, img) case model.MimeTypeGif: gif.Encode(buf, img, nil) } binaryData = buf.Bytes() return binaryData, err } func TestGetFeightMb(t *testing.T) { err := api.GetFeightMb() if err != nil { t.Fatal(err) } // t.Log(utils.Format4Output(result, false)) } func TestAA(t *testing.T) { ware := &CreateSkuParamWare{ Title: "测试商品1", ShopCategorys: []int{11}, CategoryID: 13577, TransportID: TransportID, MobileDesc: "测试", Introduction: "测试", WareStatus: 8, OuterID: "1", Weight: 2300, Height: 100, Length: 100, Width: 100, JdPrice: 20, MarketPrice: 10, VenderID: 0, BrandID: JxBrandId, } result, _ := json.Marshal(ware) fmt.Println(string(result)) } func TestCreateSku(t *testing.T) { var images []*CreateSkuParamImages var skus []*CreateSkuParamSkus var attrs []*CreateSkuParamAttrs var attrs2 []*CreateSkuParamAttrs var attrs3 []*CreateSkuParamAttrs var features []*CreateSkuParamFeatures feature := &CreateSkuParamFeatures{ Key: "is7ToReturn", Value: "0", } features = append(features, feature) // desc = "aa" // desc := `
因生鲜比较脆弱,发货途中如果有磕碰损坏,请收到联系客服,闪电赔付。请核对好地址,发货后不可修改地址,因改地址导致损坏不能赔付,谢谢理解

因生鲜比较脆弱,发货途中如果有磕碰损坏,请收到联系客服,闪电赔付。请核对好地址,发货后不可修改地址,因改地址导致损坏不能赔付,谢谢理解
