一、环境准备
- 华为开发者账号:实名认证并开通AGC项目。
- 开发工具:安装支持端云一体化模板的DevEco Studio 5.0.0+。
二、工程创建流程 - 创建端云一体化工程:
○ 在DevEco Studio中选择 "Atomic Service" 或 "Application",使用 "CloudDev" 模板。
○ 登录华为开发者账号,关联AGC中的项目(需提前在AGC控制台创建应用并开通云服务)。
○ 填写工程信息(包名需与AGC应用一致)。 - 目录结构:
○ 端侧工程 (Application):含UI代码、agconnect-services.json配置文件。
○ 云侧工程 (CloudProgram):含云函数、云数据库代码。
● 工程创建详情
三、关键依赖配置 端侧依赖(oh-package.json):
"dependencies": { "@hw-agconnect/cloud": "^1.0.0", "@hw-agconnect/hmcore": "^1.0.0", "@hw-agconnect/auth-component": "^1.0.0", "long": "5.2.1", "protobufjs": "6.11.3" }
注意:非模板项目需手动添加依赖。
- 云侧依赖:
○ 云函数:通过npm install安装Node.js依赖(如@agconnect/database)。
○ 云数据库:在CloudProgram/clouddb下定义数据模型(JSON Schema)。
四、核心配置与初始化 - agconnect-services.json:
○ 位置:entry/src/main/resources/rawfile/ 或 AppScope/resources/rawfile/。
○ 获取方式:从AGC控制台下载并覆盖旧文件。 初始化AGC(在EntryAbility中):
import { initialize } from '@hw-agconnect/hmcore'; import json from '../../resources/rawfile/agconnect-services.json'; export default class EntryAbility extends UIAbility { onCreate() { initialize(this.context, json); } }
五、云函数开发与调用
创建云函数:
○ 右键CloudProgram/cloudfunctions → New → Cloud Function。
○ 示例代码:let myHandler = async (event, context, callback) => { callback({ code: 0, desc: "Success." + Math.random() }); }; export { myHandler };
○ 部署:右键云函数 → Deploy Cloud Function。
端侧调用云函数:
import cloud from '@hw-agconnect/cloud'; const result = await cloud.callFunction({ name: 'hello', version: '1', params: {} }); console.log(result.getValue().message);
六、云数据库操作
- 定义数据模型:在CloudProgram/clouddb/objecttype下创建JSON文件(如book.json)定义字段。
- 插入初始数据:在CloudProgram/clouddb/dataentry下创建dataentry.json,填写初始数据。
- 部署数据库:右键clouddb → Deploy Cloud DB。
七、常见问题解决 - protobufjs模块缺失:降级到6.11.3。
- 真机运行报错:检查签名配置(启用自动签名)。
- 云函数返回403:确保agconnect-services.json中的包名与config.json一致。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。