返回

微信公众号HTTP调用云开发,无需配置云开发能力

前端

前言

这是我参与更文挑战的第4天,活动详情查看:更文挑战

写在前面:

  • 近期使用腾讯云cloudbase开发了微信公众号H5应用;
  • 使用它主要看重了它的一站式后台管理,只要做一个简单的配置就能有一个TCB后台用于管理自己的H5页面;
  • 但通过最近几天使用,发现它虽然配置简单,但有些配置还是比较麻烦的,比如云开发配置,针对不同的环境不同的平台,还需要配置相关的证书文件,还是挺麻烦的;

后来在微信开放社区上找到了一个方法,实现无需配置云开发能力即可调用云开发的云函数、数据库、文件存储等能力。

本文分享如何在微信公众号通过HTTP调用云开发。

准备工作

创建云开发项目

  • 登录腾讯云控制台,并选择要使用的地域
  • 单击“新建项目”,并输入项目名称
  • 选择“空白项目”,然后单击“创建”

初始化云开发项目

  • 在控制台左侧菜单中,单击“开发管理”
  • 单击“初始化项目”
  • 选择要用于云开发的应用程序类型,然后单击“初始化”

获取云开发环境ID

  • 在控制台左侧菜单中,单击“概览”
  • 找到“环境 ID”字段,并复制其值

获取云开发Secret ID和Secret Key

  • 在控制台左侧菜单中,单击“设置”
  • 单击“凭证管理”选项卡
  • 在“Secret ID 和 Secret Key”部分中,找到“Secret ID”和“Secret Key”字段,并复制其值

创建云函数

  • 在控制台左侧菜单中,单击“云函数”
  • 单击“新建函数”
  • 选择“HTTP 函数”,然后单击“下一步”
  • 输入函数名称,然后单击“下一步”
  • 选择要使用的运行时环境,然后单击“下一步”
  • 在“代码”选项卡中,粘贴以下代码:
const cloud = require('tcb-admin-node');

exports.main = async (event, context) => {
  // 初始化云开发环境
  cloud.init({
    env: process.env.TCB_ENV_ID,
    secretId: process.env.TCB_SECRET_ID,
    secretKey: process.env.TCB_SECRET_KEY,
  });

  // 调用云开发的云函数
  const result = await cloud.callFunction({
    name: 'helloWorld',
    data: {
      name: 'John Doe',
    },
  });

  // 返回结果
  return result;
};
  • 在“环境变量”选项卡中,添加以下环境变量:
名称
TCB_ENV_ID 云开发环境ID
TCB_SECRET_ID 云开发Secret ID
TCB_SECRET_KEY 云开发Secret Key
  • 单击“保存”,然后单击“部署”

在微信公众号中使用云开发

创建微信公众号应用

  • 登录微信开放平台,并选择要使用的公众号
  • 在左侧菜单中,单击“设置”
  • 单击“开发者设置”选项卡
  • 在“基本配置”部分中,找到“AppID”和“AppSecret”字段,并复制其值

配置微信公众号应用

  • 在控制台左侧菜单中,单击“应用管理”
  • 单击“新建应用”
  • 选择“公众号应用”,然后单击“下一步”
  • 输入应用名称,然后单击“下一步”
  • 在“公众号配置”部分中,粘贴微信公众号的AppID和AppSecret,然后单击“下一步”
  • 在“授权回调域名”部分中,输入以下网址:
https://tcb-http-request-xxxxxxxx.tcb.qcloud.la/hello-world
  • 其中,“xxxxxxxx”是你的云开发环境ID
  • 单击“完成”

在微信公众号中使用云开发

  • 在微信公众号中,发送消息“hello world”
  • 微信公众号将调用云开发的云函数,并返回结果

总结

本文分享了如何在微信公众号中使用云开发,无需配置云开发能力。通过这种方法,您可以轻松地调用云开发的云函数、数据库、文件存储等能力。