荣耀消耗后打印更多日志

This commit is contained in:
ayflying
2025-09-10 12:15:25 +08:00
parent e5e6068337
commit 4473003a36

View File

@@ -11,19 +11,29 @@ import (
"net/http" "net/http"
) )
// 响应结果结构体
type Response struct { type Response struct {
Code int `json:"code"` // 结果码 0: 成功,其他: 失败 Code int `json:"code"`
Message string `json:"message"` // 错误信息 Message string `json:"message"`
Data *DataContent `json:"data"` // 包含购买信息的结构体 Data struct {
PurchaseProductInfo string `json:"purchaseProductInfo"`
DataSig string `json:"dataSig"`
SigAlgorithm string `json:"sigAlgorithm"`
} `json:"data"`
} }
// 数据内容结构体对应data字段 //// 响应结果结构体
type DataContent struct { //type Response struct {
PurchaseProductInfo string `json:"purchaseProductInfo"` // 消耗结果数据的JSON字符串 // Code int `json:"code"` // 结果码 0: 成功,其他: 失败
DataSig string `json:"dataSig"` // purchaseProductInfo的签名 // Message string `json:"message"` // 错误信息
SigAlgorithm string `json:"sigAlgorithm"` // 签名算法,云侧加密算法为"RSA" // Data *DataContent `json:"data"` // 包含购买信息的结构体
} //}
//
//// 数据内容结构体对应data字段
//type DataContent struct {
// PurchaseProductInfo string `json:"purchaseProductInfo"` // 消耗结果数据的JSON字符串
// DataSig string `json:"dataSig"` // purchaseProductInfo的签名
// SigAlgorithm string `json:"sigAlgorithm"` // 签名算法,云侧加密算法为"RSA"
//}
func (p *Pay) Notification(r *http.Request) { func (p *Pay) Notification(r *http.Request) {
@@ -37,21 +47,24 @@ func (p *Pay) ConsumeProduct(purchaseToken string) (err error) {
if err != nil { if err != nil {
return return
} }
get, err := g.Client().ContentJson().Header(g.MapStrStr{ var header = g.MapStrStr{
"access-token": token, "access-token": token,
"x-iap-appid": p.AppId, "x-iap-appid": p.AppId,
"purchaseToken": purchaseToken, "purchaseToken": purchaseToken,
}).Post(gctx.New(), url, g.Map{ }
var params = g.Map{
"purchaseToken": purchaseToken, "purchaseToken": purchaseToken,
"developerChallenge": grand.S(16), "developerChallenge": grand.S(16),
})
if err != nil {
return
} }
get := g.Client().ContentJson().Header(header).PostContent(gctx.New(), url, params)
g.Log().Debugf(gctx.New(), "商品消耗请求发送:url=%v, header=%v, params=%v", url, header, params)
g.Log().Debugf(gctx.New(), "商品消耗请求收到回复: %s", get)
var res *Response var res *Response
gjson.DecodeTo(get.ReadAllString(), &res) err = gjson.DecodeTo(get, &res)
if err != nil {
return
}
if res.Code != 0 { if res.Code != 0 {
g.Log().Error(gctx.New(), "商品消耗失败: "+res.Message) g.Log().Error(gctx.New(), "商品消耗失败: "+res.Message)
return errors.New(res.Message) return errors.New(res.Message)