From 900c9babc3bd749f4b760e3beeb9b36d8fa2558e Mon Sep 17 00:00:00 2001 From: iven Date: Sat, 16 May 2026 01:17:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor(mp):=20=E8=BF=81=E7=A7=BB=E9=A2=84?= =?UTF-8?q?=E7=BA=A6+AI=E6=8A=A5=E5=91=8A=E8=AF=A6=E6=83=85=E9=A1=B5=20?= =?UTF-8?q?=E2=80=94=20=E4=BD=BF=E7=94=A8=E7=BB=9F=E4=B8=80=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=BA=93=20(12/12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 预约详情页: - View.detail-page → PageShell 替代手写 page 容器 - 手写 detail-header → PageHeader 组件 - .status-card / .info-section / .tips-card → ContentCard - 删除通用 page 容器、header 和 card 样式 AI 报告详情页: - View.detail-page → PageShell 替代手写 page 容器 - .detail-card / .content-card → ContentCard - 删除通用 page 容器和 card 样式,保留 RichText 内部样式 --- .../src/pages/ai-report/detail/index.scss | 22 +------- .../src/pages/ai-report/detail/index.tsx | 18 +++--- .../src/pages/appointment/detail/index.scss | 56 ++----------------- .../src/pages/appointment/detail/index.tsx | 47 ++++++---------- 4 files changed, 33 insertions(+), 110 deletions(-) diff --git a/apps/miniprogram/src/pages/ai-report/detail/index.scss b/apps/miniprogram/src/pages/ai-report/detail/index.scss index 31d812b..52cfd91 100644 --- a/apps/miniprogram/src/pages/ai-report/detail/index.scss +++ b/apps/miniprogram/src/pages/ai-report/detail/index.scss @@ -1,21 +1,6 @@ @import '../../../styles/variables.scss'; @import '../../../styles/mixins.scss'; -.detail-page { - min-height: 100vh; - background: $bg; - padding: 24px; - padding-bottom: 40px; -} - -.detail-card { - background: $card; - border-radius: $r; - padding: 28px; - margin-bottom: 20px; - box-shadow: $shadow-sm; -} - .detail-type { @include section-title; margin-bottom: 12px; @@ -31,12 +16,7 @@ color: $tx3; } -.content-card { - background: $card; - border-radius: $r; - padding: 28px; - box-shadow: $shadow-sm; - +.content-card-wrap { // RichText 内部样式 h1, h2, h3 { font-weight: bold; diff --git a/apps/miniprogram/src/pages/ai-report/detail/index.tsx b/apps/miniprogram/src/pages/ai-report/detail/index.tsx index 3feb5b8..19c2a26 100644 --- a/apps/miniprogram/src/pages/ai-report/detail/index.tsx +++ b/apps/miniprogram/src/pages/ai-report/detail/index.tsx @@ -4,6 +4,8 @@ import Taro, { useRouter } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; import { getAiAnalysisDetail, type AiAnalysisItem } from '@/services/ai-analysis'; import Loading from '@/components/Loading'; +import PageShell from '@/components/ui/PageShell'; +import ContentCard from '@/components/ui/ContentCard'; import { sanitizeHtml } from '@/utils/sanitize-html'; import { useElderClass } from '../../../hooks/useElderClass'; import './index.scss'; @@ -54,9 +56,9 @@ export default function AiReportDetail() { if (!analysis) { return ( - + 报告不存在 - + ); } @@ -68,8 +70,8 @@ export default function AiReportDetail() { const isAutoAnalysis = (analysis.result_metadata as Record)?.auto_analysis === true; return ( - - + + {TYPE_LABELS[analysis.analysis_type] || analysis.analysis_type} 模型: {analysis.model_used} @@ -80,7 +82,7 @@ export default function AiReportDetail() { 系统自动分析 )} - + {isTrendAnalysis && ( @@ -90,9 +92,9 @@ export default function AiReportDetail() { )} - + - - + + ); } diff --git a/apps/miniprogram/src/pages/appointment/detail/index.scss b/apps/miniprogram/src/pages/appointment/detail/index.scss index e4dd1f6..d8cc7f2 100644 --- a/apps/miniprogram/src/pages/appointment/detail/index.scss +++ b/apps/miniprogram/src/pages/appointment/detail/index.scss @@ -1,55 +1,13 @@ @import '../../../styles/variables.scss'; @import '../../../styles/mixins.scss'; -.detail-page { - min-height: 100vh; - background: $bg; - padding-bottom: 160px; -} - -/* 顶部导航 */ -.detail-header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 32px; - padding-top: 48px; - background: $card; - box-shadow: $shadow-sm; -} - -.back-btn { - padding: 8px 0; -} - -.back-text { - font-size: var(--tk-font-body-lg); - color: $pri; - font-weight: 500; -} - -.header-title { - font-family: 'Georgia', 'Times New Roman', serif; - font-size: var(--tk-font-num-lg); - font-weight: bold; - color: $tx; -} - -.header-placeholder { - width: 60px; -} - /* 状态卡片 */ -.status-card { - background: $card; - border-radius: $r-lg; - padding: 40px 32px; - margin: 20px 24px 24px; - box-shadow: $shadow-md; +.status-card-wrap { display: flex; flex-direction: column; align-items: center; gap: 12px; + margin: 20px 24px 24px; } .status-tag { @@ -97,12 +55,8 @@ } /* 详情信息 */ -.info-section { +.info-section-wrap { margin: 0 24px 24px; - background: $card; - border-radius: $r; - padding: 28px; - box-shadow: $shadow-sm; } .section-title { @@ -171,11 +125,9 @@ } /* 温馨提示 */ -.tips-card { +.tips-card-wrap { margin: 0 24px 24px; background: $wrn-l; - border-radius: $r; - padding: 24px 28px; } .tips-title { diff --git a/apps/miniprogram/src/pages/appointment/detail/index.tsx b/apps/miniprogram/src/pages/appointment/detail/index.tsx index 8bd774b..769ff05 100644 --- a/apps/miniprogram/src/pages/appointment/detail/index.tsx +++ b/apps/miniprogram/src/pages/appointment/detail/index.tsx @@ -5,6 +5,9 @@ import { getAppointment, cancelAppointment } from '../../../services/appointment import type { Appointment } from '../../../services/appointment'; import Loading from '../../../components/Loading'; import ErrorState from '../../../components/ErrorState'; +import PageShell from '@/components/ui/PageShell'; +import ContentCard from '@/components/ui/ContentCard'; +import PageHeader from '@/components/patterns/PageHeader'; import { useElderClass } from '../../../hooks/useElderClass'; import { useSafeTimeout } from '@/hooks/useSafeTimeout'; import './index.scss'; @@ -65,53 +68,39 @@ export default function AppointmentDetail() { } }; - const goBack = () => Taro.navigateBack(); - if (loading) { return ( - - - 返回 - 预约详情 - - + + - + ); } if (error || !appointment) { return ( - - - 返回 - 预约详情 - - + + - + ); } return ( - - - 返回 - 预约详情 - - + + {/* 状态卡片 */} - + {status.label} {appointment.doctor_name} {appointment.department || ''} - + {/* 预约信息 */} - + 预约信息 @@ -145,14 +134,14 @@ export default function AppointmentDetail() { {appointment.id} - + {/* 温馨提示 */} {(appointment.status === 'pending' || appointment.status === 'confirmed') && ( - + 温馨提示 请按预约时间提前15分钟到达,携带有效身份证件和医保卡。 - + )} {/* 取消按钮 */} @@ -166,6 +155,6 @@ export default function AppointmentDetail() { )} - + ); }