|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package kd100
-
- import (
- "applet/app/comm/utils"
- "encoding/json"
- "strings"
- "time"
- )
-
- // 快递100云打印对接
- type kd100CloudPrint struct {
- Method string `json:"method"`
- Key string `json:"key"` //客户授权key
- Secret string `json:"secret"` //授权secret
- Sign string `json:"sign"` // 签名
- Timestamp string `json:"t"` // 时间戳
- PrintParam map[string]interface{} `json:"param"` // 其他参数
- ReturnData ReturnDataResp `json:"return_data"` // 返回数据
- }
-
- type ReturnDataResp struct {
- ReturnCode string `json:"returnCode"`
- Message string `json:"message"`
- Data interface{} `json:"data"`
- Result bool `json:"result"`
- }
-
- //type PrintParam struct {
- // OrderId string `json:"orderId"` // 订单ID,系统内唯一
- // TempId string `json:"tempid"` // 模板id
- // Height string `json:"height"` // 高
- // Width string `json:"width"` // 宽
- // Salt string `json:"salt"` // 加盐
- // CallBackUrl string `json:"callBackUrl"` // 回调地址
- // Siid string `json:"siid"` // kd100打印机设备号
- //}
-
- const printUrl = "https://poll.kuaidi100.com/printapi/printtask.do"
-
- func NewKd100Print(key, secret string, printParam map[string]interface{}) *kd100CloudPrint {
- nowStr := utils.AnyToString(time.Now().Unix())
- return &kd100CloudPrint{
- Method: "printOrder",
- Key: key,
- Secret: secret,
- Timestamp: nowStr,
- PrintParam: printParam,
- }
- }
-
- func (kd *kd100CloudPrint) CreateSign() *kd100CloudPrint {
- kd.Sign = strings.ToUpper(utils.Md5(utils.SerializeStr(kd.PrintParam) + kd.Timestamp + kd.Key + kd.Secret))
- return kd
- }
-
- func (kd *kd100CloudPrint) Send() error {
- reqBody := map[string]string{
- "method": kd.Method,
- "key": kd.Key,
- "sign": kd.Sign,
- "t": kd.Timestamp,
- "param": utils.SerializeStr(kd.PrintParam),
- }
- resp, err := utils.CurlPost(printUrl, reqBody, nil)
- if err != nil {
- return err
- }
-
- err = json.Unmarshal(resp, &kd.ReturnData)
- if err != nil {
- return err
- }
- return nil
- }
|