APP下载

基于微信的刷题小程序设计与实现

2021-05-07王小敏

现代信息科技 2021年21期
关键词:刷题微信小程序

摘  要:人们的生活水平随着社会经济的快速发展逐渐提高,故人们也开始追求出行便利,所以考取驾驶证的需求也日益增大,基于此,开发了一款能让用户快速获取并且不占用过高内存的刷题小程序。文章设计与实现了基于微信刷题小程序,根据开发规范,采用了三端分离的设计思路,结合小程序开发接口来实现驾考小程序的练习模块、考试模块、错题解析模块、难题收藏模块的功能。

关键词:微信小程序;驾考;刷题

中图分类号:TP311         文献标识码:A文章编号:2096-4706(2021)21-0037-04

Abstract: Peoples living standard has gradually improved with the rapid development of social economy, so people also begin to pursue the travels convenience, the demand for obtaining drivers license is also increasing. Based on this, a question brushing applet that allows users to quickly obtain content and does not occupy too much memory is developed. This paper designs and implements a WeChat-based question brushing applet. According to the development specification, it adopts the design idea of three end separation and combines the applet development interface to realize the functions of the driving test applets practice module, examination module, wrong question analysis module and difficult questions collection module.

Keywords: WeChat applet; driving test; question brushing

0  引  言

人們的生活水平随着社会经济的快速发展而逐渐提高,家家户户都有一辆小轿车已成了家常便饭,而对于驾驶证的需求也是日益增大。对于考取驾驶证的人群有刚满18岁,也有中年妇女大叔更是不少,可见一款能让大家快速获取并且不占用内存的刷题小程序正是满足大家所需要的。但是目前关于考取驾驶证理论知识的刷题软件都做得比较成熟,各种功能应有尽有。由于它里面含有大量的题库,这类驾考刷题APP的体积都达到了50 MB至60 MB以上。所以为了更好的解决内存和使用便利性这个问题,开发出一种基于微信的驾驶证理论知识的刷题小程序。

在本文研究中就是基于驾考宝典的内容上,仅仅开发出一款简单的,便利的,就只针对于C1类驾驶证的科一和科四理论知识的微信刷题小程序。这样不仅可以为广大用户提供相关的C1驾驶证学习理论知识,还会调动学习者的积极性,这对于成功考取驾驶证具有重大的意义。

1  开发技术

1.1  开发环境

本地PC操作系统使用Window10;微信开发者工具;参考文档:CSS,WXML,JS,微信小程序API。

1.2  开发及设计工具

微信Web开发工具、phpstorm2018、navicat、enterprice、Xmid、Visio。

1.3  小程序介绍

我们把不需要下载安装便可以使用的应用称为微信小程序,人们可以做到触手可及,这将使我们的应用无处不在,什么时候都可以使用,并且无需安装卸载,这就体现了我们用完即扔的方便理念。微信小程序自从正式发布上线以来,就引起人们的强烈关注。微信团队也在坚持不断地对小程序进行更新。而微信小程序的优势也十分明显,它触及了PC网页,公众号,H5,APP那些无法实现的地方,并且它不用安装,用完即走的理念能够满足用户需求且节省手机内存。站在小程序的拥有者的立场,他的开发成本大大减小,同时可借助微信强大的流量入口,因而也降低了推广的难度。总而言之,微信小程序能够很好地在用户和服务中建立起连接,是一种全新的体验方式。微信小程序应用了和React Native和Weex差不多的一种解析技术,我们开发者可以编写一套程序在多种客户端运行,并且相比于公众号、微商城具有更好的原生体验。在它申请条件放宽松以后,无论是企业、政府、媒体、其他组织或者是个人开发者,都可以申请到并注册小程序。而微信小程序,微信的订阅号和服务号以及它的企业号都具有并行的体系结构,具备着独立的注册以及发布流程。小程序的接入主要有4个步骤:

(1)小程序注册:首先要在微信公众平台官网的首页(mp.weixin.qq. com)注册并且提交注册信息、完善主体信息和管理员信息等基本信息。

(2)小程序信息完善:接着需要对微信小程序的基本信息进行完善。开发前需绑定开发者并获取APP ID,以保证程序可以通过手机进行扫码测试。

(3)小程序开发:其次需要下载安装微信开发者工具,微信官方提供了一套完整的开发框架,我们可以根据微信开发文档对微信小程序进行开发和调试。

(4)代码审核及发布:最后是小程序开发完成后,还不能直接发布,需提交代码与开发配置信息提交审核,完成后方可发布。

1.4  开发语言

在语言方面,小程序看似重新定义了一套新标准。但实际上,它们与前端三件套——HTML、CSS 和 Java差不太多。在语言上,微信小程序完全向学习成本最低的前端开发看齐,但这不代表所有前端开发者都能无缝迁移。虽然小程序使用的是前端语言,但不代表可以继续沿用前端的开发思想进行开发。小程序对前端开发的要求从“构建界面”升级成“开发完整应用”,前端开发需要在意识上进行转变。开发语言如表1所示。

2  需求分析

为了让驾考学员能够快速了解驾考规则,本驾考助手主要从科目一和科目四的理论知识入手,通过提供在线考试考规的学习平台。本小程序主要包含以下功能:

(1)在顺序练习功能模块中,系统每次会从驾考规则中顺序的取出三十道习题供用户练习,用户可以自主答题、收藏难题或结束练习。

(2)随机练习,在此功能中,系统每次会随机的从驾考规则取出三十道习题供用户练习,用户可以自主答题、收藏难题或结束练习。

(3)全真模拟,在此功能中,系统会随机的题库中取出一份答卷并生成一个计时器来限制用户的答题时间,在规定的时间内,用户可以自主答题、收藏难题、交卷或结束练习。

(4)难题攻破,在此功能中,用户可以清晰的看到自己之前收藏的难题,并可以再次对难题进行练习和删除操作。

(5)错题解析,在此功能中,用户可以看到自己之前练习时所做错的题,并可以对错题再次解答或删除和收藏操作。

3  概要设计

根据系统分析,本系统把驾考助手这个系统分为两大模块,一是首页模块,二是个人中心模块。系统功能图如图1所示。

首页模块分为科目一和科目四模块,其中都包括了随机练习,难题突破,全真模拟,错题集,顺序练习五个小模块。在随机练习小模块中包括了答题和收藏难点两部分;在难题突破小模块中包括了答题和删除两部分;在全真模拟小模块中包括了答题,交卷和收藏难点三部分;在错题集小模块中包括了收藏难点和删除两部分。而个人中心模块又分为登录,顺序练习,错题集,难题收藏模块。

4  详细设计

4.1  登录功能模块设计以及登录界面

在登录模块,提示是否要授权登录,并获取登录状态,将登陆数据写入,在微信请求时携带登录态,登录界面如图2所示。

登录模块获取用户信息的主要实现过程为:

onGetUserInfo:function(e){

if (!this.logged&&e.detail.userInfo) {

this.setData({

logged: true,

avatarUrl: e.detail.userInfo.avatarUrl,

userInfo: e.detail.userInfo

})

}

console.log(e)

this.onGetOpenid()

}

4.2  顺序练习模块

顺序练习功能模块里面包含有顺序答题型,收藏和结束答题小模块。顺序练习的主要实现过程为:

sxlx:function(){

wx.showActionSheet({

itemList: [‘科目一, ‘科目四],

success(res) {

if (res.tapIndex == 0){

wx.navigateTo({

url: ‘../indexpage/indexpage?kemu=1&mode=sx

})

} else if (res.tapIndex == 1){

wx.navigateTo({

url: ‘../indexpage/indexpage?kemu=4&mode=sx

})

}

console.log(res.tapIndex)

},

fail(res) {

console.log(res.errMsg)

}

})

}

4.3  隨机练习模块

随机练习模块里面包含有随机题型,收藏和结束答题部分。在首页界面,点击随机练习模块,进行答题测试,如果该题选择正确,那么就会自动跳转到下一道题目;如果回答错误,那么就会提示回答错误,并且显示正确答案。同时需要手动滑动到下一题继续进行作答,随机练习界面如图3所示。

随机练习模块主要实现过程为:

if(this.data.mode==”sj”){

startData.data.sort(function randomsort(a, b) {

return Math.random() > .5 ? -1 : 1;

//用Math.random()函数生成0~1之间的随机      });

wx.showToast({

title: ‘随机练习,

icon: ‘success,

duration: 2000

})

this.setData({

“pageTitle”: “随机模式”,

})

}

4.4  全真模拟模块

全真模拟模块包含答题,收藏,交卷和结束答题部分。在全真模拟模块,会有一个倒计时限制作答时间,在作答过程中它区别于随机练习模块的是,即使该题作答错误,也不会出现错误提示,而是会在页面的右下角更新当前做题情况的正确与错误题数,在答题过程中,遇到自己做错的题目,可以点击界面下方的收藏难点按钮,便会显示收藏成功。点击交卷按钮,便会跳转到答题结果页面,会显示出正确答题数和错误答题数,并显示是否已完成答题,全真模拟模块主要实现过程为:

onLoad: function (options,e)

{

console.log(options)

if

(Object.getOwnPropertyNames(options).length<=0)

{

options={

error:0,

right:0,

total:0

}

}

this.setData(

{

“error”: options.error,

“right”: options.right,

“total”: options.total,

“say”: “”

})

}

4.5  难题突破模块

难题突破模块包含答题,删除和结束答题部分。点击难题突破模块,会出现我的难题收藏,显示科目的收藏数;点击全部收藏,又可以继续顺序作答,回答正确直接跳到下一题,回答错误则有提示;在左下角还有一个删除按钮,可以把该题目从我们的收藏集中删除掉,难题突破模块的主要实现过程为:

myDifficultQue:function(){

wx.showActionSheet({

itemList: [‘科目一, ‘科目四],

success(res) {

if (res.tapIndex == 0){

wx.navigateTo({

url: ‘../difficultQuestion/difficultQuestion?kemu=1&mode=ntsc

})

} else if (res.tapIndex == 1){

wx.navigateTo({

url: ‘../difficultQuestion/difficultQuestion?kemu=4&mode=ntsc

})

}

console.log(res.tapIndex)

},

fail(res) {

console.log(res.errMsg)

}

})

}

})

4.6  错题集模块

错题集模块包含答题,收藏,删除和结束答题部分,该功能适用于科目二和科目的功能,点击错题集模块,会显示出我的错题数目;在我的错题模块中,可以点击左下角的收藏难点收藏难题,也可以点击删除,错题集模块主要实现过程为:

myErrorQue:function(){

wx.showActionSheet({

itemList: [‘科目一, ‘科目四],

success(res) {

if (res.tapIndex == 0){

wx.navigateTo({

url: ‘../errorQuestion/errorQuestion?kemu=1&mode=ctj

})

} else if (res.tapIndex == 1){

wx.navigateTo({

url: ‘../errorQuestion/errorQuestion?kemu=4&mode=ctj

})

}

console.log(res.tapIndex)

},

fail(res) {

console.log(res.errMsg)

}

})

}

5  结  論

本次设计与实现从整体来看,驾考助手小程序的基本功能已完成。登录模块采用了oAuth的验证方式,其登录接口有腾讯提供,安全性较强,经多次测试,能够正常的登录;练习模块,能够正常的对难题进行解析和收藏,有利于学员的针对性学习;全真模拟模块,经测试,可以准确的对题型进行评分和解析。

参考文献:

[1] 陈伟.微信小程序开发实战 [M].北京:人民邮电出版社,2017.

[2] 姚修杰.微信公众账号服务平台微服务的设计与研究 [J].通讯世界,2017(6):84-85.

[3] 刘红卫.微信小程序应用探析 [J].无线互联科技,2016(23):11-12+40.

[4] 徐峰.基于MySQL的PHP数据库访问技术 [J].计算机时代,2001(2):25-26.

[5] 王雨璠.基于微信公众平台的移动学习模式研究 [D].昆明:云南师范大学,2016.

作者简介:王小敏(1997—),女,汉族,广东湛江人,助教,学士学位,研究方向:计算机科学与技术。

猜你喜欢

刷题微信小程序
浅谈高中物理学习的刷题技巧
我们的时代需要“刷题”精神
始不垂翅,终能奋翼
始不垂翅,终能奋翼
简谈高中语文学习
图书馆微信小程序的应用现状及前景分析
基于CNKI的微信小程序研究文献计量分析
信息技术与专业课程融合路径探索
让思路自然简单些
从互联网生态看微信小程序的发展