✨ feat(node): Add status
This commit is contained in:
parent
6024454d57
commit
c06372b644
@ -107,6 +107,25 @@ export default function NodeTable() {
|
||||
);
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
accessorKey: 'last',
|
||||
header: t('status'),
|
||||
cell: ({ row }) => {
|
||||
const { last } = row.original;
|
||||
|
||||
return last ? (
|
||||
<>
|
||||
<Badge>{t('normal')}</Badge>
|
||||
<span className='ml-2'>
|
||||
{t('onlineCount')}: {last.count}
|
||||
</span>
|
||||
</>
|
||||
) : (
|
||||
<Badge variant='destructive'>{t('abnormal')}</Badge>
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
accessorKey: 'name',
|
||||
header: t('name'),
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
"updatedAt": "Updated At"
|
||||
},
|
||||
"node": {
|
||||
"abnormal": "Abnormal",
|
||||
"actions": "Actions",
|
||||
"address": "Address",
|
||||
"all": "All",
|
||||
@ -94,6 +95,8 @@
|
||||
"name": "Name",
|
||||
"node": "Node",
|
||||
"nodeGroup": "Node Group",
|
||||
"normal": "Normal",
|
||||
"onlineCount": "Online users",
|
||||
"rate": "Rate",
|
||||
"relay": "Relay",
|
||||
"serverAddr": "Server IP",
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
"updatedAt": "更新时间"
|
||||
},
|
||||
"node": {
|
||||
"abnormal": "异常",
|
||||
"actions": "操作",
|
||||
"address": "地址",
|
||||
"all": "全部",
|
||||
@ -94,6 +95,8 @@
|
||||
"name": "名称",
|
||||
"node": "节点",
|
||||
"nodeGroup": "节点组",
|
||||
"normal": "正常",
|
||||
"onlineCount": "在线人数",
|
||||
"rate": "速率",
|
||||
"relay": "中继",
|
||||
"serverAddr": "服务器IP",
|
||||
|
||||
6
apps/admin/services/admin/typings.d.ts
vendored
6
apps/admin/services/admin/typings.d.ts
vendored
@ -555,6 +555,11 @@ declare namespace API {
|
||||
enable: boolean;
|
||||
};
|
||||
|
||||
type Push = {
|
||||
push_at: number;
|
||||
count: number;
|
||||
};
|
||||
|
||||
type Response = {
|
||||
/** 状态码 */
|
||||
code?: number;
|
||||
@ -579,6 +584,7 @@ declare namespace API {
|
||||
shadowsocks?: Shadowsocks;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
last: Push;
|
||||
};
|
||||
|
||||
type ServerGroup = {
|
||||
|
||||
@ -21,3 +21,11 @@ export async function getGlobalConfig(options?: { [key: string]: any }) {
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** Get Tos Content GET /v1/common/site/tos */
|
||||
export async function getTos(options?: { [key: string]: any }) {
|
||||
return request<API.Response & { data?: API.GetTosResponse }>('/v1/common/site/tos', {
|
||||
method: 'GET',
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
4
apps/admin/services/common/typings.d.ts
vendored
4
apps/admin/services/common/typings.d.ts
vendored
@ -25,6 +25,10 @@ declare namespace API {
|
||||
subscribe: SubscribeConfig;
|
||||
};
|
||||
|
||||
type GetTosResponse = {
|
||||
tos_content: string;
|
||||
};
|
||||
|
||||
type InviteConfig = {
|
||||
forced_invite: boolean;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user