首页 >> js开发 >> js微信小程序连续签到7天积分获得功能的示例代码js大全
js微信小程序连续签到7天积分获得功能的示例代码js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
每周每天签到获得积分的案例
功能设计:计算每天签到得1分,显示得到的签到积分,连续签到3天[周一二三]即得+多3分,连续签到7天[周一二三四五六日]+多7分,没有连续即不显示多余的3分或7分的提示…每周每天签到获得积分的案例
wxml结构:wxml结构:
已连续签到天
积分:
已连续签到天
积分:
js方法:js方法:
Page({
/**
* 页面的初始数据
*/
data: {
newSignBtnState: false, //按钮签到状态
continuityDays7: false, //连续7
continuityDays3: false, //连续3
myToday: '',
//周几
newSignNum: 0,
//签到天数
newSignIntegral:0, //签到积分
//签到数组
isNewSignedArr: [
{
"day": "一",
"isSigned": false
},
{
"day": "二",
"isSigned": false
},
{
"day": "三",
"isSigned": false
},
{
"day": "四",
"isSigned": false
},
{
"day": "五",
"isSigned": false
},
{
"day": "六",
"isSigned": false
},
{
"day": "日",
"isSigned": false
}
],
},
//-------点击签到---------
bindSignFn(e){
var that = this,
newSignNum = that.data.newSignNum,
today = that.data.myToday;
const arr = [],
newSignArr = [...arr, ...that.data.isNewSignedArr];
//
today = today - 1 > 0 ? today - 1 : 6;
newSignArr[today].isSigned = true;
//当前积分
newSignNum++;
var curFen = that.data.newSignIntegral + 1;
that.setData({
newSignBtnState: true,
newSignNum: newSignNum,
newSignIntegral: curFen,
isNewSignedArr: newSignArr,
})
that.signAddFen();
},
//签到积分函数
//连续 天数-积分: 周三+3:周一,周二,周三(1+1+3=5); 周六+7:周日到周六(1+1+3+1+1+1+7=15)
signAddFen(e) {
var that = this,
oneIsSigned = that.data.isNewSignedArr[0].isSigned,
twoIsSigned = that.data.isNewSignedArr[1].isSigned,
threeIsSigned = that.data.isNewSignedArr[2].isSigned,
fourIsSigned = that.data.isNewSignedArr[3].isSigned,
fiveIsSigned = that.data.isNewSignedArr[4].isSigned,
sixIsSigned = that.data.isNewSignedArr[5].isSigned,
sevenIsSigned = that.data.isNewSignedArr[6].isSigned;
// 另外加分-黄色小框显示 周三+3 , 周日+7
if (oneIsSigned && twoIsSigned && that.data.myToday == 3) {
that.setData({
continuityDays3: true
})
} else if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && that.data.myToday == 0) {
that.setData({
continuityDays7: true
})
}
//签到后执行
if (that.data.newSignBtnState) {
// 周三 : 一 二 三
if (oneIsSigned && twoIsSigned && threeIsSigned) {
var fens = that.data.newSignIntegral + 3 - 1;
that.setData({
newSignIntegral: fens
})
}
// 所有签了: 一 二 三 四 五 六 日
if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && sevenIsSigned) {
var fens = that.data.newSignIntegral + 7 - 1;
that.setData({
newSignIntegral: fens
})
}
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this,
myDate = new Date(),
myToday = myDate.getDay(); //周几 0 1 2 3 4 5 6
that.setData({
myToday: myToday
})
that.signAddFen();
},
})
Page({
/**
* 页面的初始数据
*/
data: {
newSignBtnState: false, //按钮签到状态
continuityDays7: false, //连续7
continuityDays3: false, //连续3
myToday: '',
//周几
newSignNum: 0,
//签到天数
newSignIntegral:0, //签到积分
//签到数组
isNewSignedArr: [
{
"day": "一",
"isSigned": false
},
{
"day": "二",
"isSigned": false
},
{
"day": "三",
"isSigned": false
},
{
"day": "四",
"isSigned": false
},
{
"day": "五",
"isSigned": false
},
{
"day": "六",
"isSigned": false
},
{
"day": "日",
"isSigned": false
}
],
},
//-------点击签到---------
bindSignFn(e){
var that = this,
newSignNum = that.data.newSignNum,
today = that.data.myToday;
const arr = [],
newSignArr = [...arr, ...that.data.isNewSignedArr];
//
today = today - 1 > 0 ? today - 1 : 6;
newSignArr[today].isSigned = true;
//当前积分
newSignNum++;
var curFen = that.data.newSignIntegral + 1;
that.setData({
newSignBtnState: true,
newSignNum: newSignNum,
newSignIntegral: curFen,
isNewSignedArr: newSignArr,
})
that.signAddFen();
},
//签到积分函数
//连续 天数-积分: 周三+3:周一,周二,周三(1+1+3=5); 周六+7:周日到周六(1+1+3+1+1+1+7=15)
signAddFen(e) {
var that = this,
oneIsSigned = that.data.isNewSignedArr[0].isSigned,
twoIsSigned = that.data.isNewSignedArr[1].isSigned,
threeIsSigned = that.data.isNewSignedArr[2].isSigned,
fourIsSigned = that.data.isNewSignedArr[3].isSigned,
fiveIsSigned = that.data.isNewSignedArr[4].isSigned,
sixIsSigned = that.data.isNewSignedArr[5].isSigned,
sevenIsSigned = that.data.isNewSignedArr[6].isSigned;
// 另外加分-黄色小框显示 周三+3 , 周日+7
if (oneIsSigned && twoIsSigned && that.data.myToday == 3) {
that.setData({
continuityDays3: true
})
} else if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && that.data.myToday == 0) {
that.setData({
continuityDays7: true
})
}
//签到后执行
if (that.data.newSignBtnState) {
// 周三 : 一 二 三
if (oneIsSigned && twoIsSigned && threeIsSigned) {
var fens = that.data.newSignIntegral + 3 - 1;
that.setData({
newSignIntegral: fens
})
}
// 所有签了: 一 二 三 四 五 六 日
if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && sevenIsSigned) {
var fens = that.data.newSignIntegral + 7 - 1;
that.setData({
newSignIntegral: fens
})
}
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this,
myDate = new Date(),
myToday = myDate.getDay(); //周几 0 1 2 3 4 5 6
that.setData({
myToday: myToday
})
that.signAddFen();
},
})有什么错误或优化的地方,可以提出来,大家一起学习研究…
完整案例可访问本人github:https://github.com/xiexikang/xcx-signIn完整案例可访问本人githubps:
[微信小程序:以7天为周期,连续签到7天功能效果][微信小程序:以7天为周期,连续签到7天功能效果]
功能设计:计算每天签到得1分,显示得到的签到积分,连续签到3天[周一二三]即得+多3分,连续签到7天[周一二三四五六日]+多7分,没有连续即不显示多余的3分或7分的提示…每周每天签到获得积分的案例
wxml结构:wxml结构:
Page({
/**
* 页面的初始数据
*/
data: {
newSignBtnState: false, //按钮签到状态
continuityDays7: false, //连续7
continuityDays3: false, //连续3
myToday: '',
//周几
newSignNum: 0,
//签到天数
newSignIntegral:0, //签到积分
//签到数组
isNewSignedArr: [
{
"day": "一",
"isSigned": false
},
{
"day": "二",
"isSigned": false
},
{
"day": "三",
"isSigned": false
},
{
"day": "四",
"isSigned": false
},
{
"day": "五",
"isSigned": false
},
{
"day": "六",
"isSigned": false
},
{
"day": "日",
"isSigned": false
}
],
},
//-------点击签到---------
bindSignFn(e){
var that = this,
newSignNum = that.data.newSignNum,
today = that.data.myToday;
const arr = [],
newSignArr = [...arr, ...that.data.isNewSignedArr];
//
today = today - 1 > 0 ? today - 1 : 6;
newSignArr[today].isSigned = true;
//当前积分
newSignNum++;
var curFen = that.data.newSignIntegral + 1;
that.setData({
newSignBtnState: true,
newSignNum: newSignNum,
newSignIntegral: curFen,
isNewSignedArr: newSignArr,
})
that.signAddFen();
},
//签到积分函数
//连续 天数-积分: 周三+3:周一,周二,周三(1+1+3=5); 周六+7:周日到周六(1+1+3+1+1+1+7=15)
signAddFen(e) {
var that = this,
oneIsSigned = that.data.isNewSignedArr[0].isSigned,
twoIsSigned = that.data.isNewSignedArr[1].isSigned,
threeIsSigned = that.data.isNewSignedArr[2].isSigned,
fourIsSigned = that.data.isNewSignedArr[3].isSigned,
fiveIsSigned = that.data.isNewSignedArr[4].isSigned,
sixIsSigned = that.data.isNewSignedArr[5].isSigned,
sevenIsSigned = that.data.isNewSignedArr[6].isSigned;
// 另外加分-黄色小框显示 周三+3 , 周日+7
if (oneIsSigned && twoIsSigned && that.data.myToday == 3) {
that.setData({
continuityDays3: true
})
} else if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && that.data.myToday == 0) {
that.setData({
continuityDays7: true
})
}
//签到后执行
if (that.data.newSignBtnState) {
// 周三 : 一 二 三
if (oneIsSigned && twoIsSigned && threeIsSigned) {
var fens = that.data.newSignIntegral + 3 - 1;
that.setData({
newSignIntegral: fens
})
}
// 所有签了: 一 二 三 四 五 六 日
if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && sevenIsSigned) {
var fens = that.data.newSignIntegral + 7 - 1;
that.setData({
newSignIntegral: fens
})
}
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this,
myDate = new Date(),
myToday = myDate.getDay(); //周几 0 1 2 3 4 5 6
that.setData({
myToday: myToday
})
that.signAddFen();
},
})
Page({
/**
* 页面的初始数据
*/
data: {
newSignBtnState: false, //按钮签到状态
continuityDays7: false, //连续7
continuityDays3: false, //连续3
myToday: '',
//周几
newSignNum: 0,
//签到天数
newSignIntegral:0, //签到积分
//签到数组
isNewSignedArr: [
{
"day": "一",
"isSigned": false
},
{
"day": "二",
"isSigned": false
},
{
"day": "三",
"isSigned": false
},
{
"day": "四",
"isSigned": false
},
{
"day": "五",
"isSigned": false
},
{
"day": "六",
"isSigned": false
},
{
"day": "日",
"isSigned": false
}
],
},
//-------点击签到---------
bindSignFn(e){
var that = this,
newSignNum = that.data.newSignNum,
today = that.data.myToday;
const arr = [],
newSignArr = [...arr, ...that.data.isNewSignedArr];
//
today = today - 1 > 0 ? today - 1 : 6;
newSignArr[today].isSigned = true;
//当前积分
newSignNum++;
var curFen = that.data.newSignIntegral + 1;
that.setData({
newSignBtnState: true,
newSignNum: newSignNum,
newSignIntegral: curFen,
isNewSignedArr: newSignArr,
})
that.signAddFen();
},
//签到积分函数
//连续 天数-积分: 周三+3:周一,周二,周三(1+1+3=5); 周六+7:周日到周六(1+1+3+1+1+1+7=15)
signAddFen(e) {
var that = this,
oneIsSigned = that.data.isNewSignedArr[0].isSigned,
twoIsSigned = that.data.isNewSignedArr[1].isSigned,
threeIsSigned = that.data.isNewSignedArr[2].isSigned,
fourIsSigned = that.data.isNewSignedArr[3].isSigned,
fiveIsSigned = that.data.isNewSignedArr[4].isSigned,
sixIsSigned = that.data.isNewSignedArr[5].isSigned,
sevenIsSigned = that.data.isNewSignedArr[6].isSigned;
// 另外加分-黄色小框显示 周三+3 , 周日+7
if (oneIsSigned && twoIsSigned && that.data.myToday == 3) {
that.setData({
continuityDays3: true
})
} else if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && that.data.myToday == 0) {
that.setData({
continuityDays7: true
})
}
//签到后执行
if (that.data.newSignBtnState) {
// 周三 : 一 二 三
if (oneIsSigned && twoIsSigned && threeIsSigned) {
var fens = that.data.newSignIntegral + 3 - 1;
that.setData({
newSignIntegral: fens
})
}
// 所有签了: 一 二 三 四 五 六 日
if (oneIsSigned && twoIsSigned && threeIsSigned && fourIsSigned && fiveIsSigned && sixIsSigned && sevenIsSigned) {
var fens = that.data.newSignIntegral + 7 - 1;
that.setData({
newSignIntegral: fens
})
}
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this,
myDate = new Date(),
myToday = myDate.getDay(); //周几 0 1 2 3 4 5 6
that.setData({
myToday: myToday
})
that.signAddFen();
},
})有什么错误或优化的地方,可以提出来,大家一起学习研究…
完整案例可访问本人github:https://github.com/xiexikang/xcx-signIn完整案例可访问本人githubps:
[微信小程序:以7天为周期,连续签到7天功能效果][微信小程序:以7天为周期,连续签到7天功能效果]
相关文章:
- js微信小程序中target和currentTarget的区别小结js大全
- js解决element-ui的下拉框有值却无法选中的情况js大全
- jsVant 中的Toast设置全局的延迟时间操作js大全
- js如何实现小程序与小程序之间的跳转js大全
- jsArray.filter中如何正确使用Asyncjs大全
- jsnuxt 服务器渲染动态设置 title和seo关键字的操作js大全
- js解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题js大全
- jsvant组件中 dialog的确认按钮的回调事件操作js大全
- jsNuxt 项目性能优化调研分析js大全
- js微信小程序实现自定义动画弹框/提示框的方法实例js大全