Tauri 是一个使用 Rust 和前端技术(如 HTML、CSS 和 JavaScript)构建桌面应用程序的框架。如果你想在 Tauri 中读取 API 接口,可以通过两种方式来实现:

  1. 通过 JavaScript 在前端调用 API 接口: 你可以在 Tauri 的前端代码(通常是 Vue、React 或纯 JavaScript)中直接调用 API。Tauri 本身使用 Webview 来显示前端内容,所以你可以像在任何网页应用中一样使用 fetchaxios 来请求 API。

    示例:

    async function fetchData() {
      try {
        const response = await fetch('https://api.example.com/data');
        const data = await response.json();
        console.log(data);
      } catch (error) {
        console.error('API 请求失败:', error);
      }
    }
    
    fetchData();
  2. 通过 Tauri 的 Rust 后端进行 API 请求: 如果你需要在 Tauri 中调用 API 接口并将结果传递给前端,你也可以在 Rust 代码中执行 HTTP 请求。然后,利用 Tauri 的 API(如 invoke)将结果传递给前端。你可以使用 reqwestsurf 等库来发起请求。

    例如,使用 reqwest 请求 API:

    • 首先,在 Cargo.toml 中添加 reqwest 依赖:

      [dependencies]
      reqwest = { version = "0.11", features = ["blocking", "json"] }
      tokio = { version = "1", features = ["full"] }
    • 在 Rust 代码中请求 API:

      use reqwest::blocking::get;
      use reqwest::Error;
      
      #[tauri::command]
      fn fetch_data_from_api() -> Result<String, Error> {
          let response = get("https://api.example.com/data")?
              .text()?;
          Ok(response)
      }
    • 在前端使用 invoke 调用 Rust 函数:

      import { invoke } from '@tauri-apps/api/tauri';
      
      async function fetchData() {
        try {
          const result = await invoke('fetch_data_from_api');
          console.log(result);
        } catch (error) {
          console.error('调用 Rust 后端失败:', error);
        }
      }
      
      fetchData();

这样,你可以选择在前端直接调用 API,或在 Rust 后端进行请求,视你的应用需求而定。如果你有特定的需求或遇到问题,可以详细说明,我可以帮助你更深入地解决。

最后修改:2025 年 02 月 20 日
如果觉得我的文章对你有用,请随意赞赏