diff --git a/src/api/order.ts b/src/api/order.ts new file mode 100644 index 0000000..424ab8b --- /dev/null +++ b/src/api/order.ts @@ -0,0 +1,27 @@ +import { USE_MOCK } from '@/mock' +import type { OrderItem } from '@/mock/order' +import { orderStore } from '@/mock/store' +import type { CreateOrderParams } from './types' +import { get, post } from './request' + +/** 获取订单列表 */ +export function getOrderList(): Promise { + if (USE_MOCK) return Promise.resolve(orderStore.value) + return get('/mp-api/order/list') +} + +/** 获取订单详情 */ +export function getOrderDetail(id: string): Promise { + if (USE_MOCK) { + return Promise.resolve(orderStore.value.find(o => o.id === id)) + } + return get(`/mp-api/order/detail?id=${id}`) +} + +/** 创建订单 */ +export function createOrder(params: CreateOrderParams): Promise<{ orderId: string }> { + if (USE_MOCK) { + return Promise.resolve({ orderId: `mock_${Date.now()}` }) + } + return post<{ orderId: string }>('/mp-api/order/create', params) +} diff --git a/src/api/reserve.ts b/src/api/reserve.ts new file mode 100644 index 0000000..8151bb5 --- /dev/null +++ b/src/api/reserve.ts @@ -0,0 +1,20 @@ +import { USE_MOCK } from '@/mock' +import { reserveStore } from '@/mock/store' +import type { ReserveRecordItem } from '@/mock/reserve' +import { get, post } from './request' + +/** 获取预约记录列表 */ +export function getReserveList(): Promise { + if (USE_MOCK) return Promise.resolve(reserveStore.value) + return get('/mp-api/reserve/list') +} + +/** 创建预约 */ +export function createReserve(params: Omit): Promise<{ id: string }> { + if (USE_MOCK) { + const id = `YP${Date.now().toString(36).toUpperCase()}` + reserveStore.value.push({ ...params, id }) + return Promise.resolve({ id }) + } + return post<{ id: string }>('/mp-api/reserve/create', params) +} diff --git a/src/api/scenic.ts b/src/api/scenic.ts new file mode 100644 index 0000000..ad79daf --- /dev/null +++ b/src/api/scenic.ts @@ -0,0 +1,18 @@ +import { USE_MOCK } from '@/mock' +import { mockScenicList, type ScenicItem } from '@/mock/scenic' +import { mockScenicDetails, type ScenicDetail } from '@/mock/scenic-detail' +import { get } from './request' + +/** 获取景区列表 */ +export function getScenicList(): Promise { + if (USE_MOCK) return Promise.resolve(mockScenicList) + return get('/mp-api/scenic/list') +} + +/** 获取景区详情 */ +export function getScenicDetail(id: number): Promise { + if (USE_MOCK) { + return Promise.resolve(mockScenicDetails.find(s => s.id === id)) + } + return get(`/mp-api/scenic/detail?id=${id}`) +}