package closeai import ( "errors" "fmt" "one-api/common" "one-api/model" ) func (p *CloseaiProxyProvider) Balance(channel *model.Channel) (float64, error) { fullRequestURL := p.GetFullRequestURL("/sb-api/user/status", "") fullRequestURL = fmt.Sprintf("%s?api_key=%s", fullRequestURL, channel.Key) headers := p.GetRequestHeaders() client := common.NewClient() req, err := client.NewRequest("GET", fullRequestURL, common.WithBody(nil), common.WithHeader(headers)) if err != nil { return 0, err } // 发送请求 var response OpenAICreditGrants _, errWithCode := common.SendRequest(req, &response, false) if errWithCode != nil { return 0, errors.New(errWithCode.OpenAIError.Message) } channel.UpdateBalance(response.TotalAvailable) return response.TotalAvailable, nil }