Vue3+Vite+Pinia+Naive后台管理系统搭建之六:Axios 网络请求

news/2024/11/28 11:46:38/

前言

如果对 vue3 的语法不熟悉的,可以移步Vue3.0 基础入门快速入门。

Axios 详情可移步官网参看:Axios 官网

1. 安装依赖

yarn add axios
// or
npm install axios

2. .env 环境配置

对环境配置不了解的可移步:Vue 入门系列:.env 环境变量

新建 .env.development .env.production

.env.development 开发环境变量

# 开发环境配置
ENV = 'development'# 开发环境
VITE_APP_BASE_API = '/dev-api'

 .env.production 生产环境变量

# 生产环境配置
ENV = 'production'# 生产环境
VITE_APP_BASE_API = '/pro'

3. 构建 vite.config.js 中的 server

// vite.config.js
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";import { resolve } from "path";// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],resolve: {alias: {"@": resolve(__dirname, "./src"),},},// 服务配置server: {// 是否开启httpshttps: false,// 端口号port: 3000,// 监听所有地址host: "0.0.0.0",// 启服务自动打开浏览器open: false,// 允许跨域cors: true,proxy: {"/dev": {target: "http://xxx.x.xxx.xxx:8080",changeOrigin: true,ws: true,rewrite: (path) => path.replace(/^\/dev/, ""),},"/dev/file": {target: "http://xxx.x.xxx.xxx:9300",changeOrigin: true,ws: true,rewrite: (path) => path.replace(/^\/dev/, ""),},},},
});

4. 新建 src/api/http.js 配置 aixos 基础配置

// src/api/http.js
import axios from "axios";// 请求和响应的消息主体用什么方式编码
axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
const service = axios.create({baseURL: import.meta.env.VITE_APP_BASE_API,timeout: 10000,
});// 请求拦截器
service.interceptors.request.use((config) => {// TODOreturn config;
});// 响应拦截器
service.interceptors.response.use((res) => {// TODOreturn res.data;
});export default service;

5. 新建 src/api/login.js 接口封装

// src/api/login.js
import api from "./http.js";// 登录
export function login(data) {return api({url: "/login",method: 'post',data})
}// 登出
export function logout() {return api({url: '/logout',method: 'delete'})
}

6. 在 src/pages/login.vue 组件中调用接口

<!-- 在 src/pages/login.vue -->
<script setup>
import router from "@/router/index.js";
import { NButton } from "naive-ui";
import { login } from "@/api/login.js";let handleLogin = () => {login().then(() => {router.push({ name: "home" });});
};
</script><template><div class="login"><n-button type="primary" size="small" @click="handleLogin">登录</n-button></div>
</template><style lang="scss" scoped></style>

 注意:不是真实的配置,所以请求失败,请根据自己项目需求,修改请求配置

综上

axios 安装完成。下一章 utils 工具构建,然后根据 utils 工具,完善 src/api/http.js 接口请求逻辑、src/store/user.js 登录逻辑、src/router/index.js 路由跳转逻辑。

下一章:utils 工具构建


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

相关文章

HTML5+CSS3小实例:带进度条的人物卡片切换效果

实例:带进度条的人物卡片切换效果 技术栈:HTML+CSS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" conte…

ffmpeg学习 源代码编译、英伟达硬件加速

使用cpu进行软编解码时&#xff0c;cpu效率低并且占用高。使用硬件加速&#xff0c;能够明显降低CPU的占用&#xff0c;参看博客 ffmpeg学习&#xff08;16&#xff09;AVDevice使用。 这里以使用英伟达gpu进行h264编解码加速为例说明&#xff0c;其他平台类似。 1、winodws硬…

英伟达笔试面试题整理DIY

nvidia 不是家喻户晓&#xff0c;但对于搞计算机可视化和图形的人来说应该没人不知道吧。 C/C编程&#xff0c;C#编程&#xff0c;Python 编程&#xff0c;Windows 操作系统知识&#xff0c;Linux 操作系统知识&#xff0c;SQL 语言知识&#xff0c;正则 表达式知识&#xff0…

英伟达jetson硬件(NX,nano,AGX,TX1,TX2)通用开机自动开启风扇教程

英伟达jetson硬件通用的风扇开机自启动教程 1.安装jetson-stats2.重启硬件&#xff0c;然后进入jtop3.操作设置4.重启测试风扇是否自动开启 1.安装jetson-stats &#xff08;先安装一下pip&#xff09; sudo apt-get install python3-pip然后就可以正常使用pip进行安装&#…

英伟达 nvidia jetson AGX xavier 风扇开机自启动设置

1. 风扇开机自启设置 切换到 root 用户 sudo su修改风扇pwm调速文件权限 chmod 777 /sys/devices/pwm-fan/target_pwm修改系统外设配置文件&#xff0c;并添加风扇开机启动任务&#xff1a; vim /lib/systemd/system/rc-local.service注意&#xff1a; 1.如不知道该文件路径…

Vue3+Vite+Pinia+Naive后台管理系统搭建之二:scss 的安装和使用

前言 如果对 vue3 的语法不熟悉的&#xff0c;可以移步 Vue3.0 基础入门&#xff0c;快速入门。 1. 安装依赖 yarn add sass -D // or npm install sass -D 2. 页面样式初始化 reset.scss /* 新建 src/assets/style/reset.scss */ /* 页面样式初始化 */ html, body, div, s…

跳木桩----(爱思创)

源代码 #include <bits/stdc.h> using namespace std;int main(){int n,a[10010],maxd,ans0;cin>>n;for(int i1;i<n;i){cin>>a[i];}cin>>maxd;sort(a1,an1);for(int i1;i<n;i){if(a[i]-a[i-1]<maxd){ans;}else{break;}}cout<<ans<&…

超简单 不进PE 不用U盘 自己重装电脑系统步骤

超简单不用U盘 不进PE 自己重装电脑系统 Ghost重装系统GHO镜像安装系统 点击 下载