微信小程序以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 相关文章推荐
instanceof和typeof运算符的区别详解
Jan 06 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
Oct 09 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
Nov 30 Javascript
js仿京东轮播效果 选项卡套选项卡使用
Jan 12 Javascript
JavaScript函数柯里化原理与用法分析
Mar 31 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
Jun 14 Javascript
AngularJS中ng-class用法实例分析
Jul 06 Javascript
ES6学习教程之模板字符串详解
Oct 09 Javascript
jQuery实现动态显示select下拉列表数据的方法
Feb 05 jQuery
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 Javascript
JS精髓原型链继承及构造函数继承问题纠正
Jun 16 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
关于js与php互相传值的介绍
2013/06/25 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
php上传文件常见问题总结
2015/02/03 PHP
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
python str与repr的区别
2013/03/23 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
python使用Geany编辑器配置方法
2020/02/21 Python
如何解决安装python3.6.1失败
2020/07/01 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
python re模块和正则表达式
2021/03/24 Python
员工培训心得体会
2013/12/30 职场文书
实习心得体会
2014/01/02 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
六一儿童节主持词
2014/03/21 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
机械操作工岗位职责
2014/08/08 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
先进工作者个人总结
2015/02/15 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
python中opencv实现图片文本倾斜校正
2021/06/11 Python