【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

接口作用

用于描述一个web组件所使用的的JS和CSS文件的路径,可以根据客户端的不同,返回不同的文件路径。

接口内容

主要接口

Atom
package com.fr.web.struct;

import com.fr.web.struct.browser.RequestClient;
import com.fr.web.struct.category.ScriptPath;
import com.fr.web.struct.category.StylePath;

/**
 * web端所用到的原子组件
 */
public interface Atom {
    /**
     * 该原子组件所使用的javascript脚本
     *
     * @param req 请求客户端
     * @return 脚本路径
     */
    ScriptPath script(RequestClient req);


    /**
     * 该原子组件所使用的css样式表
     *
     * @param req 请求客户端
     * @return css路径
     */
    StylePath style(RequestClient req);

    /**
     * 自身的过滤器,根据这个过滤器决定是否输出到web端
     * @return 过滤器
     */
    Filter filter();
}

关联接口

Filter
package com.fr.web.struct;

public interface Filter {
    boolean accept();
}

示例实现片段:

@Override
public Filter filter() {
   return new Filter() {
      public boolean accept() {
         return "com.fr.plugin.decision.theme.original".equals(AppearanceConfig.getInstance().getThemeId());
      }
   };
}

表示只有id为com.fr.plugin.decision.theme.original的主题插件的的JS和CSS才会输出到浏览器端,其他安装的主题插件使用的JS和CSS都不会输出到浏览器端。

 

ScriptPath使用参考文档:ScriptPath工具类

 

StylePath使用参考文档:StylePath工具类

注意事项

通常情况,不需要直接实现这个接口,而是继承抽象类:com.fr.web.struct.Component

而如果一个组件是由其他几个Atom组件组合而成的,可以通过继承:com.fr.web.struct.AssembleComponent来描述组合组件。

  • No labels