Jerry 7 lat temu
rodzic
commit
2883294749
1 zmienionych plików z 26 dodań i 1 usunięć
  1. 26 1
      README.md

+ 26 - 1
README.md

@@ -24,10 +24,12 @@
 * 下载资金账单:gopay.DownloadFundFlow()
 * 下载资金账单:gopay.DownloadFundFlow()
 * 拉取订单评价数据:gopay.BatchQueryComment()
 * 拉取订单评价数据:gopay.BatchQueryComment()
 
 
-## 小程序服务端API
+## 服务端API
 * gopay.Code2Session() => 登录凭证校验:获取微信用户OpenId、UnionId、SessionKey
 * gopay.Code2Session() => 登录凭证校验:获取微信用户OpenId、UnionId、SessionKey
 * gopay.GetAccessToken() => 获取小程序全局唯一后台接口调用凭据
 * gopay.GetAccessToken() => 获取小程序全局唯一后台接口调用凭据
 * gopay.GetPaidUnionId() => 用户支付完成后,获取该用户的 UnionId,无需用户授权
 * gopay.GetPaidUnionId() => 用户支付完成后,获取该用户的 UnionId,无需用户授权
+* gopay.GetWeChatUserInfo() => 获取用户基本信息(UnionID机制)
+* gopay.DecryptOpenDataToStruct() => 加密数据,解密到指定结构体
 
 
 ## 安装
 ## 安装
 
 
@@ -107,6 +109,29 @@ fmt.Println("signType:", gopay.SignType_MD5)
 fmt.Println("paySign:", paySign)
 fmt.Println("paySign:", paySign)
 ```
 ```
 
 
+### 加密数据,解密到指定结构体
+
+拿小程序获取手机号为例
+button按钮获取手机号码:[button组件文档](https://developers.weixin.qq.com/miniprogram/dev/component/button.html)
+
+微信解密算法文档:[解密算法文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)
+```go
+data := "Kf3TdPbzEmhWMuPKtlKxIWDkijhn402w1bxoHL4kLdcKr6jT1jNcIhvDJfjXmJcgDWLjmBiIGJ5acUuSvxLws3WgAkERmtTuiCG10CKLsJiR+AXVk7B2TUQzsq88YVilDz/YAN3647REE7glGmeBPfvUmdbfDzhL9BzvEiuRhABuCYyTMz4iaM8hFjbLB1caaeoOlykYAFMWC5pZi9P8uw=="
+iv := "Cds8j3VYoGvnTp1BrjXdJg=="
+sessionKey := "lyY4HPQbaOYzZdG+JcYK9w=="
+
+phone := new(gopay.WeChatUserPhone)
+err := gopay.DecryptOpenDataToStruct(data, iv, sessionKey, phone)
+if err != nil {
+	fmt.Println("err:", err)
+	return
+}
+fmt.Println("PhoneNumber:", phone.PhoneNumber)
+fmt.Println("PurePhoneNumber:", phone.PurePhoneNumber)
+fmt.Println("CountryCode:", phone.CountryCode)
+fmt.Println("Watermark:", phone.Watermark)
+```
+
 ### 付款结果回调,需回复微信平台是否成功
 ### 付款结果回调,需回复微信平台是否成功
 
 
 > 代码中return写法,由于本人用的[Echo Web框架](https://github.com/labstack/echo),有兴趣的可以尝试一下
 > 代码中return写法,由于本人用的[Echo Web框架](https://github.com/labstack/echo),有兴趣的可以尝试一下