# 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聊天消息 |