code: function (opts, cb) {
        var self = this
        opts = opts || {}
        var root = opts.root || RootKey
        var _cb = function (err, doc) {
          if (err) {
            cb(err, ERR.config.FA_LIST_CONFIG)
          } else {
            if (!doc) {
              if (opts.all) return cb(null, {})
              return cb(null, [])
            }
            if (opts.all) {
              for (var key in doc) {
                var _doc = self._parse(doc[key])
                if (_doc.value) {
                  doc[key] = _doc.value
                } else {
                  delete doc[key]
                }
              }
            }
            cb(null, doc)
          }
        }
        if (opts.all) {
          mq.hgetall(root, _cb)
        } else {
          mq.hkeys(root, _cb)
        }
      }
docs: 列出所有配置项
  @method config#listConfig
  @param {Object} [opts={}] 参数
  @example
  opts参数:{
  root: 根(可选)
  all: 是否包含值(可选)
  }
  @param {callback} [cb=function(err,doc){}] 回调
  @example
  cb参数格式:
  成功响应:
  doc: 结果数组或者对象(all=true时)
  错误响应:
  doc: {
  err: 错误码,
  msg: 错误信息
  }