fix: remove mock/order.js from main package
- Move mock/order.ts to packages/user/mock/ (subpackage-relative import) - Delete unused api/order.ts, api/reserve.ts, api/scenic.ts (no page imports them) - Delete unused mock/store.ts, mock/reserve.ts (dead code) - order-list.vue now uses relative import ../../mock/order Main package mock/ now only contains: images.js, notice.js, scenic.js (all used by main package pages) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
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<OrderItem[]> {
|
||||
if (USE_MOCK) return Promise.resolve(orderStore.value)
|
||||
return get<OrderItem[]>('/mp-api/order/list')
|
||||
}
|
||||
|
||||
/** 获取订单详情 */
|
||||
export function getOrderDetail(id: string): Promise<OrderItem | undefined> {
|
||||
if (USE_MOCK) {
|
||||
return Promise.resolve(orderStore.value.find(o => o.id === id))
|
||||
}
|
||||
return get<OrderItem>(`/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)
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
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<ReserveRecordItem[]> {
|
||||
if (USE_MOCK) return Promise.resolve(reserveStore.value)
|
||||
return get<ReserveRecordItem[]>('/mp-api/reserve/list')
|
||||
}
|
||||
|
||||
/** 创建预约 */
|
||||
export function createReserve(params: Omit<ReserveRecordItem, 'id'>): 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)
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
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<ScenicItem[]> {
|
||||
if (USE_MOCK) return Promise.resolve(mockScenicList)
|
||||
return get<ScenicItem[]>('/mp-api/scenic/list')
|
||||
}
|
||||
|
||||
/** 获取景区详情 */
|
||||
export function getScenicDetail(id: number): Promise<ScenicDetail | undefined> {
|
||||
if (USE_MOCK) {
|
||||
return Promise.resolve(mockScenicDetails.find(s => s.id === id))
|
||||
}
|
||||
return get<ScenicDetail>(`/mp-api/scenic/detail?id=${id}`)
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
/**
|
||||
* 预约记录 mock 数据 — 从 reserve-list.vue 提取
|
||||
*/
|
||||
import { IMG_AVATAR_DEFAULT, IMG_AVATAR_MALE, IMG_AVATAR_FEMALE } from './images'
|
||||
|
||||
type RecordStatus = 'pending' | 'used' | 'cancelled' | 'auto_used'
|
||||
|
||||
export interface ReserveRecordItem {
|
||||
id: string
|
||||
scenicName: string
|
||||
date: string
|
||||
status: RecordStatus
|
||||
userName: string
|
||||
maskedId: string
|
||||
cardType: string
|
||||
cardNo: string
|
||||
applyTime: string
|
||||
cancelTime?: string
|
||||
verifyTime?: string
|
||||
verifyPhoto?: string
|
||||
}
|
||||
|
||||
export const mockReserves: ReserveRecordItem[] = [
|
||||
{ id: 'YP26062601', scenicName: '武功山金顶景区', date: '2026-06-27', status: 'pending', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012398', applyTime: '2026-06-25 14:30' },
|
||||
{ id: 'YP26062502', scenicName: '杨岐山孽龙洞景区', date: '2026-06-26', status: 'pending', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012399', applyTime: '2026-06-24 10:15' },
|
||||
{ id: 'YP26062003', scenicName: '仙凤三宝景区', date: '2026-06-20', status: 'used', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012400', applyTime: '2026-06-18 09:20', verifyTime: '2026-06-20 09:45', verifyPhoto: IMG_AVATAR_DEFAULT },
|
||||
{ id: 'YP26061804', scenicName: '武功山君澜温泉', date: '2026-06-18', status: 'cancelled', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012401', applyTime: '2026-06-16 16:40', cancelTime: '2026-06-17 20:30' },
|
||||
{ id: 'YP26061505', scenicName: '凯光新天地生态旅游区', date: '2026-06-15', status: 'auto_used', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012402', applyTime: '2026-06-13 11:05', verifyTime: '2026-06-16 00:00', verifyPhoto: IMG_AVATAR_MALE },
|
||||
{ id: 'YP26061006', scenicName: '和平农场·哎马乐园', date: '2026-06-10', status: 'used', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012403', applyTime: '2026-06-08 08:50', verifyTime: '2026-06-10 10:22', verifyPhoto: IMG_AVATAR_FEMALE },
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
import { ref } from 'vue'
|
||||
import type { OrderItem } from './order'
|
||||
import type { ReserveRecordItem } from './reserve'
|
||||
import { mockOrders } from './order'
|
||||
import { mockReserves } from './reserve'
|
||||
|
||||
export const orderStore = ref<OrderItem[]>([...mockOrders])
|
||||
export const reserveStore = ref<ReserveRecordItem[]>([...mockReserves])
|
||||
|
||||
export function updateOrderStatus(orderId: string, status: OrderItem['status']) {
|
||||
const order = orderStore.value.find(o => o.id === orderId)
|
||||
if (order) order.status = status
|
||||
}
|
||||
|
||||
export function addReserve(record: Omit<ReserveRecordItem, 'id'>) {
|
||||
const id = `YP${Date.now().toString(36).toUpperCase()}`
|
||||
reserveStore.value.push({ ...record, id })
|
||||
}
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, computed } from 'vue'
|
||||
import { mockOrders, type OrderItem } from '@/mock/order'
|
||||
import { mockOrders, type OrderItem } from '../../mock/order'
|
||||
|
||||
type OrderStatus = 'pending' | 'activated' | 'refunded' | 'expired'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user