流操作代码开发后端逻辑

简介: 要开始使用魔笔平台开发,请先登录并下载代码模板。通过应用管理找到目标应用并进入设计器,下载最新的`bundle.zip`模板,解压缩后获得Java工程。注意不要修改核心目录内容,并遵循命名规则。开发环境需支持JDK11+与Maven3.5+。每个后端逻辑流操作会在`custom-action-core`模块中生成实现类,主要逻辑编写在`execute`方法中。利用`MobiContext`参数进行实体和结构体操作。更多细节请参照具体步骤说明。

步骤一、下载代码模版
登录魔笔。

在顶部菜单栏选择应用管理,在左上角搜索框中搜索目标应用。

在目标应用的卡片中单击进入设计器,进入魔笔应用设计器。代码效果参考:https://www.nbhbjx.cn/sitemap.xml

在左侧功能区单击image,选择后端逻辑流,进入逻辑流编辑面板。

在逻辑流编辑面板,单击自定义逻辑流操作右侧的编辑,打开编辑自定义逻辑流操作,下载最新代码模版bundle.zip。

image..png

解压bundle.zip,即可得到一个custom-action的Java工程。开发者可通过IDE(如idea/vs code)打开此工程。

此工程是一个多模块的项目,其中已经生成了custom-action-core模块,工程结构如下:

image

libs目录:存放了core模块所依赖的jar包,默认有三个jar包。

custom-action-api-1.0.0-SNAPSHOT-sources.jar:此jar包为custom-action-api模块的源码,在IDE中可以通过设置关联上源码信息。

custom-action-api-1.0.0-SNAPSHOT.jar:此jar包中包含了模块中每个后端逻辑流自定义操作的接口定义。对于模块中的每个后端逻辑流自定义操作,都会生成一个接口和一个实现类,接口存放在custom-action-api jar包中,而实现类则存在于custom-action-core模块中的src目录下。

image

mobi-app-flow-sdk-1.0.0.jar:此jar包为魔笔平台提供的SDK,内置了魔笔平台实体和结构体的相关操作,下文中将详细介绍。

src目录:该目录为正常Java工程中的目录。模块中的后端逻辑流自定义操作实现类将被放在com.aliyun.mobi.custom.action.core中。

说明
请勿更改com.aliyun.mobi.custom.action.core中的内容,否则可能导致上传的代码包无法被平台识别。

image

对于魔笔平台中的每个后端逻辑流自定义操作,都将生成一个Java实现类,类名为操作英文名称 + Action,如果开发者自行创建自定义操作的实现类时,请遵循此规则。其它非自定义操作的实现类,可以不用遵循此规则。在自定义操作的实现类中,重写的execute方法为自定义action的入口方法,开发者可以将逻辑编写在此方法中。

pom.xml

此文件为core模块中的Maven依赖管理相关文件,如需要增加Java项目依赖时,可将对应的pom依赖加入到此文件中。对于Java项目所需的依赖,只需在pom.xml中添加dependency即可,无需将jar包下载至libs目录中。

重要
请勿修改脚手架内除自定义操作实现目录外的文件,否则可能导致构建错误或失败。

步骤二、设置环境
魔笔平台提供的工程需要JDK11+及Maven3.5+环境,开发者需满足这两个环境要求才能进行代码编写。下载的模版工程可以通过idea/vs code等现代化IDE打开进行编辑。

image

说明
在使用idea进行编辑时,如遇到编辑器无法通过编译、terminal可以构建成功时,可以通过禁用kotlin插件或升级kotlin插件到1.8版本解决。

image

步骤三、代码编写
对于每个后端逻辑流自定义操作,都会在custom-action-core模块中生成一个实现类,每个自定义操作执行的入口方法都是实现类中重写的execute方法,开发者可根据自定义操作中的业务逻辑进行开发。

步骤四、输入输出
魔笔类型转化到Java代码有对应的映射关系,在Java代码中给实体或结构体属性赋值时,也应遵循对应的关系映射。例如,实体有一个属性为DATETIME类型,在设置其值的时候,应该赋予ZonedDateTime类型的变量。

魔笔类型

Java类型

INTEGER

Integer

LONG

Long

DECIMAL

Double

BOOLEAN

Boolean

CHAR、TEXT、ENUMERATION

String

DATETIME

ZonedDateTime

INTEGER

Integer

OBJECT

MobiObject

STRUCTURE

MobiStructure

FILE、IMAGE、AUDIO、VIDEO、DOCUMENT

-

说明
自定义逻辑流操作中不支持配置FILE、IMAGE、AUDIO、VIDEO、DOCUMENT类型的参数。

步骤五、 MobiContext
为了方便开发者操作实体和结构体,每个自定义操作入口方法execute中都有一个MobiContext参数,MobiContext中提供了魔笔实体和结构体的创建方法,其中,实体的ID和结构体的ID可以在魔笔的应用设计器中获取到。

interface MobiContext {

/**
 * 创建实体
 * 
 * @param entityId 实体ID,可在Mobi IDE中数据模型面板获取到
 */
MobiObject createMobiObject(String entityId); 

/**
 * 创建结构体
 * 
 * @param structureId 结构体ID,可在Mobi IDE中结构体处获取
 * @param content 结构体初始化内容,为空时可传入空的Map对象
 */
MobiStructure createMobiStructure(String structureId, Map<String, Any> content);

}

相关文章
|
12月前
|
BI
quickBI上传文件数据源中的替换文件后端逻辑是怎么实现的
quickBI上传后的所有文件 都会追加到物理表中,那么替换其中一个文件,怎么找到物理表里此原文件对应的数据呢,物理表里是需要建一个关联字段吗
|
5月前
|
前端开发 数据处理 API
后端开发:构建稳健与高效的服务器逻辑
后端开发:构建稳健与高效的服务器逻辑
|
25天前
|
IDE Java 开发工具
流操作代码开发后端逻辑
该文档指导开发者在魔笔平台上下载代码模板并进行自定义逻辑流操作开发。首先登录魔笔并下载`bundle.zip`模板,解压缩后获得一个包含`custom-action-core`模块的Java工程。核心模块已预置接口与实现类,开发者需在`execute`方法中编写业务逻辑。工程要求JDK11+及Maven3.5+环境,并提供IDEA调试建议。每个自定义操作对应一个实现类,`MobiContext`参数简化了实体与结构体操作。注意不要修改工程特定目录以外的内容以确保兼容性。
30 2
|
12月前
|
存储 小程序 前端开发
【易售小程序项目】小程序私聊页面完善(带尾巴聊天气泡组件封装、滑至顶端获取历史聊天数据逻辑优化)【后端基于若依管理系统开发】
【易售小程序项目】小程序私聊页面完善(带尾巴聊天气泡组件封装、滑至顶端获取历史聊天数据逻辑优化)【后端基于若依管理系统开发】
54 0
|
SQL 缓存 前端开发
前、后端登录验证逻辑
前、后端登录验证逻辑
495 1
|
前端开发 Go 数据库
|
7天前
|
Web App开发 缓存 JavaScript
深入浅出Node.js后端开发
【9月更文挑战第26天】本文将引导你了解Node.js的基本原理,并通过实际案例展示如何在后端开发中应用它。我们将从Node.js的核心概念讲起,逐步深入到构建一个完整的后端服务,最后探讨如何优化你的Node.js应用。准备好让你的开发技能更上一层楼了吗?让我们一起潜入Node.js的世界!
|
9天前
|
设计模式 算法 搜索推荐
后端开发中的设计模式应用
在软件开发的浩瀚海洋中,设计模式犹如一座座灯塔,为后端开发者指引方向。本文将深入探讨后端开发中常见的设计模式,并通过实例展示如何在实际项目中巧妙应用这些模式,以提升代码的可维护性、扩展性和复用性。通过阅读本文,您将能够更加自信地应对复杂后端系统的设计与实现挑战。
33 3
|
10天前
|
JavaScript 前端开发 API
深入浅出Node.js后端开发
【9月更文挑战第23天】在这篇文章中,我们将探索Node.js的世界,了解它如何改变后端开发的面貌。通过实际案例和代码示例,我们不仅学习Node.js的核心概念,还会深入探讨它的高级特性,如异步编程、事件驱动模型以及微服务架构的应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和实用技能,帮助你构建更高效、可扩展的后端系统。
42 19
|
2天前
|
安全 测试技术 API
后端开发中的API设计原则与最佳实践
本文将深入探讨在后端开发中API(应用程序编程接口)设计的基本原则和最佳实践。通过阐述如何构建高效、可扩展且安全的API,帮助开发者提升后端系统的性能和用户体验。不同于传统的摘要,本文无需包含背景介绍,直接进入主题,为读者提供实用的指导。
18 7
下一篇
无影云桌面