一步步开启小程序云调用之路

  • 在项目根目录找到 project.config.json 文件,新增 cloudfunctionRoot 字段,指定本地已存在的目录作为云函数的本地根目录
    "cloudfunctionRoot": "./functions/"

之后,在app.json配置cloud

   "cloud": true
云开发入口.png

创建环境确定。

  • 本地创建functions目录,右键新建Node.js云函数,输入函数名即可创建一个云函数模板。
    创建云函数模板.png

    云函数模板.png

    云函数的传入参数有两个,一个是 event对象,一个是 context对象。event指的是触发云函数的事件,当小程序端调用云函数时,event就是小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid和小程序的 appidcontext 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况。
  • 配置 config.json
{
  "permissions": {
    "openapi": [
      "ocr.idcard"
    ]
  }
}
  • 编写函数(index.js)
// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  // const wxContext = cloud.getWXContext()

  // return {
  //   event,
  //   openid: wxContext.OPENID,
  //   appid: wxContext.APPID,
  //   unionid: wxContext.UNIONID,
  // }
  try {
    const result = await cloud.openapi.ocr.idcard({
        type: 'photo',
        imgUrl: event.imgUrl // 参数
      })
    console.log(result)
    return result
  } catch (err) {
    console.log(err)
    return err
  }
}
  • 安装依赖。
    云函数中有使用到 npm 模块,在函数目录下根据package.json安装依赖运行
npm i 
本地调试菜单.png

开启调试.png
  • 测试页面
// 先初始化,不然报错
wx.cloud.init()

wx.cloud.callFunction({
    // 云函数名称
    name: 'idcard',
    // 传给云函数的参数
    data: {
        imgUrl: encodeURIComponent(imgUrl)
    }
})
    .then(res => {
        console.log(res.result)
    })
    .catch(console.error)
  • 部署
    本地测试通过之后,可以创建并部署


    部署.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,315评论 0 3
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,945评论 0 15
  • 有时候会想,时间可不可以慢一点,再慢一点,从来都跟不上你的脚步,许多事来不及做,做了却已经错过那个人最美好的时光。...
    天黎琉璃阅读 689评论 19 10
  • 什么是线程中断 Java中断机制是一种协作机制,也就是说通过中断并不能直接终止另一个线程,而需要被中断的线程自己处...
    骊骅阅读 549评论 0 1
  • 与君梦里依稀见 一袭孤冷一身轻 望向故里 又是何年草色青 涓涓如水,青丝缕缕 叹息落花雨霖铃 遥寄书信可知否 声声...
    岑硕2013阅读 239评论 0 0