diff --git a/platform/jutuike/api.go b/platform/jutuike/api.go index 5ac764f..281b58c 100644 --- a/platform/jutuike/api.go +++ b/platform/jutuike/api.go @@ -75,18 +75,28 @@ func (a *jutuikeApiImpl) GenerateLink(ctx context.Context, req GenerateLinkReque } if _, ok := data["we_app_info"]; ok { weApp := cast.ToStringMap(data["we_app_info"]) - result.WeAppInfo = &WeAppInfo{ - AppId: weApp["app_id"].(string), - PagePath: weApp["page_path"].(string), - MiniCode: weApp["miniCode"].(string), + weAppInfoTemp := new(WeAppInfo) + if _, tok := weApp["app_id"]; tok { + weAppInfoTemp.AppId = weApp["app_id"].(string) } + if _, tok := weApp["page_path"]; tok { + weAppInfoTemp.PagePath = weApp["page_path"].(string) + } + if _, tok := weApp["miniCode"]; tok { + weAppInfoTemp.MiniCode = weApp["miniCode"].(string) + } + result.WeAppInfo = weAppInfoTemp } if _, ok := data["alipay_app_info"]; ok { alipayApp := cast.ToStringMap(data["alipay_app_info"]) - result.AlipayAppInfo = &AlipayAppInfo{ - AppId: alipayApp["app_id"].(string), - PagePath: alipayApp["page_path"].(string), + alipayAppInfoTemp := new(AlipayAppInfo) + if _, tok := alipayApp["app_id"]; tok { + alipayAppInfoTemp.AppId = alipayApp["app_id"].(string) } + if _, tok := alipayApp["page_path"]; tok { + alipayAppInfoTemp.PagePath = alipayApp["page_path"].(string) + } + result.AlipayAppInfo = alipayAppInfoTemp } return result, nil }