zjk
2026-07-07 2d2bb71c706fa9f37f11807725df1a2da10518f1
src/App.vue
@@ -1,7 +1,35 @@
<script>
import { initDB } from './utils/db';
import { startSyncQueue, runDailyCleanup } from './utils/syncEngine';
export default {
  onLaunch() {
    console.log('App Launch')
    // 1. 初始化本地 SQLite 数据库
    initDB().then(() => {
      console.log('数据库初始化完毕');
      // 初始化完尝试跑一次同步
      startSyncQueue();
    }).catch(err => {
      console.error('数据库初始化失败:', err);
    });
    // 2. 全局监听网络状态变化
    uni.onNetworkStatusChange((res) => {
      if (res.isConnected && res.networkType !== 'none') {
        console.log('[App] 监听到网络恢复,触发同步队列');
        startSyncQueue();
      }
    });
    // 3. 执行日常清理机制 (删除48小时前的脏数据,防止4G存储满)
    runDailyCleanup();
    // 开启定时同步轮询 (作为网络监听的补充,每 5 分钟尝试一次)
    setInterval(() => {
      startSyncQueue();
    }, 5 * 60 * 1000);
  },
  onShow() {
    console.log('App Show')