banxiang/docs/CODE-MAP.md
2026-02-18 18:06:31 +00:00

4.7 KiB
Raw Permalink Blame History

CODE MAPFlutter 项目)

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