门户V2主题配置

门户V2支持配置主题,通过配置主题呈现不同的界面效果,如下面两幅图所示

1 系统默认的主题

上面两幅图对应的两个主题,都是系统默认的主题,系统默认有5个主题,分别是:theme、theme_bluedark、theme_dark、theme_compact和theme_compact_dark。

第一幅图是theme主题的效果,第二幅图是theme_bluedark主题的效果。

2 配置当前主题

系统默认使用的主题是theme,在统一通用配置中添加当前主题current-theme配置,设置当前使用的主题。

在统一按组织配置中添加当前主题current-theme配置,可以实现不同组织使用不同的主题。

3 定义新的主题

一个主题由主题编码、主题名称、主题类型、主题变量、组件配置和样式配置五部分组成。在统一通用配置中添加主题配置theme-config,可以配置多个主题。

3.1 主题编码

主题编码以theme_开头,例如:theme_1

3.2 主题变量

在主题变量中定义Design Token,例如:

    {
        "colorPrimaryText": "#c3dcf1",
        "colorTextBase": "#c3dcf1",
        "colorPrimaryBg": "#00000000 !important",
        "colorLink": "#00d4ff",
        "colorPrimaryBorder": "#1677ff",
        "colorBgBase": "#062d43"
    }

打开ide,切换到页面设计页,点击右上角的齿轮图标显示下拉菜单,点击主题变量菜单,打开主题变量编辑对话框,如下图所示

  • 主题管理:增加新的主题
  • 主题列表:切换编辑的主题
  • 主题类型:全局用来配置Design Token,组件用来配置组件的Class
  • 主题配置:配置后生成JSON
  • 保存:写入UI2/pcx/configContext.js文件

选择主题类型为全局,配置后,点击主题配置,将token里面的JSON复制到主题变量中

3.3 主题类型

主题类型定义主题允许在桌面端和(或)移动端使用。

3.4 组件配置

在组件配置中配置组件的Token和Class。对于echarts组件来说,在这里配置echarts的主题,例如:

    {
        "Menu": {
            "itemSelectedColor": "rgb(0, 212, 255)"
        },
        "echarts":[{
            "version": 1,
            "themeName": "theme8",
            "theme": {
                "seriesCnt": "8",
                "backgroundColor": "rgba(0, 0, 0, 0)"
            }
        }]
    }

选择主题类型为组件,配置后,点击主题配置,将components里面的JSON复制到组件配置中

3.4 echarts主题配置

echarts的主题也在组件配置中配置

  • 从echarts官网主题构件工具导出主题的配置
  • 在组件配置中增加echarts数组,内容是从echarts导出的主题配置
  • 将主题配置中的themeName设置到echarts组件的外部主题属性上,即可使用该主题

3.5 样式配置

在样式配置中配置非组件的Class和用iframe嵌入的页面的样式,注意value部分是字符串。例如:

    {
        "*": "
            .x-scroll-content{
                color:red
            }
        ",
        "iframe路径匹配": "
            body{
                color: red;
            }
        "
    }
  • 在*里面定义非组件样式
  • 在iframe路径匹配中写入iframe的src的部分路径,系统匹配后会施加里面的样式到iframe页面中

4 门户颜色修改案例

门户是通过ProLayout组件展现的,调整门户的颜色就是调整ProLayout组件的Token。调整后效果如下图所示

在统一通用配置中,添加主题配置。

在组件配置中,添加如下代码

{
    "ProLayout": {
        "header": {
            "colorBgHeader": "#ffffffff !important",
            "colorHeaderTitle": "#3494F8",
            "colorTextMenu": "#000000",
            "colorTextRightActionsItem": "#000000"
        },
        "sider": {
            "colorMenuBackground":"#3494F8",
            "colorTextMenu": "#fff",
            "colorTextMenuSelected": "rgb(0, 212, 255)",
            "colorTextMenuItemHover": "#fff"
        }
    }
}

在统一通用配置中,添加当前主题,选中上面新添加的主题,保存后,刷新浏览器即可看到调整颜色后的效果

ProLayout组件提供的Token清单,请参考ProLayout组件官网

results matching ""

    No results matching ""

    results matching ""

      No results matching ""