From e81075b809a44514829858066bc9a3dff9e4c2db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A1=E8=8B=A5?= Date: Sun, 8 Mar 2026 16:53:53 +0800 Subject: [PATCH] =?UTF-8?q?sync:=20soul-api=20=E6=8E=A5=E5=8F=A3=E9=80=BB?= =?UTF-8?q?=E8=BE=91=20|=20=E5=8E=9F=E5=9B=A0:=20=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soul-api/internal/handler/ckb.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/soul-api/internal/handler/ckb.go b/soul-api/internal/handler/ckb.go index e0c66d2e..15158d45 100644 --- a/soul-api/internal/handler/ckb.go +++ b/soul-api/internal/handler/ckb.go @@ -25,6 +25,29 @@ const ckbAPIURL = "https://ckbapi.quwanzhi.com/v1/api/scenarios" var ckbSourceMap = map[string]string{"team": "团队招募", "investor": "资源对接", "mentor": "导师顾问", "partner": "创业合伙"} var ckbTagsMap = map[string]string{"team": "切片团队,团队招募", "investor": "资源对接,资源群", "mentor": "导师顾问,咨询服务", "partner": "创业合伙,创业伙伴"} +func getCKBRuntimeConfig() (apiKey string, apiURL string, docNotes string) { + apiKey = ckbAPIKey + apiURL = ckbAPIURL + var cfg model.SystemConfig + if err := database.DB().Where("config_key = ?", "ckb_config").First(&cfg).Error; err != nil { + return + } + var m map[string]interface{} + if err := json.Unmarshal(cfg.ConfigValue, &m); err != nil { + return + } + if v, ok := m["apiKey"].(string); ok && strings.TrimSpace(v) != "" { + apiKey = strings.TrimSpace(v) + } + if v, ok := m["apiUrl"].(string); ok && strings.TrimSpace(v) != "" { + apiURL = strings.TrimSpace(v) + } + if v, ok := m["docNotes"].(string); ok { + docNotes = v + } + return +} + // ckbSign 与 next-project app/api/ckb/join 一致:排除 sign/apiKey/portrait,空值跳过,按键升序拼接值,MD5(拼接串) 再 MD5(结果+apiKey) func ckbSign(params map[string]interface{}, apiKey string) string { keys := make([]string, 0, len(params))