为什么要统计配置文件

配置文件是组件或模块、插件装配到核心(Notadd)的载体,规范统一的数据结构,为架构统一,代码风格统一,做了很好的铺垫。

支持的配置信息和功能注入类型

配置文件包含了模块的基本信息,以及能实现功能的注入。示例文件参考:Administration 模块的配置文件

具体列表如下:

nameidentificationauthorversioncsrfdashboardsmenuspagespublishes

name

描述: 名称

格式: 字符串

可用于:

  1. - 模块
  2. - 插件

identification

描述: 标识

格式: 字符串

可用于:

  1. - 模块
  2. - 插件

author

描述: 作者

格式: 无键值数值

可用于:

  1. - 模块
  2. - 插件

version

描述: 版本

格式: 字符串

可用于:

  1. - 模块
  2. - 插件

csrf

描述: CSRF

格式: 无键值数值,参考CSRF 例外

可用于:

  1. - 模块
  2. - 插件

dashboards

描述: 后台首页仪表盘模块

格式: 无键值数值,参考后台首页仪表盘模块

可用于:

  1. - 模块
  2. - 插件

menus

描述: 后台菜单

格式: 无键值数值,参考后台菜单

可用于:

  1. - 模块
  2. - 插件

pages

描述: 后台自定义页面

格式: 无键值数值,参考后台自定义页面

可用于:

  1. - 模块
  2. - 插件

publishes

描述: 资源发布

格式: 带键值数值,参考资源发布

可用于:

  1. - 模块
  2. - 插件

CSRF

示例代码:

  1. csrf:
  2. - 'admin*'
  3. - 'api*'
  4. - 'editor*'

后台首页仪表盘模块

  1. dashboards:
  2. - # 第一个模块
  3. identification: systeminfo # 仪表盘模块标识
  4. title: 系统信息 # 仪表盘模块标题
  5. template: Notadd\Administration\SystemInformation@handler # 仪表盘模块模板,第一种方式,类方法渲染后直接返回 HTML 代码
  6. - # 第二个模块
  7. identification: development # 仪表盘模块标识
  8. title: 开发团队 # 仪表盘模块标题
  9. template: # 仪表盘模块模板,第二种方式,Vue render 函数渲染
  10. -
  11. tag: p
  12. content:
  13. -
  14. tag: strong
  15. content:
  16. - 开发团队:
  17. -
  18. attrs:
  19. href: https://github.com/twilroad
  20. target: _blank
  21. tag: a
  22. content:
  23. - 寻风
  24. -
  25. -
  26. attrs:
  27. href: https://www.zuohuadong.cn
  28. target: _blank
  29. tag: a
  30. content:
  31. - 依剑听雨

后台菜单

示例代码:

  1. menus:
  2. global: # 菜单标识,全局菜单
  3. icon: settings # 菜单图标
  4. permission: # 权限定义
  5. path: '/' # 后台前端路由
  6. text: 全局 # 菜单文本
  7. children: # 侧边栏菜单
  8. - # 第一项侧边栏菜单
  9. icon: ios-cog # 菜单图标
  10. text: 全局设置 # 菜单文本
  11. - # 第二项侧边栏菜单
  12. children: # 子级菜单
  13. - # 第一项子级菜单
  14. path: /upload # 后台前端路由
  15. text: 上传设置 # 菜单文本
  16. icon: ios-paper # 菜单图标
  17. text: 附件设置 # 菜单文本

后台自定义页面

示例代码:

  1. pages:
  2. configurations: # 页面标识
  3. initialization: # 页面初始化配置
  4. name: 参数配置 # 页面名称
  5. tabs: true # 页面是否包含多 Tabs
  6. target: global # 页面嵌入位置
  7. tabs: # 页面 Tabs 定义
  8. configuration: # 页面 Tab 标识
  9. default: true # 是否默认 Tab
  10. show: true # 是否显示 Tab
  11. submit: api/setting/set # Tab 表单提交地址
  12. title: 全局设置 # Tab 标题
  13. fields: # Tab 表单定义
  14. name: # 字段名称
  15. default: '' # 字段默认值
  16. description: '' # 字段描述
  17. label: 网站名称 # 字段文本
  18. key: site.name # 字段名字
  19. placeholder: 请输入网站名称 # 字段占位文本
  20. required: true # 是否必填
  21. type: input # 字段类型
  22. validates: # 字段表单验证定义
  23. -
  24. message: 请输入网站名称
  25. required: true
  26. trigger: change
  27. type: string

资源发布

示例代码:

  1. publishes:
  2. assets/admin: resources/mixes/administration/dist/assets/admin
  3. # statics路径 :模块或插件内路径