1
This commit is contained in:
@@ -159,3 +159,9 @@ func TestAPI_OrderselfDeliveryStateSync(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
func TestAggrent(t *testing.T) {
|
||||||
|
err := api.OrderAgreeReturnGoods("4648176604190697145", "1483635799404794")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package weixinapi
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -51,6 +51,19 @@ type MiniUserInfo struct {
|
|||||||
} `json:"watermark"`
|
} `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 {
|
func mapData2SNSToken(result map[string]interface{}) *SNSTokenInfo {
|
||||||
return &SNSTokenInfo{
|
return &SNSTokenInfo{
|
||||||
AccessToken: utils.Interface2String(result["access_token"]),
|
AccessToken: utils.Interface2String(result["access_token"]),
|
||||||
@@ -125,6 +138,30 @@ func (a *API) SNSCode2Session(jsCode string) (sessionInfo *SessionInfo, err erro
|
|||||||
return nil, err
|
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) {
|
func (a *API) SNSDecodeMiniProgramData(encryptedData, sessionKey, iv string) (decryptedData []byte, err error) {
|
||||||
return SNSDecodeMiniProgramData(encryptedData, sessionKey, iv)
|
return SNSDecodeMiniProgramData(encryptedData, sessionKey, iv)
|
||||||
|
|||||||
Reference in New Issue
Block a user