@@ -36,6 +36,16 @@ export const getUA = (userAgent: string) => {
3636
3737const { Text } = Typography ;
3838
39+ const getApiTokenLabel = ( apiTokens ?: AuditLog [ 'apiTokens' ] ) => {
40+ if ( ! apiTokens ?. tokenSuffix ) {
41+ return undefined ;
42+ }
43+
44+ return apiTokens . name
45+ ? `${ apiTokens . name } (****${ apiTokens . tokenSuffix } )`
46+ : `****${ apiTokens . tokenSuffix } ` ;
47+ } ;
48+
3949// 将 path 中的数字替换为 {id},并移除末尾的斜杠
4050const normalizePath = ( path : string ) : string => {
4151 return path . replace ( / \/ \d + / g, '/{id}' ) . replace ( / \/ $ / , '' ) ;
@@ -181,18 +191,23 @@ const columns: ColumnType<AuditLog>[] = [
181191 title : '设备信息' ,
182192 dataIndex : 'userAgent' ,
183193 responsive : [ 'lg' ] ,
184- width : 250 ,
194+ width : 200 ,
185195 ellipsis : {
186196 showTitle : false ,
187197 } ,
188198 render : ( userAgent : string | undefined , record : AuditLog ) => {
189- const hasInfo = userAgent || record . ip ;
199+ const apiToken = getApiTokenLabel ( record . apiTokens ) ;
200+ const hasInfo = userAgent || record . ip || apiToken ;
190201 if ( ! hasInfo ) {
191202 return < Text type = "secondary" > -</ Text > ;
192203 }
193204
205+ const title = [ userAgent , record . ip && `IP: ${ record . ip } ` , apiToken ]
206+ . filter ( Boolean )
207+ . join ( '\n' ) ;
208+
194209 return (
195- < div title = { userAgent || record . ip } >
210+ < div title = { title } >
196211 { userAgent && < div > { getUA ( userAgent ) } </ div > }
197212 { record . ip && (
198213 < div className = "mt-1" >
@@ -201,24 +216,17 @@ const columns: ColumnType<AuditLog>[] = [
201216 </ Text >
202217 </ div >
203218 ) }
219+ { apiToken && (
220+ < div className = "mt-1" >
221+ < Text type = "secondary" className = "font-mono text-xs" >
222+ API Key:{ apiToken }
223+ </ Text >
224+ </ div >
225+ ) }
204226 </ div >
205227 ) ;
206228 } ,
207229 } ,
208- {
209- title : 'API Key' ,
210- dataIndex : 'apiTokens' ,
211- responsive : [ 'lg' ] ,
212- width : 150 ,
213- render : ( apiTokens ?: { name : string ; tokenSuffix : string } ) =>
214- apiTokens ? (
215- < Text className = "font-mono text-xs" >
216- { apiTokens . name } (****{ apiTokens . tokenSuffix } )
217- </ Text >
218- ) : (
219- < Text type = "secondary" > -</ Text >
220- ) ,
221- } ,
222230] ;
223231
224232export const AuditLogs = ( ) => {
0 commit comments