import 'amfe-flexible';
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
import '@vant/touch-emulator';
import '../public/uni.webview.1.5.6.js';
// import '../../set-vue/src/assets/icon/iconfont.js';
import '../src/assets/icon/iconfont'
// const VConsole = require('vconsole');
// new VConsole();  // 初始化vConsole
if (/xazn/.test(navigator.userAgent) || /uni-app/.test(navigator.userAgent)) {
  // 在App中
  console.log("UniAppJSBridgeReady 事件已触发");
  document.addEventListener("UniAppJSBridgeReady", function () {
    console.log("ok");

  });
}
window.MQTT_recv = MQTT_recv;

//在收到数据后需要调用这个函数
function MQTT_recv(string) {
  console.log("MQTT 接收:" + string);
}

function checkEnvironment() {
  if (window.location.hostname === '192.168.4.1') {
    console.log('in local');
    // 本地开发环境，需要登录
    requireLogin();
  } else {
    // 生产环境，不需要登录
    bypassLogin();
  }
}

function requireLogin() {
  if (!store.state.isAuthenticated) {
    router.push('/login');
  }
}
// 获取 URL 中的 token 参数
function getQueryString(name) {
  const urlParams = new URLSearchParams(window.location.search);
  return urlParams.get(name);
}

// 在页面加载时，获取 token 并存储到 localStorage
const token = getQueryString('token');
if (token) {
  localStorage.setItem('token', token);
  console.log('Token stored:', token);
} else {
  console.log('No token found in URL');
}



function bypassLogin() {
  // 假设在服务器环境中已经有登录信息，可以直接跳过登录逻辑
  store.commit('setAuthenticated', true);
}

const app = createApp(App);

checkEnvironment(); // 检查环境并执行相应的逻辑
const isAuthenticated = JSON.parse(localStorage.getItem('isAuthenticated'));
if (isAuthenticated) {
  store.commit('setAuthenticated', true);
}
app.use(store).use(router).mount('#app');


window.VueRouter = router; // 这里立即暴露 router
console.log("VueRouter 已暴露到全局");

// main.js
if (window.uni && uni.postMessage) {
  console.log('WebView SDK 已加载');
}

// 示例：监听 UniApp 原生事件
document.addEventListener('UniAppJSBridgeReady', () => {
  uni.postMessage({
    data: '子页面已准备好'
  });
});

if (uni.getEnv().plus) {
  console.log('运行在 UniApp WebView 中');
}



// qiankun
 
// let instance = null;
 
// function render(props = {}) {
//   const { container } = props;
//   instance = new Vue({
//     render: (h) => h(App),
//   }).$mount(container ? container.querySelector('#app')  : '#app');
// }
 
// // 独立运行（非 Qiankun 环境）
// if (!window.__POWERED_BY_QIANKUN__) {
//   render();
// }
 
// // Qiankun 生命周期
// export async function bootstrap() {
//   console.log('[subapp]  bootstrap');
// }
 
// export async function mount(props) {
//   console.log('[subapp]  mount', props);
//   render(props);
// }
 
// export async function unmount() {
//   console.log('[subapp]  unmount');
//   instance.$destroy();
//   instance = null;
// }