微信小程序(BDEDU签到工具)项目总结
本篇博客用于记录微信小程序(BDEDU签到工具)的开发过程
微信小程序的开发入门
1. 申请微信小程序
申请小程序,无非是去微信公众平台选择申请小程序,然后填写一些相关信息即可。
2. 部署开发环境
点这里下载对应的开发工具。
3. 新建项目
新建项目时需要用到appid,可以去 微信公众平台=>设置=>开发设置 里查看
4. 小程序文件及文件目录解释
小程序项目新建时开发工具会给你自动创建几个页面,这里就直接删去,不讲这几个页面,直接通过我写的BDEDU签到工具来讲解微信小程序。
BDEDU签到工具源码目录结构如下:
文件解释:
app.js:全局逻辑文件,写一些生命周期函数、全局函数和全局属性,顺便贴一下生命周期函数
app.json:全局配置文件,比如配置页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。
app.wxss:全局样式文件,这里写的样式能够被单个页面wxss里的样式覆盖,可以做出一些统一的效果。
js文件:编写页面逻辑
wxml文件:页面视图
wxss文件:页面样式
json文件:页面配置
目录结构:
image文件夹下存图片素材
pages文件夹下存各个页面
pages/**文件夹下存的是某个页面的视图、逻辑、样式和配置文件
util文件夹可以用来写一些工具函数
具体详细可以查看API
5. 小程序request请求
小程序提供了完善的request请求API,可以直接向你的服务器请求数据,但是只能向一个服务器请求数据,而且该服务器必须有自己的域名,请求协议必须是https,请求的域名可以在你的开发设置里修改。
request请求详细请看API,点这里
6. 小程序数据储存
小程序提供数据储存,可以存一些本地数据。详细查看请点这里
通过上面的了解后,我们已经能够使用微信小程序干一些事了:
- 发送请求到服务器
- 接收服务器的响应数据
- 将接收到的数据在用户界面中显示
- 存储接收到的数据
如果你还有一些特殊的开发需求只需要看API文档即可。
服务端接口开发
1. 接口需求
写接口前我们需要对每个用户生成一个唯一标识,用于接口的权限验证,幸运的是微信小程序给我们提供了openid(唯一标识),虽然API上说不提倡我们直接使用openid作为用户标识,但是为了简化项目就暂时先作为签到API的唯一标识。
绑定签到账号:用户名、密码、code
修改绑定:openid、用户名、密码
获取用户信息:openid
获取所有课程信息:openid
获取目前需要签到的课程:openid
签到:openid、课程ID、课程名、座位
获取签到记录:openid、课程ID、课程名
2. 接口实现
客户端(微信小程序)和服务器接口之间的数据传递全部使用json数据。
绑定签到账号:接收用户名密码,调用BDEDU登录接口,判断密码是否正确。
密码正确:使用code调用微信API换取openid,将用户名、密码、openid存入数据库。返回成功信息给小程序
密码错误:将错误信息返回给小程序修改绑定:同上
获取用户信息:通过openid查找用户,将用户信息返回给小程序,若不存在则返回错误信息。
获取所有课程信息:通过openid获取用户账号和密码,然后请求BDEDU系统获接口取所有课程信息,返回给小程序。
获取目前需要签到的课程:通过openid获取用户账号和密码,然后请求BDEDU系统接口获取所有课程信息,再使用正则表达式匹配每门课程的上课时间,将当前时间和上课时间进行对比,如果当前时间在上课时间内或在上课前20分钟内,就将该课程作为当前需要签到的课程,返回给小程序。如果没有一门课满足要求就返回提示信息:无可签到课程。
签到:通过openid获取用户账号和密码,将签到数据(课程ID、课程名、用户名、座位)发送给BDEDU签到系统进行签到,返回签到结果给小程序。
获取签到记录:通过openid获取用户账号和密码,将课程ID、课程名、用户名发送给BDEDU签到系统,获取签到记录(html源码),通过正则表达式匹配出真正需要的信息(签到时间、签到位置、备注),存在一个对象list里,返回给小程序。
客户端(微信小程序)的开发
本项目一共四个页面:
我的信息页面
绑定账号页面
签到记录页面
签到页面
这里就主要展示一下签到功能的流程图,其他流程类似
程序的流程图如下:
太久过去了,源码虽然找得到,但是sql文件丢了,后台没多少表你们自己恢复一下吧,网盘地址:https://pan.baidu.com/s/16wlziHoXFgBleICs65x7rA
微信小程序(BDEDU签到工具)项目总结相关推荐
- php后台 微信小程序 考勤签到助手
下载地址:https://download.csdn.net/download/a13689028602/20665932 项目介绍 php后台 微信小程序 考勤签到助手 系统说明 Client 文件 ...
- 微信开发者工具 wxmi修改模版颜色_网站建设公司讲解:微信小程序的开发者工具界面...
网站建设公司深圳市博纳网络信息技术有限公司()讲解:微信小程序的开发者工具界面 创建项目后,进入到微信开发者工具界面,界面大致可以分为6个区域:①菜单栏区域,②模拟器.编辑器.调试器显示与隐藏区域,③ ...
- python玩微信小程序游戏_使用python实现微信小程序自动签到功能
功能描述目标 完成多账号微信小程序每天自动签到 输出 签到成功则向微信群发送签到成功的信息 否则提示用户签到失败,需手动签到 包管理 requests itchat time threading 程序 ...
- 使用python实现微信小程序自动签到2.0
微信小程序自动签到 功能描述 目标 输出 包管理 程序的结构设计 步骤1 步骤2 步骤3 步骤4 代码实现 使用findler抓包工具查看请求类型 再次使用findler抓包,查看请求内容 使用多线程 ...
- 微信小程序之网易云项目实战(一)
微信小程序之网易云项目实战(一) 1.全局app.json 配置 {"pages": ["pages/index/index","pages/logs ...
- 微信小程序 考勤签到助手 源码demo
#微信小程序 考勤签到助手 此小程序已经上线,大家可以去微信小程序搜索 "桂电考勤小助手" 体验一下实际效果! 此小程序完全自己独立开发,对于真正的大牛来说不算什么,所以还是决定开 ...
- 微信小程序日历签到组件(原创)
微信小程序日历签到组件(原创) 开发原因: 为满足定制需要,市面上又找不到车子和轮子,干脆自己撸了并开源分享有需要的人用 其他说明: 该组件js日期均已使用yyyy/MM/dd格式连接解决ios不兼容 ...
- 小程序助手多功能微信小程序反编译工具
介绍: 小程序助手多功能微信小程序反编译工具,软件采用 VS 2017 编译,需安装.net 4.0 或以上版本方可运行,理论上 win7 .win10及以上系统 x86 x64 运行正常,条件有限未 ...
- 微信小程序开发什么工具好?
现在微信小程序已经是非常普遍,而开发小程序也变得更简单,只需要使用微信小程序开发工具就可以帮助你快速完成小程序.如果能熟练掌握其基本操作,可以大大提高开发效率,节省时间.精力和成本,让客户更早使用你的 ...
- 微信小程序:去水印工具微信小程序源码
这是一个去水印小程序 支持各大平台短视频去水印 支持图集去水印 另外还有一个功能也就相当于抖音一样刷短视频 偷偷告诉你们哟,刷的短视频都是热门小姐姐哟!惊不惊喜意不意外 小程序源码下载地址: 微信小程 ...
最新文章
- pythonsklearn乳腺癌数据集_使用sklearn的样本数据集
- swiper炫酷_swiper3d横向滚动多张炫酷切换banner
- hive的错误编码+解决方案汇总(持续更新中)
- LeetCode 2187. 完成旅途的最少时间(二分查找)
- matlab 参数识别,[转载]自编最小二乘法的Matlab参数辨识程序(含实例)
- python内建函数有哪些_Python内建函数大全(一)
- 击溃音乐服务器第一人!周杰伦新歌首发,QQ音乐服务器一度崩溃
- OJ系统原理与实现:Python自动化测试另一个Python程序功能是否正确
- qpushbutton设置两个图标_宝马显示屏上的各种图标是啥意思,这里分享几个问的最多的!...
- 【网络安全工程师面试合集】—不要随便浏览一些奇怪的小网站哦
- HttpClient发送get,post接口请求
- iview 自定义时间选择器组件_视图更新科技发布View UI组件库(即 iView 4.0),超过50项更新...
- openstackdvr模式
- 过去式加ed的发音_动词过去式加ed后发音
- CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子得出的点数进行游戏。
- 正睿高性能计算服务器,强CPU 20倍!正睿Tesla GPU计算系统评测
- altf4不管用.是因为未使用内置管理员账户.
- SAP产品合规管理(Product Compliance)之危险品管理(Dangerous Goods Management)功能讲解
- 小米手机销量是乐视的几十倍,为什么雷军还要去跟贾跃亭打口水战?
- 已嵌入微信公众号内的小图聊天机器人介绍和使用说明
热门文章
- 嵌入式 linux 屏 翻转,linux嵌入式qt的屏幕旋转与字体大小问题
- linux库的知识(概)
- 从根上理解用户态与内核态
- [VB.NET源码]图书管理系统
- windows版本服务器,修改nginx.conf,重启nginx配置文件不起作用解决办法。
- MetaSpace浅析
- 距离2008北京奥运会开幕倒计时网页特效[js]
- 关于同一线程两次调用EnterCriticalSection的测试
- CTCC第6站北京站:超级组王睿被罚江腾一冠军
- 因果推断笔记——因果图建模之微软开源的dowhy(一)