Files
threeonecheck_web/unpackage/dist/dev/mp-weixin/request/request.js
2026-01-18 16:06:37 +08:00

101 lines
3.1 KiB
JavaScript

"use strict";
const common_vendor = require("../common/vendor.js");
const request_luchRequest_core_Request = require("./luch-request/core/Request.js");
const baseUrl = "http://192.168.1.168:5004";
new request_luchRequest_core_Request.Request({
baseURL: baseUrl,
timeout: 1e4
});
const getToken = () => {
const token = common_vendor.index.getStorageSync("token");
return token ? `Bearer ${token}` : "";
};
const isEmptyObject = (obj) => {
return Object.keys(obj).length === 0;
};
const objectToQueryString = (obj) => {
const keyValuePairs = [];
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
keyValuePairs.push(encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]));
}
}
return keyValuePairs.join("&");
};
function showToast(title) {
common_vendor.index.showToast({
title,
icon: "none",
duration: 1e3
});
}
const requestAPI = (config) => {
let { url, method = "GET", data = {}, noAuth = false } = typeof config === "object" && config.url ? config : { url: config, method: arguments[1] || "GET", data: arguments[2] || {} };
if (method == "GET" && !isEmptyObject(data)) {
url += "?" + objectToQueryString(data);
}
common_vendor.index.showLoading({
title: "加载中..."
});
const header = {
"Content-Type": "application/json"
};
if (!noAuth) {
const token = getToken();
if (token) {
header["Authorization"] = token;
}
}
return new Promise((resolve, reject) => {
common_vendor.index.request({
url: baseUrl + url,
method,
data,
header,
success: (res) => {
common_vendor.index.hideLoading();
if (res.statusCode !== 200) {
console.error("HTTP错误:", res.statusCode);
reject(`HTTP_${res.statusCode}`);
return;
}
if (res.data && res.data.code !== void 0) {
if (res.data.code === 200 || res.data.code === 0) {
resolve(res.data);
} else if (res.data.code === 401) {
common_vendor.index.removeStorageSync("token");
common_vendor.index.removeStorageSync("userInfo");
showToast("登录已过期,请重新登录");
setTimeout(() => {
common_vendor.index.reLaunch({
url: "/pages/login/login"
});
}, 1500);
reject("401");
} else {
showToast(res.data.msg || "请求失败");
reject(res.data.code);
}
} else {
resolve(res.data);
}
},
fail: (err) => {
console.error("网络请求失败:", err);
common_vendor.index.hideLoading();
if (err.errMsg && err.errMsg.includes("request:fail")) {
showToast("网络连接失败,请检查网络设置");
} else if (err.errMsg && err.errMsg.includes("timeout")) {
showToast("请求超时,请稍后重试");
} else {
showToast("网络异常,请稍后重试");
}
reject(err);
}
});
});
};
exports.baseUrl = baseUrl;
exports.getToken = getToken;
exports.requestAPI = requestAPI;