genspark2api / check /check.go
clash-linux's picture
Upload 46 files
a48ca26 verified
package check
import (
"genspark2api/common"
"genspark2api/common/config"
logger "genspark2api/common/loggger"
"github.com/samber/lo"
"regexp"
"strings"
)
func CheckEnvVariable() {
logger.SysLog("environment variable checking...")
if config.GSCookie == "" {
logger.FatalLog("环境变量 GS_COOKIE 未设置")
}
if config.YesCaptchaClientKey == "" {
//logger.SysLog("环境变量 YES_CAPTCHA_CLIENT_KEY 未设置,将无法使用 YesCaptcha 过谷歌验证,导致无法调用文生图模型 \n ClientKey获取地址:https://yescaptcha.com/i/021iAE")
}
if config.ModelChatMapStr != "" {
pattern := `^([a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))(,[a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))*`
match, _ := regexp.MatchString(pattern, config.ModelChatMapStr)
if !match {
logger.FatalLog("环境变量 MODEL_CHAT_MAP 设置有误")
} else {
modelChatMap := make(map[string]string)
pairs := strings.Split(config.ModelChatMapStr, ",")
for _, pair := range pairs {
kv := strings.Split(pair, "=")
if !lo.Contains(common.DefaultOpenaiModelList, kv[0]) {
logger.FatalLog("环境变量 MODEL_CHAT_MAP 中 MODEL 有误")
}
modelChatMap[kv[0]] = kv[1]
}
config.ModelChatMap = modelChatMap
if config.AutoModelChatMapType == 1 {
logger.FatalLog("环境变量 MODEL_CHAT_MAP 有值时,环境变量 AUTO_MODEL_CHAT_MAP_TYPE 不能设置为1")
}
}
}
if config.SessionImageChatMapStr != "" {
pattern := `^([a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))(,[a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))*`
match, _ := regexp.MatchString(pattern, config.SessionImageChatMapStr)
if !match {
logger.FatalLog("环境变量 SESSION_IMAGE_CHAT_MAP 设置有误")
} else {
sessionImageChatMap := make(map[string]string)
pairs := strings.Split(config.SessionImageChatMapStr, ",")
for _, pair := range pairs {
kv := strings.Split(pair, "=")
sessionImageChatMap["session_id="+kv[0]] = kv[1]
}
config.SessionImageChatMap = sessionImageChatMap
}
} else {
//logger.SysLog("环境变量 SESSION_IMAGE_CHAT_MAP 未设置,生图可能会异常")
}
logger.SysLog("environment variable check passed.")
}