手把手教你搭建答题活动首页、答题页、答题成绩页小程序。现在我们进入了功能交互章节。这是功能交互篇的第三篇,如何使用云开发实现查询题库的功能。其实说白了就是相当于在前后端分离架构中发送异步请求。先看看官方文档是怎么说的,再看看我是怎么理解的,怎么做的。希望大家能从中得到启发,进而找到适合自己的学习方法。软件架构:微信原生小程序+云开发戳源码地址,获取源码,版本不断迭代……准备工作按照惯例,先看看官方文档是怎么说的.文档不一定要通读,可以按照“用什么看”的原则,有针对性地查阅文档。这里应该有个表情,鱿鱼喜“看文档”。jpg关于什么是云开发,云开发有什么能力,那是你说的,blahblah~关于什么是数据库,怎么调用小程序,那是你说的,blahblah~嗯,有兴趣的话,你也可以仔细阅读其他的。不吹牛,毕竟微信小程序开发的官方文档是我见过的官方技术文档描述最详细的了。当然还有一些地方已经简单提到了,希望能再详细一点。不成文的云开发能力解析,包括云数据库、云存储、云函数、云调用等,可以说是各种概念,那么多概念,眼花缭乱,头晕眼花。其实大可不必,有的有,有的没有。可以组合使用,也可以只使用其中一种。这就是“仁者见仁,智者见智”。而这里,我们只是使用云数据库的小程序端SDK。如果你想免费快速开发一个完整的问答小程序项目,用小程序进行云开发可能是最好的选择。小程序的云开发主要是用到前端开发的知识。是的,你没听错,让我们关注它。从此,摆脱“前端姐弟”“后端姐弟”的影子,你可以狠一点,整个项目都可以自己搞定,粮草先行。”要调用数据库,首先要有数据库。这句看似无稽之谈,其实是对一系列操作的隐喻。不禁要问灵魂的三个问题:开云了吗开发服务?创建数据库集合了吗?添加主题数据了吗?没有?!没有?!没有?!还有谁1.一步一步教你操作数据库1)点击微信开发者工具的云开发图标打开云开发控制台2)点击数据库图标进入数据库管理页面,点击集合名称右侧的+图标创建数据集合。3)这里我们只需要添加一个activityQuestion的集合,用来存放题库。4)添加题型数据,或导入题库,两种方式均可。①添加记录,逐题手动添加,逐题……②导入题库,嗖的一声直接导入提前准备好的题库json文件。5)老板在喝茶,没有。大哥,记得设置数据权限。否则默认为“只有创建者可以读写”,到时候找不到数据就GG了。别跑了,你还有bug没修2.题库的数据库设计看得一清二楚,一道题其实对应一条记录。你可以大致理解为集合中的记录类似于数组中的对象。您创建的每个问题都会自动生成一个id字段,您可以忽略它。在一个问题中,包含的字段无非就是question、option、true、checked。字段解释:1)题干2)optionoption3)true正确答案4)检查题目是否已经完成3、小程序端调用数据库的方式很简单,我们可以将下面的代码写成一个事件处理器,然后直接在页面的生命周期函数中执行。其实总结起来就是三步:1)首先使用wx.cloud.database()获取数据库的引用(相当于连接数据库);2)然后使用db.collection()获取集合的引用;3)然后使用Collection.get获取集合中的记录。项目代码逐行解读://连接云数据库constdb=wx.cloud.database();//获取集合引用constactivityQuestion=db.collection('activityQuestion');//数据库运算符const_=db.command;Page({/***页面初始数据*/data:{questionList:[],//问题列表索引:0//当前问题索引},/***生命周期函数--监控页面加载*/onLoad:function(options){//获取题库-函数执行this.getQuestionList()},//获取题库-函数定义getQuestionList(){//显示加载提示框wx.showLoading({title:'拼命加载Middle'});//建立查询条件activityQuestion.where({//指定查询条件,返回新的集合引用和新的查询条件true:_.exists(true)}).get().then(res=>{//获取集合数据,或者获取根据查询条件过滤后的集合数据。console.log('[云数据库][activityQuestion]查询成功')console.log(res.data)letdata=res.data||[];//将数据从逻辑层发送到视图层,通俗地说,就是更新数据到页面显示this.setData({questionList:data,index:0});//隐藏加载提示框wx.hideLoading();})}})4.保存题库查询结果,等待代码编译完成后,点击“开始答题”按钮,跳转到答题页面,可以看到调用的20条数据库记录在控制台中。稍微解释一下,如果不指定限制,默认最多取20条记录。
