- 集成 @react-native-voice/voice 实现中文语音识别,支持“一句话记录”餐食 - 新增语音录制页面,含波形动画、音量反馈与识别结果确认 - FloatingFoodOverlay 新增语音入口,打通拍照/库/语音三种记录方式 - 添加麦克风与语音识别权限描述(iOS Info.plist 与 Android manifest) - 实现开发者模式:连续三次点击用户名激活,含日志查看、导出与清除 - 新增 logger 工具类,统一日志存储(AsyncStorage)与按级别输出 - 重构 BackgroundTaskManager 为单例并支持 Promise 初始化,避免重复注册 - 移除 sleep-detail 多余渐变背景,改用 ThemedView 统一主题 - 新增通用 haptic 反馈函数,支持多种震动类型(iOS only) - 升级 expo-background-task、expo-notifications、expo-task-manager 至兼容版本
94 lines
3.0 KiB
JSON
94 lines
3.0 KiB
JSON
{
|
|
"expo": {
|
|
"name": "Out Live",
|
|
"slug": "digital-pilates",
|
|
"version": "1.0.5",
|
|
"orientation": "portrait",
|
|
"icon": "./assets/images/Sealife.jpeg",
|
|
"scheme": "digitalpilates",
|
|
"userInterfaceStyle": "light",
|
|
"newArchEnabled": true,
|
|
"jsEngine": "jsc",
|
|
"ios": {
|
|
"supportsTablet": false,
|
|
"bundleIdentifier": "com.anonymous.digitalpilates",
|
|
"infoPlist": {
|
|
"ITSAppUsesNonExemptEncryption": false,
|
|
"NSCameraUsageDescription": "应用需要使用相机以拍摄您的体态照片用于AI测评。",
|
|
"NSPhotoLibraryUsageDescription": "应用需要访问相册以选择您的体态照片用于AI测评。",
|
|
"NSPhotoLibraryAddUsageDescription": "应用需要写入相册以保存拍摄的体态照片(可选)。",
|
|
"NSMicrophoneUsageDescription": "应用需要使用麦克风进行语音识别,将您的语音转换为文字记录饮食信息。",
|
|
"NSSpeechRecognitionUsageDescription": "应用需要使用语音识别功能来转换您的语音为文字,帮助您快速记录饮食信息。",
|
|
"NSUserNotificationsUsageDescription": "应用需要发送通知以提醒您喝水和站立活动。",
|
|
"UIBackgroundModes": [
|
|
"processing",
|
|
"fetch",
|
|
"remote-notification"
|
|
]
|
|
}
|
|
},
|
|
"android": {
|
|
"adaptiveIcon": {
|
|
"foregroundImage": "./assets/images/Sealife.jpeg",
|
|
"backgroundColor": "#ffffff"
|
|
},
|
|
"edgeToEdgeEnabled": true,
|
|
"package": "com.anonymous.digitalpilates",
|
|
"permissions": [
|
|
"android.permission.RECEIVE_BOOT_COMPLETED",
|
|
"android.permission.VIBRATE",
|
|
"android.permission.WAKE_LOCK",
|
|
"android.permission.RECORD_AUDIO"
|
|
]
|
|
},
|
|
"web": {
|
|
"bundler": "metro",
|
|
"output": "static",
|
|
"favicon": "./assets/images/Sealife.jpeg"
|
|
},
|
|
"plugins": [
|
|
"expo-router",
|
|
[
|
|
"expo-splash-screen",
|
|
{
|
|
"image": "./assets/images/Sealife.jpeg",
|
|
"imageWidth": 40,
|
|
"resizeMode": "contain",
|
|
"backgroundColor": "#ffffff"
|
|
}
|
|
],
|
|
[
|
|
"react-native-health",
|
|
{
|
|
"enableHealthAPI": true,
|
|
"healthSharePermission": "应用需要访问您的健康数据(步数、能量消耗、心率变异性等)以展示运动统计和压力分析。",
|
|
"healthUpdatePermission": "应用需要更新您的健康数据(体重信息)以记录您的健身进度。"
|
|
}
|
|
],
|
|
[
|
|
"expo-notifications",
|
|
{
|
|
"icon": "./assets/images/Sealife.jpeg",
|
|
"color": "#ffffff"
|
|
}
|
|
],
|
|
[
|
|
"expo-quick-actions",
|
|
{
|
|
"androidIcons": {
|
|
"drink_water": "./assets/images/icons/IconGlass.png"
|
|
},
|
|
"iosIcons": {
|
|
"drink_water": "./assets/images/icons/IconGlass.png"
|
|
}
|
|
}
|
|
],
|
|
[
|
|
"expo-background-task"
|
|
]
|
|
],
|
|
"experiments": {
|
|
"typedRoutes": true
|
|
}
|
|
}
|
|
} |