feat(auth): 更新用户认证类型定义并优化提款功能

- 添加 AuthCoinAmount 类型和 AuthWithdrawAccount 接口
- 在 AuthUser 和相关 DTO 中增加余额和提款账户字段
- 将获取用户资料的请求方法从 POST 改为 GET
- 实现提款账户信息的默认值设置和状态管理
- 添加 JackpotPoolTicker 组件并在状态栏中显示
- 更新多语言文件中的游戏规则说明
- 实现提款表单的预填充和状态重置功能
This commit is contained in:
JiaJun
2026-07-15 18:00:33 +08:00
parent fa40c23720
commit 9ade40c29b
10 changed files with 154 additions and 31 deletions

View File

@@ -8,6 +8,7 @@ import fire from '@/assets/system/fire.webp'
import lock from '@/assets/system/lock.webp'
import statusCenter from '@/assets/system/status-center.webp'
import statusLine from '@/assets/system/status-line.webp'
import { JackpotPoolTicker } from '@/components/jackpot-pool-ticker.tsx'
import { LottiePlayer } from '@/components/lottie-player.tsx'
import { MessageBroadcast } from '@/components/message-broadcast.tsx'
import { SmartBackground } from '@/components/smart-background.tsx'
@@ -43,7 +44,7 @@ export function DesktopStatusLine() {
return (
<div className={'relative w-full flex flex-col text-design-22'}>
<div className={'w-full px-design-16 mb-design-10'}>
<MessageBroadcast />
<MessageBroadcast showJackpotPool={false} />
</div>
<SmartBackground
src={statusLine}
@@ -157,8 +158,8 @@ export function DesktopStatusLine() {
className={countdownClassName}
/>
</div>
<div className="flex flex-1 items-center justify-center gap-design-88">
<div className="flex items-center gap-design-9">
<div className="grid min-w-0 flex-1 grid-cols-[repeat(3,minmax(0,1fr))] items-center justify-items-stretch pl-design-6 pr-design-16">
<div className="flex min-w-0 items-center justify-center gap-design-6">
<span className="relative flex h-design-24 w-design-24 items-center justify-center">
<motion.span
aria-hidden="true"
@@ -207,14 +208,26 @@ export function DesktopStatusLine() {
</div>
</div>
<div className="flex items-baseline gap-design-7 font-bold leading-none">
<div className="flex min-w-0 items-baseline justify-center gap-design-5 font-bold leading-none">
<span className="text-design-20 tracking-[0.06em] text-[#9FBAC0]">
{t('gameDesktop.status.roundId')}:
</span>
<span className="text-design-24 font-black tracking-[0.06em] text-[#E7FFFF] [text-shadow:0_0_calc(var(--design-unit)*9)_rgba(75,255,254,0.38)]">
<span className="min-w-0 truncate text-design-24 font-black tracking-[0.06em] text-[#E7FFFF] [text-shadow:0_0_calc(var(--design-unit)*9)_rgba(75,255,254,0.38)]">
{roundId}
</span>
</div>
<div className="flex min-w-0 items-center justify-center">
<JackpotPoolTicker
variant="inline"
className={cn(
'!h-design-52 !w-full max-w-full justify-center !px-design-5 md:!px-design-6',
'[&>div:first-child]:md:!mr-design-5 [&>div:first-child]:md:!h-design-20 [&>div:first-child]:md:!w-design-20',
'[&>span:first-of-type]:md:!mr-[20px] [&>span:first-of-type]:md:!text-design-10',
'[&>span:last-child]:!shrink-0 [&>span:last-child]:!text-design-9 md:[&>span:last-child]:!text-design-20',
)}
/>
</div>
</div>
</SmartBackground>
</div>