From 7ac6ea7d2e8c67420176554f8c7d0931d9011615 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 10 Feb 2026 10:42:44 +0800
Subject: [PATCH] Merge branch '保活'

---
 uniapps/work-app/src/App.vue |  130 ++++++++++++++++++++++++++----------------
 1 files changed, 80 insertions(+), 50 deletions(-)

diff --git a/uniapps/work-app/src/App.vue b/uniapps/work-app/src/App.vue
index 94cb54c..cfaebb6 100644
--- a/uniapps/work-app/src/App.vue
+++ b/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>
+

--
Gitblit v1.9.3