fenggu/pages/index/index.js

441 lines
13 KiB
JavaScript
Raw Normal View History

// 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;
2021-12-09 08:54:23 +00:00
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: '投票成功'
});
2021-12-09 08:54:23 +00:00
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;
2021-12-09 08:54:23 +00:00
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){
2021-12-09 08:54:23 +00:00
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{
2021-12-09 08:54:23 +00:00
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 () {
2021-12-09 08:54:23 +00:00
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
})
}
2021-12-09 08:54:23 +00:00
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
});
}
}
})