perf(voice): app onLaunch 预载语音,进一步消除首段延迟

- app.js onLaunch 调 voice.preload(),app 启动即后台下载全部语音
- 与 timer 页 onLoad 预载形成双保险(已缓存条目 no-op)
- 仅语音引导开启时预载,在 cloud.init 之后调用

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liucheng
2026-07-25 14:22:29 +08:00
parent 16924d31db
commit 83077648fe
+5
View File
@@ -2,6 +2,7 @@ const themeMod = require('./utils/theme')
const cloud = require('./utils/cloud') const cloud = require('./utils/cloud')
const storage = require('./utils/storage') const storage = require('./utils/storage')
const darkMod = require('./utils/darkMode') const darkMod = require('./utils/darkMode')
const voice = require('./utils/voice')
App({ App({
async onLaunch() { async onLaunch() {
@@ -46,6 +47,10 @@ App({
wx.setStorageSync('user_settings', settings) wx.setStorageSync('user_settings', settings)
} }
// 预载语音到本地缓存:app 启动即后台下载,训练时即时播放(语音引导开启时)
const _vs = wx.getStorageSync('user_settings') || {}
if (_vs.voiceGuide !== false) voice.preload()
const streak = wx.getStorageSync('current_streak') const streak = wx.getStorageSync('current_streak')
if (!streak) { if (!streak) {
wx.setStorageSync('current_streak', { count: 0, lastDate: '' }) wx.setStorageSync('current_streak', { count: 0, lastDate: '' })