【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
扩展开发的原则就是"一切皆是可配置的",我们只需在使用一份资源前提前配置好即可.无论简单的常量资源,还是稍微复杂一些的provider,都是可以配置的.
假定我们已经定义了一份常量标识帆软现有的产品线,
BI.constant("my.products", [
{
name: "FR"
}, {
name: "BI"
}
]);
如果我们想把简道云也加进去怎么办呢,这就用到了无所不能的BI.config方法了.
// 配置my.products 并返回配置之后的值
BI.config("my.products", function (config) {
config.push({
name: "FX"
});
return config;
});
配置好之后,当我们需要获取产品列表时候,返回的结果就有简道云了
BI.Constants.getConstant("my.products"); // 结果: [{name:"FR"},{name:"BI"},{name:"FX"}]
决策平台为扩展开发提供了许多开放方法和资源可供使用
在这里 前端开放类和工具方法 提供了一些基本的异步请求数据方法,同时也提供了许多服务来将一些复杂的业务逻辑封装,减轻开发负担.
如对于tabPane组件我们提供了 dec.service.tabs 服务来对其进行操作,只需使用,无需关心内部实现.如想要在tabPane中添加一个模板页面,
// 获取service实例,然后调用addItem方法 注意:service是单例的.
BI.Services.getService("dec.service.tabs").addItem({
text: "FineUI",
id: "FineUI",
cardType: {
src: "https://github.com/fanruan/fineui"
}
});