| | |
| | | <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') |