// nova-tourism/pages/homestay/homestay-detail/index.js let Parse = getApp().Parse; const company = getApp().globalData.company Page({ /** * 页面的初始数据 */ data: { //屏幕高度 statusBarHeight: 0, // 状态栏高度 screenHeight: 0, // 屏幕高度 customHeight: 0, // 自定义导航栏高度(如小程序右上角胶囊按钮) bottomNavHeight: 0, // 底部导航栏高度 contentHeight: 0, // 可用内容高度 // 轮播图数组 imageUrls: ['https://tse4-mm.cn.bing.net/th/id/OIP-C.3r1vguZyWFUJ80A2Nf2k3AHaEK?rs=1&pid=ImgDetMain', 'https://ts1.cn.mm.bing.net/th/id/R-C.9881613a29f26488b40938427aa585e4?rik=fim4XvDejjHE%2fQ&riu=http%3a%2f%2fn.sinaimg.cn%2fsinakd20220516ac%2f797%2fw2048h1149%2f20220516%2fb0aa-5aca29fe2dfa69c385118bbc74d039de.jpg&ehk=tzq%2bJP6uMipI0aIHY3bMSVO7lS7ZQM6TKMlwZ5CFP4s%3d&risl=&pid=ImgRaw&r=0', 'https://pic3.zhimg.com/v2-5fb13110e1de13d4c11e6e7f5b8026da_r.jpg', 'https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/02/04/ChMkJ1bKyEyIMaKUAAhskHwWGqUAALIAAM2KsIACGyo249.jpg'], index: 1, // decodedDateStart: '', decodedDateEnd: '', objectId: "", daysBetween: 0, istoday:null, storeList: [], roomList: [] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { // 计算 const systemInfo = wx.getSystemInfoSync(); const statusBarHeight = systemInfo.statusBarHeight || 0; const screenHeight = systemInfo.screenHeight || 0; const custom = wx.getMenuButtonBoundingClientRect(); const customHeight = custom.height + 10 + 2 || 0; const bottomNavHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom || 0; const contentHeight = (screenHeight - bottomNavHeight - statusBarHeight - customHeight) * 750 / systemInfo.windowWidth; if (bottomNavHeight) { const padding_bottom = bottomNavHeight * 750 / systemInfo.windowWidth this.setData({ bottomNavHeight: padding_bottom }) console.log(this.data.bottomNavHeight); } else { this.setData({ bottomNavHeight: 40 }) } this.setData({ statusBarHeight, screenHeight, customHeight, contentHeight }); const { objectId, date_start, date_end, daysBetween, istoday } = options; // 解码接收到的参数 const decodedDateStart = decodeURIComponent(date_start); const decodedDateEnd = decodeURIComponent(date_end); this.setData({ decodedDateStart, decodedDateEnd, objectId, daysBetween, istoday }) console.log('istoday',this.data.istoday); this.gethomestay() this.getroom() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, //随轮播图变化而变化 onSwiperChange: function (event) { const currentIndex = event.detail.current; // 获取当前索引 this.setData({ index: currentIndex + 1 }) }, //获取名宿信息 async gethomestay() { let ShopStore = new Parse.Query('ShopStore'); ShopStore.equalTo('company', company); ShopStore.equalTo('type', "stay"); ShopStore.equalTo('objectId', this.data.objectId); ShopStore.notEqualTo('isDeleted', "true"); let store = await ShopStore.find(); let storeList = store.map(item => item.toJSON()); this.setData({ storeList }); console.log(this.data.storeList); }, //获取房间信息 async getroom() { let room = new Parse.Query('ShopRoom'); room.equalTo('company', company); room.equalTo('shop', this.data.objectId); room.equalTo('isEnabled', 'true'); room.notEqualTo('isDeleted', 'true'); let room2 = await room.find(); let roomList = room2.map(item => item.toJSON()); // 对 roomList 进行排序 roomList.sort((a, b) => { // 先比较 remaining,remaining 为 0 的排后面 if (a.remaining === 0 && b.remaining !== 0) { return 1; // a 排后面 } if (a.remaining !== 0 && b.remaining === 0) { return -1; // a 排前面 } // 如果两个房间的 remaining 都不为 0,按数量升序排列 return a.remaining - b.remaining; }); this.setData({ roomList }) console.log('房间', this.data.roomList); } })