Skip to content

SunshineBrother/SwiftTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift学习

使用BeeHive实现一个组件化方案,封装了各种工具。欢迎相互交流

项目包含5个组件

  • 1、ThirdLib:各种第三方封装

    • Crypto:加密
    • DB:基于WCDB的封装
    • HUD:MBProgressHUD封装
    • Log:基于Logan的封装
    • UIImageView+Kingfisher
    • UIScrollView+Extension
      • 添加刷新
      • 空白页
  • 2、Request:Moya/RxSwift/ObjectMapper封装

    • 直接返回model
    • 添加数据缓存
    • 网络日志打印
  • 3、JHSwifterSwift:各种小工具

  • 4、HomeModule:业务逻辑

  • 5、OrderModule:业务逻辑

  • 知识点

  • 小工具

新项目开始前的思考

第三方库

需要注意的问题

  • 国际化问题
    • 安卓 iOS 前端统一资源
  • 路由管理
  • 是否有节假日换皮肤的需求
  • 黑暗模式是否是配
  • tabbar和navigationbar问题 (是否用,待考虑)
  • 资源管理(考虑)
    • 文字(大小,类型)资源:统一格式,json读取
    • color资源:统一格式,json读取
    • 图片资源:json读取
  • 架构模式(MVC)
    • Server层:api+server+json转model
    • Model层
    • view层:view层仅仅负责布局,事件处理可以通过代理交给controller层处理
    • controller
      • 给view赋值
      • 处理响应事件
      • 处理一些业务逻辑
  • 基类放到哪里
    • BaseViewConroller
    • BaseWebViewController

架构

基础模块

  • 1、tabbarModules(待考虑)

  • 2、navigationBarModules(待考虑)

  • 3、WrappersModules 包装整个项目(待考虑:是单独的module还是直接放到主项目里面)

  • 4、FoundationModules 基于系统库封装

  • 5、widgetModules 一些小组建的封装

  • 6、sdkModules

业务模块

  • 1、DataCenterModules 数据中心
    • 待考虑:这个数据中心我们是做成集约型还是离散型
      • 集约型:作为一个modules,其他的读取这个modules
      • 离散型:每个modules自己存储自己数据中心,注册的时候需要赋值,好处:每一个模块都可以单独运行,不需要依赖这个独立的数据中心
    • 静态数据
      • color资源
      • 文字(大小,类型)资源
    • 动态数据
      • userId
      • token
      • mobile
  • 2、LoginModule
  • 3、HomeModule
  • 4、OrderModule
  • 5、PayModule
  • 6、AnalyseModule埋点
  • 7、WebViewModule等等

About

一个基于BeeHive实现的组件化方案

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published