-
💱 feat(settings): introduce site-wide quota display type (USD/CNY/TOKENS/CUSTOM) · 8294a76bReplace the legacy boolean “DisplayInCurrencyEnabled” with an injected, type-safe configuration `general_setting.quota_display_type`, and wire it through the backend and frontend. Backend - Add `QuotaDisplayType` to `operation_setting.GeneralSetting` with injected registration via `config.GlobalConfig.Register("general_setting", ...)`. Helpers: `IsCurrencyDisplay()`, `IsCNYDisplay()`, `GetQuotaDisplayType()`. - Expose `quota_display_type` in `/api/status` and keep legacy `display_in_currency` for backward compatibility. - Logger: update `LogQuota` and `FormatQuota` to support USD/CNY/TOKENS. When CNY is selected, convert using `operation_setting.USDExchangeRate`. - Controllers: - `billing`: compute subscription/usage amounts based on the selected type (USD: divide by `QuotaPerUnit`; CNY: USD→CNY; TOKENS: keep raw tokens). - `topup` / `topup_stripe`: treat inputs as “amount” for USD/CNY and as token-count for TOKENS; adjust min topup and pay money accordingly. - `misc`: include `quota_display_type` in status payload. - Compatibility: in `model/option.UpdateOption`, map updates to `DisplayInCurrencyEnabled` → `general_setting.quota_display_type` (true→USD, false→TOKENS). Keep exporting the legacy key in `OptionMap`. Frontend - Settings: replace the “display in currency” switch with a Select (`general_setting.quota_display_type`) offering USD / CNY / Tokens. Provide fallback mapping from legacy `DisplayInCurrencyEnabled`. - Persist `quota_display_type` to localStorage (keep `display_in_currency` for legacy components). - Rendering helpers: base all quota/price rendering on `quota_display_type`; use `usd_exchange_rate` for CNY symbol/values. - Pricing page: default view currency follows site display type (USD/CNY), while TOKENS mode still allows per-view currency toggling when needed. Notes - No database migrations required. - Legacy clients remain functional via compatibility fields.t0ng7u committed
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| About | Loading commit data... | |
| Channel | Loading commit data... | |
| Chat | Loading commit data... | |
| Chat2Link | Loading commit data... | |
| Dashboard | Loading commit data... | |
| Forbidden | Loading commit data... | |
| Home | Loading commit data... | |
| Log | Loading commit data... | |
| Midjourney | Loading commit data... | |
| Model | Loading commit data... | |
| NotFound | Loading commit data... | |
| Playground | Loading commit data... | |
| Pricing | Loading commit data... | |
| Redemption | Loading commit data... | |
| Setting | Loading commit data... | |
| Setup | Loading commit data... | |
| Task | Loading commit data... | |
| Token | Loading commit data... | |
| TopUp | Loading commit data... | |
| User | Loading commit data... |