一、项目介绍该项目是基于FastAPI Dify 工作流开发的 Web 网页应用旨在为用户提供智能化的新能源汽车选购体验。用户只需用自然语言描述购车需求如预算 20 万以内、续航 500km 以上的 SUV系统即可通过 调用Dify AI 工作流自动解析意图、匹配数据库车型并生成个性化推荐报告大幅降低选车门槛提升购车决策效率。项目采用前后端不分离架构前端页面由 FastAPI 直接渲染后端基于 Python 生态构建整体结构清晰、易于部署和维护。二、功能模块2.1 用户端模块功能说明注册 / 登录用户名 密码注册JWT Token 身份认证支持记住登录状态AI 推荐自然语言输入购车需求Dify 工作流解析意图返回匹配车型列表 Markdown 推荐报告支持历史推荐记录查看车型浏览全量车型展示支持按品牌、车型级别、能源类型、价格区间筛选车型详情页含封面图、参数表、浏览量统计购物车管理加入/移除购物车生成订单支持全款 / 定金两种付款方式订单状态流转待付款→已付款→发货→完成/退款消息通知试驾预约状态变更、订单状态更新等系统消息推送未读消息小红点提醒个人中心查看 / 修改个人资料头像、邮箱、联系方式浏览历史、收藏列表、推荐记录、订单记录管理2.2 管理端模块功能说明登录管理员专属登录入口/admin/login角色鉴权数据概览用户总量、车型总数、订单统计、试驾申请数等核心数据看板用户管理查看用户列表启用 / 禁用账号查看用户详情车型管理新增 / 编辑 / 删除车型上传封面图及详情图管理车型参数试驾管理查看试驾申请列表确认 / 完成 / 取消试驾左侧导航栏实时小红点提醒新申请个人中心修改管理员头像、邮箱、联系方式等个人资料三、项目分层架构系统采用经典三层架构各层职责清晰、低耦合┌─────────────────────────────────────────────────────────┐ │ 前端展示层 │ │ HTML CSS JavaScript Axios │ │ 页面路由由 FastAPI 直接渲染 Jinja2 模板 │ └──────────────────────┬──────────────────────────────────┘ │ HTTP / REST API ┌──────────────────────▼──────────────────────────────────┐ │ 后端应用层 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ │ │ Routers │ │ Services │ │ Schemas │ │ │ │路由/控制│ │业务逻辑 │ │Pydantic 校验│ │ │ └─────────────┘ └─────────────┘ └─────────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ │ │ CRUD │ │ Commons │ │ Utils │ │ │ │数据访问 │ │公共配置 │ │Dify 客户端 │ │ │ └─────────────┘ └─────────────┘ └─────────────────┘ │ └──────────────────────┬──────────────────────────────────┘ │ SQLAlchemy ORM / httpx ┌──────────────────────▼──────────────────────────────────┐ │ 数据与 AI 层 │ │ ┌──────────────────┐ ┌───────────────────────────┐ │ │ │ MySQL 数据库 │ │ Dify 工作流云端 │ │ │ │ users / cars │ │ 用户需求解析 推荐报告 │ │ │ │ orders / ... │ │ 生成LLM 驱动 │ │ │ └──────────────────┘ └───────────────────────────┘ │ └─────────────────────────────────────────────────────────┘关键分层说明Routers路由层负责接收 HTTP 请求、参数校验及响应返回不含业务逻辑Services服务层封装核心业务逻辑如推荐流程编排、订单状态流转CRUD数据访问层封装所有 SQLAlchemy 数据库操作Commons公共组件数据库连接、JWT 鉴权、统一响应格式、配置管理Utils / dify_clientDify 工作流 HTTP 调用客户端含超时、降级处理四、技术栈4.1 前端技术用途HTML5页面结构语义化标签CSS3样式布局Flexbox / Grid响应式设计JavaScript (ES6)交互逻辑DOM 操作异步请求AxiosHTTP 请求库统一封装 API 调用支持请求拦截4.2 后端技术用途FastAPIWeb 框架自动生成 OpenAPI 文档异步支持SQLAlchemyORM 框架数据库模型定义与查询PyMySQLMySQL 驱动MySQL关系型数据库存储用户、车型、订单等核心数据Pydantic数据校验与序列化python-joseJWT Token 生成与验证passlib bcrypt密码哈希加密存储httpx异步 HTTP 客户端用于调用 Dify APIUvicornASGI 服务器运行 FastAPI 应用4.3 Dify 工作流调用具体设计流程图调用流程用户输入自然语言需求 ↓ 后端获取全量车型数据cars_info JSON ↓ 调用 Dify 统一推荐工作流 输入user_query cars_info 输出params_json结构化参数 report_text推荐报告 ↓ 根据 params_json 过滤 MySQL 数据库获取匹配车型 ↓ 返回匹配车型列表 AI 推荐报告Markdown 格式 ↓ 保存推荐记录到数据库容错机制当 Dify 工作流调用超时或失败时自动降级为离线推荐模式使用本地规则引擎生成兜底报告保证用户体验不中断。4.4 数据库设计核心数据表数据表说明users用户信息username、password_hash、role、avatar 等cars车型信息brand、price、battery_range、car_type、energy_type 等recommend_recordsAI 推荐记录user_query、parsed_params、matched_cars、report_contenttest_drives试驾预约real_name、phone、appointment_time、statusorders订单信息order_number、amount、status、order_type、deposit_amountcarts购物车favorites收藏夹browsing_history浏览历史notifications消息通知汽车表设计展示五、项目主要功能5.1 用户端核心流程① 注册与登录用户访问/register填写用户名和密码完成注册登录后系统颁发 JWT Token前端本地存储后续用于接口鉴权。② AI 智能推荐用户在推荐页/recommend输入自然语言购车需求系统调用 Dify 工作流自动分析几秒内返回结构化需求参数价格区间、续航要求、车型级别等匹配的车型卡片列表个性化 AI 推荐报告Markdown 渲染③ 车型浏览与详情/cars页面展示全量车型支持多维度筛选。点击进入详情页可查看封面图、参数表续航/充电/尺寸级别、详情图集同时记录浏览历史。④ 购物车与下单收藏心仪车型后加入购物车支持全款购买填写收货地址和定金预订选择线下提车时间两种购买方式支付完成后订单进入管理端流转。⑤ 试驾预约在车型详情页点击「预约试驾」填写姓名、电话、预约时间管理员在后台确认后用户收到消息通知。5.2 管理端核心流程① 数据概览登录后默认展示核心数据看板可快速了解平台运营状态。② 车型管理新增/编辑车型时支持图片上传上传至/static/uploads/填写完整的车型参数信息。③ 试驾管理左侧导航栏「试驾管理」菜单项显示未处理申请数量的小红点管理员可确认、完成或取消试驾预约状态变更后系统自动推送消息通知给对应用户。六、演示过程中遇到的问题6.1 个人原因没有提前完全熟悉项目的所有功能以及项目演示过程中遇到突发情况的应对措施。改进方向演示前应完整走查所有主要流程对可能的异常场景准备备用展示方案必要时预先录制演示视频作为补充。6.2 项目本身存在的 Bug问题描述用户端登录接口/api/auth/login未对账号角色做严格限制管理员账号可以从用户端正常登录并借助用户端接口对其他用户数据进行查询和修改操作存在越权访问风险。根本原因用户端与管理端共用了同一套 JWT 认证逻辑路由层未区分用户角色进行接入校验。修复思路用户端登录接口增加角色校验拒绝管理端账号登录管理端接口统一使用require_admin依赖普通用户 Token 无法访问管理接口或将用户端与管理端的认证体系完全隔离分别维护独立的 Token 有效期和权限范围七、收获与总结7.1 完整体验了项目开发全流程需求分析 → 数据库设计 → 后端 API 开发 → 前端页面开发 → 调试 → 部署运行深刻理解了前后端协作的实际场景前端如何通过 Axios 调用后端 RESTful API、如何处理 Token 鉴权、如何渲染异步数据后端如何设计分层架构保证代码可维护性。7.2 掌握了 AI 工作流集成方法首次将Dify 低代码 AI 工作流与传统 Web 后端相结合学会了如何设计工作流的输入/输出接口生成apikey在项目中调用工作流如何在后端异步调用外部 AI 服务httpx 异步客户端如何处理 AI 智能推荐的超时、降级等容错逻辑7.3 技术能力提升FastAPI掌握路由、依赖注入、中间件、异步处理、静态文件服务等核心特性SQLAlchemy ORM熟练使用 ORM 进行复杂查询、关联查询和数据建模JWT 认证从零实现了基于 Token 的无状态身份认证体系前端工程化掌握原生 JS Axios 进行前后端数据交互的完整实践八、未来展望优化方向具体描述图片数据化当前车型图片为本地静态资源可以通过爬虫自动抓取各品牌官网图片实现图片数据的自动化更新与管理功能完善补充车型横向对比功能多车型参数对比表增加用户评分/评价模块UGC 内容建立用户论坛/社区促进用户间购车经验交流商业化扩展增加商户端入驻功能入驻商户可自主管理车型上架接入真实支付平台微信支付 / 支付宝完成真实交易闭环AI 能力升级基于用户历史行为浏览记录、收藏、推荐历史构建个性化推荐模型进一步提升推荐准确率引入多轮对话能力优化 AI 推荐交互体验安全加固修复已知的角色越权漏洞用户体验优化 Dify 推荐等待时长的用户反馈进度提示