2
0

fix:套餐界面修改参数

This commit is contained in:
zhongzm
2024-12-24 19:11:44 +08:00
parent 70979b17e1
commit b214cc0552
4 changed files with 39 additions and 5 deletions

View File

@@ -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
});
}

29
src/typings/api.d.ts vendored
View File

@@ -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;
}
}

View File

@@ -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']

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { useI18n } from 'vue-i18n';
import { ref, onMounted } from 'vue';
import { fetchPackageList, submitPackageOrder } from '@/service/api/auth';
import { fetchPackageList, submitOrder } from '@/service/api/auth';
import { message } from 'ant-design-vue';
const { t } = useI18n();
@@ -113,7 +113,10 @@ const selectPackage = (option: PackageOption) => {
// 添加办理套餐的方法
const handleSubmitOrder = async () => {
try {
await submitPackageOrder(selectedPackage.value.id);
await submitOrder({
type: 0,
packageId: selectedPackage.value.id
});
message.success('套餐办理成功!');
} catch (error) {
message.error('套餐办理失败,请重试!');