├── .gitignore ├── .metadata ├── LICENSE ├── QRCode_258.png ├── README.md ├── android ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── noder │ │ │ │ └── flutter_weixin │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── ios ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ └── Release.xcconfig ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ └── contents.xcworkspacedata └── Runner │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-1024x1024@1x.png │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ └── Icon-App-83.5x83.5@2x.png │ └── LaunchImage.imageset │ │ ├── Contents.json │ │ ├── LaunchImage.png │ │ ├── LaunchImage@2x.png │ │ ├── LaunchImage@3x.png │ │ └── README.md │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ └── main.m ├── lib ├── common │ ├── event │ │ ├── HttpErrorEvent.dart │ │ └── ThemeChangeEvent.dart │ ├── net │ │ └── Code.dart │ └── style │ │ └── Style.dart ├── components │ ├── BottomNavigationBar │ │ ├── bar.dart │ │ └── demo.dart │ ├── ListState.dart │ ├── PullLoadWidget.dart │ ├── UserIconWidget.dart │ └── list_refresh.dart ├── main.dart ├── model │ ├── base.dart │ ├── contact.dart │ ├── conversation.dart │ └── find.dart ├── resources │ └── shared_preferences_keys.dart ├── routers │ ├── application.dart │ ├── router_handler.dart │ └── routers.dart ├── utils │ ├── net_utils.dart │ ├── provider.dart │ ├── shared_preferences.dart │ ├── sql.dart │ ├── style.dart │ └── util.dart └── views │ ├── 404.dart │ ├── contacts_detail_page.dart │ ├── contacts_group_chat_page.dart │ ├── contacts_new_friend_page.dart │ ├── contacts_page.dart │ ├── contacts_tags_page.dart │ ├── find_page.dart │ ├── home_chat_page.dart │ ├── home_page.dart │ ├── my_info_page.dart │ └── my_page.dart ├── pubspec.lock ├── pubspec.yaml ├── static ├── app.db ├── font │ ├── demo.css │ ├── demo_index.html │ ├── iconfont.css │ ├── iconfont.eot │ ├── iconfont.js │ ├── iconfont.svg │ ├── iconfont.ttf │ ├── iconfont.woff │ └── iconfont.woff2 └── images │ ├── chat_bg.png │ ├── contact_group.png │ ├── contact_new_friend.png │ ├── contact_public_number.png │ ├── contact_tag.png │ ├── default_img.png │ ├── default_nor_avatar.png │ ├── dianxin.jpg │ ├── find_bottle.png │ ├── find_friend_circle.png │ ├── find_game.png │ ├── find_nearby.png │ ├── find_scan.png │ ├── find_shake.png │ ├── find_shop.png │ ├── find_show.png │ ├── find_sou.png │ ├── find_xcx.png │ ├── home_chat.jpg │ ├── main.gif │ ├── main2.gif │ ├── me_college.png │ ├── me_face.png │ ├── me_gallary.png │ ├── me_pay.png │ ├── me_setting.png │ ├── me_wallet.png │ ├── wechat_contact.jpg │ ├── wechat_contacts_detail.jpg │ ├── wechat_contacts_nf.jpg │ ├── wechat_contacts_x.jpg │ ├── wechat_find.jpg │ ├── wechat_home.jpg │ ├── wechat_me.jpg │ ├── xinwen.jpg │ ├── xsG11.png │ └── zushou.jpg └── test └── widget_test.dart /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # Visual Studio Code related 19 | .vscode/ 20 | 21 | # Flutter/Dart/Pub related 22 | **/doc/api/ 23 | .dart_tool/ 24 | .flutter-plugins 25 | .packages 26 | .pub-cache/ 27 | .pub/ 28 | /build/ 29 | 30 | # Android related 31 | **/android/**/gradle-wrapper.jar 32 | **/android/.gradle 33 | **/android/key.jks 34 | **/android/captures/ 35 | **/android/gradlew 36 | **/android/gradlew.bat 37 | **/android/key.properties 38 | **/android/local.properties 39 | **/android/**/GeneratedPluginRegistrant.java 40 | 41 | # iOS/XCode related 42 | **/ios/**/*.mode1v3 43 | **/ios/**/*.mode2v3 44 | **/ios/**/*.moved-aside 45 | **/ios/**/*.pbxuser 46 | **/ios/**/*.perspectivev3 47 | **/ios/**/*sync/ 48 | **/ios/**/.sconsign.dblite 49 | **/ios/**/.tags* 50 | **/ios/**/.vagrant/ 51 | **/ios/**/DerivedData/ 52 | **/ios/**/Icon? 53 | **/ios/**/Pods/ 54 | **/ios/**/.symlinks/ 55 | **/ios/**/profile 56 | **/ios/**/xcuserdata 57 | **/ios/.generated/ 58 | **/ios/Flutter/App.framework 59 | **/ios/Flutter/Flutter.framework 60 | **/ios/Flutter/Generated.xcconfig 61 | **/ios/Flutter/app.flx 62 | **/ios/Flutter/app.zip 63 | **/ios/Flutter/flutter_assets/ 64 | **/ios/ServiceDefinitions.json 65 | **/ios/Runner/GeneratedPluginRegistrant.* 66 | 67 | # Exceptions to above rules. 68 | !**/ios/**/default.mode1v3 69 | !**/ios/**/default.mode2v3 70 | !**/ios/**/default.pbxuser 71 | !**/ios/**/default.perspectivev3 72 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 73 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 035e0765cc575c3b455689c2402cce073d564fce 8 | channel: master 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 leeo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /QRCode_258.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leeo-noder/flutter_weixin_practise/e8a1aedd3a8a45ecfd28403e9612eae680a51579/QRCode_258.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # flutter_weixin 2 | 3 | A copy of WeiXin Flutter application. 4 | 用Flutter仿的微信UI 5 | 6 |
![]() |
9 | ![]() |
10 |
---|
![]() |
17 | ![]() |
18 |
---|
![]() |
23 | ![]() |
24 |
---|---|
![]() |
27 | ![]() |
28 |
![]() |
31 | ![]() |
32 |
![]() |
39 |
---|