前言
“要是考试不考英语就好了”
哎,提起英语,都是伤心事。有时候严重怀疑自己不是一块学习英语的料。单词背了忘,忘了背,背了又忘。考试之前看啥单词都会,一上考场:这单词啥意思br> 前两个月又开始了痛苦的英语学习。起步:背单词。开始还是按照以前的方法,每天规定背多少个单元,以此类推…当背完之后,测试自己的单词数。懵了,明明背过的单词,依然记不住…
总结失败经验,百度:为什么单词记不牢现:艾宾浩斯遗忘曲线[了解一点,没有实践过]。为了验证艾宾浩斯遗忘曲线是否有效,海轰按照遗忘表格背了一个月单词[中间有几天没有坚持住]点开测试 站,哈哈,单词量居然还真的提高了[具体提高多少就不说了,不然就可以猜出一共会多少个词了]
至今也用过几款单词APP,很好,但是感觉不适合自己。
不如,给自己写个吧o( ̄︶ ̄)o 希望实现的功能如下:
- 利用艾宾浩斯遗忘曲线记忆单词,统计每个单词自己错误的次数,便于复习
- 界面尽量简单,好操作一点
- 背诵一遍单词后,需要对之前的单词进行复习
程序截图
从思路上看,难度不大。开始的时候海轰也是这样认为的。然而,真正自己开发的时候,完了,太难了。其他不论是”认识”/“下一个”,方法都是一样的,难就难在如何在一个方法中区分不同的情况。比如,认识有新学时候的认识,也有复习时候的认识。逻辑性比较强,这里花费的时间最多!部分demo代码如下:
// 下一个单词 nextword:function(){ wx.vibrateShort({}) var k=this // 背诵新单词+复习前几天的单词 if(k.data.isreview==false) { // 没有背完一个章节 if (k.data.id_word k.data.words_length - 1) {k.setData({ id_word: k.data.id_word + 1, word: k.data.words[k.data.id_word + 1], isshowexplain: false,}) } // 背完了该章节 else {// 所有章节都背完了if (k.data.first_words == k.data.id_day_length+2) { console.log("所有章节背完") wx.showToast({ title: '背完啦(^o^)/~', icon: "none", mask:true }) // 当今天新单词背诵完毕 立刻复习今天的单词 k.setData({ isshowexplain:false, isreview:true, isrv:true, })}// 获取下一章节 单词else { wx.showLoading({ title: '下一章节', mask: true }) console.log("本章节背完了,背下一个章节了") // 获取下个一个背诵章节的单词 db.collection('words').where({ chapter: parseInt(k.data.id_day[k.data.id_day_length - k.data.first_words]) }).get().then(res => { console.log(res.data[0])//这一天第一个需要背诵的章节 wx.hideLoading() k.setData({ words: res.data[0].words,//第一章节的所有单词 words_length: res.data[0].words.length,//第一章节单词数量 word: res.data[0].words[0],//第一章节第一个单词 first_words: k.data.first_words + 2, id_word: 0,// isshowexplain: false, review_wordnums: k.data.review_wordnums + res.data[0].words.length }) }).catch(err => { wx.showToast({ title: '出错啦', icon: "none", mask: true }) })} } } // 复习今天背诵的单词 else { // 不需要复习 if(k.data.review_words.length==0) {wx.showLoading({ title: '(^o^)/~',})var time = util.formatTime(new Date())// 如果记录中存在该用户console.log(k.data.isexist)if (k.data.isexist==="true"){ console.log("更新数据x") console.log(time) console.log(k.data.today_chapter) console.log(k.data.today_wordnums) console.log(k.data.openid) // 调用云函数 积分减一 wx.cloud.callFunction({ // 要调用的云函数名称 name: 'HHPro_functions', // 传递给云函数的event参数 data: { function_name: "update_words", openid: k.data.openid, last_time: time, today_chapter: k.data.today_chapter,//今日章节 words_nums:k.data.today_wordnums,//已经背诵单词总数 } }).then(res => { console.log("更新数据") k.setData({ result:true }) wx.hideLoading() }).catch(err => { console.log(err) })}// 不存在else声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!