feat: record used quota & request count (close #102, #165)

This commit is contained in:
JustSong
2023-06-16 15:20:06 +08:00
parent 58fb18aace
commit 760183a970
4 changed files with 43 additions and 12 deletions

View File

@@ -4,7 +4,7 @@ import { Link } from 'react-router-dom';
import { API, showError, showSuccess } from '../helpers';
import { ITEMS_PER_PAGE } from '../constants';
import { renderGroup, renderText } from '../helpers/render';
import { renderGroup, renderNumber, renderText } from '../helpers/render';
function renderRole(role) {
switch (role) {
@@ -197,7 +197,7 @@ const UsersTable = () => {
sortUser('quota');
}}
>
剩余额度
统计信息
</Table.HeaderCell>
<Table.HeaderCell
style={{ cursor: 'pointer' }}
@@ -241,7 +241,11 @@ const UsersTable = () => {
</Table.Cell>
<Table.Cell>{renderGroup(user.group)}</Table.Cell>
<Table.Cell>{user.email ? renderText(user.email, 30) : '无'}</Table.Cell>
<Table.Cell>{user.quota}</Table.Cell>
<Table.Cell>
<Popup content='剩余额度' trigger={<Label>{renderNumber(user.quota)}</Label>} />
<Popup content='已用额度' trigger={<Label>{renderNumber(user.used_quota)}</Label>} />
<Popup content='请求次数' trigger={<Label>{renderNumber(user.request_count)}</Label>} />
</Table.Cell>
<Table.Cell>{renderRole(user.role)}</Table.Cell>
<Table.Cell>{renderStatus(user.status)}</Table.Cell>
<Table.Cell>

View File

@@ -8,19 +8,31 @@ export function renderText(text, limit) {
}
export function renderGroup(group) {
if (group === "") {
return <Label>default</Label>
if (group === '') {
return <Label>default</Label>;
}
let groups = group.split(",");
let groups = group.split(',');
groups.sort();
return <>
{groups.map((group) => {
if (group === "vip" || group === "pro") {
return <Label color='yellow'>{group}</Label>
} else if (group === "svip" || group === "premium") {
return <Label color='red'>{group}</Label>
if (group === 'vip' || group === 'pro') {
return <Label color='yellow'>{group}</Label>;
} else if (group === 'svip' || group === 'premium') {
return <Label color='red'>{group}</Label>;
}
return <Label>{group}</Label>
return <Label>{group}</Label>;
})}
</>
</>;
}
export function renderNumber(num) {
if (num >= 1000000000) {
return (num / 1000000000).toFixed(1) + 'B';
} else if (num >= 1000000) {
return (num / 1000000).toFixed(1) + 'M';
} else if (num >= 10000) {
return (num / 1000).toFixed(1) + 'k';
} else {
return num;
}
}