【微信小程序】使用云调用功能——以调用文本内容安全检查API为例

云调用

云调用是云开发提供的基于云函数使用小程序开放接口的能力。若某些接口标明云调用则表明该接口支持使用云调用
在这里插入图片描述

云调用与https调用

个人觉得,云调用是https调用的简化版

使用https API的时候为了保证安全会需要access_token,但由于access_token的特殊机制需要一台中控服务器来统一获取和管理access_token,这是比较麻烦的。

小程序开发一直追求简单,此时云调用的作用就展现出来了,云调用是基于云函数端的,只要是在从小程序端触发的云函数中发起的云调用都经过微信自动鉴权,可以在登记权限后直接调用如发送模板消息等开放接口。

另外使用https调用需要使用一些第三方http模块,某些时候在http通讯时可能会产生一些稀奇古怪的错误。相比之下,使用官方提供的云调用可能会更加稳定。

使用示例——文本内容安全检查API

0. 准备

  • 首先,小程序开发强烈建议根据文档开发。由于小程序的快速更新迭代,教程是有可能落后淘汰的,所以建议根据文档来开发,比如本文使用的文档security.msgSecCheck
  • 因为云调用是基于云函数的,所以理论上需要你开通云开发功能,配置好云开发环境。
  • 云调用要求wx-server-sdk版本在0.4.0或以上(默认是最新版latest,基本不会有问题)
  • 你的微信小程序开发工具版本要在1.02.1904090或以上

1. 配置config.json

在你要调用API的那个云函数的目录下修改config.json(若没有这个文件需要你手动创建)
基本格式是:

{
  "permissions": {
    "openapi": [
      //这里填你要调用的接口的权限名
      //可以填多个,符合json格式即可
    ]
  }
}

例如:
目录结构
编写好config.json后,需要右键它选择更新权限配置。权限更新可能有一定的延迟,等待一会即可。

2. 在云函数中调用接口

const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

// 云函数入口函数
exports.main = async (event, context) => {
  let content = event.content

  let response = {
    code: 200,
    msg: "评论成功"
  }

  try{
  	/**
	 * await用于等待一个异步任务执行完成的的结果,根据你的业务需要使用
	 * 调用方法格式:cloud.接口方法		(接口方法会在文档中标明)
	 * 参数、返回、异常等最好查看文档
	 */
    const msgSecCheckResult = await cloud.openapi.security.msgSecCheck({
      //这里是接口参数部分,不同接口需要不同的参数
      content: content
    })
    console.log(msgSecCheckResult)
  } catch (err) {
  	//这个接口风格比较奇特,若检测内容不合法会抛出异常
  	//这里用了try-catch其实好像用Promise风格也是可以的
    console.log("检测不合法")
    response.code = 500
    response.msg = "内容不合法"
    return response
  }

  //其它的业务逻辑……
}

官方文档

云调用 | 微信开放文档

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值