前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >扫码考勤小程序正式上线

扫码考勤小程序正式上线

作者头像
月小水长
发布2019-07-31 15:59:02
2.2K0
发布2019-07-31 15:59:02
举报
文章被收录于专栏:月小水长月小水长

点击上方蓝字,长按关注不迷路。

经过几周的本地调试和云端部署,我的第二款应用级小程序终于上线了。写过许许多多的小程序,也见过许多的打卡小程序,但是接下来的这个,一定是很人性化的那个,它的名字叫 扫码考勤记 ,很自豪地推荐给大家,无论是班级活动打卡,还是公司年会打卡,这款打卡小程序都有用武之地。

其界面风格如下:

可点击小程序码快速体验。

操作说明

  1. 新建打卡任务可复制邀请码或二维码邀请好友参加。
  2. 在 任务管理->我的参与 界面,点击可查看打卡详情,长按可删除。
  3. 如未打开 GPS;快速打卡页数据刷新会不及时。
  4. 可打卡的范围是任务地点 1 km 以内;可打卡的时间是打卡截止时间前两个小时以内。

开发流程

小程序原生开发,用到了 ColorUI、QRCode 等第三方组件。

数据库使用 MySQL,一共三个表,其中两个实体表 users 和 tasks,分别表示用户和打卡任务,以及一个弱实体集 usertask,表示用户参与了哪些打卡任务;后台采用了 Flask,虽然说是轻量级 web 框架,但是应付几万的并发,还是没问题的,更何况后面还用了 nginx 负载均衡。

辛辛苦苦编好了界面,写好了接口,准备上线了,但是发现小程序只能通过备案后的域名访问,于是我就申请了域名,备案又等了两周,这里有个坑提醒下,有些后缀的域名是不能备案的,但是不能备案的域名会被逐渐批准,具体可以网上查询,还有就是 .cn 的域名特别难备案,有需要购买阿里云服务器的同学可阅读原文直达购买地址,顺便说一句,我采用的服务器系统镜像是 Ubuntu 16.04,自带的 Python3.5.2 环境。

uwsgi/nginx/supervisor

在等待备案的同时,先用 ip 地址做云端调试,主要采用 uwsgi + nginx + supervisor 技术路线。

第一次接触的同学可能对这三个东西一脸懵逼,且听我一一道来。

  1. nginx:nginx (engine x) 是一个高性能的 HTTP 和反向代理web服务器,其特点是占有内存少,并发能力强。阿里云服务器的 nginx 配置文件路径是 /etc/nginx/sites-available/default,修改完之后重启 nginx 就好。
  2. uwsgi:用来处理 Python 代码的应用服务器,Flask 自带的测试服务器不足以支撑在实际生产应用中的使用。阿里云服务器的 uwsgi 配置文件路径没有要求,可直接放在项目目录下,命名为 config.ini,使用命令 uwsgi --ini config.ini 即可通过公网 ip+flask 项目运行的端口访问服务器。
  3. supervisor 在出现 uwsgi 异常退出的时候,supervisor 可以让这个服务自动重启。即作为守护进程使用。阿里云服务器 supervisor 的配置文件路径是 /etc/supervisor/conf.d/flaskCfg.conf,和上面两个配置一样,可上网搜相应的配置方法。

这三个东西的协调配合,保证了我们的后台稳定运行。

web 服务器/应用服务器/web 应用框架

web 服务器(给静态网页)

应用服务器(主要处理逻辑层)

web应用框架

负责处理 http 请求,响应静态文件,常见的有 Apache,Nginx 以及微软的 IIS。

负责处理逻辑的服务器。比如 php、python 的代码,是不能直接通过 nginx 这种 web 服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有 uwsgi、tomcat 等。

一般使用某种语言,封装了常用的 web 功能的框架就是web应用框架,flask、Django以及 Java 中的SSH(Structs2+Spring3+Hibernate3)框架都是 web应用框架。

当我们在浏览器输入 URL 请求的时候,如果请求的是静态资源,则 web 服务器立即返回给浏览器,如果发送的是逻辑请求,则 web 服务器将请求给应用服务器处理。

代码暂不开源,毕竟辛辛苦苦的劳动成果,但是欢迎私戳我交流。

欢迎大家体验,有什么优化建议请在留言区吐槽。

往期精选

Python 个性化二维码制作

图说高考录取分数线

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 月小水长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • uwsgi/nginx/supervisor
  • web 服务器/应用服务器/web 应用框架
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档