code: function requireModel (...models) {
    return Comp => {
      if (!models || models.length === 0) {
        return
      }
  
      Comp.finisher = function (_constructor) {
        class Wrapper extends _constructor {
  
          static contextTypes = {
            tempo: PropTypes.object,
            ..._constructor.contextTypes
          }
  
          constructor (props, context) {
            super(...arguments)
            const { storeState } = props
            const { tempo } = context
  
            models.forEach((model) => {
              tempo.model(model)
            })
            const newStoreState = tempo.getState()
            // WARNING react-rudex默认并不会立即更新mapStateToProps中的storeState入参，
            // 导致在子组件树中使用刚注册的model的state会出错，所以在这里主动将新状态更新到当前渲染的状态上。
            Object.assign(storeState, newStoreState)
          }
        }
  
        let EnhancedComp = connect((storeState, ownProps) => {
          return { storeState }
        }, dispatch => ({ dispatch }))(Wrapper)
  
        return EnhancedComp
      }
    }
  }
docs: *
  注册依赖的Model
  建议在controller中使用autowire申明依赖的model
  @param models array
  @returns {function(*)}