"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./common/vendor.js"),t=require("./common/appInit.js");require("./common/openApp.js");const o=require("./common/uni-id-pages-init.js"),n=require("./common/store.js"),i=require("./lang/i18n.js");Math;const r={globalData:{searchText:"",appVersion:{},config:{},$i18n:{},$t:{}},data:()=>({showLoading:!0}),onLaunch:async function(){console.log("App Launch"),this.setGlobalRoleInfo(),this.updateCurrentPath();try{this.$i18n?this.globalData.$i18n=this.$i18n:setTimeout((()=>{try{this.$i18n&&(this.globalData.$i18n=this.$i18n)}catch(e){console.warn("[App] i18n 初始化延迟设置失败:",e)}}),100)}catch(e){console.warn("[App] i18n 初始化失败:",e)}this.globalData.$t=t=>{try{return this.$t?this.$t(t):t}catch(e){return t}},t.initApp(),await o.uniIdPageInit(),this.setupRouteInterceptor(),setTimeout((()=>{const e=()=>{const t=getCurrentPages();t.length>0&&t[t.length-1].route?this.isLoggedIn()?(this.checkCurrentPageLogin(),setTimeout((()=>{this.showLoading=!1}),200)):(this.showLoading=!1,this.redirectToLogin()):setTimeout(e,100)};e()}),500)},onShow:function(){console.log("App Show");try{n.mutations.syncUserInfoFromStorage()}catch(e){}this.checkCurrentPageLogin()},onHide:function(){console.log("App Hide"),this.stopTabBarMonitor(),this.urlProtectionInterval&&(clearInterval(this.urlProtectionInterval),this.urlProtectionInterval=null)},onError:function(e){console.error("[App Global Error]:",e)},methods:{setupPerfectUrlHiding(){},initializeUrlHiding(){},hideCurrentPageUrl(e=0){},setupPageChangeListener(){},handleUrlChange(){},setupBrowserNavigationListener(){},setupUrlProtection(){},setupRouteInterceptor(){const t=this;e.index.addInterceptor("navigateTo",{invoke:e=>{if(t.shouldRedirectToLogin(e.url))return t.redirectToLogin(),!1}}),e.index.addInterceptor("redirectTo",{invoke:e=>{if(t.shouldRedirectToLogin(e.url))return t.redirectToLogin(),!1}}),e.index.addInterceptor("switchTab",{invoke:e=>{if(t.shouldRedirectToLogin(e.url))return t.redirectToLogin(),!1}}),e.index.addInterceptor("reLaunch",{invoke:e=>{if(t.shouldRedirectToLogin(e.url))return t.redirectToLogin(),!1}})},shouldRedirectToLogin(e){if(!e)return!1;const t=["/uni_modules/uni-id-pages/pages/login","/uni_modules/uni-id-pages/pages/register","/uni_modules/uni-id-pages/pages/retrieve"];for(let o of t)if(e.includes(o))return!1;return!this.isLoggedIn()},isLoggedIn:()=>!!e.index.getStorageSync("backend-token")||n.store.hasLogin,redirectToLogin(){const t="/uni_modules/uni-id-pages/pages/login/login-withpwd",o=getCurrentPages();if(o.length>0){const e=o[o.length-1];if(e.route&&e.route.includes("login"))return}e.index.reLaunch({url:t,success:()=>{console.log("跳转登录页成功")},fail:o=>{console.error("跳转登录页失败:",o);const n=t.startsWith("/")?t.substring(1):t;e.index.reLaunch({url:n,fail:e=>{console.error("跳转登录页失败(重试):",e)}})}})},updateCurrentPath(){try{const t=getCurrentPages();if(t.length>0){const o=t[t.length-1];if(o&&o.route){const t=`/${o.route}`;try{const e=getApp({allowDefault:!0});if(e&&e.globalData){const o=e.globalData.tabBarInstance;o&&"function"==typeof o.updateCurrentPath&&o.updateCurrentPath(t)}}catch(e){}}}}catch(e){}},setGlobalRoleInfo(){try{const o=e.index.getStorageSync("uni_id_token");if(o&&o.roles){console.log("[App] Setting global role info:",o.roles),this.globalData.roles=o.roles,this.globalData.roleName=o.roleName||"";try{const e=getApp({allowDefault:!0});if(e&&e.globalData){const t=e.globalData.tabBarInstance;t&&t.refreshRole()}}catch(t){}}}catch(t){console.warn("[App] Failed to set global role info:",t)}},checkCurrentPageLogin(){const e=getCurrentPages();if(0===e.length)return void setTimeout((()=>{this.checkCurrentPageLogin()}),200);const t=e[e.length-1];if(!t||!t.route)return void setTimeout((()=>{this.checkCurrentPageLogin()}),200);const o="/"+t.route;o.includes("/uni_modules/uni-id-pages/pages/login")||o.includes("/uni_modules/uni-id-pages/pages/register")||o.includes("/uni_modules/uni-id-pages/pages/retrieve")||this.isLoggedIn()||setTimeout((()=>{this.redirectToLogin()}),100)}}};if(!Array){e.resolveComponent("router-view")()}const s=e._export_sfc(r,[["render",function(t,o,n,i,r,s){return e.e({a:r.showLoading},(r.showLoading,{}))}]]);function a(){const t=e.createSSRApp(s);return t.use(i.i18n),{app:t}}a().app.mount("#app"),exports.createApp=a;