code: function (format, params, name, traversePath) {
        this._sortParams(params);
        traversePath = traversePath || [];
        switch (format) {
          case 0: // 哈希
            var result = {};
            var pathNodeNum = null;
            params.forEach(function (param) {
              pathNodeNum = traversePath.length;
              if (!param.ignored) {//如果有忽略则不显示范例
                result[param.name] = this._getMockByParam(param, traversePath);
              }
              traversePath.length = pathNodeNum;
            }, this);
            return result;
          case 1: // 枚举
            return this._getEnumMock(params);
          case 2: // 数组
            // params[0] 存的是数组元素的类型
            return this._getArrayMockByArrEleType(params[0], 3, traversePath);
          case 3: // 字符
          case 4: // 数值
          case 5: // 布尔
            var sysDatatype = {
              id: format == 3 ? 10001 : format == 4 ? 10002 : 10003,
              name: name
            };
            if (params.length == 1) {
              // 自定义类型, 要考虑默认值和生成规则
              // 系统类型的 params 参数为空数组
              var param = params[0];
              sysDatatype = Object.assign(sysDatatype, {
                defaultValue: param.defaultValue,
                genExpression: param.genExpression
              });
            }
            return this._getMockOfSysDatatype(sysDatatype);
          case 6: // 文件
            return '<File>';
          default:
            break;
        }
      }
docs: 按类别和参数数组获取 mock 数据
  @param {Number} format - 数据模型的类型
  @param {Array} params - 参数数组
  @param {String} [name] - 参数字段名
  @param {Array} [traversePath] - 遍历路径