feat: 长辈模式(大字大按钮 + 偏好按账号隔离)+ 语音输入(按住说话 + 实时转写 + 后端代理 DashScope ASR + 患者端专用)+ 健康仪表盘背景渐变

This commit is contained in:
MingNian
2026-07-21 10:53:16 +08:00
parent 0cb5b8e85a
commit 28f704c98e
25 changed files with 2214 additions and 131 deletions

View File

@@ -0,0 +1,39 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:health_app/providers/elder_mode_provider.dart';
import 'package:health_app/services/realtime_speech_service.dart';
void main() {
test('实时语音地址保留后端基础路径并切换为 WebSocket', () {
expect(
buildRealtimeSpeechEndpoint('http://192.168.1.34:5000').toString(),
'ws://192.168.1.34:5000/api/speech/realtime',
);
expect(
buildRealtimeSpeechEndpoint(
'https://erpapi.datalumina.cn/xiaomai/',
).toString(),
'wss://erpapi.datalumina.cn/xiaomai/api/speech/realtime',
);
});
test('旧版长辈设置升级后默认启用语音输入', () {
final preferences = ElderModePreferences.fromJson({
'schemaVersion': 1,
'enabled': true,
'largeTextEnabled': true,
});
expect(preferences.voiceInputEnabled, isTrue);
});
test('长辈模式语音输入开关可以持久化', () {
const preferences = ElderModePreferences(
enabled: true,
voiceInputEnabled: false,
);
final restored = ElderModePreferences.fromJson(preferences.toJson());
expect(restored.enabled, isTrue);
expect(restored.voiceInputEnabled, isFalse);
});
}