为了背单词,我花了两天写了一款背单词小程序

前言

       “要是考试不考英语就好了”
        哎,提起英语,都是伤心事。有时候严重怀疑自己不是一块学习英语的料。单词背了忘,忘了背,背了又忘。考试之前看啥单词都会,一上考场:这单词啥意思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进行处理,非常感谢!

上一篇 2020年4月21日
下一篇 2020年4月21日

相关推荐