feat: 分站在线充值功能

- 新增 dist_topup.go 控制器,支持易支付/Stripe/Creem/加密货币充值
- 分站模型新增 enable_topup 字段
- 分站前端新增充值页面和导航入口
- 分站设置页新增充值开关
- 添加中英文 i18n 翻译

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
abingyydsandClaude Sonnet 4.6 committed 2026-03-21 15:21:45 +09:00
1 parent a512c4c344
commit e981315543
9 files changed
+515 -2

No files matched your search

+1
View File
@@ -21,6 +21,7 @@ export default function DarkLayout() {
{ to: '/packages', label: t('nav.packages'), auth: false },
{ to: '/dashboard', label: t('nav.dashboard'), auth: true },
{ to: '/tokens', label: t('nav.apiKeys'), auth: true },
...(site?.enable_topup ? [{ to: '/topup', label: t('nav.topup'), auth: true }] : []),
];
const visibleNavItems = navItems.filter((n) => !n.auth || user);
+1
View File
@@ -21,6 +21,7 @@ export default function DefaultLayout() {
{ to: '/packages', label: t('nav.packages'), auth: false },
{ to: '/dashboard', label: t('nav.dashboard'), auth: true },
{ to: '/tokens', label: t('nav.apiKeys'), auth: true },
...(site?.enable_topup ? [{ to: '/topup', label: t('nav.topup'), auth: true }] : []),
];
const visibleNavItems = navItems.filter((n) => !n.auth || user);
+1
View File
@@ -21,6 +21,7 @@ export default function MinimalLayout() {
{ to: '/packages', label: t('nav.packages'), auth: false },
{ to: '/dashboard', label: t('nav.dashboard'), auth: true },
{ to: '/tokens', label: t('nav.apiKeys'), auth: true },
...(site?.enable_topup ? [{ to: '/topup', label: t('nav.topup'), auth: true }] : []),
];
const visibleNavItems = navItems.filter((n) => !n.auth || user);
+1
View File
@@ -21,6 +21,7 @@ export default function StarterLayout() {
{ to: '/packages', label: t('nav.packages'), auth: false },
{ to: '/dashboard', label: t('nav.dashboard'), auth: true },
{ to: '/tokens', label: t('nav.apiKeys'), auth: true },
...(site?.enable_topup ? [{ to: '/topup', label: t('nav.topup'), auth: true }] : []),
];
const visibleNavItems = navItems.filter((n) => !n.auth || user);