基于微信小程序的签到系统
基于微信小程序的考勤签到系统的设计与实现
服务器端,服务器以 openid 为筛选条件进入页面,该页面有 两个按钮:“查看考勤”和“课程管理”。点击“课程管理” 按钮,加载课程显示表页面,点击对应班级和课程的“删除 课程”按钮,即可删除该班课程。如果想增加课程,教师点 击“新增课程”按钮,进入新增课程界面,填写表单信息, 将用户的 openid 信息与表单数据一起存入数据库中 [9]。
Keywords: WeChat applet; attendance check-in system; design of system
0 引言
随着互联网的发展以及智能手机的普及,微信小程序受 到大众的青睐,已广泛应用在很多领域。用户通过扫描二维 码即可打开应用,不会消耗流量,也不需要安装 [1-2]。在传统 的课堂上,教师一般采用点名的方式进考勤,不但费时费力, 而且容易出错。因此有必要设计一款与时俱进的考勤签到系 统,来满足当今时代对信息化手段的要求,一来方便教师考 勤,二来通过学生定位签到,能够避免同学之间出现代签的 情况,而且还可以在线统计学生的出勤情况 [3]。本文设计的 基于微信小程序的考勤签到系统包括微信小程序客户端、管 理员后台和数据库 3 个部分。
软件开发与应用
师信息表(teacher 表)、学生信息表(student 表)、班级信 息表(class 表)、课程信息表(course 表)、上课时间表(time 表)和签到信息表(register 表),数据关系如图 6 所示。
①教师信息表(teacher 表):将数据库自动生成的 _id 作为主键,包含教师的 openid 和教师姓名 teacher_name。②班 级信息表(class 表):将数据库自动生成的 _id 作为主键, 包含班级名称 class_name。③学生信息表(student 表):将 数据库自动生成的 _id 作为主键,包含学生的 openid、学生 姓名 student_name 和班级编号 class_id(与 class 表中的 _id 建立外键关联)。④课程信息表(course 表):将数据库自 动生成的 _id 作为主键,包含课程名称 course_name、授课
基于微信小程序可移动培训考勤系统的设计及应用
• 126•在各类培训活动中,采用二维码考勤是常见的方法,但存在的问题是:①有的采用固定二维码的方法,不能防止拍照发送考勤(考勤作弊);②有的采取获取地理位置的方法防止作弊,但如果学员住宿和培训场地在同一栋楼里,这种方法就失效了。
本文采取动态二维码的方法,系统在扫码时通过计算时间差的方法来防止考勤作弊。
同时,系统支持移动应用,可以在户外考勤,也可以将一个班级分为多组,多地分别考勤。
在各类培训活动中,往往都要求考勤,如中小学教师、校长培训考勤,公务员业务培训考勤等。
有的活动不是在教室里开展,例如到学校的考察活动、户外拓展活动等,同样需要考勤。
很多培训班往往都是一次性的、短期性的(3-5天较多),每次培训班的学员都不同。
比较常见的考勤方式有:①传统纸笔方式,要求学员签字考勤,这种方式效率低,不适合用于户外,难于防止代签(作弊);②专用考勤设备:如指纹考勤机、人脸考勤机等,这种方式具有准确、快捷、拒绝作弊等优点,非常适用于固定场地、固定人员的考勤,但不适合于户外考勤,也不太适合于一次性的、短期性的培训班考勤;③微信二维码考勤,学员通过扫描二维码考勤,结合地理位置记录考勤,这种方式相比方式①快捷便利,相比方式②不需要专用设备,而且用在户外也方便,但是,如果学员住宿房间和培训教室都在一栋大楼(或酒店),位置获取就没有意义了,因为无法根据获取位置的结果来判断用户是否进入了培训教室。
本文所讨论的方法基于第③钟方式,但是采取了改进的措施:一是采取动态二维码,二维码包含了时间戳,间隔固定时间变化,扫描时检测时间差,能够较好防止作弊;二是使用微信小程序设计,支持跨平台使用,支持户外移动应用。
1 微信小程序微信小程序的是基于微信框架运行的,只要有微信客户端,或者微信小程序框架(Wechat Mini-Program Framework ,简称WMPF ,是一个运行环境,能让硬件在脱离微信客户端的环境下运行微信小程序),就可以运行小程序,所以小程序可以在电脑端运行(包括windows 系统、苹果系统),也可以在手机端运行(包括安卓系统和苹果系统),移动应用很方便。
基于微信小程序的课堂考勤管理系统的设计与实现
基于微信小程序的课堂考勤管理系统的设计与实现作者:戴丽丽朱妤来源:《电脑知识与技术》2018年第19期摘要:针对传统的课堂点名方式不仅浪费宝贵的时间,而且加重了教师的工作量,因此,借助微信平台为入口,基于微信小程序建立一个课堂考勤系统。
文章采用Java语言编写,用SpringBoot框架实现,选择MySql作为后台数据库,前端用微信开发工具开发,后台使用IntelliJ idea,在降低系统成本的同时并未降低系统的稳定性和可靠性。
基于微信小程序开发的课堂考勤系统可以大大节省了课堂和教师的时间成本,并且该系统开发周期短,软件升级、维护方便。
实测结果表明,本系统运行稳定可靠,达到了快速组建班级、签到、请假等要求。
关键词:微信小程序;课堂考勤;Java语言;MySql数据库中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)19-0055-031 背景课堂考勤是学校教学管理的重要组成部分,是智能校园系统的核心模块之一。
学生课堂考勤与企业单位的考勤的不同之处在于:1)出勤频率不同。
2)学校的学生数量大,班级多。
3)课堂时间有不同的可能性。
例如,临时调课会使学生考勤变得更加复杂。
因此,学生课堂考勤系统设计时应注意:1)考勤系统应该能以不同课时的上课时间为依据准确的划分考勤时间;2)实现自动考勤,从而提高效率;3)考勤系统必须稳定,识别精度高;4)学生群体是考勤对象,系统不应只向学校员工展示考勤信息[1]。
同时,考勤的结果应该反馈给学生,提高他们的自律意识。
而该系统就是针对考勤系统的特点设计了一款基于微信小程序的课堂考勤管理系统,只要用户安装了微信客户端,即可方便地获取应用程序,同时小程序又有与APP 相当的友好的用户体验。
2 微信小程序微信小程序于2017年1月9日,由腾讯公司正式发布。
它是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的用户使用体验[2]。
基于微信小程序的大学选修课考勤签到系统设计与开发
电子基础0 引言选修课课堂考勤的结果不仅会影响到学生的平时成绩,也会直接影响到学生的自主学习意识。
对于传统的课堂考勤方式或者课堂考勤程序来说,在应用过程中体现出一定程度的复杂性,甚至对学生的手机有着较高的要求,而基于微信小程序的大学选修课课堂考勤签到程序,不仅能够有效避免对学生手机内存的占据情况,提高考勤的便利性,同时也可以综合请假、课堂互动等内容,在给学生用户和教师用户带动良好体验感的基础上,提高选修课课堂内容的丰富性。
1 基于微信小程序的选修课课堂考勤签到系统设计■1.1 系统功能设计本系统在功能设计上,主要运用JAVA这一语言进行编写,以Spring Boot框架为实现,在后台数据库上选用My Sql,以微信开发工具为前端,在后台上主要使用Intellij idea。
大学选修课课堂考勤系统主要面向两大用户群体,即学生用户和教师用户。
其中教师用户是课堂考勤系统的发起实施者,处于课堂考勤的管理端,其不仅要负责将课程导入到考勤程序中,还要确认请假信息、发布课程需要的PPT等资料信息以及课程安排,教师注册与管理界面学生用户主要是实施考勤签到的主体人员,在系统注册完成以后,进行个人签到的实施、签到信息的查询、请假程序的实施以及课堂互动、课堂作业的实施。
在本系统中,学生用户的核心功能就是考勤签到功能、考勤查看和作业提交功能,学生考勤与签到界面。
■1.2 数据模型设计数据库设计是整个系统最基础也是最重要的一部分, 本系统主要有八个实体, 分别为:课程实体、班级实体、学生体、教师实体、科目实体、作息时间、教室实体、考勤实体。
其中每一个实体的背后均有一个细分的My Sql数据库表,所有细分的数据库表构成总体的数据库。
2 基于微信小程序的选修课堂考勤签到系统功能实现■2.1 注册模块实现为了确保选修课课堂考勤签到小程序功能的实现和有序的运行,本系统在设计过程中以微信用户为唯一的标识,通过获取微信用户权限后,与后台数据库进行匹配,系统与学生的openid进行自动绑定,确保页面的自动登录。
基于微信小程序的签到平台的设计与实现
基于微信小程序的签到平台的设计与实现作者:***来源:《电脑知识与技术》2020年第12期摘要:课堂考勤是大学教学中的必然事件,考勤手段多种多样,比如在纸质签到表签到、老师点名。
如何提高学生的出勤率,减少学生逃课等情况是课堂考勤的当务之急。
随着信息化技术的运用,基于微信小程序的签到系统应运而生,将微信小程序有效地结合到课堂点名的系统中,能够帮助师生更快速、高效地完成课堂点名,让校方、学生、老师能更加清楚地了解到课堂中的出勤状况。
该程序采用云开发技术、微信小程序技术和云数据库开发,是一款简单的课堂点名签到平台。
关键词:签到;课堂考勤;微信中图分类号:TP311 文献标识码:A文章编号:1009-3044(2020)12-0064-021前言大学课堂点名是大学常见的考勤手段,从学生方面而言,课堂点名能督促学生更积极地参与课堂学习,能够帮助一些自律意识不够强的学生尽量去上课、去听课,从而达到帮助其吸收知识的效果;从学校方面而言,课堂点名有助于学校进行秩序管理,建设严谨端正的学风,对学生有一定的控制力和约束力。
但是这种传统的点名方式也有很多弊端,课堂学生人数过多,往往一次点名就需要很长时间才能结束,这样不仅耽误了课堂教学的进程,也浪费了学生的时间。
2Https接口2.1注册用户1)接口名:registered。
2)方式:POST。
3)应答数据类型:HttpBean。
4)请求参数:UserEntity。
5)将用户名作为唯一标识,防止用户重复注册。
2.2登录1)接口名:sign。
2)方式:POST。
3)应答数据类型:HttpBean。
4)请求参数:UserEntity。
5)匹配用户名和密码,匹配成功,应答用户信息。
2.3获取未绑定老师的学生1)接口名:getNoStudents。
2)方式:POST。
3)应答数据类型:HttpBean>。
4)请求参数:teacherid、appld。
5)根据老师id,查询出未绑定该老师的学生列表。
微信小程序实现打卡签到页面
微信⼩程序实现打卡签到页⾯本⽂实例为⼤家分享了微信⼩程序实现打卡签到页⾯的具体代码,供⼤家参考,具体内容如下效果图如下所⽰.wxml<view class='gs_banner'><view class='gs_continue'><view>每⽇坚持签到</view><view>总共签到:<text>{{continuity}}</text>天</view></view></view><view class='gs_sign'><view class='gs_sign_box'><view class='gs_pillar'><view class='gs_post'><view></view></view><view class='gs_post'><view></view></view><view class='gs_post'><view></view></view><view class='gs_post'><view></view></view><view class='gs_post'><view></view></view></view><view class='gs_sign_day'><image bindtap='onshow' src='/pages/images/sign_icon.png'></image><view>持续签到 <text>{{continuity}}</text>天</view></view><view class='gs_sign_content'><view class='gs_week'><block wx:for="{{week}}" wx:key="index"><view class='gs_wook'><view style='width: {{ sysW }}px; height: {{ sysW }}px; line-height: {{ sysW }}px;'>{{item.wook}}</view></view></block></view><view class='gs_week'><block wx:for="{{day}}" wx:key="index"><view class="gs_wook {{ item.wook == getDate ? 'dateOn' : ''}}" style='width: {{ sysW }}px; height: {{ sysW }}px; line-height: {{ sysW }}px;' bindtap="{{item.src?'wenlin':''}}" data-index="{{index}}"> <view id="{{item.src?'fuconl':''}}" style="{{item.src && !item.check?'visibility: hidden;':''}}">{{item.wook}}</view><view class='gs_clocksucceed' wx:if="{{item.src && !item.check}}"><image src='{{item.src}}'></image></view></view></block></view><view class='gs_circle'><view class='gs_incircle' style="{{ornot?'background-color:#e7ebed;cursor:auto;':''}}"><view class='gs_excircle' bindtap="{{ornot?'':'dakainc'}}"><view class='gs_innercircle' style="{{ornot?'background-color:#ddd;':''}}">{{ornot?'已打卡':'打卡'}}</view></view></view></view></view></view></view><!-- 弹出部分 --><view class='gs_calendar' style='display:{{display}}'><view class='gs_bg' bindtap='onhide'></view><view class='gs_gs_calendar_box'><view class="canlendarBgView"><view class="canlendarView"><view class="canlendarTopView"><view class="leftBgView" bindtap="handleCalendar" data-handle="prev"><view class="leftView"><text class="cuIcon-back"></text></view></view><view class="centerView">{{cur_year || "--"}} 年 {{cur_month || "--"}} ⽉</view><view class="rightBgView" bindtap="handleCalendar" data-handle="next"><view class="leftView"><text class="cuIcon-right"></text></view></view></view><view style='width: {{ sysW }}px; height: {{ sysW }}px; line-height: {{ sysW }}px;' class="weekView" wx:for="{{weeks_ch}}" wx:key="index" data-idx="{{index}}">{{item}}</view></view><view class="dateBgView"><view wx:if="{{hasEmptyGrid}}" class="dateEmptyView" wx:for="{{empytGrids}}" wx:key="index" data-idx="{{index}}"></view><view style='{{ index == 0 ? "margin-left:" + sysW * marLet + "px;" : "" }}width: {{ sysW }}px; height: {{ sysW }}px; line-height: {{ sysW }}px;' class="dateView {{item.wook == getDate && judge == 1?'dateOn':''}}" wx:for="{{days}}" wx:key="index" bindtap="{{item. <!-- data-idx="{{index}}" bindtap="dateSelectAction" --><view style="{{item.src && !item.check?'visibility: hidden;':''}}" id="{{item.src?'fuconl':''}}" class="datesView">{{item.wook}}</view><view class='clocksucceed' wx:if="{{item.src && !item.check}}"><image src='{{item.src}}'></image></view></view></view></view></view><view class='del'><text bindtap="onhide" class="cuIcon-close"></text></view></view></view><!-- 签到弹窗 --><view class="load" style="{{sign?'':'top:calc((100vh - 750rpx)/2);opacity: 0;z-index:-1;'}}"><image class="load-imagae" src="/pages/images/register.png"></image><view class="load-centent"><view>签到成功</view><view>持续签到<span>{{continuity}}</span>天</view><view bindtap="popup">好的</view></view></view>.js//logs.jsconst util = require('../../../utils/util.js')Page({data: {sysW: null,lastDay: null,year: null,hasEmptyGrid: false,cur_year: '',cur_month: '',firstDay: null,getDate:null,month:null,display:"none",week:[{wook: "⼀"}, {wook: "⼆"}, {wook: "三"}, {wook: "四"}, {wook: "五"}, {wook: "六"}, {wook: "⽇"},],day:[],days:[],ornot:false,//今天是否签到continuity:18,//签到天数sign:false,//签到弹窗},getProWeekList:function(){let that=thislet date=new Date()let dateTime = date.getTime(); // 获取现在的时间let dateDay = date.getDay();// 获取现在的let oneDayTime = 24 * 60 * 60 * 1000; //⼀天的时间let proWeekList;let weekday;for (let i = 0; i < 7; i++) {let time = dateTime - (dateDay - 1 - i) * oneDayTime;proWeekList = new Date(time).getDate(); //date格式转换为yyyy-mm-dd格式的字符串weekday = "day[" + i+"].wook"that.setData({[weekday]: proWeekList,})//that.data.day[i].wook = new Date(time).getDate();}},dateSelectAction: function (e) {let cur_day = e.currentTarget.dataset.idx;this.setData({todayIndex: cur_day})console.log(`点击的⽇期:${this.data.cur_year}年${this.data.cur_month}⽉${cur_day + 1}⽇`);},setNowDate: function () {const date = new Date();const cur_year = date.getFullYear();const cur_month = date.getMonth() + 1;const todayIndex = date.getDate();const weeks_ch = ['⽇', '⼀', '⼆', '三', '四', '五', '六'];this.calculateEmptyGrids(cur_year, cur_month);this.setData({cur_year: cur_year,cur_month: cur_month,weeks_ch,todayIndex,})},getThisMonthDays(year, month) {return new Date(year, month, 0).getDate();},getFirstDayOfWeek(year, month) {return new Date(Date.UTC(year, month - 1, 1)).getDay();},calculateEmptyGrids(year, month) {const firstDayOfWeek = this.getFirstDayOfWeek(year, month);let empytGrids = [];if (firstDayOfWeek > 0) {for (let i = 0; i < firstDayOfWeek; i++) {}this.setData({hasEmptyGrid: true,empytGrids});} else {this.setData({hasEmptyGrid: false,empytGrids: []});}},calculateDays(year, month) {let getDate = this.data.getDate//多少号let cur_year = this.data.cur_year//年let cur_month = this.data.cur_month//⽉let thisMonthDays = this.getThisMonthDays(year, month);for (let i = 1; i <= thisMonthDays; i++) {if(this.data.opentime[1] < month && month == this.data.shuttime[1]){//⼩于开始⽉份this.data.days.push({wook:i,src:i <= getDate?'/pages/images/newspaper.png':''});}else if(this.data.opentime[1] == month && month == this.data.shuttime[1]){if((this.data.opentime[2] <= i) && (i <= this.data.shuttime[2])){this.data.days.push({wook:i,src:'/pages/images/newspaper.png'});}else{this.data.days.push({wook:i,src:''});}}else if(this.data.opentime[1] == month && month < this.data.shuttime[1]){this.data.days.push({wook:i,src:this.data.opentime[2] <= i?'/pages/images/newspaper.png':''}); }else if(this.data.opentime[1] < month && month < this.data.shuttime[1]){this.data.days.push({wook:i,src:'/pages/images/newspaper.png'});}else{this.data.days.push({wook:i,src:''});}}this.setData({days:this.data.days,})},//上下⽉handleCalendar(e) {const handle = e.currentTarget.dataset.handle;const cur_year = this.data.cur_year;const cur_month = this.data.cur_month;this.setData({days:[]})if (handle === 'prev') {let newMonth = cur_month - 1;let newYear = cur_year;if (newMonth < 1) {newYear = cur_year - 1;newMonth = 12;}this.calculateDays(newYear, newMonth);this.calculateEmptyGrids(newYear, newMonth);let firstDay = new Date(newYear, newMonth - 1, 1);this.data.firstDay = firstDay.getDay();this.setData({cur_year: newYear,cur_month: newMonth,marLet: this.data.firstDay})if (this.data.month == newMonth) {this.setData({judge: 1})} else {this.setData({judge: 0})}} else {let newMonth = cur_month + 1;let newYear = cur_year;if (newMonth > 12) {newYear = cur_year + 1;newMonth = 1;}this.calculateDays(newYear, newMonth);this.calculateEmptyGrids(newYear, newMonth);let firstDay = new Date(newYear, newMonth - 1, 1);this.data.firstDay = firstDay.getDay();this.setData({cur_year: newYear,cur_month: newMonth,marLet: this.data.firstDay})if (this.data.month == newMonth){this.setData({judge:1})}else{this.setData({judge: 0})}}},dataTime: function () {var date = new Date();var year = date.getFullYear();var month = date.getMonth();var months = date.getMonth() + 1;//获取现今年份this.data.year = year;//获取现今⽉份this.data.month = months;//获取今⽇⽇期this.data.getDate = date.getDate();//最后⼀天是⼏号var d = new Date(year, months, 0);stDay = d.getDate();let firstDay = new Date(year, month, 1);this.data.firstDay = firstDay.getDay();this.setData({marLet:this.data.firstDay})},onshow:function(){this.setData({display:"block",})},onhide:function(){this.setData({display: "none",})},onLoad: function (options) {var that = this;this.setNowDate();this.getProWeekList()this.dataTime();var res = wx.getSystemInfoSync();this.setData({sysW: res.windowHeight / 12-5,//更具屏幕宽度变化⾃动设置宽度getDate: this.data.getDate,judge:1,month: this.data.month,});this.sigarr();},//获取数组参数sigarr:function(e){let that = thislet ornot = that.data.ornot?0:1//当天是否签到let continuity = that.data.continuity//连续签到天数let obinl = parseInt(util.getWeekByDate(new Date()));//今天周⼏let cur_year = that.data.cur_year;//年份let cur_month = that.data.cur_month - 1;//⽉份if (cur_month < 1) {//⽉份⼩于1年份减1cur_year = cur_year - 1;cur_month = 12;}let num = obinl<continuity?(obinl + 1):continuity//七⽇签到数组for(let i = 0;i < num;i++){if(i <= (obinl + 1)){if(ornot == 0){if(0 <= (obinl - i)){that.data.day[obinl - i].src = "/pages/images/newspaper.png"}}else{if(0 <= (obinl - i - 1)){that.data.day[obinl - i - 1].src = "/pages/images/newspaper.png"}}}else{return false}}//签到数组that.setData({day:that.data.day,//七天签到shuttime:[that.data.cur_year,that.data.cur_month,(that.data.getDate - ornot)],//结束签到时间})if(that.data.getDate < continuity){//当前天数不够减去连续签到天数let qindao = continuity - that.data.getDate//签到天数let rili = parseInt(that.getThisMonthDays(cur_year, cur_month))//上⽉天数if((rili + that.data.getDate) < continuity){//连续签到天数⼤于上个⽉加当前⽇期的和cur_month = cur_month - 1if (cur_month < 1) {cur_year = cur_year - 1;cur_month = 12;}let guil = parseInt(that.getThisMonthDays(cur_year, cur_month))//上⽉天数that.setData({opentime:[cur_year,cur_month,(guil - (qindao - rili) + 1 - ornot)],//开始签到时间})}else{that.setData({opentime:[cur_year,cur_month,(rili - qindao + 1 - ornot)],//开始签到时间})}}else{that.setData({opentime:[that.data.cur_year,that.data.cur_month,(that.data.getDate - continuity + 1 - ornot)],//开始签到时间 })}this.calculateDays(that.data.cur_year, that.data.cur_month);//数组获取},//打卡签到dakainc:function(e){let that = thislet date = new Date();that.setData({ornot:true,continuity:that.data.continuity + 1,days:[],cur_year:date.getFullYear(),cur_month:date.getMonth() + 1,todayIndex:date.getDate(),judge:1,})that.dataTime()//年⽉份排版that.calculateEmptyGrids(that.data.cur_year,that.data.cur_month)//年⽉份排版that.sigarr();//获取数组参数that.popup();//显⽰签到弹窗},//显⽰签到弹窗popup:function(e){this.setData({sign:!this.data.sign})},//七⽇数组显⽰⽂字wenlin:function(e){let index = e.currentTarget.dataset.indexthis.data.day[index].check = this.data.day[index].check?false:truethis.setData({day:this.data.day})},//数组显⽰⽂字let index = e.currentTarget.dataset.indexthis.data.days[index].check = this.data.days[index].check?false:true this.setData({days:this.data.days})},//滑动切换swiperTab: function (e) {var that = this;that.setData({currentTab: e.detail.current});},//点击切换clickTab: function (e) {var that = this;if (this.data.currentTab === e.target.dataset.current) {return false;} else {that.setData({currentTab: e.target.dataset.current,})}},upper: function (e) {console.log(e)},lower: function (e) {console.log(e)},scroll: function (e) {console.log(e)},}).wxss@import '../../../components/buteic/buteic.wxss';page{background-color: #f4f4f4;}.gs_banner image{width:750rpx;height:256rpx;vertical-align: top;}.gs_continue{background-color: #fff;padding:30rpx 20rpx;}.gs_continue view:first-child{font-size:34rpx;color:#454545;padding-bottom:20rpx;}.gs_continue view:last-child{font-size:32rpx;color:#707070;}.gs_continue view text{color:#dd2522;}.gs_sign{margin-top:30rpx;}.gs_sign_box{background-color:#fff;width:677rpx;margin:0 auto;position:relative;border-radius:15rpx;}.gs_pillar{overflow:hidden;position:absolute;top:-16rpx;width:100%;}.gs_pillar .gs_post{float:left;width:20%;text-align: center;}.gs_pillar .gs_post view{display:inline-block;width:18rpx;height:42rpx;background-color:#53acfc;border-radius:20rpx;}.gs_sign_day{padding:60rpx 20rpx 0;}.gs_sign_day image{width:45rpx;height:45rpx;vertical-align: middle;position: relative;bottom: 6rpx;}.gs_sign_day view{display:inline-block;font-size: 30rpx;margin-left: 14rpx;color:#707070;}.gs_sign_day view text{color:#dd2522;}.gs_sign_content{padding:20rpx;}.gs_week{overflow:hidden;}.gs_wook{display:inline-block;text-align: center;position: relative;box-sizing: border-box;}color:#707070;width:60rpx;height:60rpx;line-height:60rpx;}.gs_clocksucceed{position:absolute;top:10rpx;left:16rpx;}.gs_clocksucceed image{width:50rpx;height:50rpx;vertical-align: bottom;position: relative;bottom: 2rpx;}.gs_sign_content .gs_week:nth-child(2) .gs_wook view{ color:#454545;}.gs_circle{padding:50rpx 0;}.gs_incircle{width:225rpx;height:225rpx;background-color: #cce6ff;border-radius:50%;padding: 10rpx;margin:20rpx auto;cursor: pointer;}.gs_excircle{width:100%;height: 100%;background-color:#fff;border-radius:50%;position: relative;}.gs_innercircle{width:190rpx;height:190rpx;background-color: #8bc4f6;border-radius:50%;position: absolute;left: 0;top: 0;right: 0;bottom: 0;margin: auto;display: flex;align-items: center;justify-content: center;color:#fff;font-size:36rpx;}.gs_calendar{position:fixed;top:0;left:0;right:0;bottom:0;display:none;}.gs_bg{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.3);}.gs_gs_calendar_box{position: absolute;top:180rpx;left:40rpx;width:677rpx;background-color:#fff;padding:20rpx;box-sizing: border-box;}.canlendarTopView{overflow:hidden;padding:40rpx 20rpx;margin-left:20rpx;display: flex;align-items: center;}.leftBgView{float:left;width:153rpx;text-align: center;}.leftView image{width:60rpx;height:60rpx;}.centerView{float:left;font-size:32rpx;height:60rpx;line-height:60rpx;width:260rpx;text-align: center;}.rightBgView{float:left;width:156rpx;text-align: center;}.rightView image{width:60rpx;height:60rpx;}.weekBgView{overflow:hidden;}.weekView{float:left;width:14.28571428571429%;}.dateBgView{overflow:hidden;margin-bottom:20rpx;}.dateView{display:inline-block;text-align: center;position:relative;}.datesView{font-size:30rpx;color:#2b2b2b;}.dateOn{border-radius: 50%;background-color: #53acfc;color: #fff !important;}.del{position:absolute;top:-20rpx;right:-20rpx;width:50rpx;height:50rpx;background-color:#909090;border-radius:50%;display: flex;align-items: center;justify-content: center;}.del>text{color: #fff;font-size: 36rpx;}.leftView>text{font-size: 40rpx;}.clocksucceed{position:absolute;top:-3rpx;left:20rpx;}.clocksucceed image{width:50rpx;height:50rpx;vertical-align: middle;position: relative;bottom: 4rpx;}#fuconl{color: #FF6666;}/* 签到弹窗 */.load{width: 80%;height: 600rpx;position: fixed;top:calc((100vh - 800rpx)/2);left: 10%;transition: all 0.3s ease-in-out 0s;-webkit-transition: all 0.3s ease-in-out 0s; opacity: 1;z-index: 10;}.loadingpic {width: 100%;height: 93%;position: absolute;animation: load 3s linear 1s infinite;z-index: 10;margin-top: 7%;}@keyframes load{0%{webkit-transform: rotate(0deg);transform: rotate(0deg);}100%{webkit-transform: rotate(360deg);transform: rotate(360deg);}}.load-imagae{width:400rpx;height:400rpx;margin: 100rpx calc((100% - 400rpx)/2); position: absolute;z-index: 11;}.load-centent{width:400rpx;height:400rpx;margin: 100rpx calc((100% - 400rpx)/2); position: relative;z-index: 12;text-align: center;padding: 25% 10% 5% 10%;}.load-centent>view:nth-child(1){font-size: 34rpx;color: #fff;}.load-centent>view:nth-child(2){color: #fff;opacity: 0.7;margin: 20rpx 0;font-size: 24rpx;}.load-centent>view:nth-child(3){width: 85%;margin: 30rpx 7.5% 0 7.5%;height: 70rpx;line-height: 70rpx;border-radius: 40rpx;background-color: #F8D168;color: #EB4331;font-size: 30rpx;}这个是我在⽹上拔下来的模板:这个签到模板是从⽹上拔下来,然后⾃⼰整理了⼀下把修改的地⽅都备注了⼀下,整个签到流程算是⾛通了,复制下来就能⽤。
基于微信小程序的课堂考勤系统的设计与实现
第14期2020年7月无线互联科技WirelessInternetTechnologyNo.14July,2020基金项目:阿坝师范学院校级专项;项目名称:基于北斗+LBS技术的会议签到系统的研究;项目编号:ASZ18-03。
教育厅一般项目;“互联网+”时代数字化校园向智慧校园转型发展的研究;项目编号:16ZB0382。
作者简介:王朋(1984—),男,河南开封人,讲师,硕士;研究方向:计算机软件。
基于微信小程序的课堂考勤系统的设计与实现王 朋(阿坝师范学院,四川 汶川 623002)摘 要:点名签到在高校教学质量评价体系中占据了很重要的一环,传统点名册的方式存在点名效率低、信息不能及时共享、存在误差等各种状况。
针对上述情况,文章提出了通过设计微信小程序的方式,学生通过手机小程序进行签到,提高了课堂点名的效率,让任课老师专注于课堂教学。
关键词:微信;小程序;考勤0 引言随着教育的深入改革,越来越多的学生进入大学课堂。
课堂考勤是保证大学课堂纪律的必要手段。
不过现在很多学校课堂考勤的方式采用的都是手工点名[1]的方式,这种方式不仅效率低下,容易出错,而且无形中还增加了任课老师的负担。
随着人们对微信等社交软件的熟练使用,越来越多的高校将自己学校的应用迁移到了微信平台上,这样省去了单独学习软件所花的时间代价。
本研究基于这种情况将考勤系统嵌入微信平台中,主要是为了解决任课老师点名花费时间长的问题,让任课老师把主要精力放置在课堂教学中。
微信小程序的使用成本极其低廉,现在所有玩微信的用户都会玩微信小程序,微信也提供了多种微信小程序的入口方式,例如扫描进入、分享进入等各种方式,这样可以把考勤小程序分享给每个学生成员。
微信小程序在开发方面也提供了各种方便,例如使用三方插件、组件和界面。
通过这些都可以设计出美观、功能强大的小程序,而且也大大缩短了开发的周期。
1 需求分析系统的好坏、切不切合实际,主要在于系统的需求分析。
基于微信小程序的考勤系统设计与实现
基于微信小程序的考勤系统设计与实现作者:郭鑫毛古宝方欢来源:《电脑知识与技术》2018年第20期摘要:高校考勤是日常教学中的一个常用事件,如何借助信息化的手段精准、快速地实现这一功能是十分必要的。
该文基于微信小程序,借助js后端设计语言及前端设计语言wxml,设计和开发了一套考勤微信小程序。
该设计的系统将用户角色分为教师和学生,可以完成教师上课考勤功能、学生主动签到等功能,系统使用测试结果表明系统的具备可使用性。
关键词:微信小程序;考勤系统;js;wxml中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)20-0057-031 背景随着互联网的快速发展以及网络速度的不断提升,越来越多的事务处理转向移动端,手机作为移动端的主角,正发挥着越来越大的作用。
通过对高校大学生的调查以及笔者自身的体会可以发现,现在大学教师考勤方法比较传统,也有过一些新鲜的尝试,但都没有大规模的施行,这些方法要么费时费力,要么可行度、精确度有待提高。
然而,考勤情况不仅可以作为教学质量的参考[1],而且对学生自身学习也具备督促作用,所以一种高效的考勤方法显得尤为必要。
结合学生大都每天都使用智能手机,如果能将考勤与智能手机结合起来,则势必会大大减少学生课堂日常考勤的压力,提高教师的工作效率 [2]。
该文旨在开发一款产品用于高校上课的考勤活动,为实现这一目标,首先针对现有的几种考勤方式与应用场景之间的关系进行具体分析比较汇总[3-4],分析结果如表1所示。
从表1可以看出,在高校考勤这一应用场景下,APP和小程序都有很大的优势,同时微信小程序基于微信,直接从微信端进入,省去安装一个APP的步骤,而且能使用微信的一系列的权限,比起APP有更大的优势。
2 系统需求分析2.1 系统总体分析小程序用于高校的上课考勤,用户从微信端进入小程序,获取当前用户的信息,注册时将微信号与学号或工号唯一绑定,登录之后通过用户名来判定是老师还是学生,以显示不同的界面。
基于微信小程序的签到系统设计与实现
基于微信小程序的签到系统设计与实现作者:陈少涌李哲夫许晓旋朱华森来源:《中国教育信息化·高教职教》2018年第06期摘要:签到是高校最常见的应用场景之一,而现有的签到解决方案仍存在效率低下等不足。
以微信为代表的移动互联网应用广泛普及,为高校签到系统的改进提供了有利条件。
本文结合微信小程序和LBS、TOTP技术,提出了一种在移动互联网上基于微信小程序的签到系统,对该系统的各个模块和功能都进行了详细的说明,并对系统的关键技术进行了深入分析,包括签到人的身份鉴别、基于地理位置实现信息推送及服务、支持多应用场景的签到服务等。
关键词:签到系统;微信小程序;微信公众号;二维码;LBS;TOTP中图分类号:G647 文献标志码:A 文章编号:1673-8454(2018)11-0087-06一、引言签到是高校最常见的应用场景之一,包括会议、活动、课堂、讲座都有签到需求。
现有的签到方式以纸质签到和校园卡刷卡签到为主,这两类签到方式都存在诸多弊端。
纸质签到在面对一些大型会议和活动时,面临着签到效率低下、需要进行二次数据整理录入才能完成统计分析的问题。
校园卡刷卡签到模式依赖于校园卡、读卡器以及安装了校园卡签到客户端程序的计算机,每次开会都需要工作人员提前准备并且在现场值守,且校园卡签到功能通常作为校园卡系统的子功能模块,系统较为封闭,难以实现面向二级单位提供管理功能,难以实现与其他系统的良好集成,无法实现面向用户发送会议通知等实用功能。
[1]签到效率的低下,使活动主办方需要额外付出大量人力和精力,参会人员也经常因为没有及时获得通知提醒而错过会议,或在现场排队签到耽误进场时间等问题导致参会体验低下。
近年来,以微信和微信公众号为代表的移动互联网应用兴起,已深刻影响着各行各业,在提升信息化服务效率的同时,有效提升了用户体验。
由于高校里的签到业务具有典型的线上和线下融合(O2O)特点,因此借助微信实现智能化签到具有较高的可行性及应用价值。
微信小程序实现二维码签到考勤系统
微信⼩程序实现⼆维码签到考勤系统⼀。
⼿动⽣成⼆维码的.js代码这⾥要引⼊⼀个官⽅⽂档let drawQrcode = require('../utils/wxapp.qrcode.min.js');//引⼊wxapp.qrcode.min.js⽂件createQRcode(canvasWidth, canvasHeight, canvasId, url) {// 调⽤qrcode.js⾥的⽅法,传⼊对应参数drawQrcode({width: canvasWidth,height: canvasHeight,canvasId: canvasId,text: url})console.log(drawQrcode.width)},setCanvasSize() {let size = {};// getSystemInfoSync 微信⼩程序提供getSystemInfoSync获取设备的信息let res = wx.getSystemInfoSync();// console.log(res);// 获取⽐例let scale = 686 / 750;let width = res.windowWidth * scale;let height = width;size.w = width;size.h = height;return size;},formsubmit(e) {let url = e.detail.value.url || this.data.placeholder;// let url = e.detail.value.url ? e.detail.value.url : this.data.placeholder;wx.showToast({title: '⽣成中',icon: 'loading',duration: 2000})let that_ = this;let timer = setTimeout(() => {let size = that_.setCanvasSize();//调⽤createQRcode⽅法that_.createQRcode(size.w, size.h, 'mycanvars', url);wx.hideToast();clearTimeout(timer);}, 2000)},/*** ⽣命周期函数--监听页⾯加载*/onLoad: function (options) {//setCanvasSize 拿到画布区域的尺⼨(微信⼩程序不⽀持dom的操作,所以单独定义⽅法去获取)let size = this.setCanvasSize();// console.log(size);let url = this.data.placeholder;//调⽤createQRcode⽅法this.createQRcode(size.w, size.h, 'mycanvars', url);},⼆。
基于微信小程序的二维码定位签到平台建设
)可以全面完整记录、存储并积累学生到课情况的为后续进行的数据分析、全面管理积累相关资源;提0 5 10 15 20 25 30 35 40迭代次数dev-clean train-960图4 Re-dimension 作用效果对比论本文通过深入研究LSTMP 结构,提出一种Re-dimension 让网络自己选择一部分参数作为历史信息,采用基LSTMP 方法进行实验,使语音识别率相对提高了左右。
可见该方法可以使网络获得一定的性能提升。
参考文献:戴礼荣,张仕良,黄智颖.基于深度学习的语音识别技术现状与展望 [J].数据采集与处理,2017,32(2):221-231.陈晓宇.基于数据驱动的涡扇发动机故障预测研究 [D].页)。
基于微信小程序的大学选修课考勤签到系统设计与开发
基于微信小程序的大学选修课考勤签到系统设计与开发作者:赵智敏李俊峤谢涛吴霜霖来源:《电脑知识与技术》2019年第20期摘要:在大学选修课中考勤是教学要求也是教学手段,使用信息化手段解决传统点名式考勤效率低、不精准等缺点是十分必要的。
该文所述小程序基于微信公众平台提供的设计开发框架进行制作,通过教师和学生两种角色用户完成定位考勤签到功能。
实测结果表明,该系统运行稳定可靠,定位准确,可满足实际要求。
关键词:微信小程序;考勤;定位中图分类号:TP393; ; ; 文献标识码:A文章编号:1009-3044(2019)20-0085-02开放科学(资源服务)标识码(OSID):1 背景目前国内高校基本都是学分制管理,学生必须修满足够的选修课学分才能毕业,因此全校的学生都会选学各种选修课,因为是全校学生根据自己的需求进行选择,相对于专业课的固定班级学生管理难度更大,考勤作为重要的课堂管理手段越发重要。
随着现代教育水平的不断提高,学校规模不断扩大,信息化进程己经成为一种必然的趋势[1],根据针对某高校的调查问卷显示,大学生微信的使用率高达98.44%[2],如果能根据手机微信的使用,将考勤与微信结合起来,利用智能化手段进行考勤,勢必能提高效率。
本文旨在设计开发一款基于微信公众平台搭建的针对大学选修课考勤管理的微信小程序,结合微信小程序的优势特点实现考勤的高效管理。
2 微信小程序微信小程序(Wechatmini-Apps)由腾讯公司于2017年1月正式推出,是一种不需要安装就能使用的应用,具有开发成本低、社交分享功能突出、使用便捷等优势[3]。
微信小程序的使用不会占用用户设备的内存,它用之即来,关之即走,不必下载。
3 大学选修课考勤签到系统小程序设计小程序为了简化用户的操作过程,课表设置、名单上传由管理员负责进行操作;教师只需要登录系统,选择时间和课程,确定考勤位置,发起考勤签到,查看考勤情况;学生登录小程序后选择对应班次,等待教师发起签到后就可以点击签到,还可以查看签到情况。
基于微信小程序的签到系统设计与实现
一、引言签到是高校最常见的应用场景之一,包括会议、活动、课堂、讲座都有签到需求。
现有的签到方式以纸质签到和校园卡刷卡签到为主,这两类签到方式都存在诸多弊端。
纸质签到在面对一些大型会议和活动时,面临着签到效率低下、需要进行二次数据整理录入才能完成统计分析的问题。
校园卡刷卡签到模式依赖于校园卡、读卡器以及安装了校园卡签到客户端程序的计算机,每次开会都需要工作人员提前准备并且在现场值守,且校园卡签到功能通常作为校园卡系统的子功能模块,系统较为封闭,难以实现面向二级单位提供管理功能,难以实现与其他系统的良好集成,无法实现面向用户发送会议通知等实用功能。
[1]签到效率的低下,使活动主办方需要额外付出大量人力和精力,参会人员也经常因为没有及时获得通知提醒而错过会议,或在现场排队签到耽误进场时间等问题导致参会体验低下。
近年来,以微信和微信公众号为代表的移动互联网应用兴起,已深刻影响着各行各业,在提升信息化服务效率的同时,有效提升了用户体验。
由于高校里的签到业务具有典型的线上和线下融合(O2O)特点,因此借助微信实现智能化签到具有较高的可行性及应用价值。
[2,3]本文在分析高校签到业务需求的基础上,针对原有签到方式的不足,提出了基于微信小程序的签到系统的整体设计方案,并介绍了系统的实现及应用流程。
该系统已在暨南大学成功部署并在大型会议等场合投入应用,有效提升了签到业务的信息管理功能,优化了签到流程,改进了用户体验,深受师生欢迎。
二、微信公众号和微信小程序微信是腾讯公司于2011年1月推出的一款智能手机即时通信软件。
中国互联网络信息中心(CNNIC)报告显示,2016年网民最常使用的APP 应用是即时通信,其中79.6%的网民最常使用的是微信,其次是QQ。
[4]2017年第三季度,微信和海外的WeChat 的合并月活跃账户数达到9.8亿,比去年同期增长15.8%。
[5]伴随着用户数增长,微信的功能也越来越强大,支持群组、文字、图片、语音、视频交流、位置共享、朋友圈分享、游戏和微信支付等系列服务。
基于微信小程序的签到平台的研究与设计
2019年软 件2019, V ol. 40, No. 8基金项目: 辽宁师范大学教师指导本科生科研训练项目(CX201902025) 作者简介: 汪美(1998-),女,本科在读,研究方向:计算机科学。
基于微信小程序的签到平台的研究与设计汪 美(辽宁师范大学计算机与信息技术学院,辽宁 大连 116081)摘 要: 为解决传统签到耗时长、效率低等问题,出现了多种签到形式,包含硬件和软件两种,但是现存的技术存在一定的缺陷。
笔者将针对此类问题研究并分析出完善的解决方案与实现方法,方便快捷的实现多个领域的签到需求。
微信小程序作为一种新的开放能力,不占内存、即走即用等优点为解决单一场景的应用提供了无限可能,本文将从签到技术的现状开始分析,研究并设计出一种基于微信小程序的签到平台。
关键词: 微信;小程序;签到中图分类号: TP311 文献标识码: A DOI :10.3969/j.issn.1003-6970.2019.08.016本文著录格式:汪美. 基于微信小程序的签到平台的研究与设计[J]. 软件,2019,40(8):70-72Research and Design of Check-in Platform Based on Wechat WidgetsWANG Mei(Computer and Information Technology School, Liaoning Normal University, Dalian, Liaoning 116081)【Abstract 】: To solve problem of time-consuming and low efficiency of traditional check-in, there are many kinds of check-in forms, including hardware and software, but the existing technology has some defects. The author stud-ies the problem and analyzes perfect solution and methods, which can realize check-in demain in many fields con-veniently and quickly. As a new open capability, Wechat widgets provide unlimited possibilities for solving single scenario applications with advantages of being out of memory, out of the box. The paper analyses status quo of check-in technology, researches and designs a check-in platform based on Wechat widgets. 【Key words 】: Wechat; Widgets; Check-in0 引言为解决传统签到耗时长、效率低等问题,出现了多种签到形式,包含硬件和软件两种,但是现存的技术存在一定的缺陷。
基于微信小程序的签到碎片化学习平台
2020年8月25日第4卷第16期现代信息科技Modern Information Technology Aug.2020Vol.4 No.16852020.8收稿日期:2020-07-27基于微信小程序的签到碎片化学习平台徐慧(南昌理工学院 计算机信息工程学院,江西 南昌 330044)摘 要:为解决教学过程中签到程序繁琐且不够智能等问题,开发了基于微信小程序的签到碎片化学习平台。
将签到打卡、学习和微信小程序完美整合,使得学生可支配时间大大增加,学习效率有效提升;利用二维码和口令的混合式签到,节省了学校教师上课点名查人数的时间,有效地提高了课堂效率,保证课堂教学时间。
该平台在上线后会根据学生和教师对签到学习软件的需求进行调整,更加贴合实际。
关键词:碎片化;小程序;混合式签到中图分类号:TP311.56 文献标识码:A 文章编号:2096-4706(2020)16-0085-03Sign-in Fragmentation Learning Platform Based on WeChat AppletsXU Hui(College of Computer Information Engineering ,Nanchang Institute of Technology ,Nanchang 330044,China )Abstract :In order to solve the problems of cumbersome and not intelligent check-in procedures in the teaching process ,a fragmented learning platform based on Wechat applet was developed ,we developed the sign-in fragmented learning platform based on Wechat applet. The trinity of check-in and clock out ,learning and Wechat applet has been perfectly integrated ,which greatly increases the available time and effectively improves the learning efficiency. And the use of two-dimensional code and password mixed sign-in ,save the time of school teachers to check the number of names in class ,effectively improve the efficiency of the classroom ,ensure the classroom teaching time. After online ,it will meet the needs of students and teachers for check-in learning software.Keywords :fragmentation ;applets ;mixed sign-in0 引 言随着智慧课堂的不断推进,教师的教育教学方式也需要与时俱进。
基于微信小程序的签到系统设计与研究
基于微信小程序的签到系统设计与研究
程俊英
【期刊名称】《数字通信世界》
【年(卷),期】2022()4
【摘要】众所周知,微信是现代网民普遍应用的一种即时通信软件,且微信的公众号、小程序具备较为完善的服务功能。
目前,我国大部分高校的签到管理效率较低,因此,高校需要利用微信小程序、LBS及TOTP技术,结合微信定位系统功能,构建一个签
到系统,改进高校的签到系统。
为此,文章对基于微信小程序的签到系统进行了设计
与研究,希望对相关人员有所启示。
【总页数】3页(P93-95)
【作者】程俊英
【作者单位】运城师范高等专科学校
【正文语种】中文
【中图分类】TP311.56
【相关文献】
1.基于微信小程序的签到系统设计与实现
2.基于微信小程序的签到系统设计与实现
3.基于微信小程序的签到平台的研究与设计
4.基于微信小程序的大学选修课考勤签到系统设计与开发
5.基于微信小程序的大学选修课考勤签到系统设计与开发
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基 金项 目:延 安 大学 西安创 新 学院科研 项 目基 于单 片机 的教 室用 电子 密码 锁设 计 (2017XJKY一4)。
·106 · 电子 心再
ELECTRONICS W ORLD · 勇霉与 Ij 雪隋
}】
},
签 到信 息 显示模 块 :对 采集 和 对 比后 的信 息进 行记 录 和统 计 , 将 统计 后 的数 据通 过 表格进 行 直观 显示 , 并标 明签 到时 间 和地 点 。
environment.The measured results in the project show that the system is stable and reliable, accurate positioning, and the location check-in
requirem ent is realized. Key w ords: M ini program s; Sign in; Location
ELECTRONICS WORLD·探索与观察
基 于微 信小 程 序 的签 到 系统
延 安 大学西安创新 学院 王 铂智 王海 军 张 茂林
【摘要 】基于微信 小程序设计 了一款分级授权签到 系统 ,用户通过微信小程序定位并签到 ,解决了传统签到效率低 、管理 困难 、可替代等缺 点 。 系统 基 于微 信平 台提供 的框 架设 计 工具 进行 平 台开发 ,实现 用 户在 简洁 、方便 的环境 下进行 准 确 的定 位 签到 。在 工 程 中的 实测 结 果表 明 , 系统运 行稳 定 可靠 ,定位 精确 .实现 了定 位签 到要 求 。 【关键词 J、程序 ;签到 ;定位
微信 小 程序 是~ 种不 需 要下 载安 装 即可使 用 的微 信平 台应 用 , 具有 用 完 即 走 ,无 需 安 装 和卸 载 等 特 点,有 简洁 方 便 的操 作 界 面 和 良好 的用 户体 验 。
2 微倌小程序签到系统设计
系统 的主 要 功能 设计 如 图1所 示 。 为实 现签 到信 息 的录 入 与 查 询 ,系统 应 由三个 主要 的功 能模 块组 成 :
onReady:function(e){ this.mapCtx=WX.createMapContext( ‘MyMapID’)
}, getCenterLocation:functionO { this.mapCtx.getCenterLocation({ success:function(res)( console.1og(res.1ongitude) console.1og(res.1atitude)}
A bstract: Based on W eChat m ini program , a hierarchical authorization check.in system is designed.U sers can locate and sign in the W eChat m ini program , and solve the shortcomings such as low ef i ciency of traditional check.in, dificult m anagem ent and substitution.The system is developed based on the framework design tool provided by W eChat platfornl, and the user can accurately locate and sign in a concise and convenient
其 显示 框架 部 分代码 如 下:
“pagePath” : “page/personalsign/index” .
“iconPath” : “im age/sign 1.png” ,
一
“selectedlconPath” : “image/sign l select.png” ,
(1)用 户登 录模块 ,用 于 上传 用户 位置 信 息和账 号信 息 。 (2)信 息上 传和 管 理 员 信息 比对模 块 ,实现 日常 签 到信 息 的 服务 器记 录和 管理 员登 录信 息 的服务 器对 比。 (3)签 到信 息 显示 模 块 , 负责 对 签到 信 息进 行 显 示 ,方 便 管 理 员查看 签 到情况 。
3 微信小程序签到 系统实现
图1系统的主要功能设计 图
用户 登 录模 块 :模块 实 现用 户信 息 的上传 与 验证Байду номын сангаас的反 馈 ,直 观 的显示用 户 账户 签 到状态 。模块 采用 简洁 的显示 方式 ,方 便 用户 选 择和 使用 。显示 界面 如 图2.1所 示 。
信 息上 传和 管理 员信 息比对 模块 :签 到 系统 的核 心 。实 现签 到 信 息 的上传 和服 务器 端 的 比对 。对手 机 的地 址 、签 到组 号 、微信 号 码三 方 面 的信 息进 行获 取和 验证 ,若 组 号无 法正 确 匹配 则再 次提 示 输 入进 行对 比 ,直到 签到 成功 。其 中地 点信 息获 取 部分 代码 如下 :
0 引言
1 微信小程序
据腾 讯 (2017微 信用户&生态研 究报 告》显示 ,微信全球约 有9亿 活跃 用户 。现今 ,微信 已经成为 人们不可 或缺 的通 信工 具。随着 移动 网络和 通信 的发展 ,考勤 方式也有 了进一 步的革新 与发展 。传统 的考 勤方 式效率低 、过程繁琐 ,市场迫切 需要新 型产品 的出现对其进 行适当 改进 【】】。而微 信平 台与手 机绑 定 ,没 有重 复性 ,微信 小程序 具有 良好 的操作 体验 、丰富 的接 口、不需 要单独下 载其他 应用软件 。为 此设计 基于微信 小程序 的签到系统 ,实现考勤 的高效管理 。