{"id":19358693,"url":"https://github.com/codermikehe/flutter_wechat","last_synced_at":"2025-04-04T22:06:58.560Z","repository":{"id":48139825,"uuid":"202632694","full_name":"CoderMikeHe/flutter_wechat","owner":"CoderMikeHe","description":"🔥🔥🔥 利用 Flutter 来高仿微信(WeChat) 7.0.0+ App，代码规范惊为天人、注释详解令人发指、细节处理精益求精、核心功能配备文档、接近98%还原度的原生App视觉体验。代码不多，注释多。（持续更新，敬请期待，欢迎Star和Fork…）","archived":false,"fork":false,"pushed_at":"2020-08-04T07:21:24.000Z","size":16251,"stargazers_count":693,"open_issues_count":13,"forks_count":184,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-03-28T21:06:37.450Z","etag":null,"topics":["contacts","dart","flutter","ios","provider","ui","wechat"],"latest_commit_sha":null,"homepage":"https://github.com/CoderMikeHe/flutter_wechat","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CoderMikeHe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-16T00:55:53.000Z","updated_at":"2025-03-22T13:57:34.000Z","dependencies_parsed_at":"2022-08-27T14:56:09.774Z","dependency_job_id":null,"html_url":"https://github.com/CoderMikeHe/flutter_wechat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderMikeHe%2Fflutter_wechat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderMikeHe%2Fflutter_wechat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderMikeHe%2Fflutter_wechat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderMikeHe%2Fflutter_wechat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CoderMikeHe","download_url":"https://codeload.github.com/CoderMikeHe/flutter_wechat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256112,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contacts","dart","flutter","ios","provider","ui","wechat"],"created_at":"2024-11-10T07:12:44.376Z","updated_at":"2025-04-04T22:06:58.543Z","avatar_url":"https://github.com/CoderMikeHe.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flutter_wechat\n\n\u003cimg src=\"https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/logo.png\" width=\"256px\" height=\"256px\" /\u003e\n\n### 概述\n\n- 利用`Flutter` 来构建和模仿`微信7.0.0+ App`，且都是按照`原生微信App`页面，来开发和模仿滴，从而达到与原生 app 相近的视觉效果。\n\n- 笔者于**2019 年 08 月**入坑`Flutter`开发学习，纯属小白一枚，此项目初衷还是想通过项目实践新技术，在业务实践中发现问题，从而积累技术经验，源码中有详细的注释，以及发现问题和解决问题的思路。\n\n- 笔者希望初学者通过学习和实践这个项目，能够打开学习`Flutter`的大门。当然同时也是抛砖引玉，取长补短，希望能够提供一点思路，少走一些弯路，填补一些细坑，在帮助他人的过程中，收获分享技术的乐趣。\n\n---\n\n### ⚠️⚠️⚠️使用(Important)\n-  项目环境\n\t+ **Flutter:**  ` 1.17.1 `\n\t+ **Dart:**  `3.5.1`\n\n- 项目运行\n\n  ```\n\tflutter packages get // 项目初始化插件 \n\tflutter run          // 项目运行\n  ```\n  \n\n- **使用注意**\n\n  - 还请优先使用`iPhone 7/8 Plus`的模拟器或真机，来运行整个项目. 根本原因：目前可能部分界面还未做完屏幕适配，以及笔者生前是一名`iOS开发`且用的是`iPhone 7 Plus`手机。\n\n  - 登陆和注册：目前只支持`QQ账号`和`手机号`的登录或注册（PS：后期增加`微信号和QQ邮箱`登陆），且必须保证`QQ`或`手机号`的有效性。`密码`或者`验证码`可以随便输入，但必须是：`密码`长度需要保证在`8~16`位，`手机验证码`必须保证是`6位有效数字`\n  \n  - 去掉全局断点，否则模拟器运行时，点击输入框`TextField`时，程序老是会卡死，但真机无影响。\n  \n\t![](./snapshots/exception.png)\n\n- 分支策略\n\n\t```\n\tmaster: 各个功能完整，且稳定，出现Bug优先处理\n\tdev: 笔者的开发分支，意识流且不稳定，但知识或技术会超前 master 分支，按需加载。\n\t``` \n- 真机调试\n\t+ **Android：**  `HUAWEI P30`\n\t+ **iPhone：**  `iPhone 7 Plus`\n\n- **Issue提交**\n\t+ 首先，请先尝试拉取`master`最新的代码，看看`Bug`是否修复，目前此项目`dev`分支代码提交比较活跃，`master`分支代码比较稳定。\n\t\n\t+ 其次，检查你的`Flutter`版本是否和本人项目环境一致，**Flutter:  1.12.13+hotfix.7** 以上版本，各模块没啥问题的。`Flutter SDk` 更新命令：`flutter upgrade`。\n\n\t+ 最后，告诉我你是运行在哪个平台，`Android` 或者 `iOS`。若有问题，我会及时修复，谢谢。\n\n---\n\n\n### 期待\n\n- 如果在使用过程中遇到 BUG，希望你能 Issues 我，谢谢（或者尝试下载最新的代码看看 BUG 修复没有）。\n- 如果在使用过程中有任何地方不理解，希望你能 Issues 我，我非常乐意促使项目的理解和使用，谢谢。\n- 如果通过该工程的使用和说明文档的阅读，对你在平时开发中有帮助，码字不易，还请点击右上角`Star`或`Fork`按钮，谢谢。\n- 简书地址：\u003chttp://www.jianshu.com/u/126498da7523\u003e\n\n---\n\n### 主页\n\n|                   GitHub                   |                            掘金                             |                        简书                        |                     CSDN                     | 知乎                                                 |\n| :----------------------------------------: | :---------------------------------------------------------: | :------------------------------------------------: | :------------------------------------------: | ---------------------------------------------------- |\n| [点击进入](https://github.com/CoderMikeHe) | [点击进入](https://juejin.im/user/59128ee21b69e6006868d639) | [点击进入](https://www.jianshu.com/u/126498da7523) | [点击进入](https://blog.csdn.net/u011581932) | [点击进入](https://www.zhihu.com/people/codermikehe) |\n\n---\n\n### 商业互吹\n\n- [iOS开发技术要点汇总](https://github.com/CoderMikeHe/MHDevelopExample_Objective_C)\n- [Vue版WeChat](https://github.com/CoderMikeHe/vue-wechat)\n- [iOS版WeChat](https://github.com/CoderMikeHe/WeChat)\n- [WeChat资源汇总](https://github.com/CoderMikeHe/WeChat_Resource)\n\n### 文档\n\n- [Flutter 玩转微信——通讯录](https://www.jianshu.com/p/8d136f31b8a2)\n- [Flutter 玩转微信——闪屏页妙用](https://www.jianshu.com/p/e2dcd0e8e04d)\n- [Flutter 玩转微信——微信首页](https://www.jianshu.com/p/50eb989a8c49)\n\n---\n\n### 预览\n\n###### 闪屏模块\n\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/splash/splash_page_0.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/splash/splash_page_1.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/splash/splash_page_2.png) |\n| :------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: |\n\n\n###### 登陆/注册模块\n\n|    ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/login/login_page.png)    |   ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/login/register_page.png)    |   ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/login/other_login_page.png)   |\n| :--------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: |\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/login/phone_login_page.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/login/current_login_page.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/login/language_picker_page.png) |\n\n###### 微信模块\n\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/mainframe/mainframe_page_0.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/mainframe/mainframe_page_1.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/mainframe/mainframe_page_2.png) |\n| :------------------------------------------------------------------------------------------------------: | :------: | :------: |\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/mainframe/mainframe_page_3.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/gif/mainframe/mainframe_page.gif)                     | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/mainframe/mainframe_page_4.png)    \n\n###### 通讯录模块\n\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/contacts/contacts_page_0.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/contacts/contacts_page_1.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/contacts/contacts_page_2.png) |\n| :----------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |\n\n\n###### 发现模块\n\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/discover/discover_page_0.png) | 虚位以待 | 虚位以待 |\n| :----------------------------------------------------------------------------------------------------: | :------: | :------: |\n\n\n###### 我模块\n\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/profile/profile_page_0.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/profile/user_info_page.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/profile/more_info_page.png) |\n| :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: |\n\n\n###### 设置模块\n\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/setting/setting_page.png)  | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/setting/account_security_page.png) | ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/setting/message_notify_page.png) |\n| :-------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------: |\n| ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/setting/privates_page.png) |     ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/setting/general_page.png)      |  ![](https://github.com/CoderMikeHe/WeChat_Resource/blob/master/snapshots/setting/about_wechat_page.png)  |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodermikehe%2Fflutter_wechat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodermikehe%2Fflutter_wechat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodermikehe%2Fflutter_wechat/lists"}