code: function merge(target, patch) {
    if (!_lodash2.default.isPlainObject(patch)) {
      return patch;
    }
    if (!_lodash2.default.isPlainObject(target)) {
      target = {};
    }
    _lodash2.default.forEach(patch, (value, key) => {
      if (value === null) {
        if (target.hasOwnProperty(key)) {
          delete target[key];
        }
      } else {
        target[key] = merge(target[key], value);
      }
    });
    return target;
  }
docs: 合并对象，RFC 7396
  @param {Object} target
  @param {Object} patch
  @returns {Object}