@@ -14,6 +14,7 @@ import (
1414
1515type Channel struct {
1616 ID int
17+ Type int
1718 Name string
1819 BaseURL string
1920 Key string
2627)
2728
2829func fetchChannels () ([]Channel , error ) {
29- query := "SELECT id, name, base_url, `key`, status FROM channels"
30+ query := "SELECT id, type, name, base_url, `key`, status FROM channels"
3031 rows , err := db .Raw (query ).Rows ()
3132 if err != nil {
3233 return nil , err
@@ -36,12 +37,20 @@ func fetchChannels() ([]Channel, error) {
3637 var channels []Channel
3738 for rows .Next () {
3839 var c Channel
39- if err := rows .Scan (& c .ID , & c .Name , & c .BaseURL , & c .Key , & c .Status ); err != nil {
40+ if err := rows .Scan (& c .ID , & c .Type , & c . Name , & c .BaseURL , & c .Key , & c .Status ); err != nil {
4041 return nil , err
4142 }
42- if c .BaseURL == "" {
43- c .BaseURL = "https://api.openai.com"
44- }
43+
44+ switch c .Type {
45+ case 40 :
46+ c .BaseURL = "https://api.siliconflow.cn"
47+ case 999 :
48+ c .BaseURL = "https://api.siliconflow.cn"
49+ case 1 :
50+ if c .BaseURL == "" {
51+ c .BaseURL = "https://api.openai.com"
52+ }
53+ }
4554 // 检查是否在排除列表中
4655 if contains (config .ExcludeChannel , c .ID ) {
4756 log .Printf ("渠道 %s(ID:%d) 在排除列表中,跳过\n " , c .Name , c .ID )
@@ -186,6 +195,7 @@ func main() {
186195 }
187196
188197 db , err = NewDB (* config )
198+
189199 if err != nil {
190200 log .Fatal ("数据库连接失败:" , err )
191201 }
0 commit comments