Skip to content

布局

通过 5 种导航栏模式和 4 种页宽模式的组合搭配,可实现 20 种布局结构,再搭配默认提供的 12 款主题,即可实现上百种界面风格

导航栏模式

在应用配置中设置,可实现 5 种导航栏模式:

  • 顶部模式
  • 侧边栏模式(含主导航)
  • 侧边栏模式(无主导航)
  • 侧边栏精简模式 beta
  • 顶部精简模式 beta

顶部模式

主题

ts
const globalSettings: Settings.all = {
  menu: {
    menuMode: 'head',
  },
}

侧边栏模式(含主导航)

主题

ts
const globalSettings: Settings.all = {
  menu: {
    menuMode: 'side',
  },
}

侧边栏模式(无主导航)

主题

ts
const globalSettings: Settings.all = {
  menu: {
    menuMode: 'single',
  },
}

侧边栏精简模式 beta

主题

ts
const globalSettings: Settings.all = {
  menu: {
    menuMode: 'only-side',
  },
}

顶部精简模式 beta

主题

ts
const globalSettings: Settings.all = {
  menu: {
    menuMode: 'only-head',
  },
}

页宽模式

在应用配置中设置,可实现 4 种基于页宽(页面宽度)模式:

  • 自适应
  • 自适应(有最小宽度)
  • 定宽居中 beta
  • 定宽居中(有最大宽度)

自适应

ts
const globalSettings: Settings.all = {
  layout: {
    widthMode: 'adaption',
  },
}

自适应(有最小宽度)

ts
const globalSettings: Settings.all = {
  layout: {
    widthMode: 'adaption-min-width',
  },
}

定宽居中 beta

ts
const globalSettings: Settings.all = {
  layout: {
    widthMode: 'center',
  },
}

定宽居中(有最大宽度)

ts
const globalSettings: Settings.all = {
  layout: {
    widthMode: 'center-max-width',
  },
}

变量

布局相关的变量存放在 /src/assets/styles/globals.scss 文件中(注意看注释)。

scss
:root {
  // 这是一个复合变量
  // 当页宽模式为 adaption-min-width 时,它代表 最小宽度
  // 当页宽模式为 center 时,它代表 固定宽度
  // 当页宽模式为 center-max-width 时,它代表 最大宽度
  --g-app-width: #{$g-app-width};

  // 头部宽度(默认自适应宽度,可固定宽度,固定宽度后为居中显示)
  --g-header-width: #{$g-header-width};

  // 头部高度
  --g-header-height: 56px;

  // 侧边栏宽度
  --g-main-sidebar-width: 63px;
  --g-sub-sidebar-width: 220px;
  --g-sub-sidebar-collapse-width: 64px;

  // 侧边栏 Logo 区域高度
  --g-sidebar-logo-height: 50px;

  // 标签栏高度
  --g-tabbar-height: 50px;

  // 工具栏高度
  --g-toolbar-height: 50px;

  // 标签页最大最小宽度,两个宽度为同一数值时,则为固定宽度,反之将宽度设置为 unset 则为自适应
  --g-tabbar-tab-max-width: 150px;
  --g-tabbar-tab-min-width: 150px;
}

移动端 beta

在应用配置中设置:

ts
const globalSettings: Settings.all = {
  layout: {
    enableMobileAdaptation: true,
  },
}

开启移动端支持后,当页面宽度小于 992px 时会切换为移动端布局显示,移动端下不支持设置框架布局,以及部分不支持移动端的操作按钮也会进行隐藏,例如“全屏”按钮。

虽然框架本身兼容移动端,但由于后台系统在开发时可能会引用各类第三方插件,这部分的兼容性需要开发者自行适配。

建议

由于后台系统属于生产效率工具,而移动端天生不适合复杂的操作,尤其是遇到一些比较复杂的表单,在移动端上操作是极其“恼火”的。

依据作者的开发经验,建议移动端后台可以独立开发一套,在功能上进行删减,保留轻量级的管理操作。