Skip to content

Commit 575eda3

Browse files
authored
Merge pull request #2 from CodeIntegrity/main
fix: 无base_url情况下添加判断
2 parents cf646eb + d2c7d05 commit 575eda3

File tree

3 files changed

+38
-7
lines changed

3 files changed

+38
-7
lines changed

Dockerfile

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,33 @@
1-
FROM golang:1.22-alpine
1+
# 构建阶段
2+
FROM golang:1.22-alpine AS builder
3+
4+
# 安装构建依赖
5+
RUN apk add --no-cache gcc musl-dev
26

37
WORKDIR /app
48

9+
# 复制依赖文件
510
COPY go.mod go.sum ./
611

12+
# 下载依赖
713
RUN go mod download
14+
RUN go mod tidy
815

16+
# 复制源代码
917
COPY . .
1018

11-
RUN CGO_ENABLED=0 GOOS=linux go build -o main .
19+
# 构建应用
20+
RUN CGO_ENABLED=1 GOOS=linux go build -o main .
21+
22+
# 运行阶段
23+
FROM alpine:latest
24+
25+
# 安装 SQLite 运行时依赖
26+
RUN apk add --no-cache sqlite-libs
27+
28+
WORKDIR /app
29+
30+
# 从构建阶段复制二进制文件
31+
COPY --from=builder /app/main .
1232

1333
CMD ["./main"]

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ go 1.22.1
44

55
require github.com/go-sql-driver/mysql v1.8.1
66

7+
78
require (
89
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
910
github.com/golang-sql/sqlexp v0.1.0 // indirect

main.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414

1515
type Channel struct {
1616
ID int
17+
Type int
1718
Name string
1819
BaseURL string
1920
Key string
@@ -26,7 +27,7 @@ var (
2627
)
2728

2829
func 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

Comments
 (0)