feat: 添加拍药盒功能和语音直达入口

- 实现拍药盒扫描流程,支持本地OCR识别药品信息
- 在日记页面添加拍药盒和记症状的三选一入口
- 优化按钮点击区域,确保符合苹果HIG最小命中区标准
- 添加用药记录到时间线的独立分类显示
- 实现长按+号语音直达功能,支持语音意图分类跳转
- 更新项目配置文件,启用代码分析和死代码剥离选项
- 增加多项本地化字符串支持新功能
```
This commit is contained in:
link2026
2026-06-13 09:16:25 +08:00
parent f58d6064ba
commit 6c6a950140
30 changed files with 1856 additions and 64 deletions

View File

@@ -32,8 +32,9 @@ struct QuickRegionCaptureFlow: View {
private var content: some View {
switch phase {
case .idle:
// ignoresSafeArea:/,
// ,
captureEntry
.ignoresSafeArea()
case .adjust(let image):
RegionAdjustView(
@@ -45,7 +46,6 @@ struct QuickRegionCaptureFlow: View {
onRetake: { phase = .idle },
onCancel: { onClose() }
)
.ignoresSafeArea()
case .confirm(let image, let items, let warning):
NavigationStack {

View File

@@ -50,7 +50,11 @@ struct RegionAdjustView: View {
Text("取消")
.font(.tjScaled( 16, weight: .medium))
.foregroundStyle(.white)
.padding(.horizontal, 12)
.frame(minWidth: 60, minHeight: 44) // HIG ,
.contentShape(Rectangle())
}
.buttonStyle(.plain)
Spacer()
Text("框住异常指标")
.font(.tjScaled( 16, weight: .semibold))
@@ -63,10 +67,14 @@ struct RegionAdjustView: View {
Text("重拍")
.font(.tjScaled( 16, weight: .medium))
.foregroundStyle(.white)
.padding(.horizontal, 12)
.frame(minWidth: 60, minHeight: 44)
.contentShape(Rectangle())
}
.buttonStyle(.plain)
}
.padding(.horizontal, 18)
.padding(.vertical, 12)
.padding(.horizontal, 8)
.padding(.vertical, 4)
.background(Color.black)
}

View File

@@ -49,13 +49,15 @@ struct SingleShotCameraView: View {
Text("取消")
.font(.tjScaled( 16, weight: .medium))
.foregroundStyle(.white)
.padding(.horizontal, 14)
.padding(.vertical, 8)
.padding(.horizontal, 18)
.frame(minHeight: 44) // HIG
.background(Capsule().fill(.black.opacity(0.35)))
.contentShape(Capsule())
}
.buttonStyle(.plain)
Spacer()
}
.padding(.horizontal, 18)
.padding(.horizontal, 16)
.padding(.top, 8)
Spacer()