首页 > 其他分享 >二、Tauri 使用(http请求 axios)

二、Tauri 使用(http请求 axios)

时间:2024-08-09 15:24:57浏览次数:13  
标签:tauri axios http adapter Tauri api response

1.启用该功能

        在tauri.conf.json文件中启用该功能,配置要请求的API路径,多个API的情况使用逗号隔开就可以了

{
  "tauri":{
    "allowlist":{
      "http":{
        "all": true, 
        "request": true, 
        "scope":["http://**", "https://**"]
      }
    }
  }
}

2.axios-tauri-api-adapter

        如果请求接口使用的是axios,需要使用第三方插件 axios-tauri-api-适配器 ,否则打包后的项目无法请求到接口,这里更推荐使用官方的http请求

        ①安装

npm install axios-tauri-api-adapter

        ②导入

import axios from 'axios';
import axiosTauriApiAdapter from 'axios-tauri-api-adapter';

        ③使用

const client = axios.create({ adapter: axiosTauriApiAdapter });

3.封装http

        开发环境不需要使用 adapter: axiosTauriApiAdapter ,注释即可;生产环境需要使用 adapter: axiosTauriApiAdapter

        index.ts

import axios from 'axios';
import axiosTauriApiAdapter from 'axios-tauri-api-adapter';
import { message } from 'ant-design-vue';
​
const http = axios.create({
    // 本地请求服务端
    baseURL: 'http://127.0.0.1:8001/api/v1/',
    timeout: 10000,
    headers: {
        Accept: 'application/json, text/plain, */*',
        'Content-Type': 'application/json',
        'X-Requested-With': 'XMLHttpRequest',
    },
    adapter: axiosTauriApiAdapter,
});
​
// 添加请求拦截器
http.interceptors.request.use(
    (config) => {
        // 在发送请求之前做些什么
        return config;
    },
    (error) => {
        return Promise.reject(error);
    }
);
​
// 添加响应拦截器
http.interceptors.response.use(
    (response) => {
        // 2xx 范围内的状态码都会触发该函数
        return response;
    },
    (error) => {
        const { response } = error;
        if (response) {
            // 请求已发出,但是不在2xx的范围
            return Promise.reject(response.data);
        } else {
            message.warning('网络连接异常,请稍后再试!');
        }
    }
);
​
export function request<T>(data: any): Promise<T> {
    return new Promise((resolve, reject) => {
        const promise = http(data);
        //处理返回
        promise
            .then((res) => {
                resolve(res.data);
            })
            .catch((err) => {
                reject(err.data);
            });
    });
}

标签:tauri,axios,http,adapter,Tauri,api,response
From: https://blog.csdn.net/lqlqll/article/details/141018654

相关文章

  • 【前端】NodeJS:HTTP协议
    文章目录HTTP协议1概念2请求报文的组成3HTTP的请求行4请求头5HTTP的请求体6响应报文的组成7创建HTTP服务7.1操作步骤7.2测试7.3注意事项8浏览器查看HTTP报文8.1查看请求行和请求头8.2查看请求体8.3查看URL查询字符串8.4查看响应行与响应头8.5查看响应体......
  • C# httpclient上传文件
    ///<summary>///上传文件///</summary>///<paramname="file"></param>///<returns></returns>[HttpPost,Route("UploadFile")][NonAuthorize]publicasyncTask<Response<string>>UploadFile......
  • http常见请求参数
    类别请求参数主要分为以下几类:1、路径参数(PathParameters):参数通过URL的路径部分传递。例如: /users/123,123 是用户ID,作为路径参数。2、查询参数(QueryParameters):参数通过URL的查询部分传递,通常以键值对形式出现。例如: /search?query=python&sort=asc。3、......
  • HTTP
    HTTP(超文本传输协议,HypertextTransferProtocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议,它是万维网(WorldWideWeb)数据通信的基础。HTTP规定了客户端(如Web浏览器)如何从Web服务器请求数据,以及服务器如何返回数据给客户端。HTTP协议的特点包括:请求/响应模......
  • httpclient&WebClient--4次迭代,让我的 Client 优化 100倍!
    4次迭代,让我的Client优化100倍!https://www.cnblogs.com/crazymakercircle/p/17136216.html 在大家的生产项目中,经常需要通过Client组件(HttpClient/OkHttp/JDKConnection)调用第三方接口。在一个高并发的中台生产项目中。有一个比较特殊的请求,一次请求,包含10个Web外部......
  • C#使用HttpUtility,HttpServerUtility、HttpUtility对URL编码、解码
    1、HttpUtility.UrlEncode方法:对URL字符串进行编码,以便实现从Web服务器到客户端的可靠的HTTP传输。重载列表:[1]将字节数组转换为已编码的URL字符。[C#]publicstaticstringUrlEncode(byte[]);[2]对URL字符串进行编码。[C#]publicstaticstringUrlEncode......
  • http请求到达后端的执行过程——网关篇
    当后端接收到一次http请求后,最先会由tomcat服务器接受到,首先创建“HttpServletRequest”和“HttpServletResponse”对象,然后tomcat将请求交给servlet容器处理,servlet容器根据请求的url路径和配置确定应该由哪一个Servlet来处理该请求(也就是应该实例哪一个servlet对象),注意:每一......
  • vue中axios二次封装【简洁、附代码】+api解耦
    reference:https://www.bilibili.com/video/BV1my421h7hK/?share_source=copy_web&vd_source=334dbcc5ec1e90276a3fca594c89e11e下一篇:继axios二次封装后跨域问题解决——配置代理、环境变量文章目录一、axios请求接口1下载2引入3使用二、axios二次封装1.下......
  • HttpServletResponse response和HttpServletRequest request什么区别作用是什么
    HttpServletRequest和HttpServletResponse是JavaServletAPI中的两个核心接口,它们分别代表HTTP请求和HTTP响应。这两个对象在处理Web请求时扮演着不同但互补的角色:HttpServletRequest作用:表示客户端发送到服务器的HTTP请求。提供了访问请求参数、headers、cookies......
  • PHP Laravel 5.2 HTTP控制器Controller介绍及示例
    在Laravel5.2中,HTTP控制器是用于处理HTTP请求的主要组件。控制器可以封装业务逻辑,并且可以使你的应用程序更加模块化和易于维护。下面我将详细介绍Laravel5.2中HTTP控制器的基本概念,并提供一些示例。创建控制器在Laravel5.2中,你可以使用Artisan命令来生成......