1:在云函数之中,拿到小程序端扫一扫获取到的传的编码,该如何传参?
通过看文档可以学会,在云函数里,我们可以通过传递一份data来获取这里面的数据,然后再通过event来拿到对应的数据。
2:复制这个api里面的方法:
打开实战一里面写的小程序端的扫码的js界面,把这个方法放在success里面。
要调用的云函数的名称name:要改成成实战二教程里面建立的云函数bookinfo
3:继续修改我们要传递的参数
传递的参数是isbn,结果是扫码得到的result
4:将result的结果打印出来,ok,用户端(小程序端)代码写好了。
用户端(小程序端)代码写完了,就这些:
// pages/scanCode/scanCode.js Page({ /** * 页面的初始数据 */ data: { }, scanCode: function(event) { console.log(1) // 允许从相机和相册扫码 wx.scanCode({ onlyFromCamera: true, scanType: ['barCode'], success: res => { console.log(res.result) // wx.cloud.callFunction({ // 要调用的云函数名称 name: 'bookinfo', // 传递给云函数的参数 data: { isbn: res.result }, success: res => { console.log(res) }, fail: err => { console.error(res) } }) }, fail: err => { console.log(err); } }) } })
5:然后开始写云函数端代码
打开bookinfo里面的index.js,将event结果打印出来,请求云函数,将云函数之中的isbn返回回来
写好了
// 云函数入口文件 // const cloud = require('wx-server-sdk') // cloud.init() // 云函数入口函数 //var rp = require('request-promise') exports.main = async (event, context) => { console.logI(event); return event.isbn // var res = rp('https://api.douban.com/v2/book/isbn/' + event.isbn).then(html => { // return html; // }).catch(err => { // console.log(err) // }) //return res // const wxContext = cloud.getWXContext() // return { // event, // openid: wxContext.OPENID, // appid: wxContext.APPID, // unionid: wxContext.UNIONID, // } }
右击,上传并且部署云函数
测试一下,云函数调用成功,返回的结果(控制台打印)是isbn。
好的,云函数代码编写已经完成。
接下来就是实战四,调用豆瓣的API,实现具体的数据。