【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
FineReport的决策平台提供了主题开发的API,方便进行多样化的定制开发,但是对于优秀主题的传播方式却没有提供好的方案。
依托于应用商店,FineReport V8.0(2016-04-29日之后的版本),提供了平台主题插件API的支持,这样就可以像开发插件一样开发主题了,同时可以在应用中心直接发布自己的主题插件。
FineReport下载地址:http://http//www.finereport.com/products/trial
package com.fr.fs.fun; import com.fr.stable.fun.Level; /** * 以插件的方式支持的插件主题 */ public interface ThemeVariousProvider extends Level { String MARK_STRING = "ThemeVariousProvider"; int CURRENT_LEVEL = 1; /** * 主题的名字 * @return 名字 */ String name(); /** * 主题的文本描述 * @return 描述 */ String text(); /** * 主题的封面图片 * @return 图片路径 */ String coverPath(); /** * 主题的脚本路径 * @return 脚本路径 */ String scriptPath(); /** * 主题的样式 * @return 样式路径 */ String stylePath(); }
package com.fr.solution.theme.green; import com.fr.fs.fun.impl.AbstractThemeVariousProvider; public class ThemeGreen extends AbstractThemeVariousProvider { @Override public String name() { return "AcrossGreen"; } @Override public String text() { return "横向目录"; } @Override public String coverPath() { return "/com/fr/solution/theme/green/files/cover.png"; } @Override public String scriptPath() { return "/com/fr/solution/theme/green/files/theme.js"; } @Override public String stylePath() { return "/com/fr/solution/theme/green/files/style.css"; } }
<extra-platform> <ThemeVariousProvider class="com.fr.solution.theme.green.ThemeGreen"/> </extra-platform>
可以看到只要实现了接口的几个方法,并按照平台主题的API接口开发好主题,就可以开发出来一个主题插件了。开发好的主题插件可以上传到应用中心方便共享给所有的用户。
安装插件后,插件管理中心可以看到该插件
之后决策平台的管理员可以在平台的外观设置中选择该主题,安装后切换主题的位置
之后决策平台的效果就是下图这样了
完整的示例源码,在git完基本环境之后可以在plugin目录下找到。