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

Page tree

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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

接口作用

用于描述一个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使用参考文档:Atom接口

 

StylePath使用参考文档:Atom接口

注意事项

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

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

  • No labels