Page({ data: { // 初始倒计时字符串 countdown: '30分00秒' }, onLoad(options) { // 启动倒计时(总秒数 = 29*60 + 17) this.initCountdown(30 * 60 ); }, /** * 初始化倒计时 * @param {number} totalSeconds 初始总秒数 */ initCountdown(totalSeconds) { this.countdownTimer = setInterval(() => { if (totalSeconds <= 0) { clearInterval(this.countdownTimer); this.setData({ countdown: '00分00秒' }); return; } totalSeconds--; const m = Math.floor(totalSeconds / 60); const s = totalSeconds % 60; const mm = m < 10 ? '0' + m : '' + m; const ss = s < 10 ? '0' + s : '' + s; this.setData({ countdown: `${mm}分${ss}秒` }); }, 1000); }, onUnload() { // 页面卸载时清除定时器 clearInterval(this.countdownTimer); } });