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

前后端分离架构

GoViewBoard 系统中前端和后端的联系:

🏗️架构概述

这个系统采用前后端分离架构,包含两个独立的部分:

后端 (Backend)

  • 技术栈: Go + Gin 框架
  • 端口: 8080
  • 功能: 提供 RESTful API 接口,处理业务逻辑,数据库操作
  • 位置:go/目录

前端 (Frontend)

  • 技术栈: Vue 3 + Element Plus + Vite
  • 端口: 构建后静态文件,通过 API 与后端通信
  • 功能: 用户界面展示,数据可视化,用户交互
  • 位置:vue/目录

🔄前端和后端的通信方式

1. API 调用

前端通过 HTTP 请求调用后端的 API 接口来获取和操作数据:

// 前端代码示例 (vue/src/api/dashboard.js)exportfunctiongetDashboardData(){returnrequest({url:'/api/dashboard',method:'get'})}

2. 数据格式

  • 通信采用 JSON 格式
  • 使用 RESTful API 设计规范

🌐主要 API 接口

让我为您查看实际的前后端接口

🗂️前端和后端的具体联系

1. API 接口对应关系

让我展示前端如何调用后端的 API:

HTTP 请求

JSON 数据

GET /api/orders

POST /api/orders

GET /api/dashboard

GET /api/product-configs

前端 Vue 应用

后端 Go API

获取订单列表

创建订单

获取大屏数据

获取产品配置

2. 核心 API 接口列表

后端提供的主要接口 (main.go第47-75行):

前端页面后端 API 接口功能描述
订单管理/api/ordersCRUD 订单操作
产品配置/api/product-configs管理产品SQL配置
数据大屏/api/dashboard获取大屏展示数据
系统配置/api/board-configs管理系统参数

3. 前端调用示例

// 前端发送请求 (vue/src/api/dashboard.js)exportfunctiongetDashboardData(params){returnrequest.get('/dashboard',{params})}// 实际请求过程:// 1. 前端发送: GET http://localhost:8080/api/dashboard// 2. 后端接收: 查询数据库 → 返回JSON数据// 3. 前端接收: 解析JSON → 更新页面显示

🔄数据流转过程

让我以一个典型的操作来说明前后端的联系:

场景:页面加载时获取订单数据

数据库 (MySQL)后端 (Go)前端 (Vue)用户数据库 (MySQL)后端 (Go)前端 (Vue)用户打开订单管理页面GET /api/orders?page=1&page_size=10SELECT * FROM board_order LIMIT 0,10返回订单数据返回JSON格式的订单数据在表格中显示订单列表

让我查找 vue 文件中的 API 调用

📂项目结构分离

现在让我显示项目的结构来解释前后端如何分离:

GoViewBoard/ ├── go/# 后端代码 (Go)│ ├── api/# API 接口实现│ │ ├── order.go# 订单管理 API│ │ ├── dashboard.go# 大屏数据 API│ │ └── product_config.go# 产品配置 API│ ├── dao/# 数据库操作层│ ├── model/# 数据模型│ └── main.go# 后端入口文件│ └── vue/# 前端代码 (Vue)├── src/ │ ├── api/# API 调用封装│ │ ├── order.js# 订单相关 API 调用│ │ ├── dashboard.js# 大屏数据 API 调用│ │ └── index.js │ ├── views/# 页面组件│ │ ├── OrderManage.vue# 订单管理页面│ │ ├── Dashboard.vue# 数据大屏页面│ │ └── ProductConfig.vue# 产品配置页面│ └── utils/request.js# HTTP 请求工具└── vite.config.js# 前端构建配置

🎯前后端联系的关键要点

1. 通信格式统一

  • 前端通过request.js统一配置baseURL: '/api'
  • 后端路由统一以/api开头
  • 保证前后端接口路径对应

2. 数据格式标准

{"code":0,// 0=成功, 其他=失败"msg":"success",// 状态消息"data":{...}// 业务数据}

3. 具体联系示例

前端调用 (vue/src/api/order.js):

exportfunctiongetOrders(params){returnrequest.get('/orders',{params})}

后端处理 (go/main.go 第51行):

apiGroup.GET("/orders",api.GetOrders)

实际通信路径:

前端: request.get('/orders') → 实际请求: http://localhost:8080/api/orders → 后端接收: apiGroup.GET("/orders", api.GetOrders)

现在您清楚了吗?前端和后端就像两个独立的公司部门,通过标准化的接口协议(API)进行数据交换。前端负责展示和交互,后端负责数据处理和存储。

http://www.jsqmd.com/news/1244004/

相关文章:

  • 输入5-35V,输出电流1-3A,布局线路实现升压,升降压
  • 终极指南:如何用QtScrcpy将手机游戏变成电脑端游体验
  • 洛谷 P2709:[模板] 莫队 / 小 B 的询问 ← 莫队算法
  • 2026年7月卡萨帝空调售后服务电话24小时全新专属热线升级公示最新公告 - 家电技术百科
  • 2026 年当下,岫岩满族自治比较好的翅片管源头厂家全面解析与选购指南,揭秘飞行器效率的秘密:这小管子到底有多关键? - 行业严选官
  • 视频内容转文字软件哪个好用?2026三款工具对比 - 工具测试专家
  • 武汉各区空调维修师傅名录|24小时报修电话|简单到家 - 简单到家
  • Spring Lemon完全指南:构建企业级Spring Boot Web应用的终极工具
  • 真力时太原2026年7月最新官方服务网点地址与客户热线通知 - 亨得利钟表维修中心
  • 微软开源MarkItDown:AI时代的多格式文档转换神器
  • AI客户生命周期管理落地失败真相(92%企业踩中的3个算法陷阱)
  • Label Studio免费开源数据标注工具:AI模型训练的完美数据管家
  • RPCS3完整指南:如何在现代PC上完美运行PS3游戏
  • 劳力士养护手表专业保养与维修服务指南权威公示(2026年7月最新) - 劳力士服务中心
  • 2026 最新|抖音小店一件代发完整操作流程,新手直接照做(抖掌柜) - 电商分享
  • 深圳长途搬家搬厂:长途搬厂+办公家具运输报价标准,企业预算规划参考 - szxybj
  • fastapi: 给docs文档添加用户名密码验证
  • 2026年7月麦克维尔空调售后服务电话24小时全新专属热线升级公示最新说明 - 家电技术百科
  • 广州新房除甲醛哪家正规?本地实地走访三家品牌横评 - 环保除醛知识库
  • 【AI口播视频爆款公式】:20年视频算法专家亲授3大优化维度、7个致命误区、90%创作者忽略的语音-画面协同黄金比
  • ELF interpreter /lib64/ld-linux-x86-64.so.2 not found, error 2问题解决以及localsentd软件在Ubuntu兼容层的安装
  • 爱回收买二手电脑靠谱吗?联想拯救者R9000P 2021实测,游戏本能不能买二手 - 资讯快报
  • 数字环保产业领路人|越华环保王长历职称、技术成果、产学研体系全解析
  • ComfyUI-LTXVideo终极指南:本地AI视频生成完整教程
  • OpenRouter:13亿美元估值背后,能否在多模型时代守住价值?
  • 2026年7月最新欧米茄长沙北辰三角洲大悦城维修保养服务电话 - 欧米茄官方服务中心
  • 香材哪家性价比高:问菩文创原材划算 - 松梢月冷
  • 2026年7月美度**金华售后服务最新网点地址及客服热线通知 - 亨得利官方服务中心
  • 动态表达式解析器(DynamicExpresso)完整指南:如何在.NET中实现运行时C表达式执行
  • 商丘网站建设商丘老板别踩坑,这几点不搞清楚就是扔钱