From be37dcc1fd510719d598a8aac0927b70ad2b689f Mon Sep 17 00:00:00 2001 From: lixiangwuxian Date: Wed, 27 Nov 2024 01:20:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=BE=A4=E5=90=8D?= =?UTF-8?q?=E7=89=87=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/urlparser/url.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/handler/urlparser/url.go b/handler/urlparser/url.go index 8b590f1..f9461f7 100644 --- a/handler/urlparser/url.go +++ b/handler/urlparser/url.go @@ -128,6 +128,21 @@ func parseQQDocURL(jsonStr string) (string, error) { if !ok { return "", fmt.Errorf("找不到 jumpUrl 字段") } + } else if jsonData["app"] == "com.tencent.troopsharecard" { // 定位到 meta -> contact -> jumpUrl + meta, ok := jsonData["meta"].(map[string]interface{}) + if !ok { + return "", fmt.Errorf("找不到 meta 字段") + } + contact, ok := meta["contact"].(map[string]interface{}) + if !ok { + return "", fmt.Errorf("找不到 contact 字段") + } + url, ok = contact["jumpUrl"].(string) + if !ok { + return "", fmt.Errorf("找不到 jumpUrl 字段") + } + } else { + return "", fmt.Errorf("未知的 app 类型") } return url, nil