吉安感知网项目-前端
罗广辉
2026-02-10 7ac6ea7d2e8c67420176554f8c7d0931d9011615
uniapps/work-app/src/App.vue
@@ -1,79 +1,109 @@
<script setup>
import { onHide, onLaunch, onShow } from "@dcloudio/uni-app";
import { useAppStore, useUserStore, useLocationStore } from "@/store";
import { useGlobalWS } from "@/hooks/useGlobalWS.js";
import { onHide, onLaunch, onShow } from '@dcloudio/uni-app'
import { useAppStore, useUserStore, useLocationStore } from '@/store'
import { useGlobalWS } from '@/hooks/useGlobalWS.js'
// #ifdef APP-PLUS
import { keepAliveStart, requestIgnoreBatteryOptimization } from '@/uni_modules/keep-app'
import { openDialog, allowFloat,getBatteryCapacity } from '@/uni_modules/lgh-dialog'
// #endif
const appStore = useAppStore();
const userStore = useUserStore();
const locationStore = useLocationStore();
const appStore = useAppStore()
const userStore = useUserStore()
const locationStore = useLocationStore()
useGlobalWS();
// #ifdef APP-PLUS
// const currentKey = ref(1)
// function testKeep() {
//    setInterval(() => {
//       currentKey.value = currentKey.value + 1
//       const val = '保活服务验证:' + currentKey.value
//       console.log(val)
//       uni.showToast({ title: val, icon: 'none' })
//    }, 1000)
// }
// testKeep()
// 开启悬浮窗
allowFloat()
// 假设五秒后来电
setTimeout(() => {
   openDialog()
}, 5000)
// #endif
useGlobalWS()
onShow(async () => {
  console.log("App Show");
  // 确保只有在用户已登录的情况下才初始化位置服务
  if (userStore.userInfo && userStore.userInfo.username && locationStore) {
    try {
      await locationStore.initLocationService();
    } catch (error) {
      console.error('重新初始化位置服务失败:', error);
    }
  }
});
   console.log('App Show')
   // 确保只有在用户已登录的情况下才初始化位置服务
   if (userStore.userInfo && userStore.userInfo.username && locationStore) {
      try {
         await locationStore.initLocationService()
      } catch (error) {
         console.error('重新初始化位置服务失败:', error)
      }
   }
})
onHide(() => {
  console.log("App Hide");
  // 应用进入后台时,停止位置监听以节省资源
  if (locationStore) {
    locationStore.stopLocationWatch();
  }
});
   console.log('App Hide')
   // 应用进入后台时,停止位置监听以节省资源
   if (locationStore) {
      locationStore.stopLocationWatch()
   }
})
onLaunch(() => {
  // 初始化系统信息
  appStore.initSystemInfo();
  if (!userStore.userInfo) {
    //不存在则跳转至登录页
    uni.reLaunch({
      url: "/pages/login/index",
    });
  }
});
   // 初始化系统信息
   appStore.initSystemInfo()
   // #ifdef APP-PLUS
   keepAliveStart()
   // 请求用户允许忽略电池优化(重要:用于保活)
   setTimeout(requestIgnoreBatteryOptimization, 2000)
   // #endif
   if (!userStore.userInfo) {
      //不存在则跳转至登录页
      uni.reLaunch({
         url: '/pages/login/index',
      })
   }
})
</script>
<style lang="scss">
/* 每个页面公共css */
@import "uview-plus/index.scss";
@import "@/static/styles/common.scss";
@import 'uview-plus/index.scss';
@import '@/static/styles/common.scss';
.TUICallKit-mobile {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
   position: fixed;
   left: 0;
   top: 0;
   z-index: 9999;
}
page {
  background-image: url("https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  // min-height: 10vh;
   background-image: url('https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/bg.png');
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
   // min-height: 10vh;
}
.uni-tabbar-border {
  background-color: #f6f6f6 !important;
   background-color: #f6f6f6 !important;
}
.uni-page-head__title {
  font-family: Source Han Sans CN, Source Han Sans CN !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  color: #222324 !important;
   font-family: Source Han Sans CN, Source Han Sans CN !important;
   font-weight: 400 !important;
   font-size: 17px !important;
   color: #222324 !important;
}
.uni-page-head {
  background: transparent !important;
   background: transparent !important;
}
</style>