finereport开发文档

所需积分/C币:35 2018-12-16 10:28:28 32.32MB PDF
164
收藏 收藏
举报

插件是基于FineReport这款成熟产品开发的,所以我们需要先简单了解一下 FineReport。 FineReport是一款企业级web报表软件,易学易用,功能强大,简单拖拽操作便可制作中国式复杂 报表,轻松实现报表的多样展示、交互分析、数据录入、权限管理、定时调度、打印输出、门户管 理和移动应用等。
4.4.5带参数的数据集插件 332 44.6报表导出成其他文件 335 447数据库方言插件开发 4.4.8日历图表插件 449样式刍定义之 toast样式插件 4.4.10登录界面实现切换 44.11笫三方图表插件 358 4411.1第三方图表实现自动刷新 ,385 44.12第三方图表插件关系图 392 44.14自定义控件 44.15自定义页面加载动画 .400 44.16获取上报消息 4417设计器Oem 4418设计器菜单 232 45插件调试 · 4.5.1 JavaScript调试. 05 452插件安装失败 4.53设计器调试 416 4.5.4远程设计调试 419 4.6请求响应 419 46.1报表或表单输出JSON格式 420 4.7OEM开发 445 4.7.1 android应用 4.7.1.1Demo集成 4.7.1.2如何集成定位插件 ·:···· 4.7.1.3工程配置 4.7.14常见问题及原因 4.7.1.5接口说明 449 4.7.1.6暂存填报模板 457 4.7.1.7查看 Android SQLite数据 458 4.7.1.8第三方app启动数据分析 459 4.7.2H5报表开发 47.2.1H5在民生魔方App中的集成方案 4722Htm5报表在App中的集成方案 4.7.2.3Htm5报表工具栏接口使用说明 4.7.3j0S应用 474 4.7.3.1Demo集成详细步骤 4.7.3.2jOS暂存填报模板 478 4.7.33OEM集成 479 4.7.3.4一般集成 484 4.7.3.5常见问题 ..,488 48代码规范 501 4.8.1 Javascript代码规范 501 482Java代码规范 ∴.505 48.3格式规范 49基础交流 .515 49.1手动安装插件 515 4.9.2插件开发的 IntelliJ IDEA插件 516 4.10常用技能 516 4.101C55中使用图片 516 4.102在Web中使用矢量图 4.11插件依赖 520 4.111插件依赖说明 4.12产品架构图 4.12.1报表产品架构图 ..522 4.12.2插件实现原理图 523 5.帆软市场活动相关资料 ..525 51 FineReport第二届平台主题开发大赛, 525 5,2可视化插件大赛题目示例.. 528 521不等距仪表盘 529 5.2.2报表块轮播 52.3轮播环形图 529 53图表插件80升级到90--FAQ 了解生态 FineReport诞生于2001年,经过十多年的改进和完善,功能已是非常强大,但随着客户及其个性化需求的增多,需求库中排队等候的需求却不 减反增,时至今日已有两万多。扩大研发团队把产品做得越来越完(yong)善( zhong)?显然,这是一个笨办法 2015年5月25日,帆软正式发布 FineReport8.0,这是一个里程碑式的版本,标志着 FineReport将朝着平台化的方向发展一— ONE PLATFORM ALL DEVELOPERS。 意义 应用中心构成 于帆软客户一一企业的 1.插件 个性化需求可以得到快 速响应,没有动则数月 主题插件 的开发周期,也没有高 模板巾场 定制开发 设计器插件 昂的开发费用,更不需 应用中心 冈数插件 要为了某个功能去升级 插件开发者 填报插件 FineReporto 表单组件插件 于开发者一一可在工作 插件市场 闲暇之余学到更多的知 2模板市场 识,交到志趣相投的朋 友,赚得丰厚的收入 报表用户 " incRcport气态系统 让生活更加殷实;可组 上传好看炫酷的模板, 建工作室把帆软当做创 可供他人复用 业平台。 3需求中 于帆软一一可避免产品 提供其于FR的妾 口 过于臃肿;可效仿苹果 建立类似App 可发布个性化需求,由 开发者接单 Store这样的生态共赢 圈,有助于帆软进一步 发展壮大。 了解 -irePort 简介 HPineRwpurl 31,279 349 插件是基于 FineRepor这款成熟产品开发的,所以我们需要先简单了解一下 FineReport FineReport是一款企业级web报表软件,易学易用,功能强大,简单拖拽操作便可制作中国式复杂 报表,轻松实现报表的多样展示、交互分析、数据录入、权限管理、定时调度、打印输岀、门户管 理和移动应用等。了解更多 优点 系统集成商等软件公司一—在其项目或产品中使用Fⅰ irEport,解决代码开发或应用开源软件开发报 表的各种问题,加快项目进度,降低项目成本。 企事业单位等最终用户一一使用 FineReport建设灵活的报表中心,实现报表的统一访问和管理,让更 多数据应用于经营分析和业务管控中。 制作 Fine Report帮助文档提供了丰富的教程,在学习开发插件前,可以先简单了解 FineReport的制作过 程。帮助文档 "插件知识产权"谅解备忘录 今天是4月26日,正好是世界知识产权日。现在,我们对插件开发者较为关心的插件知识产权问题进行一个官方申明 帆软发布的需求招标(含插件开发大赛的项目) ①插件所有权归开发者和帆软共有,插件代码必须提交到合作开发源码仓库(代码舞交教程) ⑦帆软一次性支付开发者相关費用(默认进行必要的维护),帆软有权在应用中心提供免费/付费下载; ③若在应用中心提供付费下载,帆软与开发者协商定价,所获收益开发者拿30%(在自助结算系统开发好之前,每月底人工结算一次),付费提供 下载期间,开发者必须负责插件的维护; ④若插件需要进行必要的更新,而开发者不再进行维护,则由帆软接手维护工作,同吋开发者丧失所有权。 帆软客户娈托帆软发布的招标 ①插件所有权归开发者和帆软共有,插件代码必须提交到合作开发源码仓库(代码提交教程); ②帆软一次性支付开发者相关费用(默认进行必要的维护),帆软有权在应用中心提供付费下载; ③3若在应用中心提供付费下载,主帆软定价,开发者可以从所获收益中获得30%的提成(在自助结算系统开发好之前,每月底人工结算一次),付 费提供下载期间,开发者必须负责捶件的维护」 ④4在插件付费出售10次后,将退还定制客户所有的定制費(忛软出0%,开发者出30%),相当于客户免費拥有了该插件 ⑤若插件需要进行必要的更新,而开发者不再进行维护,则由帆软接手维护工作,同时开发者丧失所有权。 开发者自己主动去做的插件 Ⅰ、若不提交插件至帆软应用中心,插件所有权归开发者所有,一切纠纷与帆软无关; 2、若提交插件至帆软应用中心 ①插件所有权归开发者和帆软共有,插件代码必须提交到合作开发源码仓库(代码提交教程) ②帆软可能会主动给与一些奖励,但不是必须奖励,开发者可以免费提供下载,也可以自由定价; ③若为付费下载,所获收益开发者拿70%(在自助结算系统开发好之前,每月人工结算一次),付費提倛下载期间,开发者必须负责插件的维 ④若插件需要进行必要的更新,而开发者不再进行维护,则由帆软接手维护工作,同时开发者丧失所有权。 开发者通过其它渠道接的客户插件定制 开发者自行与雇主协商知识产权问题,一切纠纷均与帆软无关。 补充说玥 1、本谅解备忘录不涉及帆软二次开发组、帆软产品研发组开发的插件。 2、帆软作为有责任、有担当的企业软件&服务提供商,为了保障帆软客户的权益,在开发者不进行必要维护的时候;会主动接手维护工作。 3、帆软应用中心作为平台,有责任并且应当致力于做好插件的防盜工作,以及通过法律等途径打击盜版、盗版传播等行为,但不承担盗版给开发者 带来的损失。 4、帆软应用中心作为平台,有责任去提供和维护插件开发所需的资料、推广应用中心从而促成更多的交易、完善应用中心相关功能和体验、提供插 件开发所需的接口以及必要的技术支持等。 、根据《中华人名共和国个人所得税法》,开发者在获得收益旳时候应当缴纳个人所得税,请点此查看详情 6、“必要的维护”通常是指因为产品更新导致插件无法使用的情况所必须进行的一些简单修复、更新工作。 7、其他未尽事宜,最终解释权归帆软所有。 "客户需求外包"谅解备忘录 私下联系开发者的,帆软不提供任何服务,产生的一切纠纷与帆软无关; 客户外包给开发者的需求,费用托管至帆软应用中心(不接受后付款),帆软应用中心负责担保交易 1、若开发者提交插件后,请客户在3个工作日内验收并回复开发者ok或是需要进一步修改; 2、若有特殊原因需要延期验收,请主动告知帆传说哥〈微信D: frbiaoge),延期验收时间最晩不得超过10个工作日,否则默认为验收 ok,支付开发者费用 3、开发者有责任负责插件的维护以及必要旳更新,如果开发者突然撒手不管,帆软有责任接替开发者进行必要的维护,维护期一个月 4、若在应用中心上架出售,客户享受分成方案(销售10次后,退还客户所有定制费,相当于免费拥有插件),开发者负责维护和必要的更 新:如果开发者突然撒手不管,帆软有责任接替开发者进行必要的维护 如果在约定需求基础上,又有了新增需求,请与开发者协商,开发者有权免费提供帮助:或要求加价,或拒绝新增需求; ●若帆软开发者提交验收的插件存在太多bug,可以找传说哥进行投诉,我们会对开发者进行降权处理; 帆软认证插件工程师 (尚未正式推出,敬请期待) 帆软认证插件工程师 Fanruan Certified Plug-in Associate(FCPA 报名要求:会java开发,联系帆软传说哥(QQ:285132298)报名 考试內容:帆软提供5个难度为初级的插件开发任务 奖学金:500元 通过该认证后,颁发 FineReport插件开发者初级认证证书,并可承接帆软发布的初级开发项目或自主进行开发 帆软认证插件资深工程师 Fanruan Certified Plug-in Professional (FCPP) 报名要求:获得插件工程师认证 考试內容:帆软提供2个难度为中高级的插件开发任务 奖学金:1万元 通过该认证后,颁发 FineReport插件开发者资深工程师认证证书,并可承接帆软发布的更高级项目或自主进行开发 FineReport v9.0插件开发教程 9.0对插件引擎做了重构,总结如下: 支持所有8.0插件接入点 支持所有80m标笠 简化授叹、功能点等插件相关AP 提供加密支持 老版本的8.0插件只需做简单修改,即可在 FineReport Vs.0中无缝运行。 本文分两部分,首先介绍如何修改8.0的老插件,使其可以在9.0中运行并支持热部署。然后介绍编写全新9.0插件的方法。 插件开发常用工具 基本工具及下载地址 工具名下载地址 说明 Jdkhttp:oracle.com/technetwork/cn/java,/avase/downloads/jdk8downloads213311-chs.htm下载Windows或者Mac版 Intellijhttps://www.jetbrains.com/idea/download/ 可使用迅雷下载 Windows或 IDEA Ant http://download.csdnnet/download/lablenet/8952705 Windows和MaC下都是通用 Tomcathttp://mirror.biteducn/apache/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.zip 开发设计器部分插件可能不 http://7xk388.dl1.z0.glb.clouddn.com/git-2.7.0-64-bit.exe Windows上才需要下载;Ma http://7xk388.dl1.z0.glb.clouddn.com/git-2.8.1-32-bit.exe 带有Git,不需要下载安装 注意 ntelliJ IDEA可以使用免费的社区版;不影响插件开发。 Ant用于插件打包 Git用来克隆和更新代码 搭建插件开发环境(V9.0) 前言 相比起老的版本,在插件开发环境搭建上,做了一定旳改进,基本上做到傻瓜化配置。 开发工程准备 克隆开发工程,只需要在控制台中执行下面的命名,然后就是5分钟左右的等待即可 更新开发工程 mm 启动开发工程 使用 ntelliJ idea打开 report-starter/project目录即可。 示例插件 在开发工程中,集成了一个自定义登录界面的插件。 1、启动设计器后,添加一个运行环境为“9.0插件开发”,并指向 report-starter/erv/ Web Report/WEB-|NF 2、从设计器中打开决策平台 3、设置决策平台的管理员账号信息 4、退出登录 这个时候,就可以看到自定义的登录界面了:大致界面如下图 数据决策系统 86 用户名 登录 保持登录状态:。 老插件在90引擎中运行 plugin 9.0插件引擎定义了主包的枇念,指的是插件主要类(比如m坤中描述的接入点)所在的包。所有90插件默认的主包为 com. fr- plugin考虑到兼容 问,8.0件的主包默认为comf,但这也并不能囊括所有的老插件,所以允许在 plugin. xm中添加< main-package>标签来自定义主包 自定义主包 此外,如果一个插件不允许在9.0中运行,则可修改其 eny-version标签 运行环境 波浪号~表示"至",即该插件最高能在8.0中运行。没有波浪号的表示 env-version表示最低要求的 Fine port板本。 代码中添加对热部署的支持 9.0支持插件的热部署,在管理页面中,更新、删除、运行等插件操作不要求用户重启,所以需要插件支持热部署。 所有热部署相关的问题中,大部分已经被9.0插件引擎处理,剩下的就是资源释放和对象清理,需要插件支持。 那么,什么样的场景下需要插件自己释放资源、清理对象呢? 首先,对于java底层的一些持久对象,比如Tmer、 Executor.、 Socket等,插件引擎是没有办法感知并清理的。其次,如果在非 FineReport的地方 注册了对象,比如 Swing监听, Servlet( ontext全局属性等,插件引擎也无法感知。如果插件关闭后,这些定时器、对象等没有清理,会导致插件 关闭不完全、占用系统资源等问题。 解决資源释放有两种方式: 1、 Timer、 Executor等使用Fⅰ neRepor中旳接口进行定义,这样插件引擎就可以记录到当前插件有哪些需要在插件关闭后释放的对象。 使用 Plugin Context 2、使用插件引擎定乂的 Recoverabletask来创建、注册,并完善淆理方法 Recoverabletask 适配 classloader结构的改变 不同于80中所有插件和 Finereport共用 Classloader,9.0引擎中为每个插件提供了一个独立的cass_ oader。这点改变对于插件编写影响不大,只 有一点读取资源的问题,有部分老插件直接使用的报表的类加载器来加载资源,妇 使用报表的 classloader加载资源 在9:0中,这种获取资源的方法只能得到 FineReportl的资源,而无法找到插件本身的资源。如果有这种写法,需要修改为使用自己的 Classloader, 使用插件 Classloader 这种写法不仅可以获取到插件自身的资源,同时也能获取到 Fine Report的资源。 9.0运行与调试 调试环境搭建 插件home指eny下 plugins文件夹中以【" plugin-"+插件!D+"-"+插件版本号】命名的文件夹,如: plugin-com. fr- plugin. chart. vancharts85.3 调试时,需要将插件的 plugin.Xm复制到插件home中,并将插件的编译 output path设置为插件hame/ classes文件夹。如插件有自定义的lb,也要复制到插件home下。 同一个 module下的多插件调试 有些时候,多个插件同属—个 module,无法区分编译路径。这时可以将整个 module都编译到环境 plugins/ debug/ classes下,插件引擎会检测是否 是 debug模式以及当前插件的 ClassPath,如果是 debug,并且当前插件没有 classpAth;则将这个路径作为该插件的 classPath 注意1:只有当插件home中只有 plugin. xIm时,才会将 debug下的ar和 asses文件夹添加为该插件的 classPath 注意2:不要将插件编译到报表的Clasφath下,否则会导致部分依赖于插件类加载器的特性岀问题。 注意3:调试的时报表的模块不要依赖任何插件,否则无法使用插件的 Classloader「去加载插件类,导致运行失败

...展开详情
试读 127P finereport开发文档
立即下载 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • GitHub

  • 签到新秀

  • 至尊王者

关注 私信
上传资源赚钱or赚积分
最新推荐
finereport开发文档 35积分/C币 立即下载
1/127
finereport开发文档第1页
finereport开发文档第2页
finereport开发文档第3页
finereport开发文档第4页
finereport开发文档第5页
finereport开发文档第6页
finereport开发文档第7页
finereport开发文档第8页
finereport开发文档第9页
finereport开发文档第10页
finereport开发文档第11页
finereport开发文档第12页
finereport开发文档第13页
finereport开发文档第14页
finereport开发文档第15页
finereport开发文档第16页
finereport开发文档第17页
finereport开发文档第18页
finereport开发文档第19页
finereport开发文档第20页

试读结束, 可继续阅读

35积分/C币 立即下载