亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序實現簽到功能

2020-03-21 16:08:37
字體:
來源:轉載
供稿:網友

本文實例為大家分享了微信小程序實現簽到功能的具體代碼,供大家參考,具體內容如下

效果圖:

微信小程序,簽到

微信小程序,簽到

今天是16號,所以顯示已簽到,渲染頁面時請求后臺傳的參數為這月簽到的日期

如:["16", "14"]

點擊簽到執行

calendarSign

sign.wxml

<!--index.wxml--><view class="calendar"> <view class='bcfff'> <view class="weekName">  <view class="monday">一</view>  <view class="tuesday">二</view>  <view class="wednesday">三</view>  <view class="thursday">四</view>  <view class="friday">五</view>  <view class="saturday">六</view>  <view class="sunday">日</view> </view> <view class="week">   <!--填補空格-->  <view wx:for="{{nbsp}}">/n</view>   <!--循環日期-->  <!-- 當天以前 -->  <view wx:for="{{date-1}}" style="color:gainsboro;">  <text wx:if="{{item+1==calendarSignData[item+1]}}" style="color: #2ccecb;">{{item+1}}</text>  <text wx:else="">{{item+1}}</text>  </view>  <!-- 當天 -->  <view style="">  <text wx:if="{{is_qd}}" style="color: #2ccecb;">{{date}}</text>  <text wx:else="" style="">{{date}}</text>  </view>  <!-- 以后 -->  <view wx:for="{{monthDaySize-date}}">{{item+date+1}}</view> </view> </view> <view class="calendarSign"> <image bindtap="calendarSign" class='btnimg' src='https://jpadmin.99dudesign.com/public/img/source/btn_icon_wodekaoqin1.png'></image>  <!-- wx:if="{{date!=calendarSignData[date]}}" --> </view></view><!-- 簽到成功 --><view class='zhegai hide {{qdView?"block":""}}' bindtap='quxiaoQd'></view><view class='successqd hide {{qdView?"block":""}}'> <view class='qdtitle'>簽到成功</view> <view class='qdcontent' wx:if="{{is_qd}}">今天已經簽過了~</view> <view class='qdcontent' wx:else>簽到成功,獲得{{integral}}積分,您已連續簽到{{rule}}天!</view> <view class='queding' bindtap='quxiaoQd'>確定</view></view>

sign.js

var app = getApp();var calendarSignData;var date;var calendarSignDay;var is_qd;Page({  /** * 頁面的初始數據 */ data: { qdView: false, calendarSignData: "", calendarSignDay: "", is_qd: false, }, quxiaoQd: function (e) { var that = this; that.setData({  qdView: false,  is_qd: true }) }, //事件處理函數 calendarSign: function (e) { var that = this; that.setData({  qdView: true }) calendarSignData[date] = date; console.log(calendarSignData); calendarSignDay = calendarSignDay + 1; var today = new Date().getDate() wx.request({  url: getApp().data.host + '后臺的接口',  method: "POST",  data: {  "user_id": wx.getStorageSync('user_id'),  "sign_num": today  },  header: {  'content-type': 'application/x-www-form-urlencoded' //通過post傳值,所以要加header  },  success: function (res) {  that.setData({   rule: res.data.rule,   integral: res.data.integral,  })  } })  wx.setStorageSync("calendarSignData", calendarSignData); wx.setStorageSync("calendarSignDay", calendarSignDay);  this.setData({  calendarSignData: calendarSignData,  calendarSignDay: calendarSignDay }) }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function () { var that = this; var mydate = new Date(); var year = mydate.getFullYear(); var month = mydate.getMonth() + 1; date = mydate.getDate(); console.log("date" + date) var day = mydate.getDay(); console.log(day) var nbsp = 7 - ((date - day) % 7); console.log("nbsp" + nbsp); var monthDaySize; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {  monthDaySize = 31; } else if (month == 4 || month == 6 || month == 9 || month == 11) {  monthDaySize = 30; } else if (month == 2) {  // 計算是否是閏年,如果是二月份則是29天  if ((year - 2000) % 4 == 0) {  monthDaySize = 29;  } else {  monthDaySize = 28;  } }; // 傳ajax wx.request({  url: getApp().data.host + 'index.php?g=api&m=output&a=sign_list',  method: "POST",  data: {  "user_id": wx.getStorageSync('user_id')  },  header: {  'content-type': 'application/x-www-form-urlencoded'  },  success: function (res) {  // 判斷是否簽到過   if (res.data == null) {   calendarSignData = new Array(monthDaySize)   wx.setStorageSync("calendarSignData", calendarSignData);  } else {   var is_qd;   for (var i in res.data) {   parseInt(res.data[i])   calendarSignData = new Array(monthDaySize)   calendarSignData[parseInt(res.data[i])] = parseInt(res.data[i])   wx.setStorageSync("calendarSignData", calendarSignData);   console.log(date)   console.log(parseInt(res.data[i]))    if (parseInt(res.data[i]) == date) {    console.log(1)    wx.setStorageSync("calendarSignDay", 1);    is_qd = true   } else {    wx.setStorageSync("calendarSignDay", 0);       }   }  }  console.log(is_qd)  calendarSignData = wx.getStorageSync("calendarSignData")  calendarSignDay = wx.getStorageSync("calendarSignDay")  console.log(calendarSignData);  console.log(calendarSignDay)  that.setData({   is_qd: is_qd,   year: year,   month: month,   nbsp: nbsp,   monthDaySize: monthDaySize,   date: date,   calendarSignData: calendarSignData,   calendarSignDay: calendarSignDay  })  } })   },  /** * 生命周期函數--監聽頁面初次渲染完成 */ onReady: function () {  },  /** * 生命周期函數--監聽頁面顯示 */ onShow: function () {  },  /** * 生命周期函數--監聽頁面隱藏 */ onHide: function () {  },  /** * 生命周期函數--監聽頁面卸載 */ onUnload: function () { wx.removeStorageSync("calendarSignData") wx.removeStorageSync("calendarSignDay") },  /** * 頁面相關事件處理函數--監聽用戶下拉動作 */ onPullDownRefresh: function () {  },  /** * 頁面上拉觸底事件的處理函數 */ onReachBottom: function () {  },  /** * 用戶點擊右上角分享 */ onShareAppMessage: function () {  }})

sign.wxss

page { background-color: #2ccecb;} .t_red { color: red;} .t_blue { color: royalblue;} .calendar { width: 500rpx; margin: 200rpx 125rpx; /* height: 600rpx; *//* background-color: #ffffff; */ border-radius: 4rpx;} .time { padding: 16rpx 20rpx; background-color: wheat; display: flex;} .time view { flex: 1; font-size: 30rpx;} .time view text { font-size: 38rpx;} .weekName { background-color: #54ff9c; width: 100%; display: flex; padding: 30rpx 0; font-size: 40rpx; color: #fff;} .weekName view { flex: 1; text-align: center;} .week { width: 100%;} .week view { width: 14.2%; height: 50rpx; line-height: 50rpx; display: inline-block; margin: 10rpx 0; text-align: center; font-size: 30rpx; color: #747474;} .week view text { width: 100%; height: 100%; display: inline-block;} .calendarSign { margin-top: -75rpx; text-align: center;} .btnimg { width: 150rpx; height: 150rpx; border-radius: 50%;} .bcfff { background-color: white; padding-bottom: 100rpx;} .zhegai { position: fixed; top: 0; left: 0; bottom: 0; width: 100%; height: 100%; background-color: black; opacity: 0.4;} .successqd { position: fixed; top: 50%; left: 50%; width: 550rpx; margin-left: -275rpx; margin-top: -200rpx; background-color:white; border-radius: 6rpx; border: 2rpx solid #54ff9c; text-align: center;}.qdtitle{ font-size: 32rpx;font-weight: bold;color: #232323;padding: 20rpx;}.qdcontent{font-size: 30rpx;color: #232323;padding: 20rpx 10rpx;}.queding{font-size: 30rpx;color: #232323;border-top: 1rpx solid #cccccc;padding: 20rpx;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲最大成人免费视频| 欧美日韩国产一区中文午夜| 日韩欧美在线视频观看| 亚洲人免费视频| 色综合久久精品亚洲国产| 亚洲国产成人久久综合一区| 精品国产精品三级精品av网址| 欧美激情va永久在线播放| 欧美裸身视频免费观看| 欧美电影在线免费观看网站| xxav国产精品美女主播| 国产精品视频网| 亚洲性生活视频在线观看| 欧美精品videossex88| 国产乱人伦真实精品视频| 国产va免费精品高清在线观看| 精品一区二区三区四区| 亚洲自拍av在线| 亚洲精品国产精品国自产观看浪潮| 国产综合视频在线观看| 国产精品一区久久久| 日本久久久久久久久| 亚洲欧美视频在线| 精品视频一区在线视频| 亚洲一区二区三区在线视频| 欧美xxxx综合视频| 色哟哟网站入口亚洲精品| 一本色道久久综合狠狠躁篇怎么玩| 亚洲伊人第一页| 国产日韩欧美视频| 国产精品第一页在线| 久久在精品线影院精品国产| 国产精品高清在线| 亚洲最大的成人网| 欧美一级大片在线免费观看| 国产97色在线| 欧美性猛交xxxx免费看久久久| 亚洲国产天堂网精品网站| 日韩欧美在线国产| 久久久电影免费观看完整版| 欧美日韩亚洲精品一区二区三区| 欧美又大又硬又粗bbbbb| 国产精品极品尤物在线观看| 91禁国产网站| 欧美精品18videos性欧| 日韩精品在线视频观看| 国产91露脸中文字幕在线| 国产91在线高潮白浆在线观看| 国产精品99久久久久久久久久久久| 国产999精品久久久影片官网| 97精品国产97久久久久久春色| 日韩经典中文字幕| 欧美激情亚洲一区| 亚洲一区二区免费| 国产成人极品视频| 亚洲欧美中文另类| 欧美乱大交xxxxx另类电影| 日本国产一区二区三区| 国产美女高潮久久白浆| 国产热re99久久6国产精品| 久久久综合av| 亚洲激情第一页| 欧美日韩午夜视频在线观看| 亚洲bt欧美bt日本bt| 欧美一区二粉嫩精品国产一线天| 国产69精品99久久久久久宅男| 日韩av在线播放资源| 91精品中文在线| 久久久国产91| 中文字幕在线视频日韩| 国产精品电影一区| 亚洲xxx大片| 亚洲大胆人体视频| 久久久久久久久久婷婷| 中文字幕日韩在线播放| 欧美高清在线视频观看不卡| 91久久精品日日躁夜夜躁国产| 欧美黄色片免费观看| 国内精品小视频| 一区二区亚洲精品国产| 亚洲精品成a人在线观看| 国内揄拍国内精品| 久久久噜噜噜久噜久久| 爽爽爽爽爽爽爽成人免费观看| 国产亚洲精品激情久久| 国产在线98福利播放视频| 中文字幕亚洲综合| 色一情一乱一区二区| 91精品国产高清久久久久久91| 日本亚洲欧洲色α| 91精品视频网站| 欧美日韩第一视频| 最好看的2019的中文字幕视频| 九九精品在线视频| 久久久久久久激情视频| 亚洲男子天堂网| 中文字幕亚洲字幕| 久久久人成影片一区二区三区| 久久精品成人一区二区三区| 日本不卡高字幕在线2019| 欧美三级欧美成人高清www| 2019精品视频| 国模视频一区二区| 日韩中文字幕网站| 欧美性色xo影院| 日韩在线观看网站| 亚洲欧美中文日韩v在线观看| 一区二区三区黄色| 国产成人精品av| 欧美激情亚洲一区| 亚洲国产精品久久久久秋霞蜜臀| 成人性生交xxxxx网站| 精品国产一区久久久| 成人看片人aa| 亚洲国产精品电影| 久久久亚洲精品视频| 精品久久久久久久久久久久| 国模精品系列视频| 欧美大学生性色视频| 欧美黑人性生活视频| 欧美激情精品久久久久久黑人| 在线播放国产一区二区三区| 国产精品1234| 亚洲欧美日韩成人| 国产精品www色诱视频| 精品综合久久久久久97| 国产精品自产拍在线观| 亚洲一区二区中文字幕| 国产99久久精品一区二区| 日韩av第一页| 亚洲国产精品免费| 亚洲欧美在线免费| 亚洲精品国产精品国自产观看浪潮| 久久精视频免费在线久久完整在线看| 欧美激情国内偷拍| 精品丝袜一区二区三区| 在线a欧美视频| 国产精品吹潮在线观看| 三级精品视频久久久久| 另类图片亚洲另类| 久久久精品在线观看| 久久久免费观看| 亚洲 日韩 国产第一| 中文字幕av一区中文字幕天堂| 精品久久香蕉国产线看观看gif| 亚洲欧洲在线视频| 欧美尤物巨大精品爽| 日韩女在线观看| 欧美精品videosex极品1| 国产成人精品亚洲精品| 91亚洲va在线va天堂va国| 亚洲国产成人在线播放| 欧美日韩国产123| 97国产精品视频| 日韩在线观看视频免费| 久久久久久噜噜噜久久久精品| 欧美激情精品久久久久久免费印度| 欧美激情在线视频二区| 热久久视久久精品18亚洲精品| 亚洲精品成人av| 欧美日韩国产第一页| 富二代精品短视频| 亚洲欧美在线看| 国产日韩精品综合网站|