使用说明(单页面 v2版本)

更新说明

V2版本相比于V1,核心代码进行重构,更加更加规范,配置使用起来也更方便。

  • js模块的拆分,代码更加规范化。
  • 配置项移出到外部的初始化配置里面。
  • 单页封装进行重构,视觉和操作体验上更加良好。
  • 新增菜单在初始化的时候可以展开子菜单。
  • 新增初始化时一个配置项完成多模块单模块之间的切换,接口的初始化数据还是一样的。
  • 优化手机端初始化时的自适应,不会出现闪动的问题。
  • 重构手机端左侧菜单,弹出菜单时不会挤压内容内面。
  • 优化初始化时的接口返回的数据格式api/init.json,以适配单模块的切换。
  • 新增初始化加载层,更好的视觉体验
  • 新增初始化页面是否加版本号
  • 优化返回主页按钮以及页面导航栏的实现
  • 优化主题配色方案

基础参数一览表

以下参数是miniAdmin.render();初始化时进行传入。

参数 说明 类型 默认值 备注
iniUrl 初始化接口 string null 实际使用,请对接后端接口动态生成,格式请参考文件:api/init.json
clearUrl 缓存清理接口 string null 实际使用,请对接后端接口动态生成,格式请参考文件:api/init.json
renderPageVersion 初始化页面是否加版本号 bool false 开启后,页面不会有缓存问题
bgColorDefault 主题默认配置 int 0 如需添加更多主题信息,请在js/lay-module/layuimini/miniTheme.js文件内添加
multiModule 是否开启多模块 bool false 个人建议开启
menuChildOpen 是否默认展开菜单 bool false 个人建议关闭
loadingTime 初始化加载时间 0 0 建议0-2之间

示例说明

  1. var options = {
  2. iniUrl: "api/init.json", // 初始化接口
  3. clearUrl: "api/clear.json", // 缓存清理接口
  4. urlHashLocation: true, // 是否打开hash定位
  5. bgColorDefault: 0, // 主题默认配置
  6. multiModule: true, // 是否开启多模块
  7. menuChildOpen: false, // 是否默认展开菜单
  8. loadingTime: 0, // 初始化加载时间
  9. };
  10. miniAdmin.render(options);

后台模板初始化

  • index.html文件内进行初始化

  • 引入lay-config.js文件,请根据实际情况修改里面扩展的路径。

  • 引入miniAdmin模块,根据需要传入初始化参数,执行miniAdmin.render(options); 方法。

  • 初始化api接口返回的参数可以参考api目录下的init.json文件或者查看使用说明的第二点的参数说明

示例说明

  1. layui.use(['jquery', 'layer', 'miniAdmin'], function () {
  2. var $ = layui.jquery,
  3. layer = layui.layer,
  4. miniAdmin = layui.miniAdmin;
  5. var options = {
  6. iniUrl: "api/init.json", // 初始化接口
  7. clearUrl: "api/clear.json", // 缓存清理接口
  8. urlHashLocation: true, // 是否打开hash定位
  9. bgColorDefault: 0, // 主题默认配置
  10. multiModule: true, // 是否开启多模块
  11. menuChildOpen: false, // 是否默认展开菜单
  12. };
  13. miniAdmin.render(options);
  14. });

初始化api接口返回的参数说明

  • homeInfo 是首页信息

  • logoInfo 是logo信息

  • menuInfo 是头部模块和左侧菜单对应的信息

示例说明

  1. {
  2. "homeInfo": {
  3. "title": "首页",
  4. "href": "page/welcome-1.html?t=1"
  5. },
  6. "logoInfo": {
  7. "title": "LAYUI MINI",
  8. "image": "images/logo.png",
  9. "href": ""
  10. },
  11. "menuInfo": [
  12. {
  13. "title": "常规管理",
  14. "icon": "fa fa-address-book",
  15. "href": "",
  16. "target": "_self",
  17. "child":[...]
  18. },
  19. {
  20. "title": "组件管理",
  21. "icon": "fa fa-lemon-o",
  22. "href": "",
  23. "target": "_self",
  24. "child":[...]
  25. },
  26. {
  27. "title": "其它管理",
  28. "icon": "fa fa-slideshare",
  29. "href": "",
  30. "target": "_self",
  31. "child":[...]
  32. }
  33. ]
  34. }

缓存清理接口返回的参数说明

返回参数对应的事例(code:0,清除缓存失败;code:1,表示清除缓存成功;)

  1. {
  2. "code": 1,
  3. "msg": "清除服务端缓存成功"
  4. }

在页面中打开新的页面

  • 在页面中打开新的页面,请参考下方代码。(备注:需要引入miniPage.js文件)
  • 参数说明(layuimini-content-href=:页面链接,data-title:标题)
  • 调用方法进行监听:miniPage.listen();(备注:框架初始化时已经进行监听,一般情况下不需要再次操作)
  • 示例在page/welcome-1.html页面中有
  1. <a href="javascript:;" layuimini-content-href="page/user-setting.html" data-title="基本资料" >基本资料</a>

在内容页面中返回主页

  • 方法一:添加class样式layuimini-back-home<a lay-href="" href="javascript:;" class="layuimini-back-home">首页</a>
  • 方法二:miniPage.hashHome();,示例在user-password.html,user-setting.html页面中都有

示例说明

  1. layui.use(['form','miniPage'], function () {
  2. var form = layui.form,
  3. layer = layui.layer,
  4. miniPage = layui.miniPage;
  5. /**
  6. * 初始化表单,要加上,不然刷新部分组件可能会不加载
  7. */
  8. form.render();
  9. //监听提交
  10. form.on('submit(saveBtn)', function (data) {
  11. var index = layer.alert(JSON.stringify(data.field), {
  12. title: '最终的提交信息'
  13. }, function () {
  14. layer.close(index);
  15. miniPage.hashHome();
  16. });
  17. return false;
  18. });
  19. });

后台主题方案配色

  • 系统已内置12套主题配色,如果需要自定义皮肤配色,请在miniTheme.bgColorConfig方法内按相同格式添加。

示例说明

  1. var bgColorConfig = [
  2. {
  3. headerRight: '#1aa094',
  4. headerRightThis: '#197971',
  5. headerLogo: '#243346',
  6. menuLeft: '#2f4056',
  7. menuLeftThis: '#1aa094',
  8. menuLeftHover: '#3b3f4b',
  9. tabActive: '#1aa094',
  10. },
  11. {
  12. headerRight: '#23262e',
  13. headerRightThis: '#0c0c0c',
  14. headerLogo: '#0c0c0c',
  15. menuLeft: '#23262e',
  16. menuLeftThis: '#737373',
  17. menuLeftHover: '#3b3f4b',
  18. tabActive: '#23262e',
  19. }
  20. ];

常见问题

  • 修改js后刷新页面未生效,请尝试清除浏览器缓存。
  • IIS环境下请配置支持解析.json格式文件

备注信息

  • 菜单栏建议最多四级菜单,四级以后菜单显示并没有那么友好。