// pages/index.js var urlPath = require('../../config.js'); const app = getApp(); Page({ // 前往下一页 picture(e) { wx.navigateTo({ url: '../picture/picture?id=' + e.currentTarget.dataset.id }); }, rule() { wx.navigateTo({ url: '../rule/rule' }); }, vote(e){ var that = this; var id = e.currentTarget.dataset.id; let newIndex = e.currentTarget.dataset.index; if(id > 0){ wx.request({ url: urlPath.vote, header:{ 'token' : wx.getStorageSync('token') }, data:{ id : id }, success(res){ if(res.data.code == 0){ wx.showToast({ title: '投票成功' }); that.data.works_list[newIndex].number++; that.setData({ works_list:that.data.works_list }) // that.onLoad(); }else{ wx.showToast({ title:res.data.msg, icon:'none' }); } } }) } }, personal(e) { wx.navigateTo({ url: '../personal/personal?id=' + e.currentTarget.dataset.uid }); }, sign() { wx.navigateTo({ url: '../sign/sign' }); }, /** * 页面的初始数据 */ data: { loadHidden : true, // img_url: wx.getStorageSync('img_url'), swiperCurrent:0, autoplay: false, interval: 3000, duration: 800, //倒计时数据 endTime: '', tab_number: 0 ,//参与者 tab_vote: 0,//投票数 tab_visit: 0,//访问次数 rule_text:['1、本次活动不收任何费用,不退稿。2、参赛作品需附有作品介绍,字数限100字以内。3、每位参赛者仅限提交不超过5幅3、每位参赛者仅限提交不超过5幅'],//活动规则 //列表 works_list: [], page : 1, pageSize : 6, rule:'', search_page:1, for_search:false, keyword:'', forMore:true, }, swiperChange: function (e) { this.setData({ swiperCurrent: e.detail.current }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; that.setData({ //倒计时数据 endTime: '', tab_number: 0 ,//参与者 tab_vote: 0,//投票数 tab_visit: 0,//访问次数 rule_text:['1、本次活动不收任何费用,不退稿。2、参赛作品需附有作品介绍,字数限100字以内。3、每位参赛者仅限提交不超过5幅3、每位参赛者仅限提交不超过5幅'],//活动规则 //列表 works_list: [], pageSize : 20, }); //登录状态 wx.checkSession({ success: function (res) { that.getSlideList(); that.saveVisit(); that.getBaseInfo(); //var user = wx.getStorageSync('user') || []; }, fail: function(){ wx.login({ success: res => { wx.request({ url: urlPath.getopenid, data: { code: res.code }, success(res) { if(res.data.code == 0){ wx.setStorageSync('token', res.data.data.token); wx.setStorageSync('openid', res.data.data.openid); wx.setStorageSync('user', res.data.data.user); that.onLoad(); }else{ console.log(res.data.msg); } } }); } }) } }); //that.countDown()//倒计时监听 }, saveVisit:function(){ wx.request({ url: urlPath.saveVisit, header:{ 'token': wx.getStorageSync('token') }, method:'post', success(res){ console.log(res); } }); }, // 倒计时 countDown:function(){ var that=this; var nowTime = new Date().getTime();//现在时间(时间戳) var endTime = new Date(that.data.endTime).getTime();//结束时间(时间戳) var time = (endTime-nowTime)/1000;//距离结束的毫秒数 // 获取天、时、分、秒 let day = parseInt(time / (60 * 60 * 24)); let hou = parseInt(time % (60 * 60 * 24) / 3600); let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); day = that.timeFormin(day), hou = that.timeFormin(hou), min = that.timeFormin(min), sec = that.timeFormin(sec) that.setData({ day: that.timeFormat(day), hou: that.timeFormat(hou), min: that.timeFormat(min), sec: that.timeFormat(sec) }) // 每1000ms刷新一次 if (time>0){ that.setData({ countDown: true }) setTimeout(this.countDown, 1000); }else{ that.setData({ countDown:false }) } }, getSlideList:function(){ var that = this; var slide_list = []; wx.request({ url: urlPath.getSlideList, header:{ 'token': wx.getStorageSync('token') }, success(res){ if(res.data.code == 0){ if(res.data.data.length > 0){ res.data.data.forEach(function(item){ slide_list.push(urlPath.host + item.src); }); that.setData({ img_url:slide_list }); wx.setStorageSync('img_url', that.data.img_url); } }else{ console.log(res.data.msg); //失败 } } }); }, getVoteList:function(){ var that = this; if(that.data.page==1) { that.setData({ works_list:[] }) } else { if(!that.data.forMore){ return; } } var vote_list = []; wx.request({ url: urlPath.getVoteList, header:{ 'token' : wx.getStorageSync('token') }, data:{ page:that.data.page, page_size:that.data.pageSize }, success(res){ console.log(res,9000); if(res.data.code == 0){ if(res.data.data.length > 0){ res.data.data.forEach(function(item){ vote_list.push({ ids: item.id, img: urlPath.host + item.pic, text: item.explain, name: item.user_name, number: item.votes, uid:item.uid }); }); that.setData({ works_list:that.data.works_list.concat(vote_list) }); }else{ that.setData({ forMore:false }); } }else{ console.log(res.data.msg); //失败 } } }) }, loadChange:function(){ var that = this; if(that.data.for_search){ that.search(); }else{ that.data.page++ that.getVoteList(); } }, //小于10的格式化函数(2变成02) timeFormat(param) { return param < 10 ? '0' + param : param; }, //小于0的格式化函数(不会出现负数) timeFormin(param) { return param < 0 ? 0: param; }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { this.setData({ page:1 }) this.getVoteList(); }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, onShow:function(){ if (typeof this.getTabBar === 'function' && this.getTabBar()) { this.getTabBar().setData({ selected: 1 }) } this.setData({page:1}) this.getVoteList(); }, getBaseInfo:function(){ var that = this; wx.request({ url: urlPath.getBaseInfo, header:{ 'token' : wx.getStorageSync('token') }, success(res){ if(res.data.code == 0){ var voteNumber = res.data.data.voteNumber; var numberOfPeople = res.data.data.numberOfPeople; var vote = res.data.data.vote; that.setData({ tab_number: numberOfPeople, tab_vote: voteNumber, endTime: vote.time, rule_text: vote.rule_text, tab_visit:vote.visits, rule: vote.rule }); wx.setStorageSync('baseInfo', res.data.data); that.countDown() }else{ console.log(res.data.msg); //失败 } } }) }, search:function(){ var that = this; if(that.data.keyword == ''){ return; } if(!that.data.forMore){ return; } wx.request({ url: urlPath.search, data: { keyword: that.data.keyword, page:that.data.search_page, page_size:that.data.pageSize }, header:{ 'token' : wx.getStorageSync('token') }, success: function(res) { if(res.data.code == 0){ var type = res.data.data.type; var items = res.data.data.items; if(type== 'int'){ wx.navigateTo({ url: '../picture/picture?id=' + items.id }); }else if(type == 'string'){ var vote_list = []; items.forEach(function(item){ vote_list.push({ ids: item.id, img: urlPath.host + item.pic, text: item.explain, name: item.user_name, number: item.votes, uid:item.uid }); }); if(that.data.search_page == 1){ that.setData({ works_list:vote_list, forMore:true }); }else{ that.setData({ works_list:that.data.works_list.concat(vote_list) }); } if(items.length < that.data.pageSize){ that.setData({ forMore: false }); } that.setData({ search_page : that.data.search_page + 1, for_search:true }) } }else{ wx.showToast({ title: res.data.msg, icon: 'none', duration: 1500 }); } } }); }, goSearch:function(e){ var that = this; var formData = e.detail.value; if (formData) { that.setData({ keyword:formData, forMore: true }); that.search(); } else { wx.showToast({ title: '输入不能为空', icon: 'none', duration: 1500 }); } } })