1. 自定义配置

快速实现基本配置管理业务,例如:系统设置、功能设置、上传设置等,这些配置的参数通常 ConfigUtil 工具类可以很方便在业务代码中使用。

通过代码生成器设计好配置表单

通过自定义>自定义配置导入或更新模型

在代码中通过 ConfigUtil 读取对应配置值。

[!tip] 企业版本以上支持从缓存读取

1.1. ConfigUtil工具类

提供多种 get 方法获取配置中的值,下面列出 configutil 中的方法代码片段

1.1.1. getString

/**
     * 返回字符串类型的数据
     * @param configName 配置名称  对应自定义配置列表上的 配置名称 字段
     * @param key 对应代码生成器中的字段名称 注意:名称是驼峰式
     * @return 无匹配返回空
     */
    public static String getString(String configName,String key) {
       ...
    }

       /**
     * 返回字符串类型的数据
     * @param configName 配置名称  对应自定义配置列表上的 配置名称 字段
     * @param key 对应代码生成器中的字段名称 注意:名称是驼峰式
     * @param defaultValue 默认值,如果配置中没有值,会返回默认值
     * @return 无匹配返回默认值
     */
    public static String getString(String configName,String key, String defaultValue) {
     ...
    }

1.1.2. getInt

     /**
     * 返回整型类型的数据
     * @param configName 配置名称  对应自定义配置列表上的 配置名称 字段
     * @param key 对应代码生成器中的字段名称 注意:名称是驼峰式
     * @return 无匹配返回0
     */
    public static int getInt(String configName,String key) {
       ...
    }

    /**
     * 返回整型类型的数据
     * @param configName 配置名称  对应自定义配置列表上的 配置名称 字段
     * @param key 对应代码生成器中的字段名称 注意:名称是驼峰式
     * @param defaultValue 默认值,如果配置中没有值,会返回默认值
     * @return 无匹配返回默认值
     */
    public static int getInt(String configName,String key,int defaultValue) {
       ...
    }

1.1.3. getObject

    /**
     * 如果不确定返回类型,可以使用 getObject
     * @param configName 配置名称  对应自定义配置列表上的 配置名称 字段
     * @param key 对应代码生成器中的字段名称 注意:名称是驼峰式
     * @return 无匹配返回null
     */
    public static Object getObject(String configName,String key) {
        ...
    }

1.1.4. getMap

     * 获取configName完整配置数据,通过一次性获取所有配置,避免重复传递 configName
     * @param configName 配置名称  对应自定义配置列表上的 配置名称 字段
     * @return map
     */
    public static Map getMap(String configName) {
       ...
    }

1.2. 范例(后端)

在业务中可能会遇到这样的场景,需要能控制某个功能是否启用,或者需要控制后台管理员可登录的时间范围 例如下面是政务版本 ManagerLoginCredentialsMatcher.java 代码片段

      /**
     * 锁住时间判断, 账号锁住超时则可以登录,超时时间在后台“安全设置”菜单中设置
     * @param date 最后登录时间
     * @return false 未超时,不可登录;true 超时,可以继续登录
     */
    private boolean isLockLastLoginTime(Date date){
          ...
        //ConfigUtil.getInt("安全设置","timeout")
        Date newDate = DateUtil.offsetHour(date,  ConfigUtil.getInt("安全设置","timeOut"));
           ...
    }

基本使用步骤 1.在代码生成器中制作好模型导入至后台自定义配置 2.给配置初始化参数 3.使用ConfigUtil类取值时,注意所取参数以及配置名称需要一致 4.例如下面是以 该自定义配置 来控制静态化主页是否可用的范例代码

[!tip] 需要注意字段名!!! 假设 代码生成器的字段名下划线命名 例如:time_outConfigUtil 对应的 key 参数 为驼峰命名,例如:timeOut,非下划线定义方式与代码生成器字段命名一致。

1.3. ms.mdiy.config 方法

/**
* 获取自定义配置
* @param configName:配置名称
* @paramk key:配置的key值(可选),key == null 可以获取所有的配置
* @param isSystem true 后台调用会拼接后台地址 false前台调用
*/
function config(configName, key,isSystem)

1.4. 范例(前端)

以下为企业版 login.ftl 代码片段

getuiConfig: function () {
    var that = this;
    ms.mdiy.config("后台UI配置",'uiLoginSlogin').then(function (res){
        that.uiConfig.uiLoginSlogin = JSON.parse(res.data)[0].url
    })
    ms.mdiy.config("后台UI配置",'uiLoginBg').then(function (res){
        that.uiConfig.uiLoginBg = JSON.parse(res.data)[0].url
    })

    // 以上方法可以使用一次调用解决
    ms.mdiy.config("后台UI配置",'',true).then(function (res){
        that.uiConfig = res.data
        that.uiConfig.uiLogo = JSON.parse(res.data.uiLogo)[0].url
    })
},

[!tip] 需要注意ms方法使用的异步方法,建议在配置加载完毕的时候进行调用

Copyright © mingsoft.net 2012-2022 all right reserved,powered by Gitbook该文件修订时间: 2022-10-13 11:43:40

results matching ""

    No results matching ""

    results matching ""

      No results matching ""