Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
陈曦
sub2api
Commits
eb55947e
Commit
eb55947e
authored
Dec 23, 2025
by
shaw
Browse files
fix: 修复golangci-lint检查问题
- 移除OpenAIGatewayHandler中未使用的userService字段 - 将账号类型判断的if-else链改为switch语句
parent
5f7e5184
Changes
3
Show whitespace changes
Inline
Side-by-side
backend/cmd/server/wire_gen.go
View file @
eb55947e
...
...
@@ -111,7 +111,7 @@ func initializeApplication(buildInfo handler.BuildInfo) (*Application, error) {
concurrencyService
:=
service
.
NewConcurrencyService
(
concurrencyCache
)
gatewayHandler
:=
handler
.
NewGatewayHandler
(
gatewayService
,
userService
,
concurrencyService
,
billingCacheService
)
openAIGatewayService
:=
service
.
NewOpenAIGatewayService
(
accountRepository
,
usageLogRepository
,
userRepository
,
userSubscriptionRepository
,
gatewayCache
,
configConfig
,
billingService
,
rateLimitService
,
billingCacheService
,
httpUpstream
)
openAIGatewayHandler
:=
handler
.
NewOpenAIGatewayHandler
(
openAIGatewayService
,
userService
,
concurrencyService
,
billingCacheService
)
openAIGatewayHandler
:=
handler
.
NewOpenAIGatewayHandler
(
openAIGatewayService
,
concurrencyService
,
billingCacheService
)
handlerSettingHandler
:=
handler
.
ProvideSettingHandler
(
settingService
,
buildInfo
)
handlers
:=
handler
.
ProvideHandlers
(
authHandler
,
userHandler
,
apiKeyHandler
,
usageHandler
,
redeemHandler
,
subscriptionHandler
,
adminHandlers
,
gatewayHandler
,
openAIGatewayHandler
,
handlerSettingHandler
)
groupService
:=
service
.
NewGroupService
(
groupRepository
)
...
...
backend/internal/handler/openai_gateway_handler.go
View file @
eb55947e
...
...
@@ -19,7 +19,6 @@ import (
// OpenAIGatewayHandler handles OpenAI API gateway requests
type
OpenAIGatewayHandler
struct
{
gatewayService
*
service
.
OpenAIGatewayService
userService
*
service
.
UserService
billingCacheService
*
service
.
BillingCacheService
concurrencyHelper
*
ConcurrencyHelper
}
...
...
@@ -27,13 +26,11 @@ type OpenAIGatewayHandler struct {
// NewOpenAIGatewayHandler creates a new OpenAIGatewayHandler
func
NewOpenAIGatewayHandler
(
gatewayService
*
service
.
OpenAIGatewayService
,
userService
*
service
.
UserService
,
concurrencyService
*
service
.
ConcurrencyService
,
billingCacheService
*
service
.
BillingCacheService
,
)
*
OpenAIGatewayHandler
{
return
&
OpenAIGatewayHandler
{
gatewayService
:
gatewayService
,
userService
:
userService
,
billingCacheService
:
billingCacheService
,
concurrencyHelper
:
NewConcurrencyHelper
(
concurrencyService
,
SSEPingFormatNone
),
}
...
...
backend/internal/service/openai_gateway_service.go
View file @
eb55947e
...
...
@@ -179,20 +179,22 @@ func (s *OpenAIGatewayService) SelectAccountForModel(ctx context.Context, groupI
// GetAccessToken gets the access token for an OpenAI account
func
(
s
*
OpenAIGatewayService
)
GetAccessToken
(
ctx
context
.
Context
,
account
*
model
.
Account
)
(
string
,
string
,
error
)
{
if
account
.
Type
==
model
.
AccountTypeOAuth
{
switch
account
.
Type
{
case
model
.
AccountTypeOAuth
:
accessToken
:=
account
.
GetOpenAIAccessToken
()
if
accessToken
==
""
{
return
""
,
""
,
errors
.
New
(
"access_token not found in credentials"
)
}
return
accessToken
,
"oauth"
,
nil
}
else
if
account
.
Type
==
model
.
AccountTypeApiKey
{
case
model
.
AccountTypeApiKey
:
apiKey
:=
account
.
GetOpenAIApiKey
()
if
apiKey
==
""
{
return
""
,
""
,
errors
.
New
(
"api_key not found in credentials"
)
}
return
apiKey
,
"apikey"
,
nil
}
default
:
return
""
,
""
,
fmt
.
Errorf
(
"unsupported account type: %s"
,
account
.
Type
)
}
}
// Forward forwards request to OpenAI API
...
...
@@ -295,10 +297,11 @@ func (s *OpenAIGatewayService) Forward(ctx context.Context, c *gin.Context, acco
func
(
s
*
OpenAIGatewayService
)
buildUpstreamRequest
(
ctx
context
.
Context
,
c
*
gin
.
Context
,
account
*
model
.
Account
,
body
[]
byte
,
token
string
,
isStream
bool
)
(
*
http
.
Request
,
error
)
{
// Determine target URL based on account type
var
targetURL
string
if
account
.
Type
==
model
.
AccountTypeOAuth
{
switch
account
.
Type
{
case
model
.
AccountTypeOAuth
:
// OAuth accounts use ChatGPT internal API
targetURL
=
chatgptCodexURL
}
else
if
account
.
Type
==
model
.
AccountTypeApiKey
{
case
model
.
AccountTypeApiKey
:
// API Key accounts use Platform API or custom base URL
baseURL
:=
account
.
GetOpenAIBaseURL
()
if
baseURL
!=
""
{
...
...
@@ -306,7 +309,7 @@ func (s *OpenAIGatewayService) buildUpstreamRequest(ctx context.Context, c *gin.
}
else
{
targetURL
=
openaiPlatformAPIURL
}
}
else
{
default
:
targetURL
=
openaiPlatformAPIURL
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment