CN115016693A - 构建应用的方法、装置、设备和计算机可读存储介质 - Google Patents
构建应用的方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN115016693A CN115016693A CN202110737953.6A CN202110737953A CN115016693A CN 115016693 A CN115016693 A CN 115016693A CN 202110737953 A CN202110737953 A CN 202110737953A CN 115016693 A CN115016693 A CN 115016693A
- Authority
- CN
- China
- Prior art keywords
- command
- application
- configuration message
- workflow configuration
- session interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 claims description 16
- 238000011144 upstream manufacturing Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000002085 persistent effect Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 4
- 238000005215 recombination Methods 0.000 claims description 3
- 230000006798 recombination Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 15
- 238000005538 encapsulation Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种构建应用的方法、装置、电子设备和计算机可读存储介质,通过在会话界面获取至少一个工作流配置消息,基于工作流配置消息,构建应用。工作流配置消息中包括命令,即可以通过将命令灵活组合得到工作流配置消息,因此,构建应用的方式更加灵活,并且,以在会话界面中聊天的方式构建应用,提高了构建应用的便利性和趣味性。
Description
技术领域
本公开涉及计算机通信技术领域,尤其涉及一种构建应用的方法、装置、设备和计算机可读存储介质。
背景技术
随时计算机通信技术的飞速发展,人们对应用的需求越来越广泛,需要应用覆盖的功能越来越全面,对应用的开发效率要求也越来越高。
现有技术中,将一些基础功能封装成图形化的基础模块,在搭建平台内,通过交互式的拖拽基础模块的方式构建应用。
然而,采用现有技术的方式,构建应用的门槛比较低,但是构建的应用的方式不够灵活。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种构建应用的方法、装置、设备和计算机可读存储介质。
第一方面,本公开实施例提供一种构建应用的方法,包括:
通过会话界面获取至少一个工作流配置消息,其中,所述工作流配置消息中包括至少一个命令;
基于所述至少一个工作流配置消息,构建应用。
可选的,还包括:
响应于接收到触发所述应用的操作,运行所述应用,获取运行结果。
可选的,所述接收到触发所述应用的操作包括:
通过所述会话界面获取到运行所述应用的消息;
或者,
接收点击所述应用的图标的操作。
可选的,所述会话界面是特定会话机器人的会话界面。
可选的,所述通过会话界面获取至少一个工作流配置消息包括:
获取通过所述会话界面上的文本输入框输入的至少一个工作流配置消息;
或者,在会话界面上的语音输入控件被激活时,获取输入的语音信号,解析所述语音信号获取至少一个工作流配置消息;
或者,在会话界面上的手势输入控件被激活时,获取输入的手势信号,解析所述手势信号以获取至少一个工作流配置消息。
可选的,所述至少一个命令包括:如下中一种或多种:
原子命令;
第一封装命令;其中,所述第一封装命令是对至少一个原子命令进行封装所得到的命令;
第二封装命令;其中,所述第二封装命令是对至少一个第一封装命令进行封装所得到的命令,或者是对至少一个原子命令和至少一个第一封装命令进行封装所得到的命令。
可选的,所述原子命令满足如下规则:
下游原子命令可使用紧邻的上游原子命令的输出结果;
可向全局字典对象中写数据;
可使用全局字典对象的数据;
可持久化写数据;
可读持久化数据;
可封装其他命令。
可选的,所述原子命令包括下述至少一种:
用于发送超文本传输协议HTTP请求的命令;
用于做JSON查询和重组的命令;
用于返回输入的内容的命令;
用于向全局字典对象中写数据的命令;
用于定义和查看持久化数据的命令;
用于执行带管道的命令的命令;
用于设定定时任务的命令;
用于在即时通信软件中发送消息的命令;
用于在即时通信软件中读或者写在线表格的命令;
用于在即时通信客户端中将用户标识转化为开放标识;
用于定义命令名称的命令。
可选的,还包括:
通过所述会话界面获取查询指令,基于所述查询指令查询通过所述会话界面构建的所有应用分别对应的工作流配置消息。
可选的,还包括:
通过所述会话界面获取配置所述应用的运行权限的消息,所述运行权限用于限定运行所述应用的用户。
可选的,还包括:
通过所述会话界面获取修改指令,根据所述修改指令修改已构建的应用的工作流配置消息。
可选的,所述运行所述应用的消息包括:应用名称。
可选的,所述至少一个命令包括:定义应用名称的命令、发送数据源地址的命令以及配置目标数据的显示格式的命令;其中,所述发送数据源地址的命令用于从所述数据源地址获取目标数据;所述配置目标数据的显示格式的命令用于控制所述目标数据在所述会话界面中的显示格式;
所述运行所述应用,获取运行结果包括:
根据所述数据源地址获取目标数据;
根据所述目标数据的显示格式在所述会话界面中显示所述目标数据。
可选的,所述至少一个命令包括:定义即时通信群组的标识的命令、配置所述即时通信群组的触发操作的命令和配置响应方式的命令;
所述运行所述应用,获取运行结果,包括:
根据所述响应方式,在所述即时通信群组内响应所述即时通信群组的触发操作。
第二方面,本公开实施例提供一种构建应用的装置,包括:
获取模块,用于通过会话界面获取至少一个工作流配置消息,其中,所述工作流配置消息中包括至少一个命令;
处理模块,用于基于所述至少一个工作流配置消息,构建应用。
第三方面,本公开实施例提供一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
第四方面,本公开实施例提供一种计算机读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
本发明实施例提供的技术方案中,通过在会话界面获取至少一个工作流配置消息,基于工作流配置消息,构建应用。工作流配置消息中包括命令,即可以通过将命令灵活组合得到工作流配置消息,因此,构建应用的方式更加灵活,可以构建丰富的应用,并且,以在会话界面中聊天的方式构建应用,提高了构建应用的便利性和趣味性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开提供的一种构建应用的方法的流程示意图;
图2是本公开实施例提供的一种构建应用的界面示意图;
图3是本公开实施例提供的另一种构建应用的界面示意图;
图4是本公开实施例提供的又一种构建应用的界面示意图;
图5是本公开提供的另一种构建应用的方法的流程示意图;
图6是本公开提供的又一种构建应用的方法的流程示意图;
图7是本公开实施例提供的又一种构建应用的界面示意图;
图8是本公开实施例提供的又一种构建应用的界面示意图;
图9是本公开提供的又一种构建应用的方法的流程示意图;
图10是本公开提供的又一种构建应用的方法的流程示意图;
图11是本公开提供的又一种构建应用的方法的流程示意图;
图12是本公开实施例提供的又一种构建应用的界面示意图;
图13是本公开实施例提供的又一种构建应用的界面示意图;
图14是本公开实施例提供的又一种构建应用的界面示意图;
图15是本公开实施例提供的一种构建应用的装置的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开的构建应用的方法由电子设备执行。电子设备可以是平板电脑、手机、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、智能电视、智慧屏、高清电视、4K电视、智能音箱、智能投影仪等设备,本公开对电子设备的具体类型不作任何限制。
其中,本公开对电子设备的操作***的类型不做限定。例如,Android***、Linux***、Windows***、iOS***等。
本公开的电子设备安装有即时通信软件,可以通过在即时通信软件的会话界面配置工作流配置消息,基于工作流配置消息,构建应用。
本公开通过将多个命令进行灵活组合得到工作流配置消息,基于工作流配置消息,构建应用,提高了构建应用的方式灵活性,可以构建丰富的应用,并且,以在会话界面中聊天的方式构建应用,提高了构建应用的便利性和趣味性。
其中,工作流配置消息包括的命令:可以是原子命令;也可以是将一个或者多个原子命令封装之后得到命令,本公开将其描述为第一封装命令;也可以将原子命令和封装命令再次进行封装得到命令,或者,将多个封装命令封装之后得到命令,本公开将其描述为第二封装命令。
可以将原子命令理解为实现较单一功能的单元,第一封装命令为实现较多功能的单元,第二封装命令为实现更多功能的单元,将原子命令、第一封装命令和第二封装命令进行自由组合,可以构建出实现各种功能的应用。为了便于理解,可以将原子命令比作2X2的积木块,第一封装单元比作2x4的积木块,第二封装单元比作2X6或者4X4的积木块,由于有各种规格的积木块,因此,可以自由组合拼搭出丰富的造型。
其中,原子命令满足如下规则:
规则1:下游原子命令可使用紧邻的上游原子命令的输出结果。
示例性的,若获取的工作流配置消息为:“/cmd set XX日报/sh curl https://news-at.zhihu.com/api/3/stories/latest|jq-r'.stories|map("[\(.title)](\(.url)sidebar)")|join("\n")'|/msg$blue XX日报\n{{{resp}}}”,此时,该工作流配置消息中的命令/cmd、/sh、curl、jq和/msg均为原子命令,此时,/cmd命令定义了一个“XX日报”的命令,/sh命令定义了当前命令的内容是一个带管道的命令,管道命令是由3个命令顺序组合而成,第一个是curl,用来从XX日报Open API获取数据,第二个是jq,将数据中的指定字段组装,生成一个特定格式的字符串,第三个是/msg,用来组装出消息卡片并发给用户。那么,在该工作流配置消息对应的原子命令中,jq命令和curl命令是紧邻的两个命令,curl命令是jq命令的上游命令,jq命令是curl命令的下游命令,jq命令将数据中的指定字段进行组装指的是将curl命令从XX日报Open API获取数据中的指定字段进行组装,即下游原子命令jq使用的是上游原子命令curl的输出结果。
规则2:可向全局字典对象中写数据。
若希望下游原子命令不仅仅使用紧邻的上游原子命令的输出结果时,可通过tee命令向全局字典对象中写数据,当下游原子命令获取上游原子命令的输出结果时,可通过从全局字典中获取上游原子命令的输出结果。
规则3:可使用全局字典对象的数据。
示例性的,若获取的工作流配置消息为:“/cmd set未填表的同学/sh curl'http://bot.apps.bytedance.net/file?bid=jinshu&as_bot=1&url=https://bytedance.feishu.cn/sheets/shtcnD9MKpNfr1aEJBWV9y3EbQP'|jq'.sheets[0].data.valueRange.values|map(.[0]?.token?)|join(",")'|/uid2oid|jq'join(",")'|tee finished|chat_info oc_6ebbde6cacf294512f16f8027456622|jq'.data.members|map(.open_id)|join(",")'|tee all|/comm{{{user.all}}}{{{user.finished}}}|jq'map("@\(.)")|join("")'|/msg#未填表的同学有{{{resp}}}”,此时,对应该工作流配置消息,原子命令包括:/cmd、/sh、curl、jq、uid2oid、tee、chat_info、/comm、/msg,其中,/cmd命令定义了一个“为填表的同学”的命令,/sh命令定义了当前命令的内容是一个带管道的命令,curl命令为获取飞书在线表格的数据,找到第一列中的用户uid(token),转为以逗号分隔的字符串,/uid2oid命令为将uid转为open id list,jq命令将open id list转为以逗号分隔的字符串,tee命令将上述结果字符串存到全局变量finished中,chat_info命令用来获取指定的群聊的信息,其中包括群成员列表,jq命令用来获取群成员open id list,转为以逗号分隔的字符串,tee命令将上述结果字符串存到全局变量all中,/comm命令用来计算两个字符串list的补集,返回补集JSON,jq命令用来将上述JSON转为特定格式的字符串,/msg命令用来组装出消息卡片并发给用户。
上述工作流配置消息中的第一个tee命令将上述结果字符串存到全局变量finished中,因此jq命令获取群成员open id list的过程可以从全局变量finished中获取,实现jq命令不仅可以使用紧邻的上游原子命令的输出结果,也可以使用与jq命令不相邻的其它上游原子命令的输出结果。
需要说明的是,当通过tee命令向全局字典对象中写数据后,在使用全局字典对象的数据的过程中,必须是与tee命令在同一个工作流配置消息中的其它命令才可以获取到tee命令写入到全局字典对象中的数据,而其它工作流配置消息中的命令无法获取到tee命令写入到全局字典对象中的数据。
规则4:可持久化写数据。
为保证不同工作流配置消息中的下游原子命令可以获取到上游原子命令获取的数据,通过将上游原子命令的输出结果写入到磁盘中,实现持久化写数据。
规则5:可读持久化数据。
当将不同工作流配置消息中上游原子命令的数据写入到磁盘中后,下游原子命令可从磁盘中获取不同工作流配置消息中上游原子命令写入磁盘的数据。
规则6:可封装其他命令。
例如:cmd原子命令可以将其他原子命令的组合,封装成一个实现更多功能的命令。
可选的,原子命令包括但不限如下几种:
原子命令1:用于发送超文本传输协议HTTP请求的命令。
示例性,/curl https://news-at.zhihu.com/api/3/stories/latest,即采用curl原子命令发送超文本传输协议(Hypertext Transfer Protocol,HTTP)请求。
原子命令2:用于做JSON查询和重组的命令。
示例性的,/jq'.data.members|map(.open_id)|join(",")',即采用jq命令获取群成员open id list。
原子命令3:用于返回输入的内容的命令。
示例性的,/echo[北京,25℃],即通过echo原子命令返回输入的内容为北京,25℃。
原子命令4:用于向全局字典对象中写数据的命令。
示例性的,/tee finished,即tee原子命令为向全局字典finished中写数据。
原子命令5:用于定义和查看持久化数据的命令。
示例性的,/var hello world,即var原子命令定义了一个hello world。
原子命令6:用于执行带管道的命令的命令。
示例性的,/cmd set XX日报/sh,即cmd原子命令定义了一个“XX日报”的命令,/sh原子命令定义当前命令的内容是一个带管道的命令。
原子命令7:用于设定定时任务的命令。
示例性的,/schedule,发送消息卡片,即schedule原子命令定义了设置定时任务,任务触发时可执行发送消息卡片的任务。
原子命令8:用于在即时通信软件中发送消息的命令。
示例性的,/msg[锦书体],即msg原子命令定义了在即时通信软件中发送锦书体消息。
原子命令9:用于在即时通信软件中读或者写在线表格的命令。
示例性的,/sheet update or inserthttps://bytedance.feishu.cn/sheets/shtcnYDMqet8jXyAS1DByziAd7c?sheet=4a2648 set status='Doing'where id=1,即在飞书在线表格中获取数据。
原子命令10:用于在即时通信客户端中将用户标识转化为开放标识。
其中,用户标识是用户在开放平台中的唯一标识,开放标识是用户在每个应用中的唯一标识,同一个用户在不同的应用中对应的开放标识可能不同,同一个用户在所有的应用中对应的用户标识是相同的;其中,用户标识可以实现跨应用的操作,开放标识可以提高安全性,因此,可以根据需求进行用户标识和开放标识之间的转化。
示例性的,/uid2oid,即uid2oid原子命令将uid转为open id list。
原子命令11:用于定义命令名称的命令。
示例性的,/cmd set XX日报,即cmd原子命令定义了一个“XX日报”的命令。
原子命令还可以随着开发继续扩展,以实现更多的功能。
下面以几个具体的实施例对本公开的技术方案进行描述。
图1为本公开提供的一种构建应用的方法的流程示意图,如图1所示,本实施例的方法如下:
S10、通过会话界面获取至少一个工作流配置消息。
其中,工作流配置消息中包括至少一个命令。
如图2所示,会话界面100可以为与特定会话机器人的会话界面,示例性的,图2中会话界面100中的特定会话机器人为第一机器人。
在与特定会话机器人的会话界面中获取至少一个工作流配置消息包括获取在与特定机器人的会话界面的文本输入框输入的至少一个工作流配置消息,示例性的,继续参见图2,获取在与第一机器人的会话界面的文本输入框输入的工作流配置消息。或者,在与特定机器人的会话界面上的语音输入控件被激活时,获取输入的语音信号,解析语音信号获取至少一个工作流配置消息,示例性的,如图3所示,当与第一机器人的会话界面上的语音控件101被激活后,通过电子设备的麦克风获取语音信号,并解析语音信号获取至少一个工作流配置消息。又或者,在与特定机器人的会话界面上的手势输入控件被激活时,获取输入的手势信号,解析手势信号以获取至少一个工作流配置消息,示例性的,如图4所示,当与第一机器人的会话界面上的手势输入控件102被激活时,通过电子设备的摄像头获取输入的手势信号,并通过解析手势信号获取至少一个工作流配置消息。
示例性的,当在与第一机器人的会话界面的文本输入框输入输入的工作流配置消息为“/cmd set XX日报$curl https://news-at.zhihu.com/api/3/stories/latest|jq-r'.stories|map("[\(.title)](\(.url)sidebar)")|join("\n")'|/msg$blueXX日报\n{{{resp}}}”,此时,对应的工作流配置消息中包括如下命令:/cmd、/sh、curl、jq和/msg,其中,/cmd命令定义了一个“XX日报”的命令,/sh命令定义了当前命令的内容是一个带管道的命令,管道命令是由3个命令顺序组合而成,第一个是curl,用于从XX日报Open API获取数据,第二个是jq,用于将数据中的指定字段组装,生成一个特定格式的字符串,第三个是/msg,用于组装出消息卡片并发给用户。
S20、基于至少一个工作流配置消息,构建应用。
示例性的,当获取的至少一个工作流配置消息为“/cmd set XX日报$curlhttps://news-at.zhihu.com/api/3/stories/latest|jq-r'.stories|map("[\(.title)](\(.url)sidebar)")|join("\n")'|/msg$blueXX日报\n{{{resp}}}”,此时根据该工作流配置消息构建的应用为XX日报应用。
可选的,构建应用之后,可以将应用对应的工作流配置消息进行存储,也可以生成应用对应的图标显示于预设位置(例如,桌面),也可以生成应用对应的链接,对此,本公开不做限制。
本实施例,通过在会话界面获取至少一个工作流配置消息,基于工作流配置消息,构建应用。工作流配置消息中包括命令,即可以通过将命令灵活组合得到工作流配置消息,因此,构建应用的方式更加灵活,可以构建丰富的应用,并且,以在会话界面中聊天的方式构建应用,提高了构建应用的便利性和趣味性。
图5是本公开实施例提供的另一种构建应用的方法的流程示意图,本实施例是在上述实施例的基础上,如图5所示,在步骤S20之后,还包括执行如下步骤:
S30、响应于接收到触发应用的操作。
在基于工作流配置消息构建应用后,若接收到与工作流配置消息对应的应用的触发操作时,则响应接收到触发应用的操作。示例性的,当获取的至少一个工作流配置消息为“/cmd set XX日报$curl https://news-at.zhihu.com/api/3/stories/latest|jq-r'.stories|map("[\(.title)](\(.url)sidebar)")|join("\n")'|/msg$blueXX日报\n{{{resp}}}”,此时根据该工作流配置消息构建的应用为XX日报应用,当触发XX日报应用对应的操作后,则运行XX日报应用,并获取XX日报应用的运行结果,即从XX日报应用中获取该应用中的数据。
作为步骤S30的实施方式包括但不限于如下可能的实现方式:
其中,一种可能的实现方式,如图6所示,包括:
S301、响应于通过会话界面获取到运行应用的消息。
其中,运行应用的消息包括:应用名称。
示例性的,当在与第一机器人的会话界面的文本输入框输入工作流配置消息“/cmd set XX日报$curl https://news-at.zhihu.com/api/3/stories/latest|jq-r'.stories|map("[\(.title)](\(.url)sidebar)")|join("\n")'|/msg$blueXX日报\n{{{resp}}}”,并触发发送文本输入框输入的工作流配置消息,此时文本输入框输入的工作流配置消息会发送至与第一机器人的会话界面,如图7所示。基于与第一机器人的会话界面中的工作流配置消息构建的应用为XX日报,当构建好XX日报后,在与第一机器人的会话界面的文本输入框输入XX日报并发送,此时对应运行应用的消息为在与第一机器人的会话界面中发送的“XX日报”,根据运行应用的消息,运行XX日报应用,并从XX日报应用中获取运行结果,如图8所示,即获取到XX日报中的内容。
本公开实施例,通过会话界面获取运行应用的消息,运行应用并获取运行结果,实现在交互式对话界面中运行工作流配置消息构建的应用,使得交互式界面更自然、更智能,且可以配合智能音箱、实体机器人等可以实现更拟人化的交互。
另一种可能的实现方式,如图9所示,包括:
S302、响应于接收点击应用的图标的操作。
示例性的,当基于工作流配置信息构建应用后,例如构建好XX日报应用后,可以生成XX日报对应的图标显示于预设位置(例如,桌面),若触发点击XX日报应用的图标,此时根据触发点击XX日报应用的图标的操作,运行构建的XX日报应用,并获取XX日报中的内容。
S40、运行应用,获取运行结果。
具体的,获取运行结果包括在会话界面中显示目标数据,或在即时通信群组内响应即时通信群组的触发操作。
图10是本公开实施例提供的又一种构建应用的方法的流程示意图,本实施例是图5对应的实施例的基础上,当步骤S10中至少一个命令包括:定义应用名称的命令、发送数据源地址的命令以及配置目标数据的显示格式的命令;其中,发送数据源地址的命令用于从数据源地址获取目标数据;配置目标数据的显示格式的命令用于控制目标数据在会话界面中的显示格式,步骤S40的一种可能实现方式图下所示,包括:
S401、根据数据源地址获取目标数据。
示例性的,获取的工作流配置消息为“/cmd set XX日报$curl https://news-at.zhihu.com/api/3/stories/latest|jq-r'.stories|map("[\(.title)](\(.url)sidebar)")|join("\n")'|/msg$blueXX日报\n{{{resp}}}”,此时该工作流配置消息中定义应用名称的命令为/cmd set XX日报,发送数据源地址的命令为curl https://news-at.zhihu.com/api/3/stories/latest|jq-r'.stories|map("[\(.title)](\(.url)sidebar)")|join("\n")'|,配置目标数据的显示格式的命令为/msg$blueXX日报\n{{{resp}}}。在获取到工作流配置消息后,根据工作流配置消息中的数据源地址获取目标数据,即从https://news-at.zhihu.com/api/3/stories/latest地址中获取字段为stories字段的数据。
S402、根据目标数据的显示格式在会话界面中显示目标数据。
根据数据源地址获取目标数据后,根据目标数据的显示格式在会话界面中显示目标数据,示例性,将从https://news-at.zhihu.com/api/3/stories/latest地址中获取的字段为stories字段的数据以链接形式显示,且XX日报以蓝色底色显示。
需要说明的是,上述实施例中显示格式示例性以链接形式蓝色底色显示,在其它可实施方式中,显示格式包括以卡片的形式显示、以显示链接显示、换行显示等,但不限于上述所述的显示格式。
本公开实施例提供的构建应用的方法,首先根据数据源地址获取目标数据,然后根据目标数据的显示格式在会话界面中显示目标数据,实现了运行应用,获取运行结果按照目标数据格式的显示格式在会话界面进行显示,实现运行结果的可视化、多样化显示。
当步骤S10中至少一个命令包括:定义即时通信群组的标识的命令、配置即时通信群组的触发操作的命令和配置响应方式的命令时,步骤S40另一种可能的实现方式,如图11所示,包括:
S403、根据响应方式,在即时通信群组内响应即时通信群组的触发操作。
具体的,定义即时通信群组的标识的命令为:
/chat create[群聊名称]@用户1@用户2:创建群聊。
配置的即时通信群组的触发操作的命令包括:
add_user_to_chat:用户进群;
revoke_add_user_from_chat:撤销邀请用户进群;
remove_user_from_chat:用户出群;
add_bot:机器人进群;
remove_bot:机器人被移出群;
p2p_chat_create:用户和机器人的会话首次被创建。
配置响应方式的命令包括:
/action set add_user_to_chat/msg open_chat_id={{{event.chat_id}}}群里来了新同学,欢迎;
/action set remove_user_from_chat/msg open_chat id={{{event.chat_id}}}新同学跑了,欢送;
/action set revoke_add_user_from_chat/msg open_chat_id={{{event.chat_id}}}你撤销了邀请用户入群的操作,干的漂亮;
/action set remove_bot/msg{{{event.bot_event_info}}};
/action set remove_bot/msg{{{event.bot_event_info}}};
/action set p2p_chat_create/msg你来啦,欢迎欢迎。
示例性的,如图12所示,当即时通信群组的标识的命令创建群组Group1后,群组Group1包括1个成员用户A。当在即时通信群组Group1触发添加好友操作,即用户A在Group1群组中触发添加好友操作后,检测到用户A在Group1群组中添加好友对应的响应方式为在即时通信群组内发送:“群里来了新同学,欢迎”消息,如图13所示。
本公开实施例提供的构建应用的方法,根据响应方式,在即时通信群组内响应即时通信群组的触发操作,即对应不同的触发操作,在工作流配置消息对应的命令中包括即时通信群组的标识的命令时,以不同的相应方式对触发操作进行响应,实现更自然、更智能的人机交互。
需要说明的是,上述实施例中示例性以一种工作流配置消息中包括的命令为例进行举例说明,在具体的实施方式中,工作流配置消息中的命令包括:原子命令、第一封装命令或第二封装命令中的一种或多种,其中,第一封装命令是对至少一个原子命令进行封装所得到的命令,第二封装命令是对至少一个第一封装命令进行封装所得到的命令,或者是对至少一个原子命令和至少一个第一封装命令进行封装所得到的命令。
可选的,在上述实施例的基础上,构建应用的方法还包括:通过会话界面获取查询指令,基于查询指令查询通过会话界面构建的所有应用分别对应的工作流配置消息。
示例性的,当在与第一机器人会话界面的本文输入框中中输入/cmd ls指令并触发发送/cmd ls指令至与第一机器人的会话界面,此时在会话界面获取到/cmd ls指令后,基于/cmd ls指令查询通过会话界面构建的所有应用分别对应的工作流配置消息,如图14所示。
可选的,在上述实施例的基础上,构建应用的方法还包括:通过会话界面获取修改指令,根据修改指令修改已构建的应用的工作流配置消息。
示例性的,若构建的工作流配置消息为:“/cmd set天气/sh curl https://api.seniverse.com/v3/weather/now.json-G-d'{"key":"SXbZ rNrHZVDge1SCU","location":"{{user.argv.[1]}}","language":"zh-Hans","unit":"c"}'|jq'.results[0]'|/msg{{resp.location.name}},{{resp.now.text}},{{resp.now.temperature}}℃text”,则当前工作流配置消息对应的应用在运行后,获取的运行结果为“北京,晴,14℃”。若我们希望返回的结果为“北京的天气是晴,14℃”,那么就可以通过修改指令修改已构建的应用的工作流配置消息,例如,修改工作流配置消息“jq'.results[0]'为“/cmd set天气/sh curl https://api.seniverse.com/v3/weather/now.json-G-d'{"key":"SXbZrNrHZVDge1SCU","location":"{{user.argv.[1]}}","language":"zh-Hans","unit":"c"}'|jq'.results[0]'|/msg{{resp.location.name}}的天气是{{resp.now.text}},{{resp.now.temperature}}℃ text”。当根据修改指令修改已构建的应用的工作流配置消息后,获取的运行结果为“北京的天气是晴,14℃”。
需要说明的是,上述实施例示例性以一种修改指令修改为例进行举例说明,在其它可实施方式中,修改指令可以包括多种应用场景,本公开实施例不对此进行具体限定。此外,通过修改指令修改已构建的应用的工作流配置消息时,若此工作流配置消息之前也是该用户配置的,则可以直接覆盖,如果是其他用户配置的,则报错或者提示修改指令名称。
本公开实施例还提供一种构建应用的装置,如图15所示,构建应用的装置包括:
获取模块210,用于通过会话界面获取至少一个工作流配置消息,其中,工作流配置消息中包括至少一个命令。
处理模块220,用于基于至少一个工作流配置消息,构建应用。
本公开实施例提供的构建应用的装置,获取模块通过会话界面获取至少一个工作流配置消息,处理模块基于至少一个工作流配置消息构建应用,通过配置工作流配置消息中的命令,实现灵活丰富的工作流配置消息,进而保证构建的应用的丰富性以及功能多样性等。而根据至少一个工作流配置消息构建的应用可以实现更自然、更智能的人机交互,后续配合智能音箱、实体机器人等可以实现更拟人化的人机交互。此外,随着用户对构建应用的方法的掌握,以及自定义命令的积累,后续组装生成新的命令的效率会越来越高,构建应用的成本会降低。
本实施例的装置对应地可用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本公开还提供一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现上述方法实施例的步骤。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法实施例的步骤。
本公开还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行实现上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种构建应用的方法,其特征在于,所述方法包括:
通过会话界面获取至少一个工作流配置消息,其中,所述工作流配置消息中包括至少一个命令;
基于所述至少一个工作流配置消息,构建应用。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于接收到触发所述应用的操作,运行所述应用,获取运行结果。
3.根据权利要求2所述的方法,其特征在于,所述接收到触发所述应用的操作包括:
通过所述会话界面获取到运行所述应用的消息;
或者,
接收点击所述应用的图标的操作。
4.根据权利要求1所述的方法,其特征在于,所述会话界面是特定会话机器人的会话界面。
5.根据权利要求1所述的方法,其特征在于,所述通过会话界面获取至少一个工作流配置消息包括:
获取通过所述会话界面上的文本输入框输入的至少一个工作流配置消息;
或者,在会话界面上的语音输入控件被激活时,获取输入的语音信号,解析所述语音信号获取至少一个工作流配置消息;
或者,在会话界面上的手势输入控件被激活时,获取输入的手势信号,解析所述手势信号以获取至少一个工作流配置消息。
6.根据权利要求1所述的方法,其特征在于,所述至少一个命令包括:如下中一种或多种:
原子命令;
第一封装命令;其中,所述第一封装命令是对至少一个原子命令进行封装所得到的命令;
第二封装命令;其中,所述第二封装命令是对至少一个第一封装命令进行封装所得到的命令,或者是对至少一个原子命令和至少一个第一封装命令进行封装所得到的命令。
7.根据权利要求6所述的方法,其特征在于,所述原子命令满足如下规则:
下游原子命令可使用紧邻的上游原子命令的输出结果;
可向全局字典对象中写数据;
可使用全局字典对象的数据;
可持久化写数据;
可读持久化数据;
可封装其他命令。
8.根据权利要求6所述的方法,其特征在于,所述原子命令包括下述至少一种:
用于发送超文本传输协议HTTP请求的命令;
用于做JSON查询和重组的命令;
用于返回输入的内容的命令;
用于向全局字典对象中写数据的命令;
用于定义和查看持久化数据的命令;
用于执行带管道的命令的命令;
用于设定定时任务的命令;
用于在即时通信软件中发送消息的命令;
用于在即时通信软件中读或者写在线表格的命令;
用于在即时通信客户端中将用户标识转化为开放标识;
用于定义命令名称的命令。
9.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
通过所述会话界面获取查询指令,基于所述查询指令查询通过所述会话界面构建的所有应用分别对应的工作流配置消息。
10.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
通过所述会话界面获取配置所述应用的运行权限的消息,所述运行权限用于限定运行所述应用的用户。
11.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
通过所述会话界面获取修改指令,根据所述修改指令修改已构建的应用的工作流配置消息。
12.根据权利要求3所述的方法,其特征在于,所述运行所述应用的消息包括:应用名称。
13.根据权利要求2所述的方法,其特征在于,
所述至少一个命令包括:定义应用名称的命令、发送数据源地址的命令以及配置目标数据的显示格式的命令;其中,所述发送数据源地址的命令用于从所述数据源地址获取目标数据;所述配置目标数据的显示格式的命令用于控制所述目标数据在所述会话界面中的显示格式;
所述运行所述应用,获取运行结果包括:
根据所述数据源地址获取目标数据;
根据所述目标数据的显示格式在所述会话界面中显示所述目标数据。
14.根据权利要求2所述的方法,其特征在于,
所述至少一个命令包括:定义即时通信群组的标识的命令、配置所述即时通信群组的触发操作的命令和配置响应方式的命令;
所述运行所述应用,获取运行结果,包括:
根据所述响应方式,在所述即时通信群组内响应所述即时通信群组的触发操作。
15.一种构建应用的装置,其特征在于,包括:
获取模块,用于通过会话界面获取至少一个工作流配置消息,其中,所述工作流配置消息中包括至少一个命令;
处理模块,用于基于所述至少一个工作流配置消息,构建应用。
16.一种电子设备,其特征在于,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求1-14任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-14任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737953.6A CN115016693B (zh) | 2021-06-30 | 2021-06-30 | 构建应用的方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737953.6A CN115016693B (zh) | 2021-06-30 | 2021-06-30 | 构建应用的方法、装置、设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115016693A true CN115016693A (zh) | 2022-09-06 |
CN115016693B CN115016693B (zh) | 2024-06-11 |
Family
ID=83064693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110737953.6A Active CN115016693B (zh) | 2021-06-30 | 2021-06-30 | 构建应用的方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115016693B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103069444A (zh) * | 2010-03-24 | 2013-04-24 | 宝美瑞思网络公司 | 基于工作流的会话管理 |
US20140317595A1 (en) * | 2013-04-23 | 2014-10-23 | Kofax, Inc. | Smart mobile application development platform |
CN104216646A (zh) * | 2013-05-30 | 2014-12-17 | 华为软件技术有限公司 | 基于手势创建应用程序的方法及装置 |
US20160232013A1 (en) * | 2013-09-24 | 2016-08-11 | Cotham Technologies Limited | Methods and Software for Creating Workflows |
CN110244941A (zh) * | 2019-06-17 | 2019-09-17 | 三角兽(北京)科技有限公司 | 任务开发方法、装置、电子设备及计算机可读存储介质 |
CN110377275A (zh) * | 2019-07-18 | 2019-10-25 | 中汇信息技术(上海)有限公司 | 自动创建应用程序的方法和存储介质 |
CN111796945A (zh) * | 2020-06-12 | 2020-10-20 | 中国建设银行股份有限公司 | 工作流的构建方法、装置、电子设备及可读存储介质 |
CN112162843A (zh) * | 2020-10-19 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 工作流执行方法、装置、设备及存储介质 |
CN112882700A (zh) * | 2021-02-09 | 2021-06-01 | 京东方科技集团股份有限公司 | iOS应用程序构建方法及装置、电子设备及存储介质 |
-
2021
- 2021-06-30 CN CN202110737953.6A patent/CN115016693B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103069444A (zh) * | 2010-03-24 | 2013-04-24 | 宝美瑞思网络公司 | 基于工作流的会话管理 |
US20140317595A1 (en) * | 2013-04-23 | 2014-10-23 | Kofax, Inc. | Smart mobile application development platform |
CN104216646A (zh) * | 2013-05-30 | 2014-12-17 | 华为软件技术有限公司 | 基于手势创建应用程序的方法及装置 |
US20160232013A1 (en) * | 2013-09-24 | 2016-08-11 | Cotham Technologies Limited | Methods and Software for Creating Workflows |
CN110244941A (zh) * | 2019-06-17 | 2019-09-17 | 三角兽(北京)科技有限公司 | 任务开发方法、装置、电子设备及计算机可读存储介质 |
CN110377275A (zh) * | 2019-07-18 | 2019-10-25 | 中汇信息技术(上海)有限公司 | 自动创建应用程序的方法和存储介质 |
CN111796945A (zh) * | 2020-06-12 | 2020-10-20 | 中国建设银行股份有限公司 | 工作流的构建方法、装置、电子设备及可读存储介质 |
CN112162843A (zh) * | 2020-10-19 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 工作流执行方法、装置、设备及存储介质 |
CN112882700A (zh) * | 2021-02-09 | 2021-06-01 | 京东方科技集团股份有限公司 | iOS应用程序构建方法及装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115016693B (zh) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657370B (zh) | 数据传输方法及装置 | |
Medved et al. | Opendaylight: Towards a model-driven sdn controller architecture | |
TWI685228B (zh) | 資訊傳輸方法和裝置 | |
CN107276864A (zh) | 智能语音设备控制家电的方法、装置及*** | |
CN101557297B (zh) | 一种基于互联网的开放式电信业务生成***及方法 | |
CN104023050A (zh) | 一种设备云环境下设备协同多屏互动***及其方法 | |
Rudolph | Project oxygen: Pervasive, human-centric computing–an initial experience | |
CN106657521A (zh) | 一种智能设备语音交流方法、装置和*** | |
CN103974111B (zh) | 将智能终端上的数据传输至电视终端的方法、装置 | |
CN104394191A (zh) | 远程控制移动终端的方法、控制终端及*** | |
CN101980152A (zh) | 一种移动中间件***及其实现方法 | |
JP5441455B2 (ja) | ネットワーク基盤のサービス提供システム | |
CN106372850A (zh) | 一种基于智能机器人的信息提醒方法及装置 | |
CN103942055A (zh) | 面向融合网络混合服务流程编制语言的开发***及方法 | |
CN106302103A (zh) | 一种信息处理方法及其***、应用服务器 | |
CN101853152A (zh) | 一种生成用户图形界面的方法和*** | |
CN104584009A (zh) | 用于基于任务的远程服务的方法和装置 | |
CN102799477A (zh) | 资源访问方法及装置 | |
CN110933170A (zh) | 一种ZigBee网关的多设备联动控制方法、设备及存储介质 | |
CN109697091A (zh) | 页面的处理方法、装置、存储介质和电子装置 | |
CN105704001A (zh) | 一种微信服务器消息分发方法及*** | |
CN103268541A (zh) | 一种邮箱界面交互方法和设备 | |
WO2018000623A1 (zh) | 一种网页的操控方法及装置 | |
CN116150540B (zh) | 基于元宇宙和云平台实现展项内容一键切换的***及方法 | |
CN115016693A (zh) | 构建应用的方法、装置、设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |