Golang+Vue2从零开始搭建K8S后台管理系统(2)——前后端联调

news/2024/11/8 5:49:49/

使用Vue2从零开始搭建K8S后台管理系统的前端页面(1)

上一篇通过使用自定义的 request 实现了对业务 api 的访问实现,但是脚手架中一部分内置 api,包括了登入、登出、用户信息,还是通过内置的 request,并通过 mock 模拟数据返回请求结果;

观察调用路径发现:

/src/views/index.vue

=>/src/api/user.js

=>/src/utils/request.js

=>.env.development

 request 中使用了环境变量配置文件 .env.development 中的 BASE_URL ,而该文件中默认值并不是个远程 URL ,而是 /dev-api,也就是说现在业务 API 会请求到我们的 GO API 中,而用户 API还是会走本地的数据模拟;

上一章中只是为了快速测试,独立出了一个自定义的 request 文件,在上实际生产环境中,肯定是需要构建我们的用户系统,并且这部分功能由我们的 GO API 去集成的。

所以这里我们统一将请求都转到 request.js 上面去;

首先修改 /src/api/deploy.js

import request from '@/utils/myrequest'

==========>

import request from '@/utils/request'

并且修改我们的 .env.development,替换成远程 URL

# just a flag
ENV = 'development'# base api
VUE_APP_BASE_API = "http://localhost:8080"

返回到 request.js 中有这样一段代码

const res = response.data// if the custom code is not 20000, it is judged as an error.
if (res.code !== 20000) {Message({message: res.message || 'Error',type: 'error',duration: 5 * 1000
})

所以我们在业务 API 中需要修改样式,来适配脚手架预期响应格式

// handler
func (this *DeploymentCtl) GetList(c *gin.Context) goft.Json {ns := c.DefaultQuery("ns", "default")// 适配vue-admin-template预期响应格式return gin.H{"code": 20000,"data": this.DeploymentService.ListAll(ns),}
}

同时 deploylist.vue 中的绑定数据的 method 也需要做一定数据处理

  methods: {fetchData() {this.listLoading = truegetList("default").then(response => {// responese.data表示返回的json数据// 第二个data是json中key为“data”的数据this.list = response.data.datathis.listLoading = false})}}

除此之外,在 request.js 中 token 是从请求头里面的 “X-TOKEN” 中获取,因此我们必须在全局的跨域中间件中放行该头;

注意需要放行 OPTIONS 方法,在跨域请求中,会先进行一次 OPTIONS 预检,来确保服务端支持跨域。

上述工作完成后,我们还需要在 GO API 中实现登录 API,/src/api/user.js 中有如下:

import request from '@/utils/request'export function login(data) {return request({url: '/vue-admin-template/user/login',method: 'post',data})
}export function getInfo(token) {return request({url: '/vue-admin-template/user/info',method: 'get',params: { token }})
}export function logout() {return request({url: '/vue-admin-template/user/logout',method: 'post'})
}

 我们在 GO API 中根据对应路径将其实现即可,请求返回结果参照 /mock/user.js,沿用其中的假数据,只是请求的目的端换了而已。


http://www.ppmy.cn/news/301299.html

相关文章

关于黑马-Vue电商后台项目管理(2)

2.2 后台项目的环境安装配置 安装MySQL数据库 关于数据库文件,黑马教程有提供一个叫phpstudy的软件,可以按照视频流程进行配置,但是之后可能会经常出现在该软件无法启动mysql。因此我们这次采用Navicat Premium软件进行数据库导入&#xff0c…

SpringBoot2.2+Vue开发的极速后台权限管理系统

点击▲关注 “爪哇笔记” 给公众号标星置顶 更多精彩 第一时间直达 前言 撸主之前分享了很多基于SpringBootVue开发的后台权限管理系统,但都是别人撸的。 今天给大家推荐一款自撸的系统,不需要复杂的配置,尽量少的依赖就可以完成项目的启动…

基于springboot+vue 农业资源管理系统java

通过对阿拉尔农业资源管理系统需求分析确定将分为两种类型用户进行开发,详细需求如下: (1)用户。该类用户可以浏览阿拉尔农业资源管理的前台系统信息查询,如系统概况信息、资源状况信息、地理状况信息、时事新闻信息、通知公告信息…

基于SpringBoot农产品商城系统 土特产商城管理系统

🔥作者主页:雨晨源码🔥 💖主要内容:java/微信小程序/安卓、定制开发、远程调试、代码讲解、文档指导、ppt💖 💖文末联系获取💖 精彩专栏推荐订阅:在 下方专栏&#x1f4…

vue+springboot后台管理系统架子

一、前端 环境准备 我的node是10.15.1建议直接使用nvm管理node版本不合适随时切换代码 gitee地址&#xff1a;https://gitee.com/yin-xin666/mySport.git 下载源码 在这里插入图片描述 #登录代码 <template><div class"login_container"><div class…

koobee MUSE(M2) root教程_方法

koobee MUSE(M2)的root教程在这里整理了一下&#xff0c;之前有机友说自己的手机想删除系统自带的一些无用软件&#xff0c;可是怎么也删除不了&#xff0c;所以需要先进行root才可以删除&#xff0c;不然的话是 删除不了的&#xff0c;这个方法也是大家在root过程中总结出来了…

Vue2.0+beego实现的电商后台管理系统

自己写了一个基于Vue2.0beego实现的电商后台管理系统&#xff0c;项目已用docker打包镜像并部署至阿里云服务器&#xff0c;访问地址&#xff1a;https://www.byhsso.vip 账号&#xff1a;john 密码&#xff1a;000000 出于防止用户篡改数据的考虑&#xff0c;该账号只有“读”…

基于SpringBoot Vue教务管理系统

一、 项目介绍 基于SpringBoot Vue教务/课程管理系统 角色&#xff1a;管理员、社团管理员、社团成员 管理员:班级信息管理、课程信息管理、教室信息管理、活动/通知管理、用户信息管理、授课工作安排、上课时间安排 教师&#xff1a;工作安排、活动/通知查看、上课安排 学…