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:
jacobxu666
2026-06-26 12:43:02 +08:00
co-authored by Claude
parent f89e26cc57
commit 289291f195
7 changed files with 1 additions and 114 deletions
-27
View File
@@ -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)
}
-20
View File
@@ -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)
}
-18
View File
@@ -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}`)
}
-30
View File
@@ -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 },
]
-18
View File
@@ -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 })
}
+1 -1
View File
@@ -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'