feat: 景区详情页优化 + 代码质量修复 + 首页适配

- 详情页:地图按钮改为复制地址,电话点击直接拨号
- 详情页:移除免X次/年徽章,增加信息卡片与卡种卡片间距
- 详情页:运营状态实时判断(根据营业时间自动显示营业中/已闭园)
- 详情页:轮播圆点仅多图时显示,加大尺寸+投影,z-index置顶
- 详情页:景区电话箭头靠右对齐
- 首页:热门景点两列布局改用padding方案,修复小屏手机单列显示
- 代码质量:card/order API移入分包,消除主包未使用JS文件
- 代码质量:manifest启用minified和lazyCodeLoading
- 构建:vite配置静默Sass弃用警告

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
jacobxu666
2026-06-25 19:19:40 +08:00
co-authored by Claude
parent ee2fd39dcd
commit 5524d78229
14 changed files with 8682 additions and 64 deletions
-32
View File
@@ -1,32 +0,0 @@
import { get, post } from './request'
import type { CardInfo, CardDetail, MyCard, ActivateParams, QrCodeInfo } from './types'
/** 获取年卡列表 */
export function getCardList(params?: { keyword?: string; category?: string }): Promise<CardInfo[]> {
return get<CardInfo[]>('/card/list', params)
}
/** 获取年卡详情 */
export function getCardDetail(id: string): Promise<CardDetail> {
return get<CardDetail>('/card/detail', { id })
}
/** 激活年卡 */
export function activateCard(cardId: string, data: ActivateParams): Promise<boolean> {
return post<boolean>('/card/activate', { cardId, ...data })
}
/** 绑定年卡 */
export function bindCard(cardNo: string): Promise<boolean> {
return post<boolean>('/card/bind', { cardNo })
}
/** 获取我的年卡列表 */
export function getMyCards(): Promise<MyCard[]> {
return get<MyCard[]>('/card/my-list')
}
/** 获取入园码 */
export function getEntryQrCode(cardId: string): Promise<QrCodeInfo> {
return get<QrCodeInfo>('/card/qrcode', { cardId })
}
-22
View File
@@ -1,22 +0,0 @@
import { get, post } from './request'
import type { OrderInfo, CreateOrderParams, MockPayResult } from './types'
/** 创建订单 */
export function createOrder(data: CreateOrderParams): Promise<OrderInfo> {
return post<OrderInfo>('/order/create', data)
}
/** 模拟支付(第一版替代微信支付) */
export function mockPay(orderId: string): Promise<MockPayResult> {
return post<MockPayResult>('/order/mock-pay', { orderId })
}
/** 获取订单列表 */
export function getOrderList(params?: { status?: string }): Promise<OrderInfo[]> {
return get<OrderInfo[]>('/order/list', params)
}
/** 获取订单详情 */
export function getOrderDetail(id: string): Promise<OrderInfo> {
return get<OrderInfo>('/order/detail', { id })
}