first commit
This commit is contained in:
218
community/README.md
Normal file
218
community/README.md
Normal file
@@ -0,0 +1,218 @@
|
||||
# OneApp Community - 社区模块文档
|
||||
|
||||
## 模块概述
|
||||
|
||||
`oneapp_community` 是 OneApp 的社区模块,专注于社区发现和用户互动功能。该模块提供社区内容浏览、文章发现、动态时刻、用户主页等核心功能。
|
||||
|
||||
### 基本信息
|
||||
- **模块名称**: oneapp_community
|
||||
- **版本**: 0.0.3
|
||||
- **类型**: Flutter Package
|
||||
|
||||
### 核心导出组件
|
||||
|
||||
基于真实项目代码的主要导出:
|
||||
|
||||
```dart
|
||||
library oneapp_community;
|
||||
|
||||
// 社区发现模块
|
||||
export 'src/app_modules/app_discover/pages/community_tab_page.dart';
|
||||
export 'src/app_modules/app_discover/pages/discover_tab_page.dart';
|
||||
export 'src/app_modules/app_discover/pages/community_tab_explore_page.dart';
|
||||
export 'src/app_modules/app_discover/pages/discover_article_page.dart';
|
||||
export 'src/app_modules/app_discover/pages/discovery_moment_page.dart';
|
||||
|
||||
// 用户模块
|
||||
export 'src/app_modules/app_mine/pages/user_home_page.dart';
|
||||
|
||||
// 路由和模块配置
|
||||
export 'src/community_route_dp.dart';
|
||||
export 'src/community_route_export.dart';
|
||||
export 'src/oneapp_community_module.dart';
|
||||
|
||||
// 数据模型
|
||||
export '/src/app_modules/app_mine/models/ads_space_model.dart';
|
||||
|
||||
// 组件
|
||||
export 'src/app_component/medium_component/sweep_video_bg.dart';
|
||||
```
|
||||
|
||||
## 目录结构
|
||||
|
||||
基于实际项目结构:
|
||||
|
||||
```
|
||||
oneapp_community/
|
||||
├── lib/
|
||||
│ ├── oneapp_community.dart # 主导出文件
|
||||
│ ├── generated/ # 生成的国际化文件
|
||||
│ ├── l10n/ # 国际化资源文件
|
||||
│ └── src/ # 源代码目录
|
||||
│ ├── app_modules/ # 应用模块
|
||||
│ │ ├── app_discover/ # 发现模块
|
||||
│ │ │ └── pages/ # 发现页面
|
||||
│ │ └── app_mine/ # 我的模块
|
||||
│ │ ├── pages/ # 用户页面
|
||||
│ │ └── models/ # 数据模型
|
||||
│ ├── app_component/ # 应用组件
|
||||
│ │ └── medium_component/ # 媒体组件
|
||||
│ ├── community_route_dp.dart # 社区路由依赖
|
||||
│ ├── community_route_export.dart # 社区路由导出
|
||||
│ └── oneapp_community_module.dart # 社区模块定义
|
||||
├── assets/ # 静态资源
|
||||
└── pubspec.yaml # 依赖配置
|
||||
```
|
||||
|
||||
## 核心功能模块
|
||||
|
||||
### 1. 社区发现功能
|
||||
|
||||
实际项目包含的发现页面:
|
||||
|
||||
- **community_tab_page.dart**: 社区标签页面
|
||||
- **discover_tab_page.dart**: 发现标签页面
|
||||
- **community_tab_explore_page.dart**: 社区探索页面
|
||||
- **discover_article_page.dart**: 发现文章页面
|
||||
- **discovery_moment_page.dart**: 发现动态页面
|
||||
|
||||
### 2. 用户相关功能
|
||||
|
||||
- **user_home_page.dart**: 用户主页页面
|
||||
- **ads_space_model.dart**: 广告位数据模型
|
||||
|
||||
### 3. 媒体组件功能
|
||||
|
||||
- **sweep_video_bg.dart**: 视频背景扫描组件
|
||||
|
||||
## 技术架构
|
||||
|
||||
### 模块化设计
|
||||
|
||||
基于OneApp的模块化架构:
|
||||
|
||||
```dart
|
||||
// 社区模块类(推测结构)
|
||||
class OneAppCommunityModule extends Module {
|
||||
@override
|
||||
List<Bind> get binds => [
|
||||
// 服务绑定
|
||||
];
|
||||
|
||||
@override
|
||||
List<ModularRoute> get routes => [
|
||||
// 路由配置
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
### 路由管理
|
||||
|
||||
```dart
|
||||
// 社区路由导出
|
||||
class CommunityRouteExport {
|
||||
// 路由键定义
|
||||
static const String keyCommunityTab = 'Key_Community_Tab';
|
||||
static const String keyDiscoverTab = 'Key_Discover_Tab';
|
||||
static const String keyUserHome = 'Key_User_Home';
|
||||
|
||||
// 其他路由相关配置
|
||||
}
|
||||
```
|
||||
|
||||
## 使用指南
|
||||
|
||||
### 1. 模块集成
|
||||
|
||||
```dart
|
||||
// 在主应用中导入社区模块
|
||||
import 'package:oneapp_community/oneapp_community.dart';
|
||||
|
||||
// 注册模块
|
||||
class AppModule extends Module {
|
||||
@override
|
||||
List<Module> get imports => [
|
||||
OneAppCommunityModule(),
|
||||
// 其他模块...
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 页面导航
|
||||
|
||||
```dart
|
||||
// 导航到社区页面
|
||||
Navigator.pushNamed(context, '/community_tab');
|
||||
|
||||
// 导航到发现页面
|
||||
Navigator.pushNamed(context, '/discover_tab');
|
||||
|
||||
// 导航到用户主页
|
||||
Navigator.pushNamed(context, '/user_home');
|
||||
```
|
||||
|
||||
### 3. 组件使用
|
||||
|
||||
```dart
|
||||
// 使用视频背景组件
|
||||
SweepVideoBg(
|
||||
videoUrl: 'your_video_url',
|
||||
child: YourContentWidget(),
|
||||
)
|
||||
```
|
||||
|
||||
## 依赖配置
|
||||
|
||||
### pubspec.yaml 关键依赖
|
||||
|
||||
```yaml
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
# 基础模块依赖
|
||||
basic_modular:
|
||||
path: ../oneapp_basic_utils/basic_modular
|
||||
|
||||
# UI基础组件
|
||||
ui_basic:
|
||||
path: ../oneapp_basic_uis/ui_basic
|
||||
|
||||
# 国际化支持
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
intl: ^0.17.0
|
||||
|
||||
dev_dependencies:
|
||||
# 国际化代码生成
|
||||
intl_utils: ^2.8.0
|
||||
```
|
||||
|
||||
## 最佳实践
|
||||
|
||||
### 1. 性能优化
|
||||
- 使用懒加载优化页面加载速度
|
||||
- 合理缓存图片和视频资源
|
||||
- 实现虚拟列表减少内存占用
|
||||
|
||||
### 2. 用户体验
|
||||
- 提供加载状态指示
|
||||
- 实现下拉刷新和上拉加载
|
||||
- 支持离线浏览缓存内容
|
||||
|
||||
### 3. 代码组织
|
||||
- 按功能模块组织代码结构
|
||||
- 使用BLoC模式管理状态
|
||||
- 实现完整的错误处理机制
|
||||
|
||||
## 问题排查
|
||||
|
||||
### 常见问题
|
||||
1. **页面加载慢**: 检查网络请求和图片加载优化
|
||||
2. **内存占用高**: 使用内存分析工具检查是否有内存泄漏
|
||||
3. **导航异常**: 检查路由配置和模块注册
|
||||
|
||||
### 调试技巧
|
||||
- 使用Flutter Inspector检查组件树
|
||||
- 启用性能监控查看帧率
|
||||
- 使用网络抓包工具检查API调用
|
||||
Reference in New Issue
Block a user