1. 程式人生 > 程式設計 >微信小程式以7天為週期連續簽到7天功能效果的示例程式碼

微信小程式以7天為週期連續簽到7天功能效果的示例程式碼

此功能以1,2,3,4,5,6,7這樣為一週期,連續簽到的功能;
通過計算是否為整除7天計算,每7天后切換數目,從而改變週期表、

本案例只是提供案例的基本操作,進一步涉及:每日使用者集的監聽(日曆表,簽到統計,連續簽到,簽到中斷,後端資料處理)等等功能需自行在搞掂哈~

如果圖如下:

圖1圖2

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

參考:

[js仿淘寶收貨地址列表,設定預設地址]
[微信小程式簽到積分案列]
[微信小程式canvas生成分享圖片到相簿的案例]

到此這篇關於微信小程式以7天為週期連續簽到7天功能效果的示例程式碼的文章就介紹到這了,更多相關微信小程式連續簽到7天內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!