101 lines
4.7 KiB
Markdown
101 lines
4.7 KiB
Markdown
# CODE MAP(Flutter 项目)
|
||
|
||
> 版本:v1.1.0+2 | 更新:2026-02-17
|
||
|
||
## 1) 目录树(文件级,聚焦 lib/)
|
||
|
||
```
|
||
banxiang_app/
|
||
├── lib/
|
||
│ ├── main.dart
|
||
│ ├── theme.dart
|
||
│ ├── models/
|
||
│ │ ├── activity.dart
|
||
│ │ ├── hospital.dart
|
||
│ │ ├── message.dart
|
||
│ │ └── user.dart
|
||
│ ├── screens/
|
||
│ │ ├── activity_detail_screen.dart
|
||
│ │ ├── activity_list_screen.dart
|
||
│ │ ├── ai_chat_screen.dart
|
||
│ │ ├── booking_screen.dart
|
||
│ │ ├── create_activity_screen.dart
|
||
│ │ ├── department_screen.dart
|
||
│ │ ├── doctor_list_screen.dart
|
||
│ │ ├── home_screen.dart
|
||
│ │ ├── hospital_list_screen.dart
|
||
│ │ ├── login_screen.dart
|
||
│ │ ├── main_screen.dart
|
||
│ │ ├── medical_screen.dart
|
||
│ │ ├── messages_screen.dart
|
||
│ │ ├── order_list_screen.dart
|
||
│ │ ├── payment_screen.dart
|
||
│ │ ├── profile_screen.dart
|
||
│ │ ├── profile_setup_screen.dart
|
||
│ │ ├── publish_screen.dart
|
||
│ │ └── services_screen.dart
|
||
│ ├── services/
|
||
│ │ ├── activity_service.dart
|
||
│ │ ├── ai_service.dart
|
||
│ │ ├── auth_service.dart
|
||
│ │ └── medical_service.dart
|
||
│ └── utils/
|
||
│ └── constants.dart
|
||
```
|
||
|
||
## 2) 文件说明
|
||
|
||
| 文件 | 说明 |
|
||
|---|---|
|
||
| main.dart | 应用入口,读取本地token后决定进入登录页或活动广场页 |
|
||
| theme.dart | 定义全局浅色主题 AppTheme.lightTheme |
|
||
| models/activity.dart | 活动实体模型,承载标题、分类、时间、地点、人数等基础字段 |
|
||
| models/hospital.dart | 医疗相关实体,含 Hospital、Doctor、Appointment 三类模型 |
|
||
| models/message.dart | 聊天消息模型,含文本、发送方与时间 |
|
||
| models/user.dart | 用户资料模型,含手机号、昵称、性别、兴趣等 |
|
||
| screens/activity_list_screen.dart | 活动广场页,瀑布流展示活动卡片+底部导航+发布入口 |
|
||
| screens/activity_detail_screen.dart | 活动详情页,含图片轮播、评论区、点赞与报名底栏 |
|
||
| screens/login_screen.dart | 手机验证码模拟登录页,登录后按新老用户分流 |
|
||
| screens/profile_setup_screen.dart | 新用户三步资料完善流程 |
|
||
| screens/profile_screen.dart | 个人资料编辑页 |
|
||
| screens/publish_screen.dart | 发布页,支持图片/视频上传 |
|
||
| screens/ai_chat_screen.dart | AI聊天页,支持快捷提问和消息渲染 |
|
||
| screens/services_screen.dart | 生活服务总入口页 |
|
||
| screens/medical_screen.dart | 医疗健康服务聚合页 |
|
||
| screens/messages_screen.dart | 消息通知页(空壳) |
|
||
| screens/main_screen.dart | 底部Tab主容器(旧版,已不作入口) |
|
||
| services/auth_service.dart | 认证与用户资料服务,管理登录态与资料更新 |
|
||
| services/activity_service.dart | 活动 mock 数据服务 |
|
||
| services/ai_service.dart | AI回复 mock 服务,基于关键词规则 |
|
||
| services/medical_service.dart | 医疗 mock 数据服务 |
|
||
| utils/constants.dart | 应用常量(应用名、活动分类、兴趣标签等) |
|
||
|
||
## 3) 核心方法索引
|
||
|
||
| 文件 | 方法 | 说明 |
|
||
|---|---|---|
|
||
| main.dart | main | 读取token决定首屏 |
|
||
| login_screen.dart | _login | 校验验证码+写token+登录分流 |
|
||
| profile_setup_screen.dart | _finishSetup | 提交资料跳转活动页 |
|
||
| activity_list_screen.dart | _buildBody | 构建瀑布流活动列表 |
|
||
| activity_list_screen.dart | _buildFloatingActionButton | 构建中心悬浮发布按钮 |
|
||
| activity_detail_screen.dart | _toggleLike | 切换点赞状态 |
|
||
| activity_detail_screen.dart | _postComment | 发布评论 |
|
||
| publish_screen.dart | _publish | 校验并发布 |
|
||
| publish_screen.dart | _pickImages | 多选图片(最多9张) |
|
||
| auth_service.dart | checkLoginStatus | 读取token恢复登录态 |
|
||
| auth_service.dart | updateProfile | 更新用户资料 |
|
||
| activity_service.dart | getActivities | 按分类筛选活动 |
|
||
| ai_service.dart | mockChat | 基于关键词返回AI回复 |
|
||
|
||
## 4) 数据模型汇总
|
||
|
||
| 模型 | 主要字段 | 用途 |
|
||
|---|---|---|
|
||
| Activity | id, title, category, time, location, maxParticipants, currentParticipants | 社区活动核心实体 |
|
||
| User | id, phone, nickname, avatar, birthYear, gender, city, interests | 用户画像 |
|
||
| Hospital | id, name, address, departments | 医院实体 |
|
||
| Doctor | id, name, department, title, fee | 医生实体 |
|
||
| Appointment | id, hospitalName, doctorName, time, status, fee | 预约订单 |
|
||
| Message | text, isUser, time | AI聊天消息 |
|