A8接口和增值开发手册(3)

2019-01-18 18:08

用友致远协同办公系统-开发手册 classpath*:a.xml 2. 配置第三方系统

ThirdpartySpace:名称、登录地址、页面地址、打开方式、访问权限、能访问的系统角色 3. 登录过程

o 在A8中点击\空间页签\

o A8产生Ticket,并维护在内存中

o A8带着Ticket访问第三方系统的\登录地址\(loginURL)进行握手

第三方系统根据Ticket回调获取A8身份信息,进行单点登录,并注册Ticket和登录用户的映射 o A8带着Ticket跳转到第三方系统的\页面地址\(pageURL)

4. 说明

o 第三方系统完全依赖和信任A8的身份验证,Ticket由A8发放 o 第三方系统使用与A8完全相同的登录名

或者进行二次开发,自己维护A8登录名与第三方系统用户的映射表。

o 如果当前用户已经登录第三方系统,将跳过② ③,直接到第4步,使用相同的Ticket

1. 认证ticket/获取身份信息的接口系统提供Servlet:

http://a8:80/seeyon/thirdparty.do?ticket=**;A8将通过response header的LoginName返回登录名; 2. 如果第三方回调后认为有异常,请在response header增加名称为SSOLogoutError的信息。

o 第三方系统退出时,要通知A8,地址是

http://a8:80/seeyon/thirdparty.do?method=logoutNotify&ticket=** o 根据情况可将 ③ ④步合并 (省略loginURL)

3.1.2.2 实现方式二:关联系统+扩展栏目

无需开发,使用关联系统管理登录信息,集成外部系统页面。 1、 配置关联系统

以系统管理员system登录A8,使用“关联系统管理”建立一个新的关联系统。关联系统的url为被集成系统的登录链接,将登录需要的信息如用户名和密码定义为关联系统参数。

用友致远协同办公系统-开发手册

2、 建立扩展栏目

由外部系统管理验证信息的栏目有两种:数据集成型栏目(SSOWebContentSection)和功能操作型栏目(SSOIframeSection)。

3、 用户登录后,在个人空间中配置关联系统参数,填写集成系统的登录信息(用户名和密码)。由关联系统维护

被集成系统的用户名、密码以及Session。

用友致远协同办公系统-开发手册

4、 说明

被集成系统的修改:登录不成功,需要在登录请求的response中增加header项:LoginError=***,否则A8无法判断是否成功登录。 3.2 Portlet 3.2.1 概述

Portlet在A8中的概念是首页空间中的一个区域,它包含多个Tab(栏目)。Portlet的开发也就是对Tab栏目的开发

3.2.2 开发说明 3.2.2.1 确定栏目数据

栏目中的数据由首页应用来确定

需要提供的接口:在应用中专为首页提供数据抽取的接口或方法,一般有2个: 1. 数据列表抽取,需要做好按量抽取 2. 数据总数统计 3.2.2.2 确定栏目显示模板

现在栏目显示模板提供了以下几种 (不断扩充中)

1. MultiRowFourColumnTemplete 重复行、4列

? 4列依次是subject、createDate、createMemberName、category

用友致远协同办公系统-开发手册

? 链接:subject、category分别都有链接

? 扩展属性:importantLevel、hasAttachments、bodyType、extIcons

2. MultiRowThreeColumnTemplete重复行、3列

? 3列依次是subject、createDate、category ? 链接:subject、category分别都有链接

? 扩展属性:importantLevel、hasAttachments、bodyType、extIcons

3. ChessboardTemplete 棋盘式

? 每个项目的属性有:icon、name、link

? setLayout(row,colum) 设置行数跟列数 4. HTMLTemplete HTML的输出模式

? Model属性:

1,直接输出,采用innerHTML方式 2,采用内嵌模式

? Html属性:html代码 3.2.2.3 开发说明

包名: com.seeyon.v3x.main.section 命名规范:***Section

其它:必须继承BaseSection

需要实现的方法

1、 getId()

栏目的唯一标识,同时也是Spring Bean定义的Id, 在ajax.xml中需要配置该bean; 直接返回一个有字符+数字组成的字符串,如:pendingSection 2、 getName()

栏目名称的国际化key,需要在资源文件/apps_res/v3xmain/js/i18n下定义 3、 getIcon()

栏目图标,统一放在 /apps_res/v3xmain/images/section下,如 /apps_res/v3xmain/images/section/pending.col.gif 4、 getTotal()

总数,如果不需要显示总数,就返回null

5、 projection()

在这里取得数据,并在显示模板中填充数据 底部链接:

1、 接口templete.addBottomButton(label, link); 2、 通用按钮label

a) 更多 BaseSectionTemplete.BOTTOM_BUTTON_LABEL_MORE

3.2.2.4 注册到系统

找到section.xml,配置spring: group, // 集团空间 custom, // 自定义空间 不设置表示不限制 2、初始化方法必须是init,否则不可用 personal ? 注意事项:bean的id必须和java类中getId()返回的值相同

执行sql脚本把portlet(Tab)添加到系统: 例如: INSERT INTO v3x_portlet_entity_property VALUES(15, 30, 'sections', 'relateMemberSection,projectSection,newLinkSystemSection'); 在其后增加你的sectionid,用逗号分隔 3.2.3 代码示例 以待办事项为例:

例如:

public class PendingSection extends BaseSection { @Override public String getId() { return \; public void setOrgManager(OrgManager orgManager) { } this.orgManager = orgManager; public void setAffairManager(AffairManager affairManager) { } this.affairManager = affairManager; private static final Log log = LogFactory.getLog(PendingSection.class); private AffairManager affairManager; private OrgManager orgManager;


A8接口和增值开发手册(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:无痛引产怎么样

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: