Skip to content

Latest commit

 

History

History
643 lines (627 loc) · 21 KB

系统参数.md

File metadata and controls

643 lines (627 loc) · 21 KB

系统参数

如下为本系统全部参数信息,数据对象的扩展信息(kzxx)会合并到该信息中,就是说可以通过数据对象的扩展信息修改任何允许修改的系统参数。

配置优先级:具体代码实现>数据对象中配置>默认配置2>前端传入>默认配置1。

不是所有参数都支持前端传入,这个需要做权限控制,避免系统风险。

{
  //数据对象
  "sjdx": {
    "id": "对象id",
    "dxdm": "对象代码",
    "dxmc": "对象名称",
    //对象的扩展信息会合并到系统参数的根对象下
    "kzxx": {
    },
    //数据对象扩展,从对象扩展信息合并进来
    "tails": {
      ///////文本文件扩展//////////
      //分隔符
      "fgf":"|",
      //文本限定符
      "wbxdf":"",
      //头部行数
      "tbhs":1,
      //编码方式
      "bmfs":"UTF-8",
      ///////文本文件扩展//////////
//      //Excel场景 start
        //sheet名称
        "sheet":"Sheet1",
        //起始行
        "startRow":0,
        //起始列
        "startColumn":0
//      //Excel场景 start
    },
  },
  //原对象,一般是前端的表单数据,与对应表字段对应
  "yobj": {
    "id": "数据主键;将根据该主键获取具体记录",
    "cjsj": "创建时间",
    "gxsj": "更新时间",
    "yxx": "有效性"
  },
  //根据yobj中的主键从数据库中读取的完整记录信息
  "obj": {
  },
  //-------------按处理类型扩展 start-------------
  "cllxkz": {
    //处理类型:查询页面扩展
    "select": {
      //权限配置:参考系统中的:系统参数功能
      "qxpz": {},
      //树形列表:支持vxe树形配置的各种属性
      "tree": {
        "transform": true,
        "rowField": "树字段",
        "parentField": "父节点对应的字段",
        "hasChild": "是否有子节点的字段",
        //是否树形结构条件字段,不配置默认树形结构
        "sfsxjgField": "sfsxjg",
        //树形结构请求数据扩展
        "treeQqsjkz":{
          "yobj.js":"formData.js"
        }
      },
      //表格的复选框相关配置,支持vxe的各复选框配置
      "checkboxConfig": {

      },
      //页面扩展:这里设置的参数会合并到页面参数的根节点中
      "pagekz": {
        "pagerConfig": {
          "pageSize": 1000
        },
        //定时刷新,120秒
        "dssx":120,
        //报警声音,值为声音文件的id,走文件下载接口获取,配置了页面查询查询有数据时则报警
        "bjsy":"XXXXXXXX"
      }
    },
    //处理类型:编辑页面页面扩展
    "update": {
      //是否显示关闭按钮,默认显示
      "xsgban": true,
      //确定不提示,默认要提示
      "qdbts": true
    },
    //处理类型:图表扩展
    "echarts": {
      "title": {
        "text": "同名数量统计-对象自定义",
        "subtext": "测试子标题"
      },
      "series": {
        "roseType": "angle"
      }
    }
  },
  //系统参数
  "sys": {
    "cllx": "处理类型;必填",
    "authCode": "权限代码;不传时只提供最基础功能",
    "dlsjdxdm": "代理数据对象代码,配置了则优先使用该数据对象,一些场景需要代理原数据对象",
    "fsjdxdm": "父数据对象代码,一些数据对象时基于另一个数据对象复制而来,而我们在大字典中配置sql等场景需要依赖对象代码,为避免重复配置,此处支持配置父对象代码,系统会读取父对象代码相关大字典",
    "token": "权限key",
    "zxcz": "执行操作;设置执行什么操作,默认getdata,可选项:getdata获取数据,plcl执行新增修改操作,getfile获取文件",
    "clearCache": "请求时清除缓存,默认false,重新加载对象、字段等信息",
    "dataCache": "数据是否使用缓存,部分功能数据存在缓存会用到,如字典等,默认true",
    "ids": "页面批量操作选择的记录id列表,为数组",
    "xzms": "下载模式,1:按文件类型下载、2:二进制文件下载、3:base64、4:转为base64后作为data以json对象返回,针对代理下载文件场景。默认:1",
    //编辑表格数据:列表编辑的数据
    "editTableData": [],
    //参数体处理,调用接口时,需要一起执行的其他操作
    "cstcl":{
        //key一般为字段名称,值为参数对象
        "key":{
        }
    },
    //可以是实现了接口HdInterface的对象或请求参数体,系统会自动采用该参数体进行回调。
    "hdcst":{
    },
    //任何内容
    "context": "",
    //穿透调用
    "ctdy": "可以实现将请求生成文件,传到其他地方调用后结果返回",
    //穿透前应用
    "ctqapp": "可以实现自动将请求条件和用户信息转发到另一个应用,相当于代理功能,在穿透调用前执行",
    //穿透应用
    "ctapp": "可以实现自动将请求条件和用户信息转发到另一个应用,相当于代理功能",
    //穿透url
    "cturl": "穿透应用的相对地址",
    //穿透调用和穿透app场景都会用到,毫秒
    "timeout": "超时时长",
    //不执行更新,默认false,主要针对批量保存场景
    "bzxgx":false,
    //不执行新增,默认false,主要针对批量保存场景
    "bzxxz":false,
    //穿透调用结果
    "ctdyjg": "控制是否需要穿透调用的结果,默认true,数据推送类就可以不需要,感觉有结果当然还是更完美哈",
    //变化的列表选择数据
    "changeCheckData": {
      //记录主键
      "主键": {
        "checked": "是否选中状态",
        "expand": "树形节点是否展开",
        //该行数据
        "obj":{}
      }
    },
    //存储树形结构展开情况
    "treeExpandData":{
        "主键":"树形节点是否展开"
    },
    "files": "文件数组,当我们需要上传文件时,需要先调用upload文件上传接口,文件上传后,接口会返回一个文件对象列表,后续的使用都基于该文件列表进行",
    "userInfo": "用户信息;用于跨系统自动登陆",
    "clientIp": "客户端ip;系统会自动获取",
    "dcwjm": "用于自定义导出文件名,不设置则采用数据对象名称",
    "dcpczdlb":"导出排除字段列表",
    "dczdlb":"导出字段列表",
    "qqkssj": "收到请求开始的时间",
    "qqid":"每次请求系统会自动生成一个请求id与日志id一致",
    "hdqqid":"回调请求id,异步请求时,会将请求id带回,使调用方知道是对应的哪一次请求",
    "hdjs":"回调结束,告知调用方法回调完成",
    "searchKey": "通用搜索信息",
    "language": "国际化语言切换,如:zh_CN、en_US等",
    "yzdjl": "已找到记录,传入主键是否能查询到对应的记录",
    "swtjl": "事务提交量,主要用于批量上传时,多少条数据提交一次事务,默认5000",
    "wlsc": "物理删除,默认false,配置该数据对象是否允许物理删除",
    "scywj": "删除源文件,默认不删除",
    "zddm": "是否包含字段代码,默认true,导出下载模板时会用到",
    "sjyz": "是否数据校验,1验证,0不验证,默认1,数据同步场景生效",
    "fileType": "文件类型,下载数据模板格式等",
    "zdlb":"终端类别,默认:PC,PC(电脑)、Android、IOS、Wx、Zfb、H5",
    //-------------按处理类型扩展 end-------------
    //系统字段相关配置
    "fields": {
      //-------------查询相关字段 start-------------
      //用于综合搜索的字段
      "sszzd": {
        "zddm": "dxmc",
        "zdms": "搜索主字段"
      },
      //系统会自动生成主字段的简拼进行赋值
      "pyjp": {
        "zdms": "拼音简拼",
        "zddm": "dxjp"
      },
      //系统会自动生成主字段的全拼进行赋值
      "pyqp": {
        "zdms": "拼音全拼",
        "zddm": "dxqp"
      },
      //综合搜索需要包含的字段
      "sszdlb": {
        "zdms": "搜索字段列表",
        "zddm": "dxms||dxdm"
      },
      //对于移动端或字典下拉等场景只能展示较少信息时,展示在头部的信息,在前端实现
      "my_header": {
        "zddm": "mc"
      },
      //对于移动端或字典下拉等场景只能展示较少信息时,展示在尾部的信息,在前端实现
      "my_footer": {
        "zddm": "dm"
      },
      //-------------查询相关字段 end-------------
    }
  },
  //用户信息
  "user": {
    //用户主键
    "id": "141B1AFC7E634176BDA7DB7F491A9004",
    "yhdm": "用户代码;用户登陆账户",
    "yhxm": "用户姓名",
    //身份证号
    "sfzh": "10002",
    //头像信息
    "tx": "94BB29C705AE4B849853917C876AE86B",
    //人员所属机构信息
    "jgxx": {
      //机构主键
      "id": "141B1AFC7E634176BDA7DB7F491A9004",
      //机构代码
      "jgdm": "9900000000",
      //机构名称
      "jgmc": "临时机构"
    },
    //当前用户的权限信息集合
    "qxMap": {
      //权限完整路径
      "KFZFW_PTGL_SJZD_sjplsc": {
        "mc": "批量上传",
        "dm": "KFZFW_PTGL_SJZD_sjplsc"
      }
    }
  },
  //分页对象
  "page": {
    "totalRequired": "是否进行总数统计;默认true",
    "listRequired": "是否进行列表查询;默认true",
    "pageNumber": "查询页号",
    "pageSize": "页大小,默认10",
    "orderBy": "排序"
  },
  //sql相关参数
  "sql": {
    "defaultSql": "默认sql",
    "from": "查询的表,含对象归属",
    "selectField": "查询的字段列表",
    "whereStr": "查询条件",
    "authWhere": "权限条件",
    "orderBy": "排序信息",
    //更新相关
    "setf": "更新的字段,如:xm='dsds',age=2",
    //新增相关
    "insertf": "要插入的字段列表",
    "values": "要插入的数据列表"
  },
  //对象的字段信息,可以在对象中配置字段,但一般不这么做,专门的字段配置优先级最高,全局配置文件中可以配置所有对象的通用字段
  "fields": {
    //字段代码
    "zddm": {
      "zddm": "字段代码",
      "zdmc": "字段名称",
      //导出表头背景色
      "dcbtbjs":"RED1",
      //导出默认背景色
      "dcmrbjs":"BLUE1",
      //导出数据定制颜色,具体设置每一行
      "dcdzbjs":{
        "1":"BRIGHT_GREEN",
        "3":"DARK_RED"
      },
      //字段扩展信息都存在每个字段中,各自独立,可以通过$.fields[字段代码].kzxx从myParams中获取
      "kzxx": {
        //验证规则,会合并到$.yzgz['yobj.zddm']中,进行全局校验,计划不存在的时默认采用insert的规则
        "yzgz": {
          "insert": {
            //按顺序继承哪些处理类型的验证规则,后面覆盖前面的规则
            "extends": [
              "xxx",
              "xxx"
            ],
            //"不能为空,会根据是否编辑必填添加该规则"
            "notNull": {
            },
            //必须是某个值
            "mustBe": {
              //必须为123,必须设置
              "value": "123"
            },
            //长度校验,若没有人工配置则会自动根据字段长度的75%添加该规则
            "length": {
              //最长10,不设置没限制
              "max": 10,
              //最长2,不设置没限制
              "min": 2
            },
            //正则表达式
            "zzbds": {
              //校验的正则表达式,必须设置
              "value": "[0-9]{8}",
              //验证没通过时的提示信息
              "ts": "必须是8位的数字"
            },
            //必须是数字
            "number": {
              //最小2,不设置没限制
              "min": 2,
              //最大10,不设置没限制
              "max": 10
            },
            //必须为空
            "null": {
            },
            //必须是时间,系统会自动转为14位字符串时间,也可自定义转为的时间格式。
            "date": {
              //指定时间格式,默认YYYYMMDDHHmmss
              "value": "YYYYMMDDHHmmss"
            },
            //身份证格式校验,系统会自定将15位转为18位
            "sfzh": {
            },
            //邮箱格式校验
            "email": {
            },
            //字典校验,值必须是设置字典的字典项
            "zd": {
              //字典类别,必须设置
              "value": "SYS_COMMON_LJPD",
              //展示字典项,默认true
              "zszdx": true,
              //字典多选,默认false
              "zddx": false
            },
            //字典判断,通过字典机制实现后台校验,需要在字典中进行校验逻辑配置,参考:JCGA_JCYG_SFZHCQ
            "zdpd": {
              //对应的字典类别
              "value": "JCGA_JCYG_SFZHCQ",
              //验证没通过的提示
              "ts": "身份证号不能重复"
            },
            //基于模板验证,只有后端实现,前端不支持
            "tmpl": {
              //可以写beetl表达式,可以取myParams中的所有数据
              "value": "${yobj.xxx=='xx'}",
              //验证没通过的提示
              "ts": "XXXX"
            }
          }
        },
        //转换规则
        "zhgz": {
          //转换为空
          "null": {
          },
          //转换为18位身份证号
          "sfzh": {
          },
          //时间格式转换,系统会自动转为14位字符串时间,也可自定义转为的时间格式。
          "date": {
            //设置要转换的格式,不设置默认:YYYYMMDDHHmmss
            "value": "YYYYMMDDHHmmss"
          },
          //转为大写
          "zwdx": {
          },
          //转为小写
          "zwxx": {
          },
          //去掉前后空格
          "qdqhkg": {
          },
          //字符替换
          "zfth": {
            //原字符串
            "yzfc": "x",
            //新字符串
            "xzfc": "X"
          },
          //字典替换
          "zdzh": {
            //对应的字典类别
            "value": "SYS_COMMON_LJPD"
          },
          //基于beetl模板,如创建人信息、简拼全拼啥的都可以走该规则
          "tmpl": {
            //设置的值,可以取myParams中的所有值,只在后端实现
            "value": "${user.id}"
          }
        },
        //处理类型扩展
        "cllxkz": {
          "insert": {
			//弹窗关闭提示,默认false
			"tcgbts":true,
            //该处理类型是否展示:
            "show": true,
            //默认值
            "default": "默认值",
            //是否禁用,默认false
            "disabled": false,
            //是否只读,默认true
            "readonly": true,
            //字段宽度
            "zdkd": ""
          },
          "update": {
            //该处理类型是否展示
            "show": true,
            "default": "默认值",
            //在获取对象基础信息时,根据主键进行数据库记录获取
            "putobj":true
          },
          "select": {
			//展示查询项数量
			"zscxxsl":6,
            "myHelp": "系统帮助文档id,配置了则会显示帮助文档入口",
            //该处理类型是否展示:这个配置的是表单页面生效,
            "show": false,
            "default": "默认值"
          },
        },
        //针对控件类型的配置,vxe的from-intm中的参数基本都可以设置,系统会自动合并进行展示
        "kjkz": {
          //可以给该行增加多个class,用空格分割,modalStickyBottom:该行沾在下发,modalStickyTop:该行沾在上方
          "className":"modalStickyBottom",
          //密码控件-密码
          "mm": "xxxxxxxx",
          //时间控件-存储格式
          "ccgs": "yyyyMMddHHmmss",
          //时间控件-展示格式
          "zsgs": "yyyy-MM-dd HH:mm:ss",
          //最大按钮数,列表操作中默认最大显示3个按钮
          "zdans": 3,
          //控件类型是$buttons时,会读取该配置展示按钮
          "btns": [
            {
              "type": "button",
              "content": "确定",
              "status": "primary",
              "name": "qd",
              //按钮参数,列表批量操作按钮和列表操作按钮都是此规则
              "buttonOptions": {
                //是否关闭弹窗,针对进行一些操作后配置是否关闭弹窗
                "sfgbtc":true,
                //基础信息扩展,属性复制
                "jcxxkz":{
                },
                //基础信息请求参数扩展,属性复制
                "jcxxqqcskz":{
                },
                //参数,会与默认参数进行合并
                "params":{
                },
                //参数2,主要针对批量上传时,params会被上传文件接口使用,此处再加一个
                "params2":{
                }
              }
            },
            {
              "type": "button",
              "content": "关闭",
              "name": "gb"
            }
          ],
          //树形结构展示的字段设置为true,默认false
          "treeNode": false,
          //控件位置
          "align": "center",
          //控件占一行比例,整行24
          "span": 24,
          //渲染器设置
          "itemRender": {
            "props": {
            }
          }
        },
        //属性扩展,从页面参数对象myData中复制属性到字段配置中
        "sxkz": {
          //<设置到字段配置中的key,从myData中取的只路径>
          "obj": "dxjcxx.sjdx",
          "fields.sjdx.cxmrz": "dxjcxx.sjdx.id"
        },
      }
    }
  },
  //请求的操作日志
  "czrz": {
  },
  //验证规则,可以对全局参数进行验证规则定制,字段的默认验证规则和用户在字段上配置的验证规则和自动合并进来
  "yzgz": {
    //参数jsonpath路径
    "yobj.zddm": {
      //处理类型
      "insert": {
        //按顺序继承哪些处理类型的验证规则,后面覆盖前面的规则
        "extends": [
          "xxx",
          "xxx"
        ],
        "xxms": "信息描述;作为提示的主体",
        //任意系统支持的规则
        "xxx": {
          //规则参数
          "value": "xxx"
        }
      }
    }
  },
  //转换规则,
  "zhgz": {
    //参数jsonpath路径
    "yobj.zddm": {
      //处理类型
      "insert": {
        //按顺序继承哪些处理类型的转换规则,后面覆盖前面的规则
        "extends": [
          "xxx",
          "xxx"
        ],
        //任意系统支持的规则
        "xxx": {
          //规则参数
          "value": "xxx"
        }
      }
    }
  },
  //其他一些信息,特殊场景使用,参数对象序列化时会移除该信息
  "other": {
    "request": "http请求对象",
    "response": "http返回对象",
    "ysParams": "原始请求参数,将原始请求参数克隆备份一份,可能会用到,如:跨网请求需要原始请求参数",
    "yobj": "原始表单参数备份信息,校验时用到"
  },
  //智能交换相关参数
  "znjh":{
    "sql":"要执行的sql",
    "start":"开始",
    "end":"结束"
  }
}

请求状态码表

状态码 说明
200 请求成功
301 资源(网页等)被永久转移到其它URL
400 业务错误,错误详情参考返回消息
403 没权限,服务器理解请求客户端的请求,但是拒绝执行此请求
404 请求的资源(网页等)不存在
412 数据校验未通过,通过msg可以了解具体不通过原因
500 内部服务器错误
1000 穿透调用超时
1001 批量上传数据校验不通过
1002 等待回调超时
9999 框不统一处理返回结果,该状态不会到达前端

数据同步配置

{
  "jcsr": {
    "sjdx": {
      "zlzd": "gxsj"
    },
    "page": {
      "pageSize": 10
    },
    "znjh": {
      "start": "20220101010101",
      "sql": "select * from sys_log_fwzr where gxsj>=#{znjh.start} and gxsj<#{znjh.end}"
    }
  },
  "jcsc": {
    "sjdx": {
      "dxdm": "SYS_LOG_FWZR"
    },
    "sys": {
      "ctdy": "A_B",
      "cllx": "plbc"
    },
    "znjh": {
      "app": "sjsj"
    }
  }
}

流程处理配置

{
  "clq": {
    "jcsr": {
      "sjdx": {
        "zlzd": "gxsj"
      },
      "page": {
        "pageSize": 10
      },
      "znjh": {
        "clq":"jcsr",
        "ljq":{
        	"success":["jcsc"]
        },
        "start": "20220101010101",
        "sql": "select * from sys_log_fwzr where gxsj>=#{znjh.start} and gxsj<#{znjh.end}"
      }
    },
    "jcsc": {
      "sjdx": {
        "dxdm": "SYS_LOG_FWZR"
      },
      "sys": {
        "ctdy": "A_B",
        "cllx": "plbc"
      },
      "znjh": {
        "clq":"jcsc",
        "app": "sjsj"
      }
    }
  },
  "jcxx":{
  	"startClq":["jcsr"]
  }
}