首页 > 其他分享 >致远OA二次开发 配置开发环境及使用SDK

致远OA二次开发 配置开发环境及使用SDK

时间:2024-04-07 19:34:46浏览次数:21  
标签:jackson String jar OA put client 二次开发 jersey SDK

此前汇总的文章里面有简单说过SDK。在开发文档内没有完整对其进行说明。其实致远OA官方的开发文档我个人觉得是很有问题的,一般来说都是从入门到深入细节。他们这个开发文档居然在介绍Springboot。由于是接触过他们官方的二开,对项目大概有点了解,此次特意聊聊他们配置开发环境与SDK。

开发环境

分为两个版本。

1.V6.0之前版本,请从产品环境的webapps/seeyon/WEB-INF/lib获取以下jar包:

seeyon-ctp-core.jar
jackson-core-asl-1.9.8.jar
jackson-core-lgpl-1.9.8.jar
jackson-jaxrs-1.9.2.jar
jackson-mapper-asl-1.9.8.jar
jackson-xc-1.9.2.jar
jersey-client-1.17.1.jar
jersey-core-1.17.1.jar
jersey-json-1.17.1.jar
jersey-server-1.17.1.jar
jersey-servlet-1.17.1.jar

2.V6.0之后版本,包括V6.0,V6,请从产品环境的webapps/seeyon/WEB-INF/lib获取:

seeyon-ctp-core.jar
httpmime.jar
httpcore-nio.jar
httpcore.jar
httpclient-win.jar
httpclient-cache.jar
httpclient.jar
json-lib-jdk15.jar
ezmorph.jar
commons-beanutils.jar
jersey-server.jar
jersey-media-multipart.jar
jersey-media-jaxb.jar
jersey-guava.jar
jersey-container-servlet-core.jar
jersey-container-servlet.jar
jersey-common.jar
jersey-client.jar
javax.ws.rs-api.jar
javax.inject.jar
jackson-module-jaxb-annotations.jar
jackson-jaxrs-base.jar
jackson-databind.jar
jackson-annotations.jar
hk2-utils.jar
hk2-locator.jar
hk2-api.jar
javax.annotation-api.jar
jackson-jaxrs-json-provider.jar
jackson-core.jar

 

官方文档也有上述的说明。只是给出之后就戛然而止了,估计讲究的就是开发者和官网之间的默契,少一点都不行。

引入以上的jar包之后,如想能正常调用,请在对应产品环境的机器上进行开发。就是说,如果你是在正式环境上面拷出以上的jar包,你开发的程序就只能运行在正式环境上。或者需要重新引入并打包。这个事情我咨询过二开,对此讳莫如深,只说了里面会包含致远OA系统的一些配置,所以不能是通用的。

其实这一条就足以影响整个致远的二开生态了。本身只要是开发通用的插件,只要把对应的jar配置到系统中就可以用了。但是因为这样的设置,需要重新引入jar并打包。门槛就高出许多。

SDK

SDK还是没什么说明,就列举几个文档的例子自行理解吧。

1.获取客户端对象的实例

import com.seeyon.client.CTPRestClient;
import com.seeyon.client.CTPServiceClientManager;
...
// 指定协议、IP和端口,获取ClientManager
CTPServiceClientManager clientManager = CTPServiceClientManager.getInstance("http://127.0.0.1:8080");

/ 取得REST动态客户机实例
CTPRestClient client = clientManager.getRestClient();

2.Token验证
可以调用authenticate方法进行一次性的登录验证,后续的调用就不必传入token:

//验证rest用户
client.authenticate(userName, password);
//绑定登录用户
client.bindUser(loginName);

3.GET
所有GET类的REST接口均可按此方式调用:

// 访问按登录名获取人员信息的接口
// 期待的返回值类型为String,此时返回JSON串
String json = client.get("orgMember/?loginName=" + loginName, String.class);
// 同样的调用,此时将JSON解析为Map返回
Map map = client.get("orgMember/?loginName=" + loginName, Map.class);
// 此处指定了accept,返回值为xml
String xml = client.get("flow/data/-5199818657160149985" , String.class,"application/xml");
// 注意URL中的中文一定要进行编码
client.get("orgMembers/name/" + URLEncoder.encode("中文","UTF-8"), String.class);

4.POST
以新建类接口示例:

// 新建岗位
Map data = new HashMap() {
    {
        put("orgAccountId", 967547186016371000l);
        put("name", "岗位名称");
    }
};
String post = client.post("orgDepartment", data, String.class);//注意:这里的Map data 切勿传入null,及时data没有信息,也需Map data = new HashMap();

// 新建人员
Map data = new HashMap() {
    {
        put("orgAccountId", orgAccountId);
        put("name", memberName);
        put("code", "");
        put("sortId", 2);
        put("description", "");
        put("orgLevelId", levelId);
        put("orgPostId", postId);
        put("orgDepartmentId", departmentId);
        put("telNumber", "");
        put("birthday", null);
        put("officeNum", "");
        put("emailAddress", "");
        put("loginName", loginName);
    }
};
client.post("member", data, String.class);

 

标签:jackson,String,jar,OA,put,client,二次开发,jersey,SDK
From: https://www.cnblogs.com/byuc/p/18119738

相关文章

  • 致远OA 系统备份及恢复
    致远网上的资料比较少。我接触这个系统也已经快两年多了。许多问题,特别是流程设置、表单设计、基础数据等问题,虽然致远给的官方手册上面有涉及,但是案例并不多。所以我决定把普遍公司流程设置上都会遇到的坑过一遍,作为二次开发之外的另一个专题共享出来,也算是总结一下自己的工作。......
  • java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus
    鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更高的要......
  • java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus
     鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更高的......
  • ZW3D二次开发_文件_操作用户属性
    1.什么是文件用户属性?文件用户属性是指用户保存在ZW3D文件内的自定义属性。如下图打开ZW3D文件用户属性界面可查看用户属性:2.如何使用代码操作文件用户属性?1)添加用户属性//添加用户属性 constintnumber=5; svxAttributeuserAttrs[number]={0}; strcpy......
  • Gitlab接入Oauth2.0
    配置Gitlab的SSO接入文档OmniAuthOauth2.0添加Gitlab配置里面包含的JWT配置后续再添加样例,可以忽略gitlab_rails['omniauth_enabled']=true#启用SSO配置gitlab_rails['omniauth_auto_link_user']=["oauth2_generic"]#自动关联已经存在的账号gitlab_rails[......
  • Pytorch实用教程:Pytorch中enumerate(test_loader, start=0)的解释
    文章目录1.Pytorch中的enumerate(test_loader,0)数据加载器`test_loader``enumerate(test_loader,0)`数据解包`inputs,labels=data`总结2.python中enumerate的用法基本用法示例遍历列表使用不同的起始索引在字典上使用为什么使用`enumerate`?1.Pytorch......
  • [泛微OA]明细表1的字段赋值给明细表2的字段js实现方法
    文章目录概要整体架构流程技术名词解释技术细节小结概要明细表1的编码字段值自动赋值给明细表2的编码字段.整体操作触发过程保存或者提交后自动触发.技术名词解释添加明细时默认复制最后一行记录setDetailAddUseCopy:function(detailMark,needCopy)参数参数类......
  • [泛微OA]流程提交弹出需再次确认提醒框js实现方法
    文章目录概要整体流程技术名词解释技术细节小结概要有的重要业务流程提交需要再次点击确认的业务场景需要这种方法整体流程js实现提交时候弹出弹出框进行再次确认按钮技术名词解释showConfirm:function(content,okEvent,cancelEvent,otherInfo={}) ......
  • 在Keycloak中实现多租户并在ASP.NET Core下进行验证
    Keycloak是一个功能强大的开源身份和访问管理系统,提供了一整套解决方案,包括用户认证、单点登录(SSO)、身份联合、用户注册、用户管理、角色映射、多因素认证和访问控制等。它广泛应用于企业和云服务,可以简化和统一不同应用程序和服务的安全管理,支持自托管或云部署,适用于需要安全、灵......
  • Node.js毕业设计基于的OA办公系统的设计与实现(Express+附源码)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着信息技术的飞速发展和互联网应用的普及,办公自动化(OA)系统已经成为企业、机构乃至政府部门不可或缺的工具。传统的手工办公方式效率低下、易出错且难以管......