- [简介](#简介)
- [领域生态](#领域生态)
- [使用手册](#使用手册)
- [更新日志](#更新日志)
- [社区活动](#社区活动)
- [开发背景](#开发背景)
- [功能模块](#功能模块)
- [一、平台工具(www.dokit.cn)](#一平台工具wwwdokitcn)
- [二、常用工具](#二常用工具)
- [三、性能检测](#三性能检测)
- [四、视觉工具](#四视觉工具)
- [五、Weex专项工具(CML专项工具)](#五weex专项工具cml专项工具)
- [六、支持自定义的业务工具集成到面板中](#六支持自定义的业务工具集成到面板中)
- [七、微信小程序专项工具](#七微信小程序专项工具)
- [相关文档](#相关文档)
- [微信交流群(一群满员,已开二群)](#一群满员,已开二群)
- [QQ 交流群](#qq-交流群)
- [微信公众号](#微信公众号)
- [项目成员](#项目成员)
- [使用提醒](#使用提醒)
- [友情链接](#友情链接)
- [协议](#协议)
## 简介
<div align="center">
<img src="https://pt-starimg.didistatic.com/static/starimg/img/J0WO7tUi9U1616143930629.png" width = "250" alt="DoraemonKit" align=left />
<img src="https://img.shields.io/github/license/didi/DoraemonKit.svg" align=left />
<img src="https://img.shields.io/badge/Android-3.5.0-blue.svg" align=left />
<img src="https://img.shields.io/badge/iOS-3.0.7-yellow.svg" align=left />
<img src="https://img.shields.io/badge/Flutter-0.6.0-blue.svg" align=left />
<img src="https://img.shields.io/badge/miniapp-0.0.1-red.svg" align=left />
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" align=left />
</div>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
DoKit诞生于滴滴城运服体验技术部,是一款面向泛前端产品研发全生命周期的效率平台。经过两年的发展,当前DoKit已经发展成了一个相对完整的生态,比如DoKit For Android、DoKit For iOS、DoKit For 小程序、DoKit For Flutter、DoKit For Web。同时我们的项目被BAT以及滴滴、字节、快手、京东等等头部独角兽企业广泛使用并获得良好的口碑。随着dokit.cn平台端的推出,标志着DoKit已经从单纯的效率工具正式进入了效率工具平台的阶段。与此同时我们一直都未停下持续探索的精神,积极地在更多平台领域进行尝试,不给自己设限。我们相信DoKit的未来充满无限可能。
> [English Readme](README_EN.md)
## 领域生态
<div align="center">
<img src="https://pt-starimg.didistatic.com/static/starimg/img/WRUdiWDsw71626696344680.jpg" width = "900" alt="DoKit 首页效果演示" align=center />
</div>
## 使用手册
访问[DoKit官网](https://www.dokit.cn/),点击"[使用中心](http://xingyun.xiaojukeji.com/docs/dokit/#/intro)"。
**温馨提示:当前DoKit的所有功能都只针对Debug环境,Release环境未经过实际验证,所以请大家严格按照官方文档来集成,也不建议大家在Release环境上使用DoKit的任何功能。如果大家一定要在Release环境上使用,请自行进行充分的测试和验证,DoKit官方将不承担任何责任和损失。**
## 更新日志
- [Android-ReleaseNotes](http://xingyun.xiaojukeji.com/docs/dokit/#/AndroidReleaseNote)
- [iOS-ReleaseNotes](Doc/iOS-ReleaseNotes.md)
- [微信小程序-ReleaseNotes](Doc/miniapp-ReleaseNotes.md)
- [DoKit For Flutter-ReleaseNotes](Flutter/README.md)
## 社区活动
**DoKit调研问卷**
亲爱的DoKit用户,动动你的小手指参与一下我们的官方调研活动吧。我们极度渴望听到你们的声音:
链接:https://page.juyanwenjuan.com/jy_0CMpJzlu.html
<div align="center">
<img src="https://pt-starimg.didistatic.com/static/starimg/img/INLjGkp9wN1597062733948.jpg" width = "250" alt="DoKit 首页效果演示" align=center />
</div>
## 开发背景
每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,比如帧率查看、内存和 CPU 监控等等,但是现在基本上都是每个 App 都是自己实现了一份,经历了以上的问题之后,DoKit 就有了它存在的意义。
DoKit 是一个功能平台,能够让每一个 App 快速接入一些常用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,并搭配我们的[dokit](https://www.dokit.cn)平台,让功能得到延伸,接入方便,便于扩展。
**简单总结**
1、DoKit 能够快速让你的业务测试代码能够在这里统一管理,统一收口;
2、DoKit 内置很多常用的工具,避免重复实现,一次接入,你将会拥有强大的工具集合;
3、搭配dokit平台,借助[接口Mock](https://www.dokit.cn/#/index/dataMockPage)、[健康体检](https://www.dokit.cn/#/index/checkDataPage)、[文件同步助手](https://www.dokit.cn/#/index/fileSyncPage)、[一机多控]()让你方便和他人协同,极大的提升研发过程中的效率。
## 功能模块
### 一、平台工具(www.dokit.cn)
1. **【数据Mock】** App接口Mock解决方案,提供一套基于App网络拦截的接口Mock方案,无需修改代码即可完成对于接口数据的Mock。
2. **【健康体检】** 一键式操作,整合DoKit多项工具,数据可视化,快速准确定位问题,让你对app的性能了如指掌。
3. **【文件同步助手】** 通过终端服务,让你的终端空间在平台端完整的展现并提供强大的文件以及数据库操作能力。
4. **【一机多控】** 主从同步,释放人力,让研发测试效率提升看得见
### 二、常用工具
1. **【App 信息查看】** 快速查看手机信息,App 基础信息、签名相关、权限信息的渠道,避免去手机设置查找或者查看项目源代码的麻烦;
2. **【开发者选项 Android特有】** 一键跳转开发者选项,避免安卓由于平台差异导致的入口不一致
3. **【本地语言】** 一键跳转本地语言,避免安卓由于平台差异导致的入口不一致
4. **【沙盒浏览】** App 内部文件浏览的功能,支持删除和预览, 并且能通过 AirDrop 或者其他分享方式上传到 PC 中,进行更加细致的操作;
5. **【MockGPS】** App 能定位到全国各地,支持地图地位和手动输入经纬度;
6. **【H5任意门】** 开发测试同学可以快速输入 H5 页面地址,查看该页面效果;
7. **【Crash查看】** 方便本地打印出出现 Crash 的堆栈;
8. **【子线程UI】** 快速定位哪一些 UI 操作在非主线程中进行渲染,避免不必要的问题;(iOS独有)
9. **【清除本地数据】** 一键删除沙盒中所有数据;
10. **【NSLog】** 把所有 NSLog 信息打印到UI界面,避免没有开发证书无法调试的尴尬;
11. **【Lumberjack】** 每一条 CocoaLumberjack 的日志信息,都在在 App 的界面中显示出来,再也不需要导出日志这么麻烦;(iOS独有)
12. **【DBView】** 通过网页方便快捷的操作应用内数据库,让数据库的调试变得非常优雅;
13. **【模拟弱网】** 限制网速,模拟弱网环境下App的运行情况;(android独有)
14. **【JS脚本】** 在指定WebView运行JS脚本。(iOS独有)
### 三、性能检测
1. **【帧率】** App 帧率信息提供波形图查看功能,让帧率监控的趋势更加明显;
2. **【CPU】** App CPU 使用率信息提供波形图查看功能,让 CPU 监控的趋势更加形象;
3. **【内存】** App 内存使用量信息提供波形图�