first commit
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
<script setup lang="ts">
|
||||
import { onLaunch, onShow, onHide, onError } from '@dcloudio/uni-app'
|
||||
import { ref, onUnmounted } from 'vue'
|
||||
|
||||
// 全局定时器引用
|
||||
let globalTimer = null
|
||||
|
||||
// 每分钟要执行的方法
|
||||
const minuteTask = () => {
|
||||
console.log('每分钟执行一次的任务', new Date().toLocaleTimeString())
|
||||
}
|
||||
|
||||
// 启动全局定时器
|
||||
const startGlobalTimer = () => {
|
||||
if (globalTimer) {
|
||||
clearInterval(globalTimer)
|
||||
}
|
||||
|
||||
// 立即执行一次
|
||||
minuteTask()
|
||||
|
||||
// 设置每分钟执行一次(60000毫秒 = 1分钟)
|
||||
globalTimer = setInterval(() => {
|
||||
minuteTask()
|
||||
}, 60000)
|
||||
}
|
||||
|
||||
// 停止全局定时器
|
||||
const stopGlobalTimer = () => {
|
||||
if (globalTimer) {
|
||||
clearInterval(globalTimer)
|
||||
globalTimer = null
|
||||
}
|
||||
}
|
||||
|
||||
onLaunch(() => {
|
||||
console.log('App Launch')
|
||||
// 应用启动时开始定时器
|
||||
startGlobalTimer()
|
||||
})
|
||||
|
||||
onShow(() => {
|
||||
console.log('App Show')
|
||||
// 应用回到前台时重新开始定时器
|
||||
startGlobalTimer()
|
||||
})
|
||||
|
||||
onHide(() => {
|
||||
console.log('App Hide')
|
||||
// 应用进入后台时停止定时器,节省资源
|
||||
stopGlobalTimer()
|
||||
})
|
||||
|
||||
// Vue组件卸载时清理定时器
|
||||
onUnmounted(() => {
|
||||
stopGlobalTimer()
|
||||
})
|
||||
|
||||
// 全局错误处理
|
||||
onError((err) => {
|
||||
console.error('App Error:', err)
|
||||
})
|
||||
</script>
|
||||
<style lang="scss">
|
||||
@import "uview-plus/index.scss";
|
||||
@import "colorui/main.css";
|
||||
@import "colorui/icon.css";
|
||||
|
||||
page {
|
||||
--nav-mian: #1890FF; //全局颜色
|
||||
--nav-vice: #52C41A; //副颜色
|
||||
--nav-diluted: #FF4D4F; //次颜色
|
||||
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user