code: function (dataType) {
        // 优先考虑 defaultValue, 其次考虑 genExpression
        if (!dataType.defaultValue && dataType.genExpression) {
          return this._evalExp(dataType.genExpression, dataType, this.ds);
        }
        // todo: 后端返回的格式有点乱, 有时字符有时数字, 这里先统一转成字符
        switch (dataType.id.toString()) {
          case '10001':
            // 字符串类型
            return dataType.defaultValue || this._getStr(null, null, dataType.name);
          case '10002':
            // 数值类型
            var num = parseFloat(dataType.defaultValue);
            return isNaN(num) ? this._getNum(null, 0, dataType.name) : num;
          case '10003':
            // 布尔类型
            var dv = dataType.defaultValue;
            return dv ? !/(^false|0)$/i.test(dv.toLowerCase()) : this._getBool();
          case '10000':
            // 可变类型
            return this._getVar();
          case '9999':
            // 文件类型
            return null;
          default:
            return null;
        }
      }
docs: 获取系统类型的 mock 数据, 优先取默认值
  @param {Object} dataType - 数据模型
  @property {Number} dataType.id - 数据模型id
  @property {String} dataType.defaultValue - 数据模型默认值
  @property {String} dataType.name - 数据模型名称