Files
smartDriveEEUniApp/unpackage/dist/build/mp-weixin/common/request.js
2026-04-17 07:35:37 +08:00

2 lines
2.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";const e=require("./vendor.js"),t=require("./config.js");function r(){const t=getCurrentPages();if(t.length>0){const e=t[t.length-1];if(e.route&&e.route.includes("login"))return}e.index.reLaunch({url:"/uni_modules/uni-id-pages/pages/login/login-withpwd",fail:e=>{console.error("跳转登录页失败:",e)}})}function n(e){return!!e&&e.includes("/api/sys/auth/login")}function o(o={}){const{url:s,method:a="GET",data:u={},header:i={},timeout:c=1e4,needTenantId:d=!0,needToken:l=!0,...g}=o,p=s.startsWith("http")?s:t.getApiUrl(s),h="function"==typeof t.getApiEnv?t.getApiEnv():"";console.log("[Request] 开始处理请求:",{originalUrl:s,fullUrl:p,method:a.toUpperCase(),isLoginApi:n(p),apiEnv:h,needTenantId:d,needToken:l}),console.log(`[Request] 完整请求URL: ${p}`);const f={"Content-Type":"application/json",...i};if(l&&!n(p)){const t=function(){try{return e.index.getStorageSync("backend-token")||""}catch(t){return console.error("获取 token 失败:",t),""}}();if(!t)return console.warn("[Request] token 为空,拦截请求并跳转到登录页面"),r(),Promise.reject(new Error("未登录或登录已失效,请先登录"));f.Authorization=`Bearer ${t}`}const m=function(){try{return e.index.getStorageSync("backend-role-name")||""}catch(t){return console.error("获取 roleName 失败:",t),""}}();m&&(f["X-Role-Name"]=m);const q=function(){try{return e.index.getStorageSync("backend-scenario")||""}catch(t){return console.error("获取 scenario 失败:",t),""}}();q&&(f["X-Scenario"]=q);let y={...u};if(d){const t=function(){try{return e.index.getStorageSync("backend-tenant-id")||""}catch(t){return console.error("获取 tenantId 失败:",t),""}}();if(!n(p)&&!t)return console.warn("[Request] 租户ID为空跳转到登录页面"),r(),Promise.reject(new Error("未登录,请先登录"));t&&(f["X-Tenant-Id"]=t)}return console.log("[Request] 准备发起 uni.request:",{url:p,method:a.toUpperCase(),hasData:!!y,hasHeaders:!!f,timeout:c}),new Promise(((t,n)=>{console.log("[Request] 调用 uni.request 开始执行"),e.index.request({url:p,method:a.toUpperCase(),data:y,header:f,timeout:c,...g,success:e=>{if(console.log("[Request] 收到响应:",{url:p,method:a.toUpperCase(),statusCode:e.statusCode,hasData:!!e.data,dataType:typeof e.data}),401===e.statusCode)return console.warn("[Request] 收到401状态码跳转到登录页面"),r(),void n(new Error("登录已过期,请重新登录"));t(e)},fail:e=>{console.error("[Request] 请求失败:",{url:p,method:a.toUpperCase(),error:e,errorMessage:e.errMsg||"未知错误",errorCode:e.code||"无错误码"}),n(e)}})}))}exports.get=function(e,t={},r={}){return o({url:e,method:"GET",data:t,...r})},exports.post=function(e,t={},r={}){return o({url:e,method:"POST",data:t,...r})},exports.put=function(e,t={},r={}){return o({url:e,method:"PUT",data:t,...r})};