IT评测·应用市场-qidao123.com技术社区

标题: 鸿蒙API12 端云一体化开发——云函数篇 [打印本页]

作者: 惊雷无声    时间: 2024-10-28 21:45
标题: 鸿蒙API12 端云一体化开发——云函数篇
大家好,我是学徒小z,我们接着上次的端云一体化继续解说,本日来说说云函数怎么创建和调用

  
云函数

1. 入口方法


  1. module.exports.myHander = function(event, context, callback, logger)
复制代码

2. 编写云函数

  1. let myHandler = async function (event, context, callback, logger) {
  2.   // 打印输入的信息,因为传递的内容可能是一个对象,所以使用JSON方法解析
  3.   logger.info(JSON.stringify(event));
  4.   // 返回的内容
  5.   callback({
  6.     code: 0,
  7.     message: `Cloud Function test1 `
  8.   });
  9. };
  10. // 暴露
  11. export { myHandler };
复制代码
运行结果图如下,如果没有体现任何东西,请看3,有则忽略第三步

3. 进行云端测试




4. 在当地端侧调用云函数


  1. //在EntryAblity中
  2. import { buffer } from '@kit.ArkTS';
  3. import { initialize } from "@hw-agconnect/hmcore"
  4. //在onCreate中加入
  5. const value = await this.context.resourceManager.getRawFileContent('agconnect-services.json');
  6.     let json: string = buffer.from(value).toString('utf8');
  7.     initialize(this.context, JSON.parse(json));
复制代码

  1. "dependencies": {
  2.     "@hw-agconnect/cloud": "^1.0.0",
  3.     "@hw-agconnect/hmcore": "^1.0.0",
  4.     "@hw-agconnect/auth-component": "^1.0.0",
  5.     "long": "5.2.1"
  6.   },
复制代码

  1. //比如cloudFunction中添加一个button来调用云函数
  2. Column(){
  3.         Button("调用test云函数").onClick( async()=>{
  4.           const result =  await cloud.callFunction({
  5.             name:'test', // 云函数名称
  6.             version:"$latest", // 云函数版本,$latest表示为最新版
  7.             params:{request:"你好"} // 传递参数
  8.           })
  9.           this.message =result.getValue().message
  10.         })
  11.         Text(this.message)
  12.       }.width(200).height(100)
复制代码

5. 云函数传参


  1. let myHandler = async function (event, context, callback, logger) {
  2.   // 打印输入的信息,因为传递的内容可能是一个对象,所以使用JSON方法解析
  3.   logger.info(JSON.stringify(event));
  4.   const other = JSON.parse(event.body).request
  5.   // 返回的内容
  6.   callback({
  7.     code: 0,
  8.     message: `Cloud Function test1 ${other} `
  9.   });
  10. };
  11. // 暴露
  12. export { myHandler };
复制代码
6. 情况变量



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4