feat(api): Add an interface to obtain user subscription details, update related type definitions and localized text

This commit is contained in:
web@ppanel
2025-03-25 23:55:31 +07:00
parent 383638f702
commit cf5c39cfe5
34 changed files with 606 additions and 123 deletions
+34 -12
View File
@@ -325,6 +325,7 @@ declare namespace API {
};
type CurrencyConfig = {
access_key: string;
currency_unit: string;
currency_symbol: string;
};
@@ -774,6 +775,14 @@ declare namespace API {
total: number;
};
type GetUserSubscribeByIdParams = {
id: number;
};
type GetUserSubscribeByIdRequest = {
id: number;
};
type GetUserSubscribeDevicesParams = {
page: number;
size: number;
@@ -909,9 +918,11 @@ declare namespace API {
};
type NodeStatus = {
online_users: OnlineUser[];
status: ServerStatus;
last_at: number;
online: Record<string, any>;
cpu: number;
mem: number;
disk: number;
updated_at: number;
};
type OnlineUser = {
@@ -1223,13 +1234,6 @@ declare namespace API {
updated_at: number;
};
type ServerStatus = {
cpu: number;
mem: number;
disk: number;
updated_at: number;
};
type ServerTotalDataResponse = {
online_user_ips: number;
online_servers: number;
@@ -1741,6 +1745,25 @@ declare namespace API {
updated_at: number;
};
type UserSubscribeDetail = {
id: number;
user_id: number;
user: User;
order_id: number;
subscribe_id: number;
subscribe: Subscribe;
start_time: number;
expire_time: number;
reset_time: number;
traffic: number;
download: number;
upload: number;
token: string;
status: number;
created_at: number;
updated_at: number;
};
type UserSubscribeLog = {
id: number;
user_id: number;
@@ -1752,8 +1775,7 @@ declare namespace API {
};
type UserTrafficData = {
user_id: number;
email: string;
sid: number;
upload: number;
download: number;
};
+18
View File
@@ -291,6 +291,24 @@ export async function deleteUserSubscribe(
});
}
/** Get user subcribe by id GET /v1/admin/user/subscribe/detail */
export async function getUserSubscribeById(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.GetUserSubscribeByIdParams,
options?: { [key: string]: any },
) {
return request<API.Response & { data?: API.UserSubscribeDetail }>(
'/v1/admin/user/subscribe/detail',
{
method: 'GET',
params: {
...params,
},
...(options || {}),
},
);
}
/** Get user subcribe devices GET /v1/admin/user/subscribe/device */
export async function getUserSubscribeDevices(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
+12 -11
View File
@@ -142,7 +142,13 @@ declare namespace API {
updated_at: number;
};
type Currency = {
currency_unit: string;
currency_symbol: string;
};
type CurrencyConfig = {
access_key: string;
currency_unit: string;
currency_symbol: string;
};
@@ -214,7 +220,7 @@ declare namespace API {
verify: VeifyConfig;
auth: AuthConfig;
invite: InviteConfig;
currency: CurrencyConfig;
currency: Currency;
subscribe: SubscribeConfig;
verify_code: PubilcVerifyCodeConfig;
oauth_methods: string[];
@@ -300,9 +306,11 @@ declare namespace API {
};
type NodeStatus = {
online_users: OnlineUser[];
status: ServerStatus;
last_at: number;
online: Record<string, any>;
cpu: number;
mem: number;
disk: number;
updated_at: number;
};
type OAthLoginRequest = {
@@ -639,13 +647,6 @@ declare namespace API {
updated_at: number;
};
type ServerStatus = {
cpu: number;
mem: number;
disk: number;
updated_at: number;
};
type Shadowsocks = {
method: string;
port: number;