✨ feat: Add log cleanup settings and update localization files
- Introduced log cleanup settings in the admin panel, allowing configuration of automatic log clearing and retention periods. - Updated English, Spanish, French, German, and other localization files to include new log cleanup settings. - Added new fields for referral percentage and first purchase only in user settings. - Implemented API endpoints for getting and updating log settings. - Enhanced the admin dashboard with a new log cleanup form component.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// @ts-ignore
|
||||
|
||||
|
||||
// API 更新时间:
|
||||
// API 唯一标识:
|
||||
import * as ads from './ads';
|
||||
|
||||
@@ -155,6 +155,26 @@ export async function filterServerTrafficLog(
|
||||
);
|
||||
}
|
||||
|
||||
/** Get log setting GET /v1/admin/log/setting */
|
||||
export async function getLogSetting(options?: { [key: string]: any }) {
|
||||
return request<API.Response & { data?: API.LogSetting }>('/v1/admin/log/setting', {
|
||||
method: 'GET',
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** Update log setting POST /v1/admin/log/setting */
|
||||
export async function updateLogSetting(body: API.LogSetting, options?: { [key: string]: any }) {
|
||||
return request<API.Response & { data?: any }>('/v1/admin/log/setting', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** Filter subscribe log GET /v1/admin/log/subscribe/list */
|
||||
export async function filterSubscribeLog(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
|
||||
@@ -111,6 +111,21 @@ export async function filterNodeList(
|
||||
);
|
||||
}
|
||||
|
||||
/** Reset node sort POST /v1/admin/server/node/sort */
|
||||
export async function resetSortWithNode(
|
||||
body: API.ResetSortRequest,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<API.Response & { data?: any }>('/v1/admin/server/node/sort', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** Toggle Node Status POST /v1/admin/server/node/status/toggle */
|
||||
export async function toggleNodeStatus(
|
||||
body: API.ToggleNodeStatusRequest,
|
||||
@@ -156,6 +171,21 @@ export async function getServerProtocols(
|
||||
);
|
||||
}
|
||||
|
||||
/** Reset server sort POST /v1/admin/server/server/sort */
|
||||
export async function resetSortWithServer(
|
||||
body: API.ResetSortRequest,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<API.Response & { data?: any }>('/v1/admin/server/server/sort', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** Update Server POST /v1/admin/server/update */
|
||||
export async function updateServer(
|
||||
body: API.UpdateServerRequest,
|
||||
|
||||
+25
-3
@@ -366,6 +366,8 @@ declare namespace API {
|
||||
password: string;
|
||||
product_id: number;
|
||||
duration: number;
|
||||
referral_percentage: number;
|
||||
only_first_purchase: boolean;
|
||||
referer_user: string;
|
||||
refer_code: string;
|
||||
balance: number;
|
||||
@@ -1289,6 +1291,11 @@ declare namespace API {
|
||||
list: Record<string, any>;
|
||||
};
|
||||
|
||||
type LogSetting = {
|
||||
auto_clear: boolean;
|
||||
clear_days: number;
|
||||
};
|
||||
|
||||
type MessageLog = {
|
||||
id: number;
|
||||
type: number;
|
||||
@@ -1321,6 +1328,7 @@ declare namespace API {
|
||||
server_id: number;
|
||||
protocol: string;
|
||||
enabled: boolean;
|
||||
sort?: number;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
@@ -1622,6 +1630,10 @@ declare namespace API {
|
||||
order_no: string;
|
||||
};
|
||||
|
||||
type ResetSortRequest = {
|
||||
sort: SortItem[];
|
||||
};
|
||||
|
||||
type ResetSubscribeLog = {
|
||||
type: number;
|
||||
user_id: number;
|
||||
@@ -1696,8 +1708,13 @@ declare namespace API {
|
||||
updated_at: number;
|
||||
};
|
||||
|
||||
type ServerOnlineIP = {
|
||||
ip: string;
|
||||
protocol: string;
|
||||
};
|
||||
|
||||
type ServerOnlineUser = {
|
||||
ip: string[];
|
||||
ip: ServerOnlineIP[];
|
||||
user_id: number;
|
||||
subscribe: string;
|
||||
subscribe_id: number;
|
||||
@@ -1719,14 +1736,15 @@ declare namespace API {
|
||||
};
|
||||
|
||||
type ServerStatus = {
|
||||
online: ServerOnlineUser[];
|
||||
cpu: number;
|
||||
mem: number;
|
||||
disk: number;
|
||||
protocol: string;
|
||||
online: ServerOnlineUser[];
|
||||
};
|
||||
|
||||
type ServerTotalDataResponse = {
|
||||
online_user_ips: number;
|
||||
online_users: number;
|
||||
online_servers: number;
|
||||
offline_servers: number;
|
||||
today_upload: number;
|
||||
@@ -2161,6 +2179,8 @@ declare namespace API {
|
||||
avatar: string;
|
||||
balance: number;
|
||||
commission: number;
|
||||
referral_percentage: number;
|
||||
only_first_purchase: boolean;
|
||||
gift_amount: number;
|
||||
telegram: number;
|
||||
refer_code: string;
|
||||
@@ -2191,6 +2211,8 @@ declare namespace API {
|
||||
avatar: string;
|
||||
balance: number;
|
||||
commission: number;
|
||||
referral_percentage: number;
|
||||
only_first_purchase: boolean;
|
||||
gift_amount: number;
|
||||
telegram: number;
|
||||
refer_code: string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// @ts-ignore
|
||||
|
||||
|
||||
// API 更新时间:
|
||||
// API 唯一标识:
|
||||
import * as auth from './auth';
|
||||
|
||||
+2
@@ -890,6 +890,8 @@ declare namespace API {
|
||||
avatar: string;
|
||||
balance: number;
|
||||
commission: number;
|
||||
referral_percentage: number;
|
||||
only_first_purchase: boolean;
|
||||
gift_amount: number;
|
||||
telegram: number;
|
||||
refer_code: string;
|
||||
|
||||
Reference in New Issue
Block a user