| package operation_setting |
|
|
| import "github.com/QuantumNous/new-api/setting/config" |
|
|
| |
| const ( |
| QuotaDisplayTypeUSD = "USD" |
| QuotaDisplayTypeCNY = "CNY" |
| QuotaDisplayTypeTokens = "TOKENS" |
| QuotaDisplayTypeCustom = "CUSTOM" |
| ) |
|
|
| type GeneralSetting struct { |
| DocsLink string `json:"docs_link"` |
| PingIntervalEnabled bool `json:"ping_interval_enabled"` |
| PingIntervalSeconds int `json:"ping_interval_seconds"` |
| |
| QuotaDisplayType string `json:"quota_display_type"` |
| |
| CustomCurrencySymbol string `json:"custom_currency_symbol"` |
| |
| CustomCurrencyExchangeRate float64 `json:"custom_currency_exchange_rate"` |
| } |
|
|
| |
| var generalSetting = GeneralSetting{ |
| DocsLink: "https://docs.newapi.pro", |
| PingIntervalEnabled: false, |
| PingIntervalSeconds: 60, |
| QuotaDisplayType: QuotaDisplayTypeUSD, |
| CustomCurrencySymbol: "¤", |
| CustomCurrencyExchangeRate: 1.0, |
| } |
|
|
| func init() { |
| |
| config.GlobalConfig.Register("general_setting", &generalSetting) |
| } |
|
|
| func GetGeneralSetting() *GeneralSetting { |
| return &generalSetting |
| } |
|
|
| |
| func IsCurrencyDisplay() bool { |
| return generalSetting.QuotaDisplayType != QuotaDisplayTypeTokens |
| } |
|
|
| |
| func IsCNYDisplay() bool { |
| return generalSetting.QuotaDisplayType == QuotaDisplayTypeCNY |
| } |
|
|
| |
| func GetQuotaDisplayType() string { |
| return generalSetting.QuotaDisplayType |
| } |
|
|
| |
| func GetCurrencySymbol() string { |
| switch generalSetting.QuotaDisplayType { |
| case QuotaDisplayTypeUSD: |
| return "$" |
| case QuotaDisplayTypeCNY: |
| return "¥" |
| case QuotaDisplayTypeCustom: |
| if generalSetting.CustomCurrencySymbol != "" { |
| return generalSetting.CustomCurrencySymbol |
| } |
| return "¤" |
| default: |
| return "" |
| } |
| } |
|
|
| |
| func GetUsdToCurrencyRate(usdToCny float64) float64 { |
| switch generalSetting.QuotaDisplayType { |
| case QuotaDisplayTypeUSD: |
| return 1 |
| case QuotaDisplayTypeCNY: |
| return usdToCny |
| case QuotaDisplayTypeCustom: |
| if generalSetting.CustomCurrencyExchangeRate > 0 { |
| return generalSetting.CustomCurrencyExchangeRate |
| } |
| return 1 |
| default: |
| return 1 |
| } |
| } |
|
|