@服务管理 @服务脚本 @定时代理 @服务接口编写 @脚本编写

O2OA提供的服务管理中心可以让用户使用Javascript语言自由编写脚本的处理逻辑来实现与第三方的数据交互,数据同步以及系统内的数据处理等工作,也可以编写系统内的定时任务脚本。本文主要介绍O2OA系统定时代理和接口的脚本编写。

“接口”可以提供Http服务让外部程序调用,使用Javascript编写,可以直接调用Java类。

入口

点系统的左上角图标->应用->服务管理平台->接口打开。
image.png

访问限制

如果“访问的地址表达式”不为空,那么只有匹配的地址可以访问,允许使用通配符。

接口调用

接口请求方式 http
请求地址 http://centerServer:20030/x_program_center/jaxrs/invoke/{flag}/execute
flag的值优先级为
1、别名不为空,使用别名;
2、名称不为空,使用名称;
3、也可以使用id作为flag。
请求方法 POST
请求标头 Content-Type: application/json
响应标头 Content-Type: application/json; charset=utf-8

接口调试

打开URL: http://centerServer:20030/x_program_center/jest/index.html

在上图的服务中填写接口的标识(接口别名、名称或者ID),在JsonElement区域输入接口接收数据,然后点击POST进行调试,接口会在Result区域输出返回数据。
可以在接口中使用print( text )在服务器控制台输出调试信息。

输入和输出

在接口脚本中可以使用 requestText 来获取请求的内容。
在接口脚本的末尾使用直接量作为接口的输出。
样例: 在调用接口的时候提交的报文为 { "subject" : "接口测试样例" },那么脚本中的获取为:

var requestJson = JSON.parse(requestText);
if( typeof(requestJson) === "string" ){ //某些情况下可能需要转换两次
    requestJson = JSON.parse(requestJson);
}
var subject = requestJson.subject; //subject值为"接口测试样例"
var result = { "result" : "已获取subject"+subject };
result; //接口的输出
最终接口的http request正文如下
{
    "type": "success",
    "data": {
        "value": { //接口脚本的输出内容
            "result": "已获取subject这是一个测试接口"
        }
    },
    "message": "",
    "date": "2019-08-18 18:09:24",
    "spent": 397,
    "size": -1,
    "count": 0,
    "position": 0
}

当前用户

使用 effectivePerson 来获取当前用户。
如果未登录系统,返回如下:

{
 "tokenType": "anonymous",
 "token": "",
 "name": "anonymous",
 "unique": "anonymous",
 "distinguishedName": "anonymous",
 "debugger": true,
 "remoteAddress": "115.216.34.235",
 "uri": "/x_program_center/jaxrs/invoke/invokeTest/execute",
 "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0"
}


如果已登录系统,返回如下:

{
"tokenType": "user", //如果是管理员为manager
"token": "jlMh2guoFibWcTwR3NHdVTbw_ylqeq-uFLrLL9stmcruJSx7mPOjiX-euWIQv-ovp8orv1dTAwkavfdfdfdfdf",
"name": "张三",
"unique": "zhangsan",
"distinguishedName": "张三@zhangsan@P",
"debugger": true,
"remoteAddress": "115.216.34.235",
"uri": "/x_program_center/jaxrs/invoke/invokeTest/execute",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
}

完整样例

样例名称 链接
用户同步接口 链接
组织同步接口 链接

更多样例可以查看 webServer/x_component_service_InvokeDesigner/sample/ 目录

推荐文章:

移动办公-手机APP指纹认证的配置
2021-03-01
O2OA平台拥有配套的原生开发的安卓和IOS移动APP,开发者在拥有公网IP或者域名的服务器上可以轻松体验移动办公环境,并且不会产生任何费用。本篇主要介绍如何配
常见问题-如何使用服务管理调用WebService
2021-02-07
一、接口样例1、打开服务管理平台2、创建接口写上相关代码/********************this.entityManager;//实体管理器this.
系统安全-用户登录IP限制
2021-02-25
为增加系统和用户的安全性增加用户登录IP限制功能,此功能仅对PC端,移动端不限制(移动端需要满足外网登录需求),此功业务场景适用于内网系统。本篇主要介绍如何将在
平台服务器主机架构配置推荐
2021-03-04
O2OA开发平台支持公有云,私有云和混合云部署,也支持复杂的网络结构下的分布式部署。本篇主要介绍O2OA支持的部署环境以及常用的集群部署架构。
业务开发-组织架构-组织职位信息管理
2021-02-26
O2OA提供多级组织架构设置能力,用户可以在系统内设置集团、分公司、部门、小组等多级企业组织结构来满足办公需要,可以为组织设置不同的职务来实现配置和人员的解耦。
服务集成-与外部系统数据交互
2021-03-03
O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何在O2OA中开发接口与外部系统进行数据交互。
系统角色权限设置说明
2021-02-25
O2OA平台内置19种不同的系统角色,适应于各类应用的权限控制。本篇主要简单讲述初平台拥有的角色列表以及如何对指定的应用进行权限设置
企业办公首页使用说明
2021-02-19
O2OA企业办公首页的导航栏中,有直观清爽的界面、功能丰富的应用。根据企业办公需求随心使用,包含流程管理、会议管理、组织管理、日程管理等等。
服务集成-通过接口从第三方应用系统启动流程
2021-03-02
O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何在Java代码中通过接口从第三方应用系统启动O2OA中的业
移动办公-创建自定义企业微信应用
2021-02-25
O2OA平台拥有配套的原生开发的安卓和IOS移动APP,可以以自建应用的方式集成到企业微信,同步企业微信的企业通讯录作为本地组织人员架构,并且可以将待办等通知直

results matching ""

    No results matching ""