// pages/home/jl/index.js const app = getApp();//新建页面时 默认引入 const req = app.xzjlReq();//初始化一个的request() 实例 import Toast from 'tdesign-miniprogram/toast/index'; Page({ /** * 页面的初始数据 */ data: { singleShow:false, loverShow:false, xingxiangtu:{}, userInfo:{}, loverInfo:{}, hours:0, minute:0, minutes:0, pickerValue: [0, 0], prayTime:0, //祈祷时间 prayerContent:'', //祈祷内容 showSexLogo:false,//不展示形象修改按钮 showPray:false, //显示祈祷弹层 showIsPray:false, //显示取消祈祷弹层 showEnergy:false, //显示赠送能量弹层 showEnergyToast:false, //显示赠送能量提示 showEnergySuccess:false, //赠送成功提示 showEnergyFail:false, //赠送成功提示 showInject:false, //显示注入能量 showInEnergy:false, //显示能量注入中 showScsEnergy:false //显示注册成功提示 }, ShowOrNotLogoS(){ this.setData({singleShow:!this.data.singleShow}) }, ShowOrNotLogoL(){ this.setData({loverShow:!this.data.loverShow}) }, doSetXxtAnimal(){ this.doSetXxt('animal') }, doSetXxtMale(){ this.doSetXxt('male') }, doSetXxtFemale(){ this.doSetXxt('female') }, doSetXxt(e){ req.patchRequest('/api/user/curt',{spriteType:e}).then((res)=>{ if(res.data.code==200){ } this.getUserInfo() }).catch((err)=>{ console.log(err); }) }, doSetXxtAnimalS(){ this.doSetXxtS('animal') }, doSetXxtMaleS(){ this.doSetXxtS('male') }, doSetXxtFemaleS(){ this.doSetXxtS('female') }, doSetXxtS(e){ req.patchRequest('/api/user/curt/lover',{spriteType:e}).then((res)=>{ if(res.data.code==200){ } this.getUserLoverInfo() }).catch((err)=>{ console.log(err); }) }, getXxObj(){/**获取形象对应的图片 */ req.getRequest('/api/dict/values/sprite-type',{}).then((res)=>{ if(res.data.code==200){ this.setData({xingxiangtu:res.data.data}) } console.log(this.data.xingxiangtu); }).catch((err)=>{ console.log(err); }) }, ShowOrNotLogo(){ this.setData({showSexLogo:!this.data.showSexLogo}) }, getUserLoverInfo(){ req.getRequest('/api/user/curt/lover',{}).then((res)=>{ if(res.data.code==200){ this.setData({loverInfo:res.data.data}) } console.log(this.userInfo); }).catch((err)=>{ console.log(err); }) }, getTextValue(e){ console.log(e.detail.value); this.setData({ prayerContent:e.detail.value }) console.log(this.data.prayerContent); }, openEnergy(){ this.setData({ showEnergy:!this.data.showEnergy }) }, cancelEnergy(){ this.setData({ showEnergy:!this.data.showEnergy }) }, cancelEnergyToast(){ this.setData({ showEnergyToast:false, showEnergyFail:false }) }, openPray(){ if(this.data.userInfo.prayerEndTime){ this.setData({ showIsPray:!this.data.showIsPray }) }else{ this.setData({ showPray:!this.data.showPray, prayerContent:'' }) } }, onPickerChange(e){ if(e.detail.value[0] === this.data.hours){ this.setData({ minutes:this.data.minute }) }else{ this.setData({ minutes:59 }) } this.setData({ pickerValue: e.detail.value }) }, openInject(){ this.setData({ showInject:!this.data.showInject }) }, // 注入晶石 btnInject(){ this.setData({ showInject:!this.data.showInject, showInEnergy:!this.data.showInEnergy }) req.patchRequest('/api/user/curt/inject-energy-to-pendant',{}).then((res)=>{ console.log('能量注入成功'); this.getUserInfo() }) setTimeout(()=>{ this.setData({ showInEnergy:!this.data.showInEnergy, showScsEnergy:true }) },2000) }, getUserInfo(){ req.getRequest('/api/user/curt',{}).then((res)=>{ if(res.data.code===200){ // 获取已经祈祷时间 const now = new Date(); const startTime = new Date(res.data.data.prayerStartTime) const diff = now.getTime() - startTime.getTime(); const hour = Math.floor(diff / (1000 * 60 * 60)); const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((diff % (1000 * 60)) / 1000); const formattedTime = `${hour.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; // 获取结束祈祷返回能量 const nowTime = new Date(); const endTime = new Date(res.data.data.prayerEndTime) const TimeDiff = endTime.getTime() - nowTime.getTime(); this.setData({ prayTime: formattedTime, energy:Math.floor(TimeDiff / 36000) }) const pendantEnergy = res.data.data.pendantEnergy const minute = pendantEnergy * 6 const hours = Math.floor(pendantEnergy / 60); // 计算小时数 if(hours>0){ this.setData({ minutes:59 }) } this.setData({ userInfo:res.data.data, hours:hours, minute:minute, pendantEnergy:pendantEnergy }) // console.log(this.data.userInfo); } }).catch((err)=>{ console.log(err); }) }, go2Jlai(){ wx.navigateTo({ url: '/pages/home/jl/jlai/jlai' }) }, btnOK(){ const prayerEnergy = (this.data.pickerValue[0]*60 + this.data.pickerValue[1])/6 if(prayerEnergy < 1){ return Toast({ context: this, selector: '#t-toast', message: '能量不足', }); } if(this.data.prayerContent.length > 11){ return Toast({ context: this, selector: '#t-toast', message: '祈祷内容不能超过11个字', }); } req.patchRequest('/api/user/curt/prayer',{ prayerContent:this.data.prayerContent, prayerEnergy:prayerEnergy }).then((res) => { if(res.data.code === 200){ Toast({ context: this, selector: '#t-toast', message: '祈祷成功', }); }else{ Toast({ context: this, selector: '#t-toast', message: res.data.msg, }); } this.getUserInfo() this.openPray() }).catch((err) => { console.log('祈祷失败',err); }) }, btnCancel(){ console.log('111'); req.patchRequest('/api/user/curt/prayer/stop',{}).then((res)=>{ Toast({ context: this, selector: '#t-toast', message: '已结束祈祷', }); this.openPray() this.getUserInfo() }) }, btnShare(){ console.log('赠送能量'); req.patchRequest('/api/user/curt/give-crystalline-energy-to-lover',{}).then((res)=>{ console.log(res); if(res.data.code === 200){ this.setData({ showEnergySuccess:!this.data.showEnergySuccess, showEnergy:!this.data.showEnergy }) return setTimeout(()=>{ this.setData({ showEnergySuccess:!this.data.showEnergySuccess, }) },2000) } this.setData({ showEnergy:!this.data.showEnergy, showEnergyToast:!this.data.showEnergyToast, toast:res.data.msg }) }).catch((err)=>{ console.log('111'); this.setData({ showEnergyFail:!this.data.showEnergyFail, showEnergy:!this.data.showEnergy }) }) }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.getUserInfo() this.getUserLoverInfo() this.getXxObj() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { }, ToastDialog(e) { const { item } = e.currentTarget.dataset; this.setData( { }, () => { this.setData({ visible: true }); }, ); } , onVisibleChange(e) { this.setData({ visible: e.detail.visible, }); } })