vue访问后端接口,实现用户注册


一、后端接口文档

在这里插入图片描述
在这里插入图片描述

二、前端代码

请求响应工具

/src/utils/request.js

//定制请求的实例

//导入axios  npm install axios
import axios from 'axios';
//定义一个变量,记录公共的前缀  ,  baseURL
const baseURL = 'http://localhost:8080';
const instance = axios.create({baseURL})


//添加响应拦截器
instance.interceptors.response.use(
    result=>{
        return result.data;
    },
    err=>{
        alert('服务异常');
        return Promise.reject(err);//异步的状态转化成失败的状态
    }
)

export default instance;

调用后端API接口

src/api/user.js

//导入request.js请求工具
import request from '@/utils/request'

//提供调用注册接口的函数
export const userRegisterService = (registerData) => {
    //借助URLSearchParams完成传递
    const params = new URLSearchParams()
    for(let key in registerData) {
        params.append(key, registerData[key])
    }
    return request.post('/user/register',params)
}

页面函数绑定单击事件,调用/api/user.js中的函数

views/Login.vue

● 创建 register 函数

//调用后台接口完成注册
import { userRegisterService } from '@/api/user.js'
const register = async () => {
    let result = await userRegisterService(registerData.value)
    if (result.code === 0) {
        //注册成功
        alert(result.msg ? result.msg : '注册成功')
    } else {
        //注册失败
        alert('注册失败')
    }
    alert(result.msg ? result.msg : '注册成功')
}

● 注册按钮绑定 register 函数
在这里插入图片描述
如果遇到跨域问题,请参考文章:vue配置代理解决前端跨域的问题

三、参考视频

https://www.bilibili.com/video/BV14z4y1N7pg?spm_id_from=333.788.player.switch&vd_source=0467ab39cc5ec5940fee22a0e7797575&p=74

### 实现Vue动态路由 在Vue项目中,可以通过从后端接口获取路由数据来动态更新前端路由配置。具体来说,在应用初始化阶段或特定事件触发时向服务器发送请求以获得最新的路由结构,并据此调整`vue-router`实例中的路径映射。 #### 获取并处理路由数据 当应用程序启动或者用户登录成功之后,应该立即发起HTTP请求去拉取当前用户的权限对应可访问页面的信息: ```javascript // 假设这是来自API响应的数据格式 const routesFromServer = [ { path: '/home', name: 'Home', component: Home, }, // 更多路由... ]; ``` 一旦接收到上述形式的数据,则需将其转换成适合于`vue-router`的形式[^1]。 #### 创建初始空白路由对象 为了防止未授权的直接URL跳转行为,在定义全局导航守卫之前先建立一个仅含基本错误提示界面的基础路由表单: ```javascript import Vue from 'vue'; import Router from 'vue-router'; Vue.use(Router); export default new Router({ mode: 'history', // 使用HTML5 History Mode base: process.env.BASE_URL, routes: [], // 初始为空数组 }); ``` #### 动态加载组件与注册新路由 对于每一个由服务端下发的新条目而言,如果其包含懒加载模块声明(即`component()`函数),那么就应当按照官方文档指导的方式完成异步解析工作;反之则可以直接指定本地已经导入好的视图类名作为目标位置指向器。最后调用`router.addRoutes()`方法把整理完毕后的集合追加进去即可生效。 ```javascript function addDynamicRoutes(router, dynamicRoutes) { router.addRoutes(dynamicRoutes); } ``` 值得注意的是,在某些情况下可能还需要考虑清除旧有自定义项以免发生冲突——特别是涉及到角色切换场景下的菜单刷新逻辑[^3]。 #### 完整示例代码片段 以下是综合以上各部分内容的一个较为完整的例子说明如何基于远程JSON描述文件构建个性化浏览体验: ```javascript async function setupDynamicRouting() { try { const response = await axios.get('/api/routes'); let receivedRoutes = response.data; // 对接收的数据做一些必要的预处理操作... // 将准备好的路由规则注入到现有环境中 addDynamicRoutes(this.$router, receivedRoutes); console.log('Dynamic routing has been set up.'); } catch (error) { console.error('Failed to fetch and apply route configuration:', error); } } setupDynamicRouting(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值