微信小程序以7天为周期连续签到7天功能效果的示例代码


Posted in Javascript onAugust 20, 2020

此功能以1,2,3,4,5,6,7这样为一周期,连续签到的功能;
通过计算是否为整除7天计算,每7天后切换数目,从而改变周期表、

本案例只是提供案例的基本操作,进一步涉及:每日用户集的监听(日历表,签到统计,连续签到,签到中断,后端数据处理)等等功能需自行在搞掂哈~

如果图如下:

微信小程序以7天为周期连续签到7天功能效果的示例代码微信小程序以7天为周期连续签到7天功能效果的示例代码

wxml结构

<!--pages/signIn/signIn.wxml-->
<view class='signIn'>
 <view class='sign-com'>
 <view class='thead'>
 <view class='tt'>已连续签到</view>
 <view class='mm'><label class='n'>{{signNum}}</label>天</view>
 <view class='pp'>连续签到7日后每日得3分</view>
 </view>
 <view class='modle'>
 <view class='mol'>
 <view class='mol-line'></view>
 <view class='mol-ites'>
 <view class="ite {{signNum>=min?'hover':''}}" data-n='{{min}}'>
 <label class='n'>+{{min<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+1?'hover':''}}" data-n='{{min+1}}'>
 <label class='n'>+{{min+1<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+2?'hover':''}}" data-n='{{min+2}}'>
 <label class='n'>+{{min+2<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+3?'hover':''}}" data-n='{{min+3}}'>
 <label class='n'>+{{min+3<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+4?'hover':''}}" data-n='{{min+4}}'>
 <label class='n'>+{{min+4<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+5?'hover':''}}" data-n='{{min+5}}'>
 <label class='n'>+{{min+5<7?1:3}}</label>
 </view>
 <view class="ite {{signNum>=min+6?'hover':''}}" data-n='{{max}}'>
 <label class='n'>+{{min+6<7?1:3}}</label>
 </view>
 </view>
 </view>
 <view class='moday'>
 <label class='dd'>{{min}}天</label>
 <label class='dd'>{{min+1}}天</label>
 <label class='dd'>{{min+2}}天</label>
 <label class='dd'>{{min+3}}天</label>
 <label class='dd'>{{min+4}}天</label>
 <label class='dd'>{{min+5}}天</label>
 <label class='dd'>{{max}}天</label>
 </view>
 </view>

 <view class='the-btn'>
 <button type='button' class='btn' bindtap='bindSignIn' data-num="{{signNum}}" disabled='{{signState}}'
 data-min="{{min}}" data-max="{{max}}" data-be="{{be}}"
 >签到</button>
 </view>
 </view>
</view>

<view class='explax'>
 <view class=''>日期开始:{{min}} </view>
 <view class=''>日期结束:{{max}} </view>
 <view class=''>签到数:{{signNum}}天</view>
 <view class=''>切换周期的倍数:{{be}}</view>
</view>

js功能

// pages/signIn/signIn.js
//获取应用实例
const app = getApp();

Page({

 /**
 * 页面的初始数据
 */
 data: {
 //img_url: config.imgUrl, //图片地址

 //签到模块
 signNum: 0, //签到数
 signState: false, //签到状态
 min: 1, //默认值日期第一天1
 max: 7, //默认值日期最后一天7
 be: 0 //默认倍数


 },

 //签到
 bindSignIn(e) {
 var that = this,
 num = e.currentTarget.dataset.num;
 num++
 wx.showToast({
 icon: 'success',
 title: '签到成功',
 })
 that.setData({
 signNum: num,
 //signState: true
 })

 var min = e.currentTarget.dataset.min,
 max = e.currentTarget.dataset.max,
 be = e.currentTarget.dataset.be;

 if (num % 7 == 0) {
 be += 1;
 that.setData({
 be: be
 })
 }

 if (num == 7 * be + 1) {
 that.setData({
 min: 7 * be + 1,
 max: 7 * be + 7
 })
 }

 },


})

有什么错误或优化的地方,可以提出来,大家一起学习研究…

完整案例可访问本人github:https://github.com/xiexikang/xcx-signIn

参考:

到此这篇关于微信小程序以7天为周期连续签到7天功能效果的示例代码的文章就介绍到这了,更多相关微信小程序连续签到7天内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
奇妙的js
Sep 24 Javascript
PNG背景在不同浏览器下的应用
Jun 22 Javascript
javascript 面向对象全新理练之原型继承
Dec 03 Javascript
javascript循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
JS获取input file绝对路径的方法(推荐)
Aug 02 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
利用JavaScript实现栈的数据结构示例代码
Aug 02 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
echarts整合多个类似option的方法实例
Jul 10 Javascript
详解如何探测小程序返回到webview页面
May 14 Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 #Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 #Javascript
JavaScript 空间坐标的使用
Aug 19 #Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 19 #Javascript
jQuery实现评论模块
Aug 19 #jQuery
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 #Javascript
jQuery实现简单评论功能
Aug 19 #jQuery
You might like
DSP接收机前端设想
2021/03/02 无线电
对盗链说再见...
2006/10/09 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
js 操作符实例代码
2009/10/24 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
Python中删除文件的程序代码
2011/03/13 Python
python 排列组合之itertools
2013/03/20 Python
python实现提取百度搜索结果的方法
2015/05/19 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
利用Python爬取可用的代理IP
2016/08/18 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
国际象棋商店:The Chess Store
2018/07/09 全球购物
Java面试笔试题大全
2016/11/23 面试题
普通员工辞职信
2014/01/17 职场文书
运动会通讯稿100字
2014/01/31 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
群众路线领导对照材料
2014/08/23 职场文书
2014年度党员自我评议
2014/09/13 职场文书
助学贷款贫困证明
2014/09/23 职场文书
汇报材料怎么写
2014/12/30 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书