# SDK+web service方式集成

# 确定栏目数据

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

需要提供的接口:

1、数据列表抽取接口,该接口用来获取栏目显示的数据;

2、数据总数统计接口,该接口用来显示栏目数据的总数(如果需求显示数据总数)。

# 栏目解析类开发

1.Package:com.seeyon.ctp.portal.section

2.解析类需要继承抽象类:com.seeyon.ctp.portal.section.BaseSectionImpl

3.Demo类示例

public class DemoSection extends BaseSectionImpl {

    @Override
    public String getId() {
        //栏目ID,必须与spring配置文件中的ID相同;如果是原栏目改造,请尽量保持与原栏目ID一致
        return "demoSection";
    }

    @Override
    public String getName(Map preference) {
        //栏目显示的名字,必须实现国际化,在栏目属性的“columnsName”中存储
        String name = preference.get("columnsName");
        if(Strings.isBlank(name)){
            return "demoSection";
        }else{
            return name;
        }
    }

    @Override
    public Integer getTotal(Map preference) {
        //栏目需要展现总数据条数时重写
        return null;
    }

    @Override
    public String getIcon() {
        // 栏目图标,暂不需要实现
        return null;
    }

    @Override
    public BaseSectionTemplete projection(Map preference) {
        //栏目解析主方法
        
        HtmlTemplete ht = new HtmlTemplete();
        StringBuilder html = new StringBuilder();
        html.append("
DemoSection");
        ht.setHeight("230");
        ht.setHtml(html.toString());
        ht.setModel(HtmlTemplete.ModelType.inner);
        ht.setShowBottomButton(true);
        ht.addBottomButton(BaseSectionTemplete.BOTTOM_BUTTON_LABEL_MORE, "javascript:alert('ok');");
        return ht;
    }
}

# 栏目解析类配置

1.编写好的栏目类需要在对应的插件Spring配置文件夹进行Spring注册配置。

2.约定栏目的Spring文件命名为spring-xxxx-section.xml xxxx为插件Id。

3.栏目属性对照表

属性名 值域 描述
sectionType common, //常用栏目 timeManagement, //时间管理 publicInformation, //公共信息 doc, //文档栏目 formbizconfigs, //表单栏目 forum, //扩展栏目 栏目类型,空间选择栏目时栏目的分类由该属性决定
sectionCategory plan 栏目类型中的分类:常用、计划...
spaceTypes Constants.SpaceType中枚举的类型 允许添加该栏目的空间类型
resourceBundle 示例:com.seeyon.v3x.main.resources.i18n.MainResources 国际化绑定来源,已废弃
properties List 栏目编辑属性

4.空间类型

/**
     * 空间类型,顺序不可改变
     */
    public static enum SpaceType {
        /**
         * 0 个性化个人空间
         */
        personal, //0
        
        /**
         * 部门空间
         */
        department, //1
        /**
         * 单位空间
         */
        corporation, //2
        /**
         * 集团空间
         */
        group, //3
        /**
         * 自定义团队空间
         */
        custom, //4
        
        //默认的空间
        /**
         * 默认个人空间
         */
        Default_personal, //5 
        //@Deprecated
        /**
         * 默认部门空间
         */
        Default_department, //6 
        
        @Deprecated
        Default_custom,  //7 
        /**
         * 第三方系统
         */
        thirdparty, //8 
        /**
         * 默认领导空间
         */
        default_leader,//9 
        /**
         * 个性化领导空间
         */
        leader,//10 
        /**
         * 关联系统
         */
        related_system,//11 
        /**
         * 关联项目
         */
        related_project,//12 
        /**
         * 自定义个人空间
         */
        Default_personal_custom,//13 
        /**
         * 默认外部人员空间
         */
        Default_out_personal,//14 
        /**
         * 个性化个人自定义空间
         */
        personal_custom,//15 
        /**
         * 个性化外部人员空间
         */
        outer,//16  
        /**
         * 自定义单位空间
         */
        public_custom,//17 
        /**
         * 自定义集团空间
         */
        public_custom_group,//18 
        //二级主页空间
        /**
         * 协同工作
         */
        cooperation_work,//19 协同工作
        /**
         * 目标管理
         */
        objective_manage,//20 目标管理
        /**
         * 公文管理
         */
        edoc_manage,//21 公文管理
        /**
         * 会议管理
         */
        meeting_manage,//22 会议管理
        /**
         * 协同驾驶舱
         */
        performance_analysis,//23 协同驾驶舱
        /**
         * 空间模板的默认空模板类型,不是空间类型,内部使用
         */
        template,//空间模板的默认空模板类型,不作为空间类型使用
        /**
         * 表单应用
         */
        form_application,//25 表单应用
        //end 
    }

5.Demo栏目配置示例

<bean id="demoSection" class="com.seeyon.ctp.portal.section.DemoSection" init-method="init">
    <property name="sectionType" value="common" />
    <property name="sortId" value="99" />
</bean>

6.栏目模板列表

模板类 描述
CalendarFourColumnTemplete 日程事件的四列模板:标题 开始时间 结束时间 状态
ChessboardTemplete 棋盘式 * 左边小图标(默认1616)+右边标题 * 上边大图标(默认3232)+下边标题 * 标题可以有浮动菜单
ChessMultiRowThreeColumnTemplete 棋盘式 、3列
HtmlTemplete 直接输出HTML代码片断
MonthCalendarTemplate 月历式栏目
MoveMultiRowThreeColumnTemplete 多行3列滚动式
MultiIconCategoryItem 多行的,图标,分类,文本的展现形式
* 图表是32px * 32px的,在左边,右边的上面是分类(Category),下面是若干个项
MultiRowFourColumnTemplete 多行3列模板,依次是:subject createDate createMemberName category
MultiRowThreeColumnTemplete 多行3列模板,依次是:subject createDate category
MultiRowVariableColumnTemplete 成倍行,不定列 模板 * 适用于 三或四列标准列表模板满足不了需要的情况下* 可以自定义列数、宽度、单元格样式、链接地址
MultiSubjectSummary 多行的,显示标题和摘要,常用新闻、公告
OneImageAndListTemplete 图片加列表模板 * 第一列为图片居左 右边为标题加摘要 * 下面为列表 * 列表内容为 * 标题 发起时间 所属板块 * 列表参数可配置
OneItemUseTwoRowTemplete 两行展现一项 模板 * 适用于 如集团空间调查栏目 * 第1行 标题,另起一行 发布时间和类型
OnePictureTemplete 图片滚动式
OneSummaryAndMultiList 显示模式:一条显示为“标题+时间+(类别)+摘要”,下面是若干行列表
PictureTemplete 图片基础模板
PictureTitleAndBriefTemplete 标题加摘要的新闻模板
创建人:lichaoj