尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

鸿蒙HarmonyOS

鸿蒙HarmonyOS 鸿蒙HarmonyOS一、介绍技术特点分布式架构、安全可信、一次开发多端部署、万物互联二、开发云函数1.创建云函数网址https://developer.huawei.com/consumer/cn/agconnect/添加项目进入到项目当中来了开启云函数点击存储位置返回这里创建应用需要先创建APP ID创建好之后会显示这些信息2.下载工具网址https://developer.huawei.com/consumer/cn/deveco-studio/3.创建应用打开选择端云一体化模版注意包名一定要和APPGallery Connect里的完全一致这里会跳转让你登录这样就OK啦点击完成等待应用自动完成初始化代码分为两部分Application是端侧代码与界面相关的CloudProgram是云侧代码编写云数据库/云函数4.创建自己的云函数同时它也生成了云函数的TS代码文件还有配置文件云函数的开发语言:ts,type script语言云函数的触发时机http请求/云数据库插入记录)/云存储上传文件云函数的4个参数event输入信息context上下文信息例如拿到环境变量callback输出返回结果回调函数logger记录日志debug/info/warn/error5.编写云函数代码编写一个Hello World例如运行方式1.本地运行成功✅️2.云端运行成功✅️回到APPGallery Connect去看一眼6.测试云函数点击云函数配置测试参数测试运行日志三、调用云函数1.添加依赖创建模版的时候自动生成了2.初始化APPGallery Connect在这里如果项目有更改在这里下载更新然后放到默认路径引入 JSON 对象//把JSON作为第二个参数 //try catch一下 try { initialize(this.context, json); } catch (e){ hilog.error(0x0000,APPGalleryConnectError,JSON.stringify(e)) }EntryAbility.ets部分代码import { ConfigurationConstant, UIAbility } from kit.AbilityKit; import { hilog } from kit.PerformanceAnalysisKit; import { window } from kit.ArkUI; import buffer from ohos.buffer; import { initialize } from hw-agconnect/hmcore; import json from ../../resources/rawfile/agconnect-services.json; const HILOG_DOMAIN 0x0000; const TAG [EntryAbility]; export default class EntryAbility extends UIAbility { onCreate() { //把JSON作为第二个参数 //try catch一下 try { initialize(this.context, json); } catch (e){ hilog.error(0x0000,APPGalleryConnectError,JSON.stringify(e)) } try { this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); } catch (err) { hilog.error(HILOG_DOMAIN, TAG, Failed to set colorMode. Cause: %{public}s, JSON.stringify(err)); } hilog.info(HILOG_DOMAIN, TAG, %{public}s, Ability onCreate); } onDestroy(): void { hilog.info(HILOG_DOMAIN, TAG, %{public}s, Ability onDestroy); } async onWindowStageCreate(windowStage: window.WindowStage){ // Main window is created, set main page for this ability hilog.info(HILOG_DOMAIN, TAG, %{public}s, Ability onWindowStageCreate); windowStage.loadContent(pages/Index, (err) { if (err.code) { hilog.error(HILOG_DOMAIN, TAG, Failed to load the content. Cause: %{public}s, JSON.stringify(err)); return; } hilog.info(HILOG_DOMAIN, TAG, Succeeded in loading the content.); }); } onWindowStageDestroy(): void { // Main window is destroyed, release UI related resources hilog.info(HILOG_DOMAIN, TAG, %{public}s, Ability onWindowStageDestroy); } onForeground(): void { // Ability has brought to foreground hilog.info(HILOG_DOMAIN, TAG, %{public}s, Ability onForeground); } onBackground(): void { // Ability has back to background hilog.info(HILOG_DOMAIN, TAG, %{public}s, Ability onBackground); } }oh-package.json5部分代码:{ license: , devDependencies: {}, author: , name: entry, description: Please describe the basic information., main: , version: 1.0.0, dependencies: { hw-agconnect/cloud: ^1.0.0, hw-agconnect/hmcore: ^1.0.0, hw-agconnect/auth-component: ^1.0.0, cloud_objects: file:../cloud_objects } }3.界面新建页面然后就自动生成代码框架了在EntryAbility.ets文件里把原来默认的首页改成我们自己新建的首页新建虚拟设备下载好之后下一步构建项目并运行添加一个button试试4.调用云函数这里版本我们一般要去APPGallery Connect找一下函数返回结果在当前目录下进入cmd输入指令hdc shell param get const.product.cpu.abilist查询设备支持的ABI列表遇到这个报错可以去看这个文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/bm-tool#section9568347-%E8%A7%A3%E6%9E%90%E6%9C%AC%E5%9C%B0so%E6%96%87%E4%BB%B6%E5%A4%B1%E8%B4%A5可以拿真机调试USB连接或者无线连接在同一个网络环境下应用开发文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/application-dev-guide5.传参修改端侧代码//传参 TextInput({placeholder:请输入姓名}) .onChange(value{ this.namevalue })params:{name:this.name}如图预览器部署云函数操作修改云端代码并部署之后查看云函数版本可以在这里查看日志8.2 使用认证组件进行认证新建登录页面导入依赖mode认证模式MyLogin界面完整代码import {AuthMode,Login} from hw-agconnect/auth-component import {AuthUser} from hw-agconnect/cloud Entry Component struct MyLogin { build() { Row() { Column() { Login( { modes: [AuthMode.PHONE_VERIFY_CODE], //模式认证可以支持多种模式数组形式 onSuccess: (user: AuthUser) { //回调函数 } }) { Button(登录) } } } .height(100%) .width(100%) } }注意把这个首页改成我们的
返回列表