✨ feat: Add original price display option and enhance inventory messages in subscription components
This commit is contained in:
@@ -135,6 +135,14 @@ function handleError(response: {
|
||||
"components:error.60005",
|
||||
"Single subscription mode has exceeded user limit"
|
||||
),
|
||||
60006: t(
|
||||
"components:error.60006",
|
||||
"User quota limit has been reached, unable to continue."
|
||||
),
|
||||
60007: t(
|
||||
"components:error.60007",
|
||||
"Insufficient inventory, please try again later or contact the administrator."
|
||||
),
|
||||
70001: t(
|
||||
"components:error.70001",
|
||||
"Incorrect verification code, please re-enter."
|
||||
|
||||
@@ -55,28 +55,6 @@ export async function filterServerList(
|
||||
);
|
||||
}
|
||||
|
||||
/** Check if there is any server or node to migrate GET /v1/admin/server/migrate/has */
|
||||
export async function hasMigrateSeverNode(options?: { [key: string]: any }) {
|
||||
return request<API.Response & { data?: API.HasMigrateSeverNodeResponse }>(
|
||||
`${import.meta.env.VITE_API_PREFIX || ""}/v1/admin/server/migrate/has`,
|
||||
{
|
||||
method: "GET",
|
||||
...(options || {}),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/** Migrate server and node data to new database POST /v1/admin/server/migrate/run */
|
||||
export async function migrateServerNode(options?: { [key: string]: any }) {
|
||||
return request<API.Response & { data?: API.MigrateServerNodeResponse }>(
|
||||
`${import.meta.env.VITE_API_PREFIX || ""}/v1/admin/server/migrate/run`,
|
||||
{
|
||||
method: "POST",
|
||||
...(options || {}),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/** Create Node POST /v1/admin/server/node/create */
|
||||
export async function createNode(
|
||||
body: API.CreateNodeRequest,
|
||||
|
||||
+18
-1
@@ -355,6 +355,7 @@ declare namespace API {
|
||||
allow_deduction: boolean;
|
||||
reset_cycle: number;
|
||||
renewal_reset: boolean;
|
||||
show_original_price: boolean;
|
||||
};
|
||||
|
||||
type CreateTicketFollowRequest = {
|
||||
@@ -1127,6 +1128,7 @@ declare namespace API {
|
||||
size: number;
|
||||
search?: string;
|
||||
user_id?: number;
|
||||
unscoped?: boolean;
|
||||
subscribe_id?: number;
|
||||
user_subscribe_id?: number;
|
||||
};
|
||||
@@ -1136,6 +1138,7 @@ declare namespace API {
|
||||
size: number;
|
||||
search?: string;
|
||||
user_id?: number;
|
||||
unscoped?: boolean;
|
||||
subscribe_id?: number;
|
||||
user_subscribe_id?: number;
|
||||
};
|
||||
@@ -1837,6 +1840,14 @@ declare namespace API {
|
||||
order_no: string;
|
||||
};
|
||||
|
||||
type ResetUserSubscribeTokenRequest = {
|
||||
user_subscribe_id: number;
|
||||
};
|
||||
|
||||
type ResetUserSubscribeTrafficRequest = {
|
||||
user_subscribe_id: number;
|
||||
};
|
||||
|
||||
type Response = {
|
||||
/** 状态码 */
|
||||
code?: number;
|
||||
@@ -1993,6 +2004,10 @@ declare namespace API {
|
||||
id: number;
|
||||
};
|
||||
|
||||
type StopUserSubscribeRequest = {
|
||||
user_subscribe_id: number;
|
||||
};
|
||||
|
||||
type StripePayment = {
|
||||
method: string;
|
||||
client_secret: string;
|
||||
@@ -2022,6 +2037,7 @@ declare namespace API {
|
||||
allow_deduction: boolean;
|
||||
reset_cycle: number;
|
||||
renewal_reset: boolean;
|
||||
show_original_price: boolean;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
@@ -2086,6 +2102,7 @@ declare namespace API {
|
||||
allow_deduction?: boolean;
|
||||
reset_cycle?: number;
|
||||
renewal_reset?: boolean;
|
||||
show_original_price?: boolean;
|
||||
created_at?: number;
|
||||
updated_at?: number;
|
||||
sold: number;
|
||||
@@ -2337,6 +2354,7 @@ declare namespace API {
|
||||
allow_deduction: boolean;
|
||||
reset_cycle: number;
|
||||
renewal_reset: boolean;
|
||||
show_original_price: boolean;
|
||||
};
|
||||
|
||||
type UpdateTicketStatusRequest = {
|
||||
@@ -2406,7 +2424,6 @@ declare namespace API {
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
deleted_at?: number;
|
||||
is_del?: boolean;
|
||||
};
|
||||
|
||||
type UserAffiliate = {
|
||||
|
||||
@@ -425,6 +425,64 @@ export async function getUserSubscribeResetTrafficLogs(
|
||||
);
|
||||
}
|
||||
|
||||
/** Reset user subscribe token POST /v1/admin/user/subscribe/reset/token */
|
||||
export async function resetUserSubscribeToken(
|
||||
body: API.ResetUserSubscribeTokenRequest,
|
||||
options?: { [key: string]: any }
|
||||
) {
|
||||
return request<API.Response & { data?: any }>(
|
||||
`${
|
||||
import.meta.env.VITE_API_PREFIX || ""
|
||||
}/v1/admin/user/subscribe/reset/token`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/** Reset user subscribe traffic POST /v1/admin/user/subscribe/reset/traffic */
|
||||
export async function resetUserSubscribeTraffic(
|
||||
body: API.ResetUserSubscribeTrafficRequest,
|
||||
options?: { [key: string]: any }
|
||||
) {
|
||||
return request<API.Response & { data?: any }>(
|
||||
`${
|
||||
import.meta.env.VITE_API_PREFIX || ""
|
||||
}/v1/admin/user/subscribe/reset/traffic`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/** Stop user subscribe POST /v1/admin/user/subscribe/stop */
|
||||
export async function stopUserSubscribe(
|
||||
body: API.StopUserSubscribeRequest,
|
||||
options?: { [key: string]: any }
|
||||
) {
|
||||
return request<API.Response & { data?: any }>(
|
||||
`${import.meta.env.VITE_API_PREFIX || ""}/v1/admin/user/subscribe/stop`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/** Get user subcribe traffic logs GET /v1/admin/user/subscribe/traffic_logs */
|
||||
export async function getUserSubscribeTrafficLogs(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
|
||||
+5
-1
@@ -750,6 +750,10 @@ declare namespace API {
|
||||
order_no: string;
|
||||
};
|
||||
|
||||
type ResetUserSubscribeTokenRequest = {
|
||||
user_subscribe_id: number;
|
||||
};
|
||||
|
||||
type Response = {
|
||||
/** 状态码 */
|
||||
code?: number;
|
||||
@@ -863,6 +867,7 @@ declare namespace API {
|
||||
allow_deduction: boolean;
|
||||
reset_cycle: number;
|
||||
renewal_reset: boolean;
|
||||
show_original_price: boolean;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
@@ -1023,7 +1028,6 @@ declare namespace API {
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
deleted_at?: number;
|
||||
is_del?: boolean;
|
||||
};
|
||||
|
||||
type UserAffiliate = {
|
||||
|
||||
+1
-1
@@ -985,6 +985,7 @@ declare namespace API {
|
||||
allow_deduction: boolean;
|
||||
reset_cycle: number;
|
||||
renewal_reset: boolean;
|
||||
show_original_price: boolean;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
@@ -1146,7 +1147,6 @@ declare namespace API {
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
deleted_at?: number;
|
||||
is_del?: boolean;
|
||||
};
|
||||
|
||||
type UserAffiliate = {
|
||||
|
||||
Reference in New Issue
Block a user