微信小程序> 微信小程序-微信小程序:连续签到7天签到积分获得功能设计-小程序开发

微信小程序-微信小程序:连续签到7天签到积分获得功能设计-小程序开发

浏览量:4004 时间: 来源:依然范特西的XXK

1.每周每天签到获得积分的案例功能设计:计算每天签到得1分,显示得到的签到积分,连续签到3天[周一二三]即得+多3分,连续签到7天[周一二三四五六日]+多7分,没有连续即不显示多余的3分或7分的提示…wxml结构:

!--pages/signIn2/signIn2.wxml--viewclass='sign-new'viewclass='in'viewclass='new-head'viewclass='sig-tl'viewclass='tln'已连续签到labelclass='n'{{newSignNum}}/label天/viewviewclass='tlf'积分:labelclass='f'{{newSignIntegral}}/label/view/view!--未签到--viewwx:if='{{!newSignBtnState}}'class='sig-qiusig-qiu-no'bindtap='bindSignFn'labelclass='ti'签到/label/view!--已签到--viewwx:elseclass='sig-qiusig-qiu-yes'labelclass='ti'已签到/label/view/viewviewclass='new-week'viewclass='we-mod'viewclass='mo-fen'labelclass='ff3'wx:if='{{continuityDays3}}'+3积分/labellabelclass='ff7'wx:if='{{continuityDays7}}'+7积分/label/viewviewclass='mo-line'blockwx:for="{{isNewSignedArr}}"wx:for-item="v"wx:key="k"labelclass="q{{v.isSigned?'hover':''}}"/label/block/viewviewclass='mo-ri'blockwx:for="{{isNewSignedArr}}"wx:for-item="v"wx:key="k"labelclass="t"{{v.day}}/label/block/view/view/view/view/view

2.js方法:

Page({/***页面的初始数据*/data:{newSignBtnState:false,//按钮签到状态continuityDays7:false,//连续7continuityDays3:false,//连续3myToday:'',//周几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){varthat=this,newSignNum=that.data.newSignNum,today=that.data.myToday;constarr=[],newSignArr=[...arr,...that.data.isNewSignedArr];//today=today-10?today-1:6;newSignArr[today].isSigned=true;//当前积分newSignNum++;varcurFen=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){varthat=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,周日+7if(oneIsSigned&&twoIsSigned&&that.data.myToday==3){that.setData({continuityDays3:true})}elseif(oneIsSigned&&twoIsSigned&&threeIsSigned&&fourIsSigned&&fiveIsSigned&&sixIsSigned&&that.data.myToday==0){that.setData({continuityDays7:true})}//签到后执行if(that.data.newSignBtnState){//周三:一二三if(oneIsSigned&&twoIsSigned&&threeIsSigned){varfens=that.data.newSignIntegral+3-1;that.setData({newSignIntegral:fens})}//所有签了:一二三四五六日if(oneIsSigned&&twoIsSigned&&threeIsSigned&&fourIsSigned&&fiveIsSigned&&sixIsSigned&&sevenIsSigned){varfens=that.data.newSignIntegral+7-1;that.setData({newSignIntegral:fens})}}},/***生命周期函数--监听页面加载*/onLoad:function(options){varthat=this,myDate=newDate(),myToday=myDate.getDay();//周几0123456that.setData({myToday:myToday})that.signAddFen();},})

3.有什么错误或优化的地方,可以提出来,大家一起学习研究…完整案例可访问本人github:https://github.com/xiexikang/xcx-signIn

4.ps:[微信小程序:以7天为周期,连续签到7天功能效果]

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎