import baseRequest from "./baseRequest"; import { get } from "./storeInfo"; // import { useRouter } from "next/navigation"; // import webviewBaseRequest from "@/utils/webviewBaseRequest"; // 创建一个封装 fetch 的函数 export default function customFetch(method, url, options = {}, needMid) { const base = baseRequest(); // 默认选项 const defaultOptions = { method: method, headers: { "Content-Type": "application/json", "X-Req-Source-TF": "wittgenstein", ...options?.headers, // 可以添加其他默认头部信息 }, // 可以添加其他默认选项 }; let newBody = { ...options?.body }; if (needMid) { let mid = get("account")?.mid; if (!mid) return; newBody.mid = mid; } const body = JSON.stringify({ ...base, ...newBody }); // 合并选项 const mergedOptions = { ...defaultOptions, body }; // console.log("body", body); // 返回 Promise 对象 return new Promise((resolve, reject) => { fetch(url, mergedOptions) .then((response) => { // // 检查响应状态码 // if (!response.ok) { // throw new Error(`HTTP error! status: ${response.status}`); // } // 解析 JSON 响应 return response.json(); }) .then((data) => { // 解析成功,返回数据 resolve(data); }) .catch((error) => { // console.log("error", error); // Toast.show({ // icon: "fail", // content: error.toString(), // position: "top", // }); // 请求失败,拒绝 Promise reject(error); }); }); }