调整微信小程序的报错。
This commit is contained in:
152
unpackage/dist/dev/mp-weixin/common/request.js
vendored
Normal file
152
unpackage/dist/dev/mp-weixin/common/request.js
vendored
Normal file
@@ -0,0 +1,152 @@
|
||||
"use strict";
|
||||
const common_vendor = require("./vendor.js");
|
||||
const common_config = require("./config.js");
|
||||
function getTenantId() {
|
||||
try {
|
||||
return common_vendor.index.getStorageSync("backend-tenant-id") || "";
|
||||
} catch (e) {
|
||||
common_vendor.index.__f__("error", "at common/request.js:15", "获取 tenantId 失败:", e);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
function redirectToLogin() {
|
||||
const loginPage = "/uni_modules/uni-id-pages/pages/login/login-withpwd";
|
||||
const pages = getCurrentPages();
|
||||
if (pages.length > 0) {
|
||||
const currentPage = pages[pages.length - 1];
|
||||
if (currentPage.route && currentPage.route.includes("login")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
common_vendor.index.reLaunch({
|
||||
url: loginPage,
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("error", "at common/request.js:38", "跳转登录页失败:", err);
|
||||
}
|
||||
});
|
||||
}
|
||||
function isLoginApi(url) {
|
||||
if (!url)
|
||||
return false;
|
||||
return url.includes("/api/sys/auth/login");
|
||||
}
|
||||
function getToken() {
|
||||
try {
|
||||
return common_vendor.index.getStorageSync("backend-token") || "";
|
||||
} catch (e) {
|
||||
common_vendor.index.__f__("error", "at common/request.js:59", "获取 token 失败:", e);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
function getRoleName() {
|
||||
try {
|
||||
return common_vendor.index.getStorageSync("backend-role-name") || "";
|
||||
} catch (e) {
|
||||
common_vendor.index.__f__("error", "at common/request.js:71", "获取 roleName 失败:", e);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
function getScenario() {
|
||||
try {
|
||||
return common_vendor.index.getStorageSync("backend-scenario") || "";
|
||||
} catch (e) {
|
||||
common_vendor.index.__f__("error", "at common/request.js:83", "获取 scenario 失败:", e);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
function request(options = {}) {
|
||||
const {
|
||||
url,
|
||||
method = "GET",
|
||||
data = {},
|
||||
header = {},
|
||||
timeout = 1e4,
|
||||
needTenantId = true,
|
||||
needToken = true,
|
||||
...restOptions
|
||||
} = options;
|
||||
const fullUrl = url.startsWith("http") ? url : common_config.getApiUrl(url);
|
||||
const apiEnv = typeof common_config.getApiEnv === "function" ? common_config.getApiEnv() : "";
|
||||
common_vendor.index.__f__("log", "at common/request.js:118", `H5环境(${apiEnv})直接使用完整URL: ${fullUrl}`);
|
||||
const requestHeader = {
|
||||
"Content-Type": "application/json",
|
||||
...header
|
||||
};
|
||||
if (needToken && !isLoginApi(fullUrl)) {
|
||||
const token = getToken();
|
||||
if (token) {
|
||||
requestHeader["Authorization"] = `Bearer ${token}`;
|
||||
} else {
|
||||
delete requestHeader["Authorization"];
|
||||
}
|
||||
}
|
||||
const roleName = getRoleName();
|
||||
if (roleName) {
|
||||
requestHeader["X-Role-Name"] = roleName;
|
||||
}
|
||||
const scenario = getScenario();
|
||||
if (scenario) {
|
||||
requestHeader["X-Scenario"] = scenario;
|
||||
}
|
||||
let requestData = { ...data };
|
||||
if (needTenantId) {
|
||||
const tenantId = getTenantId();
|
||||
if (!isLoginApi(fullUrl) && !tenantId) {
|
||||
common_vendor.index.__f__("warn", "at common/request.js:159", "[Request] 租户ID为空,跳转到登录页面");
|
||||
redirectToLogin();
|
||||
return Promise.reject(new Error("未登录,请先登录"));
|
||||
}
|
||||
if (tenantId) {
|
||||
requestHeader["X-Tenant-Id"] = tenantId;
|
||||
}
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
common_vendor.index.request({
|
||||
url: fullUrl,
|
||||
method: method.toUpperCase(),
|
||||
data: requestData,
|
||||
header: requestHeader,
|
||||
timeout,
|
||||
...restOptions,
|
||||
success: (res) => {
|
||||
resolve(res);
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("error", "at common/request.js:184", "[Request] 请求失败:", {
|
||||
url: fullUrl,
|
||||
method: method.toUpperCase(),
|
||||
error: err
|
||||
});
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
function get(url, data = {}, options = {}) {
|
||||
return request({
|
||||
url,
|
||||
method: "GET",
|
||||
data,
|
||||
...options
|
||||
});
|
||||
}
|
||||
function post(url, data = {}, options = {}) {
|
||||
return request({
|
||||
url,
|
||||
method: "POST",
|
||||
data,
|
||||
...options
|
||||
});
|
||||
}
|
||||
function put(url, data = {}, options = {}) {
|
||||
return request({
|
||||
url,
|
||||
method: "PUT",
|
||||
data,
|
||||
...options
|
||||
});
|
||||
}
|
||||
exports.get = get;
|
||||
exports.post = post;
|
||||
exports.put = put;
|
||||
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/request.js.map
|
||||
Reference in New Issue
Block a user