"use strict";const e=require("../common/vendor.js"),t=require("./luch-request/core/Request.js"),o="https://yingji.hexieapi.com/prod-api",r=o.replace(/\/prod-api\/?$/,"");new t.Request({baseURL:o,timeout:1e4});function n(t){setTimeout((()=>{e.index.showToast({title:t,icon:"none",duration:2e3})}),100)}exports.requestAPI=t=>{let{url:r,method:a="GET",data:s={},noAuth:i=!1,loadingText:d}="object"==typeof t&&t.url?t:{url:t,method:arguments[1]||"GET",data:arguments[2]||{}};var c;"GET"==a&&(c=s,0!==Object.keys(c).length)&&(r+="?"+(e=>{const t=[];for(let o in e)e.hasOwnProperty(o)&&t.push(encodeURIComponent(o)+"="+encodeURIComponent(e[o]));return t.join("&")})(s)),!1!==d&&e.index.showLoading({title:d||"加载中..."});const u={"Content-Type":"application/json"};if(!i){const t=(()=>{const t=e.index.getStorageSync("token");return t?`Bearer ${t}`:""})();t&&(u.Authorization=t)}return new Promise(((t,i)=>{e.index.request({url:o+r,method:a,data:s,header:u,success:o=>{if(e.index.hideLoading(),200!==o.statusCode)return console.error("HTTP错误:",o.statusCode),void i(`HTTP_${o.statusCode}`);if(o.data&&void 0!==o.data.code)if(200===o.data.code||0===o.data.code||0===o.code)t(o.data);else if(401===o.data.code)e.index.removeStorageSync("token"),e.index.removeStorageSync("userInfo"),n("登录已过期,请重新登录"),setTimeout((()=>{e.index.reLaunch({url:"/pages/login/login"})}),1500),i({code:401,msg:"登录已过期"});else{const e=o.data.msg||o.data.message||o.data.error||o.msg||"请求失败";console.error("接口错误:",o.data),n(e),i({code:o.data.code,msg:e,data:o.data})}else t(o.data)},fail:t=>{console.error("网络请求失败:",t),e.index.hideLoading(),t.errMsg&&t.errMsg.includes("request:fail")?n("网络连接失败,请检查网络设置"):t.errMsg&&t.errMsg.includes("timeout")?n("请求超时,请稍后重试"):n("网络异常,请稍后重试"),i(t)}})}))},exports.toImageUrl=e=>{if(!e)return"";const t=String(e);if(t.startsWith("http://")||t.startsWith("https://"))return t.replace(/\/prod-api(?=\/|$)/,"");const o=t.startsWith("/")?t:`/${t}`;return r+o};