fix: 振动定时器清理、完成保存守卫、暗黑冷启动、头像云存储
- timer: 振动 setTimeout 入栈追踪,暂停/停止/卸载/重练统一清理, 避免页面销毁后残留震动(_clearVibrateTimers) - timer: _saving 守卫统一到 _saveAndShowCompletion,自然完成与手动 结束两路径都防重复保存;修复 onTrainAgain 不重置会话状态导致 再练一次后第二次无语音/振动且保存被挡 - app.wxss: @media dark 补全 --text/--card-bg/--bg-soft/--border/ --success/--danger,冷启动即为完整深色,不再背景深卡片白的割裂闪烁 - settings: 头像优先上传云存储存 fileID,三级回退(fileID->base64-> 临时URL),pushAll 不再每次传输图片字节 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,12 +16,24 @@ page {
|
||||
transition: background-color 0.3s ease, color 0.3s ease;
|
||||
}
|
||||
|
||||
/* dark mode overrides (only for system dark mode; user choice goes through themeStyle) */
|
||||
/* dark mode overrides (only for system dark mode; user choice goes through
|
||||
themeStyle at runtime). Kept in sync with the dark palette in
|
||||
utils/theme.js getThemeStyle(isDark=true) so cold-start (before JS runs)
|
||||
already shows a complete dark palette, not just the background. */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
page {
|
||||
--text: #E5E5E7;
|
||||
--text-secondary: #98989F;
|
||||
--bg: #0F0F12;
|
||||
--bg-gradient-start: #0F0F12;
|
||||
--bg-gradient-end: #14141A;
|
||||
--card-bg: #1C1C1E;
|
||||
--bg-soft: #2C2C2E;
|
||||
--border: #2C2C2E;
|
||||
--success: #30D158;
|
||||
--success-rgb: 48,209,88;
|
||||
--danger: #FF6B6B;
|
||||
--danger-rgb: 255,107,107;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user