Files
baseapi/platformapi/jdshopapi/store_page_test.go
2020-07-17 15:45:43 +08:00

178 lines
4.6 KiB
Go

package jdshopapi
import (
"crypto/aes"
"crypto/cipher"
"encoding/base64"
"encoding/hex"
"fmt"
"io/ioutil"
"net/http"
"testing"
"git.rosy.net.cn/baseapi/utils"
)
func TestCreateShopCategory(t *testing.T) {
var CreateShopCategoryParams = []*CreateShopCategoryParam{
&CreateShopCategoryParam{
HomeShow: "0",
ID: "0",
Open: "",
OrderNo: "0",
ParentID: "",
Title: "测试1",
Type: "3",
},
}
result, _ := api.CreateShopCategory(CreateShopCategoryParams)
fmt.Println(result)
}
func TestUpdateStoreStatus(t *testing.T) {
err := api.UpdateStoreStatus(24332466, 1)
if err != nil {
t.Fatal(err)
}
}
func TestNewInfoList(t *testing.T) {
result, err := api.NewInfoList(1)
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}
func Test11(t *testing.T) {
request, _ := http.NewRequest(http.MethodGet, "https://stores.shop.jd.com/stores/updateStoreStatus?storeId=24339301&storeStatus=1", nil)
c := &http.Cookie{
Name: "thor",
Value: "80FAF09E9A09B6E618A68057BDFCFCB88A0E4CE7743FBEC84F10D992F9C6A4119DF98DA3CAAE9C7F17BEB62884625B4E7BC82422A90F45F02EA293572D951B055EF0B5F603AEA568DFD4234138F841EC1AC1F67B30B48AAC9EAD5FBAE7943E1DCC99E99D8358C82F7832B71A2BCB31624E16BBF561720443DE966BDA3588406233A90224D9089710B102AA98B979B9B3",
}
request.AddCookie(c)
client := &http.Client{}
fmt.Println("test1", request.URL)
response, _ := client.Do(request)
defer response.Body.Close()
bodyData, _ := ioutil.ReadAll(response.Body)
fmt.Println("test1", string(bodyData))
}
func TestAllOrders(t *testing.T) {
result, err := api.AllOrders(&AllOrdersParam{
Current: 1,
PageSize: 1,
OrderID: "118793082128",
})
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}
func TestOrderDetail(t *testing.T) {
result, err := api.OrderDetail("125138699851")
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}
func TestPhoneSensltiveInfo(t *testing.T) {
result, err := api.PhoneSensltiveInfo("124396047880", "10b1707dc87755373d488a7a4f422f7d")
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}
func TestUpdateWaybill(t *testing.T) {
err := api.UpdateWaybill("123076499052", "1274", "88328977356545 ")
if err != nil {
t.Fatal(err)
}
// t.Log(utils.Format4Output(result, false))
}
func TestTryGetCookie(t *testing.T) {
result, err := api.TryGetCookie()
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}
func TestAAADS(t *testing.T) {
str := "AASWvkdk5a60bjm3lFqaoCyzU8toVp+3kKjheuOwxzWZH+adxCfv+Bv9BD0DP/WDy6Y="
data, _ := base64.StdEncoding.DecodeString(str)
dataStr := hex.EncodeToString(data)
fmt.Println("all:", dataStr) //96be4764e5aeb46e39b7945a9aa02cb3
fmt.Println("key ID:", dataStr[4:36])
fmt.Println("IV:", dataStr[36:68])
data2, _ := base64.StdEncoding.DecodeString("XsGNdyDyDHnR79iKU6d5LTSJYaQyWAEssDoD7VM5Kks=")
dataStr2 := hex.EncodeToString(data2)
fmt.Println(dataStr2)
fmt.Println(len(data2))
fmt.Println(len([]byte(string(data2))))
fmt.Println(len([]byte(dataStr[36:68])))
iv := base64.StdEncoding.EncodeToString([]byte(dataStr[36:68]))
fmt.Println(len([]byte(iv)))
fmt.Println(iv)
src := base64.StdEncoding.EncodeToString([]byte(dataStr[68:]))
fmt.Println(len([]byte(src)))
fmt.Println(string(data[18:34]))
// str2 := []byte(dataStr[68:])
// key := []byte(dataStr2)
decryptedData, err := Decrypt(data[34:50], data2, data[18:34])
if err != nil {
t.Fatal(err)
}
// data3, _ := simplifiedchinese.GBK.NewDecoder().Bytes(decryptedData) //gbk 转 utf-8
fmt.Println("data", string(decryptedData))
}
func Decrypt(decryptBytes, key, iv []byte) ([]byte, error) {
block, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
fmt.Println(block.BlockSize())
blockMode := cipher.NewCBCDecrypter(block, iv)
decrypted := make([]byte, len(decryptBytes))
blockMode.CryptBlocks(decrypted, decryptBytes)
fmt.Println(decrypted)
decrypted = PKCS5UnPadding(decrypted)
return decrypted, nil
}
func PKCS5UnPadding(decrypted []byte) []byte {
length := len(decrypted)
unPadding := int(decrypted[length-1])
return decrypted[:(length - unPadding)]
}
func CBCDecript(key, iv, src []byte) (dst []byte, err error) {
var (
block cipher.Block
blockMode cipher.BlockMode
)
if len(iv) != aes.BlockSize {
return nil, fmt.Errorf("iv")
}
if len(key) != 32 {
return nil, fmt.Errorf("key")
}
if block, err = aes.NewCipher(key); err != nil {
return nil, err
}
blockMode = cipher.NewCBCDecrypter(block, iv)
dst = make([]byte, len(src))
blockMode.CryptBlocks(dst, src)
dst = PKCS5UnPadding(dst)
return
}