@@ -8,6 +8,7 @@ const TopUp = () => {
8
8
const [ topUpLink , setTopUpLink ] = useState ( '' ) ;
9
9
const [ userQuota , setUserQuota ] = useState ( 0 ) ;
10
10
const [ isSubmitting , setIsSubmitting ] = useState ( false ) ;
11
+ const [ user , setUser ] = useState ( { } ) ;
11
12
12
13
const topUp = async ( ) => {
13
14
if ( redemptionCode === '' ) {
@@ -41,14 +42,22 @@ const TopUp = () => {
41
42
showError ( '超级管理员未设置充值链接!' ) ;
42
43
return ;
43
44
}
44
- window . open ( topUpLink , '_blank' ) ;
45
+ let url = new URL ( topUpLink ) ;
46
+ let username = user . username ;
47
+ let user_id = user . id ;
48
+ // add username and user_id to the topup link
49
+ url . searchParams . append ( 'username' , username ) ;
50
+ url . searchParams . append ( 'user_id' , user_id ) ;
51
+ url . searchParams . append ( 'transaction_id' , crypto . randomUUID ( ) ) ;
52
+ window . open ( url . toString ( ) , '_blank' ) ;
45
53
} ;
46
54
47
55
const getUserQuota = async ( ) => {
48
56
let res = await API . get ( `/api/user/self` ) ;
49
57
const { success, message, data} = res . data ;
50
58
if ( success ) {
51
59
setUserQuota ( data . quota ) ;
60
+ setUser ( data ) ;
52
61
} else {
53
62
showError ( message ) ;
54
63
}
@@ -80,7 +89,7 @@ const TopUp = () => {
80
89
} }
81
90
/>
82
91
< Button color = 'green' onClick = { openTopUpLink } >
83
- 获取兑换码
92
+ 充值
84
93
</ Button >
85
94
< Button color = 'yellow' onClick = { topUp } disabled = { isSubmitting } >
86
95
{ isSubmitting ? '兑换中...' : '兑换' }
0 commit comments