知识点:
- 封装一个自己的日志,代替原生的 console
- 封装一个自己的请求库,代替原生的 fetch
- 自适应方法,兼容各种手机屏幕
- 封装一个本地存储
- 集成 Toast 弹出提示
- 让 iOS 支持 HTTP 地址
- 安卓需要证书才能编译
在正式开始之前,我们先封装几个要用到的库。
自定义本地日志
自定义日志的一个好处就是省的每次都要手动注释 console,而且还可以同时将日志存在本地,或者发到日志服务器,一个方法一举多得了。
在 src 目录下新建一个 utils 文件夹,封装一个日志输出类,开发模式下使用console.log
命令,正式情况下记录在变量中,方便在手机上查看日志。
新建一个 log.js 文件,路径为根目录/src/utils/log.js
。
新建一个数组变量logs
,用来临时存放日志信息。
将日志分成信息、警告和错误 3 种,分别给出 3 个可调用的方法,同时给第一个参数加一个好看的颜色。
在 index 中引入日志组件,写几个方法来看看调用的结果。
这里稍微定义一下日志的要求,参数 0,字符串;参数 1,对象;参数 2,字符串。
自定义请求
RN 默认提供了 fetch 方法去请求远程数据,我们再封装一次,这个方法将会针对现有的项目做封装,在使用请求的时候能够更适合、更方便。这里使用 header 保存了一些临时的变量,算是一个小小的全局缓存吧。
创建 request.js 文件,目录:根目录/src/utils/request.js
。
将请求 header 里的信息单独出来,每次请求都需要带上这个共享 header 数据。
创建一个 Request 类,并将这个类对外公开,这里将请求初始化一次,以后用到别的请求的时候也可以单独实例化一次。
``` javascript /**