vue3+ts学游记-004 模拟登录

第一步

安装axios 使用npm install --save axios进行安装

封装axios,在src目录下新建request文件夹,新建index.ts文件

import axios from "axios";
//创建axios实例
const service = axios.create({
    baseURL: "https://www.fastmock.site/mock/bf1fcb3c2e2945669c2c8d0ecb8009b8/api",
    timeout: 5000,//超时时间
    headers: {//编译语言
        "Content-type" : "application/json;charset=utf-8"
    }
})
//请求拦截
//就是你请求接口的时候,我会先拦截下来,对你的数据做一个判断,或者携带个token给你
service.interceptors.request.use((config) => {//请求的数据
    config.headers = config.headers || {}  // 没有数据的话就设置为空数据
    if(localStorage.getItem("token")){//先确保登录
        config.headers.token = localStorage.getItem("token") || ""
    }
    return config//必须返回出去,不然请求发不出去
})
//响应拦截:后端返回来的结果
service.interceptors.response.use((res) => {
    const code : number = res.data.code//code是后端的状态码
    if(code != 200){
      return Promise.reject(res.data)
      //Promise.reject(res.data)可以返回失败的数据
    }
    return res.data//返回成功的数据
},(err) => {
    console.log(err)//错误信息的处理
})
//因为别的地方要用,所以就把实例暴露出去,导出
export default service

第二步

发送请求,在request文件夹下新建api.ts文件

import service from ".";
interface loginData{
    username:string,
    password:string
}
// 登录接口
export function login(data:loginData){
    return service({
        url:"/login",
        method:"post",
        data
    })
}

第三步

完善src\views\LoginView.vue代码

绑定dom表单的ruleFormRef变量

定义登录功能

登录后保存token并跳转到首页

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值