浏览代码

fix:报告内图表增加有效期token

Roc 2 月之前
父节点
当前提交
c3a7460438
共有 1 个文件被更改,包括 14 次插入8 次删除
  1. 14 8
      services/report_v2.go

+ 14 - 8
services/report_v2.go

@@ -1608,17 +1608,18 @@ func linkAddToken(link string, tokenMap map[string]string) string {
 	}
 
 	// 避免报告里面一个图表/表格重复生成token
+	var token string
 	key := fmt.Sprint(showType, `:`, code)
 	if tokenMap != nil {
-		if token, ok := tokenMap[key]; ok {
-			// 在链接后面添加一个token值
-			return link + "&authToken=" + token
-		}
+		token = tokenMap[key]
 	}
 
-	token, err := GeneralChartToken(showType, code, 30*time.Minute)
-	if err != nil {
-		return link
+	// 如果之前没有token,那么就重新生成token
+	if token == `` {
+		token, err = GeneralChartToken(showType, code, 30*time.Minute)
+		if err != nil {
+			return link
+		}
 	}
 
 	if tokenMap != nil {
@@ -1626,7 +1627,12 @@ func linkAddToken(link string, tokenMap map[string]string) string {
 	}
 
 	// 在链接后面添加一个token值
-	return link + "&authToken=" + token
+	queryParams.Add("authToken", token)
+
+	// 更新URL的查询参数
+	parsedURL.RawQuery = queryParams.Encode()
+
+	return parsedURL.String()
 }
 
 // linkDelToken 链接添加token