Skip to content
On this page

快速开始开发云函数

这是一个为首次接触 AirCode 的开发者准备的 5 分钟上手教程。

学习目标

通过本教程,你将学会:

  1. 学会使用命令行工具完成云函数的创建、开发和部署。
  2. 实现一个可以回复用户「Hello World」 的机器人。

Step 0. 创建飞书应用并启用机器人能力

创建应用

打开飞书开放平台开发者后台,创建一个名为「Hello World」的应用。

获取 App ID 和 App Secret

创建完成后,在应用详情页找到「凭证与基础信息」,复制应用的 App ID 和 App Secret 备用。

复制 Verification Token

在事件订阅页面复制 Verification Token 备用。

添加机器人能力

在应用详情页点击左侧的「添加应用能力」,添加「机器人能力」。

申请权限

在应用详情页点击左侧的「权限管理」,进入权限管理页面,添加「获取与发送单聊、群组消息」和「读取用户发给机器人的单聊消息」权限。

Step 1. 安装命令行工具

使用 FaaS 提供的命令行工具,你可以方便的在本地初始化、开发和部署云函数。

安装 CLI 工具

为了在本地调试晕函数,你首先需要安装 Node.js。推荐安装 Node.js 18.15.0,过低的版本可能导致命令行工具报错。

通过如下命令可以检查本地的 Node.js 版本

sh
node -v

安装完成 Node.js 和 npm 后,就可以通过下述命令安装命令行工具,这会安装全局可用的 opdev 命令。

sh
npm install @lark-opdev/cli@latest -g -f

验证是否安装成功

安装完命令行工具后,可以在命令行中执行以下指令检查是否成功安装。

sh
opdev help

安装正常将看到如下输出:

sh
opdev: Lark Open Platform Developer Toolset

USAGE
  $ opdev [COMMAND]

COMMANDS
Account related
  login     Login with feishu account
  logout    Log out of the Feishu account
  ....

也可用 opdev version 命令来检查工具版本:

opdev --version

2.19.1

登录和登出

安装完成命令行工具后,首先需要进行登录。该命令会打开你的默认浏览器进行登录。若你的浏览器上存有飞书开放平台的登录状态,会默认登录到当前企业用户下,否则需要进行扫码登录。

sh
opdev login

如需登出当前账号,可执行

sh
opdev logout

Step 2. 创建项目

在进行本地开发之前,你需要先创建项目。在项目目录中运行以下命令可以开始初始化:

sh
mkdir faas
cd faas
opdev init

输入命令后,命令行工具将会自动在当前目录下创建一个 faas 目录,并在目录中创建 index.js 文件、 package.json 文件以及 .faasignore 文件。

其中:

  • index.js 文件将会作为你的云函数默认入口文件
  • package.json 文件将会作为项目配置,记录着你的项目的基本配置。
  • .faasignore 文件记录了不需要上传至云端的文件,默认配置无需修改。

Step 3. 开发云函数

编写代码

使用你熟悉的代码编辑器(如 Visual Studio Code),打开 index.js 文件,输入如下代码,并将飞书应用的 APPID、APP Secret 和 Verification Token 写在顶部的常量定义中

js
import * as lark from '@larksuiteoapi/node-sdk';

const APPID = ""; // APPID 
const SECRET = ""; // APP Secret
const TOKEN = "";  // Verification Token

// 初始化飞书 SDK 
const client = new lark.Client({
  appId: APPID,
  appSecret: SECRET,
});

modules.export = async (request, response, context){
  // 处理验证请求
  if (request.body.challenge) {
    return { challenge: request.body.challenge }
  }
  
  // 处理非本应用请求
  if(request.body.header.token != token){
    return { code: 2 }
  }
  
  if (request.body.header.event_type == "im.message.receive_v1") {
    // 使用飞书 SDK 回复一个 Hello World
    const sendResponse = await client.im.message.create({
      params: {
        receive_id_type: 'open_id',
      },
      data: {
        receive_id: request.body.event.sender.sender_id.open_id,
        msg_type: 'text',
        content: '{"text":"Hello World"}',
      }
    })
    return {
      code: 0,
      data: sendResponse
    }
  }
  
  return {
    code: 1
  }
}

安装依赖

代码编写完成后,在命令行中执行如下代码,来安装所需依赖,这些依赖将帮助你完成特定的工作,减少代码量。

sh
npm install --save @larksuiteoapi/node-sdk
sh
yarn add @larksuiteoapi/node-sdk

Step 4. 部署云函数

完成代码编写和依赖安装后,接下来部署云函数。

sh
opdev deploy

部署成功后,你将会看到如下输出,这里的 https://invoke.faas.feishu.io/index 便是你的函数调用地址。复制函数调用地址,稍后备用。

Deployed Success

Your Function URL is: https://invoke.faas.feishu.io/index

Step 5. 配置事件回调

打开飞书飞书开放平台开发者管理后台,找到刚刚创建的「Hello World」机器人,并进入「事件订阅」页面,填写事件订阅请求地址,并保存。

Step 6. 创建版本发布应用

在应用详情页,点击左侧的「版本管理与发布」,创建一个新的版本并提交申请线上发布。待企业管理员审核通过后,发布该应用。

Step 7. 测试机器人

打开飞书,找到「Hello World」机器人发送消息,将会看到机器人给你回复的「Hello World」。

恭喜你🎉,已经成功完成了第一个机器人的部署。

了解更多

如果你希望了解更多关于运行时托管,可以参考如下教程: