华为云Astro轻应用对接使用完全指南:从入门到移动端部署
华为云Astro轻应用对接使用完全指南
从入门到移动端部署,手把手带你掌握低代码开发平台的对接秘钥
📌 总结摘要
本文系统梳理了华为云Astro轻应用(Astro Zero)的对接与使用方法。首先介绍Astro轻应用的核心概念与开发环境体系,包括开发环境、测试环境和运行环境的隔离机制。接着详细讲解了四大对接方式的完整操作流程:TypeScript脚本开发、REST API开放与OAuth 2.0鉴权配置、多类型数据源接入、第三方应用集成等。每个对接方式均配有实际代码示例和配置步骤。然后深入探讨工作流编排与连接器集成能力,涵盖流程触发机制、官方连接器和自定义连接器的使用场景。最后介绍了多端发布策略,包括移动端小程序发布、WeLink集成等实战内容。文章末尾汇总了6个常见问题的解答,帮助读者快速解决实际操作中的疑问。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
一、初识华为云Astro轻应用:低代码开发的新范式
华为云Astro轻应用(原名AppCube,现更名为Astro Zero)是华为云为行业客户、合作伙伴、开发者量身打造的低代码/零代码应用开发平台。它通过平台提供的界面、逻辑、对象等可视化编排工具,以“拖、拉、拽”的方式来快速构建应用,从而实现所见即所得的应用开发构建体验。Astro轻应用的核心价值在于将复杂的代码开发转化为可视化的组件编排,让业务人员和专业开发者都能快速参与到应用构建中来。
使用华为云Astro轻应用前,了解其环境体系至关重要。平台将应用开发分为“开发 → 测试 → 上线”三个阶段,每个阶段都有独立的环境,实现数据隔离,保证正式上线版本的稳定运行。开发环境是开发者专门用于开发应用的环境,默认域名为“appcube.cn-north-4.huaweicloud.com”,用户可根据需求自行开发配置各种逻辑模块化元素,从而创建各类应用。测试环境以沙箱(Sandbox)环境呈现,默认域名为“appcubesandbox.cn-north-4.huaweicloud.com”,沙箱是一种安全机制,为运行中的程序提供隔离环境,限制程序行为的执行环境。运行环境是指正式发布上线的真实环境,测试完成后将应用发布至生产环境供业务用户使用,运行环境默认域名为“appcuberun.cn-north-4.huaweicloud.com”。免费版不提供运行环境,需要购买专业版后才能进行打包发布操作并在运行环境安装应用。
在正式开始使用之前,还需要完成账号授权和实例购买。注册华为云后,系统会自动创建一个账号,账号是资源的归属以及使用计费的主体,对其所拥有的资源具有完全控制权限,可以访问所有云服务。为了保证账号安全,建议创建一个或多个IAM用户并赋予系统管理员权限,用于购买华为云Astro轻应用实例。华为云Astro轻应用实例是一个独立的资源空间,所有的操作都是在实例内进行,不同实例间的资源相互隔离。
二、核心对接方式一:TypeScript脚本开发
针对业务逻辑比较复杂的场景,华为云Astro轻应用低代码平台提供了脚本(Script)能力,支持用户在线开发TypeScript脚本,完成灵活复杂的业务逻辑。脚本是代码化的开发方式,使用TypeScript语言开发,脚本是内聚的,相当于生产积木的,并且脚本可以对这个积木实现批量化处理的复杂场景。与服务编排相比,服务编排是图形化的,组合编排业务,相当于使用积木编排业务的流程(建议不超过20个图元)。
低代码平台为脚本开发提供了一个方便简洁的在线开发IDE,脚本编辑界面开发体验接近离线的开发工具,具有现代化编辑界面、语法高亮显示、智能提示与智能补全、精确查看定义与代码预览、快速在线编译、友好的语法错误提示以及使用console.log写日志分析复杂问题等一系列优势。脚本编辑页面常用的图标按钮区支持脚本启用与禁用、保存、另存为、属性设置、执行、代码检查、版本对比等丰富操作。脚本开发完成后需要启用,只有启用状态的脚本才能在被其他资源(如服务编排、标准页面)调用时被搜索到。
以下是一个完整的脚本创建与运行示例。创建一个名为“httpTest”的空白脚本,实现请求外部网址并返回消息头信息的功能。具体操作如下:参考登录华为云Astro轻应用应用设计器的操作登录应用设计器,在左侧导航栏中选择“逻辑”,将鼠标放在已创建的脚本目录上单击进入新增脚本页面,选择“创建一个新脚本”,设置脚本名称为“httpTest”,模板选择“空脚本”,单击“添加”进入脚本编辑器页面。在脚本编辑器中粘贴以下代码:
import * as http from 'http' // 导入http库
let client = http.newClient() // 实例化HTTP客户端
let resp = client.get("https://www.example.com/") // 发起GET请求
console.log(resp.headers) // 打印返回的消息头信息
单击页面上方的保存按钮保存脚本,然后单击编辑器上方的执行按钮运行脚本,在页面底部单击测试窗口右上角可以返回消息头信息。该示例展示了如何使用平台预置的http库发起网络请求并处理响应,开发者可以根据类似模式调用任何第三方HTTP接口。
脚本引擎采用TypeScript语言,执行时TypeScript会被翻译成JavaScript语言,由JavaScript引擎执行。在JavaScript ES5的官方标准库外,低代码平台还扩展了10+预置标准库(即预置API),帮助开发者更高效地开发脚本。平台提供了多种脚本模板供开发者选择,包括:空脚本(创建一个空脚本)、示例服务脚本(对外提供服务的脚本,可通过Restful直接调用)、示例内部脚本(内部库代码,只能被其他脚本import使用)、空白测试脚本、示例前置/后置安装脚本(在安装或升级应用时执行)、示例自定义接口前置/后置脚本(用于配置接口访问权限)等。
三、核心对接方式二:开放API接口与OAuth 2.0鉴权
华为云Astro轻应用支持将已启用的脚本或服务编排封装成一个新的URL地址,供第三方系统进行调用。这一功能使得Astro轻应用开发的应用可以无缝对外提供API服务,实现系统间的数据互通与业务协同。创建开放接口的步骤如下:登录应用设计器,在左侧导航栏中选择“集成”,单击开放接口后的按钮进入新建开放接口页面,设置接口参数后单击“保存”。
新建接口时需要配置多个关键参数:标签(用于在页面展示,取值范围1~64个字符)、操作名称(必须以英文字母开头,只能由英文字母、数字或单下划线组成,长度1~40个字符)、版本(URL对应的版本号如1.0.0)、URL(新URL地址,其中“/service”是固定值,其次是“/App名称/版本号”,剩下部分请自定义。自定义URL必须以单个“/”开头,可以配置多级路径,两个或多个“/”之间必须有内容)、内容类型(支持application/json、multipart/form-data和binary-data三种,其中multipart/form-data和binary-data用于文件上传接口,只能调用POST类型的脚本)、分类、描述、允许匿名访问等。
允许匿名访问是一个重要配置项。勾选后表示允许匿名访问运行环境中的该API接口,通过运行环境子域名访问此接口时如果无有效的Token认证信息,则以匿名用户身份继续访问此接口,且不需要做CSRF校验。匿名用户的权限为“Anonymous User Profile”,需要确保该权限具备访问该接口的业务权限凭证或者相关资源权限。例如,登录业务应用接口“login”的URL为“/service/命名空间__MyApp/1.0.0/login”,运行环境子域名为“test.example.com”,期望可匿名访问该自定义接口,则配置接口时需勾选“允许匿名访问”,且“Anonymous User Profile”权限配置了该接口的业务权限凭证,匿名用户通过“https://test.example.com/service/命名空间__MyApp/1.0.0/login”即可访问该接口。
接口类型支持服务编排、脚本和对象三种。服务编排表示该定义URL调用的接口类型是服务编排,脚本表示调用的接口类型是脚本,对象表示操作对象数据包括对象数据的增删改查。自定义响应选项可以选择是否对返回的响应消息进行格式化。如果勾选,表示对响应消息进行格式化,删除resCode、resMsg、result外层信息,只透传返回的消息;不勾选则返回包含resCode、resMsg、result等外层结构的完整响应。
在调用这些API之前,需要进行OAuth 2.0鉴权。华为云Astro轻应用采用OAuth 2.0协议进行接入认证,第三方系统在调用华为云Astro轻应用业务接口前,需要在华为云Astro轻应用上进行鉴权注册,获取接入客户端ID、密钥等鉴权信息,才能实现调用华为云Astro轻应用业务接口。平台提供了“客户端模式”和“授权码模式”两种授权模式进行OAuth鉴权。
配置客户端模式接入认证的完整流程如下:进入华为云Astro轻应用服务控制台,在主页中单击“进入首页”,进入应用开发页面,选择进入环境配置页面。首先创建机机用户账号,机机用户只能通过OAuth客户端模式鉴权登录华为云Astro轻应用。在左侧导航栏中选择“用户安全 > 用户”,单击“新建”,“用户类型”选择为“机机用户”,设置其他用户信息后单击“保存”。然后在左侧导航栏中选择“集成连接 > OAuth”,单击“新建”。“授权类型”选择“客户端模式”,设置名称等参数后单击“保存”。需要注意的是,每个OAuth都有特定的用途,建议为不同的第三方系统单独新建一个OAuth,OAuth关联的用户需要具有访问相关API的权限,否则会因为权限问题导致回调失败。在OAuth管理列表中单击该鉴权所在行,单击“确定”下载密钥文件到本地,从中获取鉴权的客户端ID和鉴权密钥取值。下载到本地的密钥文件名为“认证名称.txt”,文件中包含username、client_id和client_secret参数。最后根据鉴权ID和鉴权密钥调用接口“/baas/auth/v1.0/oauth2/token”获取access_token。
下面展示一个使用Python调用Astro轻应用API的完整示例:
import requests
import json
# OAuth 2.0 配置参数
base_url = "https://appcube.cn-north-4.huaweicloud.com"
token_url = f"{base_url}/baas/auth/v1.0/oauth2/token"
client_id = "your_client_id"
client_secret = "your_client_secret"
# 第一步:获取 access_token
token_payload = {
"grant_type": "client_credentials",
"client_id": client_id,
"client_secret": client_secret
}
token_response = requests.post(token_url, data=token_payload)
access_token = token_response.json().get("access_token")
# 第二步:调用自定义API接口
api_url = f"{base_url}/service/MyApp/1.0.0/your_api"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}
response = requests.get(api_url, headers=headers)
print(json.dumps(response.json(), indent=2, ensure_ascii=False))
四、核心对接方式三:数据源接入与第三方数据库对接
华为云Astro轻应用支持接入多种类型的数据源,包括关系型数据库、华为云服务API以及第三方数据库。在Astro大屏应用场景中,可以通过HTTP连接器和Prometheus数据源作为组件的数据来源。选择“AstroZero API”数据类型并在右侧单击“+”可新建数据源。对于关系型数据库,平台支持使用MS SQL Server、MySQL、Oracle、GaussDB和PostgreSQL作为数据源。
当需要对接第三方数据库时,可通过创建ROMA连接器实现与应用与数据集成平台(ROMA Connect)的对接,对接后通过调用ROMA Connect的API间接访问数据库。通过使用华为云Astro轻应用连接器,开发者无需关注具体的代码实现,只需要配置集成服务的地址和鉴权信息,即可快速将第三方服务集成到应用中,大大提高了开发效率,降低了开发成本。
通过连接器对接第三方数据库的操作流程如下:首先准备db-adapter后端Java Demo代码,resources目录下的datasource.json文件用于配置第三方数据库的地址链接以及用户名、密码,用户可以基于自己的第三方数据库进行配置;DBExecuteController.java用于连接上数据库后处理外部请求返回数据库数据。然后基于db-adapter生成JAR包,把编出的JAR包放在“build”目录下构建Docker镜像,将制作好的镜像包上传到容器镜像服务SWR。登录CCE控制台购买所需集群并为集群添加节点,创建一个无状态工作负载,使用上传的镜像包创建工作负载。最后在Astro轻应用中创建自定义连接器,配置对接信息实现与第三方数据库的交互。
除了ROMA Connect方案外,Astro轻应用还提供了三种调用第三方接口的方式:Rest服务连接器(适用于调用Rest协议接口)、Soap服务连接器(适用于调用SOAP协议接口)和自定义连接器(可快速对接一个外部服务的接口并在Astro轻应用中使用)。通过配置Rest服务,可以为服务添加动作,将第三方接口转换成Astro轻应用可识别的格式进行调用。
创建自定义连接器对接Rest服务的步骤如下:登录应用设计器,在左侧导航栏中选择“集成”,在“连接器”中单击“连接器实例”进入连接器实例页面,在类型中选择“自定义连接器”进入自定义连接器页面,单击“+”配置连接器信息后单击“保存”。在“认证信息”页签单击“新建”进入添加认证信息页面,设置认证信息后单击“保存”。可以新建多个认证,不同的动作可以有不同的认证方式。认证信息配置中,API主机地址可以限定REST操作的请求前缀防止敏感信息泄露,鉴权设置支持OAuth、简单消息头和JWT(JSON Web Tokens)三种鉴权协议,鉴权模式设置为client credentials,此处只支持OAuth 2.0的client credentials鉴权模式。
五、核心对接方式四:第三方应用集成(工作流与连接器深度整合)
华为云Astro工作流(Astro Flow)是华为云提供的一款自动化流程引擎服务,以通用办公流程为场景基础,满足企业中人财物事的调、转、入、离、审、评和批等任务的数字化需求,同时提供各类流程触发、数据连接和表单集成能力,帮助用户轻松实现各类服务应用构建流程的自动化。Astro工作流的优势包括第三方数据集成扩展性强、流程多版本可视化编排实现无感切换、强劲性能支持秒级表单流程编排和天级应用构建发布、流程模板灵活引用实现流程高度重用,以及智能化应用构建能力。
在Astro轻应用中可以基于已有工作流创建新工作流,主要应用于两种场景:因业务需要工作流要实现的能力发生了变化时可以基于原有工作流修改并保存为工作流的新版本,原有工作流作为老版本自动失效;需要开发的新工作流与已有的某个工作流类似时可以基于原有工作流修改再保存为新的工作流,原有工作流仍然有效,新工作流和老工作流也没有关联关系各自独立。
在工作流中实现第三方系统集成的关键是连接器。连接器是华为云Astro轻应用提供的调用第三方服务的集成工具,AstroZero封装了不同类型的连接器用于对接相应的第三方服务如OBS、Redis、云搜索和ROMA等。通过连接器,开发者无需关注具体代码实现,只需要配置集成服务的地址和鉴权信息,即可在服务编排或脚本中快速集成第三方系统。当官方连接器不能满足需求时,可通过自定义连接器将第三方服务集成到工作流流程中使用。Astro低代码平台还提供了配置大模型连接器的能力,当系统需要对接外部大模型服务时,可通过脚本和编排的方式快速集成到Astro轻应用中,帮助快速构建智能应用。
此外,Astro轻应用还支持对接API Explorer获取云服务API元数据信息。API Explorer是华为云为开发者提供的一站式API解决方案的统一平台,集成华为云云服务开放API,支持全量快速检索、可视化调试和帮助文档,帮助开发者快速查找、学习API和定位修复错误。通过对接API Explorer可获取大量华为云云服务的API元数据信息,从而为开发者提供访问这些API的连接器,无需再针对每个云服务单独开发连接器。当前支持对接的云服务包括对话机器人服务、人脸识别服务、内容审核服务、文字识别服务、图像识别服务、视频接入服务、视频分析服务和语音交互服务等。
六、多端发布:从PC应用到移动端小程序的无缝部署
华为云Astro轻应用支持PC端、移动端、微信小程序/H5、WeLink集成等多种发布形式。平台提供丰富的轻应用模板,包括办公管理、人事管理、项目管理、运营推广、培训赋能等领域,开发者可基于模板快速构建应用,加速企业数字化。应用设计器提供了一站式移动应用设置和发布体验,应用开发者进行移动端设置后,应用服务可以在移动App容器内被用户便捷地访问与传播。
将应用发布成移动端小程序需要先开启小程序模式。操作步骤如下:登录应用设计器,在左侧导航栏中选择“设置”进入应用设置页面,选择“移动端设置”开启小程序模式。开启后在“多端发布设置”中勾选应用支持发布的小程序。将应用中的标准页面和高级页面发布到华为OneMobile时,需要输入华为OneMobile的用户名和密码或扫码进行授权登录。选择该方式发布后,在华为OneMobile上可生成应用程序二维码,扫码后按照提示可体验该应用。
小程序发布到OneMobile后需要处理免登逻辑。华为云Astro轻应用的小程序包发布到OneMobile后,在OneMobile中访问时首先要做免登逻辑的处理,这样会获取到华为云Astro轻应用的访问Token,在后续的请求中会携带此Token请求业务数据。有两种方式实现免登逻辑:方式一是开发者自己实现免登接口,通过在BO或者应用中开发服务编排来获取访问华为云Astro轻应用的Token,再将服务编排封装为免登接口,使用此方式后可以给每个业务用户设置相应的权限,用权限控制是否可访问业务接口;方式二是使用华为云Astro轻应用预置的免登逻辑,在承载服务接口的相应环境的环境配置中配置免登信息即可。
除了发布到OneMobile外,平台还支持将应用发布成WeLink轻应用和WeLink We码应用,以及发布到微信小程序。华为云Astro轻应用和OneMobile之间通过OAUTH 2.0协议打通认证,绑定开发者账号。这一多端发布能力使得开发者只需构建一次应用,即可在PC、移动设备、企业内部办公平台和微信生态等多个渠道中统一部署和使用,大幅提升了应用的触达范围和用户体验。
七、实战案例:构建完整的业务用户登录系统
为了更好地理解Astro轻应用的完整对接流程,下面通过一个业务用户登录系统的实战案例来串联各个核心功能模块。该案例通过在登录页中输入用户名、密码等登录信息,与系统中存储的业务用户信息进行对比来验证业务用户的身份,并根据设置的业务用户权限为用户分配相应的资源和访问权限。
首先在华为开发者空间创建低代码应用,配置系统环境变量。然后开发用户登录和注册脚本,测试登录注册运行并返回参数。下面是一个用户登录脚本的示例代码:
import * as db from 'db'
import * as context from 'context'
export function login(username: string, password: string): any {
// 查询用户信息
let sql = `SELECT id, username, role, status FROM user_info WHERE username = '${username}' AND password = '${password}'`
let result = db.sql(sql)
if (result && result.length > 0) {
let user = result[0]
if (user.status !== 'active') {
return { success: false, message: '账号已被禁用' }
}
// 生成会话Token
let sessionToken = context.generateToken({
userId: user.id,
username: user.username,
role: user.role,
expireTime: Date.now() + 7 * 24 * 60 * 60 * 1000
})
return {
success: true,
message: '登录成功',
token: sessionToken,
userInfo: {
id: user.id,
username: user.username,
role: user.role
}
}
} else {
return { success: false, message: '用户名或密码错误' }
}
}
登录脚本开发完成后,关联登录脚本创建用户登录服务编排。服务编排将登录逻辑封装为可视化的业务流程,更便于管理和维护。然后创建公共接口,将服务编排发布为REST API接口供前端调用。最后在高级页面中开发登录页,配置后台公共接口实现前后端数据互传,完成业务用户登录功能的开发。这一完整的登录系统构建过程涵盖了脚本开发、服务编排、开放接口和前端页面开发四大核心模块,展示了Astro轻应用完整的全栈开发能力。
💡 常见问题解答
- 问:Astro轻应用中的脚本和服务编排有什么区别?何时用脚本何时用服务编排?
答:脚本是代码化的,使用TypeScript开发,适合处理复杂业务逻辑、批量数据处理等场景;服务编排是图形化的,通过拖拽图元组合业务逻辑,适合流程相对简单、图元数量不超过20个的编排场景。如果业务逻辑复杂且涉及大量数据处理,优先选择脚本。 - 问:第三方系统如何调用Astro轻应用中开发的API接口?
答:需要在Astro轻应用中先将脚本或服务编排通过开放接口功能封装为REST API,然后在环境配置中创建OAuth 2.0认证获取客户端ID和密钥,第三方系统调用时先通过token接口获取access_token,在后续API请求的Authorization头中携带该token即可正常调用。 - 问:如何在Astro轻应用中对接外部的MySQL数据库?
答:有两种方式:一是通过创建ROMA连接器对接数据集成平台ROMA Connect,通过ROMA Connect调用API间接访问MySQL;二是部署db-adapter后端服务到CCE,创建自定义连接器对接该服务,实现数据库的直接操作。 - 问:开发完成的Astro轻应用如何发布到微信小程序?
答:在应用设计器中进入“设置”页面,选择“移动端设置”开启小程序模式,在多端发布设置中勾选微信小程序支持,然后按照发布向导完成授权和配置,即可将应用发布到微信小程序平台。 - 问:脚本开发中可以使用哪些第三方库和预置API?
答:脚本引擎基于TypeScript,除了JavaScript ES5的标准库外,还提供10多个预置标准库(如http、db、context、file、crypto等),支持通过import语法导入,具体可查阅平台脚本API参考文档。 - 问:免费版和专业版在对接功能上有什么区别?
答:免费版不提供独立的运行环境和运行环境子域名,无法对外发布REST API供第三方调用,连接器功能也受限制。专业版提供完整的开发、测试、运行三套环境,支持开放接口发布、OAuth认证、全部类型的连接器使用以及多端发布能力。
本文内容整理自华为云Astro轻应用官方文档及实战案例,供学习参考使用。如有疑问,欢迎查阅华为云官方文档或访问华为云社区。



