From a0b5cbcbc35f9f5d0ebcb90f2dde6a7b8e854a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 11 Aug 2022 18:36:16 +0800 Subject: [PATCH] 1 --- platformapi/ebaiapi/order_test.go | 6 +++++ platformapi/weixinapi/sns.go | 39 ++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/platformapi/ebaiapi/order_test.go b/platformapi/ebaiapi/order_test.go index f9b73eb4..37a92dff 100644 --- a/platformapi/ebaiapi/order_test.go +++ b/platformapi/ebaiapi/order_test.go @@ -159,3 +159,9 @@ func TestAPI_OrderselfDeliveryStateSync(t *testing.T) { t.Fatal(err) } } +func TestAggrent(t *testing.T) { + err := api.OrderAgreeReturnGoods("4648176604190697145", "1483635799404794") + if err != nil { + t.Fatal(err) + } +} diff --git a/platformapi/weixinapi/sns.go b/platformapi/weixinapi/sns.go index fe602a8d..6902737a 100644 --- a/platformapi/weixinapi/sns.go +++ b/platformapi/weixinapi/sns.go @@ -2,7 +2,7 @@ package weixinapi import ( "bytes" - + "fmt" "git.rosy.net.cn/baseapi/utils" ) @@ -51,6 +51,19 @@ type MiniUserInfo struct { } `json:"watermark"` } +// UserPhone 微信小程序解密后 用户手机号结构体 +type UserPhone struct { + PhoneNumber string `json:"phoneNumber,omitempty"` + PurePhoneNumber string `json:"purePhoneNumber,omitempty"` + CountryCode string `json:"countryCode,omitempty"` + Watermark *watermarkInfo `json:"watermark,omitempty"` +} + +type watermarkInfo struct { + Appid string `json:"appid,omitempty"` + Timestamp int `json:"timestamp,omitempty"` +} + func mapData2SNSToken(result map[string]interface{}) *SNSTokenInfo { return &SNSTokenInfo{ AccessToken: utils.Interface2String(result["access_token"]), @@ -125,6 +138,30 @@ func (a *API) SNSCode2Session(jsCode string) (sessionInfo *SessionInfo, err erro return nil, err } +func (a *API) SNSGetUserPhone(jsCode string) (string, error) { + url := "wxa/business/getuserphonenumber?access_token=%s" + if a.token == "" { + url = fmt.Sprintf(url, a.CBGetToken()) + } else { + url = fmt.Sprintf(url, a.token) + } + result, err := a.AccessAPI(url, map[string]interface{}{ + "js_code": jsCode, + }, "") + if err != nil { + return "", err + } + if result["errcode"].(int) != 0 { + return "", err + } + var phoneInfo *UserPhone + if err := utils.Map2StructByJson(result, &phoneInfo, false); err != nil { + return "", err + } + + return phoneInfo.PhoneNumber, nil +} + // 待删除 func (a *API) SNSDecodeMiniProgramData(encryptedData, sessionKey, iv string) (decryptedData []byte, err error) { return SNSDecodeMiniProgramData(encryptedData, sessionKey, iv)