const { request, ensureLogin, cents } = require('../../utils/api.js') Page({ data: { storeId: '', loading: false, errorMessage: '', store: null, rooms: [], wifi: null, }, onLoad(options) { this.setData({ storeId: options.storeId || '' }) if (options.storeId) this.loadStore(options.storeId) }, async loadStore(storeId) { this.setData({ loading: true, errorMessage: '' }) try { const [storeResponse, roomsResponse] = await Promise.all([ request(`/stores/${encodeURIComponent(storeId)}`), request(`/stores/${encodeURIComponent(storeId)}/rooms`), ]) this.setData({ store: storeResponse.data, rooms: (roomsResponse.data || []).map((room) => ({ ...room, basePriceText: cents(room.basePriceCents), depositText: cents(room.depositCents), })), }) } catch (error) { this.setData({ errorMessage: error.message || '门店加载失败' }) } finally { this.setData({ loading: false }) } }, openRoom(event) { const roomId = event.currentTarget.dataset.roomId if (!roomId || !this.data.storeId) return wx.navigateTo({ url: `/pages/room/detail?storeId=${encodeURIComponent(this.data.storeId)}&roomId=${encodeURIComponent(roomId)}`, }) }, async loadWifi() { if (!this.data.storeId) return this.setData({ loading: true, errorMessage: '' }) try { await ensureLogin() const response = await request(`/stores/${encodeURIComponent(this.data.storeId)}/wifi`) this.setData({ wifi: response.data }) } catch (error) { this.setData({ errorMessage: error.message || '请登录并确认到店权限后查看 Wi-Fi' }) } finally { this.setData({ loading: false }) } }, })