一、效果图1.
2.点击签到后
3.
4.二、数据库
5.用一张数据表存用户签到的信息,每次用户签到都会往表中添加一条记录了用户id和签到日期的数据,如下图
6.
三、后端7.后端写两个接口,一个用于查询用户今日是否签到和签到记录总数,一个用于添加用户签到信息到数据库。这里用的是python的flask框架。
8.(1)查询用户签到信息接口:
@app.route('/get_sign/user_id')defget_sign(user_id):try:data=get_sign_info(user_id)exceptExceptionase:returnjsonify({'status':0,'Exception':str(e)})returnjsonify({'status':1,'data':data})defget_sign_info(user_id):conn=sqlite3.connect('test.sqlite')cursor=conn.cursor()cursor.execute('selectdatefromsignwhereuser_id=?',(user_id,))all_date=set([x[0]forxincursor.fetchall()])now_date=date.today().strftime('%Y-%m-%d')//将日期字符串化ifnow_dateinall_date:signed=Trueelse:signed=Falsetotal=len(all_date)conn.close()return{'total':total,'signed':signed}9.查询到所有签到日期后用set去除重复项,然后判断一下当天的日期是否在其中,如果不在其中,signed=False表示今日未签到。签到总数就是all_date的长度
10.使用了datetime库来获取日期信息。fromdatetimeimportdate
11.(2)添加用户签到信息接口:
@app.route('/sign/user_id')defsign(user_id):try:update_sign(user_id)exceptExceptionase:returnjsonify({'status':0,'Exception':str(e)})returnjsonify({'status':1})defupdate_sign(user_id):now_date=date.today().strftime('%Y-%m-%d')conn=sqlite3.connect('test.sqlite')cursor=conn.cursor()cursor.execute('insertintosign(user_id,date)values(?,?)',(user_id,now_date))conn.commit()conn.close()四、小程序前端12.wxml文件
viewclass="sign"wx:if="{{isLogin==true}}"imageclass="image"src='../../dist/images/sign.png'/imageviewclass="sign_info"viewwx:if="{{signed==false}}"bindtap='sign'点击此处签到/viewviewwx:if="{{signed==true}}"今日已签到/viewview已签到{{total_sign}}天/view/view/view13.wxss文件
.image{float:left;width:140rpx;height:140rpx;margin-right:7%;margin-left:20%;}.sign{margin-top:10%;}.sign_info{width:100%;color:#666;font-size:43rpx;}14.js文件
get_sign:function(){varthat=this;varuserId=wx.getStorageSync("userId");wx.request({url:'http://服务器公网ip:80/get_sign/'+userId,method:"GET",success:function(res){if(res.data.status==1){that.setData({total_sign:res.data.data.total,signed:res.data.data.signed,})}else{console.log("statuserror:"+res.data.Exception)}},})},sign:function(){varthat=this;varuserId=wx.getStorageSync("userId");wx.request({url:'http://服务器公网ip:80/sign/'+userId,method:"GET",success:function(res){if(res.data.status==1){that.setData({total_sign:that.data.total_sign+1,signed:true,})wx.showToast({title:'成功',icon:'success',duration:2000})}else{console.log("statuserror:"+res.data.Exception)}},})},15.用户登录后,会立即触发get_sign函数,从数据库获取用户签到信息存到page的data中,页面也会显示用户今日是否签到和签到总数。
16.用户点击签到后,会保存签到信息,并更新data。用showToast弹窗提示签到成功。
17.作者:luozx207地址:http://www.cnblogs.com/luozx207/p/9525042.html
相关文章:18.微信小程序实用组件:日历签到微信小程序(BDEDU签到工具)项目总结微信小程序Demo:蝌蚪签到微信小程序demo:打卡签到
如何制作签到小程序-简易微信小程序签到功能-签到小程序
浏览量:3071
时间:
来源:极乐叔
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。












