本篇博客用于记录微信小程序(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签到工具)项目总结相关推荐

  1. php后台 微信小程序 考勤签到助手

    下载地址:https://download.csdn.net/download/a13689028602/20665932 项目介绍 php后台 微信小程序 考勤签到助手 系统说明 Client 文件 ...

  2. 微信开发者工具 wxmi修改模版颜色_网站建设公司讲解:微信小程序的开发者工具界面...

    网站建设公司深圳市博纳网络信息技术有限公司()讲解:微信小程序的开发者工具界面 创建项目后,进入到微信开发者工具界面,界面大致可以分为6个区域:①菜单栏区域,②模拟器.编辑器.调试器显示与隐藏区域,③ ...

  3. python玩微信小程序游戏_使用python实现微信小程序自动签到功能

    功能描述目标 完成多账号微信小程序每天自动签到 输出 签到成功则向微信群发送签到成功的信息 否则提示用户签到失败,需手动签到 包管理 requests itchat time threading 程序 ...

  4. 使用python实现微信小程序自动签到2.0

    微信小程序自动签到 功能描述 目标 输出 包管理 程序的结构设计 步骤1 步骤2 步骤3 步骤4 代码实现 使用findler抓包工具查看请求类型 再次使用findler抓包,查看请求内容 使用多线程 ...

  5. 微信小程序之网易云项目实战(一)

    微信小程序之网易云项目实战(一) 1.全局app.json 配置 {"pages": ["pages/index/index","pages/logs ...

  6. 微信小程序 考勤签到助手 源码demo

    #微信小程序 考勤签到助手 此小程序已经上线,大家可以去微信小程序搜索 "桂电考勤小助手" 体验一下实际效果! 此小程序完全自己独立开发,对于真正的大牛来说不算什么,所以还是决定开 ...

  7. 微信小程序日历签到组件(原创)

    微信小程序日历签到组件(原创) 开发原因: 为满足定制需要,市面上又找不到车子和轮子,干脆自己撸了并开源分享有需要的人用 其他说明: 该组件js日期均已使用yyyy/MM/dd格式连接解决ios不兼容 ...

  8. 小程序助手多功能微信小程序反编译工具

    介绍: 小程序助手多功能微信小程序反编译工具,软件采用 VS 2017 编译,需安装.net 4.0 或以上版本方可运行,理论上 win7 .win10及以上系统 x86 x64 运行正常,条件有限未 ...

  9. 微信小程序开发什么工具好?

    现在微信小程序已经是非常普遍,而开发小程序也变得更简单,只需要使用微信小程序开发工具就可以帮助你快速完成小程序.如果能熟练掌握其基本操作,可以大大提高开发效率,节省时间.精力和成本,让客户更早使用你的 ...

  10. 微信小程序:去水印工具微信小程序源码

    这是一个去水印小程序 支持各大平台短视频去水印 支持图集去水印 另外还有一个功能也就相当于抖音一样刷短视频 偷偷告诉你们哟,刷的短视频都是热门小姐姐哟!惊不惊喜意不意外 小程序源码下载地址: 微信小程 ...

最新文章

  1. pythonsklearn乳腺癌数据集_使用sklearn的样本数据集
  2. swiper炫酷_swiper3d横向滚动多张炫酷切换banner
  3. hive的错误编码+解决方案汇总(持续更新中)
  4. LeetCode 2187. 完成旅途的最少时间(二分查找)
  5. matlab 参数识别,[转载]自编最小二乘法的Matlab参数辨识程序(含实例)
  6. python内建函数有哪些_Python内建函数大全(一)
  7. 击溃音乐服务器第一人!周杰伦新歌首发,QQ音乐服务器一度崩溃
  8. OJ系统原理与实现:Python自动化测试另一个Python程序功能是否正确
  9. qpushbutton设置两个图标_宝马显示屏上的各种图标是啥意思,这里分享几个问的最多的!...
  10. 【网络安全工程师面试合集】—不要随便浏览一些奇怪的小网站哦
  11. HttpClient发送get,post接口请求
  12. iview 自定义时间选择器组件_视图更新科技发布View UI组件库(即 iView 4.0),超过50项更新...
  13. openstackdvr模式
  14. 过去式加ed的发音_动词过去式加ed后发音
  15. CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子得出的点数进行游戏。
  16. 正睿高性能计算服务器,强CPU 20倍!正睿Tesla GPU计算系统评测
  17. altf4不管用.是因为未使用内置管理员账户.
  18. SAP产品合规管理(Product Compliance)之危险品管理(Dangerous Goods Management)功能讲解
  19. 小米手机销量是乐视的几十倍,为什么雷军还要去跟贾跃亭打口水战?
  20. 已嵌入微信公众号内的小图聊天机器人介绍和使用说明

热门文章

  1. 嵌入式 linux 屏 翻转,linux嵌入式qt的屏幕旋转与字体大小问题
  2. linux库的知识(概)
  3. 从根上理解用户态与内核态
  4. [VB.NET源码]图书管理系统
  5. windows版本服务器,修改nginx.conf,重启nginx配置文件不起作用解决办法。
  6. MetaSpace浅析
  7. 距离2008北京奥运会开幕倒计时网页特效[js]
  8. 关于同一线程两次调用EnterCriticalSection的测试
  9. CTCC第6站北京站:超级组王睿被罚江腾一冠军
  10. 因果推断笔记——因果图建模之微软开源的dowhy(一)