feat: 去除"问诊"字眼 + "药管家"改名 + 删除AI对话欢迎卡片紫色框

- "AI问诊" -> "AI对话"(胶囊名、首页标签、页面标题、提示词)
- "药管家" -> "药提醒"(胶囊名、枚举注释、处理器注释)
- AI对话欢迎卡片删除紫色提示框(与底部提示重复)
- 底部提示文字去掉"观察或就医建议",改为"帮您记录和整理症状信息"
This commit is contained in:
MingNian
2026-07-22 17:08:16 +08:00
parent 5cd3584ae9
commit 39c32f842b
6 changed files with 12 additions and 34 deletions

View File

@@ -136,10 +136,10 @@ public enum FollowUpStatus
public enum AgentType public enum AgentType
{ {
Default, // 默认对话 Default, // 默认对话
Consultation, // AI 问诊 Consultation, // AI 对话
Health, // 记数据 Health, // 记数据
Diet, // 拍饮食 Diet, // 拍饮食
Medication, // 药管家 Medication, // 药提醒
Report, // 看报告 Report, // 看报告
Exercise, // 运动计划 Exercise, // 运动计划
Unified // 统一入口(自动路由) Unified // 统一入口(自动路由)

View File

@@ -3,7 +3,7 @@ using Health.Application.Medications;
namespace Health.Infrastructure.AI.AgentHandlers; namespace Health.Infrastructure.AI.AgentHandlers;
/// <summary> /// <summary>
/// 药管家 Agent 工具处理器。 /// 药提醒 Agent 工具处理器。
/// </summary> /// </summary>
public static class MedicationAgentHandler public static class MedicationAgentHandler
{ {

View File

@@ -92,7 +92,7 @@ public sealed class PromptManager
4. 4.
5. 5.
6. "您有心脏手术史+胸痛,可能是心脏问题" 6. "您有心脏手术史+胸痛,可能是心脏问题"
7. 7.
"""; """;
private const string HealthDataPrompt = """ private const string HealthDataPrompt = """

View File

@@ -71,7 +71,7 @@ class _DoctorChatPageState extends ConsumerState<DoctorChatPage> {
Text( Text(
state.doctorName.isNotEmpty state.doctorName.isNotEmpty
? '${state.doctorName} · ${state.doctorDepartment}' ? '${state.doctorName} · ${state.doctorDepartment}'
: '问诊对话', : 'AI对话',
style: const TextStyle( style: const TextStyle(
fontSize: 19, fontSize: 19,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,

View File

@@ -386,7 +386,7 @@ class _HomePageState extends ConsumerState<HomePage>
final module = switch (agent) { final module = switch (agent) {
ActiveAgent.health => fromModule('记数据', AppModuleVisuals.health), ActiveAgent.health => fromModule('记数据', AppModuleVisuals.health),
ActiveAgent.diet => fromModule('拍饮食', AppModuleVisuals.diet), ActiveAgent.diet => fromModule('拍饮食', AppModuleVisuals.diet),
ActiveAgent.medication => fromModule('管家', AppModuleVisuals.medication), ActiveAgent.medication => fromModule('提醒', AppModuleVisuals.medication),
ActiveAgent.report => fromModule('报告', AppModuleVisuals.report), ActiveAgent.report => fromModule('报告', AppModuleVisuals.report),
ActiveAgent.exercise => fromModule('运动', AppModuleVisuals.exercise), ActiveAgent.exercise => fromModule('运动', AppModuleVisuals.exercise),
_ => null, _ => null,
@@ -402,13 +402,13 @@ class _HomePageState extends ConsumerState<HomePage>
return switch (agent) { return switch (agent) {
ActiveAgent.consultation => ( ActiveAgent.consultation => (
label: 'AI问诊', label: 'AI对话',
icon: LucideIcons.messageCircle, icon: LucideIcons.messageCircle,
gradient: AppColors.doctorGradient, gradient: AppColors.doctorGradient,
iconColor: Colors.white, iconColor: Colors.white,
), ),
_ => ( _ => (
label: 'AI问诊', label: 'AI对话',
icon: LucideIcons.messageCircle, icon: LucideIcons.messageCircle,
gradient: AppColors.primaryGradient, gradient: AppColors.primaryGradient,
iconColor: Colors.white, iconColor: Colors.white,

View File

@@ -250,28 +250,6 @@ class ChatMessagesView extends ConsumerWidget {
height: 206, height: 206,
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
if (agent == ActiveAgent.consultation) ...[
const SizedBox(height: 14),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 20),
child: Container(
width: double.infinity,
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: const Color(0xFFF0F4FF),
borderRadius: BorderRadius.circular(14),
),
child: const Text(
'小脉会陪您一步步梳理症状。请先告诉我哪里不舒服,或说说您现在最担心的问题。',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 14,
color: AppColors.textSecondary,
),
),
),
),
],
if (actions.isNotEmpty) ...[ if (actions.isNotEmpty) ...[
const SizedBox(height: 14), const SizedBox(height: 14),
Padding( Padding(
@@ -1336,11 +1314,11 @@ class ChatMessagesView extends ConsumerWidget {
return switch (agent) { return switch (agent) {
ActiveAgent.health => (LucideIcons.heartPulse, '记数据', '录入血压、血糖、心率等日常指标'), ActiveAgent.health => (LucideIcons.heartPulse, '记数据', '录入血压、血糖、心率等日常指标'),
ActiveAgent.diet => (AppModuleVisuals.diet.icon, '拍饮食', '拍照识别食物热量和营养成分'), ActiveAgent.diet => (AppModuleVisuals.diet.icon, '拍饮食', '拍照识别食物热量和营养成分'),
ActiveAgent.medication => (LucideIcons.pill, '管家', '管理药品、提醒服药、追踪用量'), ActiveAgent.medication => (LucideIcons.pill, '提醒', '管理药品、提醒服药、追踪用量'),
ActiveAgent.consultation => ( ActiveAgent.consultation => (
LucideIcons.messageCircle, LucideIcons.messageCircle,
'AI问诊', 'AI对话',
'现在由小脉为您进行预问诊,您可以放心说出身体的不适和疑问', '现在由小脉陪您对话,您可以放心说出身体的不适和疑问',
), ),
ActiveAgent.report => (LucideIcons.fileText, '报告分析', '上传体检报告AI 辅助解读'), ActiveAgent.report => (LucideIcons.fileText, '报告分析', '上传体检报告AI 辅助解读'),
ActiveAgent.exercise => ( ActiveAgent.exercise => (
@@ -1356,7 +1334,7 @@ class ChatMessagesView extends ConsumerWidget {
ActiveAgent.health => '直接说出您的症状或数据,如"血压130/85心率72"', ActiveAgent.health => '直接说出您的症状或数据,如"血压130/85心率72"',
ActiveAgent.diet => '拍照或描述您吃了什么,如"早餐吃了两个鸡蛋一杯牛奶"', ActiveAgent.diet => '拍照或描述您吃了什么,如"早餐吃了两个鸡蛋一杯牛奶"',
ActiveAgent.medication => '说出药品名称和用法,如"每天早晚各一片阿司匹林"', ActiveAgent.medication => '说出药品名称和用法,如"每天早晚各一片阿司匹林"',
ActiveAgent.consultation => '小脉会根据您的回答逐步追问,并给出观察或就医建议', ActiveAgent.consultation => '小脉会根据您的回答逐步追问,帮您记录和整理症状信息',
ActiveAgent.report => '上传您的检查报告AI 将自动提取指标并解读', ActiveAgent.report => '上传您的检查报告AI 将自动提取指标并解读',
ActiveAgent.exercise => '说出运动计划,如"每天散步30分钟坚持一周"', ActiveAgent.exercise => '说出运动计划,如"每天散步30分钟坚持一周"',
_ => '直接描述您的需求AI 会自动为您记录和分析', _ => '直接描述您的需求AI 会自动为您记录和分析',