标签:waf 任务 job target 开发 alt 通过 last voc
微信背单词类小程序,小鸡单词源码下载,微信小程序开发学习案例,小程序开发教程。一个用来背单词每天打卡的微信小程序,还有词汇测试,包含多种词库后台由腾讯云wafer解决方案。
前段时间开始学做微信小程序,花了半个月时间算是入门了
个人感觉学习还是挺快的,写了一个背单词打开的小程序,大概十几个页面
本文介绍的是实现每天背单词任务的这一个主要页面
前端代码如下:wx:if判断是否显示未背的单词界面
<view wx:if="{{!(showNot)&&!(cpt)}}" class="job_day"> <view class="day_num">{{content}}</view> <view class="pron-container"> <image class="pron-icon" bindtap="read" id="{{pron_audio.us[0]}}" src="/images/ji.png"></image> <text class="word-pron" bindtap="read" id="{{pron_audio.us[0]}}">/{{pron.uk}}/</text> </view> </view>
用户点击不知道,进入单词详细界面
<view wx:if="{{showNot}}" class="detail_card"> <view class=‘page‘> <view class="detail_word">{{content}}</view> <view class="detail_pron"> <image bindtap="read"style="width: 20px; height: 20px; background-color: wheat;" mode="scaleToFill" src="../../images/yuying.png" id="{pron_audio.uk[0]}}"></image> <view bindtap="read"id="{{pron_audio.uk[0]}}">英/{{pron.uk}}/</view> <image bindtap="read" id="{{pron_audio.us[0]}}" style="width: 20px; height: 20px; background-color: wheat;" mode="scaleToFill" src="../../images/yuying.png"></image> <view bindtap="read" id="{{pron_audio.us[0]}}">美/{{pron.us}}/</view> </view> <view style="width:80%;font-size: 16px;font-family: Songti TC;padding-bottom: 6px;" >{{definition}}</view> <view class="notice_line"></view> <view bindtap="moredefen" style="width:76%; color:gray;text-align:right;padding-bottom:20px;padding-right:45px;font-size:16px; ">更多例句 </view> <view wx:if="{{!(more)}}"> <view class="liju_content"> <view class="detail_defin" >{{defen[0].first}}<view style="color:red;display:inline;"> {{defen[0].mid}} </view>{{defen[0].last}}</view> <view class="detail_defin">{{defen[0].translation}}</view> <view style="padding-bottom:20px;"></view> <view class="detail_defin" >{{defen[1].first}}<view style="color:red;display:inline;"> {{defen[1].mid}} </view>{{defen[1].last}}</view> <view class="detail_defin">{{defen[1].translation}}</view> </view>
下面是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来判断用户是否记住这个单
next:function(e) { console.log(e) if (e.currentTarget.id ){ wx.setStorage({ key: this.data.time, data: wx.getStorageSync(this.data.time)+1 }) } var today_task = wx.getStorageSync(‘task‘) var length = today_task.length if (length > 0) { var n = today_task.shift() this.setData({ showNot: false}) this.setData({counter:n}) wx.setStorage({ key: "task", data: today_task })this.search(n) } else{ this.complete() }},
用户收藏单词,将单词写入收藏的缓存,其实有用自己服务器的话,写入数据库比较安全
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 () { } })
用户完成单词任务后,点击进行单词测试
test(){ wx.navigateTo({ url: ‘../test/test‘, success: function(res) {}, fail: function(res) {}, complete: function(res) {}, }) } })
代码下载地址:微信小程序小鸡单词源码下载
更多微信小程序开发学习源码下载
movable-area、cover-view组件实现的微信小程序左划删除功能
微信小程序开发的日历组件,用swiper实现,可左右滑动选择
更多微信小程序开发资源下载:微信小程序开发案例参考
标签:waf 任务 job target 开发 alt 通过 last voc
原文地址:https://www.cnblogs.com/slim/p/8932972.html