This commit is contained in:
richboo111
2022-08-12 14:16:25 +08:00
2 changed files with 50 additions and 1 deletions

View File

@@ -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)
}
}

View File

@@ -2,7 +2,7 @@ package weixinapi
import (
"bytes"
"errors"
"git.rosy.net.cn/baseapi/utils"
)
@@ -51,6 +51,25 @@ type MiniUserInfo struct {
} `json:"watermark"`
}
type GetUserPhone struct {
ErrCode int64 `json:"errcode"`
ErrMsg string `json:"errmsg"`
PhoneInfo *UserPhone `json:"phone_info"`
}
// 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 +144,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"
if a.token == "" {
a.CBRetrieveToken()
}
bodyJson := map[string]interface{}{
"code": jsCode,
}
result, err := a.AccessAPI(url, nil, string(utils.MustMarshal(bodyJson)))
if err != nil {
return "", err
}
var phoneInfo *GetUserPhone
if err := utils.Map2StructByJson(result, &phoneInfo, false); err != nil {
return "", err
}
if phoneInfo.ErrCode != 0 {
return "", errors.New(phoneInfo.ErrMsg)
}
return phoneInfo.PhoneInfo.PhoneNumber, nil
}
// 待删除
func (a *API) SNSDecodeMiniProgramData(encryptedData, sessionKey, iv string) (decryptedData []byte, err error) {
return SNSDecodeMiniProgramData(encryptedData, sessionKey, iv)