泛微e-cology 9.0的ecode核心是解决EC所有界面无侵入定制和扩展二次开发,采用动态注册,不直接修改源码的方案解决开发需求。除了新开发页面的之外,它还支持标准页面的修改。

ecode包含了整套前端编辑器、编译器,可以让用户无需搭建开发环境直接通过浏览器开始single page前端开发,同时采用ecode开发的内容 都是插件化,支持一键共享、复用、二次封装。

基于泛微e-cology 9.0测试安装包的二次开发环境;基于公司内容OA搭建备份后的二次开发环境。

1、后端开发环境配置

(1)指定前端源码目录,右键src -> mark directory as -> sources root
(2)修改环境配置,file -> project structure -> project 安装和指定jdk1.8
(3)把本地demo环境拷贝到/ecology目录中,准备好resin4环境(在技术门户->产品包下载->ec9安装包下载)
目前仅支持的浏览器内核谷歌chrome,国产环境请用360

下载并覆盖ecology的ecode通用升级包(注意标准kb1907+ 默认包含ecode)
覆盖后到ecology访问地址进入ecode界面:ip:port/ecode

只要左侧菜单正常加载系统配置、默认分类,并且无报错就代表安装成功

导入最新官方参考案例,首先在右上角点击进入版本说明界面,找到案例下载地址,点击下载

下载后在ecode的导入界面,选择zip,点击导入

(4)引入e9依赖的lib,file -> project structure -> sdks /ecology/classbean、/ecology/web-inf/lib、resin4/lib
(5)配置编译后目录:file -> project structure -> modules -> paths -> use module compile output path,然后保存

[你放git项目的路径]/ecology-9-demo/ecology/classbean

(6)进行编译build->build project,之后就可以看到/ecology/classbean生成
注意要删除一个影响编译的jar,路径在/ecology/web-inf/lib/ecloudstore.jar,这个文件在新版本会直接重置成0kb,旧版本kb下要自行处理

另外需要注释掉webxml中一个过滤器,如果存在的话,此过滤器后续版本也会统一清除

(7)配置resin,Run/Debug Configurations指定resin4位置,Deployment添加/ecology路径,选择resin.xml作为配置文件
注释掉resin自带编译,如果不注释会导致无法编译jsp

修改root-directory,如果指定错误会导致404报错

<web-app root-directory="/users/daiyingfeng/work/project/ecology-9-demo/ecology">

(8)启动resin进入开发环境,如果没有成功部署ec环境到本地的,可以手工拷贝编译后的/ecology目录到服务器

拓展二次开发
1、新建
产生新数据
目前支持新建分类、文件夹、js、css、md

2、文件夹发布
发布成功文件夹变成橙色

作用是发布下面代码到EC,只有文件夹支持发布,文件夹选择了发布,其下面的文件会自动进行构建发布,开发者只需要编写代码,文件夹下的js和css就会分别被自动编译合并打包到一个js和css下,位置位于/cloudstore/release/${appId},此文件默认是不加载的,都是利用sdk去触发加载

3、前置加载
文件图标出现p标志
js、css支持前置加载,选择了前置加载将会在系统和组件未加载前执行,js在前置加载时可以用来进行一些底层全局事件注册,css在前置加载时可以用来做一些全局样式修改,当然也可以通过代码判断去区分作用范围,前置加载的所有脚本将会被合并到/cloudstore/dev/init.js和/cloudstore/dev/init.css

4、在线编译语法与线下编译语法差异
react可以不用引入,全局默认存在

import React from "react"; //ecode中不用写

ecode模块引入与nodejs模块化中的import、export不同,需要修改成解构赋值

import {Button} from 'antd';
import {WeaInput} from 'ecCom';

改为

const {Button} = antd; //antd全局存在
const {WeaInput} = ecCom; //ecCom全局存在

ecode本地模块引入与nodejs本地模块化中的import、export不同,需要改成ecode imp、exp

export default NewCom; //模块化导出
import NewCom from './NewCom'; //模块化导入

改为

ecodeSDK.exp(NewCom); //ecode中导出
ecodeSDK.imp(NewCom); //ecode中导入,注意导入的模块必须在同一个橙色发布文件夹以内

ecode导出模块到全局的方式,这个在nodejs中是脚手架处理成umd导出,在ecode中我们封装了对应sdk,此方案可以有效管理全局组件

//NewBrowserForMeeting是对应组件名
ecodeSDK.setCom('${appId}','NewBrowserForMeeting',NewBrowserForMeeting);

ecode导入全局模块需要使用异步的方法一,通常用于表单和建模的代码块扩展

ecodeSDK.load({id:'${appId}', //如果在ecode外部(比如表单)使用,${appId}需要自行获取字符串noCss:true, //是否禁止单独加载css,通常为了减少css数量,css默认前置加载cb:function () {//回调的时候可以获取组件var Com = ecodeSDK.getCom('${appId}','NewBrowserForMeeting ');//将组件通过ReactDOM渲染到指定位置或者绑定到具体业务}
});
ecode前置加载文件中异步引入组件的方法,通常用于前置加载时扩展组件以及新页面开发
const acParams = {appId:'${appId}',name:'NewBrowserForMeeting', //模块名称isPage:false, //是否是路由页面noCss:true, //是否禁止单独加载css,通常为了减少css数量,css默认前置加载props:{} //组件参数
}
const Com = ecodeSDK.getAsyncCom(acParams);

5、ecode中使用组件库及工具库名称

PC端相关库
const {Button} = antd;
const {WeaTop} = ecCom;
const {toJS} = mobx;
const {Provider} = mobxReact;
MOBILE端相关库
const { observer, inject } = mobxReact;
const { withRouter } = ReactRouterDom;
const { AtSomeone } = WeaverMobilePage;
const { Button,Tools,WingBlank } = WeaverMobile;

6、文件夹和文件剪切、复制、黏贴
用来方便的对已有方案进行二次修改

文件夹剪切黏贴之后,appId将不会变化,而文件夹复制黏贴之后,将会产生新的appId

泛微协同办公e-cology9.0的Ecode二次开发实例说明相关推荐

  1. 泛微oa系统什么框架_泛微移动办公OA系统走进江苏国曜信息科技有限公司

    近日,泛微凭借以"简单高效"为核心的协同OA办公系统与江苏国曜信息科技有限公司成功合作,泛微将助力企业信息化建设,促进其管理水平的迅速提升.江苏国曜信息科技有限公司成立于2018年 ...

  2. 泛微协同OA工作微博重磅发布

    "工作就需每天博一博!"2011年"国内高端OA"泛微重磅推出基于协同OA和移动OA的工作微博应用,继移动OA之后,再次将微协同应用推向高潮.高效.便捷.易用的 ...

  3. 泛微协同OA制造业解决方案

    一.方案概述 中国加入WTO,国外企业纷纷涌入,全球化进程进一步加快,企业所面临的将不仅仅是国内竞争对手,为了把产品打入国际市场,还要面对更多的国际上的竞争强者.我们面对的已经不仅是一个国内市场,而是 ...

  4. 泛微协同OA 园区管理新动力

    日前,以金融后台服务为特色的上海金融产业服务基地在上海奉贤区正式揭牌,作为上海国际金融中心建设的重要实施配套工程,以及<上海市十二五金融集聚区布局规划>确定的金融功能区,园区在发展实体平台 ...

  5. e-cology在广告行销—泛微协同广告行业解决方案

    一.方案概述 广告业在我国是一门新兴产业,属于知识密集.技术密集.人才密集的高技术产业,是第三产业的重要组成部分,其发展水平,是一个国家或地区市场经济发展程度.科技进步水平.综合经济实力和社会文化质量 ...

  6. 泛微协同OA农业电子商务解决方案

    方案概述 农业发展的主旋律是"以 信息化推动产业化,以产业化实现现代化",而 信息化的推进进程离不开政府的引导. 企业的实施和农户的参与.泛微 软件在为农业 行业客户提供信息和商务 ...

  7. 泛微协同“风暴”席卷高端市场

    泛微协同"风暴"席卷高端市场 纵观信息化管理发展浪潮,协同办公自动化已经不再是局限于理念之上,国内协同管理软件发展日渐成熟,整个协同市场呈现出一篇欣欣向荣的景象.2010年随着经济 ...

  8. 注入中转生成器php,泛微协同商务系统e-cology某处SQL注入(附验证中转脚本)

    泛微协同商务系统e-cology某处SQL注入(附验证中转脚本) 随便找个吧 以http://**.**.**.**//services/MobileService?wsdl为例 使用wvs chec ...

  9. 泛微协同项目管理解决方案(转)

    引言 项目管理(Project Management,简称PM),是一种特别适用于那些责任重大.关系复杂.时间紧迫.资源有限的一次性任务的管理方法.传统的项目管理就是简单的完成既定的任务,发展到现在, ...

  10. 泛微协同管理应用平台e-cology怎么样?

    泛微协同管理应用平台e-cology是泛微旗下的OA产品,正在选型中的您,一定非常关心泛微协同管理应用平台e-cology用户口碑怎么样?优缺点有哪些? 想了解这些信息,您应该到选型宝,B2B的大众点 ...

最新文章

  1. python【数据结构与算法】B树概念解析和实现
  2. python 网站文件下载-python实现下载文件的三种方法
  3. springboot 读取nacos配置的流程和数据变化实时更新机制
  4. label smoothing(标签平滑)
  5. android ramdisk
  6. Kubernetes 入门(1)基本概念
  7. ndoe.js实战之开发微博第一讲之工具准备
  8. python中random函数用法_random函数的用法
  9. Spring-ConfigurationClassParser类
  10. 8.29 脏检查笔记
  11. uva 10474 - Where is the Marble?
  12. 大漠插件7.2137
  13. 楼天城楼教主的acm心路历程(作为励志用)
  14. KeyError: ‘Worksheet sheet does not exist.‘
  15. 老王出品:一文读懂证券业第三方存管和证券托管模式
  16. “我在用生命送快递”
  17. 什么是语言类型的强弱?
  18. 关于机械臂的模仿学习
  19. java前后端加密解密crypto-js
  20. Oracle数据迁移MySQL

热门文章

  1. C++游戏编程教程(一)
  2. React fundamental 和 React Router-郭永峰-专题视频课程
  3. python培训学费多少钱-福州Python培训大概多少钱?
  4. 机器视觉——光源选型
  5. 初中计算机学业水平考试时间安排,2019年起全面实施初中信息技术学业水平考试(和毕业证书有关)...
  6. PHP生成条形码 之一 条形码介绍
  7. cs61b实验记录(一)Lab2、Lab3
  8. CodeForces - 988D(思维STL)
  9. vlan和静态路由配置实验
  10. java怎么连接手机软件_如果是山寨机支持JAVA怎么用电脑往手机上下载软件