缺少代码差异信息,无法生成具体的commit message。请提供code differences内容以便分析并生成符合Angular规范的提交信息。
当您提供代码差异后,我将按照以下格式生成: ``` <type>(<scope>): <subject> <body> ``` 其中type会根据更改类型选择(feat、fix、docs、style、refactor等),scope表示影响范围,subject简要描述变更内容,body详细说明修改内容。
This commit is contained in:
@@ -62,12 +62,12 @@ struct DiaryQuickSheet: View {
|
||||
.font(.tjH2())
|
||||
.foregroundStyle(Tj.Palette.text)
|
||||
Text("记录身体状态 · 可让 AI 多轮辅助查漏补缺")
|
||||
.font(.system(size: 11))
|
||||
.font(.tjScaled( 11))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
Spacer()
|
||||
Text("本机保存")
|
||||
.font(.system(size: 12))
|
||||
.font(.tjScaled( 12))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
.padding(.horizontal, 20)
|
||||
@@ -154,18 +154,18 @@ struct DiaryQuickSheet: View {
|
||||
// section header
|
||||
HStack(spacing: 6) {
|
||||
Image(systemName: "sparkles")
|
||||
.font(.system(size: 11, weight: .semibold))
|
||||
.font(.tjScaled( 11, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.brick)
|
||||
sectionLabel(String(appLoc: "AI 辅助 · 医生角度查漏补缺"))
|
||||
Spacer()
|
||||
if hasQuestions {
|
||||
Text("\(questions.count) 个建议")
|
||||
.font(.system(size: 10, design: .monospaced))
|
||||
.font(.tjScaled( 10, design: .monospaced))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
if lastRate > 0 {
|
||||
Text(String(format: "%.1f tok/s", lastRate))
|
||||
.font(.system(size: 10, design: .monospaced))
|
||||
.font(.tjScaled( 10, design: .monospaced))
|
||||
.foregroundStyle(Tj.Palette.leaf)
|
||||
}
|
||||
}
|
||||
@@ -187,10 +187,10 @@ struct DiaryQuickSheet: View {
|
||||
if exhaustedNote {
|
||||
HStack(spacing: 6) {
|
||||
Image(systemName: "checkmark.seal.fill")
|
||||
.font(.system(size: 11))
|
||||
.font(.tjScaled( 11))
|
||||
.foregroundStyle(Tj.Palette.leaf)
|
||||
Text("已覆盖主要问诊维度;补充原文后可再追问")
|
||||
.font(.system(size: 11))
|
||||
.font(.tjScaled( 11))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
Spacer(minLength: 0)
|
||||
}
|
||||
@@ -219,11 +219,11 @@ struct DiaryQuickSheet: View {
|
||||
HStack(spacing: 10) {
|
||||
ProgressView().controlSize(.small)
|
||||
Text("AI 思考中… 本地推理,通常 5-10 秒")
|
||||
.font(.system(size: 13))
|
||||
.font(.tjScaled( 13))
|
||||
.foregroundStyle(Tj.Palette.text2)
|
||||
Spacer()
|
||||
Button("取消") { cancelSuggestions() }
|
||||
.font(.system(size: 12, weight: .semibold))
|
||||
.font(.tjScaled( 12, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
.padding(.vertical, 11)
|
||||
@@ -253,13 +253,13 @@ struct DiaryQuickSheet: View {
|
||||
Image(systemName: "exclamationmark.triangle.fill")
|
||||
.foregroundStyle(Tj.Palette.brick)
|
||||
Text(err.localizedDescription)
|
||||
.font(.system(size: 12))
|
||||
.font(.tjScaled( 12))
|
||||
.foregroundStyle(Tj.Palette.text)
|
||||
Spacer()
|
||||
}
|
||||
Button { requestSuggestions() } label: {
|
||||
Text("重试")
|
||||
.font(.system(size: 12, weight: .semibold))
|
||||
.font(.tjScaled( 12, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.ink)
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
@@ -282,7 +282,7 @@ struct DiaryQuickSheet: View {
|
||||
Image(systemName: icon)
|
||||
Text(label)
|
||||
}
|
||||
.font(.system(size: 13, weight: .semibold))
|
||||
.font(.tjScaled( 13, weight: .semibold))
|
||||
.foregroundStyle(enabled ? Tj.Palette.ink : Tj.Palette.text3)
|
||||
.frame(maxWidth: .infinity)
|
||||
.padding(.vertical, 11)
|
||||
@@ -315,12 +315,12 @@ struct DiaryQuickSheet: View {
|
||||
HStack(spacing: 8) {
|
||||
HStack(spacing: 6) {
|
||||
Image(systemName: round == 1 ? "1.circle.fill" : "arrow.triangle.2.circlepath")
|
||||
.font(.system(size: 11, weight: .semibold))
|
||||
.font(.tjScaled( 11, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.brick)
|
||||
Text(round == 1
|
||||
? String(appLoc: "第 1 轮 · \(count) 条")
|
||||
: String(appLoc: "第 \(round) 轮 · 基于你刚才更新的文本 · \(count) 条"))
|
||||
.font(.system(size: 11, weight: .semibold))
|
||||
.font(.tjScaled( 11, weight: .semibold))
|
||||
.tracking(0.3)
|
||||
.foregroundStyle(Tj.Palette.text2)
|
||||
}
|
||||
@@ -344,10 +344,10 @@ struct DiaryQuickSheet: View {
|
||||
return VStack(alignment: .leading, spacing: 6) {
|
||||
HStack(alignment: .top, spacing: 8) {
|
||||
Text("\(index).")
|
||||
.font(.system(size: 13, weight: .semibold, design: .monospaced))
|
||||
.font(.tjScaled( 13, weight: .semibold, design: .monospaced))
|
||||
.foregroundStyle(adopted ? Tj.Palette.text3 : Tj.Palette.brick)
|
||||
Text(question.q)
|
||||
.font(.system(size: 13, weight: .medium))
|
||||
.font(.tjScaled( 13, weight: .medium))
|
||||
.foregroundStyle(adopted ? Tj.Palette.text3 : Tj.Palette.text)
|
||||
.strikethrough(adopted, color: Tj.Palette.text3)
|
||||
.fixedSize(horizontal: false, vertical: true)
|
||||
@@ -356,9 +356,9 @@ struct DiaryQuickSheet: View {
|
||||
if adopted {
|
||||
HStack(spacing: 4) {
|
||||
Image(systemName: "checkmark")
|
||||
.font(.system(size: 10, weight: .bold))
|
||||
.font(.tjScaled( 10, weight: .bold))
|
||||
Text("已采纳")
|
||||
.font(.system(size: 11, weight: .semibold))
|
||||
.font(.tjScaled( 11, weight: .semibold))
|
||||
}
|
||||
.foregroundStyle(Tj.Palette.leaf)
|
||||
.padding(.horizontal, 8)
|
||||
@@ -368,9 +368,9 @@ struct DiaryQuickSheet: View {
|
||||
Button { adopt(question) } label: {
|
||||
HStack(spacing: 4) {
|
||||
Image(systemName: "plus.circle.fill")
|
||||
.font(.system(size: 12))
|
||||
.font(.tjScaled( 12))
|
||||
Text("采纳")
|
||||
.font(.system(size: 12, weight: .semibold))
|
||||
.font(.tjScaled( 12, weight: .semibold))
|
||||
}
|
||||
.foregroundStyle(Tj.Palette.paper)
|
||||
.padding(.horizontal, 10)
|
||||
@@ -390,10 +390,10 @@ struct DiaryQuickSheet: View {
|
||||
} else if !question.fill.isEmpty && !adopted {
|
||||
HStack(alignment: .top, spacing: 4) {
|
||||
Text("将追加:")
|
||||
.font(.system(size: 11))
|
||||
.font(.tjScaled( 11))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
Text(question.fill)
|
||||
.font(.system(size: 11))
|
||||
.font(.tjScaled( 11))
|
||||
.foregroundStyle(Tj.Palette.text2)
|
||||
.fixedSize(horizontal: false, vertical: true)
|
||||
}
|
||||
@@ -416,7 +416,7 @@ struct DiaryQuickSheet: View {
|
||||
|
||||
private func sectionLabel(_ text: String) -> some View {
|
||||
Text(text)
|
||||
.font(.system(size: 12, weight: .semibold))
|
||||
.font(.tjScaled( 12, weight: .semibold))
|
||||
.tracking(0.3)
|
||||
.foregroundStyle(Tj.Palette.text2)
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ struct QuestionFillPanel: View {
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
// 实时预览:已填值高亮,未填槽浅色下划线提示。
|
||||
previewText
|
||||
.font(.system(size: 13))
|
||||
.font(.tjScaled( 13))
|
||||
.fixedSize(horizontal: false, vertical: true)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(10)
|
||||
@@ -115,7 +115,7 @@ struct QuestionFillPanel: View {
|
||||
HStack(spacing: 8) {
|
||||
Button(action: onCancel) {
|
||||
Text("取消")
|
||||
.font(.system(size: 13, weight: .semibold))
|
||||
.font(.tjScaled( 13, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.text2)
|
||||
.frame(maxWidth: .infinity)
|
||||
.padding(.vertical, 9)
|
||||
@@ -134,9 +134,9 @@ struct QuestionFillPanel: View {
|
||||
} label: {
|
||||
HStack(spacing: 5) {
|
||||
Image(systemName: "text.append")
|
||||
.font(.system(size: 12, weight: .semibold))
|
||||
.font(.tjScaled( 12, weight: .semibold))
|
||||
Text("加入记录")
|
||||
.font(.system(size: 13, weight: .semibold))
|
||||
.font(.tjScaled( 13, weight: .semibold))
|
||||
}
|
||||
.foregroundStyle(Tj.Palette.paper)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -180,7 +180,7 @@ struct QuestionFillPanel: View {
|
||||
private func slotEditor(index: Int, label: String, options: [String]) -> some View {
|
||||
VStack(alignment: .leading, spacing: 6) {
|
||||
Text(label)
|
||||
.font(.system(size: 11, weight: .semibold))
|
||||
.font(.tjScaled( 11, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
|
||||
if !options.isEmpty {
|
||||
@@ -189,7 +189,7 @@ struct QuestionFillPanel: View {
|
||||
let picked = bindingValue(index) == opt
|
||||
Button { values[index] = opt } label: {
|
||||
Text(opt)
|
||||
.font(.system(size: 12, weight: picked ? .semibold : .regular))
|
||||
.font(.tjScaled( 12, weight: picked ? .semibold : .regular))
|
||||
.foregroundStyle(picked ? Tj.Palette.paper : Tj.Palette.text)
|
||||
.padding(.horizontal, 10)
|
||||
.padding(.vertical, 5)
|
||||
@@ -208,7 +208,7 @@ struct QuestionFillPanel: View {
|
||||
}
|
||||
|
||||
TextField(String(appLoc: "填写\(label)"), text: binding(index))
|
||||
.font(.system(size: 13))
|
||||
.font(.tjScaled( 13))
|
||||
.padding(.horizontal, 12)
|
||||
.padding(.vertical, 9)
|
||||
.background(
|
||||
|
||||
Reference in New Issue
Block a user