diff --git a/src/service/api/auth.ts b/src/service/api/auth.ts index f9df2ae..7ecddf2 100644 --- a/src/service/api/auth.ts +++ b/src/service/api/auth.ts @@ -128,11 +128,12 @@ export function fetchPackageList() { method: 'get' }); } -/** Submit package order */ -export function submitPackageOrder(packageId: string) { +/** Submit order with different types */ +export function submitOrder(data: Api.Order.SubmitOrderParams) { return request({ url: '/u/order', method: 'post', - data: { packageId } + data }); } + diff --git a/src/typings/api.d.ts b/src/typings/api.d.ts index da58c38..67467c0 100644 --- a/src/typings/api.d.ts +++ b/src/typings/api.d.ts @@ -599,5 +599,34 @@ declare namespace Api { data: PackageItem[]; total?: number; } + interface OrderSubmitParams { + packageId: string; + type: 0; // 限定为字面量类型 0 + } + } + + namespace Order { + /** Order type enum */ + type OrderType = 0 | 1 | 2; // 根据实际需要添加其他类型 + + /** Base order params */ + interface BaseOrderParams { + type: OrderType; + } + + /** Package order params */ + interface PackageOrderParams extends BaseOrderParams { + type: 0; + packageId: string; + } + + /** Recharge order params */ + interface RechargeOrderParams extends BaseOrderParams { + type: 1; + orderAmount: number; + } + + /** Combined order params type */ + type SubmitOrderParams = PackageOrderParams | RechargeOrderParams; } } diff --git a/src/typings/auto-imports.d.ts b/src/typings/auto-imports.d.ts index 135f262..cb75ddd 100644 --- a/src/typings/auto-imports.d.ts +++ b/src/typings/auto-imports.d.ts @@ -201,6 +201,7 @@ declare global { const shallowRef: typeof import('vue')['shallowRef'] const sortRoutesByOrder: typeof import('../store/modules/route/shared')['sortRoutesByOrder'] const storeToRefs: typeof import('pinia')['storeToRefs'] + const submitOrder: typeof import('../service/api/auth')['submitOrder'] const submitPackageOrder: typeof import('../service/api/auth')['submitPackageOrder'] const suite: typeof import('vitest')['suite'] const syncRef: typeof import('@vueuse/core')['syncRef'] diff --git a/src/views/home/modules/line-chart.vue b/src/views/home/modules/line-chart.vue index 9dd599e..6d64515 100644 --- a/src/views/home/modules/line-chart.vue +++ b/src/views/home/modules/line-chart.vue @@ -1,7 +1,7 @@