核心内容摘要
屏幕背后的灵魂暗涌:数字时代的深层连接与自我觉醒
「29-酒店预约系统」链接https://pan.quark.cn/s/a8ecca4f2be4酒店预约管理系统一个基于 FastAPI Vanilla JS 的酒店预约管理系统提供客房预订、入住管理、统计分析等功能。
项目简介本系统采用前后端分离架构后端使用 FastAPI 框架提供 RESTful API前端使用原生 JavaScript 结合 Element UI 组件库。
系统支持三种角色管理员、前台和客人分别拥有不同的权限和功能。
技术栈后端FastAPI- 高性能 Web 框架SQLAlchemy- ORM 数据库操作SQLite- 轻量级数据库Pydantic- 数据验证JWT- 用户认证Uvicorn- ASGI 服务器前端Vanilla JavaScript- 原生 JSElement UI- UI 组件库Vue.js- 渐进式框架ECharts- 数据可视化Axios- HTTP 客户端功能特性管理员功能用户管理增删改查、角色分配房间管理房间类型、状态、价格预订管理查看、确认、取消预订统计分析入住率、收入分析系统设置前台功能快速入住/退房预订查询与管理房态查看账单管理客人功能在线预订房间查看我的预订个人信息管理项目结构hospital/ ├── backend/ # 后端代码 │ ├── main.py # FastAPI 入口文件 │ ├── database.py # 数据库配置 │ ├── models.py # ORM 数据模型 │ ├── schemas.py # Pydantic 验证模型 │ ├── auth.py # JWT 认证 │ ├── config.py # 配置文件 │ ├── utils.py # 工具函数 │ ├── seed_data.py # 测试数据初始化 │ └── routers/ # API 路由 │ ├── auth.py # 认证接口 │ ├── users.py # 用户管理 │ ├── rooms.py # 房间管理 │ ├── bookings.py # 预订管理 │ └── stats.py # 统计分析 ├── frontend/ # 前端代码 │ ├── index.html # 登录页 │ ├── admin.html # 管理端 │ ├── reception.html # 前台端 │ ├── guest.html # 客人端 │ └── asset/ # 静态资源 │ ├── vue.js │ ├── element-ui.js │ ├── axios.min.js │ ├── echarts.min.js │ └── confetti.browser.min.js ├── hotel.db # SQLite 数据库运行后生成 ├── requirements.txt # Python 依赖 ├── PROJECT_GUIDE.md # 开发指南 └── README.md # 本文件快速开始环境要求Python
8pip安装步骤克隆项目git clone repository-url cd hospital安装依赖pip install -r requirements.txt初始化数据库cd backend python seed_data.py启动服务# 开发模式带热重载 python -m uvicorn main:app --host
0.
0.
0 --port 8000 --reload # 生产模式 python -m uvicorn main:app --host
0.
0.
0 --port 8000访问系统登录页: http://localhost:8000 管理员: http://localhost:8000/admin.html 前台: http://localhost:8000/reception.html 客人: http://localhost:8000/guest.html API文档: http://localhost:8000/docs默认账号角色用户名密码管理员adminadmin123前台receptionreception123客人guestguest123数据模型用户 (User)id - 用户IDusername - 用户名password - 密码加密real_name - 真实姓名phone - 联系电话email - 邮箱role - 角色admin/receptionist/guest房间 (Room)id - 房间IDroom_number - 房间号room_type - 类型标准间/豪华间/套房/总统套房floor - 楼层price_per_night - 每晚价格capacity - 容纳人数status - 状态可用/已占用/维修中/清洁中amenities - 设施JSON格式预订 (Booking)id - 预订IDbooking_number - 预订号user_id - 用户IDroom_id - 房间IDcheck_in_date - 入住日期check_out_date - 退房日期guest_count - 客人数量total_price - 总价status - 状态待确认/已确认/已入住/已退房/已取消服务 (Service)id - 服务IDname - 服务名称description - 描述price - 价格is_active - 是否启用服务记录 (ServiceRecord)id - 记录IDbooking_id - 预订IDservice_id - 服务IDquantity - 数量total_price - 总价notes - 备注API 文档启动服务后访问 http://localhost:8000/docs 查看完整的 Swagger API 文档。
主要接口认证POST /api/auth/register- 用户注册POST /api/auth/login- 用户登录GET /api/auth/me- 获取当前用户信息用户管理GET /api/users- 用户列表GET /api/users/{id}- 用户详情PUT /api/users/{id}- 更新用户DELETE /api/users/{id}- 删除用户房间管理GET /api/rooms- 房间列表GET /api/rooms/{id}- 房间详情POST /api/rooms- 创建房间PUT /api/rooms/{id}- 更新房间DELETE /api/rooms/{id}- 删除房间预订管理GET /api/bookings- 预订列表GET /api/bookings/{id}- 预订详情POST /api/bookings- 创建预订PUT /api/bookings/{id}- 更新预订PUT /api/bookings/{id}/check-in- 入住PUT /api/bookings/{id}/check-out- 退房统计分析GET /api/stats/overview- 总览统计GET /api/stats/occupancy- 入住率统计GET /api/stats/revenue- 收入统计开发指南详细的开发规范和最佳实践请参考 PROJECT_GUIDE.md包含项目架构选择前端开发规范UI框架、静态资源、页面布局后端开发规范数据模型、API设计、认证
常见问题与解决方案开发流程建议配置说明配置文件位于backend/config.pyclass Settings(BaseSettings): # JWT配置 SECRET_KEY: str your-secret-key-change-in-production-2024 ALGORITHM: str HS256 ACCESS_TOKEN_EXPIRE_MINUTES: int 60 * 24 * 7 # 7天 # 数据库配置 DATABASE_URL: str sqlite:///./hotel.db # 应用配置 APP_NAME: str 酒店预约管理系统 APP_VERSION: str
1.
0生产环境请修改SECRET_KEY为随机字符串。
许可证MIT License联系方式如有问题或建议请提交 Issue 或 Pull Request。