实例介绍
【实例简介】酒店类微信小程序模板
【实例截图】
【核心代码】
// pages/hotelDetail/hotelDetail.js
var currentYear = new Date().getFullYear();
var currentMonth = new Date().getMonth() 1;
var currentDay = new Date().getDate();
var currentWeek = new Date().getDay();
var currentDate = currentYear '-' currentMonth '-' currentDay;
var startDate = '';
var startYear;
var startDay;
var startMonth;
var startWeek;
var endOfStartDate = '2020-12-31';
var startDayCount;
var endDate = '';
var endYear;
var endDay;
var endMonth;
var endWeek;
var endOfEndDate = '2020-12-31';
var dayCount = 1;
function RoomBean() {
var image;
var name;
var service;
var price;
}
Page({
/**
* 页面的初始数据
*/
data: {
startDate: '',
currentDate: '',
endOfStartDate: '',
endDate: '',
endOfEndDate: '',
startDay: '',
startMonth: '',
startWeek: '',
endDay: '',
endMonth: '',
endWeek: '',
dayCount: 1,
hotelName: '',
hotelAddress: '',
roomArray: [
{
image: '../../res/images/ic_hotel_image.png',
name: '标准单人间',
service: 'WiFi/有窗/空调',
price: 158
}, {
image: '../../res/images/ic_hotel_image.png',
name: '标准双人间',
service: 'WiFi/有窗/空调',
price: 258
}, {
image: '../../res/images/ic_hotel_image.png',
name: '豪华单人间',
service: 'WiFi/有窗/空调',
price: 198
}, {
image: '../../res/images/ic_hotel_image.png',
name: '豪华双人间',
service: 'WiFi/有窗/空调',
price: 358
}
],
serviceList: [
{
icon: '../../res/images/ic_service_park.png',
name: '停车场'
},
{
icon: '../../res/images/ic_service_food.png',
name: '营养早餐'
},
{
icon: '../../res/images/ic_service_park.png',
name: '健身室'
},
{
icon: '../../res/images/ic_service_food.png',
name: '免费WiFi'
},
{
icon: '../../res/images/ic_service_park.png',
name: '叫车服务'
},
{
icon: '../../res/images/ic_service_food.png',
name: '营养早餐'
},
{
icon: '../../res/images/ic_service_park.png',
name: '健身室'
},
{
icon: '../../res/images/ic_service_food.png',
name: '免费WiFi'
},
{
icon: '../../res/images/ic_service_park.png',
name: '叫车服务'
}
]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
startDate = currentDate;
startYear = currentYear;
startDay = currentDay;
startMonth = currentMonth;
startWeek = currentWeek;
this.initEndDate();
this.setSearchDate();
console.log(options);
var hotelName = options.name;
var address = options.address;
var distance = options.distance;
if (hotelName !== undefined) {
this.setData({
hotelName: hotelName,
hotelAddress: address '\n距我' distance '公里'
});
}
},
bookRoom: function (e) {
var index = e.currentTarget.dataset.index;
var room = this.data.roomArray[index];
wx.navigateTo({
url: '../bookHotel/bookHotel?price=' room.price '&hotelName=' this.data.hotelName '&roomName=' room.name '&startDate=' startDate '&endDate=' endDate,
})
},
startDateChange: function (e) {
console.log(e);
startDate = e.detail.value;
var startArray = startDate.split('-');
startYear = parseInt(startArray[0]);
startDay = parseInt(startArray[2]);
startMonth = parseInt(startArray[1]);
startWeek = new Date(startYear, startMonth, startDay).getDay();
var startFormat = this.formatDate(startDate);
var endFormat = this.formatDate(endDate);
if (new Date(endFormat) < new Date(startFormat)) {
this.initEndDate();
}
this.setSearchDate();
},
endDateChange: function (e) {
console.log(e);
endDate = e.detail.value;
var endArray = endDate.split('-');
endYear = parseInt(endArray[0]);
endDay = parseInt(endArray[2]);
endMonth = parseInt(endArray[1]);
endWeek = new Date(endYear, endMonth, endDay).getDay();
this.setSearchDate();
},
formatDate: function (date) {
return date.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '').replace(/(-)/g, '/');
},
getWeekday: function (week) {
var weekday = new Array(7)
weekday[0] = "周日"
weekday[1] = "周一"
weekday[2] = "周二"
weekday[3] = "周三"
weekday[4] = "周四"
weekday[5] = "周五"
weekday[6] = "周六"
return weekday[week];
},
prefixInteger: function (num, length) {
return (Array(length).join('0') num).slice(-length);
},
getDayCount: function (startDate, endDate) {
var startFormat = this.formatDate(startDate);
var endFormat = this.formatDate(endDate);
var start = new Date(startFormat);
var end = new Date(endFormat);
var result = end - start;
if (result >= 0) {
var days = parseInt(result / (1000 * 60 * 60 * 24));
return days == 0 ? 1 : days;
} else {
return 0;
}
},
initEndDate: function () {
startDayCount = new Date(startYear, startMonth, 0).getDate();
if (startMonth == 12 && startDay == 31) {
endYear = startYear 1;
endMonth = 1;
endDay = 1;
} else {
endYear = startYear;
if (startDay <= startDayCount) {
endMonth = startMonth
endDay = startDay 1;
} else {
endMonth = startMonth 1;
endDay = 1;
}
}
if (currentWeek >= 7) {
endWeek = 1;
} else {
endWeek = currentWeek 1;
}
endDate = endYear '-' endMonth '-' endDay;
},
setSearchDate: function () {
this.setData({
currentDate: currentDate,
startDate: startDate,
startDay: this.prefixInteger(startDay, 2),
startMonth: this.prefixInteger(startMonth, 2),
startWeek: this.getWeekday(startWeek),
endOfStartDate: '2020-12-31',
endDate: endDate,
endDay: this.prefixInteger(endDay, 2),
endMonth: this.prefixInteger(endMonth, 2),
endWeek: this.getWeekday(endWeek),
endOfEndDate: '2020-12-31',
dayCount: this.getDayCount(startDate, endDate)
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
好例子网口号:伸出你的我的手 — 分享!
相关软件
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


支持(0) 盖楼(回复)