diff --git a/providers/openai/balance.go b/providers/openai/balance.go index 4c27ec6c..3620e870 100644 --- a/providers/openai/balance.go +++ b/providers/openai/balance.go @@ -9,6 +9,10 @@ import ( ) func (p *OpenAIProvider) Balance(channel *model.Channel) (float64, error) { + if !p.BalanceAction { + return 0, errors.New("不支持余额查询") + } + fullRequestURL := p.GetFullRequestURL("/v1/dashboard/billing/subscription", "") headers := p.GetRequestHeaders() diff --git a/providers/openai/base.go b/providers/openai/base.go index 1b621e8c..b6d3d452 100644 --- a/providers/openai/base.go +++ b/providers/openai/base.go @@ -20,12 +20,15 @@ type OpenAIProviderFactory struct{} // 创建 OpenAIProvider func (f OpenAIProviderFactory) Create(c *gin.Context) base.ProviderInterface { - return CreateOpenAIProvider(c, "") + openAIProvider := CreateOpenAIProvider(c, "") + openAIProvider.BalanceAction = true + return openAIProvider } type OpenAIProvider struct { base.BaseProvider - IsAzure bool + IsAzure bool + BalanceAction bool } // 创建 OpenAIProvider @@ -50,7 +53,8 @@ func CreateOpenAIProvider(c *gin.Context, baseURL string) *OpenAIProvider { ImagesVariations: "/v1/images/variations", Context: c, }, - IsAzure: false, + IsAzure: false, + BalanceAction: false, } } diff --git a/web/src/views/Channel/component/TableRow.js b/web/src/views/Channel/component/TableRow.js index 6f1c6755..d2efcc4f 100644 --- a/web/src/views/Channel/component/TableRow.js +++ b/web/src/views/Channel/component/TableRow.js @@ -136,7 +136,7 @@ export default function ChannelTableRow({ item, manageChannel, handleOpenModal, - {renderBalance(itemBalance)} + {renderBalance(item.type, itemBalance)}