SpringBoot3+Vue3+MySQL天气服务平台源码 前后端分离实战项目
2026/8/12 16:54:31 网站建设 项目流程

一、项目简介

本项目是一个基于 SpringBoot3 + Vue3 + MySQL 的天气服务平台,采用前后端分离架构。系统核心能力包括实时天气查询、未来天气预报、历史天气统计、天气预警推送、城市收藏管理等,并内置了和风天气 API 对接能力,支持 API 数据自动回退与手动拉取入库。平台分为普通用户端与管理员端两个角色:普通用户可注册登录、查询天气、管理收藏城市、查看预警与统计图表;管理员则负责用户、城市、天气数据、预警信息、轮播图的管理,以及和风天气 API 的同步配置与数据导入。项目附带完整源码、数据库初始化脚本与万字开发文档,适合作为毕业设计、课程设计或 Java 全栈学习的参考项目。

二、技术栈

技术说明
后端框架SpringBoot 3.x
ORMMyBatis-Plus(分页插件、逻辑删除、字段自动填充)
权限认证Spring Security + JWT(jjwt)
前端框架Vue 3(Composition API)
路由与守卫Vue Router(前端路由守卫)
UI 组件Element Plus
构建工具Vite
数据库MySQL 8.x
HTTP 客户端RestTemplate(和风天气 API 调用)
文件存储本地磁盘上传(UUID 重命名)

三、功能模块

管理员端

  • 仪表盘统计:展示用户总数、城市总数、天气数据总条数、启用预警数量,为运营提供全局概览。
  • 用户管理:分页查询用户列表,支持按用户名或昵称模糊搜索,可启用/禁用用户账号、删除用户。
  • 城市管理:分页查询城市列表,支持关键字搜索;可新增/编辑城市信息(城市编码、名称、省份、经纬度),删除城市。
  • 天气数据管理:分页查询天气数据,支持按城市编码和城市名筛选;可手工新增/编辑天气记录,删除历史数据。
  • 预警管理:分页查询预警列表,支持按城市名和预警等级筛选;可新增/编辑预警(类型、等级、标题、描述、起止时间、状态),删除预警。
  • 轮播图管理:查看轮播图列表,支持新增/编辑轮播图(标题、图片 URL、链接地址、排序值、状态),上传轮播图片,删除轮播图。
  • API 同步配置:查看 API 配置状态(是否配置 Key、连通性测试、错误信息提示),便于排查对接问题。
  • API 城市搜索:通过内置中国城市库按关键字搜索城市(支持城市名/省份/拼音),标记是否已导入数据库。
  • API 城市导入:将选中的城市批量导入数据库,自动跳过已存在的城市编码,避免重复数据。
  • API 天气拉取:指定城市编码和天数拉取和风天气数据并入库,按城市+日期去重,存在则更新、不存在则新增。
  • API 批量拉取:一次提交多个城市编码,批量拉取天气数据并入库,返回每个城市的拉取结果。

普通用户端

  • 用户注册与登录:通过用户名和密码完成注册,登录成功后签发 JWT Token,支持角色识别(USER/ADMIN)。
  • 实时天气查询:输入城市编码获取当前天气,优先调用和风天气 API,API 异常时自动回退数据库最新数据。
  • 天气预报查询:支持按城市编码查询未来 3 天或 7 天预报,包含最高/最低温、湿度、风向风力、降水等字段。
  • 历史天气查询:按城市编码及起止日期筛选历史天气记录,按日期升序返回完整温度、湿度、降水数据。
  • 天气统计图表:获取近 30 天温度、湿度、降水序列数据,支持前端渲染折线图/柱状图。
  • 城市搜索:支持按城市名或省份模糊搜索城市列表,展示城市编码、名称、经纬度。
  • 城市收藏管理:查看收藏列表(按排序字段升序)、添加收藏(传 cityCode 和 cityName)、取消收藏、检查是否已收藏。
  • 天气预警查看:获取全部启用的预警列表(按创建时间倒序),可按城市编码筛选启用中的预警。
  • 个人资料修改:更新昵称、邮箱、手机号、头像字段,修改后实时生效。
  • 密码修改:校验原密码后更新为新密码,使用 BCrypt 加密存储。
  • 头像上传:上传图片文件返回访问 URL,自动更新用户头像字段。
  • 首页轮播图:获取启用状态的轮播图列表,按排序值升序展示。

四、项目总结

本项目技术栈覆盖了当前 Java 全栈开发的主流选型:SpringBoot3 作为后端基础,MyBatis-Plus 简化数据访问,Spring Security + JWT 保证接口安全;前端采用 Vue3 + Element Plus + Vite,具备良好的开发体验与组件化能力。项目在业务上完整实现了天气数据从外部 API 拉取、入库、查询、统计到展示的全链路,且具备 API 异常回退机制,体现了真实项目中的容错设计。功能模块划分清晰,角色权限明确,适合作为学习前后端分离开发、JWT 认证、第三方 API 对接、数据可视化等技术的实战参考项目,也可直接用于毕业设计或小型天气服务平台的二次开发基础。

界面展示

交付内容

本项目为完整交付,包含:

  • 完整后端源码
  • 完整前端源码
  • 数据库初始化脚本(SQL)
  • 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)

获取完整源码

完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K336

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询