发布时间:2024-01-18 20:59:14 浏览量:184次
微信小程序云开发实战-答题积分赛小程序
前面的那一篇文章,我们已经完成了使用云开发的聚合能力实现从题库中随机抽取题目功能。
在页面加载时,实现从题库中随机抽取题目功能。那么,拿到数据后要干什么?如何做?

实现动态数据绑定,其实,概括起来就三步走:
1)先通过 Collection.get 来获取题库集合里的题目数据;

2)再使用setData函数将题目数据从逻辑层发送到视图层;

3)再Mustache 语法(双大括号)将变量包起来,实现动态数据绑定。

这里主要用到了radio-group组件,radio-group中选中项发生改变时触发 change 事件,detail = {value:[选中的radio的value的数组]}。
在radio-group使用bindchange绑定监听事件radioChange。

test.js定义监听函数radioChange。
// 选中选项事件
radioChange(e){
this.data.chooseValue[this.data.index] = e.detail.value;
},在组件中绑定一个事件处理函数,如bindtap,当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。
<button bindtap='okFunc' class="cu-btn lg round bg-sky">确定</button>在相应的Page定义中写上相应的事件处理函数,参数是event。
okFunc(){
// 如果没有选择
if (this.data.chooseValue[this.data.index] == undefined || this.data.chooseValue[this.data.index].length == 0) {
return wx.showToast({
title: '请选择答案!',
icon: 'none'
})
}
// 判断所选择的选项是否为正确答案
this.chooseJudge();
this.setData({
isOk: true
})
},// 判断所选择的选项是否为正确答案
chooseJudge(){
var trueValue = this.data.questionList[this.data.index]['true'];
var chooseVal = this.data.chooseValue[this.data.index];
if (chooseVal.toString() != trueValue.toString()) {
// 答错则记录错题
this.data.wrong++;
this.data.wrongListSort.push(this.data.index);
this.data.wrongList.push(this.data.questionList[this.data.index]._id);
}else{
// 答对则累计总分
this.setData({
totalScore: this.data.totalScore + this.data.questionList[this.data.index]['scores']
})
}
},在答题完毕后,实时计算成绩并更新所获得积分到用户答题总积分,也就是累加。
关键代码解读:
// 实时更新用户的答题积分
updateIntegration(){
// 连接云数据库
const db = wx.cloud.database();
// 获取集合的引用
const user = db.collection('user');
// 数据库操作符,通过 db.command 获取
const _ = db.command;
user
.doc(this.data.id) // 获取集合中指定记录的引用。方法接受一个 id 参数,指定需引用的记录的 _id。
.update({ // 发起更新请求
data: {
score: _.inc(this.data.score) // 更新操作符,原子操作,用于指示字段自增
}
}).then(res => {
})
},至此,已经实现了完整的答题交互逻辑以及功能,也就是整个答题页面的答题环节已经具备前后端以及数据库能力。云开发能力,真的极大地提升了开发效率。据我搭建过的网络安全知识答题、交通安全答题、 消防安全知识宣传、 安全生产知识学习、学法普法、五四青年节等答题活动或有奖竞答等应用,进行整理总结并分享,希望对大家有帮助。

热门资讯
怎样可以提升你的UI设计能力!第一个:站酷站酷想必是设计师都知道的一个网站,里面不止有UI设计的资源,还有其他设计的,不如:平面设计、网页设计、字体...
想要了解iPhone6界面设计的尺寸规范吗?这里为您详细介绍iPhone6的UI设计尺寸规范,包括界面尺寸、图标尺寸、可点击高度规范、搜索栏高度规范以及界面元素之间的距离规范。
3. 移动端UI设计中常见的5种APP界面类型,你get到了吗?
通过介绍移动端UI设计中的闪屏页、引导页、浮层引导页、空白页和首页等5种APP界面类型,帮助大家更好地了解UI设计的基本知识
将为大家介绍12个绝佳的UI设计网站,这些网站不仅可以为你提供灵感,还可以帮助你学习新的技巧,助力你的创意之旅!dribbbleDribbble 是一个面向设计师的...
在移动端设计中,列表页和表单页是不可或缺的部分。一个好的列表页和表单页设计能够让用户轻松地获取信息并产生点击欲望,从而提高点击率。本文将为你...
对于想要提高自己的设计能力和创造力的小白和UI设计师来说,这本书是一个很好的选择。4.《设计的觉醒》(IKKO TANAKA)推荐理由: 这本书是日本现代平面...
7. 设计中的色彩心理学:浅析中西方色彩的历史演变与设计应用
摘要:本文探讨了色彩的历史演变和设计应用。通过对色彩在早期文明社会中的实用运用、不同文化背景下色彩观念的差异、色彩在设计中的重要性以及新兴技...
8. 史上最全,平面设计UI设计必备的77个国内外素材、设计资源网站
ui设计社区,大神太多了。3、behance: https://www.behance.net/ ,著名设计... 对于品牌设计师来说,除了图案素材收集之外,还有一个很重要的,就是设计故...
探索零基础UI设计培训的时长与薪资前景。了解数字艺术教育领域的专业课程,以及培训后的职业发展机会。
10. 武汉UI设计培训班费用怎么样?想学UI设计要多少钱?
想了解武汉UI设计培训班的费用是多少吗?不知道学UI设计要花多少钱?不妨看看这篇文章,了解UI设计培训班的学费价格以及学习内容。
最新文章
同学您好!