一个使用Flutter开发的微信克隆应用,实现了微信的主要界面和基础功能。
- 聊天界面:完整的聊天列表和聊天详情页面
- 联系人管理:联系人列表、详情查看、收藏功能
- 发现页面:类似微信发现页的功能布局
- 个人资料:用户信息展示和设置
- 原生微信风格:高度还原微信的UI设计
- 响应式设计:支持Web端和移动端
- 流畅动画:自然的页面切换和交互效果
- 深色模式支持:适配不同使用场景
- 状态管理:使用Provider进行状态管理
- 模块化设计:清晰的代码结构和组件分离
- 本地资源:使用SVG图标,避免网络依赖
- 测试覆盖:包含Widget测试确保代码质量
lib/
├── main.dart # 应用入口
├── models/ # 数据模型
│ ├── chat_conversation.dart
│ ├── chat_message.dart
│ ├── contact.dart
│ └── user.dart
├── providers/ # 状态管理
│ ├── chat_provider.dart
│ ├── contact_provider.dart
│ └── user_provider.dart
└── screens/ # 页面组件
├── chat_detail_screen.dart
├── chat_list_screen.dart
├── contact_detail_screen.dart
├── contact_list_screen.dart
├── discover_screen.dart
├── home_screen.dart
└── profile_screen.dart
- Flutter SDK >= 3.0.0
- Dart SDK >= 3.0.0
-
克隆项目
git clone <repository-url> cd wechat_clone
-
安装依赖
flutter pub get
-
运行应用
Web端:
flutter run -d web-server --web-port 8080
移动端:
flutter run
-
运行测试
flutter test
flutter: Flutter框架provider: 状态管理intl: 国际化支持
项目使用Provider模式进行状态管理,主要包括:
ChatProvider: 管理聊天相关数据ContactProvider: 管理联系人数据UserProvider: 管理用户信息
- 所有图标使用SVG格式,存放在
assets/images/目录 - 支持自定义字体(可在
pubspec.yaml中配置)
- Widget测试覆盖主要页面组件
- 使用
flutter test命令运行所有测试
flutter build web构建产物在build/web/目录下。
# Android
flutter build apk
# iOS
flutter build ios- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
- v1.0.0 - 初始版本
- 实现基础聊天功能
- 联系人管理
- 发现页面
- 个人资料页面
本项目仅供学习和研究使用。
如有问题或建议,请通过以下方式联系:
- 邮箱:[email protected]
- 项目地址:[GitHub Repository]
注意:本项目仅为技术学习和演示目的,不用于商业用途。