HarmonyOS Next API12最新版 端云一体化开发-云函数篇

一、新建一个端云一体化项目

见文章:

HarmonyOS NEXT API12最新版 端云一体化开发-创建端云一体化项目流程_鸿蒙appapi-CSDN博客

二、官方文档

使用限制-云函数 - 华为HarmonyOS开发者 (huawei.com)

Cloud Foundation Kit简介-Cloud Foundation Kit(云开发服务)-应用服务 - 华为HarmonyOS开发者 (huawei.com)

三、创建云函数

  1. 选中 cloudFunctions右键
  2. 添加 cloud Function
  3. 起名为:hello 点击OK

可以出发云函数的时机:

  1. http请求
  2. 云数据库(可以在插入数据时触发云函数...)
  3. 云存储 (可以在上传文件时触发云函数...)
TypeScript 复制代码
/*
event:表示输入的信息
context:云函数执行时,上下文信息(如:环境变量)
callback:输出(返回结果)
logger:记录日志(四个级别:debug、info、warn、error)
*/

四、编写云函数

javascript 复制代码
let myHandler = async function (event, context, callback, logger) {
  // logger.info(event);
  logger.info(JSON.stringify(event));// 这里转化为JSON格式,便于观看

  /**
   * 1.触发时机
      http 请求
      云数据库(插入)
      云存储(上传文件)

      2.四大参数
       event 输入信息
        context 上下文信息(环境变量)
         callback 输出(返回结果)
           logger 记录日志
   */

  // 返回的信息
  // callback({
  //   code: 0,
  //   desc: "Success."
  // });

  callback({
    code: 200,
    desc: "Hello Cloud Function."
  });
};

export { myHandler };

五、云函数运行

调用云函数有两种方法:

1、 本地部署测试

2 、云端部署测试

1)本地部署运行

选中cloudFunction右键 选择Run Cloud Function

如图所示:运行成功

2)云端部署测试

六、查看AppGallery Connect

1)打开网站查看

AppGallery Connect | 移动场景服务 | 移动应用开发 | 华为开发者联盟 (huawei.com)

2)开始测试

七、端侧调用云函数

1)找到文件:agconnect-services.json

2)下载之后,放在rawfile文件下,如果没有,请自行新建

3)添加依赖

entry目录下的oh-package.json5

TypeScript 复制代码
// 添加:主要前2个依赖
"dependencies": {
    "@hw-agconnect/cloud": "^1.0.0",
    "@hw-agconnect/hmcore": "^1.0.0",
    "@hw-agconnect/auth-component": "^1.0.0",
    "long": "5.2.1"
  }

4)初始化AGConnect

TypeScript 复制代码
import { initialize } from '@hw-agconnect/hmcore';
import { buffer } from '@kit.ArkTS';

// 修改EntryAbility.ets文件
async onWindowStageCreate(windowStage: window.WindowStage): Promise<void> {

      // 初始化
      const context = this.context
      const value = await context.resourceManager.getRawFileContent("agconnect-services.json")
      let json: string = buffer.from(value).toString("utf8")
      initialize(this.context,JSON.parse(json))
}

5)改变进入应用窗口

6)ArkTS界面开发

TypeScript 复制代码
// 使用按钮添加单击事件,引入cloud对象来调用云函数

import cloud from '@hw-agconnect/cloud'

@Entry
@Component
struct MyIndex {
  @State message:string = ""

  build() {
    Column(){
      Button("调用hello云函数").onClick( async()=>{
        console.log("s")
        const result =  await cloud.callFunction({
          name:'hello', // 云函数名称
          version:"$latest", // 云函数版本,$latest表示为最新版
          params:{} // 传递参数
        })
        this.message =result.getValue().message
      })
      Text(this.message)
    }.width("100%").height("100%")
  }
}

7)在模拟器中运行

8)运行结果如下,表示调用成功

相关推荐
传奇开心果编程1 小时前
【ArkUI 练中学】第14课:应用性能优化实战
学习·ui·华为·harmonyos
用户593096009781 小时前
Flutter 鸿蒙化实战:flutter_tts 适配 OpenHarmony,文本转语音
harmonyos
威哥爱编程3 小时前
HarmonyOS 互动卡片实战:摇一摇触发静态转动态,前景元素出框
华为·harmonyos·arkts
威哥爱编程3 小时前
HarmonyOS 7 闪控窗实战:标准悬浮窗、侧边栏暂存与闪控球一键切换
华为·harmonyos·arkts
威哥爱编程3 小时前
HarmonyOS 7 图像超分实战:端侧 4 倍高清放大,数据不出设备
华为·harmonyos·arkts
威哥爱编程3 小时前
HarmonyOS 6.1 智能窥屏防护实战:实时感知窥屏风险,敏感页自动防护
华为·harmonyos·arkts
威哥爱编程3 小时前
HarmonyOS 7 文搜图实战:自然语言检索本地图片,全流程端侧闭环
华为·harmonyos·arkts
贾伟康4 小时前
【HarmonyOS 7新能力|041】弱网直播优化工程封装:把接入逻辑放进可维护的分层结构
性能优化·harmonyos·arkts·音视频开发·直播
lqj_本人16 小时前
Flutter_Rust_Bridge:让 Flutter 稳定调用 Rust 的跨语言桥梁
harmonyos
贾伟康17 小时前
【HarmonyOS 7新能力|040】QUIC长连接工程封装:把接入逻辑放进可维护的分层结构
网络编程·harmonyos·arkts·quic·软件架构