微信小程序以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 相关文章推荐
javascript编程起步(第五课)
Jan 10 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
Jul 11 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 Javascript
JavaScript记录光标在编辑器中位置的实现方法
Apr 22 Javascript
Bootstrap 3多级下拉菜单实例
Nov 23 Javascript
实现单层json按照key字母顺序排序的示例
Dec 06 Javascript
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
vue2过滤器模糊查询方法
Sep 16 Javascript
在layui tab控件中载入外部html页面的方法
Sep 04 Javascript
vue基于better-scroll实现左右联动滑动页面
Jun 30 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
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
心扬JS分页函数代码
2010/09/10 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
JavaScript手机振动API
2016/06/11 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
北京SQL新华信咨询
2016/09/30 面试题
师德个人剖析材料
2014/02/02 职场文书
班组长岗位职责
2014/03/03 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
横店影视城导游词
2015/02/06 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
php png失真的原因及解决办法
2021/11/17 PHP
mysql insert 存在即不插入语法说明
2022/03/25 MySQL