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

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 Next »

toast包格式

/com/fr/fs/plugin/customstyle/toast/[toast样式名]  (注:toast样式名建议使用非中文)
        |----style.css   //导入样式
        |----style.js      //导入脚本
        |----cover.png   //主题包封面( 建议尺寸240*88 )
		|----cover@2x.png//主题包封面( MacOS专用,建议尺寸480*176 )
        |----其他目录(包括需要使用到的一些自定义资源文件)

 

样式开放接口

toast样式开放了toast方法

 

toast方法重写
toast : function(message) {
	/*toast位置*/
	/*toast样式颜色*/
	/*toast动画效果*/
}

toast样式包开发

自定义样式toast包实为引入的外部js、css以及资源文件等。

为了使用toast接口,首先我们在style.js里需要对FR.Msg配置进行扩展,具体代码如下:

(function ($) {  
	$.extend(FR.Msg, {
		toast: function(message){
		/*需要重写的toast方法*/
		}
	});
})(jQuery);

 

内置的Drop_Down_B toast样式按如下代码改写方法:

 

Drop_Down_B toast样式包Demo:

 

style.css
.customToast {
    -webkit-box-shadow: rgba(0, 0, 0, 0.296875) 0px 1px 2px;
    background: #01b0f4;
    filter: alpha(opacity=90);
    -moz-opacity:0.9;
    opacity: 0.9;
    color: #FFFFFF;
    cursor: pointer;
    font-size: 13px;
    font-family: "PingFang SC", "Microsoft YaHei", "Myriad Pro", "OpenSans", Verdana, sans-serif;
    font-weight: bold;
    padding: 10px 20px 10px 20px;
    position: absolute;
    _position: absolute;
    line-height: 30px;
    width: 100%;
    z-index: 5;
    text-align: center
}
theme.js
(function ($) {
   FS.THEME = $.extend(true, FS.THEME, {
       config4navigation: {
           onAfterInit: function () {
               var self = this;
               $('#fs-frame-search').remove();
               var $reg = $('#fs-frame-reg');
               if ($reg.length > 0) {
                   $reg.remove();
               }
               $.ajax({
                   url: FR.servletURL + "?op=fs_main&cmd=module_getrootreports",
                   type: 'POST',
                   data: {id: -1},
                   success: function (res, status) {
                       var nodes = $.parseJSON(res);
                       $.ajax({
                          url: FR.servletURL + "?op=fs_main&cmd=getmoduleitems",
                          type: 'POST',
                          async: false,
                          data: {id: 1},
                          success: function(res){
                              nodes.push($.parseJSON(res));
                          }
                        });
                       var $ul = $('<ul class="node-navi"/>').appendTo($('#fs-frame-header'));
                       $.each(nodes, function (index, root) {
                           var $node = $('<li class="node-navi-li"/>').appendTo($ul);
                           $('<div/>').text(root.text)
                               .appendTo($node)
                               .click(function () {
                                   if($node.hasClass('node-select')){
                                       return;
                                   }
                                   $ul.find('.node-select').removeClass('node-select');
                                   $node.addClass('node-select');
                                   var $dropdown = $(this).data('DATA');
                                   if (!$dropdown) {
                                       $dropdown = $('<div class="node-pane"/>').appendTo($node);
                                       $(this).data('DATA', $dropdown);
                                       var $pane = $('<div class="node-pane-inner"/>')
                                           .css({
                                               'max-height': document.body.clientHeight - 90
                                           }).appendTo($dropdown);
                                       if (root.hasChildren && root.ChildNodes) {
                                           var $other = $('<div class="node-wrapper"/>').appendTo($pane);
                                           $.each(root.ChildNodes, function (index, child) {
                                               if (child.hasChildren) {
                                                   var $w = $('<div class="node-wrapper"/>').appendTo($pane);
                                                   $('<div class="node-title"/>').text(child.text).appendTo($w);
                                                   var childs = [];
                                                   _collectAllChildNodes(child, childs);
                                                   $.each(childs, function (i, n) {
                                                       _createItem(n, $dropdown, $node).appendTo($w);
                                                   });
                                               } else {
                                                   _createItem(child, $dropdown, $node).appendTo($other);
                                               }
                                           });
                                       } else {
                                           return;
                                       }
                                   }
                                   $dropdown.fadeIn('fast');
                                   $(document).bind('mouseover.nodepane', function (e) {
                                       var $t = $(e.target);
                                       if ($t.closest('.node-pane').length <= 0) {
                                           $node.removeClass('node-select');
                                           $dropdown.fadeOut('fast');
                                           $(document).unbind('mouseover.nodepane');
                                       }
                                   });
                               }
                           );
                       });
                   }
               });
           }
       },
       config4frame: {
           west: {
               width: 0 
           }
       }
   });
   var _createItem = function (node, $pane, $node) {
       return $('<a href="#"/>').text(node.text)
           .click(function () {
               FS.tabPane.addItem(node);
               $node.removeClass('node-select');
               $pane.hide();
               $(document).unbind('mousedown.nodepane');
           });
   };
   var _collectAllChildNodes = function (node, childs) {
       var self = this;
       if (!node.ChildNodes) {
           return;
       }
       $.each(node.ChildNodes, function (index, child) {
           if (child.hasChildren) {
               _collectAllChildNodes(child, childs);
           } else {
               childs.push(child);
           }
       });
   };
})(jQuery);

效果图如下:

系统配色

系统配色主要有4种:高亮色、图标外框色、底栏色和文字色,可通过复写css来修改任意地方的样式或者配色

 

 

  1. 颜色1——高亮色。“收藏”“消息”“个人中心”三个图标选中状态及tab选中项提亮色,
  2. 颜色2——图标外框色。导航栏图标外围色;
  3. 颜色3——底栏色。左侧导航栏激活项背景色以及Tab栏背景颜色;
  4. 颜色4——文字色。字体颜色。

系统配色分别对应如下css样式:

 

高亮色
.fui-bsb{
  background-color: @color;
}
.fui-bsc{
  color: @color;
}
.fui-bsd{
  border-color: @color;
}
图标外框色
.fui-fhc{
  color: @color;
}
.fui-fht{
  text-shadow: 0 0 3px @color;
}
底栏色
.fui-seb{
  background-color: @color;
}
文字色
.fui-fbc{
  color: @color;
}
.fui-fbt{
  text-shadow: 0 0 1px @color;
}

请求接口

获取管理系统节点

请求参数
FR.servletURL + "?op=fs_main&cmd=getmoduleitems"{id: -1}

获取目录树节点

请求参数
FR.servletURL + "?op=fs_main&cmd=module_getrootreports"{id: 1}

标签页单独集成

FS.loadModule(render, moduleName)
方法:根据模块名加载对应模块配置页面,用于集成独立页面
参数: render 渲染dom
      moduleName 模块名
例如:FS.loadModule($('<div/>').appendTo('body'), 'report');

集成并加载指定标签模块,模块名列表如下:

模块名参数值
报表管理report
用户管理user
权限管理privilege
定时调度schedule
系统管理sysmgr
平台外观lookandfeel
注册信息register
系统监控monitor
移动平台mobile


注: 必须先做单点登录,只有登录FS才有访问标签页的权限。

用户注销

FS.signOut()
方法:注销当前登录的用户,并返回登录页面。
参数:无。

 

 
  • No labels