const { request, ensureLogin, cents } = require('../../utils/api.js') Page({ data: { loading: false, errorMessage: '', orders: [], page: 1, pageSize: 20, total: 0, }, onShow() { this.loadOrders() }, async loadOrders() { this.setData({ loading: true, errorMessage: '' }) try { await ensureLogin() const response = await request(`/orders?page=${this.data.page}&pageSize=${this.data.pageSize}`) this.setData({ orders: (response.data.items || []).map(formatOrder), total: response.data.total || 0, }) } catch (error) { this.setData({ errorMessage: error.message || '订单加载失败' }) } finally { this.setData({ loading: false }) } }, openOrder(event) { const orderId = event.currentTarget.dataset.orderId if (!orderId) return wx.navigateTo({ url: `/pages/orders/detail?orderId=${encodeURIComponent(orderId)}` }) }, }) function formatOrder(order) { return { ...order, totalText: cents(order.totalAmountCents), paidText: cents(order.paidAmountCents), timeText: `${formatTime(order.startAt)} 至 ${formatTime(order.endAt)}`, } } function formatTime(value) { const date = new Date(value) const pad = (input) => String(input).padStart(2, '0') return `${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}` }