jxprint
This commit is contained in:
@@ -204,3 +204,10 @@ func TestConfirmReceiveGoods(t *testing.T) {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAfsOpenApprove(t *testing.T) {
|
||||
err := api.AfsOpenApprove("34290642", 1, "同意退款", "jxadmin-13689038670")
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ func init() {
|
||||
//api = New("de8157b447584885910f429011e49cb93yjq", "E1D746D42474D5F1F1A10CECE75D99F6", "efa7e1d1a22640fa990e6cf164b28608")
|
||||
api = New("9ad9cf5fc8b140b19a1dbbb700b47676kown", "D5E8352BE0786ED16F77B4548F62F09A", "71e1061ac2f246f6ac27efb900edba12")
|
||||
api.SetCookieWithStr(`
|
||||
__jdu=16193999982702078345144; shshshfpa=972f47df-9252-dc1a-1d6d-40594ce0501b-1619400562; webp=1; visitkey=44137284214309276; shshshfp=4d574741223da61a369c18ce2febefe8; shshshfpb=msX4%202n384blCOGusOxGDvQ%3D%3D; unpl=V2_ZzNtbRUHSx19DENcKBtUBWIHEF4RU0MddVwVXCwYDAVkBRVVclRCFnUUR1NnGFQUZwcZXUZcQBFFCEdkeB5fA2AFEFlBZxBFLV0CFi9JH1c%2bbRFdS1NBFH0JRFB6Hmw1ZAMiXUNnQxJ1AERccxFUDGQFE15DUUoXcAxGUX4pbAJXMyJbQFdHE3I4R2R6KR5ROwQXW0RUQVh1D0ZceRFUDW8KEVtDVEITfApDUHscWTVmMxE%3d; pinId=WMIzMhF5BfI9awOQjAcbdQ; pin=shop_jxcs2020; unick=shop_jxcs2020; _tp=VqmxIvk3BVEJnO6UciQrRA%3D%3D; _pst=shop_jxcs2020; __jdv=95931165|direct|-|none|-|1624524264932; language=zh_CN; TrackID=1jHqnwWToF-j2xO5Jbn4Zduzzc_eqhvzeqb0dx60xpiPIAb4kXfCPOza2pM_rtWv4bbs09aBJWqdDLQSHAY1bUKQkLBlTbElkdRtJ0ldvsbM; ceshi3.com=000; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI4Z6HPCTN4UQM3WHVQ4ENFP57OC2NCIWTST4KDNCWZES6EV2TD5XDTCNE6YVKRXISVWNQHZDBO6QEKYXMXGPYGVEOCQCSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4AUHV3TOJD7MGBX53BNNP2E6MSSOORYGL5H2GYFRURR5ACFJ54GH7PTHFL22YL3C6ODFYFTWGV5UAWCX5C6J372TDCL6LDNEERERTGCXN3XYGB7JQCROLLYPI62QZPHX3VQAQIWW3S2YBFMIMTF6SWAFAQ52UF5TATP7KZIQ; _vender_new_=GI63BGTJFDBQ4KTM333PMOGFGXGN2MWJNA4WUIW4ZGGIVOLTPK5TRV2UVRGJOLSZFF5XPPV376V2IZYUUTIZYUOSJ7XLQQXULY7UZCFHNUYZEPA5K4NKJ62CC6Q756VRE47INBENIPCNYN4MUZRCB27NNIDWST32H7A66G2G3UMJWUPPXMHKRJ4I6UJ43SNLTY755O3QKSMGQHPHSOAKK5R74V6PBVCLI56OPZPR7RNFOAEYFZTP2BSCS5ZMNTWN4HIOX5NUKDT5E75AVXNKX43RBTJ6W255CTVTEQ67VYYOGAEFV3CBL4MM5MFU6T2V7DWAKVLHWY2IK72YOJU4FK5DKLZTJI52FKDTHMWY7IILEV7H4VD7RXGVJKSRURJW6M2KHORKQ4Z3FWH2CCZFPZ7FI54BBC6T7IT4RBGRQHU63BU24NLT3B722WUBKZ7XZVGJA3N5V5QQZAJ27O3QLTP5M5YE6OWLQPEH5LY76SIQJO62K63LPG6XGQM4I32SFFJR3R5NLQZPFLJTI6K74ICYFOP5LP54YOAU3MF223TH7RBNDQKQZAJGFHE3CEO3PDGTDMTFA3LOKDRYE3RCNZ3IIQEQZ3EKQ7Y7EZPHVW2EPN7W4FOKDTFUR4TGVDUVW2SA4A7FYLR5J4BLOKS2EKR6C4; csrf_token=fd293f0c-489a-4518-8935-978971720aa5; thor=5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C592C7B16C9A84E38958D7FBD6B99E76A29070B6B08B0636DB6B2706BE6DF56E320D852C53FACD5A121849FBFB3B1B77C7391CC6732B51462E556CBF096F706E3E850B0A5142478BB1F083E021A2CD2CEC6158EC7E9ED6D0B647DE7831D8E7940EE46BCEA1D191F950D8AA181AB163DBCD; __jda=191954476.16193999982702078345144.1619399998.1625452973.1625802197.18; __jdb=191954476.9.16193999982702078345144|18.1625802197; __jdc=191954476; 3AB9D23F7A4B3C9B=CKENC5MAUU744ZQDKVRY2L7UIJ23PJRDYJ6HF3ZMQHC5FFD46FMUQXRINFCOC4SKHL5MU3PPNPP4C4AX5ZYBXJ7LZ4; _BELONG_CLIENT_=WPSC4XJXWK5USS4JNZY2X7VRLR5MCBKRSVHEXABGTHDGISIQK5YOLZUXYE7IOIM7MOKO74H6CRN6WHAAR4TMDV3XZWMXZRCRT5XRNE3V356BTOB2Y7LPK66VWQK6HPTGWVXIDXDCPVE3W5WMHAIO6AT2LX2XXVNUCXR34ZWFK6HY45CORGIKOSYDYZBF27WOKTUX6BS4FZMIJWNUX6CB4JAA25ZLF7ZEKYOO4QV5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BMTUJZACIBHXQFAVLRF76VQY5PNJGGJNBEZHSFYYJA3YORRT7FB5AHCOIFQKF3W5RWNUX6CB4JAA26JNMO7AYWNUPZF5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BWZDKMOJ5BS6II53ERY6ALV3ZWPF42L4CPUHEGPYIII35KDC4FCNVCORCXFD6IVNLBEDPB2GGP4UHWNRUDOQBDIW7RZJXBA2WV5ANZOTEGUCDWYRVQS2YUTIZNZ276PRYG4N56V6YTII7MBKBC7LYHO7C555HTSBXGNRM3E466AYN67DHWVM5HQFJ4NFDO5BSFBETNC6EV5BAG4NETFPEAMB65Q; b-sec=S2JWP6CAFP7K44GG6BEY2DLMRHSHR25YQUFIV6XSMOXLNDF7YPPYZTUHI23JACESN4HYTVEGLJ2WA
|
||||
__jdu=16193999982702078345144; shshshfpa=972f47df-9252-dc1a-1d6d-40594ce0501b-1619400562; webp=1; visitkey=44137284214309276; shshshfp=4d574741223da61a369c18ce2febefe8; shshshfpb=msX4%202n384blCOGusOxGDvQ%3D%3D; pinId=WMIzMhF5BfI9awOQjAcbdQ; pin=shop_jxcs2020; unick=shop_jxcs2020; _tp=VqmxIvk3BVEJnO6UciQrRA%3D%3D; _pst=shop_jxcs2020; language=zh_CN; __jdv=95931165|direct|-|none|-|1626139457812; QRCodeKEY=CEDFF94E2F62838ABD14AAEB9E971DD4A4C72EF9F23BB22D3F8F3E7CE20A13929D2938D1818DA81A6C2501F503C01641; AESKEY=FDE0FB408DB873F3; UIDKEY=102096759651360469; TrackID=18Rmsry2JrlCR4jAjUYgkWO9CHy6lDi1ATJAzuF1NhRyAqXWBhB5QLvEeE3m9jYcCKGbU5lp2LGl2u4HEduunES9GekGjWNvo_qRm5LeM6m4; thor=5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C5A7A09FC0949C10573F2FD04E416362ACFDE8BCF94A259D588CC3BB15E6E69FBD1195DD82CE7836A1CB5D8ECED58FE36AB4D51D4442705232086597BC7B9C3F2DF407CBB7A7332804A0AA1DC8D765DEF02B1A3A149E8E2945E010BC7C5C15ED66371DC09459CDD121A6E5FD117593D912; ceshi3.com=000; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI4Z6HPCTN4UQM3WHVQ4ENFP57OC2NCIWTST4KDNCWZES6EV2TD5XDTCNE6YVKRXISVWNQHZDBO6QEKYXMXGPYGVEOCQCSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4AUHV3TOJD7MGBX53BNNP2E6MSSOORYGL5H2GYFRURR5ACFJ54GH7PTHFL22YL3C6ODFYFTWGV5UAWCX5C6J372TDCL6LDNEERERTGCSRD4JODICQEQYV5Q33MMFXEM7ZVQAQIWW3S2YBFMIMTF6SWAFAQ52UF5TATP7KZIQ; _BELONG_CLIENT_=WPSC4XJXWK5USS4JNZY2X7VRLR5MCBKRSVHEXABGTHDGISIQK5YOLZUXYE7IOIM7MOKO74H6CRN6WHAAR4TMDV3XZWMXZRCRT5XRNE3V356BTOB2Y7LPK66VWQK6HPTGWVXIDXDCPVE3W5WMHAIO6AT2LX2XXVNUCXR34ZWFK6HY45CORGIKOSYDYZBF27WOKTUX6BS4FZMIJWNUX6CB4JAA25ZLF7ZEKYOO4QV5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BMTUJZACIBHXQFAVLRF76VQY5PNJGGJNBEZHSFYYJA3YORRT7FB5AHCOIFQKF3W5RWNUX6CB4JAA26JNMO7AYWNUPZF5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BWZDKMOJ5BS6II53ERY6ALV3ZWPF42L4CPUHEGPYIII35KDC4FCNVCORCXFD6IVNLBEDPB2GGP4UHWNRUDOQBDIW7RZJXBA2WV5ANZOTEGUCDWYRVQS2YUTIZNZ276PRYG4N56V6YTII7MBKBC7LYHO7C555HTSBXGNRM3E466AYN67DHWVM5HQFJ4NFDO5BSPSQ5K2XUIBV2LHR26T6IVB4O6Q; _vender_new_=GI63BGTJFDBQ4KTM333PMOGFGXGN2MWJNA4WUIW4ZGGIVOLTPK5TRV2UVRGJOLSZFF5XPPV376V2IZYUUTIZYUOSJ7XLQQXULY7UZCFHNUYZEPA5K4NKJ62CC6Q756VRE47INBENIPCNYN4MUZRCB27NNIDWST32H7A66G2G3UMJWUPPXMHKRJ4I6UJ43SNLTY755O3QKSMGQHPHSOAKK5R74V6PBVCLI56OPZPR7RNFOAEYFZTP2BSCS5ZMNTWN4HIOX5NUKDT5E75AVXNKX43RBTJ6W255CTVTEQ67VYYOGAEFV3CBL4MM5MFU6T2V7DWAKVLHWY2IK72YOJU4FK5DKKOCPDRBPM4JZTBEJGDBPGRYHGA7RXGVJKSRURJWTQTY4IL3HCOMYJCJQYLZUOBZQF4BBC6T7IT4RBGRQHU63BU24NLT3B722WUBKZ7XZVGJA3N5V5QQZAJ27O3QLTP5M5YE6OWLQPEH5LY76SIQJO62K63LPG6XGQM4I32SFFJR3R5NLQZPFLJTI6K74ICYFOP5LP54YOAU3MF223TH7RBNDQKQZAJGFHE3CEO3PDGTDMTFA3LOKDRYE3RCNZ3IIQEQZ3EKQ7Y7EZPHVW2EPN7W4FOKDTFUR4TGVDUVABISWKHYSIKJVXRHIB7RENQODU; b-sec=S2JWP6CAFP7K44GG6BEY2DLMRHSHR25YQUFIV6WL722Y5OZSYAV5X3VSN5YZIAYR3XC6MEXK22XK6; __jda=191429163.16193999982702078345144.1619399998.1625802197.1626139458.19; __jdc=191429163; __jdb=191429163.5.16193999982702078345144|19.1626139458; 3AB9D23F7A4B3C9B=CKENC5MAUU744ZQDKVRY2L7UIJ23PJRDYJ6HF3ZMQHC5FFD46FMUQXRINFCOC4SKHL5MU3PPNPP4C4AX5ZYBXJ7LZ4
|
||||
`)
|
||||
// api.SetCookie("thor", "5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C5E43030CF54E4A3A8F5E760492948E69B763D115FE234A59948BA538A4F7E18F38B80F818E28EAE71F1CF5BFE2D0DC456D56E8BEAEF10D398C709D9A4EB46923C7E63867435BD42996F1570A816FD1B0B247CD9756A1184DD61317D28BBF77F828691684AD6E60801B2BB38F9DE086D73")
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"crypto/aes"
|
||||
"crypto/cipher"
|
||||
"encoding/base64"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"golang.org/x/text/encoding/simplifiedchinese"
|
||||
@@ -74,7 +73,7 @@ func TestAllOrders(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderDetail(t *testing.T) {
|
||||
result, err := api.OrderDetail("204667541886")
|
||||
result, err := api.OrderDetail("213358191041")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -763,39 +762,26 @@ func h8l82int(h, l string) (i int64) {
|
||||
func TestUpdateStatus(t *testing.T) {
|
||||
//data2 := []byte{0x00, 0x01}
|
||||
//key := RandStringBytes(16)
|
||||
data, _ := Utf8ToGbk([]byte("<sound>"))
|
||||
fmt.Println(int2h8l8(int64(len(hex.EncodeToString(data)+"0101")) / 2))
|
||||
fmt.Println(hex.EncodeToString(data))
|
||||
fmt.Println(fmt.Sprintf("%x", (len("fd002a0101")+len(hex.EncodeToString(data)))/2))
|
||||
//result, _ := hex.DecodeString(data2)
|
||||
//fmt.Println(strconv.FormatInt(255, 16))
|
||||
//var lenData int64 = 257
|
||||
//fmt.Println(strconv.FormatInt(lenData, 16)[:2] + "0" + strconv.FormatInt(lenData, 16)[2:])
|
||||
//var checkSum = 'a'
|
||||
//for i := 0; i < 5; i++ {
|
||||
// checkSum++
|
||||
//}
|
||||
//fmt.Println(checkSum)
|
||||
//sv := 55
|
||||
//// 2 to 10
|
||||
//fmt.Println(fmt.Sprintf("%b", sv))
|
||||
//fmt.Println(fmt.Sprintf("%x", sv))
|
||||
//
|
||||
//origin2 := fmt.Sprintf("%b", sv)
|
||||
//flag := 16 - len(origin2)
|
||||
//for i := 0; i < flag; i++ {
|
||||
// origin2 = "0" + origin2
|
||||
// fmt.Println(origin2)
|
||||
//}
|
||||
//begin8 := origin2[:8]
|
||||
//end8 := origin2[8:]
|
||||
//r1, _ := strconv.ParseInt(begin8, 2, 32)
|
||||
//r2, _ := strconv.ParseInt(end8, 2, 32)
|
||||
//fmt.Println(fmt.Sprintf("%x", r1), fmt.Sprintf("%x", r2))
|
||||
//buf := make([]byte, 1024)
|
||||
//var i uint8 = 0x2d
|
||||
//buf = append(buf, i)
|
||||
//fmt.Println(hex.EncodeToString([]byte{0x1E, 0x00}))
|
||||
//data, _ := Utf8ToGbk([]byte("[v2]"))
|
||||
//fmt.Println(int2h8l8(int64(len("fd003401005b76325dc8d5d5d5cfe3c2afc9fad7cfd1cca3acd2a3bfb4c6d9b2bcb9d2c7b0b4a8a3acb7c9c1f7d6b1cfc2c8fdc7a7b3dfa3acd2c9cac7d2f8bad3c2e4bec5ccec") / 2)))
|
||||
//fmt.Println(hex.EncodeToString(data))
|
||||
//fmt.Println(fmt.Sprintf("%x", len("fd003401005b76325dc8d5d5d5cfe3c2afc9fad7cfd1cca3acd2a3bfb4c6d9b2bcb9d2c7b0b4a8a3acb7c9c1f7d6b1cfc2c8fdc7a7b3dfa3acd2c9cac7d2f8bad3c2e4bec5ccec")/2))
|
||||
str := "1e00180200015054353139444130303031375a31510001"
|
||||
var sum int64
|
||||
for i := 0; i < len(str); i = i + 2 {
|
||||
b := string(str[i]) + string(str[i+1])
|
||||
bt, _ := strconv.ParseInt(b, 16, 32)
|
||||
sum += bt
|
||||
}
|
||||
fmt.Println(int2h8l8(sum))
|
||||
}
|
||||
|
||||
func sss() (data2 []byte) {
|
||||
dataLen := 34
|
||||
data2 = make([]byte, 2)
|
||||
data2[0] = (uint8)((dataLen & 0xFF00) >> 8)
|
||||
data2[1] = (uint8)(dataLen & 0xFF)
|
||||
return data2
|
||||
}
|
||||
|
||||
func Utf8ToGbk(str []byte) (b []byte, err error) {
|
||||
|
||||
134
platformapi/jxprintapi/jxprintapi.go
Normal file
134
platformapi/jxprintapi/jxprintapi.go
Normal file
@@ -0,0 +1,134 @@
|
||||
package jxprintapi
|
||||
|
||||
import (
|
||||
"crypto/md5"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
prodURL = "http://api.jxc4.com/openapi/CallOpenAPI"
|
||||
signKey = "sign"
|
||||
)
|
||||
const (
|
||||
// ResponseCodeSuccess 操作成功
|
||||
ResponseCodeSuccess = 0
|
||||
)
|
||||
|
||||
const (
|
||||
PrinterStatusStrOffline = "离线。"
|
||||
PrinterStatusStrOnlineOK = "在线,工作状态正常。"
|
||||
PrinterStatusStrOnlineAbnormal = "在线,工作状态不正常。"
|
||||
|
||||
PrinterStatusUnknown = 0
|
||||
PrinterStatusOffline = -1
|
||||
PrinterStatusOnlineOK = 1
|
||||
PrinterStatusOnlineAbnormal = 2
|
||||
)
|
||||
|
||||
var (
|
||||
printStatusMap = map[string]int{
|
||||
PrinterStatusStrOffline: PrinterStatusOffline,
|
||||
PrinterStatusStrOnlineOK: PrinterStatusOnlineOK,
|
||||
PrinterStatusStrOnlineAbnormal: PrinterStatusOnlineAbnormal,
|
||||
}
|
||||
)
|
||||
|
||||
var (
|
||||
exceedLimitCodes = map[int]int{}
|
||||
|
||||
canRetryCodes = map[int]int{}
|
||||
)
|
||||
|
||||
type API struct {
|
||||
platformapi.APICookie
|
||||
|
||||
appID string
|
||||
appKey string
|
||||
client *http.Client
|
||||
config *platformapi.APIConfig
|
||||
}
|
||||
|
||||
type PrinterInfo struct {
|
||||
SN string
|
||||
Key string
|
||||
Name string
|
||||
PhoneNum string
|
||||
}
|
||||
|
||||
type PrinterResultInfo struct {
|
||||
SN string
|
||||
ErrMsg string
|
||||
}
|
||||
|
||||
func New(appID, appKey string, config ...*platformapi.APIConfig) *API {
|
||||
curConfig := platformapi.DefAPIConfig
|
||||
if len(config) > 0 {
|
||||
curConfig = *config[0]
|
||||
}
|
||||
return &API{
|
||||
appID: appID,
|
||||
appKey: appKey,
|
||||
client: &http.Client{Timeout: curConfig.ClientTimeout},
|
||||
config: &curConfig,
|
||||
}
|
||||
}
|
||||
|
||||
func (a *API) signParams(apiParams map[string]interface{}) string {
|
||||
return fmt.Sprintf("%x", md5.Sum([]byte(a.appID+a.appKey+apiParams["timestamp"].(string))))
|
||||
}
|
||||
|
||||
func (a *API) AccessAPI(apiName string, apiParams map[string]interface{}) (retVal interface{}, err error) {
|
||||
params := utils.MergeMaps(map[string]interface{}{
|
||||
"app_id": a.appID,
|
||||
"method": apiName,
|
||||
}, apiParams)
|
||||
|
||||
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
||||
func() *http.Request {
|
||||
params["timestamp"] = utils.Int64ToStr(time.Now().Unix())
|
||||
sign := a.signParams(params)
|
||||
params[signKey] = sign
|
||||
fullURL := prodURL
|
||||
request, _ := http.NewRequest(http.MethodPost, fullURL, strings.NewReader(utils.Map2URLValues(params).Encode()))
|
||||
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||
return request
|
||||
},
|
||||
a.config,
|
||||
func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) {
|
||||
if jsonResult1 == nil {
|
||||
return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil")
|
||||
}
|
||||
code := int(utils.Interface2Int64WithDefault(jsonResult1["ret"], ResponseCodeSuccess))
|
||||
if code == ResponseCodeSuccess {
|
||||
retVal = jsonResult1["data"]
|
||||
return platformapi.ErrLevelSuccess, nil
|
||||
}
|
||||
newErr := utils.NewErrorIntCode(jsonResult1["msg"].(string), code)
|
||||
if _, ok := exceedLimitCodes[code]; ok {
|
||||
return platformapi.ErrLevelExceedLimit, newErr
|
||||
} else if _, ok := canRetryCodes[code]; ok {
|
||||
return platformapi.ErrLevelRecoverableErr, newErr
|
||||
} else {
|
||||
baseapi.SugarLogger.Debugf("feie AccessAPI failed, jsonResult1:%s", utils.Format4Output(jsonResult1, true))
|
||||
return platformapi.ErrLevelCodeIsNotOK, newErr
|
||||
}
|
||||
})
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func (a *API) UpdatePrinter(print_no, name, sim, sound string, volume int) (err error) {
|
||||
_, err = a.AccessAPI("UpdatePrinter", map[string]interface{}{
|
||||
"print_no": print_no,
|
||||
"name": name,
|
||||
"sim": sim,
|
||||
"sound": sound,
|
||||
"volume": volume,
|
||||
})
|
||||
return err
|
||||
}
|
||||
28
platformapi/jxprintapi/jxprintapi_test.go
Normal file
28
platformapi/jxprintapi/jxprintapi_test.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package jxprintapi
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"go.uber.org/zap"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var (
|
||||
api *API
|
||||
sugarLogger *zap.SugaredLogger
|
||||
)
|
||||
|
||||
func init() {
|
||||
logger, _ := zap.NewDevelopment()
|
||||
sugarLogger = logger.Sugar()
|
||||
baseapi.Init(sugarLogger)
|
||||
|
||||
api = New("1000", "rfBd56ti2SMtYvSg")
|
||||
}
|
||||
|
||||
func TestUpdatePrinter(t *testing.T) {
|
||||
err := api.UpdatePrinter("20210615000011", "", "", "", 0)
|
||||
if err != nil {
|
||||
t.Fatalf("PrintMsg return error:%v", err)
|
||||
}
|
||||
//baseapi.SugarLogger.Debug(result)
|
||||
}
|
||||
Reference in New Issue
Block a user