feat(channel): enhance channel handling with multi-key support

This commit is contained in:
CaIon
2025-06-16 02:30:46 +08:00
parent 617c8e8f4f
commit 7403df7e9c
4 changed files with 115 additions and 12 deletions

View File

@@ -318,6 +318,22 @@ func AddChannel(c *gin.Context) {
})
return
}
toMap := common.StrToMap(addChannelRequest.Channel.Key)
if toMap != nil {
addChannelRequest.Channel.ChannelInfo.MultiKeySize = len(toMap)
} else {
addChannelRequest.Channel.ChannelInfo.MultiKeySize = 0
}
} else {
cleanKeys := make([]string, 0)
for _, key := range strings.Split(addChannelRequest.Channel.Key, "\n") {
if key == "" {
continue
}
cleanKeys = append(cleanKeys, key)
}
addChannelRequest.Channel.ChannelInfo.MultiKeySize = len(cleanKeys)
addChannelRequest.Channel.Key = strings.Join(cleanKeys, "\n")
}
keys = []string{addChannelRequest.Channel.Key}
case "batch":