前段时间开始学做微信小程序,花了半个月时间算是入门了
个人感觉学习还是挺快的,写了一个背单词打开的小程序,大概十几个页面 本文介绍的是实现每天背单词任务的这一个主要页面
项目做完第一个版本就停止维护了哈哈
前端代码如下:wx:if判断是否显示未背的单词界面
1 | <view wx:if="{ {!(showNot)&&!(cpt)}}" class="job_day"> |
用户点击不知道,进入单词详细界面
1 | <view wx:if="{ {showNot}}" class="detail_card"> |
下面是js部分代码 当用户点击(不认识)后的函数 这个页面的关键点,将用户不认识的单词,重新放入未背单词队列中,并且在队列末尾添加一个,队列中间添加一个 **today_task.push(this.data.counter) today_task.splice(length / 2, 0, this.data.counter)** 这样用户在后续中就会经常看到这个单词,加深印象 具体代码如下
this.setData({
showNot: true,
more: false
})
var today_task = wx.getStorageSync('task')
var length = today_task.length
today_task.push(this.data.counter)
today_task.splice(length / 2, 0, this.data.counter)
wx.setStorage({
key: "task",
data: today_task
})
},
###用户点击下一个时 因为页面有两个“下一个”的按钮,一个是用户在背单词界面已经认识该单词后直接点击的按钮 第二个是用户不认识该按钮,进入单词详细界面时的按钮,所以我给他们的id做了标记
通过id来判断用户是否记住这个单
1 | next:function(e) { |
###用户收藏单词,将单词写入收藏的缓存,其实有用自己服务器的话,写入数据库比较安全
handleSaveTap(){
if(wx.getStorageSync('collect')){
var collect = wx.getStorageSync('collect')
}
else {
var collect=[]
}
collect.push([this.data.content, this.data.pron, this.data.pron_audio, this.data.defen, this.data.definition])
wx.setStorage({
key: "collect",
data: collect
})
wx.showToast({ title: '收藏成功' })
},
liju(id) {
var that=this
wx.request({
url: 'https://api.shanbay.com/bdc/example/?vocabulary_id=' + id,
data: {},
method: 'GET',
success: function (res) {
console.log(res)
that.setData({
defen: [res.data.data[0], res.data.data[1], res.data.data[3], res.data.data[4]]
})
},
fail: function () {
},
complete: function () {
}
})
###用户完成单词任务后,点击进行单词测试
1 | test(){ |