“背单词”微信小程序的开发与实现

2020-01-08 19:25张文静
湖北农机化 2020年2期
关键词:背单词字符代码

孙 鹏 张文静

(沈阳工学院信息与控制学院,辽宁 抚顺 113122)

1 小程序云开发随机数据的获取与输入监视

小程序背单词开发一共分为3个部分:数据随机获取,输入监视与字符匹配,提示按钮功能实现,首先需要前端获取到云端数据库内的数据,再通过输入监视与数据库内数据进行匹配,得到单词拼写的结果,在同学不知道单词的情况可以点击提示按钮查看正确单词拼写,达到背单词的目的。

1.1 云开发数据随机获取

在云数据库内获取数据时需要重新调用数据库并使用随机函数sample()当作索取的条件来随机取出词汇,并将取出的数据赋值给为全局变量,使输入内容运用KMP算法的逆运算逻辑对其字符匹配,并当用户不认识且不会拼写的情况添加提示按钮提示,达到背单词的目的。具体代码如下:

数据库获取数据;

调用数据库;

const cloud = wx.require(‘wx-server-sdk’),

cloud.init(),

const db = wx.cloud.database(),

db.collection(‘SITdatabase’)

.aggregate()

.sample({size: 1, })

.end()

.then(res => {this.setData({list: res.list})

console.log(res)

let words = res.list[0].English

app.globalData.words = words})

代码解释:首先获取数据库,再进行对数据初始化,再随机获取一条数据,刷新单词数据,并打印至控制台,将已获取的数据作为全局变量app.globalData.words传到输入函数内。

1.2 输入监视与字符匹配

将获取已知的单词赋值给全局变量app.globalData.words并将其与输入后的单词进行匹配,并检查与提示输入单词是否正确。具体代码如下。

inputWordRandom: function (e) {

var word = this.data.word

if (e.detail.value == app.globalData.words) {wx.showToast({title: '回答对了呢!',

icon: 'success'})

this.setData({color: 'rgb(40, 247, 33)'

if (e.detail.value.length == app.globalData.words.length) {

if (e.detail.value != app.globalData.words) {

wx.showToast({

title: '不对呀,看看正确答案~',

icon: 'none'})

this.setData({word: app.globalData.words,

color: 'rgb(247, 33, 33)'})}}

console.log(e)},

代码解释:先定义data内word值作为监视对象,将输入值与全局变量app.globalData.words进行字符匹配,并提示输入是否正确并刷新字体颜色(this.data.colors)并将输入内容打印至控制台。

1.3 提示按钮的实现

在同学们遇到不认识的单词拼写时,在此加入了提示功能,为此方便同学们对单词的记忆,具体代码如下:

getWord: function(e){

if(app.globalData.words ===undefined){app.globalData.words = '点击查看以查看单词拼写' }

wx.showToast({

title: app.globalData.words,

icon: 'none'})},

代码解释:当同学点击提示按钮的时候,刷新单词数据,并将答案传给app.globalData.words作为提示对象,显示出单词答案。

2 结束语

背单词功能在逻辑上主要运用KMP算法的逆运算过程,并使用app.globalData.words作为全局变量与输入值匹配,使得背单词功能更全面,使用户背诵单词的效率更高。

猜你喜欢
背单词字符代码
编辑精选APP
编辑精选APP
开心炸弹
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
创世代码
创世代码
创世代码