当前位置: 首页 > news >正文

B/S 项目相关

前端:

vscode + vite + vue3 + typescript + OpenPlayers + flv.js

  1. VS Code
    前端代码编辑器,只是开发工具,不参与程序运行;用来写.ts.vue、样式文件,提供代码提示、调试、插件支持。

  2. Vite(构建工具)
    作用:
    开发时:快速启动本地调试服务、热更新(改代码页面立刻刷新)
    打包上线:把源码编译、压缩,输出 html/js/css 静态资源包,丢给 Nginx 部署。 对比旧方案 Webpack:启动更快、热更新延迟低,现在 Vue3 项目首选构建工具。

  3. Vue3(前端框架)
    网页核心业务框架,负责组织页面组件、管理界面状态、渲染 DOM。 页面按组件拆分:登录页、设备列表、地图面板、视频弹窗、告警表格等。

  4. TypeScript(TS 开发语言)
    JavaScript 超集,增加类型定义。 可以提前校验变量、接口数据格式,减少线上 bug,大型监控平台项目必备;最终打包时会编译成普通 JS 在浏览器运行。

  5. OpenLayers【OpenLayers 地图库】
    开源 WebGIS 地图库。 用途:加载底图、绘制无人机航线、标记设备点位、绘制围栏、轨迹回放,Web 端地图核心依赖。

  6. flv.js
    浏览器原生不支持直接播放实时监控流(RTSP)。 后端 / 流媒体服务把视频转成FLV 格式 + HTTP-FLV,flv.js 在浏览器解码渲染视频画面; 典型场景:无人机图传、摄像头实时视频窗口。

类比Qt(C++)

二、后端技术栈

Java + Spring Cloud 微服务架构

  1. Java:后端开发编程语言。
  2. Spring Cloud一套微服务生态套件,不是单一框架。 把庞大系统拆成多个独立小服务: 例如:用户权限服务、设备管理服务、航线任务服务、视频流转发服务、历史数据存储服务。 每个服务独立部署、独立扩容,某一个模块故障不导致整个平台崩溃,适合无人机监控这种业务系统。

三、服务间通信:Spring Cloud OpenFeign

Spring Cloud 内部组件

  • 场景:微服务和微服务之间互相调用例:告警服务需要查询设备信息 → 调用设备服务接口
  • 本质:封装 HTTP 客户端,声明式调用。只需要写接口注解,不需要手写 http 请求代码,简化微服务内部通信。

区分边界:
✅ OpenFeign:后端 ↔ 后端
❌ 不用于 前端 ↔ 后端

四、前后端实时通信:HTTP/HTTPS + JSON

  1. HTTP/HTTPS + JSON前端向后端常规请求方案: 前端 axios/fetch 发起 http 请求,后端返回 JSON 结构数据。
    适用:查询设备列表、下发航线指令、分页查询历史记录。 HTTPS = HTTP 加密版本,生产环境使用。
    单纯 HTTP 是单向通信:只能前端主动问后端,后端无法主动推送消息。
  2. WebSocket用于双向实时通信

五、完整数据流向串联演示

  1. 开发人员用 VS Code 写 Vue3+TS 代码,Vite 本地调试;
  2. 打包后的前端静态资源部署在 Nginx;
  3. 操作员打开浏览器访问页面;
  4. 场景 1:查询设备信息前端 axios 发起 HTTPS 请求 → 网关 → 设备微服务(Java/SpringCloud)→ 查询数据库,返回 JSON 给前端;OpenLayers 刷新地图点位。
  5. 场景 2:查看无人机视频前端通过 flv.js 连接流媒体地址,加载 HTTP-FLV 视频流播放画面;
  6. 场景 3:微服务内部联动告警服务检测到异常,需要获取设备名称 → 通过OpenFeign远程调用设备服务接口。
http://www.cnnetsun.cn/news/4036837.html

相关文章:

  • BetterJoy使用指南:三步把Switch手柄接入PC,畅玩Steam与模拟器
  • 猫抓浏览器扩展:网页媒体资源嗅探与M3U8流媒体下载,从此告别找不到源文件
  • 光子的奇幻漂流:Android Camera 到底该怎么学
  • Git推送失败:error: failed to push some refs 的全面排查与解决方案
  • 免费开源!网盘直链下载助手实测:六大网盘一键直链,批量下载告别龟速
  • AJAX服务器推送技术原理与实战优化
  • Wireshark 3.6.3 Windows安装与配置全指南:从零抓包到实战分析
  • 因为漏掉了一个错误导致浪费了6个小时
  • Windows系统文件sxssrv.dll丢失找不到问题解决
  • 构建CTF解题系统:从零到精通的实战思维与工具链
  • UVM Driver 与 BFM:从 Transaction 到真实波形的最后一公里
  • 【HTB-CPTS】第22章 Command Injections(测验部分)
  • HCIA认证实验指南:网络配置与排错实战
  • 大模型应用开发实战:LangChain输出解析器解决AI结果结构化难题
  • 大数据处理实战:Python分块清洗与PostgreSQL高速导入四百万行CSV
  • pytracking 部署笔记
  • CMake编译选项深度解析:从CMAKE_CXX_FLAGS到跨平台构建最佳实践
  • Claude文本水印真相:技术原理、影响与应对策略
  • 【原创唯一】基于微信小程序+uni-app+vue的个人博客小程序 课程设计/大作业/期末作业(源码+MySQL数据库+实验报告+PPT+远程部署)
  • 【原创唯一】基于SpringBoot+Vue的个人博客网站系统 课程设计/大作业/期末作业(源码+MySQL数据库+实验报告+PPT+远程部署)
  • Python数据可视化配色全攻略:从Matplotlib到Seaborn与Plotly
  • 实用推荐:5款低查重AI写教材工具,轻松搞定教材编写难题!
  • YOLOv11模型导出全攻略:从ONNX、TensorRT到OpenVINO、Core ML、TFLite与TorchScript的多平台部署实战指南
  • 外卖CPS平台开发推广员上下级关系处理
  • Sentinel 流控规则 · 流控效果
  • 【原创唯一】基于SpringBoot+Vue的学生作业管理系统 课程设计/大作业/期末作业(源码+MySQL数据库+实验报告+PPT+远程部署)
  • RePKG 实战指南:拆开 Wallpaper Engine 的 PKG,把 TEX 纹理转成可编辑的 PNG
  • 告别LaTeX表格手工编码:超强工具实现图形化设计与代码自动生成
  • 2027亚洲AI算力液冷技术展官方市场信任度充足
  • 若依框架项目名称自定义全攻略:从配置到模板的完整实践