### 1. 将当前小朋中组件提取至 cuz-native-ui 中进行管理

计划组件:
- Cache
- Router (过场动画改为在 routes 中进行配置, 注意配合 NavBar)
- ActionSheet (同时兼容 ios 和 android 的 ActionSheet 封装, 用于多个 action 的选择)
- AnimateView (支持淡入淡出等效果[FadeInView/FadeOutView, MoveInView/MoveOutView]的 View 组件, 进行封装以统一整个项目中的动画效果, 原 AnimateView)
- Box (统一项目中使用带有边框外观的组件样式, 整个 TitleBox, 加入 title 属性)
- Button
- Col
- Row
- Container (不封装为组件. 包装该组件功能, 直接继承 React.Component, 使用 extends cuz.Component 来进行使用)
- Icon (应该能直接加载从 Iconfont 中导出的 css 文件)
- CheckBox (原CheckCircle)
- CheckBoxList (原 ListSelect, 基于 CheckBox 的列表选择组件, 应该允许设置多选数量)
- Loading
- Modal (模态窗口)
- Picker (支持多列联动的 Picker 组件)
- ListView (增强 ListView, 包含 Settings组件, 具体可参考 ant-design-mobile ListView 的功能)
- SwipeRow (左/右滑某个 Item 以便进行操作的组件)

遗弃的组件:
- AutoExpandingTextInput (存在小米无法显示的 bug, 并且从未使用)
- Dialog (业务组件)
- ModalContainer (与 Modal 重复)
- NavBar (应该使用类似原生的效果, 在最外层配合 Route 进行使用)
- Pad (调试组件)
- TitleBox (与 Box 整合)
- VerifyCodeBox (业务组件)

### 2. 将当前小朋中 native 组件提取至 cuz-native-ui 中进行管理

不涉及中间件功能的发布至 npm, 涉及中间件功能的发布至 tnpm, 再使用 rnpm 进行统一安装.

计划的组件:

- 通用组件
  - LaunchScreen (android 手动设置, ios 原生支持, 该组件进行统一)
  - Network (原 NetworkInfo, 用户获取当前网络信息, 添加一个监听事件用户 bind 网络断开/恢复通知)
  - SystemBadge (原 SetBadgeNumber)
  - WindowManager (用于取代原生 Dimensions, 解决 android 屏幕大小不准确的问题)
  - Speech (TTS 封装)
  - (暂不考虑) Audio
- 中间件组件
  - Config (原 SetConfig, 用于将配置文件传递给 native 端)
  - Accs
  - Agoo
  - Location
  - OSS
  - Request (对于 mtop 的封装)
  - UserTrack (打点集成)

遗弃的组件:
- BlurView (效果太差, 并且只有 ios 版本)
- Link (业务组件)
- TBLogin (android 未实现, 并且没有使用)

### 3. 封装所有组件.

如 html 所有标签, react-native 自带组件. 在业务代码中只使用从 cuz 中到处的标签.
在项目的配置文件中, 可以对这些所有标签进行定制, 已达到 UI 统一的效果.

计划的组件:

- View
- Text
- Link
- Input
- Calendar
- ImagePicker
- Tooltip
- Tab
- Calendar
- ScrollView
- Steps
- NoticeBar
- SearchBar
- Badge
- Toast //轻提示
- Progress
- Banner

### 4. 丰富config配置项.

- Agoo
- Alog
- ACCS
- UserTrack
