首页 > 技术 > 机器人

用企业微信机器人做交互式前端-开发与复用 | java微信机器人

人阅读 2023-10-04 11:20:10

【用企业微信机器人做交互式前端-开发与复用 | java微信机器人】lot物联网小编为你整理了的相关内容,希望能为你解答。

本系列所有文章请访问:概述

微信机器人的开发过程

jxTMS的微信机器人就单纯的开发来说是很简单的:

1、开通微信机器人,详见添加微信功能中的【开通机器人】一节

2、对需要添加到微信机器人中的操作用wx进行修饰,详见添加微信功能中的【添加微信功能】一节

3、如果这些操作需要输入,则为其添加输入提示,详见交互式输入中的【交互式输入的定义】一节

4、做本地测试

5、将代码发布到生产服务器上,热机刷新即hotReload即可

微信机器人对web界面的复用

为降低开发两套ui的工作量,对于微信机器人的开发我们希望尽可能的从web界面中复用。好在微信机器人在大多数情况下都只是web界面的一个子集,所以大大降低了维护并协同两套ui和业务代码的工作量。

web界面的复用我们通过引用来实现,如:

//用于微信机器人的界面web wxPage type div;/* wxPage的定义*///仅用于web界面的其它信息web otherInfo type div;/* otherInfo的定义*///用于web的界面由wxPage和其它信息两部分组成web webPage type div;web webPageDiv1 parent webPage ref wxPage width=900;web webPageDiv2 parent webPage ref otherInfo width=900;

即我们为微信机器人专门定义了一个web界面,然后webUI引用这个界面同时再添加其它信息。

针对代码的复用可以调用jxTMS用java实现的call函数:

Object call(IDBop db, context ctx,String capaname, String funcname, Object... params)

其中:

capaname:目标函数所在功能点的名字,形如:空间名.模块名funcname:函数名params:传递给目标函数的变参列表

如,我们在资产管理的asset.main中定义一个改变资产状态的操作函数::

@myModule.event('cmd', 'changeAssetState')def changeAssetState(self, db, ctx): ......其它针对web界面的工作 self._changeAssetState(db,ctx)#修改资产状态的实际代码def _changeAssetState(self, db, ctx): ......

而在asset.wx模块中我们可以如下调用:

self.call(db,ctx,'asset.main','_changeAssetState')

jxTMS会临时将asset.main功能点的输入输出重定向到asset.wx模块中,这样就是可在asset.main的_changeAssetState函数正常用self.getInput函数从微信机器人处读取用户的输入、用self.setOutput函数通过微信机器人发送到企业微信中显示给用户。

以上内容为【用企业微信机器人做交互式前端-开发与复用 | java微信机器人】的相关内容,更多相关内容关注lot物联网。

LOT物联网

iot产品 iot技术 iot应用 iot工程

Powered By LOT物联网  闽ICP备2024036174号-1

联系邮箱:support1012@126.com