python 微信小程序签到系统_简易微信小程序签到功能
一、效果图
点击签到后
二、数据库
用一张数据表存用户签到的信息,每次用户签到都会往表中添加一条记录了用户id和签到日期的数据,如下图
三、后端
后端写两个接口,一个用于查询用户今日是否签到和签到记录总数,一个用于添加用户签到信息到数据库。这里用的是python的flask框架。
(1)查询用户签到信息接口:
@app.route('/get_sign/')defget_sign(user_id):try:
data=get_sign_info(user_id)exceptException as e:return jsonify({'status':0,'Exception':str(e)})return jsonify({'status':1,'data':data})defget_sign_info(user_id):
conn= sqlite3.connect('test.sqlite')
cursor=conn.cursor()
cursor.execute('select date from sign where user_id=?',(user_id,))
all_date=set([x[0] for x incursor.fetchall()])
now_date=date.today().strftime('%Y-%m-%d')//将日期字符串化if now_date inall_date:
signed=Trueelse:
signed=False
total=len(all_date)
conn.close()return {'total':total,'signed':signed}
查询到所有签到日期后用set去除重复项,然后判断一下当天的日期是否在其中,如果不在其中,signed=False表示今日未签到。签到总数就是all_date的长度
使用了datetime库来获取日期信息。from datetime import date
(2)添加用户签到信息接口:
@app.route('/sign/')defsign(user_id):try:
update_sign(user_id)exceptException as e:return jsonify({'status':0,'Exception':str(e)})return jsonify({'status':1})defupdate_sign(user_id):
now_date=date.today().strftime('%Y-%m-%d')
conn= sqlite3.connect('test.sqlite')
cursor=conn.cursor()
cursor.execute('insert into sign (user_id,date) values(?,?)',\
(user_id,now_date))
conn.commit()
conn.close()
四、小程序前端
wxml文件
点击此处签到
今日已签到
已签到{{total_sign}}天
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;
}
js文件
get_sign: function(){var that = this;var userId = 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("status error: " +res.data.Exception)
}
},
})
},
sign:function(){var that = this;var userId = 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("status error: " +res.data.Exception)
}
},
})
},
用户登录后,会立即触发get_sign函数,从数据库获取用户签到信息存到page的data中,页面也会显示用户今日是否签到和签到总数。
用户点击签到后,会保存签到信息,并更新data。用showToast弹窗提示签到成功。
python 微信小程序签到系统_简易微信小程序签到功能相关推荐
- 视频教程-雪狐CentOS7云服务器部署微信小程序商城系统(宝塔面板)-微信开发
雪狐CentOS7云服务器部署微信小程序商城系统(宝塔面板) 1.多年开发和授课经验. 2.精通PHP.前端.Android.iOS等开发技术. 3.希望能将自己所学教给学生. 刘安良 ¥12.00 ...
- 微信小程序实验案例:简易成语小词典
微信小程序实验案例:简易成语小词典 01.准备工作 1●申请数据接口 现在网络上第三方的免费数据资源越来越少了,这里推荐使用聚合数据的免费接口来实现本次实验案例. 首先访问聚合数据官网https:// ...
- 企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格
企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格 点趣互动是企业微信系统的第三方应用提供厂商,用于管理员工企业微信的内一款系统软件.点趣互动企业微信scrm软件主 ...
- php答题测试,ThinkPHP框架开发的微信考试问卷答题系统_学生在线考试答题系统
源码介绍 ThinkPHP框架开发的微信考试问卷答题系统,通过微信公众平台进行问卷答题,适合用来做问卷调查,也可以用来做学生考试答题系统,还有完善的问卷后台管理系统,可自定义上传问卷,支持成绩表查询. ...
- python 微信小程序签到系统_微信小程序签到功能
本文实例为大家分享了简易微信小程序签到功能的具体代码,供大家参考,具体内容如下 一.效果图 点击签到后 二.数据库 用一张数据表存用户签到的信息,每次用户签到都会往表中添加一条记录了用户id和签到日期 ...
- Php扫码签到功能怎么实现,扫码签到常用方法_云分组小程序
扫码签到常用方法,云分组小程序,以800人团队为例,学员扫码分组仅需10秒钟. 扫码签到常用方法, 可以检测人员进出方向,对于实时统计会场实际人数的会议非常重要.多媒体电子签到系统是将数字毛笔签名.影 ...
- 微信小程序约课_基于微信小程序的瑜伽馆约课系统设计
李涛 何绍平 龙建宇 江明 韦美雁 摘要:系统前端采用微信小程序开发工具实现,后台采用thinkPHP5进行搭建,并运用Javascript技术进行研发,系统主要实现了约课管理.课表管理.用户管理.商 ...
- 实体店做微信预约小程序的好处_分享微信预约小程序开发步骤
1.进店模式:通过小程序,用户可以直接在小程序上选择合适的时间.服务项目和服务价格,进行预约.也方便店主合理安排时间和服务,给双方带来舒适的体验. 2.预订上门服务模式:通过小程序预订上门服务系统,如 ...
- 求职招聘小程序,微信小程序招聘系统,校园招聘微信小程序系统毕业设计作品
项目背景和意义 目的:随着中国经济改革的不断发展,大学生的就业形势越来越严峻,就业方向也越来越广泛,就业手段也越来越繁杂.但是随着网络在社会中的普及尤其是社会中的先进群体--大学生,根据网络的普遍性和 ...
- 微信公众账号后台怎么解除小程序_微信小程序怎么注销账号_微信小程序注销方法_快吧小程序...
微信小程序一直存在一个问题:开发者不能注销自己的小程序.之前当开发者需要彻底清除小程序信息时,只能够通过暂停服务或关闭"允许被搜索"的方式曲线救国.现在,这个问题终于解决了. 在微 ...
最新文章
- logistic回归 如何_第七章:利用Python实现Logistic回归分类模型
- 自定义Push和Pop过渡动画
- Java面试宝典——————Java基础部分(三)
- struct sockaddr与struct sockaddr in struct sockaddr un的区别和联系
- android开发字体样式,Android开发中修改程序字体的样式
- 由创建一个不能被继承的类引发的对象模型的思考
- 全球与中国固态电池市场深度研究及投资可行性评估报告2022-2028年
- Android 开发工具类 27_多线程下载大文件
- Spring注解驱动开发
- 惊!Kubernetes 将弃用 Docker,开发者们怎么办?
- 去除面部黑色素小妙招_去除暗黄皮肤的小妙招 7招让你白皙动人
- mysql全文搜索实现模糊查询_mysql使用全文索引实现大字段的模糊查询
- Gradient-Based Learning Applied to Document Recognition
- Q96:PT(1):方格纹理(Checker)(2)——2D Checker
- 计算机应用基础 许晞课程标准,〔计算机应用基础〕课程标准.doc
- 解决微信小程序Video 某些属性设置不起作用问题
- unity 解决乱码_解决unity3d读写中文乱码
- SpringBoot基础-refresh方法解析
- 椭圆形建筑——逸夫演艺中心
- 打印程序在计算机上的应用程序,什么是“后台打印程序子系统应用程序”(spoolsv.exe),以及为什么它在我的电脑上运行?...