From 2192b855a140aa865214aa81f9e5626bc13aab45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A4=A9=E9=AA=84?= <5307576@qq.com> Date: Tue, 9 Jun 2026 17:00:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=81=94=E8=B0=83=E5=AF=B9=E8=AF=9D?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/assessment.ts | 53 ++++ api/auth.ts | 54 +++- api/cases.ts | 6 + api/config.ts | 69 +++- api/diagnosis.ts | 35 +- api/navigation.ts | 34 ++ api/scenario.ts | 156 +++++++-- api/session.ts | 60 +++- api/treatment.ts | 44 +++ dist/assets/assessment-Cvgka0WX.css | 1 + dist/assets/assessment-r9dzGXQ-.css | 1 - ...{cases-CcgAAqTK.css => cases-C6NCSirR.css} | 2 +- dist/assets/cases.BlouN7SM.js | 1 + .../{chat-17Js2Yz6.css => chat-Dnc4ucdi.css} | 2 +- dist/assets/chat.BJUnN6Cc.js | 1 - ...onfig-D-sPg-0l.css => config-D9FAvKg-.css} | 2 +- dist/assets/config.CeLegioC.js | 1 + dist/assets/diagnosis-BFErsm4L.css | 1 - dist/assets/diagnosis-BxzDEbGJ.css | 1 + .../{home-CNoxte0D.css => home-BQ1tn9_7.css} | 2 +- dist/assets/index-B-mEDkGb.css | 1 - .../{index-BcNbz4lX.js => index-CpNRQgjE.js} | 4 +- dist/assets/index-ar3bjli4.css | 1 + ...LS.css => learning-assistant-BXAffZDG.css} | 2 +- ...ing-DEJdzi64.css => matching-CpbVZD0l.css} | 2 +- dist/assets/navigation.C2H9AjnS.js | 1 - dist/assets/navigation.CsipbD6y.js | 1 + .../pages-assessment-assessment.4dFS83cn.js | 1 - .../pages-assessment-assessment.ej_Zqyan.js | 1 + dist/assets/pages-cases-cases.6AOFEUPY.js | 1 + dist/assets/pages-cases-cases.RDgMig8l.js | 1 - dist/assets/pages-chat-chat.DBQfHqyo.js | 1 + dist/assets/pages-config-config.JVS5qOJO.js | 1 - .../pages-diagnosis-diagnosis.m6R6jwOM.js | 1 - .../pages-diagnosis-diagnosis.nh0VnGMv.js | 1 + dist/assets/pages-home-home.C2yaATnJ.js | 1 + dist/assets/pages-home-home.Cv-ZRphr.js | 1 - dist/assets/pages-index-index.BwOl-YIs.js | 1 - dist/assets/pages-index-index.gI3C2P_a.js | 1 + ...g-assistant-learning-assistant.fpfbF_lf.js | 1 + ...g-assistant-learning-assistant.vx1Z8Ujc.js | 1 - .../pages-matching-matching.CuL-3Fys.js | 1 - .../pages-matching-matching.DrdBX5Ht.js | 1 + ...pages-profile-profile-analysis.BoL_EDRS.js | 1 - ...pages-profile-profile-analysis.BuyFl8SQ.js | 1 + ...pages-profile-profile-records.C3ZzZ02U.js} | 2 +- dist/assets/pages-profile-profile.B4yr9-t8.js | 1 + dist/assets/pages-profile-profile.D-uLPWwn.js | 1 - .../pages-scenario-scenario.4vJ-ikjt.js | 1 + .../pages-teaching-teaching.B94VaxdH.js | 1 - .../pages-teaching-teaching.DAx4I9Wu.js | 1 + .../pages-treatment-treatment.Dvv4RUD4.js | 1 - .../pages-treatment-treatment.ynd4_hPb.js | 1 + ...file-C2ICLNjC.css => profile-DoOaR7U7.css} | 2 +- ...V3bJU.css => profile-records-EOjOQpWD.css} | 2 +- dist/assets/scenario-CftOfMRB.css | 1 + dist/assets/scenario-ClvXojdV.css | 1 - dist/assets/scenario.CjEHAMEH.js | 1 - dist/assets/session.Cc2HEzjU.js | 1 + ...ing-CCwYG8EG.css => teaching-cSHduCOv.css} | 2 +- dist/assets/treatment-C2Wi3XDZ.css | 1 + dist/assets/treatment-DnRfm2DZ.css | 1 - dist/index.html | 2 +- pages/assessment/assessment.vue | 130 ++++++-- pages/cases/cases.vue | 42 +-- pages/chat/chat.vue | 89 ++++-- pages/config/config.vue | 97 +++--- pages/diagnosis/diagnosis.vue | 99 ++++-- pages/home/home.vue | 44 +-- pages/index/index.vue | 8 +- .../learning-assistant/learning-assistant.vue | 9 +- pages/matching/matching.vue | 38 +-- pages/profile/profile-records.vue | 4 - pages/profile/profile.vue | 4 - pages/scenario/scenario.vue | 298 +++++++++++------- pages/teaching/teaching.vue | 33 +- pages/treatment/treatment.vue | 95 ++++-- 77 files changed, 1082 insertions(+), 487 deletions(-) create mode 100644 api/assessment.ts create mode 100644 api/treatment.ts create mode 100644 dist/assets/assessment-Cvgka0WX.css delete mode 100644 dist/assets/assessment-r9dzGXQ-.css rename dist/assets/{cases-CcgAAqTK.css => cases-C6NCSirR.css} (67%) create mode 100644 dist/assets/cases.BlouN7SM.js rename dist/assets/{chat-17Js2Yz6.css => chat-Dnc4ucdi.css} (61%) delete mode 100644 dist/assets/chat.BJUnN6Cc.js rename dist/assets/{config-D-sPg-0l.css => config-D9FAvKg-.css} (52%) create mode 100644 dist/assets/config.CeLegioC.js delete mode 100644 dist/assets/diagnosis-BFErsm4L.css create mode 100644 dist/assets/diagnosis-BxzDEbGJ.css rename dist/assets/{home-CNoxte0D.css => home-BQ1tn9_7.css} (66%) delete mode 100644 dist/assets/index-B-mEDkGb.css rename dist/assets/{index-BcNbz4lX.js => index-CpNRQgjE.js} (64%) create mode 100644 dist/assets/index-ar3bjli4.css rename dist/assets/{learning-assistant-CyH_L7LS.css => learning-assistant-BXAffZDG.css} (56%) rename dist/assets/{matching-DEJdzi64.css => matching-CpbVZD0l.css} (51%) delete mode 100644 dist/assets/navigation.C2H9AjnS.js create mode 100644 dist/assets/navigation.CsipbD6y.js delete mode 100644 dist/assets/pages-assessment-assessment.4dFS83cn.js create mode 100644 dist/assets/pages-assessment-assessment.ej_Zqyan.js create mode 100644 dist/assets/pages-cases-cases.6AOFEUPY.js delete mode 100644 dist/assets/pages-cases-cases.RDgMig8l.js create mode 100644 dist/assets/pages-chat-chat.DBQfHqyo.js delete mode 100644 dist/assets/pages-config-config.JVS5qOJO.js delete mode 100644 dist/assets/pages-diagnosis-diagnosis.m6R6jwOM.js create mode 100644 dist/assets/pages-diagnosis-diagnosis.nh0VnGMv.js create mode 100644 dist/assets/pages-home-home.C2yaATnJ.js delete mode 100644 dist/assets/pages-home-home.Cv-ZRphr.js delete mode 100644 dist/assets/pages-index-index.BwOl-YIs.js create mode 100644 dist/assets/pages-index-index.gI3C2P_a.js create mode 100644 dist/assets/pages-learning-assistant-learning-assistant.fpfbF_lf.js delete mode 100644 dist/assets/pages-learning-assistant-learning-assistant.vx1Z8Ujc.js delete mode 100644 dist/assets/pages-matching-matching.CuL-3Fys.js create mode 100644 dist/assets/pages-matching-matching.DrdBX5Ht.js delete mode 100644 dist/assets/pages-profile-profile-analysis.BoL_EDRS.js create mode 100644 dist/assets/pages-profile-profile-analysis.BuyFl8SQ.js rename dist/assets/{pages-profile-profile-records.dJZjXNd2.js => pages-profile-profile-records.C3ZzZ02U.js} (70%) create mode 100644 dist/assets/pages-profile-profile.B4yr9-t8.js delete mode 100644 dist/assets/pages-profile-profile.D-uLPWwn.js create mode 100644 dist/assets/pages-scenario-scenario.4vJ-ikjt.js delete mode 100644 dist/assets/pages-teaching-teaching.B94VaxdH.js create mode 100644 dist/assets/pages-teaching-teaching.DAx4I9Wu.js delete mode 100644 dist/assets/pages-treatment-treatment.Dvv4RUD4.js create mode 100644 dist/assets/pages-treatment-treatment.ynd4_hPb.js rename dist/assets/{profile-C2ICLNjC.css => profile-DoOaR7U7.css} (62%) rename dist/assets/{profile-records-BnZV3bJU.css => profile-records-EOjOQpWD.css} (50%) create mode 100644 dist/assets/scenario-CftOfMRB.css delete mode 100644 dist/assets/scenario-ClvXojdV.css delete mode 100644 dist/assets/scenario.CjEHAMEH.js create mode 100644 dist/assets/session.Cc2HEzjU.js rename dist/assets/{teaching-CCwYG8EG.css => teaching-cSHduCOv.css} (62%) create mode 100644 dist/assets/treatment-C2Wi3XDZ.css delete mode 100644 dist/assets/treatment-DnRfm2DZ.css diff --git a/api/assessment.ts b/api/assessment.ts new file mode 100644 index 0000000..bd19889 --- /dev/null +++ b/api/assessment.ts @@ -0,0 +1,53 @@ +import { FASTAPI_BASE_URL, authHeaders, readError, type ApiEnvelope, type ScoreType } from './session' + +export type DimensionScore = { + dimension: string + score: number + max_score: number + comment?: string + evidence?: string[] + deductions?: string[] + improvement?: string +} + +export type ScoreDetail = { + dimension: string + score: number + deducted_reason?: string + ai_confidence?: number + comment?: string +} + +export type EvaluationResult = { + evaluation_id: number + score_type: ScoreType + total_score: number + dimension_scores: DimensionScore[] + score_details: ScoreDetail[] + errors: string[] + improvement_plan: string[] + evidence_summary: string[] + guideline_refs: string[] + overall_comment: string +} + +export async function generateEvaluation(sessionId: number, scoreType: ScoreType = 'percentage') { + const response = await fetch(`${FASTAPI_BASE_URL}/sessions/${sessionId}/evaluation`, { + method: 'POST', + headers: authHeaders(), + body: JSON.stringify({ + score_type: scoreType + }) + }) + + if (!response.ok) { + throw new Error(await readError(response)) + } + + const result = (await response.json()) as ApiEnvelope + if (result.code !== 'OK' || !result.data) { + throw new Error(result.message || '评价生成失败') + } + + return result.data +} diff --git a/api/auth.ts b/api/auth.ts index f165573..465f5e7 100644 --- a/api/auth.ts +++ b/api/auth.ts @@ -58,15 +58,36 @@ function readErrorMessage(data: unknown, fallback: string) { return fallback } -function request(url: string, data: unknown, method: 'POST' | 'GET' = 'POST'): Promise { +function readAccessToken() { + try { + return uni.getStorageSync('clinical-thinking-access-token') || '' + } catch { + return '' + } +} + +function createRequestHeaders(includeAuth = false) { + const headers: Record = { + 'Content-Type': 'application/json' + } + + if (!includeAuth) return headers + + const token = readAccessToken() + if (token) { + headers.Authorization = `Bearer ${token}` + } + + return headers +} + +function request(url: string, data: unknown, method: 'POST' | 'GET' = 'POST', includeAuth = false): Promise { return new Promise((resolve, reject) => { uni.request({ url: `${API_BASE_URL}${url}`, method, timeout: 10000, - header: { - 'Content-Type': 'application/json' - }, + header: createRequestHeaders(includeAuth), data, success: response => { if (response.statusCode >= 200 && response.statusCode < 300) { @@ -114,10 +135,35 @@ export type InstitutionRecord = { is_trial: boolean } +export type InstitutionInfo = { + id: number + code: string + name: string + type: string + level: string + province: string + city: string + banner_url: string +} + +export type DepartmentRecord = { + id: number + name: string + category: string +} + export function fetchInstitutions(): Promise { return request('/user/institution_list/', null, 'GET') } +export function fetchInstitutionInfo(): Promise { + return request('/user/institution_info/', null, 'GET', true) +} + +export function fetchMyDepartments(): Promise { + return request('/user/my_departments/', null, 'GET', true) +} + export function loginWithCode(payload: LoginCodePayload): Promise { return request('/user/auth/login-code/', payload).then(response => { if (isLoginResponse(response)) return response diff --git a/api/cases.ts b/api/cases.ts index f24a4ec..e3dfe18 100644 --- a/api/cases.ts +++ b/api/cases.ts @@ -89,3 +89,9 @@ export function fetchCaseList(): Promise { } ]) } + +export function readStoredClinicalCase() { + const value = uni.getStorageSync('clinical-thinking-selected-case') + if (value && typeof value === 'object') return value as ClinicalCase + return null +} diff --git a/api/config.ts b/api/config.ts index a557d9f..a294e0e 100644 --- a/api/config.ts +++ b/api/config.ts @@ -1,3 +1,5 @@ +import { API_BASE_URL, ApiRequestError } from './auth' + export type ConfigOption = { value: string label: string @@ -11,21 +13,12 @@ export type ConfigOptions = { } export type ClinicalConfigPayload = { - userId: string - phone: string - institutionId: string - department: string - title: string - experience: string - departmentName: string - titleName: string - experienceName: string + department: number + title_name: string + practice_years: string } -export type ClinicalConfigResult = ClinicalConfigPayload & { - id: string - updatedAt: string -} +export type ClinicalConfigResult = Record export const MOCK_CONFIG_OPTIONS: ConfigOptions = { departments: [ @@ -65,10 +58,52 @@ export function fetchConfigOptions() { }) } +function readAccessToken() { + try { + return uni.getStorageSync('clinical-thinking-access-token') || '' + } catch { + return '' + } +} + +function readErrorMessage(data: unknown, fallback: string) { + if (data && typeof data === 'object') { + const payload = data as Record + const message = payload.message || payload.detail || payload.error + if (typeof message === 'string' && message.trim()) return message + } + return fallback +} + export function saveClinicalConfig(payload: ClinicalConfigPayload): Promise { - return Promise.resolve({ - id: `mock-config-${Date.now()}`, - ...payload, - updatedAt: new Date().toISOString() + return new Promise((resolve, reject) => { + const token = readAccessToken() + const header: Record = { + 'Content-Type': 'application/json' + } + + if (token) { + header.Authorization = `Bearer ${token}` + } + + uni.request({ + url: `${API_BASE_URL}/user/profile/config/`, + method: 'POST', + timeout: 10000, + header, + data: payload, + success: response => { + if (response.statusCode >= 200 && response.statusCode < 300) { + resolve(response.data as ClinicalConfigResult) + return + } + const data = response.data as Record | undefined + const code = typeof data?.code === 'string' ? data.code : undefined + reject(new ApiRequestError(readErrorMessage(response.data, `保存失败(${response.statusCode})`), code, response.statusCode)) + }, + fail: error => { + reject(new ApiRequestError(error.errMsg || '无法连接服务')) + } + }) }) } diff --git a/api/diagnosis.ts b/api/diagnosis.ts index d8a807f..2f7dc08 100644 --- a/api/diagnosis.ts +++ b/api/diagnosis.ts @@ -1,4 +1,5 @@ import type { ClinicalCase } from './cases' +import { FASTAPI_BASE_URL, authHeaders, readError, type ApiEnvelope } from './session' export type DiagnosisDraft = { primaryDiagnosis: string @@ -6,6 +7,12 @@ export type DiagnosisDraft = { evidence: string } +export type DiagnosisPayload = { + primary_diagnosis: string + differential_diagnoses: string[] + diagnosis_basis: string +} + export type DiagnosisContext = { mentorAdvice: string defaultDraft: DiagnosisDraft @@ -26,11 +33,27 @@ export function fetchDiagnosisContext(caseItem?: ClinicalCase | null): Promise item.trim()).filter(Boolean), + diagnosis_basis: draft.evidence.trim() + } + + const response = await fetch(`${FASTAPI_BASE_URL}/sessions/${sessionId}/diagnosis`, { + method: 'POST', + headers: authHeaders(), + body: JSON.stringify(payload) }) + + if (!response.ok) { + throw new Error(await readError(response)) + } + + const result = (await response.json()) as ApiEnvelope + if (result.code !== 'OK') { + throw new Error(result.message || '诊断提交失败') + } + + return result.data || payload } diff --git a/api/navigation.ts b/api/navigation.ts index d3c2393..14750c7 100644 --- a/api/navigation.ts +++ b/api/navigation.ts @@ -1,6 +1,8 @@ import { getCurrentInstance } from 'vue' type OpenProfileEmit = (event: 'open-profile') => void +type OpenSettingsEmit = (event: 'open-settings') => void +type GoHomeEmit = (event: 'go-home') => void export function createProfileOpener(emit: OpenProfileEmit) { const instance = getCurrentInstance() @@ -17,3 +19,35 @@ export function createProfileOpener(emit: OpenProfileEmit) { }) } } + +export function createSettingsOpener(emit: OpenSettingsEmit) { + const instance = getCurrentInstance() + const hasOpenSettingsListener = Boolean(instance?.vnode.props?.onOpenSettings) + + return function openSettings() { + if (hasOpenSettingsListener) { + emit('open-settings') + return + } + + uni.navigateTo({ + url: '/pages/config/config' + }) + } +} + +export function createHomeNavigator(emit: GoHomeEmit) { + const instance = getCurrentInstance() + const hasGoHomeListener = Boolean(instance?.vnode.props?.onGoHome) + + return function goHome() { + if (hasGoHomeListener) { + emit('go-home') + return + } + + uni.reLaunch({ + url: '/pages/home/home' + }) + } +} diff --git a/api/scenario.ts b/api/scenario.ts index fcfe510..d557dc2 100644 --- a/api/scenario.ts +++ b/api/scenario.ts @@ -1,4 +1,11 @@ -import { createTrainingSession, type PatientConfigPayload, type TrainingMode } from './session' +import { + FASTAPI_BASE_URL, + authHeaders, + createTrainingSession, + readError, + type PatientConfigPayload, + type TrainingMode +} from './session' export type ScenarioRecommendation = { id: string @@ -11,6 +18,7 @@ export type ScenarioRecommendation = { export type ScenarioOption = { value: string label: string + description?: string } export type ScenarioForm = { @@ -27,6 +35,12 @@ export type ScenarioOptions = { personalities: ScenarioOption[] } +export type TrainingConfigRecommended = { + recommended: ScenarioForm + recommendedLabels: Record + options: ScenarioOptions +} + export type ScenarioConfigPayload = ScenarioForm & { caseId: string caseNo: string @@ -34,6 +48,61 @@ export type ScenarioConfigPayload = ScenarioForm & { recommendationId?: string } +type TrainingConfigApiKey = 'visit_environment' | 'age_group' | 'education_level' | 'personality' + +const DEFAULT_CASE_ID = 1 + +type ApiEnvelope = { + code: string + message: string + data: T +} + +type ScenarioFormKey = keyof ScenarioForm + +type TrainingConfigRecommendedResponse = { + case_id: number + recommended: { + visit_environment: string + age_group: string + education_level: string + personality: string + } + recommended_labels: { + visit_environment: string + age_group: string + education_level: string + personality: string + } + options?: Partial>> +} + +export const DEFAULT_SCENARIO_OPTIONS: ScenarioOptions = { + environments: [ + { value: 'outpatient', label: '门诊' }, + { value: 'emergency', label: '急诊' }, + { value: 'ward', label: '病房' } + ], + ageGroups: [ + { value: 'child', label: '儿童' }, + { value: 'youth', label: '青年' }, + { value: 'middle_aged', label: '中年' }, + { value: 'elderly', label: '老年' } + ], + educations: [ + { value: 'primary_or_below', label: '小学及以下' }, + { value: 'secondary', label: '中等教育' }, + { value: 'higher', label: '高等教育' } + ], + personalities: [ + { value: 'calm', label: '平和' }, + { value: 'anxious', label: '焦虑' }, + { value: 'impatient', label: '急躁' }, + { value: 'cooperative', label: '配合' }, + { value: 'suspicious', label: '多疑' } + ] +} + export function fetchScenarioOptions() { return Promise.resolve({ recommendations: [ @@ -62,37 +131,70 @@ export function fetchScenarioOptions() { } } ] as ScenarioRecommendation[], - options: { - environments: [ - { value: 'outpatient', label: '门诊' }, - { value: 'emergency', label: '急诊' }, - { value: 'ward', label: '病房' } - ], - ageGroups: [ - { value: 'child', label: '儿童' }, - { value: 'youth', label: '青年' }, - { value: 'middle_aged', label: '中年' }, - { value: 'elderly', label: '老年' } - ], - educations: [ - { value: 'primary_or_below', label: '小学及以下' }, - { value: 'secondary', label: '中等教育' }, - { value: 'higher', label: '高等教育' } - ], - personalities: [ - { value: 'calm', label: '平和' }, - { value: 'anxious', label: '焦虑' }, - { value: 'impatient', label: '急躁' }, - { value: 'cooperative', label: '配合' }, - { value: 'suspicious', label: '多疑' } - ] - } as ScenarioOptions + options: DEFAULT_SCENARIO_OPTIONS }) } +function normalizeApiOptions( + source: TrainingConfigRecommendedResponse['options'] | undefined, + key: keyof TrainingConfigRecommendedResponse['recommended'], + fallback: ScenarioOption[] +) { + const value = source?.[key] + if (Array.isArray(value)) return value + if (value && typeof value === 'object') { + return Object.entries(value).map(([optionValue, label]) => ({ + value: optionValue, + label: String(label) + })) + } + return fallback +} + +function normalizeTrainingConfig(payload: TrainingConfigRecommendedResponse): TrainingConfigRecommended { + return { + recommended: { + environment: payload.recommended.visit_environment, + ageGroup: payload.recommended.age_group, + education: payload.recommended.education_level, + personality: payload.recommended.personality + }, + recommendedLabels: { + environment: payload.recommended_labels.visit_environment, + ageGroup: payload.recommended_labels.age_group, + education: payload.recommended_labels.education_level, + personality: payload.recommended_labels.personality + }, + options: { + environments: normalizeApiOptions(payload.options, 'visit_environment', DEFAULT_SCENARIO_OPTIONS.environments), + ageGroups: normalizeApiOptions(payload.options, 'age_group', DEFAULT_SCENARIO_OPTIONS.ageGroups), + educations: normalizeApiOptions(payload.options, 'education_level', DEFAULT_SCENARIO_OPTIONS.educations), + personalities: normalizeApiOptions(payload.options, 'personality', DEFAULT_SCENARIO_OPTIONS.personalities) + } + } +} + +export async function fetchTrainingConfigOptions(caseId: number) { + const response = await fetch(`${FASTAPI_BASE_URL}/training-config/options?case_id=${encodeURIComponent(caseId)}`, { + method: 'GET', + headers: authHeaders() + }) + + if (!response.ok) { + throw new Error(await readError(response)) + } + + const result = (await response.json()) as ApiEnvelope + if (result.code !== 'OK' || !result.data?.recommended) { + throw new Error(result.message || '推荐配置加载失败') + } + + return normalizeTrainingConfig(result.data) +} + export function createScenarioConfig(payload: ScenarioConfigPayload) { return createTrainingSession({ - case_id: 1, + case_id: DEFAULT_CASE_ID, training_type: 'diagnosis_treatment', mode: payload.mode, score_type: 'percentage', diff --git a/api/session.ts b/api/session.ts index ae6e7cf..645ce7b 100644 --- a/api/session.ts +++ b/api/session.ts @@ -32,7 +32,17 @@ export type TrainingSession = { patient_config: SessionPatientConfig } -type ApiEnvelope = { +export type CompleteInquiryResult = { + session_id: number + status: string +} + +export type StoredTrainingScenario = { + session?: TrainingSession + [key: string]: unknown +} + +export type ApiEnvelope = { code: string message: string data: T @@ -56,7 +66,7 @@ function readAccessToken() { return token } -function authHeaders(accept = 'application/json') { +export function authHeaders(accept = 'application/json') { return { 'Content-Type': 'application/json', Accept: accept, @@ -65,7 +75,7 @@ function authHeaders(accept = 'application/json') { } } -async function readError(response: Response) { +export async function readError(response: Response) { const text = await response.text().catch(() => '') if (!text) return `请求失败(${response.status})` try { @@ -76,6 +86,32 @@ async function readError(response: Response) { return text } +export function readStoredTrainingScenario() { + const value = uni.getStorageSync('clinical-thinking-scenario') + if (value && typeof value === 'object') return value as StoredTrainingScenario + return null +} + +export function readActiveSessionId() { + const sessionId = readStoredTrainingScenario()?.session?.session_id + if (typeof sessionId === 'number' && Number.isInteger(sessionId) && sessionId > 0) { + return sessionId + } + throw new Error('未找到当前会话,请先生成模拟场景') +} + +export function updateStoredSessionStatus(status: string) { + const scenario = readStoredTrainingScenario() + if (!scenario?.session) return + uni.setStorageSync('clinical-thinking-scenario', { + ...scenario, + session: { + ...scenario.session, + status + } + }) +} + export async function createTrainingSession(payload: CreateSessionPayload) { const response = await fetch(`${FASTAPI_BASE_URL}/sessions`, { method: 'POST', @@ -94,6 +130,24 @@ export async function createTrainingSession(payload: CreateSessionPayload) { return result.data } +export async function completeInquiry(sessionId: number) { + const response = await fetch(`${FASTAPI_BASE_URL}/sessions/${sessionId}/complete-inquiry`, { + method: 'POST', + headers: authHeaders() + }) + + if (!response.ok) { + throw new Error(await readError(response)) + } + + const result = (await response.json()) as ApiEnvelope + if (result.code !== 'OK' || !result.data?.session_id) { + throw new Error(result.message || '完成采集失败') + } + + return result.data +} + export async function streamSessionChat( sessionId: number, message: string, diff --git a/api/treatment.ts b/api/treatment.ts new file mode 100644 index 0000000..db79b16 --- /dev/null +++ b/api/treatment.ts @@ -0,0 +1,44 @@ +import { FASTAPI_BASE_URL, authHeaders, readError, type ApiEnvelope } from './session' + +export type TreatmentDraft = { + treatmentPrinciple: string + treatmentMeasures: string + riskPlan: string + communication: string + followUp: string +} + +export type TreatmentPayload = { + treatment_principle: string + treatment_measures: string + risk_plan: string + communication: string + follow_up: string +} + +export async function submitTreatment(sessionId: number, draft: TreatmentDraft) { + const payload: TreatmentPayload = { + treatment_principle: draft.treatmentPrinciple.trim(), + treatment_measures: draft.treatmentMeasures.trim(), + risk_plan: draft.riskPlan.trim(), + communication: draft.communication.trim(), + follow_up: draft.followUp.trim() + } + + const response = await fetch(`${FASTAPI_BASE_URL}/sessions/${sessionId}/treatment`, { + method: 'POST', + headers: authHeaders(), + body: JSON.stringify(payload) + }) + + if (!response.ok) { + throw new Error(await readError(response)) + } + + const result = (await response.json()) as ApiEnvelope + if (result.code !== 'OK') { + throw new Error(result.message || '治疗方案提交失败') + } + + return result.data || payload +} diff --git a/dist/assets/assessment-Cvgka0WX.css b/dist/assets/assessment-Cvgka0WX.css new file mode 100644 index 0000000..8f15018 --- /dev/null +++ b/dist/assets/assessment-Cvgka0WX.css @@ -0,0 +1 @@ +uni-page-body[data-v-121d7ef7]{min-height:100%;background:#f9f9ff}body[data-v-121d7ef7]{background:#f9f9ff}.assessment-page[data-v-121d7ef7]{position:relative;width:390px;max-width:100vw;min-height:100vh;margin:0 auto;overflow:hidden;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.assessment-page uni-view[data-v-121d7ef7],.assessment-page uni-text[data-v-121d7ef7],.assessment-page uni-button[data-v-121d7ef7],.assessment-page uni-scroll-view[data-v-121d7ef7]{box-sizing:border-box}.assessment-page[data-v-121d7ef7] ::-webkit-scrollbar{width:0;height:0;background:transparent}.top-app-bar[data-v-121d7ef7]{position:fixed;left:50%;top:0;z-index:50;width:390px;max-width:100vw;height:56px;padding:0 16px;border-bottom:1px solid rgba(194,198,212,.3);background:rgba(249,249,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;transform:translate(-50%)}.app-title[data-v-121d7ef7]{position:absolute;left:50%;top:50%;margin-left:0;transform:translate(-50%,-50%);color:#191c21;font-size:20px;line-height:28px;font-weight:700;letter-spacing:0}.icon-button[data-v-121d7ef7],.read-button[data-v-121d7ef7],.download-button[data-v-121d7ef7],.next-button[data-v-121d7ef7]{padding:0;border:0;background:transparent}.icon-button[data-v-121d7ef7]:after,.read-button[data-v-121d7ef7]:after,.download-button[data-v-121d7ef7]:after,.next-button[data-v-121d7ef7]:after{border:0}.icon-button[data-v-121d7ef7]{position:absolute;left:16px;top:8px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.icon-button[data-v-121d7ef7]:active{background:rgba(225,226,234,.5)}.back-icon[data-v-121d7ef7],.hub-icon[data-v-121d7ef7],.analytics-icon[data-v-121d7ef7],.arrow-forward-icon[data-v-121d7ef7]{background:#424752;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.back-icon[data-v-121d7ef7]{width:24px;height:24px;background:#191c21;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E")}.report-content[data-v-121d7ef7]{width:100%;height:calc(100vh - 145px);margin-top:56px;padding:24px 16px;position:relative;z-index:0}.report-head[data-v-121d7ef7]{padding:0 0 24px;display:flex;flex-direction:column;gap:8px}.report-title[data-v-121d7ef7]{color:#00478d;font-size:24px;line-height:32px;font-weight:700;letter-spacing:0}.report-meta[data-v-121d7ef7]{display:flex;flex-direction:column;gap:2px;color:rgba(66,71,82,.8);font-size:14px;line-height:20px}.content-stack[data-v-121d7ef7]{display:flex;flex-direction:column;gap:16px}.overall-card[data-v-121d7ef7],.report-card[data-v-121d7ef7],.mentor-section[data-v-121d7ef7]{border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#fff;box-shadow:0 1px 4px rgba(25,28,33,.04)}.overall-card[data-v-121d7ef7]{padding:20px;display:flex;align-items:center;gap:16px}.score-ring[data-v-121d7ef7]{position:relative;width:80px;height:80px;flex:0 0 auto}.ring-svg[data-v-121d7ef7]{width:100%;height:100%;transform:rotate(-90deg);transform-origin:50% 50%}.ring-track[data-v-121d7ef7]{stroke:#e7e8f0}.ring-value[data-v-121d7ef7]{stroke:#00478d;transition:stroke-dashoffset .8s ease}.score-center[data-v-121d7ef7]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value[data-v-121d7ef7]{color:#00478d;font-size:20px;line-height:22px;font-weight:700}.score-total[data-v-121d7ef7]{color:#424752;font-size:10px;line-height:12px;font-weight:500}.overall-copy[data-v-121d7ef7]{flex:1;display:flex;flex-direction:column;gap:6px}.overall-title[data-v-121d7ef7]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.primary-text[data-v-121d7ef7]{color:#00478d;font-weight:700}.overall-desc[data-v-121d7ef7]{color:#424752;font-size:13px;line-height:18px}.report-card[data-v-121d7ef7]{padding:20px}.section-heading[data-v-121d7ef7]{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#00478d;font-size:14px;line-height:20px;font-weight:700}.breakdown-title[data-v-121d7ef7]{margin-bottom:24px}.hub-icon[data-v-121d7ef7],.analytics-icon[data-v-121d7ef7]{width:18px;height:18px;background:#00478d}.hub-icon[data-v-121d7ef7]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%200%201%202%205.24V9h3a3%203%200%201%201-2.83%204H14v3.76A3%203%200%201%201%2012%2016a2.9%202.9%200%200%201%201%20.18V13H9.83A3%203%200%201%201%2010%2011H13V7.24A3%203%200%200%201%2012%202z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%200%201%202%205.24V9h3a3%203%200%201%201-2.83%204H14v3.76A3%203%200%201%201%2012%2016a2.9%202.9%200%200%201%201%20.18V13H9.83A3%203%200%201%201%2010%2011H13V7.24A3%203%200%200%201%2012%202z'/%3E%3C/svg%3E")}.analytics-icon[data-v-121d7ef7]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E")}.radar-wrap[data-v-121d7ef7]{display:flex;justify-content:center;padding:8px 0}.radar-svg[data-v-121d7ef7]{width:100%;max-width:240px;aspect-ratio:1}.radar-grid[data-v-121d7ef7]{stroke:#e2e8f0;stroke-width:1;fill:none}.radar-area[data-v-121d7ef7]{fill:rgba(0,71,141,.15);stroke:#00478d;stroke-width:2}.radar-label[data-v-121d7ef7]{fill:#424752;font-size:16px;font-weight:500;letter-spacing:0}.breakdown-list[data-v-121d7ef7]{display:flex;flex-direction:column;gap:24px}.breakdown-item[data-v-121d7ef7]{display:flex;flex-direction:column;gap:8px}.breakdown-head[data-v-121d7ef7]{display:flex;align-items:center;justify-content:space-between;color:#191c21;font-size:12px;line-height:16px;font-weight:600}.breakdown-score[data-v-121d7ef7]{color:#00478d;font-weight:700}.progress-track[data-v-121d7ef7]{width:100%;height:6px;border-radius:999px;background:#e7e8f0;overflow:hidden}.progress-fill[data-v-121d7ef7]{height:100%;border-radius:999px;background:#00478d;transition:width 1s cubic-bezier(.4,0,.2,1)}.analysis-box[data-v-121d7ef7]{padding:12px;border:1px solid rgba(225,226,234,.35);border-radius:8px;background:rgba(242,243,251,.5);color:#424752;font-size:13px;line-height:20px}.mentor-section[data-v-121d7ef7]{margin-bottom:16px;padding:20px;border-color:rgba(0,71,141,.1);background:rgba(0,94,184,.06)}.mentor-head[data-v-121d7ef7]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mentor-avatar[data-v-121d7ef7]{width:48px;height:48px;border:1px solid #ffffff;border-radius:50%;box-shadow:0 1px 4px rgba(25,28,33,.12)}.mentor-title-group[data-v-121d7ef7]{display:flex;flex-direction:column;gap:2px}.mentor-title[data-v-121d7ef7]{color:#00478d;font-size:14px;line-height:20px;font-weight:700}.mentor-subtitle[data-v-121d7ef7]{color:rgba(66,71,82,.7);font-size:10px;line-height:14px;font-weight:500;letter-spacing:0}.mentor-bubble[data-v-121d7ef7]{position:relative;padding:16px;border:1px solid rgba(0,71,141,.05);border-radius:8px;background:#fff;box-shadow:0 1px 4px rgba(25,28,33,.04)}.mentor-tail[data-v-121d7ef7]{position:absolute;left:24px;top:-7px;width:12px;height:12px;border-left:1px solid rgba(0,71,141,.05);border-top:1px solid rgba(0,71,141,.05);background:#fff;transform:rotate(45deg)}.mentor-copy[data-v-121d7ef7]{color:#191c21;font-size:14px;line-height:22px;font-style:italic}.mentor-action-row[data-v-121d7ef7]{margin-top:16px;width:100%;display:flex;justify-content:flex-end}.read-button[data-v-121d7ef7]{width:-moz-fit-content;width:fit-content;min-height:32px;margin:0 0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:4px;color:#00478d;font-size:14px;line-height:20px;font-weight:600}.read-button[data-v-121d7ef7]:active{transform:scale(.95)}.arrow-forward-icon[data-v-121d7ef7]{width:18px;height:18px;background:#00478d;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E");transform:rotate(180deg)}.footer-actions[data-v-121d7ef7]{position:fixed;left:50%;bottom:0;z-index:80;width:390px;max-width:100vw;padding:16px;border-top:1px solid rgba(194,198,212,.3);background:rgba(249,249,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;gap:12px;transform:translate(-50%)}.download-button[data-v-121d7ef7],.next-button[data-v-121d7ef7]{flex:1;min-height:48px;padding:0 10px;border-radius:8px;font-size:14px;line-height:20px;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center}.download-button[data-v-121d7ef7]{border:1px solid #00478d;background:transparent;color:#00478d}.next-button[data-v-121d7ef7]{background:#00478d;box-shadow:0 2px 8px rgba(0,71,141,.2);color:#fff}.download-button[data-v-121d7ef7]:active,.next-button[data-v-121d7ef7]:active{transform:scale(.98)}.toast[data-v-121d7ef7]{position:fixed;left:50%;bottom:92px;z-index:100;max-width:320px;padding:12px 20px;border-radius:12px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-121d7ef7]{opacity:1;transform:translate(-50%)}@media (min-width: 768px){.assessment-page[data-v-121d7ef7]{box-shadow:0 24px 64px rgba(25,28,33,.18)}} diff --git a/dist/assets/assessment-r9dzGXQ-.css b/dist/assets/assessment-r9dzGXQ-.css deleted file mode 100644 index be2d66b..0000000 --- a/dist/assets/assessment-r9dzGXQ-.css +++ /dev/null @@ -1 +0,0 @@ -uni-page-body[data-v-adfbf634]{min-height:100%;background:#f9f9ff}body[data-v-adfbf634]{background:#f9f9ff}.assessment-page[data-v-adfbf634]{position:relative;width:390px;max-width:100vw;min-height:100vh;margin:0 auto;overflow:hidden;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.assessment-page uni-view[data-v-adfbf634],.assessment-page uni-text[data-v-adfbf634],.assessment-page uni-button[data-v-adfbf634],.assessment-page uni-scroll-view[data-v-adfbf634]{box-sizing:border-box}.assessment-page[data-v-adfbf634] ::-webkit-scrollbar{width:0;height:0;background:transparent}.top-app-bar[data-v-adfbf634]{position:fixed;left:50%;top:0;z-index:50;width:390px;max-width:100vw;height:56px;padding:0 16px;border-bottom:1px solid rgba(194,198,212,.3);background:rgba(249,249,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;transform:translate(-50%)}.app-title[data-v-adfbf634]{position:absolute;left:50%;top:50%;margin-left:0;transform:translate(-50%,-50%);color:#191c21;font-size:20px;line-height:28px;font-weight:700;letter-spacing:0}.icon-button[data-v-adfbf634],.read-button[data-v-adfbf634],.download-button[data-v-adfbf634],.next-button[data-v-adfbf634]{padding:0;border:0;background:transparent}.icon-button[data-v-adfbf634]:after,.read-button[data-v-adfbf634]:after,.download-button[data-v-adfbf634]:after,.next-button[data-v-adfbf634]:after{border:0}.icon-button[data-v-adfbf634]{position:absolute;left:16px;top:8px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.icon-button[data-v-adfbf634]:active{background:rgba(225,226,234,.5)}.back-icon[data-v-adfbf634],.hub-icon[data-v-adfbf634],.analytics-icon[data-v-adfbf634],.arrow-forward-icon[data-v-adfbf634]{background:#424752;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.back-icon[data-v-adfbf634]{width:24px;height:24px;background:#191c21;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E")}.report-content[data-v-adfbf634]{width:100%;height:calc(100vh - 145px);margin-top:56px;padding:24px 16px;position:relative;z-index:0}.report-head[data-v-adfbf634]{padding:0 0 24px;display:flex;flex-direction:column;gap:8px}.report-title[data-v-adfbf634]{color:#00478d;font-size:24px;line-height:32px;font-weight:700;letter-spacing:0}.report-meta[data-v-adfbf634]{display:flex;flex-direction:column;gap:2px;color:rgba(66,71,82,.8);font-size:14px;line-height:20px}.content-stack[data-v-adfbf634]{display:flex;flex-direction:column;gap:16px}.overall-card[data-v-adfbf634],.report-card[data-v-adfbf634],.mentor-section[data-v-adfbf634]{border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#fff;box-shadow:0 1px 4px rgba(25,28,33,.04)}.overall-card[data-v-adfbf634]{padding:20px;display:flex;align-items:center;gap:16px}.score-ring[data-v-adfbf634]{position:relative;width:80px;height:80px;flex:0 0 auto}.ring-svg[data-v-adfbf634]{width:100%;height:100%;transform:rotate(-90deg);transform-origin:50% 50%}.ring-track[data-v-adfbf634]{stroke:#e7e8f0}.ring-value[data-v-adfbf634]{stroke:#00478d;transition:stroke-dashoffset .8s ease}.score-center[data-v-adfbf634]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value[data-v-adfbf634]{color:#00478d;font-size:20px;line-height:22px;font-weight:700}.score-total[data-v-adfbf634]{color:#424752;font-size:10px;line-height:12px;font-weight:500}.overall-copy[data-v-adfbf634]{flex:1;display:flex;flex-direction:column;gap:6px}.overall-title[data-v-adfbf634]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.primary-text[data-v-adfbf634]{color:#00478d;font-weight:700}.overall-desc[data-v-adfbf634]{color:#424752;font-size:13px;line-height:18px}.report-card[data-v-adfbf634]{padding:20px}.section-heading[data-v-adfbf634]{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#00478d;font-size:14px;line-height:20px;font-weight:700}.breakdown-title[data-v-adfbf634]{margin-bottom:24px}.hub-icon[data-v-adfbf634],.analytics-icon[data-v-adfbf634]{width:18px;height:18px;background:#00478d}.hub-icon[data-v-adfbf634]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%200%201%202%205.24V9h3a3%203%200%201%201-2.83%204H14v3.76A3%203%200%201%201%2012%2016a2.9%202.9%200%200%201%201%20.18V13H9.83A3%203%200%201%201%2010%2011H13V7.24A3%203%200%200%201%2012%202z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%200%201%202%205.24V9h3a3%203%200%201%201-2.83%204H14v3.76A3%203%200%201%201%2012%2016a2.9%202.9%200%200%201%201%20.18V13H9.83A3%203%200%201%201%2010%2011H13V7.24A3%203%200%200%201%2012%202z'/%3E%3C/svg%3E")}.analytics-icon[data-v-adfbf634]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E")}.radar-wrap[data-v-adfbf634]{display:flex;justify-content:center;padding:8px 0}.radar-svg[data-v-adfbf634]{width:100%;max-width:240px;aspect-ratio:1}.radar-grid[data-v-adfbf634]{stroke:#e2e8f0;stroke-width:1;fill:none}.radar-area[data-v-adfbf634]{fill:rgba(0,71,141,.15);stroke:#00478d;stroke-width:2}.radar-label[data-v-adfbf634]{fill:#424752;font-size:16px;font-weight:500;letter-spacing:0}.breakdown-list[data-v-adfbf634]{display:flex;flex-direction:column;gap:24px}.breakdown-item[data-v-adfbf634]{display:flex;flex-direction:column;gap:8px}.breakdown-head[data-v-adfbf634]{display:flex;align-items:center;justify-content:space-between;color:#191c21;font-size:12px;line-height:16px;font-weight:600}.breakdown-score[data-v-adfbf634]{color:#00478d;font-weight:700}.progress-track[data-v-adfbf634]{width:100%;height:6px;border-radius:999px;background:#e7e8f0;overflow:hidden}.progress-fill[data-v-adfbf634]{height:100%;border-radius:999px;background:#00478d;transition:width 1s cubic-bezier(.4,0,.2,1)}.analysis-box[data-v-adfbf634]{padding:12px;border:1px solid rgba(225,226,234,.35);border-radius:8px;background:rgba(242,243,251,.5);color:#424752;font-size:13px;line-height:20px}.mentor-section[data-v-adfbf634]{margin-bottom:16px;padding:20px;border-color:rgba(0,71,141,.1);background:rgba(0,94,184,.06)}.mentor-head[data-v-adfbf634]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mentor-avatar[data-v-adfbf634]{width:48px;height:48px;border:1px solid #ffffff;border-radius:50%;box-shadow:0 1px 4px rgba(25,28,33,.12)}.mentor-title-group[data-v-adfbf634]{display:flex;flex-direction:column;gap:2px}.mentor-title[data-v-adfbf634]{color:#00478d;font-size:14px;line-height:20px;font-weight:700}.mentor-subtitle[data-v-adfbf634]{color:rgba(66,71,82,.7);font-size:10px;line-height:14px;font-weight:500;letter-spacing:0}.mentor-bubble[data-v-adfbf634]{position:relative;padding:16px;border:1px solid rgba(0,71,141,.05);border-radius:8px;background:#fff;box-shadow:0 1px 4px rgba(25,28,33,.04)}.mentor-tail[data-v-adfbf634]{position:absolute;left:24px;top:-7px;width:12px;height:12px;border-left:1px solid rgba(0,71,141,.05);border-top:1px solid rgba(0,71,141,.05);background:#fff;transform:rotate(45deg)}.mentor-copy[data-v-adfbf634]{color:#191c21;font-size:14px;line-height:22px;font-style:italic}.mentor-action-row[data-v-adfbf634]{margin-top:16px;width:100%;display:flex;justify-content:flex-end}.read-button[data-v-adfbf634]{width:-moz-fit-content;width:fit-content;min-height:32px;margin:0 0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:4px;color:#00478d;font-size:14px;line-height:20px;font-weight:600}.read-button[data-v-adfbf634]:active{transform:scale(.95)}.arrow-forward-icon[data-v-adfbf634]{width:18px;height:18px;background:#00478d;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E");transform:rotate(180deg)}.footer-actions[data-v-adfbf634]{position:fixed;left:50%;bottom:0;z-index:80;width:390px;max-width:100vw;padding:16px;border-top:1px solid rgba(194,198,212,.3);background:rgba(249,249,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;gap:12px;transform:translate(-50%)}.download-button[data-v-adfbf634],.next-button[data-v-adfbf634]{flex:1;min-height:48px;padding:0 10px;border-radius:8px;font-size:14px;line-height:20px;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center}.download-button[data-v-adfbf634]{border:1px solid #00478d;background:transparent;color:#00478d}.next-button[data-v-adfbf634]{background:#00478d;box-shadow:0 2px 8px rgba(0,71,141,.2);color:#fff}.download-button[data-v-adfbf634]:active,.next-button[data-v-adfbf634]:active{transform:scale(.98)}.toast[data-v-adfbf634]{position:fixed;left:50%;bottom:92px;z-index:100;max-width:320px;padding:12px 20px;border-radius:12px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-adfbf634]{opacity:1;transform:translate(-50%)}@media (min-width: 768px){.assessment-page[data-v-adfbf634]{box-shadow:0 24px 64px rgba(25,28,33,.18)}} diff --git a/dist/assets/cases-CcgAAqTK.css b/dist/assets/cases-C6NCSirR.css similarity index 67% rename from dist/assets/cases-CcgAAqTK.css rename to dist/assets/cases-C6NCSirR.css index 7b802a7..2243298 100644 --- a/dist/assets/cases-CcgAAqTK.css +++ b/dist/assets/cases-C6NCSirR.css @@ -1 +1 @@ -uni-page-body[data-v-0f597440]{min-height:100%;background:#e7e8f0}body[data-v-0f597440]{background:#e7e8f0}.cases-page[data-v-0f597440]{min-height:100vh;background:#e7e8f0;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.case-shell[data-v-0f597440]{position:relative;min-height:100vh;overflow:hidden;background:#f2f3fb;display:flex;flex-direction:column}.case-header[data-v-0f597440]{position:absolute;left:0;right:0;top:0;z-index:20;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.header-spacer[data-v-0f597440]{flex:1}.icon-button[data-v-0f597440]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.icon-button[data-v-0f597440]:after{border:0}.icon-button[data-v-0f597440]:active{background:rgba(25,28,33,.05)}.home-button[data-v-0f597440]{margin-left:4px}.settings-icon[data-v-0f597440],.home-icon[data-v-0f597440],.account-icon[data-v-0f597440],.search-icon[data-v-0f597440]{background:#424752}.settings-icon[data-v-0f597440]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-0f597440]{width:23px;height:23px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-0f597440]{width:24px;height:24px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-content[data-v-0f597440]{box-sizing:border-box;height:100vh;padding:76px 20px 24px}.search-row[data-v-0f597440]{margin-bottom:12px}.search-box[data-v-0f597440]{position:relative;height:40px;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.search-icon[data-v-0f597440]{position:absolute;left:12px;top:50%;width:20px;height:20px;background:#727783;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203a6.5%206.5%200%200%200%200%2013c1.61%200%203.09-.59%204.23-1.57L19.29%2020%2020.7%2018.59l-5.56-5.56A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202a4.5%204.5%200%201%201%200%209%204.5%204.5%200%200%201%200-9z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203a6.5%206.5%200%200%200%200%2013c1.61%200%203.09-.59%204.23-1.57L19.29%2020%2020.7%2018.59l-5.56-5.56A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202a4.5%204.5%200%201%201%200%209%204.5%204.5%200%200%201%200-9z'/%3E%3C/svg%3E") center / contain no-repeat}.search-input[data-v-0f597440]{box-sizing:border-box;width:100%;height:40px;padding:0 16px 0 40px;border:0;background:transparent;color:#191c21;font-size:14px;line-height:20px}.search-placeholder[data-v-0f597440]{color:#c2c6d4}.case-list[data-v-0f597440]{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.case-card[data-v-0f597440]{padding:12px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;flex-direction:column;gap:8px}.case-card.mode-teaching[data-v-0f597440]{border-color:rgba(0,71,141,.22)}.case-card[data-v-0f597440]:active{transform:scale(.99)}.case-main[data-v-0f597440]{display:flex;gap:12px}.patient-avatar[data-v-0f597440]{position:relative;flex:0 0 auto;width:70px;height:70px;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;line-height:1;font-weight:700}.patient-avatar[data-v-0f597440]:before{content:"";position:absolute;left:50%;top:15px;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.42);transform:translate(-50%)}.patient-avatar[data-v-0f597440]:after{content:"";position:absolute;left:50%;bottom:-7px;width:50px;height:34px;border-radius:50% 50% 0 0;background:rgba(255,255,255,.28);transform:translate(-50%)}.patient-avatar uni-text[data-v-0f597440]{position:relative;z-index:1}.avatar-blue[data-v-0f597440]{background:linear-gradient(135deg,#7da6d9,#00478d)}.avatar-teal[data-v-0f597440]{background:linear-gradient(135deg,#5dd8e2,#006970)}.avatar-pink[data-v-0f597440]{background:linear-gradient(135deg,#ffb3c7,#a63a5f)}.avatar-orange[data-v-0f597440]{background:linear-gradient(135deg,#ffb691,#9f4300)}.avatar-purple[data-v-0f597440]{background:linear-gradient(135deg,#b5a6ff,#5f4bb6)}.avatar-green[data-v-0f597440]{background:linear-gradient(135deg,#9edc9a,#347a35)}.case-info[data-v-0f597440]{flex:1;min-width:0}.case-title[data-v-0f597440]{display:-webkit-box;margin-bottom:4px;overflow:hidden;color:#191c21;font-size:16px;line-height:20px;font-weight:600;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.case-meta[data-v-0f597440]{color:#424752;font-size:13px;line-height:20px}.case-footer[data-v-0f597440]{display:flex;align-items:flex-end;justify-content:space-between}.case-no[data-v-0f597440]{color:#c2c6d4;font-size:11px;line-height:16px;font-weight:600}.mode-badge[data-v-0f597440]{flex:0 0 auto;height:24px;padding:0 8px;border-radius:999px;display:flex;align-items:center;gap:4px;font-size:11px;line-height:16px;font-weight:700}.mode-badge-training[data-v-0f597440]{background:#ecedf6;color:#424752}.mode-badge-teaching[data-v-0f597440]{background:#d6e3ff;color:#00478d}.mode-icon[data-v-0f597440]{width:14px;height:14px;background:currentColor}.mode-icon-training[data-v-0f597440]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2l-3.5-3.5L4%2014.2%209%2019%2020%208l-1.5-1.5L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2l-3.5-3.5L4%2014.2%209%2019%2020%208l-1.5-1.5L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.mode-icon-teaching[data-v-0f597440]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%202.28L18.85%209%2012%2012.72%205.15%209%2012%205.28zM5%2013.18v3.2C6.63%2018.24%209.26%2019%2012%2019s5.37-.76%207-2.62v-3.2l-7%203.82-7-3.82z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%202.28L18.85%209%2012%2012.72%205.15%209%2012%205.28zM5%2013.18v3.2C6.63%2018.24%209.26%2019%2012%2019s5.37-.76%207-2.62v-3.2l-7%203.82-7-3.82z'/%3E%3C/svg%3E") center / contain no-repeat}.empty-state[data-v-0f597440]{padding:40px 0;text-align:center;color:#727783;font-size:14px;line-height:20px}.toast[data-v-0f597440]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-0f597440]{opacity:1;transform:translate(-50%)} +uni-page-body[data-v-64c7a872]{min-height:100%;background:#e7e8f0}body[data-v-64c7a872]{background:#e7e8f0}.cases-page[data-v-64c7a872]{min-height:100vh;background:#e7e8f0;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.case-shell[data-v-64c7a872]{position:relative;min-height:100vh;overflow:hidden;background:#f2f3fb;display:flex;flex-direction:column}.case-header[data-v-64c7a872]{position:absolute;left:0;right:0;top:0;z-index:20;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.header-spacer[data-v-64c7a872]{flex:1}.icon-button[data-v-64c7a872]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.icon-button[data-v-64c7a872]:after{border:0}.icon-button[data-v-64c7a872]:active{background:rgba(25,28,33,.05)}.home-button[data-v-64c7a872]{margin-left:4px}.settings-icon[data-v-64c7a872],.home-icon[data-v-64c7a872],.account-icon[data-v-64c7a872],.search-icon[data-v-64c7a872]{background:#424752}.settings-icon[data-v-64c7a872]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-64c7a872]{width:23px;height:23px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-64c7a872]{width:24px;height:24px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-content[data-v-64c7a872]{box-sizing:border-box;height:100vh;padding:76px 20px 24px}.search-row[data-v-64c7a872]{margin-bottom:12px}.search-box[data-v-64c7a872]{position:relative;height:40px;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.search-icon[data-v-64c7a872]{position:absolute;left:12px;top:50%;width:20px;height:20px;background:#727783;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203a6.5%206.5%200%200%200%200%2013c1.61%200%203.09-.59%204.23-1.57L19.29%2020%2020.7%2018.59l-5.56-5.56A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202a4.5%204.5%200%201%201%200%209%204.5%204.5%200%200%201%200-9z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203a6.5%206.5%200%200%200%200%2013c1.61%200%203.09-.59%204.23-1.57L19.29%2020%2020.7%2018.59l-5.56-5.56A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202a4.5%204.5%200%201%201%200%209%204.5%204.5%200%200%201%200-9z'/%3E%3C/svg%3E") center / contain no-repeat}.search-input[data-v-64c7a872]{box-sizing:border-box;width:100%;height:40px;padding:0 16px 0 40px;border:0;background:transparent;color:#191c21;font-size:14px;line-height:20px}.search-placeholder[data-v-64c7a872]{color:#c2c6d4}.case-list[data-v-64c7a872]{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.case-card[data-v-64c7a872]{padding:12px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;flex-direction:column;gap:8px}.case-card.mode-teaching[data-v-64c7a872]{border-color:rgba(0,71,141,.22)}.case-card[data-v-64c7a872]:active{transform:scale(.99)}.case-main[data-v-64c7a872]{display:flex;gap:12px}.patient-avatar[data-v-64c7a872]{position:relative;flex:0 0 auto;width:70px;height:70px;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;line-height:1;font-weight:700}.patient-avatar[data-v-64c7a872]:before{content:"";position:absolute;left:50%;top:15px;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.42);transform:translate(-50%)}.patient-avatar[data-v-64c7a872]:after{content:"";position:absolute;left:50%;bottom:-7px;width:50px;height:34px;border-radius:50% 50% 0 0;background:rgba(255,255,255,.28);transform:translate(-50%)}.patient-avatar uni-text[data-v-64c7a872]{position:relative;z-index:1}.avatar-blue[data-v-64c7a872]{background:linear-gradient(135deg,#7da6d9,#00478d)}.avatar-teal[data-v-64c7a872]{background:linear-gradient(135deg,#5dd8e2,#006970)}.avatar-pink[data-v-64c7a872]{background:linear-gradient(135deg,#ffb3c7,#a63a5f)}.avatar-orange[data-v-64c7a872]{background:linear-gradient(135deg,#ffb691,#9f4300)}.avatar-purple[data-v-64c7a872]{background:linear-gradient(135deg,#b5a6ff,#5f4bb6)}.avatar-green[data-v-64c7a872]{background:linear-gradient(135deg,#9edc9a,#347a35)}.case-info[data-v-64c7a872]{flex:1;min-width:0}.case-title[data-v-64c7a872]{display:-webkit-box;margin-bottom:4px;overflow:hidden;color:#191c21;font-size:16px;line-height:20px;font-weight:600;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.case-meta[data-v-64c7a872]{color:#424752;font-size:13px;line-height:20px}.case-footer[data-v-64c7a872]{display:flex;align-items:flex-end;justify-content:space-between}.case-no[data-v-64c7a872]{color:#c2c6d4;font-size:11px;line-height:16px;font-weight:600}.mode-badge[data-v-64c7a872]{flex:0 0 auto;height:24px;padding:0 8px;border-radius:999px;display:flex;align-items:center;gap:4px;font-size:11px;line-height:16px;font-weight:700}.mode-badge-training[data-v-64c7a872]{background:#ecedf6;color:#424752}.mode-badge-teaching[data-v-64c7a872]{background:#d6e3ff;color:#00478d}.mode-icon[data-v-64c7a872]{width:14px;height:14px;background:currentColor}.mode-icon-training[data-v-64c7a872]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2l-3.5-3.5L4%2014.2%209%2019%2020%208l-1.5-1.5L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2l-3.5-3.5L4%2014.2%209%2019%2020%208l-1.5-1.5L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.mode-icon-teaching[data-v-64c7a872]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%202.28L18.85%209%2012%2012.72%205.15%209%2012%205.28zM5%2013.18v3.2C6.63%2018.24%209.26%2019%2012%2019s5.37-.76%207-2.62v-3.2l-7%203.82-7-3.82z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%202.28L18.85%209%2012%2012.72%205.15%209%2012%205.28zM5%2013.18v3.2C6.63%2018.24%209.26%2019%2012%2019s5.37-.76%207-2.62v-3.2l-7%203.82-7-3.82z'/%3E%3C/svg%3E") center / contain no-repeat}.empty-state[data-v-64c7a872]{padding:40px 0;text-align:center;color:#727783;font-size:14px;line-height:20px}.toast[data-v-64c7a872]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-64c7a872]{opacity:1;transform:translate(-50%)} diff --git a/dist/assets/cases.BlouN7SM.js b/dist/assets/cases.BlouN7SM.js new file mode 100644 index 0000000..58bfc4d --- /dev/null +++ b/dist/assets/cases.BlouN7SM.js @@ -0,0 +1 @@ +import{C as e}from"./index-CpNRQgjE.js";function t(){return Promise.resolve([{id:"case-31190016",title:"间断四肢多关节肿痛5年,加重1个月",patientName:"郭爱和",gender:"男",age:43,department:"风湿免疫科",scene:"门诊部",caseNo:"31190016",tone:"blue",mode:"training"},{id:"case-31180002",title:"右膝关节疼痛8年,腰背部疼痛2年",patientName:"索航",gender:"男",age:51,department:"风湿免疫科",scene:"住院部",caseNo:"31180002",tone:"teal",mode:"training"},{id:"case-2238015",title:"阴道不规则流血4月。",patientName:"韩爱利",gender:"女",age:52,department:"妇科",scene:"住院部",caseNo:"2238015",tone:"pink",mode:"training"},{id:"case-1006004",title:"持续胸痛3小时",patientName:"陈先生",gender:"男",age:60,department:"心血管内科",scene:"住院部",caseNo:"1006004",tone:"orange",mode:"teaching"},{id:"case-31190042",title:"咳嗽、咳痰10余年,加重1周",patientName:"厉明",gender:"男",age:52,department:"呼吸内科",scene:"普通门诊",caseNo:"31190042",tone:"purple",mode:"training"},{id:"case-2238019",title:"尿频、尿急、尿痛3天",patientName:"刘晓元",gender:"女",age:25,department:"泌尿外科",scene:"急诊留观",caseNo:"2238019",tone:"green",mode:"training"}])}function n(){const t=e("clinical-thinking-selected-case");return t&&"object"==typeof t?t:null}export{t as f,n as r}; diff --git a/dist/assets/chat-17Js2Yz6.css b/dist/assets/chat-Dnc4ucdi.css similarity index 61% rename from dist/assets/chat-17Js2Yz6.css rename to dist/assets/chat-Dnc4ucdi.css index 472ab57..c199375 100644 --- a/dist/assets/chat-17Js2Yz6.css +++ b/dist/assets/chat-Dnc4ucdi.css @@ -1 +1 @@ -uni-page-body[data-v-11043b4d]{min-height:100%;background:#f9f9ff}body[data-v-11043b4d]{background:#f9f9ff}.chat-page[data-v-11043b4d]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.chat-page uni-view[data-v-11043b4d],.chat-page uni-text[data-v-11043b4d],.chat-page uni-button[data-v-11043b4d],.chat-page uni-input[data-v-11043b4d],.chat-page uni-scroll-view[data-v-11043b4d]{box-sizing:border-box}.chat-shell[data-v-11043b4d]{position:relative;height:100vh;overflow:hidden;background:#f9f9ff;display:flex;flex-direction:column}.top-nav[data-v-11043b4d]{position:fixed;left:0;right:0;top:0;z-index:50;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.nav-spacer[data-v-11043b4d]{flex:1}.icon-button[data-v-11043b4d]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.home-button[data-v-11043b4d]{margin-left:4px}.icon-button[data-v-11043b4d]:after,.finish-button[data-v-11043b4d]:after,.quick-chip[data-v-11043b4d]:after,.send-button[data-v-11043b4d]:after{border:0}.icon-button[data-v-11043b4d]:active{background:rgba(25,28,33,.05)}.settings-icon[data-v-11043b4d],.home-icon[data-v-11043b4d],.account-icon[data-v-11043b4d],.check-icon[data-v-11043b4d],.person-icon[data-v-11043b4d],.star-icon[data-v-11043b4d],.send-icon[data-v-11043b4d]{background:#424752}.settings-icon[data-v-11043b4d]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-11043b4d]{width:23px;height:23px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-11043b4d]{width:24px;height:24px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-header[data-v-11043b4d]{position:fixed;left:0;right:0;top:56px;z-index:40;box-sizing:border-box;height:100px;padding:16px 20px;background:#f9f9ff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-title-row[data-v-11043b4d]{position:relative;height:32px;display:block}.case-heading[data-v-11043b4d]{display:block;box-sizing:border-box;width:100%;padding-right:116px;color:#191c21;font-size:18px;line-height:28px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finish-button[data-v-11043b4d]{position:absolute;right:0;top:0;z-index:2;width:112px;height:32px;min-height:32px;margin:0;padding:0 14px;border:0;border-radius:999px;background:#00478d;box-shadow:0 4px 10px rgba(0,71,141,.22);color:#fff;font-size:14px;line-height:20px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px}.finish-button uni-text[data-v-11043b4d]{white-space:nowrap}.check-icon[data-v-11043b4d]{width:18px;height:18px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm-1.2%2014.4-4-4L8.2%2011l2.6%202.6L16.8%207.6%2018.2%209l-7.4%207.4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm-1.2%2014.4-4-4L8.2%2011l2.6%202.6L16.8%207.6%2018.2%209l-7.4%207.4z'/%3E%3C/svg%3E") center / contain no-repeat}.patient-meta[data-v-11043b4d]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;-moz-column-gap:24px;column-gap:24px;row-gap:4px;color:#424752;font-size:13px;line-height:20px}.stage-bar[data-v-11043b4d]{position:fixed;left:0;right:0;top:156px;z-index:30;box-sizing:border-box;height:72px;padding:8px 24px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;display:flex;align-items:center;justify-content:space-between}.stage-line[data-v-11043b4d],.stage-line-active[data-v-11043b4d]{position:absolute;left:24px;right:24px;top:28px;height:2px;background:#e1e2ea}.stage-line-active[data-v-11043b4d]{right:auto;width:10%;background:#00478d}.stage-item[data-v-11043b4d]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#c2c6d4;font-size:11px;line-height:16px}.stage-item.active[data-v-11043b4d]{color:#00478d;font-weight:700}.stage-dot[data-v-11043b4d]{width:24px;height:24px;border-radius:50%;background:#e1e2ea;display:flex;align-items:center;justify-content:center}.stage-item.active .stage-dot[data-v-11043b4d]{background:#00478d;box-shadow:0 0 0 4px rgba(200,218,255,.5)}.stage-icon[data-v-11043b4d]{width:14px;height:14px;background:currentColor}.stage-icon-history[data-v-11043b4d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-7%203a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm6%2012H6v-1.2c0-2%204-3.1%206-3.1s6%201.1%206%203.1V18z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-7%203a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm6%2012H6v-1.2c0-2%204-3.1%206-3.1s6%201.1%206%203.1V18z'/%3E%3C/svg%3E") center / contain no-repeat}.stage-icon-diagnosis[data-v-11043b4d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-1V1h-2v2H8V1H6v2H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zM8%207h8v2H8V7zm0%204h8v2H8v-2zm0%204h5v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-1V1h-2v2H8V1H6v2H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zM8%207h8v2H8V7zm0%204h8v2H8v-2zm0%204h5v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat}.stage-icon-treatment[data-v-11043b4d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat}.stage-item.active .stage-icon[data-v-11043b4d]{background:#fff}.chat-body[data-v-11043b4d]{box-sizing:border-box;height:100vh;padding:244px 20px 188px}.message-list[data-v-11043b4d]{display:flex;flex-direction:column;gap:24px}.message-row[data-v-11043b4d]{display:flex;align-items:flex-start;gap:16px;max-width:85%}.role-mentor[data-v-11043b4d]{align-self:flex-end}.role-doctor[data-v-11043b4d]{align-self:flex-end;flex-direction:row-reverse}.avatar[data-v-11043b4d]{flex:0 0 auto;width:40px;height:40px;border:1px solid #c2c6d4;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.patient-avatar[data-v-11043b4d]{background:linear-gradient(135deg,#ffb691,#9f4300);color:#fff;font-size:18px;font-weight:700}.doctor-avatar[data-v-11043b4d]{background:#7af1fc}.person-icon[data-v-11043b4d]{width:24px;height:24px;background:#006e75;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.message-bubble[data-v-11043b4d]{position:relative;padding:16px;border-radius:12px;box-shadow:0 2px 8px rgba(25,28,33,.04)}.message-bubble[data-v-11043b4d]:after{content:"";position:absolute;top:12px;width:14px;height:14px;transform:rotate(45deg)}.patient-bubble[data-v-11043b4d]{border:1px solid #c2c6d4;background:#f9f9ff}.patient-bubble[data-v-11043b4d]:after{left:-8px;border-left:1px solid #c2c6d4;border-bottom:1px solid #c2c6d4;background:#f9f9ff}.mentor-bubble[data-v-11043b4d]{border:1px solid rgba(0,71,141,.2);background:#e7e8f0}.mentor-bubble[data-v-11043b4d]:after{right:-8px;border-right:1px solid rgba(0,71,141,.2);border-top:1px solid rgba(0,71,141,.2);background:#e7e8f0}.doctor-bubble[data-v-11043b4d]{border:1px solid rgba(0,71,141,.1);background:#005eb8}.doctor-bubble[data-v-11043b4d]:after{right:-8px;background:#005eb8}.message-content[data-v-11043b4d]{color:#191c21;font-size:16px;line-height:24px}.mentor-bubble .message-content[data-v-11043b4d]{color:#00478d;font-weight:600;font-style:italic}.doctor-bubble .message-content[data-v-11043b4d]{color:#c8daff}.message-label[data-v-11043b4d]{margin-top:8px;color:#727783;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0;text-transform:uppercase;display:flex;align-items:center;gap:4px}.message-label.mentor[data-v-11043b4d]{color:#00478d;font-weight:700}.doctor-bubble .message-label[data-v-11043b4d]{justify-content:flex-end;color:rgba(200,218,255,.72)}.star-icon[data-v-11043b4d]{width:16px;height:16px;background:#00478d;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat}.mentor-float[data-v-11043b4d]{position:fixed;right:20px;bottom:140px;z-index:45;display:flex;flex-direction:column;align-items:center;cursor:pointer;pointer-events:auto;transition:transform .18s ease,opacity .18s ease}.mentor-float[data-v-11043b4d]:active{transform:scale(.96)}.mentor-float.loading[data-v-11043b4d]{opacity:.72;pointer-events:none}.mentor-badge[data-v-11043b4d]{margin-bottom:8px;padding:4px 12px;border-radius:999px;background:#00478d;box-shadow:0 3px 8px rgba(0,71,141,.22);color:#fff;font-size:12px;line-height:16px;font-weight:700;animation:pulse-soft-11043b4d 1.6s ease-in-out infinite}.mentor-avatar[data-v-11043b4d]{width:96px;height:96px;border:2px solid #00478d;border-radius:50%;box-shadow:0 8px 18px rgba(25,28,33,.18);overflow:hidden;background:#fff;animation:breathe-11043b4d 3s ease-in-out infinite}.mentor-avatar uni-image[data-v-11043b4d]{width:100%;height:100%}.input-panel[data-v-11043b4d]{position:fixed;left:0;right:0;bottom:0;z-index:50;box-sizing:border-box;padding:12px;border-top:1px solid #c2c6d4;background:#f9f9ff;display:flex;flex-direction:column;gap:16px}.quick-actions[data-v-11043b4d]{width:100%;white-space:nowrap}.quick-row[data-v-11043b4d]{display:flex;gap:8px}.quick-chip[data-v-11043b4d]{flex:0 0 auto;padding:8px 16px;border:1px solid #006970;border-radius:999px;background:#fff;color:#006970;font-size:14px;line-height:20px;font-weight:600}.input-row[data-v-11043b4d]{min-height:48px;padding:4px;border:1px solid #c2c6d4;border-radius:12px;background:#ecedf6;display:flex;align-items:center;gap:8px}.chat-input[data-v-11043b4d]{flex:1;min-width:0;height:40px;padding:0 8px;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.input-placeholder[data-v-11043b4d]{color:#c2c6d4}.send-button[data-v-11043b4d]{flex:0 0 auto;width:40px;height:40px;border-radius:8px;background:#00478d;display:flex;align-items:center;justify-content:center}.send-button[data-v-11043b4d]:active{transform:scale(.95)}.send-icon[data-v-11043b4d]{width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021 23%2012 2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021 23%2012 2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E") center / contain no-repeat}.exam-mask[data-v-11043b4d]{position:fixed;left:0;right:0;top:0;bottom:0;z-index:120;background:rgba(25,28,33,.36);display:flex;align-items:flex-end;justify-content:center}.exam-panel[data-v-11043b4d]{width:100%;max-width:448px;max-height:62vh;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.18);display:flex;flex-direction:column;overflow:hidden}.physical-panel[data-v-11043b4d]{width:100%;max-width:448px;max-height:78vh;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.18);display:flex;flex-direction:column;overflow:hidden}.exam-header[data-v-11043b4d]{box-sizing:border-box;flex:0 0 auto;height:64px;padding:0 20px;border-bottom:1px solid #e7e8f0;display:flex;align-items:center;justify-content:space-between}.exam-title[data-v-11043b4d]{color:#191c21;font-size:20px;line-height:28px;font-weight:700}.exam-close[data-v-11043b4d]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.exam-close[data-v-11043b4d]:after,.exam-item[data-v-11043b4d]:after{border:0}.close-icon[data-v-11043b4d]{position:relative;width:24px;height:24px}.close-icon[data-v-11043b4d]:before,.close-icon[data-v-11043b4d]:after{content:"";position:absolute;left:3px;top:11px;width:20px;height:2px;border-radius:999px;background:#2e3037}.close-icon[data-v-11043b4d]:before{transform:rotate(45deg)}.close-icon[data-v-11043b4d]:after{transform:rotate(-45deg)}.exam-list[data-v-11043b4d]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.exam-item[data-v-11043b4d]{box-sizing:border-box;width:100%;height:76px;padding:0 20px;border-bottom:1px solid #e7e8f0;border-radius:0;background:#fff;display:flex;align-items:center;justify-content:space-between;text-align:left}.exam-item[data-v-11043b4d]:active{background:#f2f3fb}.exam-name[data-v-11043b4d]{color:#191c21;font-size:18px;line-height:26px;font-weight:500}.chevron-icon[data-v-11043b4d]{width:13px;height:13px;border-top:2px solid #191c21;border-right:2px solid #191c21;transform:rotate(45deg)}.physical-form[data-v-11043b4d]{flex:1;min-height:0;padding:16px 20px;background:#f9f9ff}.vital-grid[data-v-11043b4d]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-field[data-v-11043b4d]{position:relative;box-sizing:border-box;min-height:72px;padding:10px 12px;border:1px solid #c2c6d4;border-radius:12px;background:#fff;display:flex;align-items:flex-end}.form-field.full[data-v-11043b4d],.form-field.textarea-field[data-v-11043b4d]{margin-top:12px}.field-label[data-v-11043b4d]{position:absolute;left:12px;top:8px;color:#424752;font-size:12px;line-height:16px;font-weight:600}.field-input[data-v-11043b4d]{flex:1;min-width:0;height:32px;padding:12px 4px 0 0;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.field-unit[data-v-11043b4d]{flex:0 0 auto;margin-left:4px;color:#727783;font-size:12px;line-height:24px;font-weight:600}.field-placeholder[data-v-11043b4d]{color:rgba(114,119,131,.55)}.textarea-field[data-v-11043b4d]{min-height:104px;align-items:stretch}.field-textarea[data-v-11043b4d]{width:100%;min-height:76px;margin-top:18px;padding:0;border:0;background:transparent;color:#191c21;font-size:15px;line-height:22px}.physical-actions[data-v-11043b4d]{flex:0 0 auto;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e7e8f0;background:#fff;display:flex;gap:12px}.physical-cancel[data-v-11043b4d],.physical-submit[data-v-11043b4d]{flex:1;height:48px;border-radius:12px;font-size:16px;line-height:48px;font-weight:700}.physical-cancel[data-v-11043b4d]:after,.physical-submit[data-v-11043b4d]:after{border:0}.physical-cancel[data-v-11043b4d]{border:1px solid rgba(0,71,141,.22);background:#fff;color:#00478d}.physical-submit[data-v-11043b4d]{background:#00478d;color:#fff;box-shadow:0 4px 12px rgba(0,71,141,.18)}.toast[data-v-11043b4d]{position:fixed;left:50%;bottom:148px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-11043b4d]{opacity:1;transform:translate(-50%)}@keyframes breathe-11043b4d{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}@keyframes pulse-soft-11043b4d{0%,to{opacity:1}50%{opacity:.72}} +uni-page-body[data-v-5cbdbcc3]{min-height:100%;background:#f9f9ff}body[data-v-5cbdbcc3]{background:#f9f9ff}.chat-page[data-v-5cbdbcc3]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.chat-page uni-view[data-v-5cbdbcc3],.chat-page uni-text[data-v-5cbdbcc3],.chat-page uni-button[data-v-5cbdbcc3],.chat-page uni-input[data-v-5cbdbcc3],.chat-page uni-scroll-view[data-v-5cbdbcc3]{box-sizing:border-box}.chat-shell[data-v-5cbdbcc3]{position:relative;height:100vh;overflow:hidden;background:#f9f9ff;display:flex;flex-direction:column}.top-nav[data-v-5cbdbcc3]{position:fixed;left:0;right:0;top:0;z-index:50;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.nav-spacer[data-v-5cbdbcc3]{flex:1}.icon-button[data-v-5cbdbcc3]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.home-button[data-v-5cbdbcc3]{margin-left:4px}.icon-button[data-v-5cbdbcc3]:after,.finish-button[data-v-5cbdbcc3]:after,.quick-chip[data-v-5cbdbcc3]:after,.send-button[data-v-5cbdbcc3]:after{border:0}.icon-button[data-v-5cbdbcc3]:active{background:rgba(25,28,33,.05)}.settings-icon[data-v-5cbdbcc3],.home-icon[data-v-5cbdbcc3],.account-icon[data-v-5cbdbcc3],.check-icon[data-v-5cbdbcc3],.person-icon[data-v-5cbdbcc3],.star-icon[data-v-5cbdbcc3],.send-icon[data-v-5cbdbcc3]{background:#424752}.settings-icon[data-v-5cbdbcc3]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-5cbdbcc3]{width:23px;height:23px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-5cbdbcc3]{width:24px;height:24px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-header[data-v-5cbdbcc3]{position:fixed;left:0;right:0;top:56px;z-index:40;box-sizing:border-box;height:100px;padding:16px 20px;background:#f9f9ff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-title-row[data-v-5cbdbcc3]{position:relative;height:32px;display:block}.case-heading[data-v-5cbdbcc3]{display:block;box-sizing:border-box;width:100%;padding-right:116px;color:#191c21;font-size:18px;line-height:28px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finish-button[data-v-5cbdbcc3]{position:absolute;right:0;top:0;z-index:2;width:112px;height:32px;min-height:32px;margin:0;padding:0 14px;border:0;border-radius:999px;background:#00478d;box-shadow:0 4px 10px rgba(0,71,141,.22);color:#fff;font-size:14px;line-height:20px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px}.finish-button uni-text[data-v-5cbdbcc3]{white-space:nowrap}.check-icon[data-v-5cbdbcc3]{width:18px;height:18px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm-1.2%2014.4-4-4L8.2%2011l2.6%202.6L16.8%207.6%2018.2%209l-7.4%207.4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm-1.2%2014.4-4-4L8.2%2011l2.6%202.6L16.8%207.6%2018.2%209l-7.4%207.4z'/%3E%3C/svg%3E") center / contain no-repeat}.patient-meta[data-v-5cbdbcc3]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;-moz-column-gap:24px;column-gap:24px;row-gap:4px;color:#424752;font-size:13px;line-height:20px}.stage-bar[data-v-5cbdbcc3]{position:fixed;left:0;right:0;top:156px;z-index:30;box-sizing:border-box;height:72px;padding:8px 24px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;display:flex;align-items:center;justify-content:space-between}.stage-line[data-v-5cbdbcc3],.stage-line-active[data-v-5cbdbcc3]{position:absolute;left:24px;right:24px;top:28px;height:2px;background:#e1e2ea}.stage-line-active[data-v-5cbdbcc3]{right:auto;width:10%;background:#00478d}.stage-item[data-v-5cbdbcc3]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#c2c6d4;font-size:11px;line-height:16px}.stage-item.active[data-v-5cbdbcc3]{color:#00478d;font-weight:700}.stage-dot[data-v-5cbdbcc3]{width:24px;height:24px;border-radius:50%;background:#e1e2ea;display:flex;align-items:center;justify-content:center}.stage-item.active .stage-dot[data-v-5cbdbcc3]{background:#00478d;box-shadow:0 0 0 4px rgba(200,218,255,.5)}.stage-icon[data-v-5cbdbcc3]{width:14px;height:14px;background:currentColor}.stage-icon-history[data-v-5cbdbcc3]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-7%203a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm6%2012H6v-1.2c0-2%204-3.1%206-3.1s6%201.1%206%203.1V18z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-7%203a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm6%2012H6v-1.2c0-2%204-3.1%206-3.1s6%201.1%206%203.1V18z'/%3E%3C/svg%3E") center / contain no-repeat}.stage-icon-diagnosis[data-v-5cbdbcc3]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-1V1h-2v2H8V1H6v2H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zM8%207h8v2H8V7zm0%204h8v2H8v-2zm0%204h5v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-1V1h-2v2H8V1H6v2H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zM8%207h8v2H8V7zm0%204h8v2H8v-2zm0%204h5v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat}.stage-icon-treatment[data-v-5cbdbcc3]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat}.stage-item.active .stage-icon[data-v-5cbdbcc3]{background:#fff}.chat-body[data-v-5cbdbcc3]{box-sizing:border-box;height:100vh;padding:244px 20px 188px}.message-list[data-v-5cbdbcc3]{display:flex;flex-direction:column;gap:24px}.message-row[data-v-5cbdbcc3]{display:flex;align-items:flex-start;gap:16px;max-width:85%}.role-mentor[data-v-5cbdbcc3]{align-self:flex-end}.role-doctor[data-v-5cbdbcc3]{align-self:flex-end;flex-direction:row-reverse}.avatar[data-v-5cbdbcc3]{flex:0 0 auto;width:40px;height:40px;border:1px solid #c2c6d4;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.patient-avatar[data-v-5cbdbcc3]{background:linear-gradient(135deg,#ffb691,#9f4300);color:#fff;font-size:18px;font-weight:700}.doctor-avatar[data-v-5cbdbcc3]{background:#7af1fc}.person-icon[data-v-5cbdbcc3]{width:24px;height:24px;background:#006e75;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.message-bubble[data-v-5cbdbcc3]{position:relative;padding:16px;border-radius:12px;box-shadow:0 2px 8px rgba(25,28,33,.04)}.message-bubble[data-v-5cbdbcc3]:after{content:"";position:absolute;top:12px;width:14px;height:14px;transform:rotate(45deg)}.patient-bubble[data-v-5cbdbcc3]{border:1px solid #c2c6d4;background:#f9f9ff}.patient-bubble[data-v-5cbdbcc3]:after{left:-8px;border-left:1px solid #c2c6d4;border-bottom:1px solid #c2c6d4;background:#f9f9ff}.mentor-bubble[data-v-5cbdbcc3]{border:1px solid rgba(0,71,141,.2);background:#e7e8f0}.mentor-bubble[data-v-5cbdbcc3]:after{right:-8px;border-right:1px solid rgba(0,71,141,.2);border-top:1px solid rgba(0,71,141,.2);background:#e7e8f0}.doctor-bubble[data-v-5cbdbcc3]{border:1px solid rgba(0,71,141,.1);background:#005eb8}.doctor-bubble[data-v-5cbdbcc3]:after{right:-8px;background:#005eb8}.message-content[data-v-5cbdbcc3]{color:#191c21;font-size:16px;line-height:24px}.mentor-bubble .message-content[data-v-5cbdbcc3]{color:#00478d;font-weight:600;font-style:italic}.doctor-bubble .message-content[data-v-5cbdbcc3]{color:#c8daff}.message-label[data-v-5cbdbcc3]{margin-top:8px;color:#727783;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0;text-transform:uppercase;display:flex;align-items:center;gap:4px}.message-label.mentor[data-v-5cbdbcc3]{color:#00478d;font-weight:700}.doctor-bubble .message-label[data-v-5cbdbcc3]{justify-content:flex-end;color:rgba(200,218,255,.72)}.star-icon[data-v-5cbdbcc3]{width:16px;height:16px;background:#00478d;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat}.mentor-float[data-v-5cbdbcc3]{position:fixed;right:20px;bottom:140px;z-index:45;display:flex;flex-direction:column;align-items:center;cursor:pointer;pointer-events:auto;transition:transform .18s ease,opacity .18s ease}.mentor-float[data-v-5cbdbcc3]:active{transform:scale(.96)}.mentor-float.loading[data-v-5cbdbcc3]{opacity:.72;pointer-events:none}.mentor-badge[data-v-5cbdbcc3]{margin-bottom:8px;padding:4px 12px;border-radius:999px;background:#00478d;box-shadow:0 3px 8px rgba(0,71,141,.22);color:#fff;font-size:12px;line-height:16px;font-weight:700;animation:pulse-soft-5cbdbcc3 1.6s ease-in-out infinite}.mentor-avatar[data-v-5cbdbcc3]{width:96px;height:96px;border:2px solid #00478d;border-radius:50%;box-shadow:0 8px 18px rgba(25,28,33,.18);overflow:hidden;background:#fff;animation:breathe-5cbdbcc3 3s ease-in-out infinite}.mentor-avatar uni-image[data-v-5cbdbcc3]{width:100%;height:100%}.input-panel[data-v-5cbdbcc3]{position:fixed;left:0;right:0;bottom:0;z-index:50;box-sizing:border-box;padding:12px;border-top:1px solid #c2c6d4;background:#f9f9ff;display:flex;flex-direction:column;gap:16px}.quick-actions[data-v-5cbdbcc3]{width:100%;white-space:nowrap}.quick-row[data-v-5cbdbcc3]{display:flex;gap:8px}.quick-chip[data-v-5cbdbcc3]{flex:0 0 auto;padding:8px 16px;border:1px solid #006970;border-radius:999px;background:#fff;color:#006970;font-size:14px;line-height:20px;font-weight:600}.input-row[data-v-5cbdbcc3]{min-height:48px;padding:4px;border:1px solid #c2c6d4;border-radius:12px;background:#ecedf6;display:flex;align-items:center;gap:8px}.chat-input[data-v-5cbdbcc3]{flex:1;min-width:0;height:40px;padding:0 8px;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.input-placeholder[data-v-5cbdbcc3]{color:#c2c6d4}.send-button[data-v-5cbdbcc3]{flex:0 0 auto;width:40px;height:40px;border-radius:8px;background:#00478d;display:flex;align-items:center;justify-content:center}.send-button[data-v-5cbdbcc3]:active{transform:scale(.95)}.send-icon[data-v-5cbdbcc3]{width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021 23%2012 2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021 23%2012 2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E") center / contain no-repeat}.exam-mask[data-v-5cbdbcc3]{position:fixed;left:0;right:0;top:0;bottom:0;z-index:120;background:rgba(25,28,33,.36);display:flex;align-items:flex-end;justify-content:center}.exam-panel[data-v-5cbdbcc3]{width:100%;max-width:448px;max-height:62vh;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.18);display:flex;flex-direction:column;overflow:hidden}.physical-panel[data-v-5cbdbcc3]{width:100%;max-width:448px;max-height:78vh;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.18);display:flex;flex-direction:column;overflow:hidden}.exam-header[data-v-5cbdbcc3]{box-sizing:border-box;flex:0 0 auto;height:64px;padding:0 20px;border-bottom:1px solid #e7e8f0;display:flex;align-items:center;justify-content:space-between}.exam-title[data-v-5cbdbcc3]{color:#191c21;font-size:20px;line-height:28px;font-weight:700}.exam-close[data-v-5cbdbcc3]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.exam-close[data-v-5cbdbcc3]:after,.exam-item[data-v-5cbdbcc3]:after{border:0}.close-icon[data-v-5cbdbcc3]{position:relative;width:24px;height:24px}.close-icon[data-v-5cbdbcc3]:before,.close-icon[data-v-5cbdbcc3]:after{content:"";position:absolute;left:3px;top:11px;width:20px;height:2px;border-radius:999px;background:#2e3037}.close-icon[data-v-5cbdbcc3]:before{transform:rotate(45deg)}.close-icon[data-v-5cbdbcc3]:after{transform:rotate(-45deg)}.exam-list[data-v-5cbdbcc3]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.exam-item[data-v-5cbdbcc3]{box-sizing:border-box;width:100%;height:76px;padding:0 20px;border-bottom:1px solid #e7e8f0;border-radius:0;background:#fff;display:flex;align-items:center;justify-content:space-between;text-align:left}.exam-item[data-v-5cbdbcc3]:active{background:#f2f3fb}.exam-name[data-v-5cbdbcc3]{color:#191c21;font-size:18px;line-height:26px;font-weight:500}.chevron-icon[data-v-5cbdbcc3]{width:13px;height:13px;border-top:2px solid #191c21;border-right:2px solid #191c21;transform:rotate(45deg)}.physical-form[data-v-5cbdbcc3]{flex:1;min-height:0;padding:16px 20px;background:#f9f9ff}.vital-grid[data-v-5cbdbcc3]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-field[data-v-5cbdbcc3]{position:relative;box-sizing:border-box;min-height:72px;padding:10px 12px;border:1px solid #c2c6d4;border-radius:12px;background:#fff;display:flex;align-items:flex-end}.form-field.full[data-v-5cbdbcc3],.form-field.textarea-field[data-v-5cbdbcc3]{margin-top:12px}.field-label[data-v-5cbdbcc3]{position:absolute;left:12px;top:8px;color:#424752;font-size:12px;line-height:16px;font-weight:600}.field-input[data-v-5cbdbcc3]{flex:1;min-width:0;height:32px;padding:12px 4px 0 0;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.field-unit[data-v-5cbdbcc3]{flex:0 0 auto;margin-left:4px;color:#727783;font-size:12px;line-height:24px;font-weight:600}.field-placeholder[data-v-5cbdbcc3]{color:rgba(114,119,131,.55)}.textarea-field[data-v-5cbdbcc3]{min-height:104px;align-items:stretch}.field-textarea[data-v-5cbdbcc3]{width:100%;min-height:76px;margin-top:18px;padding:0;border:0;background:transparent;color:#191c21;font-size:15px;line-height:22px}.physical-actions[data-v-5cbdbcc3]{flex:0 0 auto;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e7e8f0;background:#fff;display:flex;gap:12px}.physical-cancel[data-v-5cbdbcc3],.physical-submit[data-v-5cbdbcc3]{flex:1;height:48px;border-radius:12px;font-size:16px;line-height:48px;font-weight:700}.physical-cancel[data-v-5cbdbcc3]:after,.physical-submit[data-v-5cbdbcc3]:after{border:0}.physical-cancel[data-v-5cbdbcc3]{border:1px solid rgba(0,71,141,.22);background:#fff;color:#00478d}.physical-submit[data-v-5cbdbcc3]{background:#00478d;color:#fff;box-shadow:0 4px 12px rgba(0,71,141,.18)}.toast[data-v-5cbdbcc3]{position:fixed;left:50%;bottom:148px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-5cbdbcc3]{opacity:1;transform:translate(-50%)}@keyframes breathe-5cbdbcc3{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}@keyframes pulse-soft-5cbdbcc3{0%,to{opacity:1}50%{opacity:.72}} diff --git a/dist/assets/chat.BJUnN6Cc.js b/dist/assets/chat.BJUnN6Cc.js deleted file mode 100644 index aa9d636..0000000 --- a/dist/assets/chat.BJUnN6Cc.js +++ /dev/null @@ -1 +0,0 @@ -import{D as e,d as a,b as l,a as t,c as s,o as n,e as o,f as i,g as c,C as r,w as u,j as d,k as m,t as f,m as p,p as g,F as h,n as _,l as v,h as b,u as y,z as k,A as w,y as x,S as $,x as C,I as V,K as D}from"./index-BcNbz4lX.js";import{_ as O}from"./config-doctor.TgARj_nM.js";import{c as F}from"./navigation.C2H9AjnS.js";import S from"./pages-diagnosis-diagnosis.m6R6jwOM.js";import{_ as j}from"./_plugin-vue_export-helper.BCo6x5W8.js";const E={id:"case-1006004",title:"持续胸痛3小时",patientName:"陈先生",gender:"男",age:60,department:"心血管内科",scene:"住院部",caseNo:"1006004",tone:"orange",mode:"training"};function I(){const a=e("clinical-thinking-access-token");if("string"!=typeof a||!a.trim())throw new Error("登录已过期,请重新登录");return a}function T(e="application/json"){return{"Content-Type":"application/json",Accept:e,Authorization:`Bearer ${I()}`,"X-Entry-Scene":"vue_frontend"}}async function A(e){const a=await e.text().catch((()=>""));if(!a)return`请求失败(${e.status})`;try{const e=JSON.parse(a),l=e.message||e.detail||e.error;if("string"==typeof l&&l.trim())return l}catch{}return a}async function P(e){var a;const l=await fetch("/fastapi/api/v1/sessions",{method:"POST",headers:T(),body:JSON.stringify(e)});if(!l.ok)throw new Error(await A(l));const t=await l.json();if("OK"!==t.code||!(null==(a=t.data)?void 0:a.session_id))throw new Error(t.message||"新建会话失败");return t.data}const N=j(a({__name:"chat",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(a,{emit:j}){const I=a,P=j,N=F(P),U=l({patient:{name:"陈先生",gender:"男",age:60,department:"心血管内科",chiefComplaint:"持续胸痛3小时"},stages:[{key:"history",label:"病史采集",active:!0},{key:"diagnosis",label:"初步诊断",active:!1},{key:"treatment",label:"治疗方案",active:!1}],messages:[]}),J=t(""),q=t(!1),z=t(!1),H=t(0),M=t(""),R=t(!1),X=t(!1),B=t(!1),K=t(!1),G=t(null);let Q=null,L=null,W=null;const Y=[{name:"心电图",result:"检查结果:床边12导联心电图提示窦性心律,II、III、aVF 导联 ST 段抬高,提示下壁急性心肌梗死可能。"},{name:"胸部X线",result:"检查结果:胸部X线未见明显气胸或纵隔明显增宽,心影大小基本正常,不能排除急性冠脉综合征。"},{name:"心脏超声",result:"检查结果:心脏超声提示左室下壁节段性运动减低,未见大量心包积液,需结合心电图及心肌标志物判断。"},{name:"冠脉CTA",result:"检查结果:冠脉CTA提示右冠状动脉近段重度狭窄/闭塞可能,建议结合急诊介入评估。"}],Z=l({temperature:"",pulse:"",respiration:"",bloodPressure:"",spo2:"",complexion:"",examFinding:"",otherFinding:""}),ee=s((()=>U.patient.chiefComplaint.includes("胸痛")?"胸痛":U.patient.chiefComplaint.slice(0,6)));function ae(){K.value=!1,B.value=!0}function le(){B.value=!1,K.value=!0}function te(){const e=[Z.temperature.trim()?`体温 ${Z.temperature.trim()}℃`:"",Z.pulse.trim()?`心率 ${Z.pulse.trim()}次/分`:"",Z.respiration.trim()?`呼吸 ${Z.respiration.trim()}次/分`:"",Z.bloodPressure.trim()?`血压 ${Z.bloodPressure.trim()}mmHg`:"",Z.spo2.trim()?`血氧 ${Z.spo2.trim()}%`:"",Z.complexion.trim()?`意识/面色:${Z.complexion.trim()}`:"",Z.examFinding.trim()?`心肺/腹部查体:${Z.examFinding.trim()}`:"",Z.otherFinding.trim()?`其他发现:${Z.otherFinding.trim()}`:""].filter(Boolean);if(0===e.length)return void re("请至少录入一项体格检查");const a=Date.now(),l=[{id:`doctor-physical-${a}`,role:"doctor",content:`录入体格检查:${e.join(";")}`,label:"我"},{id:`mentor-physical-${a+1}`,role:"mentor",content:se(),label:"AI助手"}];U.messages.push(...l),K.value=!1,Z.temperature="",Z.pulse="",Z.respiration="",Z.bloodPressure="",Z.spo2="",Z.complexion="",Z.examFinding="",Z.otherFinding="",ce()}function se(){const e=Number(Z.pulse),a=Number(Z.respiration),l=Number(Z.spo2),t=Number(Z.temperature),s=[];e>=100&&s.push("心率偏快"),a>=22&&s.push("呼吸频率偏快"),l>0&&l<95&&s.push("血氧偏低"),t>=37.3&&s.push("体温偏高"),(Z.complexion.includes("苍白")||Z.complexion.includes("出汗"))&&s.push("面色/出汗提示急性病容"),(Z.otherFinding.includes("血压差")||Z.otherFinding.includes("双侧"))&&s.push("双侧血压或脉搏差异需警惕主动脉夹层");return`${s.length?`已记录体格检查。当前提示:${s.join("、")}。`:"已记录体格检查,暂未见明确异常体征。"}建议结合胸痛性质、心电图及心肌标志物进一步判断,并持续监测生命体征变化。`}function ne(){const e=J.value.trim();if(e&&!q.value){if(J.value="",G.value)return U.messages.push({id:`doctor-${Date.now()}`,role:"doctor",content:e,label:"我"}),ce(),void oe(e);q.value=!0,function(e){const a=e.trim(),l=a.includes("出冷汗")||a.includes("恶心")?"有,刚才疼得厉害的时候出了一身冷汗,还有点恶心,但没有吐。":a.includes("体格检查")?"患者面色苍白,额部出汗,心率偏快,血压较入院时略低。":a.includes("辅助检查")?"心电图提示下壁导联 ST 段抬高,肌钙蛋白待回报。":"疼痛主要在胸骨后,像压榨一样,休息后也没有明显缓解。";return Promise.resolve([{id:`doctor-${Date.now()}`,role:"doctor",content:a,label:"我"},{id:`patient-${Date.now()+1}`,role:"patient",content:l,label:"患者"},{id:`mentor-${Date.now()+2}`,role:"mentor",content:"很好,继续围绕 OPQRST 思路追问疼痛诱因、部位、性质、放射、持续时间和缓解因素,同时关注危险信号。",label:"王主任"}])}(e).then((e=>{U.messages.push(...e),ce()})).finally((()=>{q.value=!1}))}}async function oe(e){const a=G.value;if(!a)return;q.value=!0,null==L||L.abort(),L=new AbortController;const l=U.messages.length;U.messages.push({id:`patient-stream-${Date.now()}`,role:"patient",content:"",label:"患者"}),ce();try{await async function(e,a,l,t){var s,n,o;const i=await fetch(`/fastapi/api/v1/sessions/${e}/chat/stream`,{method:"POST",headers:T("text/event-stream"),body:JSON.stringify({message:a}),signal:t});if(!i.ok||!i.body)throw new Error(await A(i));const c=i.body.getReader(),r=new TextDecoder;let u="",d=!1;for(;;){const{value:e,done:a}=await c.read();if(a)break;u+=r.decode(e,{stream:!0});const t=u.split("\n\n");u=t.pop()||"";for(const i of t){const e=null==(s=i.match(/^event:\s*(.+)$/m))?void 0:s[1],a=null==(n=i.match(/^data:\s*(.+)$/m))?void 0:n[1];if(!e||!a)continue;const t=JSON.parse(a);if("message_delta"===e){const e=t.delta;"string"==typeof e&&l.onDelta(e)}else if("message_done"===e)d=!0,null==(o=l.onDone)||o.call(l,t);else if("error"===e)throw new Error("string"==typeof t.message?t.message:"AI 流式回复异常")}}if(!d)throw new Error("AI 流式回复未正常结束,请重试")}(a,e,{onDelta(e){U.messages[l].content+=e,ce()}},L.signal)}catch(t){if(t instanceof DOMException&&"AbortError"===t.name)return;U.messages[l].content.trim()||(U.messages[l].content="AI 病人回复失败,请重试。"),re(t instanceof Error?t.message:"AI 流式回复异常")}finally{q.value=!1,L=null,ce()}}async function ie(){const e=G.value;if(!e)return void re("请先生成模拟场景");if(z.value)return;z.value=!0,null==W||W.abort(),W=new AbortController;const a=U.messages.length;U.messages.push({id:`mentor-hint-${Date.now()}`,role:"mentor",content:"王主任正在生成提示...",label:"王主任"}),ce();try{let l=!1;await async function(e,a,l,t){var s,n,o;const i={last_user_message:a,scope:"current_conversation"},c=await fetch(`/fastapi/api/v1/sessions/${e}/hints/stream`,{method:"POST",headers:T("text/event-stream"),body:JSON.stringify(i),signal:t});if(!c.ok||!c.body)throw new Error(await A(c));const r=c.body.getReader(),u=new TextDecoder;let d="",m=!1;for(;;){const{value:e,done:a}=await r.read();if(a)break;d+=u.decode(e,{stream:!0});const t=d.split("\n\n");d=t.pop()||"";for(const i of t){const e=null==(s=i.match(/^event:\s*(.+)$/m))?void 0:s[1],a=null==(n=i.match(/^data:\s*(.+)$/m))?void 0:n[1];if(!e||!a)continue;const t=JSON.parse(a);if("hint_delta"===e){const e=t.delta;"string"==typeof e&&l.onDelta(e)}else if("hint_done"===e)m=!0,null==(o=l.onDone)||o.call(l,t);else if("error"===e)throw new Error("string"==typeof t.message?t.message:"练习提示生成失败,请稍后重试")}}if(!m)throw new Error("练习提示未正常结束,请重试")}(e,function(){const e=[...U.messages].reverse().find((e=>"doctor"===e.role));return(null==e?void 0:e.content)||"开始问诊"}(),{onDelta(e){l||(U.messages[a].content="",l=!0),U.messages[a].content+=e,ce()}},W.signal)}catch(l){if(l instanceof DOMException&&"AbortError"===l.name)return;U.messages[a].content.trim()&&"王主任正在生成提示..."!==U.messages[a].content||(U.messages[a].content="练习提示生成失败,请稍后重试。"),re(l instanceof Error?l.message:"练习提示生成失败,请稍后重试")}finally{z.value=!1,W=null,ce()}}function ce(){setTimeout((()=>{H.value+=1e3}),60)}function re(e){Q&&clearTimeout(Q),M.value=e,R.value=!0,y({title:e,icon:"none"}),Q=setTimeout((()=>{R.value=!1}),2200)}return n((function(){(function(e){const a=e||E,l="毕波涛"===a.patientName?"陈先生":a.patientName;return Promise.resolve({patient:{name:l,gender:a.gender,age:a.age,department:a.department,chiefComplaint:a.title},stages:[{key:"history",label:"病史采集",active:!0},{key:"diagnosis",label:"初步诊断",active:!1},{key:"treatment",label:"治疗方案",active:!1}],messages:[{id:"patient-initial",role:"patient",content:"心血管内科"===a.department?"医生,我心口这儿针扎一样疼了两个小时了,现在感觉喘气都费劲。":`医生,我这次主要是${a.title},有点担心。`,label:"患者"},{id:"mentor-initial",role:"mentor",content:"观察患者的面部表情和生命体征。你的第一个问题应该如何询问,以明确疼痛的性质?",label:"王主任"}]})})(I.caseItem).then((a=>{var l;Object.assign(U.patient,a.patient),U.stages=a.stages;const t=function(){const a=e("clinical-thinking-scenario");return a&&"object"==typeof a?a:null}();if(null==(l=null==t?void 0:t.session)?void 0:l.session_id)return G.value=t.session.session_id,U.messages=t.session.patient_opening?[{id:`patient-opening-${t.session.session_id}`,role:"patient",content:t.session.patient_opening,label:"患者"}]:[],ce(),void oe("开始问诊");U.messages=a.messages,ce()}))})),o((()=>{null==L||L.abort(),null==W||W.abort(),Q&&clearTimeout(Q)})),(e,a)=>{const l=k,t=w,s=x,n=$,o=C,y=V,F=D;return X.value?(i(),c(S,{key:0,"case-item":e.caseItem,onOpenSettings:a[0]||(a[0]=e=>P("open-settings")),onOpenProfile:r(N),onGoHome:a[1]||(a[1]=e=>P("go-home"))},null,8,["case-item","onOpenProfile"])):(i(),c(l,{key:1,class:"chat-page"},{default:u((()=>[d(l,{class:"chat-shell"},{default:u((()=>[d(l,{class:"top-nav"},{default:u((()=>[d(t,{class:"icon-button","aria-label":"设置",onClick:a[2]||(a[2]=e=>P("open-settings"))},{default:u((()=>[d(l,{class:"settings-icon"})])),_:1}),d(t,{class:"icon-button home-button","aria-label":"首页",onClick:a[3]||(a[3]=e=>P("go-home"))},{default:u((()=>[d(l,{class:"home-icon"})])),_:1}),d(l,{class:"nav-spacer"}),d(t,{class:"icon-button","aria-label":"个人中心",onClick:r(N)},{default:u((()=>[d(l,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),d(l,{class:"case-header"},{default:u((()=>[d(l,{class:"case-title-row"},{default:u((()=>[d(s,{class:"case-heading"},{default:u((()=>[m("患者:"+f(U.patient.name)+" ("+f(ee.value)+")",1)])),_:1}),d(t,{class:"finish-button",onClick:a[4]||(a[4]=e=>X.value=!0)},{default:u((()=>[d(l,{class:"check-icon"}),d(s,null,{default:u((()=>[m("完成采集")])),_:1})])),_:1})])),_:1}),d(l,{class:"patient-meta"},{default:u((()=>[d(s,null,{default:u((()=>[m("姓名:"+f(U.patient.name),1)])),_:1}),d(s,null,{default:u((()=>[m("性别:"+f(U.patient.gender),1)])),_:1}),d(s,null,{default:u((()=>[m("年龄:"+f(U.patient.age)+"岁",1)])),_:1}),d(s,null,{default:u((()=>[m("科室:"+f(U.patient.department),1)])),_:1})])),_:1})])),_:1}),d(l,{class:"stage-bar"},{default:u((()=>[d(l,{class:"stage-line"}),d(l,{class:"stage-line-active"}),(i(!0),p(h,null,g(U.stages,(e=>(i(),c(l,{key:e.key,class:_(["stage-item",{active:e.active}])},{default:u((()=>[d(l,{class:"stage-dot"},{default:u((()=>[d(l,{class:_(["stage-icon",`stage-icon-${e.key}`])},null,8,["class"])])),_:2},1024),d(s,null,{default:u((()=>[m(f(e.label),1)])),_:2},1024)])),_:2},1032,["class"])))),128))])),_:1}),d(n,{class:"chat-body","scroll-y":"","scroll-top":H.value},{default:u((()=>[d(l,{class:"message-list"},{default:u((()=>[(i(!0),p(h,null,g(U.messages,(e=>(i(),c(l,{key:e.id,class:_(["message-row",[`role-${e.role}`]])},{default:u((()=>["patient"===e.role?(i(),c(l,{key:0,class:"avatar patient-avatar"},{default:u((()=>[d(s,null,{default:u((()=>[m(f(U.patient.name.slice(0,1)),1)])),_:1})])),_:1})):b("",!0),d(l,{class:_(["message-bubble",`${e.role}-bubble`])},{default:u((()=>[d(s,{class:"message-content"},{default:u((()=>[m('"'+f(e.content)+'"',1)])),_:2},1024),d(l,{class:_(["message-label",{mentor:"mentor"===e.role}])},{default:u((()=>["mentor"===e.role?(i(),c(l,{key:0,class:"star-icon"})):b("",!0),d(s,null,{default:u((()=>[m(f(e.label),1)])),_:2},1024)])),_:2},1032,["class"])])),_:2},1032,["class"]),"doctor"===e.role?(i(),c(l,{key:1,class:"avatar doctor-avatar"},{default:u((()=>[d(l,{class:"person-icon"})])),_:1})):b("",!0)])),_:2},1032,["class"])))),128))])),_:1})])),_:1},8,["scroll-top"]),d(l,{class:_(["mentor-float",{loading:z.value}]),onClick:[v(ie,["stop"]),v(ie,["stop"])]},{default:u((()=>[d(s,{class:"mentor-badge"},{default:u((()=>[m("王主任")])),_:1}),d(l,{class:"mentor-avatar",onClick:[v(ie,["stop"]),v(ie,["stop"])]},{default:u((()=>[d(o,{src:O,mode:"aspectFill"})])),_:1})])),_:1},8,["class"]),d(l,{class:"input-panel"},{default:u((()=>[d(n,{class:"quick-actions","scroll-x":""},{default:u((()=>[d(l,{class:"quick-row"},{default:u((()=>[d(t,{class:"quick-chip",onClick:le},{default:u((()=>[m("体格检查")])),_:1}),d(t,{class:"quick-chip",onClick:ae},{default:u((()=>[m("辅助检查")])),_:1})])),_:1})])),_:1}),d(l,{class:"input-row"},{default:u((()=>[d(y,{class:"chat-input",modelValue:J.value,"onUpdate:modelValue":a[5]||(a[5]=e=>J.value=e),type:"text",placeholder:"输入你对患者的提问...","placeholder-class":"input-placeholder",onConfirm:ne},null,8,["modelValue"]),d(t,{class:"send-button",disabled:q.value,onClick:ne},{default:u((()=>[d(l,{class:"send-icon"})])),_:1},8,["disabled"])])),_:1})])),_:1})])),_:1}),K.value?(i(),c(l,{key:0,class:"exam-mask",onClick:a[17]||(a[17]=e=>K.value=!1)},{default:u((()=>[d(l,{class:"physical-panel",onClick:a[16]||(a[16]=v((()=>{}),["stop"]))},{default:u((()=>[d(l,{class:"exam-header"},{default:u((()=>[d(s,{class:"exam-title"},{default:u((()=>[m("录入体格检查")])),_:1}),d(t,{class:"exam-close","aria-label":"关闭",onClick:a[6]||(a[6]=e=>K.value=!1)},{default:u((()=>[d(l,{class:"close-icon"})])),_:1})])),_:1}),d(n,{class:"physical-form","scroll-y":""},{default:u((()=>[d(l,{class:"vital-grid"},{default:u((()=>[d(l,{class:"form-field"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("体温")])),_:1}),d(y,{class:"field-input",modelValue:Z.temperature,"onUpdate:modelValue":a[7]||(a[7]=e=>Z.temperature=e),type:"digit",placeholder:"36.8","placeholder-class":"field-placeholder"},null,8,["modelValue"]),d(s,{class:"field-unit"},{default:u((()=>[m("℃")])),_:1})])),_:1}),d(l,{class:"form-field"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("心率")])),_:1}),d(y,{class:"field-input",modelValue:Z.pulse,"onUpdate:modelValue":a[8]||(a[8]=e=>Z.pulse=e),type:"number",placeholder:"98","placeholder-class":"field-placeholder"},null,8,["modelValue"]),d(s,{class:"field-unit"},{default:u((()=>[m("次/分")])),_:1})])),_:1}),d(l,{class:"form-field"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("呼吸")])),_:1}),d(y,{class:"field-input",modelValue:Z.respiration,"onUpdate:modelValue":a[9]||(a[9]=e=>Z.respiration=e),type:"number",placeholder:"22","placeholder-class":"field-placeholder"},null,8,["modelValue"]),d(s,{class:"field-unit"},{default:u((()=>[m("次/分")])),_:1})])),_:1}),d(l,{class:"form-field"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("血氧")])),_:1}),d(y,{class:"field-input",modelValue:Z.spo2,"onUpdate:modelValue":a[10]||(a[10]=e=>Z.spo2=e),type:"number",placeholder:"96","placeholder-class":"field-placeholder"},null,8,["modelValue"]),d(s,{class:"field-unit"},{default:u((()=>[m("%")])),_:1})])),_:1})])),_:1}),d(l,{class:"form-field full"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("血压")])),_:1}),d(y,{class:"field-input",modelValue:Z.bloodPressure,"onUpdate:modelValue":a[11]||(a[11]=e=>Z.bloodPressure=e),type:"text",placeholder:"138/86","placeholder-class":"field-placeholder"},null,8,["modelValue"]),d(s,{class:"field-unit"},{default:u((()=>[m("mmHg")])),_:1})])),_:1}),d(l,{class:"form-field full"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("意识/面色")])),_:1}),d(y,{class:"field-input",modelValue:Z.complexion,"onUpdate:modelValue":a[12]||(a[12]=e=>Z.complexion=e),type:"text",placeholder:"清醒,面色苍白,出汗","placeholder-class":"field-placeholder"},null,8,["modelValue"])])),_:1}),d(l,{class:"form-field textarea-field"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("心肺/腹部查体")])),_:1}),d(F,{class:"field-textarea",modelValue:Z.examFinding,"onUpdate:modelValue":a[13]||(a[13]=e=>Z.examFinding=e),placeholder:"心音、肺部啰音、腹部压痛等","placeholder-class":"field-placeholder"},null,8,["modelValue"])])),_:1}),d(l,{class:"form-field textarea-field"},{default:u((()=>[d(s,{class:"field-label"},{default:u((()=>[m("其他发现")])),_:1}),d(F,{class:"field-textarea",modelValue:Z.otherFinding,"onUpdate:modelValue":a[14]||(a[14]=e=>Z.otherFinding=e),placeholder:"如双侧血压差、下肢水肿、神经系统体征等","placeholder-class":"field-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),d(l,{class:"physical-actions"},{default:u((()=>[d(t,{class:"physical-cancel",onClick:a[15]||(a[15]=e=>K.value=!1)},{default:u((()=>[m("取消")])),_:1}),d(t,{class:"physical-submit",onClick:te},{default:u((()=>[m("提交检查结果")])),_:1})])),_:1})])),_:1})])),_:1})):b("",!0),B.value?(i(),c(l,{key:1,class:"exam-mask",onClick:a[20]||(a[20]=e=>B.value=!1)},{default:u((()=>[d(l,{class:"exam-panel",onClick:a[19]||(a[19]=v((()=>{}),["stop"]))},{default:u((()=>[d(l,{class:"exam-header"},{default:u((()=>[d(s,{class:"exam-title"},{default:u((()=>[m("选择辅助检查")])),_:1}),d(t,{class:"exam-close","aria-label":"关闭",onClick:a[18]||(a[18]=e=>B.value=!1)},{default:u((()=>[d(l,{class:"close-icon"})])),_:1})])),_:1}),d(l,{class:"exam-list"},{default:u((()=>[(i(),p(h,null,g(Y,(e=>d(t,{key:e.name,class:"exam-item",onClick:a=>function(e){B.value=!1;const a=Date.now(),l=[{id:`doctor-exam-${a}`,role:"doctor",content:`选择辅助检查:${e.name}`,label:"我"},{id:`mentor-exam-${a+1}`,role:"mentor",content:e.result,label:"AI助手"}];U.messages.push(...l),ce()}(e)},{default:u((()=>[d(s,{class:"exam-name"},{default:u((()=>[m(f(e.name),1)])),_:2},1024),d(l,{class:"chevron-icon"})])),_:2},1032,["onClick"]))),64))])),_:1})])),_:1})])),_:1})):b("",!0),d(l,{class:_(["toast",{visible:R.value}])},{default:u((()=>[m(f(M.value),1)])),_:1},8,["class"])])),_:1}))}}}),[["__scopeId","data-v-11043b4d"]]),U=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{N as C,U as a,P as c}; diff --git a/dist/assets/config-D-sPg-0l.css b/dist/assets/config-D9FAvKg-.css similarity index 52% rename from dist/assets/config-D-sPg-0l.css rename to dist/assets/config-D9FAvKg-.css index 81dd1cc..fa17255 100644 --- a/dist/assets/config-D-sPg-0l.css +++ b/dist/assets/config-D9FAvKg-.css @@ -1 +1 @@ -uni-page-body[data-v-db1f5633]{min-height:100%;background:#f9f9ff}body[data-v-db1f5633]{background:#f9f9ff}.config-page[data-v-db1f5633]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.phone-frame[data-v-db1f5633]{position:relative;width:100%;max-width:none;height:100vh;min-height:760px;margin:0 auto;overflow:hidden;background:#f9f9ff;display:flex;flex-direction:column}.hero-section[data-v-db1f5633],.profile-section[data-v-db1f5633],.action-section[data-v-db1f5633]{height:33.333vh;min-height:253px;flex:0 0 auto}.hero-section[data-v-db1f5633]{position:relative;overflow:hidden}.hospital-image[data-v-db1f5633]{width:100%;height:100%}.hero-overlay[data-v-db1f5633]{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(249,249,255,0) 58%,rgba(249,249,255,.16))}.profile-section[data-v-db1f5633]{position:relative;padding:16px 20px 0;box-sizing:border-box}.section-glow[data-v-db1f5633]{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.12));pointer-events:none}.profile-content[data-v-db1f5633]{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;gap:16px}.intro-row[data-v-db1f5633]{display:flex;align-items:flex-start;gap:16px}.doctor-card[data-v-db1f5633]{width:41.666%;aspect-ratio:1;border:2px solid rgba(0,71,141,.5);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;animation:pulse-border-db1f5633 2s infinite ease-in-out}.doctor-image[data-v-db1f5633]{width:100%;height:100%}.bubble[data-v-db1f5633]{position:relative;flex:1;min-height:80px;margin-top:4px;padding:12px;border:1px solid rgba(0,71,141,.1);border-radius:16px;background:rgba(255,255,255,.4);box-shadow:0 4px 20px rgba(0,0,0,.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-sizing:border-box}.bubble-text[data-v-db1f5633]{color:#191c21;font-size:14px;line-height:20px;font-weight:500}.bubble-text.typing[data-v-db1f5633]:after{content:"|";margin-left:2px;color:#005eb8;font-weight:700;animation:blink-db1f5633 .7s infinite}.bubble-arrow[data-v-db1f5633]{position:absolute;left:-8px;top:18px;width:16px;height:16px;border-left:1px solid rgba(0,71,141,.1);border-top:1px solid rgba(0,71,141,.1);background:rgba(255,255,255,.4);transform:rotate(-45deg)}.form-area[data-v-db1f5633]{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.field-grid[data-v-db1f5633]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-block[data-v-db1f5633]{min-width:0}.field-label[data-v-db1f5633]{display:block;margin-bottom:4px;color:#424752;font-size:12px;line-height:16px;font-weight:600}.glass-select[data-v-db1f5633]{box-sizing:border-box;width:100%;height:40px;padding:0 32px 0 12px;border:1px solid rgba(0,94,184,.1);border-radius:12px;background:rgba(255,255,255,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;position:relative}.glass-select[data-v-db1f5633]:active{background:rgba(255,255,255,.9);border-color:#005db6;box-shadow:0 0 0 4px rgba(0,93,182,.1)}.select-value[data-v-db1f5633]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#191c21;font-size:14px;line-height:20px}.chevron[data-v-db1f5633]{position:absolute;right:10px;top:50%;width:16px;height:16px;transform:translateY(-50%)}.chevron[data-v-db1f5633]:after{content:"";position:absolute;left:4px;top:3px;width:7px;height:7px;border-right:2px solid #424752;border-bottom:2px solid #424752;transform:rotate(45deg)}.action-section[data-v-db1f5633]{box-sizing:border-box;padding:0 20px;border-top:1px solid rgba(194,198,212,.1);background:rgba(255,255,255,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.submit-button[data-v-db1f5633]{width:100%;height:56px;border-radius:16px;background:#00478d;box-shadow:0 10px 24px rgba(0,71,141,.2);color:#fff;font-size:20px;line-height:56px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease,background .2s ease}.submit-button.saved[data-v-db1f5633]{background:#006970}.submit-button[data-v-db1f5633]:active{transform:scale(.98)}.submit-button[data-v-db1f5633]:after{border:0}.check-icon[data-v-db1f5633]{position:relative;width:20px;height:20px;border:2px solid #ffffff;border-radius:50%;box-sizing:border-box}.check-icon[data-v-db1f5633]:after{content:"";position:absolute;left:5px;top:3px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}.spinner[data-v-db1f5633]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-db1f5633 1s linear infinite}.secure-tip[data-v-db1f5633]{display:flex;align-items:center;justify-content:center;gap:4px;color:rgba(66,71,82,.6);font-size:12px;line-height:16px}.lock-icon[data-v-db1f5633]{position:relative;width:14px;height:12px;border:2px solid rgba(66,71,82,.6);border-radius:3px;box-sizing:border-box}.lock-icon[data-v-db1f5633]:before{content:"";position:absolute;left:2px;top:-8px;width:6px;height:8px;border:2px solid rgba(66,71,82,.6);border-bottom:0;border-radius:8px 8px 0 0}.home-indicator[data-v-db1f5633]{position:absolute;left:50%;bottom:8px;width:128px;height:6px;border-radius:999px;background:rgba(25,28,33,.1);transform:translate(-50%)}.toast[data-v-db1f5633]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-db1f5633]{opacity:1;transform:translate(-50%)}.picker-mask[data-v-db1f5633]{position:fixed;left:0;right:0;top:0;bottom:0;z-index:90;background:rgba(25,28,33,.38);display:flex;align-items:flex-end;justify-content:center}.picker-panel[data-v-db1f5633]{box-sizing:border-box;width:100%;max-width:none;max-height:70vh;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.16)}.picker-header[data-v-db1f5633]{height:40px;display:flex;align-items:center;justify-content:space-between}.picker-title[data-v-db1f5633]{color:#191c21;font-size:18px;line-height:28px;font-weight:600}.picker-close[data-v-db1f5633]{color:#00478d;font-size:14px;line-height:20px;font-weight:600}.option-list[data-v-db1f5633]{max-height:calc(70vh - 72px);margin-top:8px}.option-item[data-v-db1f5633]{box-sizing:border-box;min-height:64px;padding:12px 4px;border-bottom:1px solid #ecedf6;display:flex;align-items:center;justify-content:space-between}.option-copy[data-v-db1f5633]{flex:1;min-width:0;padding-right:16px;display:flex;flex-direction:column}.option-label[data-v-db1f5633]{color:#191c21;font-size:16px;line-height:24px;font-weight:500}.option-item.active .option-label[data-v-db1f5633]{color:#00478d;font-weight:600}.option-desc[data-v-db1f5633]{margin-top:2px;color:#727783;font-size:12px;line-height:18px}.selected-mark[data-v-db1f5633]{position:relative;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#00478d}.selected-mark[data-v-db1f5633]:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}@keyframes blink-db1f5633{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-border-db1f5633{0%{box-shadow:0 0 rgba(0,71,141,.4);border-color:rgba(0,71,141,.5)}50%{box-shadow:0 0 0 6px rgba(0,71,141,0);border-color:rgba(0,71,141,.8)}to{box-shadow:0 0 rgba(0,71,141,.4);border-color:rgba(0,71,141,.5)}}@keyframes spin-db1f5633{0%{transform:rotate(0)}to{transform:rotate(360deg)}} +uni-page-body[data-v-40671f38]{min-height:100%;background:#f9f9ff}body[data-v-40671f38]{background:#f9f9ff}.config-page[data-v-40671f38]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.phone-frame[data-v-40671f38]{position:relative;width:100%;max-width:none;height:100vh;min-height:760px;margin:0 auto;overflow:hidden;background:#f9f9ff;display:flex;flex-direction:column}.hero-section[data-v-40671f38],.profile-section[data-v-40671f38],.action-section[data-v-40671f38]{height:33.333vh;min-height:253px;flex:0 0 auto}.hero-section[data-v-40671f38]{position:relative;overflow:hidden}.hospital-image[data-v-40671f38]{width:100%;height:100%}.hero-overlay[data-v-40671f38]{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(249,249,255,0) 58%,rgba(249,249,255,.16))}.profile-section[data-v-40671f38]{position:relative;padding:16px 20px 0;box-sizing:border-box}.section-glow[data-v-40671f38]{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.12));pointer-events:none}.profile-content[data-v-40671f38]{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;gap:16px}.intro-row[data-v-40671f38]{display:flex;align-items:flex-start;gap:16px}.doctor-card[data-v-40671f38]{width:41.666%;aspect-ratio:1;border:2px solid rgba(0,71,141,.5);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;animation:pulse-border-40671f38 2s infinite ease-in-out}.doctor-image[data-v-40671f38]{width:100%;height:100%}.bubble[data-v-40671f38]{position:relative;flex:1;min-height:80px;margin-top:4px;padding:12px;border:1px solid rgba(0,71,141,.1);border-radius:16px;background:rgba(255,255,255,.4);box-shadow:0 4px 20px rgba(0,0,0,.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-sizing:border-box}.bubble-text[data-v-40671f38]{color:#191c21;font-size:14px;line-height:20px;font-weight:500}.bubble-text.typing[data-v-40671f38]:after{content:"|";margin-left:2px;color:#005eb8;font-weight:700;animation:blink-40671f38 .7s infinite}.bubble-arrow[data-v-40671f38]{position:absolute;left:-8px;top:18px;width:16px;height:16px;border-left:1px solid rgba(0,71,141,.1);border-top:1px solid rgba(0,71,141,.1);background:rgba(255,255,255,.4);transform:rotate(-45deg)}.form-area[data-v-40671f38]{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.field-grid[data-v-40671f38]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-block[data-v-40671f38]{min-width:0}.field-label[data-v-40671f38]{display:block;margin-bottom:4px;color:#424752;font-size:12px;line-height:16px;font-weight:600}.glass-select[data-v-40671f38]{box-sizing:border-box;width:100%;height:40px;padding:0 32px 0 12px;border:1px solid rgba(0,94,184,.1);border-radius:12px;background:rgba(255,255,255,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;position:relative}.glass-select[data-v-40671f38]:active{background:rgba(255,255,255,.9);border-color:#005db6;box-shadow:0 0 0 4px rgba(0,93,182,.1)}.select-value[data-v-40671f38]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#191c21;font-size:14px;line-height:20px}.chevron[data-v-40671f38]{position:absolute;right:10px;top:50%;width:16px;height:16px;transform:translateY(-50%)}.chevron[data-v-40671f38]:after{content:"";position:absolute;left:4px;top:3px;width:7px;height:7px;border-right:2px solid #424752;border-bottom:2px solid #424752;transform:rotate(45deg)}.action-section[data-v-40671f38]{box-sizing:border-box;padding:0 20px;border-top:1px solid rgba(194,198,212,.1);background:rgba(255,255,255,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.submit-button[data-v-40671f38]{width:100%;height:56px;border-radius:16px;background:#00478d;box-shadow:0 10px 24px rgba(0,71,141,.2);color:#fff;font-size:20px;line-height:56px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease,background .2s ease}.submit-button.saved[data-v-40671f38]{background:#006970}.submit-button[data-v-40671f38]:active{transform:scale(.98)}.submit-button[data-v-40671f38]:after{border:0}.check-icon[data-v-40671f38]{position:relative;width:20px;height:20px;border:2px solid #ffffff;border-radius:50%;box-sizing:border-box}.check-icon[data-v-40671f38]:after{content:"";position:absolute;left:5px;top:3px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}.spinner[data-v-40671f38]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-40671f38 1s linear infinite}.secure-tip[data-v-40671f38]{display:flex;align-items:center;justify-content:center;gap:4px;color:rgba(66,71,82,.6);font-size:12px;line-height:16px}.lock-icon[data-v-40671f38]{position:relative;width:14px;height:12px;border:2px solid rgba(66,71,82,.6);border-radius:3px;box-sizing:border-box}.lock-icon[data-v-40671f38]:before{content:"";position:absolute;left:2px;top:-8px;width:6px;height:8px;border:2px solid rgba(66,71,82,.6);border-bottom:0;border-radius:8px 8px 0 0}.home-indicator[data-v-40671f38]{position:absolute;left:50%;bottom:8px;width:128px;height:6px;border-radius:999px;background:rgba(25,28,33,.1);transform:translate(-50%)}.toast[data-v-40671f38]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-40671f38]{opacity:1;transform:translate(-50%)}.picker-mask[data-v-40671f38]{position:fixed;left:0;right:0;top:0;bottom:0;z-index:90;background:rgba(25,28,33,.38);display:flex;align-items:flex-end;justify-content:center}.picker-panel[data-v-40671f38]{box-sizing:border-box;width:100%;max-width:none;max-height:70vh;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.16)}.picker-header[data-v-40671f38]{height:40px;display:flex;align-items:center;justify-content:space-between}.picker-title[data-v-40671f38]{color:#191c21;font-size:18px;line-height:28px;font-weight:600}.picker-close[data-v-40671f38]{color:#00478d;font-size:14px;line-height:20px;font-weight:600}.option-list[data-v-40671f38]{max-height:calc(70vh - 72px);margin-top:8px}.option-item[data-v-40671f38]{box-sizing:border-box;min-height:64px;padding:12px 4px;border-bottom:1px solid #ecedf6;display:flex;align-items:center;justify-content:space-between}.option-copy[data-v-40671f38]{flex:1;min-width:0;padding-right:16px;display:flex;flex-direction:column}.option-label[data-v-40671f38]{color:#191c21;font-size:16px;line-height:24px;font-weight:500}.option-item.active .option-label[data-v-40671f38]{color:#00478d;font-weight:600}.option-desc[data-v-40671f38]{margin-top:2px;color:#727783;font-size:12px;line-height:18px}.selected-mark[data-v-40671f38]{position:relative;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#00478d}.selected-mark[data-v-40671f38]:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}@keyframes blink-40671f38{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-border-40671f38{0%{box-shadow:0 0 rgba(0,71,141,.4);border-color:rgba(0,71,141,.5)}50%{box-shadow:0 0 0 6px rgba(0,71,141,0);border-color:rgba(0,71,141,.8)}to{box-shadow:0 0 rgba(0,71,141,.4);border-color:rgba(0,71,141,.5)}}@keyframes spin-40671f38{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/dist/assets/config.CeLegioC.js b/dist/assets/config.CeLegioC.js new file mode 100644 index 0000000..88f2b6d --- /dev/null +++ b/dist/assets/config.CeLegioC.js @@ -0,0 +1 @@ +import{B as e,C as a,d as t,a as l,r as s,c as n,o as c,b as o,e as u,f as i,w as r,i as d,n as f,j as v,t as p,l as m,m as _,F as b,k as g,g as h,s as k,D as y,u as C,y as x,x as T,z as j,S as w}from"./index-CpNRQgjE.js";import{_ as E}from"./config-doctor.TgARj_nM.js";import{c as P}from"./navigation.CsipbD6y.js";import{_ as S}from"./_plugin-vue_export-helper.BCo6x5W8.js";class A extends Error{constructor(e,a,t){super(e),this.name="ApiRequestError",this.code=a,this.statusCode=t}}function M(e=!1){const t={"Content-Type":"application/json"};if(!e)return t;const l=function(){try{return a("clinical-thinking-access-token")||""}catch{return""}}();return l&&(t.Authorization=`Bearer ${l}`),t}function O(a,t,l="POST",s=!1){return new Promise(((n,c)=>{e({url:`/server/api${a}`,method:l,timeout:1e4,header:M(s),data:t,success:e=>{if(e.statusCode>=200&&e.statusCode<300)return void n(e.data);const a=e.data,t="string"==typeof(null==a?void 0:a.code)?a.code:void 0;c(new A(function(e,a){if(e&&"object"==typeof e){const a=e,t=a.message||a.detail||a.error;if("string"==typeof t&&t.trim())return t}return a}(e.data,`请求失败(${e.statusCode})`),t,e.statusCode))},fail:e=>{c(new A(e.errMsg||"无法连接服务"))}})}))}function $(e,a="login"){return O("/user/auth/send-code/",{phone:e,scene:a})}function z(){return O("/user/institution_list/",null,"GET")}function B(e){return O("/user/auth/login-code/",e).then((e=>{if(function(e){if(!e||"object"!=typeof e)return!1;const a=e,t=a.tokens;return Boolean(a.tokens&&"string"==typeof(null==t?void 0:t.access)&&"string"==typeof(null==t?void 0:t.refresh))}(e))return e;throw new Error("登录接口返回数据格式异常")}))}const F={departments:[{value:"im",label:"内科",desc:"心内、呼吸、消化、肾内等临床场景"},{value:"sur",label:"外科",desc:"普外、骨科、神外、胸外等临床场景"},{value:"ped",label:"儿科",desc:"儿童常见病、急重症与沟通训练"},{value:"obg",label:"妇产科",desc:"围产、妇科、产科急症训练"},{value:"er",label:"急诊科",desc:"分诊、抢救、危急值处置训练"},{value:"icu",label:"重症医学科",desc:"危重症评估与多学科决策训练"}],titles:[{value:"resident",label:"住院医师",desc:"强化基础诊疗路径与病历思维"},{value:"attending",label:"主治医师",desc:"提升独立诊疗和带教表达"},{value:"associate_chief",label:"副主任医师",desc:"复杂病例决策与团队协作"},{value:"chief",label:"主任医师",desc:"疑难病例、质控和教学管理"}],experiences:[{value:"1-3",label:"1-3年",desc:"基础病例训练优先"},{value:"3-5",label:"3-5年",desc:"进阶诊疗路径优先"},{value:"5-10",label:"5-10年",desc:"复杂病例推演优先"},{value:"10+",label:"10年以上",desc:"疑难病例与带教模拟优先"}]};function G(t){return new Promise(((l,s)=>{const n=function(){try{return a("clinical-thinking-access-token")||""}catch{return""}}(),c={"Content-Type":"application/json"};n&&(c.Authorization=`Bearer ${n}`),e({url:"/server/api/user/profile/config/",method:"POST",timeout:1e4,header:c,data:t,success:e=>{if(e.statusCode>=200&&e.statusCode<300)return void l(e.data);const a=e.data,t="string"==typeof(null==a?void 0:a.code)?a.code:void 0;s(new A(function(e,a){if(e&&"object"==typeof e){const a=e,t=a.message||a.detail||a.error;if("string"==typeof t&&t.trim())return t}return a}(e.data,`保存失败(${e.statusCode})`),t,e.statusCode))},fail:e=>{s(new A(e.errMsg||"无法连接服务"))}})}))}const I=S(t({__name:"config",emits:["open-profile"],setup(e,{emit:a}){const t=l({department:"im",title:"resident",experience:"1-3"}),S=s(F),A=s("欢迎回来!请配置执业信息,开始精准带教模拟。"),M=s(""),$=s(!1),z=s(""),B=s(!1),I=s(!1),N=s("idle"),q=s(""),D=s(!1),R=s("");P(a);let H=null,J=null;const K=n((()=>ae("departments",t.department))),L=n((()=>ae("titles",t.title))),Q=n((()=>ae("experiences",t.experience))),U=n((()=>{const e={department:S.value.departments,title:S.value.titles,experience:S.value.experiences},a=z.value;return a?e[a]:[]})),V=n((()=>{const e=z.value;return e?{department:"选择执业科室",title:"选择专业职称",experience:"选择执业年限"}[e]:"请选择"})),W=n((()=>I.value?"正在保存...":"saved"===N.value?"已就绪":"确认并继续"));function X(){Promise.resolve({options:F,defaults:{department:"im",title:"resident",experience:"1-3"},mentor:{name:"王主任",message:"欢迎回来!请配置执业信息,开始精准带教模拟。"}}).then((({options:e,defaults:a,mentor:l})=>{S.value=e,Object.assign(t,a),A.value=l.message,function(){H&&clearTimeout(H);M.value="",$.value=!0;let e=0;const a=()=>{ee.value===a))||t[0]||{label:"请选择",value:""}}function te(e){z.value=e,B.value=!0}function le(){B.value=!1,z.value=""}function se(){const e=Number(t.department);if(!Number.isInteger(e)||e<=0)return void ce("请先选择有效执业科室");const a={department:e,title_name:L.value.label,practice_years:Q.value.label};I.value=!0,N.value="idle",G(a).then((e=>{k("clinical-thinking-config",e),I.value=!1,N.value="saved",ce("配置已保存"),setTimeout((()=>{y({url:"/pages/home/home"})}),500)})).catch((e=>{I.value=!1,ce(e instanceof Error?e.message:"保存失败,请稍后重试")}))}function ne(){"/static/config-hospital.png"!==R.value&&(R.value="/static/config-hospital.png")}function ce(e){J&&clearTimeout(J),q.value=e,D.value=!0,J=setTimeout((()=>{D.value=!1}),2200)}return c((()=>{X(),Z(),ee()})),o((()=>{H&&clearTimeout(H),J&&clearTimeout(J)})),(e,a)=>{const l=C,s=x,n=T,c=j,o=w;return u(),i(s,{class:"config-page"},{default:r((()=>[d(s,{class:"phone-frame"},{default:r((()=>[d(s,{class:"hero-section"},{default:r((()=>[d(l,{class:"hospital-image",src:R.value,mode:"aspectFill",onError:ne},null,8,["src"]),d(s,{class:"hero-overlay"})])),_:1}),d(s,{class:"profile-section"},{default:r((()=>[d(s,{class:"section-glow"}),d(s,{class:"profile-content"},{default:r((()=>[d(s,{class:"intro-row"},{default:r((()=>[d(s,{class:"doctor-card"},{default:r((()=>[d(l,{class:"doctor-image",src:E,mode:"aspectFit"})])),_:1}),d(s,{class:"bubble"},{default:r((()=>[d(n,{class:f(["bubble-text",{typing:$.value}])},{default:r((()=>[v(p(M.value),1)])),_:1},8,["class"]),d(s,{class:"bubble-arrow"})])),_:1})])),_:1}),d(s,{class:"form-area"},{default:r((()=>[d(s,{class:"field-block"},{default:r((()=>[d(n,{class:"field-label"},{default:r((()=>[v("执业科室")])),_:1}),d(s,{class:"glass-select",onClick:a[0]||(a[0]=e=>te("department"))},{default:r((()=>[d(n,{class:"select-value"},{default:r((()=>[v(p(K.value.label),1)])),_:1}),d(s,{class:"chevron"})])),_:1})])),_:1}),d(s,{class:"field-grid"},{default:r((()=>[d(s,{class:"field-block"},{default:r((()=>[d(n,{class:"field-label"},{default:r((()=>[v("专业职称")])),_:1}),d(s,{class:"glass-select",onClick:a[1]||(a[1]=e=>te("title"))},{default:r((()=>[d(n,{class:"select-value"},{default:r((()=>[v(p(L.value.label),1)])),_:1}),d(s,{class:"chevron"})])),_:1})])),_:1}),d(s,{class:"field-block"},{default:r((()=>[d(n,{class:"field-label"},{default:r((()=>[v("执业年限")])),_:1}),d(s,{class:"glass-select",onClick:a[2]||(a[2]=e=>te("experience"))},{default:r((()=>[d(n,{class:"select-value"},{default:r((()=>[v(p(Q.value.label),1)])),_:1}),d(s,{class:"chevron"})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),d(s,{class:"action-section"},{default:r((()=>[d(c,{class:f(["submit-button",{saved:"saved"===N.value}]),disabled:I.value,onClick:se},{default:r((()=>[I.value?(u(),i(s,{key:0,class:"spinner"})):"saved"===N.value?(u(),i(s,{key:1,class:"check-icon"})):(u(),i(s,{key:2,class:"check-icon"})),d(n,null,{default:r((()=>[v(p(W.value),1)])),_:1})])),_:1},8,["class","disabled"]),d(s,{class:"secure-tip"},{default:r((()=>[d(s,{class:"lock-icon"}),d(n,null,{default:r((()=>[v("数据已进行安全加密处理")])),_:1})])),_:1})])),_:1}),d(s,{class:"home-indicator"})])),_:1}),d(s,{class:f(["toast",{visible:D.value}])},{default:r((()=>[v(p(q.value),1)])),_:1},8,["class"]),B.value?(u(),i(s,{key:0,class:"picker-mask",onClick:le},{default:r((()=>[d(s,{class:"picker-panel",onClick:a[3]||(a[3]=g((()=>{}),["stop"]))},{default:r((()=>[d(s,{class:"picker-header"},{default:r((()=>[d(n,{class:"picker-title"},{default:r((()=>[v(p(V.value),1)])),_:1}),d(n,{class:"picker-close",onClick:le},{default:r((()=>[v("关闭")])),_:1})])),_:1}),d(o,{class:"option-list","scroll-y":""},{default:r((()=>[(u(!0),m(b,null,_(U.value,(e=>(u(),i(s,{key:e.value,class:f(["option-item",{active:e.value===t[z.value]}]),onClick:a=>function(e){const a=z.value;a&&(t[a]=e.value,le())}(e)},{default:r((()=>[d(s,{class:"option-copy"},{default:r((()=>[d(n,{class:"option-label"},{default:r((()=>[v(p(e.label),1)])),_:2},1024),e.desc?(u(),i(n,{key:0,class:"option-desc"},{default:r((()=>[v(p(e.desc),1)])),_:2},1024)):h("",!0)])),_:2},1024),e.value===t[z.value]?(u(),i(s,{key:0,class:"selected-mark"})):h("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1})):h("",!0)])),_:1})}}}),[["__scopeId","data-v-40671f38"]]),N=Object.freeze(Object.defineProperty({__proto__:null,default:I},Symbol.toStringTag,{value:"Module"}));export{A,I as C,N as c,z as f,B as l,$ as s}; diff --git a/dist/assets/diagnosis-BFErsm4L.css b/dist/assets/diagnosis-BFErsm4L.css deleted file mode 100644 index cdbae9a..0000000 --- a/dist/assets/diagnosis-BFErsm4L.css +++ /dev/null @@ -1 +0,0 @@ -uni-page-body[data-v-04126bf9]{min-height:100%;background:#f9f9ff}body[data-v-04126bf9]{background:#f9f9ff}.diagnosis-page[data-v-04126bf9]{width:390px;max-width:100vw;height:884px;min-height:884px;margin:0 auto;overflow-x:hidden;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.diagnosis-page uni-view[data-v-04126bf9],.diagnosis-page uni-text[data-v-04126bf9],.diagnosis-page uni-button[data-v-04126bf9],.diagnosis-page uni-input[data-v-04126bf9],.diagnosis-page uni-textarea[data-v-04126bf9],.diagnosis-page uni-scroll-view[data-v-04126bf9]{box-sizing:border-box}.diagnosis-shell[data-v-04126bf9]{position:relative;width:390px;max-width:100vw;height:884px;min-height:884px;background:#f9f9ff;overflow-x:hidden}.top-nav[data-v-04126bf9]{position:fixed;left:0;right:0;top:0;transform:none;z-index:50;box-sizing:border-box;width:100%;max-width:100vw;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.nav-spacer[data-v-04126bf9]{flex:1}.icon-button[data-v-04126bf9]{width:40px;height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;line-height:1;display:flex;align-items:center;justify-content:center}.home-button[data-v-04126bf9]{margin-left:4px}.top-nav>.icon-button[data-v-04126bf9]:first-child{display:flex}.icon-button[data-v-04126bf9]:after,.next-button[data-v-04126bf9]:after{border:0}.home-icon[data-v-04126bf9],.account-icon[data-v-04126bf9],.check-icon[data-v-04126bf9],.stethoscope-icon[data-v-04126bf9],.pill-icon[data-v-04126bf9],.priority-icon[data-v-04126bf9],.checklist-icon[data-v-04126bf9],.description-icon[data-v-04126bf9],.arrow-icon[data-v-04126bf9],.check-small-icon[data-v-04126bf9]{background:#424752}.home-icon[data-v-04126bf9],.account-icon[data-v-04126bf9]{width:24px;height:24px}.home-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-header[data-v-04126bf9]{margin-top:56px;padding:16px 20px;background:#f9f9ff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-heading[data-v-04126bf9]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.patient-meta[data-v-04126bf9]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;-moz-column-gap:24px;column-gap:24px;row-gap:4px;color:#424752;font-size:13px;line-height:20px}.diagnosis-content[data-v-04126bf9]{box-sizing:border-box;padding:24px 20px 32px;display:flex;flex-direction:column;gap:24px}.stepper[data-v-04126bf9]{position:relative;padding:8px 0;display:flex;align-items:center;justify-content:space-between}.step-line[data-v-04126bf9]{position:absolute;left:40px;right:40px;top:20px;height:4px;background:#e1e2ea;z-index:0}.step-line-active[data-v-04126bf9]{width:50%;height:100%;background:#00478d}.step[data-v-04126bf9]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#727783;font-size:12px;line-height:16px;font-weight:500}.step.active[data-v-04126bf9]{color:#00478d;font-weight:700}.step.done[data-v-04126bf9]{color:#006970}.step-dot[data-v-04126bf9]{width:32px;height:32px;border-radius:50%;background:#e1e2ea;display:flex;align-items:center;justify-content:center}.step.active .step-dot[data-v-04126bf9]{width:40px;height:40px;border:4px solid #d6e3ff;border-radius:50%;background:#00478d;box-shadow:0 0 0 2px #00478d}.step.done .step-dot[data-v-04126bf9]{background:#006970}.check-icon[data-v-04126bf9],.stethoscope-icon[data-v-04126bf9],.pill-icon[data-v-04126bf9]{width:18px;height:18px;background:currentColor}.step.done .check-icon[data-v-04126bf9],.step.active .stethoscope-icon[data-v-04126bf9]{background:#fff}.check-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.stethoscope-icon[data-v-04126bf9]{width:20px;height:20px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%208h-1V4h-3v2h1v5a4%204%200%200%201-8%200V6h1V4H6v4H5a1%201%200%200%200%200%202h1v1a6%206%200%200%200%205%205.92V19a3%203%200%200%200%206%200v-1.1A5%205%200%200%200%2019%208zm-5%2012a1%201%200%200%201-1-1v-2.08a6%206%200%200%200%203-1.2V19a1%201%200%200%201-1%201h-1zm5-4a3%203%200%201%201%200-6%203%203%200%200%201%200%206z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%208h-1V4h-3v2h1v5a4%204%200%200%201-8%200V6h1V4H6v4H5a1%201%200%200%200%200%202h1v1a6%206%200%200%200%205%205.92V19a3%203%200%200%200%206%200v-1.1A5%205%200%200%200%2019%208zm-5%2012a1%201%200%200%201-1-1v-2.08a6%206%200%200%200%203-1.2V19a1%201%200%200%201-1%201h-1zm5-4a3%203%200%201%201%200-6%203%203%200%200%201%200%206z'/%3E%3C/svg%3E") center / contain no-repeat}.pill-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat}.mentor-card[data-v-04126bf9]{padding:12px;border:1px solid rgba(0,71,141,.1);border-radius:12px;background:rgba(0,71,141,.05);display:flex;align-items:flex-start;gap:12px}.mentor-avatar[data-v-04126bf9]{flex:0 0 auto;width:48px;height:48px;border:1px solid rgba(0,71,141,.2);border-radius:50%;overflow:hidden}.mentor-avatar uni-image[data-v-04126bf9]{width:100%;height:100%}.mentor-bubble[data-v-04126bf9]{flex:1;padding:12px;border:1px solid rgba(194,198,212,.3);border-radius:0 8px 8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);color:#191c21;font-size:14px;line-height:20px}.form-area[data-v-04126bf9]{display:flex;flex-direction:column;gap:20px}.field-block[data-v-04126bf9]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-04126bf9]{display:flex;align-items:center;gap:4px;color:#424752;font-size:14px;line-height:20px;font-weight:600}.field-label.primary[data-v-04126bf9]{color:#00478d}.priority-icon[data-v-04126bf9],.checklist-icon[data-v-04126bf9],.description-icon[data-v-04126bf9]{width:16px;height:16px;background:currentColor}.priority-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.checklist-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat}.description-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat}.diagnosis-input[data-v-04126bf9],.diff-input[data-v-04126bf9],.evidence-input[data-v-04126bf9]{box-sizing:border-box;width:100%;border:1px solid #c2c6d4;border-radius:8px;background:#fff;color:#191c21;font-size:16px;line-height:24px}.input-wrap[data-v-04126bf9]{position:relative}.diagnosis-input[data-v-04126bf9]{height:56px;padding:0 16px}.diff-list[data-v-04126bf9]{display:flex;flex-direction:column;gap:8px}.diff-row[data-v-04126bf9]{display:flex;align-items:center;gap:8px}.diff-index[data-v-04126bf9]{flex:0 0 auto;width:24px;height:24px;border-radius:4px;background:#e7e8f0;color:#424752;font-size:12px;line-height:24px;font-weight:600;text-align:center}.diff-input[data-v-04126bf9]{flex:1;height:40px;padding:0 12px;font-size:14px;line-height:20px}.evidence-input[data-v-04126bf9]{height:116px;padding:14px 16px;font-size:14px;line-height:20px}.input-placeholder[data-v-04126bf9]{color:#c2c6d4}.next-button[data-v-04126bf9]{width:100%;min-height:56px;margin-top:8px;padding:0;border:0;border-radius:999px;background:#00478d;box-shadow:0 8px 18px rgba(0,71,141,.22);color:#fff;font-size:16px;line-height:24px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.next-button.submitted[data-v-04126bf9]{background:#006970}.arrow-icon[data-v-04126bf9],.check-small-icon[data-v-04126bf9]{width:20px;height:20px;background:#fff}.arrow-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat}.check-small-icon[data-v-04126bf9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.spinner[data-v-04126bf9]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-04126bf9 1s linear infinite}.toast[data-v-04126bf9]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-04126bf9]{opacity:1;transform:translate(-50%)}@keyframes spin-04126bf9{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/dist/assets/diagnosis-BxzDEbGJ.css b/dist/assets/diagnosis-BxzDEbGJ.css new file mode 100644 index 0000000..5f384d1 --- /dev/null +++ b/dist/assets/diagnosis-BxzDEbGJ.css @@ -0,0 +1 @@ +uni-page-body[data-v-0102c95b]{min-height:100%;background:#f9f9ff}body[data-v-0102c95b]{background:#f9f9ff}.diagnosis-page[data-v-0102c95b]{width:390px;max-width:100vw;height:884px;min-height:884px;margin:0 auto;overflow-x:hidden;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.diagnosis-page uni-view[data-v-0102c95b],.diagnosis-page uni-text[data-v-0102c95b],.diagnosis-page uni-button[data-v-0102c95b],.diagnosis-page uni-input[data-v-0102c95b],.diagnosis-page uni-textarea[data-v-0102c95b],.diagnosis-page uni-scroll-view[data-v-0102c95b]{box-sizing:border-box}.diagnosis-shell[data-v-0102c95b]{position:relative;width:390px;max-width:100vw;height:884px;min-height:884px;background:#f9f9ff;overflow-x:hidden}.top-nav[data-v-0102c95b]{position:fixed;left:0;right:0;top:0;transform:none;z-index:50;box-sizing:border-box;width:100%;max-width:100vw;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.nav-spacer[data-v-0102c95b]{flex:1}.icon-button[data-v-0102c95b]{width:40px;height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;line-height:1;display:flex;align-items:center;justify-content:center}.home-button[data-v-0102c95b]{margin-left:4px}.top-nav>.icon-button[data-v-0102c95b]:first-child{display:flex}.icon-button[data-v-0102c95b]:after,.next-button[data-v-0102c95b]:after{border:0}.settings-icon[data-v-0102c95b],.home-icon[data-v-0102c95b],.account-icon[data-v-0102c95b],.check-icon[data-v-0102c95b],.stethoscope-icon[data-v-0102c95b],.pill-icon[data-v-0102c95b],.priority-icon[data-v-0102c95b],.checklist-icon[data-v-0102c95b],.description-icon[data-v-0102c95b],.arrow-icon[data-v-0102c95b],.check-small-icon[data-v-0102c95b]{background:#424752}.home-icon[data-v-0102c95b],.account-icon[data-v-0102c95b]{width:24px;height:24px}.settings-icon[data-v-0102c95b]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-header[data-v-0102c95b]{margin-top:56px;padding:16px 20px;background:#f9f9ff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-heading[data-v-0102c95b]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.patient-meta[data-v-0102c95b]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;-moz-column-gap:24px;column-gap:24px;row-gap:4px;color:#424752;font-size:13px;line-height:20px}.diagnosis-content[data-v-0102c95b]{box-sizing:border-box;padding:24px 20px 32px;display:flex;flex-direction:column;gap:24px}.stepper[data-v-0102c95b]{position:relative;z-index:1;flex:0 0 auto;min-height:56px;padding:8px 0;display:flex;align-items:center;justify-content:space-between}.step-line[data-v-0102c95b]{position:absolute;left:40px;right:40px;top:20px;height:4px;background:#e1e2ea;z-index:0}.step-line-active[data-v-0102c95b]{width:50%;height:100%;background:#00478d}.step[data-v-0102c95b]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#727783;font-size:12px;line-height:16px;font-weight:500}.step.active[data-v-0102c95b]{color:#00478d;font-weight:700}.step.done[data-v-0102c95b]{color:#006970}.step-dot[data-v-0102c95b]{width:32px;height:32px;border-radius:50%;background:#e1e2ea;display:flex;align-items:center;justify-content:center}.step.active .step-dot[data-v-0102c95b]{width:40px;height:40px;border:4px solid #d6e3ff;border-radius:50%;background:#00478d;box-shadow:0 0 0 2px #00478d}.step.done .step-dot[data-v-0102c95b]{background:#006970}.check-icon[data-v-0102c95b],.stethoscope-icon[data-v-0102c95b],.pill-icon[data-v-0102c95b]{width:18px;height:18px;background:currentColor}.step.done .check-icon[data-v-0102c95b],.step.active .stethoscope-icon[data-v-0102c95b]{background:#fff}.check-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.stethoscope-icon[data-v-0102c95b]{width:20px;height:20px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%208h-1V4h-3v2h1v5a4%204%200%200%201-8%200V6h1V4H6v4H5a1%201%200%200%200%200%202h1v1a6%206%200%200%200%205%205.92V19a3%203%200%200%200%206%200v-1.1A5%205%200%200%200%2019%208zm-5%2012a1%201%200%200%201-1-1v-2.08a6%206%200%200%200%203-1.2V19a1%201%200%200%201-1%201h-1zm5-4a3%203%200%201%201%200-6%203%203%200%200%201%200%206z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%208h-1V4h-3v2h1v5a4%204%200%200%201-8%200V6h1V4H6v4H5a1%201%200%200%200%200%202h1v1a6%206%200%200%200%205%205.92V19a3%203%200%200%200%206%200v-1.1A5%205%200%200%200%2019%208zm-5%2012a1%201%200%200%201-1-1v-2.08a6%206%200%200%200%203-1.2V19a1%201%200%200%201-1%201h-1zm5-4a3%203%200%201%201%200-6%203%203%200%200%201%200%206z'/%3E%3C/svg%3E") center / contain no-repeat}.pill-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat}.mentor-card[data-v-0102c95b]{padding:12px;border:1px solid rgba(0,71,141,.1);border-radius:12px;background:rgba(0,71,141,.05);display:flex;align-items:flex-start;gap:12px}.mentor-avatar[data-v-0102c95b]{flex:0 0 auto;width:48px;height:48px;border:1px solid rgba(0,71,141,.2);border-radius:50%;overflow:hidden}.mentor-avatar uni-image[data-v-0102c95b]{width:100%;height:100%}.mentor-bubble[data-v-0102c95b]{flex:1;padding:12px;border:1px solid rgba(194,198,212,.3);border-radius:0 8px 8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);color:#191c21;font-size:14px;line-height:20px}.form-area[data-v-0102c95b]{display:flex;flex-direction:column;gap:20px}.field-block[data-v-0102c95b]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-0102c95b]{display:flex;align-items:center;gap:4px;color:#424752;font-size:14px;line-height:20px;font-weight:600}.field-label.primary[data-v-0102c95b]{color:#00478d}.priority-icon[data-v-0102c95b],.checklist-icon[data-v-0102c95b],.description-icon[data-v-0102c95b]{width:16px;height:16px;background:currentColor}.priority-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.checklist-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat}.description-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat}.diagnosis-input[data-v-0102c95b],.diff-input[data-v-0102c95b],.evidence-input[data-v-0102c95b]{box-sizing:border-box;width:100%;border:1px solid #c2c6d4;border-radius:8px;background:#fff;color:#191c21;font-size:16px;line-height:24px}.input-wrap[data-v-0102c95b]{position:relative}.diagnosis-input[data-v-0102c95b]{height:56px;padding:0 16px}.diff-list[data-v-0102c95b]{display:flex;flex-direction:column;gap:8px}.diff-row[data-v-0102c95b]{display:flex;align-items:center;gap:8px}.diff-index[data-v-0102c95b]{flex:0 0 auto;width:24px;height:24px;border-radius:4px;background:#e7e8f0;color:#424752;font-size:12px;line-height:24px;font-weight:600;text-align:center}.diff-input[data-v-0102c95b]{flex:1;height:40px;padding:0 12px;font-size:14px;line-height:20px}.evidence-input[data-v-0102c95b]{height:116px;padding:14px 16px;font-size:14px;line-height:20px}.input-placeholder[data-v-0102c95b]{color:#c2c6d4}.next-button[data-v-0102c95b]{width:100%;min-height:56px;margin-top:8px;padding:0;border:0;border-radius:999px;background:#00478d;box-shadow:0 8px 18px rgba(0,71,141,.22);color:#fff;font-size:16px;line-height:24px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.next-button.submitted[data-v-0102c95b]{background:#006970}.arrow-icon[data-v-0102c95b],.check-small-icon[data-v-0102c95b]{width:20px;height:20px;background:#fff}.arrow-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat}.check-small-icon[data-v-0102c95b]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.spinner[data-v-0102c95b]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-0102c95b 1s linear infinite}.toast[data-v-0102c95b]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-0102c95b]{opacity:1;transform:translate(-50%)}@keyframes spin-0102c95b{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/dist/assets/home-CNoxte0D.css b/dist/assets/home-BQ1tn9_7.css similarity index 66% rename from dist/assets/home-CNoxte0D.css rename to dist/assets/home-BQ1tn9_7.css index e9040d3..ed9e6d6 100644 --- a/dist/assets/home-CNoxte0D.css +++ b/dist/assets/home-BQ1tn9_7.css @@ -1 +1 @@ -uni-page-body[data-v-0c6a4ade]{min-height:100%;background:#f9f9ff}body[data-v-0c6a4ade]{background:#f9f9ff}.home-page[data-v-0c6a4ade]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.home-shell[data-v-0c6a4ade]{position:relative;min-height:100vh;overflow:hidden;background:#f9f9ff}.top-bar[data-v-0c6a4ade]{position:absolute;left:0;right:0;top:0;z-index:10;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:rgba(249,249,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center}.top-spacer[data-v-0c6a4ade]{flex:1}.icon-button[data-v-0c6a4ade]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.icon-button[data-v-0c6a4ade]:after,.start-button[data-v-0c6a4ade]:after,.module-card[data-v-0c6a4ade]:after,.assistant-button[data-v-0c6a4ade]:after{border:0}.icon-button[data-v-0c6a4ade]:active{background:rgba(25,28,33,.05)}.settings-icon[data-v-0c6a4ade],.account-icon[data-v-0c6a4ade],.module-icon[data-v-0c6a4ade],.assistant-icon[data-v-0c6a4ade]{background:#424752;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.settings-icon[data-v-0c6a4ade]{width:22px;height:22px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E")}.account-icon[data-v-0c6a4ade]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E")}.home-main[data-v-0c6a4ade]{box-sizing:border-box;min-height:100vh;padding:72px 20px 24px;background:radial-gradient(circle at 50% 40%,#fff,#f2f3fb);display:flex;flex-direction:column;align-items:center;overflow-y:auto}.speech-bubble[data-v-0c6a4ade]{position:relative;box-sizing:border-box;max-width:300px;margin:16px 0;padding:8px 24px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.05);text-align:center;animation:bubble-float-0c6a4ade 4s ease-in-out infinite}.speech-bubble[data-v-0c6a4ade]:before{content:"";position:absolute;left:50%;bottom:-10px;z-index:0;width:16px;height:16px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;transform:translate(-50%) rotate(45deg)}.bubble-copy[data-v-0c6a4ade],.bubble-strong[data-v-0c6a4ade],.bubble-highlight[data-v-0c6a4ade]{position:relative;z-index:1;font-size:16px;line-height:24px;color:#191c21}.bubble-strong[data-v-0c6a4ade],.bubble-highlight[data-v-0c6a4ade]{font-weight:700}.bubble-highlight[data-v-0c6a4ade]{color:#00478d}.doctor-stage[data-v-0c6a4ade]{position:relative;width:100%;max-width:180px;aspect-ratio:1;margin-bottom:12px;display:flex;align-items:center;justify-content:center}.doctor-shadow[data-v-0c6a4ade]{position:absolute;left:12.5%;right:12.5%;bottom:16px;height:32px;border-radius:50%;background:rgba(0,0,0,.05);filter:blur(12px)}.director-image[data-v-0c6a4ade]{position:relative;z-index:1;width:100%;height:100%;transition:transform .5s ease}.director-image[data-v-0c6a4ade]:active{transform:scale(1.03)}.training-panel[data-v-0c6a4ade]{width:100%;max-width:320px;display:flex;flex-direction:column;gap:16px}.primary-action[data-v-0c6a4ade]{display:flex;flex-direction:column;gap:8px}.start-button[data-v-0c6a4ade]{width:100%;min-height:48px;padding:12px;border-radius:8px;background:#00478d;box-shadow:0 4px 12px rgba(0,71,141,.2);color:#fff;font-size:20px;line-height:28px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;animation:pulse-gentle-0c6a4ade 3s cubic-bezier(.4,0,.6,1) infinite}.start-button[data-v-0c6a4ade]:active{transform:scale(.95)}.remaining[data-v-0c6a4ade]{text-align:center;color:#424752;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.module-grid[data-v-0c6a4ade]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-card[data-v-0c6a4ade]{box-sizing:border-box;min-height:92px;padding:8px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#f2f3fb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;transition:background .2s ease,transform .2s ease}.module-card[data-v-0c6a4ade]:active{background:#e7e8f0;transform:scale(.98)}.module-icon[data-v-0c6a4ade]{width:24px;height:24px;background:#00478d;flex:0 0 auto}.trend-icon[data-v-0c6a4ade]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E")}.notes-icon[data-v-0c6a4ade]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E")}.school-icon[data-v-0c6a4ade]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E")}.admin-icon[data-v-0c6a4ade]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201L3%205v6c0%205.55%203.84%2010.74%209%2012%205.16-1.26%209-6.45%209-12V5l-9-4zm4.3%207.7l1.4%201.4-6.1%206.1-3.3-3.3%201.4-1.4%201.9%201.9%204.7-4.7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201L3%205v6c0%205.55%203.84%2010.74%209%2012%205.16-1.26%209-6.45%209-12V5l-9-4zm4.3%207.7l1.4%201.4-6.1%206.1-3.3-3.3%201.4-1.4%201.9%201.9%204.7-4.7z'/%3E%3C/svg%3E")}.module-title[data-v-0c6a4ade]{color:#191c21;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.assistant-actions[data-v-0c6a4ade]{padding-top:8px;display:flex;flex-direction:column;gap:8px}.assistant-button[data-v-0c6a4ade]{width:100%;min-height:44px;box-sizing:border-box;padding:10px 24px;border-radius:12px;background:#005eb8;color:#c8daff;font-size:14px;line-height:20px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s ease,transform .2s ease}.assistant-button[data-v-0c6a4ade]:active{background:rgba(0,94,184,.9);transform:scale(.97)}.assistant-button.disabled[data-v-0c6a4ade],.assistant-button[disabled][data-v-0c6a4ade]{background:#e1e2ea;color:#727783;box-shadow:none;opacity:1;cursor:not-allowed}.assistant-button.disabled[data-v-0c6a4ade]:active,.assistant-button[disabled][data-v-0c6a4ade]:active{transform:none;background:#e1e2ea}.assistant-button.disabled .assistant-icon[data-v-0c6a4ade],.assistant-button[disabled] .assistant-icon[data-v-0c6a4ade]{background:#727783}.assistant-icon[data-v-0c6a4ade]{width:20px;height:20px;background:#c8daff;flex:0 0 auto}.chat-icon[data-v-0c6a4ade]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h16a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202H9l-5%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm3%205v2h10V9H7zm0%204v2h7v-2H7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h16a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202H9l-5%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm3%205v2h10V9H7zm0%204v2h7v-2H7z'/%3E%3C/svg%3E")}.forum-icon[data-v-0c6a4ade]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h13a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202H8l-4%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm16%204h1a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202h-1v3l-3-3h-6a2%202%200%200%201-2-2v-1h8a3%203%200%200%200%203-3V8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h13a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202H8l-4%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm16%204h1a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202h-1v3l-3-3h-6a2%202%200%200%201-2-2v-1h8a3%203%200%200%200%203-3V8z'/%3E%3C/svg%3E")}.spinner[data-v-0c6a4ade]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-0c6a4ade 1s linear infinite}.toast[data-v-0c6a4ade]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-0c6a4ade]{opacity:1;transform:translate(-50%)}@keyframes pulse-gentle-0c6a4ade{0%,to{transform:scale(1);box-shadow:0 4px 12px rgba(0,71,141,.2)}50%{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,71,141,.35)}}@keyframes bubble-float-0c6a4ade{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin-0c6a4ade{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 768px){.home-page[data-v-0c6a4ade]{display:flex;justify-content:center;background:#d8dae2}.home-shell[data-v-0c6a4ade]{width:390px;min-height:100vh;box-shadow:0 24px 64px rgba(25,28,33,.18)}}@media (max-height: 740px){.home-main[data-v-0c6a4ade]{padding-top:64px}.speech-bubble[data-v-0c6a4ade]{margin:10px 0}.doctor-stage[data-v-0c6a4ade]{max-width:148px;margin-bottom:8px}.training-panel[data-v-0c6a4ade]{gap:12px}.module-card[data-v-0c6a4ade]{min-height:84px}} +uni-page-body[data-v-cfd573f5]{min-height:100%;background:#f9f9ff}body[data-v-cfd573f5]{background:#f9f9ff}.home-page[data-v-cfd573f5]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.home-shell[data-v-cfd573f5]{position:relative;min-height:100vh;overflow:hidden;background:#f9f9ff}.top-bar[data-v-cfd573f5]{position:absolute;left:0;right:0;top:0;z-index:10;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:rgba(249,249,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center}.top-spacer[data-v-cfd573f5]{flex:1}.icon-button[data-v-cfd573f5]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.icon-button[data-v-cfd573f5]:after,.start-button[data-v-cfd573f5]:after,.module-card[data-v-cfd573f5]:after,.assistant-button[data-v-cfd573f5]:after{border:0}.icon-button[data-v-cfd573f5]:active{background:rgba(25,28,33,.05)}.settings-icon[data-v-cfd573f5],.account-icon[data-v-cfd573f5],.module-icon[data-v-cfd573f5],.assistant-icon[data-v-cfd573f5]{background:#424752;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.settings-icon[data-v-cfd573f5]{width:22px;height:22px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E")}.account-icon[data-v-cfd573f5]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E")}.home-main[data-v-cfd573f5]{box-sizing:border-box;min-height:100vh;padding:72px 20px 24px;background:radial-gradient(circle at 50% 40%,#fff,#f2f3fb);display:flex;flex-direction:column;align-items:center;overflow-y:auto}.speech-bubble[data-v-cfd573f5]{position:relative;box-sizing:border-box;max-width:300px;margin:16px 0;padding:8px 24px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.05);text-align:center;animation:bubble-float-cfd573f5 4s ease-in-out infinite}.speech-bubble[data-v-cfd573f5]:before{content:"";position:absolute;left:50%;bottom:-10px;z-index:0;width:16px;height:16px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;transform:translate(-50%) rotate(45deg)}.bubble-copy[data-v-cfd573f5],.bubble-strong[data-v-cfd573f5],.bubble-highlight[data-v-cfd573f5]{position:relative;z-index:1;font-size:16px;line-height:24px;color:#191c21}.bubble-strong[data-v-cfd573f5],.bubble-highlight[data-v-cfd573f5]{font-weight:700}.bubble-highlight[data-v-cfd573f5]{color:#00478d}.doctor-stage[data-v-cfd573f5]{position:relative;width:100%;max-width:180px;aspect-ratio:1;margin-bottom:12px;display:flex;align-items:center;justify-content:center}.doctor-shadow[data-v-cfd573f5]{position:absolute;left:12.5%;right:12.5%;bottom:16px;height:32px;border-radius:50%;background:rgba(0,0,0,.05);filter:blur(12px)}.director-image[data-v-cfd573f5]{position:relative;z-index:1;width:100%;height:100%;transition:transform .5s ease}.director-image[data-v-cfd573f5]:active{transform:scale(1.03)}.training-panel[data-v-cfd573f5]{width:100%;max-width:320px;display:flex;flex-direction:column;gap:16px}.primary-action[data-v-cfd573f5]{display:flex;flex-direction:column;gap:8px}.start-button[data-v-cfd573f5]{width:100%;min-height:48px;padding:12px;border-radius:8px;background:#00478d;box-shadow:0 4px 12px rgba(0,71,141,.2);color:#fff;font-size:20px;line-height:28px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;animation:pulse-gentle-cfd573f5 3s cubic-bezier(.4,0,.6,1) infinite}.start-button[data-v-cfd573f5]:active{transform:scale(.95)}.remaining[data-v-cfd573f5]{text-align:center;color:#424752;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.module-grid[data-v-cfd573f5]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-card[data-v-cfd573f5]{box-sizing:border-box;min-height:92px;padding:8px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#f2f3fb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;transition:background .2s ease,transform .2s ease}.module-card[data-v-cfd573f5]:active{background:#e7e8f0;transform:scale(.98)}.module-icon[data-v-cfd573f5]{width:24px;height:24px;background:#00478d;flex:0 0 auto}.trend-icon[data-v-cfd573f5]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E")}.notes-icon[data-v-cfd573f5]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E")}.school-icon[data-v-cfd573f5]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E")}.admin-icon[data-v-cfd573f5]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201L3%205v6c0%205.55%203.84%2010.74%209%2012%205.16-1.26%209-6.45%209-12V5l-9-4zm4.3%207.7l1.4%201.4-6.1%206.1-3.3-3.3%201.4-1.4%201.9%201.9%204.7-4.7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201L3%205v6c0%205.55%203.84%2010.74%209%2012%205.16-1.26%209-6.45%209-12V5l-9-4zm4.3%207.7l1.4%201.4-6.1%206.1-3.3-3.3%201.4-1.4%201.9%201.9%204.7-4.7z'/%3E%3C/svg%3E")}.module-title[data-v-cfd573f5]{color:#191c21;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.assistant-actions[data-v-cfd573f5]{padding-top:8px;display:flex;flex-direction:column;gap:8px}.assistant-button[data-v-cfd573f5]{width:100%;min-height:44px;box-sizing:border-box;padding:10px 24px;border-radius:12px;background:#005eb8;color:#c8daff;font-size:14px;line-height:20px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s ease,transform .2s ease}.assistant-button[data-v-cfd573f5]:active{background:rgba(0,94,184,.9);transform:scale(.97)}.assistant-button.disabled[data-v-cfd573f5],.assistant-button[disabled][data-v-cfd573f5]{background:#e1e2ea;color:#727783;box-shadow:none;opacity:1;cursor:not-allowed}.assistant-button.disabled[data-v-cfd573f5]:active,.assistant-button[disabled][data-v-cfd573f5]:active{transform:none;background:#e1e2ea}.assistant-button.disabled .assistant-icon[data-v-cfd573f5],.assistant-button[disabled] .assistant-icon[data-v-cfd573f5]{background:#727783}.assistant-icon[data-v-cfd573f5]{width:20px;height:20px;background:#c8daff;flex:0 0 auto}.chat-icon[data-v-cfd573f5]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h16a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202H9l-5%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm3%205v2h10V9H7zm0%204v2h7v-2H7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h16a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202H9l-5%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm3%205v2h10V9H7zm0%204v2h7v-2H7z'/%3E%3C/svg%3E")}.forum-icon[data-v-cfd573f5]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h13a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202H8l-4%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm16%204h1a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202h-1v3l-3-3h-6a2%202%200%200%201-2-2v-1h8a3%203%200%200%200%203-3V8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%204h13a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202H8l-4%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2zm16%204h1a2%202%200%200%201%202%202v8a2%202%200%200%201-2%202h-1v3l-3-3h-6a2%202%200%200%201-2-2v-1h8a3%203%200%200%200%203-3V8z'/%3E%3C/svg%3E")}.spinner[data-v-cfd573f5]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-cfd573f5 1s linear infinite}.toast[data-v-cfd573f5]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-cfd573f5]{opacity:1;transform:translate(-50%)}@keyframes pulse-gentle-cfd573f5{0%,to{transform:scale(1);box-shadow:0 4px 12px rgba(0,71,141,.2)}50%{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,71,141,.35)}}@keyframes bubble-float-cfd573f5{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin-cfd573f5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 768px){.home-page[data-v-cfd573f5]{display:flex;justify-content:center;background:#d8dae2}.home-shell[data-v-cfd573f5]{width:390px;min-height:100vh;box-shadow:0 24px 64px rgba(25,28,33,.18)}}@media (max-height: 740px){.home-main[data-v-cfd573f5]{padding-top:64px}.speech-bubble[data-v-cfd573f5]{margin:10px 0}.doctor-stage[data-v-cfd573f5]{max-width:148px;margin-bottom:8px}.training-panel[data-v-cfd573f5]{gap:12px}.module-card[data-v-cfd573f5]{min-height:84px}} diff --git a/dist/assets/index-B-mEDkGb.css b/dist/assets/index-B-mEDkGb.css deleted file mode 100644 index 30317c9..0000000 --- a/dist/assets/index-B-mEDkGb.css +++ /dev/null @@ -1 +0,0 @@ -uni-page-body[data-v-d61b3560]{min-height:100%;background:#f9f9ff}body[data-v-d61b3560]{background:#f9f9ff}.page-root[data-v-d61b3560]{min-height:100vh;background:#f9f9ff}.auth-page[data-v-d61b3560]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.auth-container[data-v-d61b3560]{box-sizing:border-box;width:100%;max-width:448px;min-height:100vh;margin:0 auto;padding:32px 20px 24px;display:flex;flex-direction:column}.header[data-v-d61b3560]{margin:24px 0;display:flex;flex-direction:column;align-items:center;text-align:center}.logo[data-v-d61b3560]{width:96px;height:96px;margin-bottom:16px}.title[data-v-d61b3560]{color:#00478d;font-size:24px;line-height:32px;font-weight:600;letter-spacing:0}.subtitle[data-v-d61b3560]{margin-top:8px;color:#727783;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.form[data-v-d61b3560]{flex:1}.form-group[data-v-d61b3560]{margin-bottom:16px}.label[data-v-d61b3560]{display:block;margin:0 0 8px 4px;color:#424752;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.input-wrap[data-v-d61b3560],.select-wrap[data-v-d61b3560]{box-sizing:border-box;width:100%;height:56px;padding:0 16px;border:1px solid #c2c6d4;border-radius:8px;background:#f9f9ff;display:flex;align-items:center;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.input-wrap.focused[data-v-d61b3560],.select-wrap[data-v-d61b3560]:active{border-color:#00478d;box-shadow:0 0 0 1px #00478d}.country-code[data-v-d61b3560]{margin-right:4px;color:#191c21;font-size:16px;line-height:24px;font-weight:400}.separator[data-v-d61b3560]{width:1px;height:24px;margin:0 12px;background:#c2c6d4}.input[data-v-d61b3560]{flex:1;min-width:0;height:54px;padding:0;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.placeholder[data-v-d61b3560]{color:rgba(114,119,131,.6)}.code-row[data-v-d61b3560]{display:flex;align-items:center;-moz-column-gap:8px;column-gap:8px}.code-input-wrap[data-v-d61b3560]{flex:1;min-width:0}.verified-icon[data-v-d61b3560]{flex:0 0 auto;width:28px;height:28px;margin-right:12px;background:center / 24px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23727783' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 7.8-7 10-4-2.2-7-5.5-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}.code-button[data-v-d61b3560]{box-sizing:border-box;flex:0 0 auto;height:56px;padding:0 16px;border:1px solid #00478d;border-radius:8px;background:#f9f9ff;color:#00478d;font-size:14px;line-height:54px;font-weight:600;white-space:nowrap;transition:opacity .18s ease,transform .18s ease,background .18s ease}.code-button[data-v-d61b3560]:active,.login-button[data-v-d61b3560]:active{transform:scale(.98)}.code-button.disabled[data-v-d61b3560]{opacity:.5}.code-button[data-v-d61b3560]:after,.login-button[data-v-d61b3560]:after{border:0}.select-wrap[data-v-d61b3560]{position:relative;justify-content:space-between}.select-text[data-v-d61b3560]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#191c21;font-size:16px;line-height:24px}.select-text.muted[data-v-d61b3560]{color:rgba(114,119,131,.6)}.select-arrow[data-v-d61b3560]{flex:0 0 auto;width:28px;height:28px;margin-left:12px;background:center / 28px 28px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23727783' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8l5 5 5-5'/%3E%3Cpath d='M7 12l5 5 5-5'/%3E%3C/svg%3E")}.hint[data-v-d61b3560]{display:block;padding:4px 0;text-align:center;color:#727783;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.login-area[data-v-d61b3560]{padding-top:16px}.login-button[data-v-d61b3560]{width:100%;height:56px;border-radius:8px;background:#00478d;box-shadow:0 4px 12px rgba(0,71,141,.2);color:#fff;font-size:20px;line-height:56px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background .18s ease,transform .18s ease,opacity .18s ease}.login-button.loading[data-v-d61b3560]{opacity:.9}.loading-spinner[data-v-d61b3560]{width:24px;height:24px;border:3px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;animation:spin-d61b3560 1s linear infinite}.footer[data-v-d61b3560]{margin-top:24px;padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:center}.agreement[data-v-d61b3560]{max-width:280px;display:flex;align-items:flex-start}.checkbox[data-v-d61b3560]{position:relative;box-sizing:border-box;flex:0 0 auto;width:16px;height:16px;margin-top:4px;margin-right:8px;border:1px solid #c2c6d4;border-radius:4px;background:#fff}.checkbox.checked[data-v-d61b3560]{border-color:#00478d;background:#00478d}.checkbox.checked[data-v-d61b3560]:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}.agreement-copy[data-v-d61b3560]{flex:1;font-size:0;line-height:0}.agreement-text[data-v-d61b3560],.agreement-link[data-v-d61b3560]{font-size:12px;line-height:20px;font-weight:500;letter-spacing:0}.agreement-text[data-v-d61b3560]{color:#424752}.agreement-link[data-v-d61b3560]{color:#00478d}.toast[data-v-d61b3560]{position:fixed;left:50%;bottom:128px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-d61b3560]{opacity:1;transform:translate(-50%)}.picker-mask[data-v-d61b3560]{position:fixed;left:0;right:0;top:0;bottom:0;z-index:90;background:rgba(25,28,33,.38);display:flex;align-items:flex-end;justify-content:center}.picker-panel[data-v-d61b3560]{box-sizing:border-box;width:100%;max-width:448px;max-height:72vh;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.16)}.picker-header[data-v-d61b3560]{height:40px;display:flex;align-items:center;justify-content:space-between}.picker-title[data-v-d61b3560]{color:#191c21;font-size:18px;line-height:28px;font-weight:600}.picker-close[data-v-d61b3560]{color:#00478d;font-size:14px;line-height:20px;font-weight:600}.institution-list[data-v-d61b3560]{max-height:calc(72vh - 72px);margin-top:8px}.institution-empty[data-v-d61b3560]{padding:20px 4px;color:#727783;font-size:14px;line-height:20px;text-align:center}.institution-item[data-v-d61b3560]{box-sizing:border-box;min-height:64px;padding:12px 4px;border-bottom:1px solid #ecedf6;display:flex;align-items:center;justify-content:space-between}.institution-item.active[data-v-d61b3560]{color:#00478d}.institution-copy[data-v-d61b3560]{flex:1;min-width:0;padding-right:16px;display:flex;flex-direction:column}.institution-name[data-v-d61b3560]{color:#191c21;font-size:16px;line-height:24px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institution-item.active .institution-name[data-v-d61b3560]{color:#00478d;font-weight:600}.institution-meta[data-v-d61b3560]{margin-top:2px;color:#727783;font-size:12px;line-height:18px}.selected-mark[data-v-d61b3560]{position:relative;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#00478d}.selected-mark[data-v-d61b3560]:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}.shake[data-v-d61b3560]{animation:shake-d61b3560 .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake-d61b3560{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes spin-d61b3560{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/dist/assets/index-BcNbz4lX.js b/dist/assets/index-CpNRQgjE.js similarity index 64% rename from dist/assets/index-BcNbz4lX.js rename to dist/assets/index-CpNRQgjE.js index efa645a..a84941b 100644 --- a/dist/assets/index-BcNbz4lX.js +++ b/dist/assets/index-CpNRQgjE.js @@ -1,6 +1,6 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["./pages-index-index.BwOl-YIs.js","./pages-config-config.JVS5qOJO.js","./scenario.CjEHAMEH.js","./config-doctor.TgARj_nM.js","./chat.BJUnN6Cc.js","./navigation.C2H9AjnS.js","./pages-diagnosis-diagnosis.m6R6jwOM.js","./pages-treatment-treatment.Dvv4RUD4.js","./pages-assessment-assessment.4dFS83cn.js","./_plugin-vue_export-helper.BCo6x5W8.js","./assessment-r9dzGXQ-.css","./treatment-DnRfm2DZ.css","./diagnosis-BFErsm4L.css","./chat-17Js2Yz6.css","./scenario-ClvXojdV.css","./pages-home-home.Cv-ZRphr.js","./pages-learning-assistant-learning-assistant.vx1Z8Ujc.js","./learning-assistant-CyH_L7LS.css","./pages-matching-matching.CuL-3Fys.js","./pages-cases-cases.RDgMig8l.js","./pages-teaching-teaching.B94VaxdH.js","./teaching-CCwYG8EG.css","./cases-CcgAAqTK.css","./matching-DEJdzi64.css","./home-CNoxte0D.css","./config-D-sPg-0l.css","./pages-profile-profile.D-uLPWwn.js","./profile-C2ICLNjC.css","./index-B-mEDkGb.css","./pages-profile-profile-analysis.BoL_EDRS.js","./profile-analysis-D7uHL0Kv.css","./pages-profile-profile-records.dJZjXNd2.js","./profile-records-BnZV3bJU.css"] + __vite__mapDeps.viteFileDeps = ["./pages-index-index.gI3C2P_a.js","./config.CeLegioC.js","./config-doctor.TgARj_nM.js","./navigation.CsipbD6y.js","./_plugin-vue_export-helper.BCo6x5W8.js","./config-D9FAvKg-.css","./pages-profile-profile.B4yr9-t8.js","./profile-DoOaR7U7.css","./index-ar3bjli4.css","./pages-home-home.C2yaATnJ.js","./home-BQ1tn9_7.css","./pages-matching-matching.DrdBX5Ht.js","./matching-CpbVZD0l.css","./pages-cases-cases.6AOFEUPY.js","./cases.BlouN7SM.js","./cases-C6NCSirR.css","./pages-scenario-scenario.4vJ-ikjt.js","./session.Cc2HEzjU.js","./scenario-CftOfMRB.css","./pages-chat-chat.DBQfHqyo.js","./chat-Dnc4ucdi.css","./pages-profile-profile-analysis.BuyFl8SQ.js","./profile-analysis-D7uHL0Kv.css","./pages-profile-profile-records.C3ZzZ02U.js","./profile-records-EOjOQpWD.css","./pages-learning-assistant-learning-assistant.fpfbF_lf.js","./learning-assistant-BXAffZDG.css","./pages-teaching-teaching.DAx4I9Wu.js","./teaching-cSHduCOv.css","./pages-diagnosis-diagnosis.nh0VnGMv.js","./diagnosis-BxzDEbGJ.css","./pages-treatment-treatment.ynd4_hPb.js","./treatment-C2Wi3XDZ.css","./pages-assessment-assessment.ej_Zqyan.js","./assessment-Cvgka0WX.css"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } @@ -22,4 +22,4 @@ function n(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()) * vue-router v4.4.4 * (c) 2024 Eduardo San Martin Morote * @license MIT - */(e);if(!o)return;const r=t._component;m(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};const Ss="undefined"!=typeof document;function Cs(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}const Ts=Object.assign;function Es(e,t){const n={};for(const o in t){const r=t[o];n[o]=Os(r)?r.map(e):e(r)}return n}const ks=()=>{},Os=Array.isArray,Ls=/#/g,$s=/&/g,As=/\//g,Ps=/=/g,Rs=/\?/g,Bs=/\+/g,Ns=/%5B/g,js=/%5D/g,Is=/%5E/g,Ms=/%60/g,Vs=/%7B/g,Hs=/%7C/g,Fs=/%7D/g,Ds=/%20/g;function Ws(e){return encodeURI(""+e).replace(Hs,"|").replace(Ns,"[").replace(js,"]")}function qs(e){return Ws(e).replace(Bs,"%2B").replace(Ds,"+").replace(Ls,"%23").replace($s,"%26").replace(Ms,"`").replace(Vs,"{").replace(Fs,"}").replace(Is,"^")}function Us(e){return null==e?"":function(e){return Ws(e).replace(Ls,"%23").replace(Rs,"%3F")}(e).replace(As,"%2F")}function zs(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}const Ks=/\/$/;function Xs(e,t,n="/"){let o,r={},i="",s="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(o=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),r=e(i)),a>-1&&(o=o||t.slice(0,a),s=t.slice(a,t.length)),o=function(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),r=o[o.length-1];".."!==r&&"."!==r||o.push("");let i,s,a=n.length-1;for(i=0;i1&&a--}return n.slice(0,a).join("/")+"/"+o.slice(i).join("/")}(null!=o?o:t,n),{fullPath:o+(i&&"?")+i+s,path:o,query:r,hash:zs(s)}}function Ys(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function Gs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Js(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Zs(e[n],t[n]))return!1;return!0}function Zs(e,t){return Os(e)?Qs(e,t):Os(t)?Qs(t,e):e===t}function Qs(e,t){return Os(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}const ea={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ta,na,oa,ra;function ia(e){if(!e)if(Ss){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),e.replace(Ks,"")}(na=ta||(ta={})).pop="pop",na.push="push",(ra=oa||(oa={})).back="back",ra.forward="forward",ra.unknown="";const sa=/^[^#]+#/;function aa(e,t){return e.replace(sa,"#")+t}const la=()=>({left:window.scrollX,top:window.scrollY});function ca(e){let t;if("el"in e){const n=e.el,o="string"==typeof n&&n.startsWith("#"),r="string"==typeof n?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=function(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function ua(e,t){return(history.state?history.state.position-t:-1)+e}const fa=new Map;function da(e,t){const{pathname:n,search:o,hash:r}=t,i=e.indexOf("#");if(i>-1){let t=r.includes(e.slice(i))?e.slice(i).length:1,n=r.slice(t);return"/"!==n[0]&&(n="/"+n),Ys(n,"")}return Ys(n,e)+o+r}function pa(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?la():null}}function ha(e){const{history:t,location:n}=window,o={value:da(e,n)},r={value:t.state};function i(o,i,s){const a=e.indexOf("#"),l=a>-1?(n.host&&document.querySelector("base")?e:e.slice(a))+o:location.protocol+"//"+location.host+e+o;try{t[s?"replaceState":"pushState"](i,"",l),r.value=i}catch(c){console.error(c),n[s?"replace":"assign"](l)}}return r.value||i(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:o,state:r,push:function(e,n){const s=Ts({},r.value,t.state,{forward:e,scroll:la()});i(s.current,s,!0),i(e,Ts({},pa(o.value,e,null),{position:s.position+1},n),!1),o.value=e},replace:function(e,n){i(e,Ts({},t.state,pa(r.value.back,e,r.value.forward,!0),n,{position:r.value.position}),!0),o.value=e}}}function ga(e){const t=ha(e=ia(e)),n=function(e,t,n,o){let r=[],i=[],s=null;const a=({state:i})=>{const a=da(e,location),l=n.value,c=t.value;let u=0;if(i){if(n.value=a,t.value=i,s&&s===l)return void(s=null);u=c?i.position-c.position:0}else o(a);r.forEach((e=>{e(n.value,l,{delta:u,type:ta.pop,direction:u?u>0?oa.forward:oa.back:oa.unknown})}))};function l(){const{history:e}=window;e.state&&e.replaceState(Ts({},e.state,{scroll:la()}),"")}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:function(){s=n.value},listen:function(e){r.push(e);const t=()=>{const t=r.indexOf(e);t>-1&&r.splice(t,1)};return i.push(t),t},destroy:function(){for(const e of i)e();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}}}(e,t.state,t.location,t.replace);const o=Ts({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:aa.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ma(e){return"string"==typeof e||"symbol"==typeof e}const va=Symbol("");var ya,ba;function _a(e,t){return Ts(new Error,{type:e,[va]:!0},t)}function wa(e,t){return e instanceof Error&&va in e&&(null==t||!!(e.type&t))}(ba=ya||(ya={}))[ba.aborted=4]="aborted",ba[ba.cancelled=8]="cancelled",ba[ba.duplicated=16]="duplicated";const xa={sensitive:!1,strict:!1,start:!0,end:!0},Sa=/[.+*?^${}()[\]/\\]/g;function Ca(e,t){let n=0;for(;nt.length?1===t.length&&80===t[0]?1:-1:0}function Ta(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const ka={type:0,value:""},Oa=/[a-zA-Z0-9_]/;function La(e,t,n){const o=function(e,t){const n=Ts({},xa,t),o=[];let r=n.start?"^":"";const i=[];for(const l of e){const e=l.length?[]:[90];n.strict&&!l.length&&(r+="/");for(let t=0;t1&&("*"===a||"+"===a)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:"*"===a||"+"===a,optional:"*"===a||"?"===a})):t("Invalid state to consume buffer"),c="")}function d(){c+=a}for(;l{i(d)}:ks}function i(e){if(ma(e)){const t=o.get(e);t&&(o.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&o.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function s(e){const t=function(e,t){let n=0,o=t.length;for(;n!==o;){const r=n+o>>1;Ta(e,t[r])<0?o=r:n=r+1}const r=function(e){let t=e;for(;t=t.parent;)if(ja(t)&&0===Ta(e,t))return t;return}(e);r&&(o=t.lastIndexOf(r,o-1));return o}(e,n);n.splice(t,0,e),e.record.name&&!Ra(e)&&o.set(e.record.name,e)}return t=Na({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>r(e))),{addRoute:r,resolve:function(e,t){let r,i,s,a={};if("name"in e&&e.name){if(r=o.get(e.name),!r)throw _a(1,{location:e});s=r.record.name,a=Ts(Aa(t.params,r.keys.filter((e=>!e.optional)).concat(r.parent?r.parent.keys.filter((e=>e.optional)):[]).map((e=>e.name))),e.params&&Aa(e.params,r.keys.map((e=>e.name)))),i=r.stringify(a)}else if(null!=e.path)i=e.path,r=n.find((e=>e.re.test(i))),r&&(a=r.parse(i),s=r.record.name);else{if(r=t.name?o.get(t.name):n.find((e=>e.re.test(t.path))),!r)throw _a(1,{location:e,currentLocation:t});s=r.record.name,a=Ts({},t.params,e.params),i=r.stringify(a)}const l=[];let c=r;for(;c;)l.unshift(c.record),c=c.parent;return{name:s,path:i,params:a,matched:l,meta:Ba(l)}},removeRoute:i,clearRoutes:function(){n.length=0,o.clear()},getRoutes:function(){return n},getRecordMatcher:function(e){return o.get(e)}}}function Aa(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function Pa(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]="object"==typeof n?n[o]:n;return t}function Ra(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ba(e){return e.reduce(((e,t)=>Ts(e,t.meta)),{})}function Na(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function ja({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ia(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let o=0;oe&&qs(e))):[o&&qs(o)]).forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Va(e){const t={};for(const n in e){const o=e[n];void 0!==o&&(t[n]=Os(o)?o.map((e=>null==e?null:""+e)):null==o?o:""+o)}return t}const Ha=Symbol(""),Fa=Symbol(""),Da=Symbol(""),Wa=Symbol(""),qa=Symbol("");function Ua(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function za(e,t,n,o,r,i=(e=>e())){const s=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise(((a,l)=>{const c=e=>{var i;!1===e?l(_a(4,{from:n,to:t})):e instanceof Error?l(e):"string"==typeof(i=e)||i&&"object"==typeof i?l(_a(2,{from:t,to:e})):(s&&o.enterCallbacks[r]===s&&"function"==typeof e&&s.push(e),a())},u=i((()=>e.call(o&&o.instances[r],t,n,c)));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch((e=>l(e)))}))}function Ka(e,t,n,o,r=(e=>e())){const i=[];for(const s of e)for(const e in s.components){let a=s.components[e];if("beforeRouteEnter"===t||s.instances[e])if(Cs(a)){const l=(a.__vccOpts||a)[t];l&&i.push(za(l,n,o,s,e,r))}else{let l=a();i.push((()=>l.then((i=>{if(!i)throw new Error(`Couldn't resolve component "${e}" at "${s.path}"`);const a=(l=i).__esModule||"Module"===l[Symbol.toStringTag]||l.default&&Cs(l.default)?i.default:i;var l;s.mods[e]=i,s.components[e]=a;const c=(a.__vccOpts||a)[t];return c&&za(c,n,o,s,e,r)()}))))}}return i}function Xa(e){const t=vr(Da),n=vr(Wa),o=Ti((()=>{const n=an(e.to);return t.resolve(n)})),r=Ti((()=>{const{matched:e}=o.value,{length:t}=e,r=e[t-1],i=n.matched;if(!r||!i.length)return-1;const s=i.findIndex(Gs.bind(null,r));if(s>-1)return s;const a=Ga(e[t-2]);return t>1&&Ga(r)===a&&i[i.length-1].path!==a?i.findIndex(Gs.bind(null,e[t-2])):s})),i=Ti((()=>r.value>-1&&function(e,t){for(const n in t){const o=t[n],r=e[n];if("string"==typeof o){if(o!==r)return!1}else if(!Os(r)||r.length!==o.length||o.some(((e,t)=>e!==r[t])))return!1}return!0}(n.params,o.value.params))),s=Ti((()=>r.value>-1&&r.value===n.matched.length-1&&Js(n.params,o.value.params)));return{route:o,href:Ti((()=>o.value.href)),isActive:i,isExactActive:s,navigate:function(n={}){return function(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(void 0!==e.button&&0!==e.button)return;if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}e.preventDefault&&e.preventDefault();return!0}(n)?t[an(e.replace)?"replace":"push"](an(e.to)).catch(ks):Promise.resolve()}}}const Ya=vo({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Xa,setup(e,{slots:t}){const n=Ft(Xa(e)),{options:o}=vr(Da),r=Ti((()=>({[Ja(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Ja(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&t.default(n);return e.custom?o:Ei("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}});function Ga(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ja=(e,t,n)=>null!=e?e:null!=t?t:n;function Za(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const Qa=vo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=vr(qa),r=Ti((()=>e.route||o.value)),i=vr(Fa,0),s=Ti((()=>{let e=an(i);const{matched:t}=r.value;let n;for(;(n=t[e])&&!n.components;)e++;return e})),a=Ti((()=>r.value.matched[s.value]));mr(Fa,Ti((()=>s.value+1))),mr(Ha,a),mr(qa,r);const l=on();return Zn((()=>[l.value,a.value,e.name]),(([e,t,n],[o,r,i])=>{t&&(t.instances[n]=e,r&&r!==t&&e&&e===o&&(t.leaveGuards.size||(t.leaveGuards=r.leaveGuards),t.updateGuards.size||(t.updateGuards=r.updateGuards))),!e||!t||r&&Gs(t,r)&&o||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=r.value,i=e.name,s=a.value,c=s&&s.components[i];if(!c)return Za(n.default,{Component:c,route:o});const u=s.props[i],f=u?!0===u?o.params:"function"==typeof u?u(o):u:null,d=Ei(c,Ts({},f,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[i]=null)},ref:l}));return Za(n.default,{Component:d,route:o})||d}}});function el(e){const t=$a(e.routes,e),n=e.parseQuery||Ia,o=e.stringifyQuery||Ma,r=e.history,i=Ua(),s=Ua(),a=Ua(),l=rn(ea,!0);let c=ea;Ss&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Es.bind(null,(e=>""+e)),f=Es.bind(null,Us),d=Es.bind(null,zs);function p(e,i){if(i=Ts({},i||l.value),"string"==typeof e){const o=Xs(n,e,i.path),s=t.resolve({path:o.path},i),a=r.createHref(o.fullPath);return Ts(o,s,{params:d(s.params),hash:zs(o.hash),redirectedFrom:void 0,href:a})}let s;if(null!=e.path)s=Ts({},e,{path:Xs(n,e.path,i.path).path});else{const t=Ts({},e.params);for(const e in t)null==t[e]&&delete t[e];s=Ts({},e,{params:f(t)}),i.params=f(i.params)}const a=t.resolve(s,i),c=e.hash||"";a.params=u(d(a.params));const p=function(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}(o,Ts({},e,{hash:(h=c,Ws(h).replace(Vs,"{").replace(Fs,"}").replace(Is,"^")),path:a.path}));var h;const g=r.createHref(p);return Ts({fullPath:p,hash:c,query:o===Ma?Va(e.query):e.query||{}},a,{redirectedFrom:void 0,href:g})}function h(e){return"string"==typeof e?Xs(n,e,l.value.path):Ts({},e)}function g(e,t){if(c!==e)return _a(8,{from:t,to:e})}function m(e){return y(e)}function v(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let o="function"==typeof n?n(e):n;return"string"==typeof o&&(o=o.includes("?")||o.includes("#")?o=h(o):{path:o},o.params={}),Ts({query:e.query,hash:e.hash,params:null!=o.path?{}:e.params},o)}}function y(e,t){const n=c=p(e),r=l.value,i=e.state,s=e.force,a=!0===e.replace,u=v(n);if(u)return y(Ts(h(u),{state:"object"==typeof u?Ts({},i,u.state):i,force:s,replace:a}),t||n);const f=n;let d;return f.redirectedFrom=t,!s&&function(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&Gs(t.matched[o],n.matched[r])&&Js(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}(o,r,n)&&(d=_a(16,{to:f,from:r}),A(r,r,!0,!1)),(d?Promise.resolve(d):w(f,r)).catch((e=>wa(e)?wa(e,2)?e:$(e):L(e,f,r))).then((e=>{if(e){if(wa(e,2))return y(Ts({replace:a},h(e.to),{state:"object"==typeof e.to?Ts({},i,e.to.state):i,force:s}),t||f)}else e=S(f,r,!0,a,i);return x(f,r,e),e}))}function b(e,t){const n=g(e,t);return n?Promise.reject(n):Promise.resolve()}function _(e){const t=B.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function w(e,t){let n;const[o,r,a]=function(e,t){const n=[],o=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;sGs(e,i)))?o.push(i):n.push(i));const a=e.matched[s];a&&(t.matched.find((e=>Gs(e,a)))||r.push(a))}return[n,o,r]}(e,t);n=Ka(o.reverse(),"beforeRouteLeave",e,t);for(const i of o)i.leaveGuards.forEach((o=>{n.push(za(o,e,t))}));const l=b.bind(null,e,t);return n.push(l),j(n).then((()=>{n=[];for(const o of i.list())n.push(za(o,e,t));return n.push(l),j(n)})).then((()=>{n=Ka(r,"beforeRouteUpdate",e,t);for(const o of r)o.updateGuards.forEach((o=>{n.push(za(o,e,t))}));return n.push(l),j(n)})).then((()=>{n=[];for(const o of a)if(o.beforeEnter)if(Os(o.beforeEnter))for(const r of o.beforeEnter)n.push(za(r,e,t));else n.push(za(o.beforeEnter,e,t));return n.push(l),j(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=Ka(a,"beforeRouteEnter",e,t,_),n.push(l),j(n)))).then((()=>{n=[];for(const o of s.list())n.push(za(o,e,t));return n.push(l),j(n)})).catch((e=>wa(e,8)?e:Promise.reject(e)))}function x(e,t,n){a.list().forEach((o=>_((()=>o(e,t,n)))))}function S(e,t,n,o,i){const s=g(e,t);if(s)return s;const a=t===ea,c=Ss?history.state:{};n&&(o||a?r.replace(e.fullPath,Ts({scroll:a&&c&&c.scroll},i)):r.push(e.fullPath,i)),l.value=e,A(e,t,n,a),$()}let C;function T(){C||(C=r.listen(((e,t,n)=>{if(!N.listening)return;const o=p(e),i=v(o);if(i)return void y(Ts(i,{replace:!0}),o).catch(ks);c=o;const s=l.value;var a,u;Ss&&(a=ua(s.fullPath,n.delta),u=la(),fa.set(a,u)),w(o,s).catch((e=>wa(e,12)?e:wa(e,2)?(y(e.to,o).then((e=>{wa(e,20)&&!n.delta&&n.type===ta.pop&&r.go(-1,!1)})).catch(ks),Promise.reject()):(n.delta&&r.go(-n.delta,!1),L(e,o,s)))).then((e=>{(e=e||S(o,s,!1))&&(n.delta&&!wa(e,8)?r.go(-n.delta,!1):n.type===ta.pop&&wa(e,20)&&r.go(-1,!1)),x(o,s,e)})).catch(ks)})))}let E,k=Ua(),O=Ua();function L(e,t,n){$(e);const o=O.list();return o.length?o.forEach((o=>o(e,t,n))):console.error(e),Promise.reject(e)}function $(e){return E||(E=!e,T(),k.list().forEach((([t,n])=>e?n(e):t())),k.reset()),e}function A(t,n,o,r){const{scrollBehavior:i}=e;if(!Ss||!i)return Promise.resolve();const s=!o&&function(e){const t=fa.get(e);return fa.delete(e),t}(ua(t.fullPath,0))||(r||!o)&&history.state&&history.state.scroll||null;return Sn().then((()=>i(t,n,s))).then((e=>e&&ca(e))).catch((e=>L(e,t,n)))}const P=e=>r.go(e);let R;const B=new Set,N={currentRoute:l,listening:!0,addRoute:function(e,n){let o,r;return ma(e)?(o=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,o)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},clearRoutes:t.clearRoutes,hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map((e=>e.record))},resolve:p,options:e,push:m,replace:function(e){return m(Ts(h(e),{replace:!0}))},go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:i.add,beforeResolve:s.add,afterEach:a.add,onError:O.add,isReady:function(){return E&&l.value!==ea?Promise.resolve():new Promise(((e,t)=>{k.add([e,t])}))},install(e){e.component("RouterLink",Ya),e.component("RouterView",Qa),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>an(l)}),Ss&&!R&&l.value===ea&&(R=!0,m(r.location).catch((e=>{})));const t={};for(const o in ea)Object.defineProperty(t,o,{get:()=>l.value[o],enumerable:!0});e.provide(Da,this),e.provide(Wa,Dt(t)),e.provide(qa,l);const n=e.unmount;B.add(e),e.unmount=function(){B.delete(e),B.size<1&&(c=ea,C&&C(),C=null,l.value=ea,R=!1,E=!1),n()}}};function j(e){return e.reduce(((e,t)=>e.then((()=>_(t)))),Promise.resolve())}return N}function tl(e){return vr(Wa)}const nl=["{","}"];const ol=/^(?:\d)+/,rl=/^(?:\w)+/;const il=Object.prototype.hasOwnProperty,sl=(e,t)=>il.call(e,t),al=new class{constructor(){this._caches=Object.create(null)}interpolate(e,t,n=nl){if(!t)return[e];let o=this._caches[e];return o||(o=function(e,[t,n]){const o=[];let r=0,i="";for(;r-1?"zh-Hans":e.indexOf("-hant")>-1?"zh-Hant":(n=e,["-tw","-hk","-mo","-cht"].find((e=>-1!==n.indexOf(e)))?"zh-Hant":"zh-Hans");var n;let o=["en","fr","es"];t&&Object.keys(t).length>0&&(o=Object.keys(t));const r=function(e,t){return t.find((t=>0===e.indexOf(t)))}(e,o);return r||void 0}class cl{constructor({locale:e,fallbackLocale:t,messages:n,watcher:o,formater:r}){this.locale="en",this.fallbackLocale="en",this.message={},this.messages={},this.watchers=[],t&&(this.fallbackLocale=t),this.formater=r||al,this.messages=n||{},this.setLocale(e||"en"),o&&this.watchLocale(o)}setLocale(e){const t=this.locale;this.locale=ll(e,this.messages)||this.fallbackLocale,this.messages[this.locale]||(this.messages[this.locale]={}),this.message=this.messages[this.locale],t!==this.locale&&this.watchers.forEach((e=>{e(this.locale,t)}))}getLocale(){return this.locale}watchLocale(e){const t=this.watchers.push(e)-1;return()=>{this.watchers.splice(t,1)}}add(e,t,n=!0){const o=this.messages[e];o?n?Object.assign(o,t):Object.keys(t).forEach((e=>{sl(o,e)||(o[e]=t[e])})):this.messages[e]=t}f(e,t,n){return this.formater.interpolate(e,t,n).join("")}t(e,t,n){let o=this.message;return"string"==typeof t?(t=ll(t,this.messages))&&(o=this.messages[t]):n=t,sl(o,e)?this.formater.interpolate(o[e],n).join(""):(console.warn(`Cannot translate the value of keypath ${e}. Use the value of keypath as default.`),e)}}function ul(e,t={},n,o){if("string"!=typeof e){const n=[t,e];e=n[0],t=n[1]}"string"!=typeof e&&(e="undefined"!=typeof uni&&Uu?Uu():"undefined"!=typeof global&&global.getLocale?global.getLocale():"en"),"string"!=typeof n&&(n="undefined"!=typeof __uniConfig&&__uniConfig.fallbackLocale||"en");const r=new cl({locale:e,fallbackLocale:n,messages:t,watcher:o});let i=(e,t)=>{{let e=!1;i=function(t,n){const o=cp().$vm;return o&&(o.$locale,e||(e=!0,function(e,t){e.$watchLocale?e.$watchLocale((e=>{t.setLocale(e)})):e.$watch((()=>e.$locale),(e=>{t.setLocale(e)}))}(o,r))),r.t(t,n)}}return i(e,t)};return{i18n:r,f:(e,t,n)=>r.f(e,t,n),t:(e,t)=>i(e,t),add:(e,t,n=!0)=>r.add(e,t,n),watch:e=>r.watchLocale(e),getLocale:()=>r.getLocale(),setLocale:e=>r.setLocale(e)}}const fl=de((()=>"undefined"!=typeof __uniConfig&&__uniConfig.locales&&!!Object.keys(__uniConfig.locales).length));let dl;function pl(){if(!dl){let e;if(e=navigator.cookieEnabled&&window.localStorage&&localStorage.UNI_LOCALE||__uniConfig.locale||navigator.language,dl=ul(e),fl()){const t=Object.keys(__uniConfig.locales||{});t.length&&t.forEach((e=>dl.add(e,__uniConfig.locales[e]))),dl.setLocale(e)}}return dl}function hl(e,t,n){return t.reduce(((t,o,r)=>(t[e+o]=n[r],t)),{})}const gl=de((()=>{const e="uni.async.",t=["error"];pl().add("en",hl(e,t,["The connection timed out, click the screen to try again."]),!1),pl().add("es",hl(e,t,["Se agotó el tiempo de conexión, haga clic en la pantalla para volver a intentarlo."]),!1),pl().add("fr",hl(e,t,["La connexion a expiré, cliquez sur l'écran pour réessayer."]),!1),pl().add("zh-Hans",hl(e,t,["连接服务器超时,点击屏幕重试"]),!1),pl().add("zh-Hant",hl(e,t,["連接服務器超時,點擊屏幕重試"]),!1)})),ml=de((()=>{const e="uni.showToast.",t=["unpaired"];pl().add("en",hl(e,t,["Please note showToast must be paired with hideToast"]),!1),pl().add("es",hl(e,t,["Tenga en cuenta que showToast debe estar emparejado con hideToast"]),!1),pl().add("fr",hl(e,t,["Veuillez noter que showToast doit être associé à hideToast"]),!1),pl().add("zh-Hans",hl(e,t,["请注意 showToast 与 hideToast 必须配对使用"]),!1),pl().add("zh-Hant",hl(e,t,["請注意 showToast 與 hideToast 必須配對使用"]),!1)})),vl=de((()=>{const e="uni.showLoading.",t=["unpaired"];pl().add("en",hl(e,t,["Please note showLoading must be paired with hideLoading"]),!1),pl().add("es",hl(e,t,["Tenga en cuenta que showLoading debe estar emparejado con hideLoading"]),!1),pl().add("fr",hl(e,t,["Veuillez noter que showLoading doit être associé à hideLoading"]),!1),pl().add("zh-Hans",hl(e,t,["请注意 showLoading 与 hideLoading 必须配对使用"]),!1),pl().add("zh-Hant",hl(e,t,["請注意 showLoading 與 hideLoading 必須配對使用"]),!1)})),yl=de((()=>{const e="uni.showModal.",t=["cancel","confirm"];pl().add("en",hl(e,t,["Cancel","OK"]),!1),pl().add("es",hl(e,t,["Cancelar","OK"]),!1),pl().add("fr",hl(e,t,["Annuler","OK"]),!1),pl().add("zh-Hans",hl(e,t,["取消","确定"]),!1),pl().add("zh-Hant",hl(e,t,["取消","確定"]),!1)}));function bl(e){const t=new $e;return{on:(e,n)=>t.on(e,n),once:(e,n)=>t.once(e,n),off:(e,n)=>t.off(e,n),emit:(e,...n)=>t.emit(e,...n),subscribe(n,o,r=!1){t[r?"once":"on"](`${e}.${n}`,o)},unsubscribe(n,o){t.off(`${e}.${n}`,o)},subscribeHandler(n,o,r){t.emit(`${e}.${n}`,o,r)}}}let _l=1;const wl=Object.create(null);function xl(e,t){return e+"."+t}function Sl({id:e,name:t,args:n},o){t=xl(o,t);const r=t=>{e&&hh.publishHandler("invokeViewApi."+e,t)},i=wl[t];i?i(n,r):r({})}const Cl=c(bl("service"),{invokeServiceMethod:(e,t,n)=>{const{subscribe:o,publishHandler:r}=hh,i=n?_l++:0;n&&o("invokeServiceApi."+i,n,!0),r("invokeServiceApi",{id:i,name:e,args:t})}}),Tl=ve(!0);let El;function kl(){El&&(clearTimeout(El),El=null)}let Ol=0,Ll=0;function $l(e){if(kl(),1!==e.touches.length)return;const{pageX:t,pageY:n}=e.touches[0];Ol=t,Ll=n,El=setTimeout((function(){const t=new CustomEvent("longpress",{bubbles:!0,cancelable:!0,target:e.target,currentTarget:e.currentTarget});t.touches=e.touches,t.changedTouches=e.changedTouches,e.target.dispatchEvent(t)}),350)}function Al(e){if(!El)return;if(1!==e.touches.length)return kl();const{pageX:t,pageY:n}=e.touches[0];return Math.abs(t-Ol)>10||Math.abs(n-Ll)>10?kl():void 0}function Pl(e,t){const n=Number(e);return isNaN(n)?t:n}const Rl=()=>/^Apple/.test(navigator.vendor);function Bl(){const e=__uniConfig.globalStyle||{},t=Pl(e.rpxCalcMaxDeviceWidth,960),n=Pl(e.rpxCalcBaseDeviceWidth,375);function o(){let e=function(){const e=Rl()&&"number"==typeof window.orientation,t=e&&90===Math.abs(window.orientation);var n=e?Math[t?"max":"min"](screen.width,screen.height):screen.width;return e?Math.min(window.innerWidth,document.documentElement.clientWidth,n)||n:Math.min(window.innerWidth,document.documentElement.clientWidth)}();e=e<=t?e:n,document.documentElement.style.fontSize=e/23.4375+"px"}o(),document.addEventListener("DOMContentLoaded",o),window.addEventListener("load",o),window.addEventListener("resize",o),Rl()&&window.addEventListener("orientationchange",(()=>{o(),setTimeout(o,50)}))}function Nl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var jl,Il,Ml=["top","left","right","bottom"],Vl={};function Hl(){return Il="CSS"in window&&"function"==typeof CSS.supports?CSS.supports("top: env(safe-area-inset-top)")?"env":CSS.supports("top: constant(safe-area-inset-top)")?"constant":"":""}function Fl(){if(Il="string"==typeof Il?Il:Hl()){var e=[],t=!1;try{var n=Object.defineProperty({},"passive",{get:function(){t={passive:!0}}});window.addEventListener("test",null,n)}catch(a){}var o=document.createElement("div");r(o,{position:"absolute",left:"0",top:"0",width:"0",height:"0",zIndex:"-1",overflow:"hidden",visibility:"hidden"}),Ml.forEach((function(e){s(o,e)})),document.body.appendChild(o),i(),jl=!0}else Ml.forEach((function(e){Vl[e]=0}));function r(e,t){var n=e.style;Object.keys(t).forEach((function(e){var o=t[e];n[e]=o}))}function i(t){t?e.push(t):e.forEach((function(e){e()}))}function s(e,n){var o=document.createElement("div"),s=document.createElement("div"),a=document.createElement("div"),l=document.createElement("div"),c={position:"absolute",width:"100px",height:"200px",boxSizing:"border-box",overflow:"hidden",paddingBottom:Il+"(safe-area-inset-"+n+")"};r(o,c),r(s,c),r(a,{transition:"0s",animation:"none",width:"400px",height:"400px"}),r(l,{transition:"0s",animation:"none",width:"250%",height:"250%"}),o.appendChild(a),s.appendChild(l),e.appendChild(o),e.appendChild(s),i((function(){o.scrollTop=s.scrollTop=1e4;var e=o.scrollTop,r=s.scrollTop;function i(){this.scrollTop!==(this===o?e:r)&&(o.scrollTop=s.scrollTop=1e4,e=o.scrollTop,r=s.scrollTop,function(e){Wl.length||setTimeout((function(){var e={};Wl.forEach((function(t){e[t]=Vl[t]})),Wl.length=0,ql.forEach((function(t){t(e)}))}),0);Wl.push(e)}(n))}o.addEventListener("scroll",i,t),s.addEventListener("scroll",i,t)}));var u=getComputedStyle(o);Object.defineProperty(Vl,n,{configurable:!0,get:function(){return parseFloat(u.paddingBottom)}})}}function Dl(e){return jl||Fl(),Vl[e]}var Wl=[];var ql=[];const Ul=Nl({get support(){return 0!=("string"==typeof Il?Il:Hl()).length},get top(){return Dl("top")},get left(){return Dl("left")},get right(){return Dl("right")},get bottom(){return Dl("bottom")},onChange:function(e){Hl()&&(jl||Fl(),"function"==typeof e&&ql.push(e))},offChange:function(e){var t=ql.indexOf(e);t>=0&&ql.splice(t,1)}}),zl=bs((()=>{}),["prevent"]),Kl=bs((e=>{}),["stop"]);function Xl(e,t){return parseInt((e.getPropertyValue(t).match(/\d+/)||["0"])[0])}function Yl(){const e=Xl(document.documentElement.style,"--window-top");return e?e+Ul.top:0}function Gl(e){const t=document.documentElement.style;Object.keys(e).forEach((n=>{t.setProperty(n,e[n])}))}function Jl(e){return Symbol(e)}function Zl(e){return e.$page}function Ql(e){return 0===e.tagName.indexOf("UNI-")}const ec="M1.952 18.080q-0.32-0.352-0.416-0.88t0.128-0.976l0.16-0.352q0.224-0.416 0.64-0.528t0.8 0.176l6.496 4.704q0.384 0.288 0.912 0.272t0.88-0.336l17.312-14.272q0.352-0.288 0.848-0.256t0.848 0.352l-0.416-0.416q0.32 0.352 0.32 0.816t-0.32 0.816l-18.656 18.912q-0.32 0.352-0.8 0.352t-0.8-0.32l-7.936-8.064z",tc="M15.808 0.16q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM15.136 8.672h1.728q0.128 0 0.224 0.096t0.096 0.256l-0.384 10.24q0 0.064-0.048 0.112t-0.112 0.048h-1.248q-0.096 0-0.144-0.048t-0.048-0.112l-0.384-10.24q0-0.16 0.096-0.256t0.224-0.096zM16 23.328q-0.48 0-0.832-0.352t-0.352-0.848 0.352-0.848 0.832-0.352 0.832 0.352 0.352 0.848-0.352 0.848-0.832 0.352z";function nc(e,t="#000",n=27){return ni("svg",{width:n,height:n,viewBox:"0 0 32 32"},[ni("path",{d:e,fill:t},null,8,["d","fill"])],8,["width","height"])}function oc(){{const{$pageInstance:e}=hi();return e&&fc(e.proxy)}}function rc(){const e=kf(),t=e.length;if(t)return e[t-1]}function ic(){var e;const t=null==(e=rc())?void 0:e.$page;if(t)return t.meta}function sc(){const e=ic();return e?e.id:-1}function ac(){const e=rc();if(e)return e.$vm}const lc=["navigationBar","pullToRefresh"];function cc(e,t){const n=JSON.parse(JSON.stringify(__uniConfig.globalStyle||{})),o=c({id:t},n,e);lc.forEach((t=>{o[t]=c({},n[t],e[t])}));const{navigationBar:r}=o;return r.titleText&&r.titleImage&&(r.titleText=""),o}function uc(e,t,n,o,r,i){const{id:s,route:a}=o,l=Re(o.navigationBar,__uniConfig.themeConfig,i).titleColor;return{id:s,path:fe(a),route:a,fullPath:t,options:n,meta:o,openType:e,eventChannel:r,statusBarStyle:"#ffffff"===l?"light":"dark"}}function fc(e){var t,n;return(null==(t=e.$page)?void 0:t.id)||(null==(n=e.$basePage)?void 0:n.id)}function dc(e,t,n){if(v(e))n=t,t=e,e=ac();else if("number"==typeof e){const t=kf().find((t=>Zl(t).id===e));e=t?t.$vm:ac()}if(!e)return;const o=e.$[t];return"onBackPress"===t?o&&(r=o,i=n,r.map((e=>e(i)))).some((e=>!0===e)):o&&((e,t)=>{let n;for(let o=0;o{function s(){if((()=>{const{scrollHeight:e}=document.documentElement,t=window.innerHeight,o=window.scrollY,i=o>0&&e>t&&o+t+n>=e,s=Math.abs(e-gc)>n;return!i||r&&!s?(!i&&r&&(r=!1),!1):(gc=e,r=!0,!0)})())return t&&t(),i=!1,setTimeout((function(){i=!0}),350),!0}e&&e(window.pageYOffset),t&&i&&(s()||(hc=setTimeout(s,300))),o=!1};return function(){clearTimeout(hc),o||requestAnimationFrame(s),o=!0}}function vc(e,t){if(0===t.indexOf("/"))return t;if(0===t.indexOf("./"))return vc(e,t.slice(2));const n=t.split("/"),o=n.length;let r=0;for(;r0?e.split("/"):[];return i.splice(i.length-r-1,r+1),fe(i.concat(n).join("/"))}function yc(e,t=!1){return t?__uniRoutes.find((t=>t.path===e||t.alias===e)):__uniRoutes.find((t=>t.path===e))}function bc(){Bl(),he(Ql),window.addEventListener("touchstart",$l,Tl),window.addEventListener("touchmove",Al,Tl),window.addEventListener("touchend",kl,Tl),window.addEventListener("touchcancel",kl,Tl)}class _c{constructor(e){this.$bindClass=!1,this.$bindStyle=!1,this.$vm=e,this.$el=function(e,t=!1){const{vnode:n}=e;if(ae(n.el))return t?n.el?[n.el]:[]:n.el;const{subTree:o}=e;if(16&o.shapeFlag){const e=o.children.filter((e=>e.el&&ae(e.el)));if(e.length>0)return t?e.map((e=>e.el)):e[0].el}return t?n.el?[n.el]:[]:n.el}(e.$),this.$el.getAttribute&&(this.$bindClass=!!this.$el.getAttribute("class"),this.$bindStyle=!!this.$el.getAttribute("style"))}selectComponent(e){if(!this.$el||!e)return;const t=Cc(this.$el.querySelector(e));return t?wc(t,!1):void 0}selectAllComponents(e){if(!this.$el||!e)return[];const t=[],n=this.$el.querySelectorAll(e);for(let o=0;o-1&&t.splice(n,1)}const n=this.$el.__wxsRemoveClass||(this.$el.__wxsRemoveClass=[]);return-1===n.indexOf(e)&&(n.push(e),this.forceUpdate("class")),this}hasClass(e){return this.$el&&this.$el.classList.contains(e)}getDataset(){return this.$el&&this.$el.dataset}callMethod(e,t={}){const n=this.$vm[e];m(n)?n(JSON.parse(JSON.stringify(t))):this.$vm.ownerId&&hh.publishHandler("onWxsInvokeCallMethod",{nodeId:this.$el.__id,ownerId:this.$vm.ownerId,method:e,args:t})}requestAnimationFrame(e){return window.requestAnimationFrame(e)}getState(){return this.$el&&(this.$el.__wxsState||(this.$el.__wxsState={}))}triggerEvent(e,t={}){return this.$vm.$emit(e,t),this}getComputedStyle(e){if(this.$el){const t=window.getComputedStyle(this.$el);return e&&e.length?e.reduce(((e,n)=>(e[n]=t[n],e)),{}):t}return{}}setTimeout(e,t){return window.setTimeout(e,t)}clearTimeout(e){return window.clearTimeout(e)}getBoundingClientRect(){return this.$el.getBoundingClientRect()}}function wc(e,t=!0){if(t&&e&&(e=se(e.$)),e&&e.$el)return e.$el.__wxsComponentDescriptor||(e.$el.__wxsComponentDescriptor=new _c(e)),e.$el.__wxsComponentDescriptor}function xc(e,t){return wc(e,t)}function Sc(e,t,n,o=!0){if(t){e.__instance||(e.__instance=!0,Object.defineProperty(e,"instance",{get:()=>xc(n.proxy,!1)}));const r=function(e,t,n=!0){if(!t)return!1;if(n&&e.length<2)return!1;const o=se(t);if(!o)return!1;const r=o.$.type;return!(!r.$wxs&&!r.$renderjs)&&o}(t,n,o);if(r)return[e,xc(r,!1)]}}function Cc(e){if(e)return e.__vueParentComponent&&e.__vueParentComponent.proxy}function Tc(e,t=!1){const{type:n,timeStamp:o,target:r,currentTarget:i}=e;let s,a;s=ye(t?r:function(e){for(;!Ql(e);)e=e.parentElement;return e}(r)),a=ye(i);const l={type:n,timeStamp:o,target:s,detail:{},currentTarget:a};return e instanceof CustomEvent&&S(e.detail)&&(l.detail=e.detail),e._stopped&&(l._stopped=!0),e.type.startsWith("touch")&&(l.touches=e.touches,l.changedTouches=e.changedTouches),function(e,t){c(e,{preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}(l,e),l}function Ec(e,t){return{force:1,identifier:0,clientX:e.clientX,clientY:e.clientY-t,pageX:e.pageX,pageY:e.pageY-t}}function kc(e,t){const n=[];for(let o=0;o0===e.type.indexOf("mouse")||["contextmenu"].includes(e.type))(e))!function(e,t){const n=Yl();e.pageX=t.pageX,e.pageY=t.pageY-n,e.clientX=t.clientX,e.clientY=t.clientY-n,e.touches=e.changedTouches=[Ec(t,n)]}(i,e);else if((e=>"undefined"!=typeof TouchEvent&&e instanceof TouchEvent||0===e.type.indexOf("touch")||["longpress"].indexOf(e.type)>=0)(e)){const t=Yl();i.touches=kc(e.touches,t),i.changedTouches=kc(e.changedTouches,t)}else if((e=>!e.type.indexOf("key")&&e instanceof KeyboardEvent)(e)){["key","code"].forEach((t=>{Object.defineProperty(i,t,{get:()=>e[t]})}))}return Sc(i,t,n)||[i]},createNativeEvent:Tc},Symbol.toStringTag,{value:"Module"});function Lc(e){!function(e){const t=e.globalProperties;c(t,Oc),t.$gcd=xc}(e._context.config)}let $c=1;function Ac(e){return(e||sc())+".invokeViewApi"}const Pc=c(bl("view"),{invokeOnCallback:(e,t)=>gh.emit("api."+e,t),invokeViewMethod:(e,t,n,o)=>{const{subscribe:r,publishHandler:i}=gh,s=o?$c++:0;o&&r("invokeViewApi."+s,o,!0),i(Ac(n),{id:s,name:e,args:t},n)},invokeViewMethodKeepAlive:(e,t,n,o)=>{const{subscribe:r,unsubscribe:i,publishHandler:s}=gh,a=$c++,l="invokeViewApi."+a;return r(l,n),s(Ac(o),{id:a,name:e,args:t},o),()=>{i(l)}}});function Rc(e){dc(rc(),"onResize",e),gh.invokeOnCallback("onWindowResize",e)}function Bc(e){const t=rc();dc(cp(),"onShow",e),dc(t,"onShow")}function Nc(){dc(cp(),"onHide"),dc(rc(),"onHide")}const jc=["onPageScroll","onReachBottom"];function Ic(){jc.forEach((e=>gh.subscribe(e,function(e){return(t,n)=>{dc(parseInt(n),e,t)}}(e))))}function Mc(){!function(){const{on:e}=gh;e("onResize",Rc),e("onAppEnterForeground",Bc),e("onAppEnterBackground",Nc)}(),Ic()}function Vc(){if(this.$route){const e=this.$route.meta;return e.eventChannel||(e.eventChannel=new Ce(this.$page.id)),e.eventChannel}}function Hc(e){e._context.config.globalProperties.getOpenerEventChannel=Vc}function Fc(){return{path:"",query:{},scene:1001,referrerInfo:{appId:"",extraData:{}}}}function Dc(e){return/^-?\d+[ur]px$/i.test(e)?e.replace(/(^-?\d+)[ur]px$/i,((e,t)=>`${qu(parseFloat(t))}px`)):/^-?[\d\.]+$/.test(e)?`${e}px`:e||""}function Wc(e){const t=e.animation;if(!t||!t.actions||!t.actions.length)return;let n=0;const o=t.actions,r=t.actions.length;function i(){const t=o[n],s=t.option.transition,a=function(e){const t=["matrix","matrix3d","scale","scale3d","rotate3d","skew","translate","translate3d"],n=["scaleX","scaleY","scaleZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","translateX","translateY","translateZ"],o=["opacity","background-color"],r=["width","height","left","right","top","bottom"],i=e.animates,s=e.option,a=s.transition,l={},c=[];return i.forEach((e=>{let i=e.type,s=[...e.args];if(t.concat(n).includes(i))i.startsWith("rotate")||i.startsWith("skew")?s=s.map((e=>parseFloat(e)+"deg")):i.startsWith("translate")&&(s=s.map(Dc)),n.indexOf(i)>=0&&(s.length=1),c.push(`${i}(${s.join(",")})`);else if(o.concat(r).includes(s[0])){i=s[0];const e=s[1];l[i]=r.includes(i)?Dc(e):e}})),l.transform=l.webkitTransform=c.join(" "),l.transition=l.webkitTransition=Object.keys(l).map((e=>`${function(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`)).replace("webkit","-webkit")}(e)} ${a.duration}ms ${a.timingFunction} ${a.delay}ms`)).join(","),l.transformOrigin=l.webkitTransformOrigin=s.transformOrigin,l}(t);Object.keys(a).forEach((t=>{e.$el.style[t]=a[t]})),n+=1,n{i()}),0)}const qc={props:["animation"],watch:{animation:{deep:!0,handler(){Wc(this)}}},mounted(){Wc(this)}},Uc=e=>{e.__reserved=!0;const{props:t,mixins:n}=e;return t&&t.animation||(n||(e.mixins=[])).push(qc),zc(e)},zc=e=>(e.__reserved=!0,e.compatConfig={MODE:3},vo(e));function Kc(e){return e.__wwe=!0,e}function Xc(e,t){return(n,o,r)=>{e.value&&t(n,function(e,t,n,o){let r;return r=ye(n),{type:t.__evName||o.type||e,timeStamp:t.timeStamp||0,target:r,currentTarget:r,detail:o}}(n,o,e.value,r||{}))}}const Yc={hoverClass:{type:String,default:"none"},hoverStopPropagation:{type:Boolean,default:!1},hoverStartTime:{type:[Number,String],default:50},hoverStayTime:{type:[Number,String],default:400}};function Gc(e){const t=on(!1);let n,o,r=!1;function i(){requestAnimationFrame((()=>{clearTimeout(o),o=setTimeout((()=>{t.value=!1}),parseInt(e.hoverStayTime))}))}function s(o){o._hoverPropagationStopped||e.hoverClass&&"none"!==e.hoverClass&&!e.disabled&&(e.hoverStopPropagation&&(o._hoverPropagationStopped=!0),r=!0,n=setTimeout((()=>{t.value=!0,r||i()}),parseInt(e.hoverStartTime)))}function a(){r=!1,t.value&&i()}function l(){a(),window.removeEventListener("mouseup",l)}return{hovering:t,binding:{onTouchstartPassive:Kc((function(e){e.touches.length>1||s(e)})),onMousedown:Kc((function(e){r||(s(e),window.addEventListener("mouseup",l))})),onTouchend:Kc((function(){a()})),onMouseup:Kc((function(){r&&l()})),onTouchcancel:Kc((function(){r=!1,t.value=!1,clearTimeout(n)}))}}}function Jc(e,t){return v(t)&&(t=[t]),t.reduce(((t,n)=>(e[n]&&(t[n]=!0),t)),Object.create(null))}const Zc=Jl("uf"),Qc=Jl("ul");function eu(e,t,n){const o=oc();n&&!e||S(t)&&Object.keys(t).forEach((r=>{n?0!==r.indexOf("@")&&0!==r.indexOf("uni-")&&hh.on(`uni-${r}-${o}-${e}`,t[r]):0===r.indexOf("uni-")?hh.on(r,t[r]):e&&hh.on(`uni-${r}-${o}-${e}`,t[r])}))}function tu(e,t,n){const o=oc();n&&!e||S(t)&&Object.keys(t).forEach((r=>{n?0!==r.indexOf("@")&&0!==r.indexOf("uni-")&&hh.off(`uni-${r}-${o}-${e}`,t[r]):0===r.indexOf("uni-")?hh.off(r,t[r]):e&&hh.off(`uni-${r}-${o}-${e}`,t[r])}))}const nu=Uc({name:"Button",props:{id:{type:String,default:""},hoverClass:{type:String,default:"button-hover"},hoverStartTime:{type:[Number,String],default:20},hoverStayTime:{type:[Number,String],default:70},hoverStopPropagation:{type:Boolean,default:!1},disabled:{type:[Boolean,String],default:!1},formType:{type:String,default:""},openType:{type:String,default:""},loading:{type:[Boolean,String],default:!1},plain:{type:[Boolean,String],default:!1}},setup(e,{slots:t}){const n=on(null),o=vr(Zc,!1),{hovering:r,binding:i}=Gc(e),s=Kc(((t,r)=>{if(e.disabled)return t.stopImmediatePropagation();r&&n.value.click();const i=e.formType;if(i){if(!o)return;"submit"===i?o.submit(t):"reset"===i&&o.reset(t)}else;})),a=vr(Qc,!1);return a&&(a.addHandler(s),Ho((()=>{a.removeHandler(s)}))),function(e,t){eu(e.id,t),Zn((()=>e.id),((e,n)=>{tu(n,t,!0),eu(e,t,!0)})),Fo((()=>{tu(e.id,t)}))}(e,{"label-click":s}),()=>{const o=e.hoverClass,a=Jc(e,"disabled"),l=Jc(e,"loading"),c=Jc(e,"plain"),u=o&&"none"!==o;return ni("uni-button",ci({ref:n,onClick:s,id:e.id,class:u&&r.value?o:""},u&&i,a,l,c),[t.default&&t.default()],16,["onClick","id"])}}}),ou=Jl("upm");function ru(){return vr(ou)}function iu(e){const t=function(e){return Ft(function(e){if(history.state){const t=history.state.__type__;"redirectTo"!==t&&"reLaunch"!==t||0!==kf().length||(e.isEntry=!0,e.isQuit=!0)}return e}(JSON.parse(JSON.stringify(cc(tl().meta,e)))))}(e);return mr(ou,t),t}function su(){return tl()}function au(){return history.state&&history.state.__id__||1}const lu=["GET","OPTIONS","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PATCH"];function cu(e,t){return e&&-1!==t.indexOf(e)?e:t[0]}function uu(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}let fu=1;const du={};function pu(e,t,n){if("number"==typeof e){const o=du[e];if(o)return o.keepAlive||delete du[e],o.callback(t,n)}return t}const hu="success",gu="fail",mu="complete";function vu(e,t={},{beforeAll:n,beforeSuccess:o}={}){S(t)||(t={});const{success:r,fail:i,complete:s}=function(e){const t={};for(const n in e){const o=e[n];m(o)&&(t[n]=uu(o),delete e[n])}return t}(t),a=m(r),l=m(i),c=m(s),u=fu++;return function(e,t,n,o=!1){du[e]={name:t,keepAlive:o,callback:n}}(u,e,(u=>{(u=u||{}).errMsg=function(e,t){return e&&-1!==e.indexOf(":fail")?t+e.substring(e.indexOf(":fail")):t+":ok"}(u.errMsg,e),m(n)&&n(u),u.errMsg===e+":ok"?(m(o)&&o(u,t),a&&r(u)):l&&i(u),c&&s(u)})),u}const yu="success",bu="fail",_u="complete",wu={},xu={};function Su(e,t){return function(n){return e(n,t)||n}}function Cu(e,t,n){let o=!1;for(let r=0;re(t),catch(){}}}function Tu(e,t={}){return[yu,bu,_u].forEach((n=>{const o=e[n];if(!p(o))return;const r=t[n];t[n]=function(e){Cu(o,e,t).then((e=>m(r)&&r(e)||e))}})),t}function Eu(e,t){const n=[];p(wu.returnValue)&&n.push(...wu.returnValue);const o=xu[e];return o&&p(o.returnValue)&&n.push(...o.returnValue),n.forEach((e=>{t=e(t)||t})),t}function ku(e){const t=Object.create(null);Object.keys(wu).forEach((e=>{"returnValue"!==e&&(t[e]=wu[e].slice())}));const n=xu[e];return n&&Object.keys(n).forEach((e=>{"returnValue"!==e&&(t[e]=(t[e]||[]).concat(n[e]))})),t}function Ou(e,t,n,o){const r=ku(e);if(r&&Object.keys(r).length){if(p(r.invoke)){return Cu(r.invoke,n).then((n=>t(Tu(ku(e),n),...o)))}return t(Tu(r,n),...o)}return t(n,...o)}function Lu(e,t){return(n={},...o)=>function(e){return!(!S(e)||![hu,gu,mu].find((t=>m(e[t]))))}(n)?Eu(e,Ou(e,t,c({},n),o)):Eu(e,new Promise(((r,i)=>{Ou(e,t,c({},n,{success:r,fail:i}),o)})))}function $u(e,t,n,o={}){const r=t+":fail";let i="";return i=n?0===n.indexOf(r)?n:r+" "+n:r,delete o.errCode,pu(e,c({errMsg:i},o))}function Au(e,t,n,o){if(o&&o.beforeInvoke){const e=o.beforeInvoke(t);if(v(e))return e}const r=function(e,t){const n=e[0];if(!t||!t.formatArgs||!S(t.formatArgs)&&S(n))return;const o=t.formatArgs,r=Object.keys(o);for(let i=0;i{const r=vu(e,n,o),i=Au(0,[n],0,o);return i?$u(r,e,i):t(n,{resolve:t=>function(e,t,n){return pu(e,c(n||{},{errMsg:t+":ok"}))}(r,e,t),reject:(t,n)=>$u(r,e,function(e){return!e||v(e)?e:e.stack?("undefined"!=typeof globalThis&&globalThis.harmonyChannel||console.error(e.message+"\n"+e.stack),e.message):e}(t),n)})}}function Ru(e,t,n,o){return Lu(e,Pu(e,t,0,o))}function Bu(e,t,n,o){return function(e,t,n,o){return(...e)=>{const n=Au(0,e,0,o);if(n)throw new Error(n);return t.apply(null,e)}}(0,t,0,o)}function Nu(e,t,n,o){return Lu(e,function(e,t,n,o){return Pu(e,t,0,o)}(e,t,0,o))}let ju=!1,Iu=0,Mu=0,Vu=960,Hu=375,Fu=750;function Du(){let e,t,n;{const{windowWidth:o,pixelRatio:r,platform:i}=function(){const e=td();return{platform:zf?"ios":"other",pixelRatio:window.devicePixelRatio,windowWidth:e}}();e=o,t=r,n=i}Iu=e,Mu=t,ju="ios"===n}function Wu(e,t){const n=Number(e);return isNaN(n)?t:n}const qu=Bu(0,((e,t)=>{if(0===Iu&&(Du(),function(){const e=__uniConfig.globalStyle||{};Vu=Wu(e.rpxCalcMaxDeviceWidth,960),Hu=Wu(e.rpxCalcBaseDeviceWidth,375),Fu=Wu(e.rpxCalcBaseDeviceWidth,750)}()),0===(e=Number(e)))return 0;let n=t||Iu;n=e===Fu||n<=Vu?n:Hu;let o=e/750*n;return o<0&&(o=-o),o=Math.floor(o+1e-4),0===o&&(o=1!==Mu&&ju?.5:1),e<0?-o:o})),Uu=Bu(0,(()=>{const e=cp();return e&&e.$vm?e.$vm.$locale:pl().getLocale()})),zu={onUnhandledRejection:[],onPageNotFound:[],onError:[],onShow:[],onHide:[]};const Ku="json",Xu=["text","arraybuffer"],Yu=encodeURIComponent;ArrayBuffer,Boolean;const Gu={formatArgs:{method(e,t){t.method=cu((e||"").toUpperCase(),lu)},data(e,t){t.data=e||""},url(e,t){t.method===lu[0]&&S(t.data)&&Object.keys(t.data).length&&(t.url=function(e,t){let n=e.split("#");const o=n[1]||"";n=n[0].split("?");let r=n[1]||"";e=n[0];const i=r.split("&").filter((e=>e)),s={};i.forEach((e=>{const t=e.split("=");s[t[0]]=t[1]}));for(const a in t)if(d(t,a)){let e=t[a];null==e?e="":S(e)&&(e=JSON.stringify(e)),s[Yu(a)]=Yu(e)}return r=Object.keys(s).map((e=>`${e}=${s[e]}`)).join("&"),e+(r?"?"+r:"")+(o?"#"+o:"")}(e,t.data))},header(e,t){const n=t.header=e||{};t.method!==lu[0]&&(Object.keys(n).find((e=>"content-type"===e.toLowerCase()))||(n["Content-Type"]="application/json"))},dataType(e,t){t.dataType=(e||Ku).toLowerCase()},responseType(e,t){t.responseType=(e||"").toLowerCase(),-1===Xu.indexOf(t.responseType)&&(t.responseType="text")}}};const Ju={url:{type:String,required:!0}},Zu=(ef(["slide-in-right","slide-in-left","slide-in-top","slide-in-bottom","fade-in","zoom-out","zoom-fade-out","pop-in","none"]),ef(["slide-out-right","slide-out-left","slide-out-top","slide-out-bottom","fade-out","zoom-in","zoom-fade-in","pop-out","none"]),of("navigateTo")),Qu={formatArgs:{delta(e,t){e=parseInt(e+"")||1,t.delta=Math.min(kf().length-1,e)}}};function ef(e){return{animationType:{type:String,validator(t){if(t&&-1===e.indexOf(t))return"`"+t+"` is not supported for `animationType` (supported values are: `"+e.join("`|`")+"`)"}},animationDuration:{type:Number}}}let tf;function nf(){tf=""}function of(e){return{formatArgs:{url:rf(e)},beforeAll:nf}}function rf(e){return function(t,n){if(!t)return'Missing required args: "url"';const o=(t=function(e){if(0===e.indexOf("/")||0===e.indexOf("uni:"))return e;let t="";const n=kf();return n.length&&(t=Zl(n[n.length-1]).route),vc(t,e)}(t)).split("?")[0],r=yc(o,!0);if(!r)return"page `"+t+"` is not found";if("navigateTo"===e||"redirectTo"===e){if(r.meta.isTabBar)return`can not ${e} a tabbar page`}else if("switchTab"===e&&!r.meta.isTabBar)return"can not switch to no-tabBar page";if("switchTab"!==e&&"preloadPage"!==e||!r.meta.isTabBar||"appLaunch"===n.openType||(t=o),r.meta.isEntry&&(t=t.replace(r.alias,"/")),n.url=function(e){if(!v(e))return e;const t=e.indexOf("?");if(-1===t)return e;const n=e.slice(t+1).trim().replace(/^(\?|#|&)/,"");if(!n)return e;e=e.slice(0,t);const o=[];return n.split("&").forEach((e=>{const t=e.replace(/\+/g," ").split("="),n=t.shift(),r=t.length>0?t.join("="):"";o.push(n+"="+encodeURIComponent(r))})),o.length?e+"?"+o.join("&"):e}(t),"unPreloadPage"!==e)if("preloadPage"!==e){if(tf===t&&"appLaunch"!==n.openType)return`${tf} locked`;__uniConfig.ready&&(tf=t)}else if(r.meta.isTabBar){const e=kf(),t=r.path.slice(1);if(e.find((e=>e.route===t)))return"tabBar page `"+t+"` already exists"}}}Boolean;const sf={beforeInvoke(){yl()},formatArgs:{title:"",content:"",placeholderText:"",showCancel:!0,editable:!1,cancelText(e,t){if(!d(t,"cancelText")){const{t:e}=pl();t.cancelText=e("uni.showModal.cancel")}},cancelColor:"#000",confirmText(e,t){if(!d(t,"confirmText")){const{t:e}=pl();t.confirmText=e("uni.showModal.confirm")}},confirmColor:"#007aff"}},af=["success","loading","none","error"],lf=(Boolean,{formatArgs:{title:"",icon(e,t){t.icon=cu(e,af)},image(e,t){t.image=e?Wf(e):""},duration:1500,mask:!1}});function cf(e,t){return e===t.fullPath||"/"===e&&t.meta.isEntry}function uf(){const e=Ef().keys();for(const t of e)Lf(t)}const ff=Nu("reLaunch",(({url:e,isAutomatedTesting:t},{resolve:n,reject:o})=>{if(wf.handledBeforeEntryPageRoutes)return uf(),df({type:"reLaunch",url:e,isAutomatedTesting:t}).then(n).catch(o);Tf.push({args:{type:"reLaunch",url:e,isAutomatedTesting:t},resolve:n,reject:o})}),0,of("reLaunch"));function df({type:e,url:t,tabBarText:n,events:o,isAutomatedTesting:r},i){const s=cp().$router,{path:a,query:l}=function(e){const[t,n]=e.split("?",2);return{path:t,query:xe(n||"")}}(t);return new Promise(((t,c)=>{const u=function(e,t){return{__id__:t||++$f,__type__:e}}(e,i);s["navigateTo"===e?"push":"replace"]({path:a,query:l,state:u,force:!0}).then((i=>{if(wa(i))return c(i.message);if("switchTab"===e&&(s.currentRoute.value.meta.tabBarText=n),"navigateTo"===e){const e=s.currentRoute.value.meta;return e.eventChannel?o&&(Object.keys(o).forEach((t=>{e.eventChannel._addListener(t,"on",o[t])})),e.eventChannel._clearCache()):e.eventChannel=new Ce(u.__id__,o),t(r?{__id__:u.__id__}:{eventChannel:e.eventChannel})}return r?t({__id__:u.__id__}):t()}))}))}function pf(){if(wf.handledBeforeEntryPageRoutes)return;wf.handledBeforeEntryPageRoutes=!0;const e=[...xf];xf.length=0,e.forEach((({args:e,resolve:t,reject:n})=>df(e).then(t).catch(n)));const t=[...Sf];Sf.length=0,t.forEach((({args:e,resolve:t,reject:n})=>(function(){const e=ac();if(!e)return;const t=Ef(),n=t.keys();for(const o of n){const e=t.get(o);e.$.__isTabBar?e.$.__isActive=!1:Lf(o)}e.$.__isTabBar&&(e.$.__isVisible=!1,dc(e,"onHide"))}(),df(e,function(e){const t=Ef().values();for(const n of t){const t=_f(n);if(cf(e,t))return n.$.__isActive=!0,t.id}}(e.url)).then(t).catch(n))));const n=[...Cf];Cf.length=0,n.forEach((({args:e,resolve:t,reject:n})=>(function(){const e=rc();if(!e)return;const t=_f(e);Lf(Pf(t.path,t.id))}(),df(e).then(t).catch(n))));const o=[...Tf];Tf.length=0,o.forEach((({args:e,resolve:t,reject:n})=>(uf(),df(e).then(t).catch(n))))}function hf(e){const t=window.CSS&&window.CSS.supports;return t&&(t(e)||t.apply(window.CSS,e.split(":")))}const gf=hf("top:env(a)"),mf=hf("top:constant(a)"),vf=(()=>gf?"env":mf?"constant":"")();function yf(e){var t,n;Gl({"--window-top":(n=0,vf?`calc(${n}px + ${vf}(safe-area-inset-top))`:`${n}px`),"--window-bottom":(t=0,vf?`calc(${t}px + ${vf}(safe-area-inset-bottom))`:`${t}px`)})}const bf=new Map;function _f(e){return e.$page}const wf={handledBeforeEntryPageRoutes:!1},xf=[],Sf=[],Cf=[],Tf=[];function Ef(){return bf}function kf(){return Of()}function Of(){const e=[],t=bf.values();for(const n of t)n.$.__isTabBar?n.$.__isActive&&e.push(n):e.push(n);return e}function Lf(e,t=!0){const n=bf.get(e);n.$.__isUnload=!0,dc(n,"onUnload"),bf.delete(e),t&&function(e){const t=Rf.get(e);t&&(Rf.delete(e),Bf.pruneCacheEntry(t))}(e)}let $f=au();function Af(e){const t=function(e){const t=ru();let n=e.fullPath;return e.meta.isEntry&&-1===n.indexOf(e.meta.route)&&(n="/"+e.meta.route+n.replace("/","")),uc("navigateTo",n,{},t)}(e.$route);!function(e,t){e.route=t.route,e.$vm=e,e.$page=t,e.$mpType="page",e.$fontFamilySet=new Set,t.meta.isTabBar&&(e.$.__isTabBar=!0,e.$.__isActive=!0)}(e,t),bf.set(Pf(t.path,t.id),e),1===bf.size&&setTimeout((()=>{pf()}),0)}function Pf(e,t){return e+"$$"+t}const Rf=new Map,Bf={get:e=>Rf.get(e),set(e,t){!function(e){const t=parseInt(e.split("$$")[1]);if(!t)return;Bf.forEach(((e,n)=>{const o=parseInt(n.split("$$")[1]);o&&o>t&&(Bf.delete(n),Bf.pruneCacheEntry(e),Sn((()=>{bf.forEach(((e,t)=>{e.$.isUnmounted&&bf.delete(t)}))})))}))}(e),Rf.set(e,t)},delete(e){Rf.get(e)&&Rf.delete(e)},forEach(e){Rf.forEach(e)}};function Nf(e,t){!function(e){const t=If(e),{body:n}=document;Mf&&n.removeAttribute(Mf),t&&n.setAttribute(t,""),Mf=t}(e),yf(),function(e){{const t="nvue-dir-"+__uniConfig.nvue["flex-direction"];e.isNVue?(document.body.setAttribute("nvue",""),document.body.setAttribute(t,"")):(document.body.removeAttribute("nvue"),document.body.removeAttribute(t))}}(t),Ff(e,t)}function jf(e){const t=If(e);t&&function(e){const t=document.querySelector("uni-page-body");t&&t.setAttribute(e,"")}(t)}function If(e){return e.type.__scopeId}let Mf;const Vf=!!(()=>{let e=!1;try{const t={};Object.defineProperty(t,"passive",{get(){e=!0}}),window.addEventListener("test-passive",(()=>{}),t)}catch(t){}return e})()&&{passive:!1};let Hf;function Ff(e,t){if(document.removeEventListener("touchmove",pc),Hf&&document.removeEventListener("scroll",Hf),t.disableScroll)return document.addEventListener("touchmove",pc,Vf);const{onPageScroll:n,onReachBottom:o}=e,r="transparent"===t.navigationBar.type;if(!(null==n?void 0:n.length)&&!(null==o?void 0:o.length)&&!r)return;const i={},s=_f(e.proxy).id;(n||r)&&(i.onPageScroll=function(e,t,n){return o=>{t&&hh.publishHandler("onPageScroll",{scrollTop:o},e),n&&hh.emit(e+".onPageScroll",{scrollTop:o})}}(s,n,r)),(null==o?void 0:o.length)&&(i.onReachBottomDistance=t.onReachBottomDistance||50,i.onReachBottom=()=>hh.publishHandler("onReachBottom",{},s)),Hf=mc(i),requestAnimationFrame((()=>document.addEventListener("scroll",Hf)))}function Df(e){const{base:t}=__uniConfig.router;return 0===fe(e).indexOf(t)?fe(e):t+e}function Wf(e){const{base:t,assets:n}=__uniConfig.router;if("./"===t&&(0!==e.indexOf("./")||!e.includes("/static/")&&0!==e.indexOf("./"+(n||"assets")+"/")||(e=e.slice(1))),0===e.indexOf("/")){if(0!==e.indexOf("//"))return Df(e.slice(1));e="https:"+e}if(te.test(e)||ne.test(e)||0===e.indexOf("blob:"))return e;const o=Of();return o.length?Df(vc(_f(o[o.length-1]).route,e).slice(1)):e}const qf=navigator.userAgent,Uf=/android/i.test(qf),zf=/iphone|ipad|ipod/i.test(qf),Kf=qf.match(/Windows NT ([\d|\d.\d]*)/i),Xf=/Macintosh|Mac/i.test(qf),Yf=/Linux|X11/i.test(qf),Gf=Xf&&navigator.maxTouchPoints>0,Jf=/OpenHarmony/i.test(qf);function Zf(){return/^Apple/.test(navigator.vendor)&&"number"==typeof window.orientation}function Qf(e){return e&&90===Math.abs(window.orientation)}function ed(e,t){return e?Math[t?"max":"min"](screen.width,screen.height):screen.width}function td(){const e=Zf();if(e){const t=ed(e,Qf(e));return Math.min(window.innerWidth,document.documentElement.clientWidth,t)||t}return Math.min(window.innerWidth,document.documentElement.clientWidth)}const nd=Fc(),od=Fc();const rd=Uc({name:"ResizeSensor",props:{initial:{type:Boolean,default:!1}},emits:["resize"],setup(e,{emit:t}){const n=on(null),o=function(e){return()=>{const{firstElementChild:t,lastElementChild:n}=e.value;t.scrollLeft=1e5,t.scrollTop=1e5,n.scrollLeft=1e5,n.scrollTop=1e5}}(n),r=function(e,t,n){const o=Ft({width:-1,height:-1});return Zn((()=>c({},o)),(e=>t("resize",e))),()=>{const t=e.value;t&&(o.width=t.offsetWidth,o.height=t.offsetHeight,n())}}(n,t,o);return function(e,t,n,o){Eo(o),Io((()=>{t.initial&&Sn(n);const r=e.value;r.offsetParent!==r.parentElement&&(r.parentElement.style.position="relative"),"AnimationEvent"in window||o()}))}(n,e,r,o),()=>ni("uni-resize-sensor",{ref:n,onAnimationstartOnce:r},[ni("div",{onScroll:r},[ni("div",null,null)],40,["onScroll"]),ni("div",{onScroll:r},[ni("div",null,null)],40,["onScroll"])],40,["onAnimationstartOnce"])}});function id(){}const sd={cursorSpacing:{type:[Number,String],default:0},showConfirmBar:{type:[Boolean,String],default:"auto"},adjustPosition:{type:[Boolean,String],default:!0},autoBlur:{type:[Boolean,String],default:!1}};function ad(e,t,n){function o(e){const t=Ti((()=>0===String(navigator.vendor).indexOf("Apple")));e.addEventListener("focus",(()=>{clearTimeout(undefined),document.addEventListener("click",id,!1)}));e.addEventListener("blur",(()=>{t.value&&e.blur(),document.removeEventListener("click",id,!1),t.value&&document.documentElement.scrollTo(document.documentElement.scrollLeft,document.documentElement.scrollTop)}))}Zn((()=>t.value),(e=>e&&o(e)))}const ld={src:{type:String,default:""},mode:{type:String,default:"scaleToFill"},lazyLoad:{type:[Boolean,String],default:!1},draggable:{type:Boolean,default:!1}},cd={widthFix:["offsetWidth","height",(e,t)=>e/t],heightFix:["offsetHeight","width",(e,t)=>e*t]},ud={aspectFit:["center center","contain"],aspectFill:["center center","cover"],widthFix:[,"100% 100%"],heightFix:[,"100% 100%"],top:["center top"],bottom:["center bottom"],center:["center center"],left:["left center"],right:["right center"],"top left":["left top"],"top right":["right top"],"bottom left":["left bottom"],"bottom right":["right bottom"]},fd=Uc({name:"Image",props:ld,setup(e,{emit:t}){const n=on(null),o=function(e,t){const n=on(""),o=Ti((()=>{let e="auto",o="";const r=ud[t.mode];return r?(r[0]&&(o=r[0]),r[1]&&(e=r[1])):(o="0% 0%",e="100% 100%"),`background-image:${n.value?'url("'+n.value+'")':"none"};background-position:${o};background-size:${e};`})),r=Ft({rootEl:e,src:Ti((()=>t.src?Wf(t.src):"")),origWidth:0,origHeight:0,origStyle:{width:"",height:""},modeStyle:o,imgSrc:n});return Io((()=>{const t=e.value;r.origWidth=t.clientWidth||0,r.origHeight=t.clientHeight||0})),r}(n,e),r=Xc(n,t),{fixSize:i}=function(e,t,n){const o=()=>{const{mode:o}=t,r=cd[o];if(!r)return;const{origWidth:i,origHeight:s}=n,a=i&&s?i/s:0;if(!a)return;const l=e.value,c=l[r[0]];c&&(l.style[r[1]]=function(e){dd&&e>10&&(e=2*Math.round(e/2));return e}(r[2](c,a))+"px")},r=()=>{const{style:t}=e.value,{origStyle:{width:o,height:r}}=n;t.width=o,t.height=r};return Zn((()=>t.mode),((e,t)=>{cd[t]&&r(),cd[e]&&o()})),{fixSize:o,resetSize:r}}(n,e,o);return function(e,t,n,o,r){let i,s;const a=(t=0,n=0,o="")=>{e.origWidth=t,e.origHeight=n,e.imgSrc=o},l=l=>{if(!l)return c(),void a();i=i||new Image,i.onload=e=>{const{width:u,height:f}=i;a(u,f,l),Sn((()=>{o()})),i.draggable=t.draggable,s&&s.remove(),s=i,n.value.appendChild(i),c(),r("load",e,{width:u,height:f})},i.onerror=t=>{a(),c(),r("error",t,{errMsg:`GET ${e.src} 404 (Not Found)`})},i.src=l},c=()=>{i&&(i.onload=null,i.onerror=null,i=null)};Zn((()=>e.src),(e=>l(e))),Zn((()=>e.imgSrc),(e=>{!e&&s&&(s.remove(),s=null)})),Io((()=>l(e.src))),Ho((()=>c()))}(o,e,n,i,r),()=>ni("uni-image",{ref:n},[ni("div",{style:o.modeStyle},null,4),cd[e.mode]?ni(rd,{onResize:i},null,8,["onResize"]):ni("span",null,null)],512)}});const dd="Google Inc."===navigator.vendor;const pd=ve(!0),hd=[];let gd=0,md=!1;const vd=e=>hd.forEach((t=>t.userAction=e));function yd(){const e=Ft({userAction:!1});return Io((()=>{!function(e={userAction:!1}){md||(["touchstart","touchmove","touchend","mousedown","mouseup"].forEach((e=>{document.addEventListener(e,(function(){!gd&&vd(!0),gd++,setTimeout((()=>{!--gd&&vd(!1)}),0)}),pd)})),md=!0);hd.push(e)}(e)})),Ho((()=>{!function(e){const t=hd.indexOf(e);t>=0&&hd.splice(t,1)}(e)})),{state:e}}function bd(e,t){const n=document.activeElement;if(!n)return t({});const o={};["input","textarea"].includes(n.tagName.toLowerCase())&&(o.start=n.selectionStart,o.end=n.selectionEnd),t(o)}const _d=function(){var e,t,n;e=sc(),n=bd,t=xl(e,t="getSelectedTextRange"),wl[t]||(wl[t]=n)};function wd(e,t,n){"number"===t&&isNaN(Number(e))&&(e="");return null==e?"":String(e)}const xd=["none","text","decimal","numeric","tel","search","email","url"],Sd=c({},{name:{type:String,default:""},modelValue:{type:[String,Number]},value:{type:[String,Number]},disabled:{type:[Boolean,String],default:!1},autoFocus:{type:[Boolean,String],default:!1},focus:{type:[Boolean,String],default:!1},cursor:{type:[Number,String],default:-1},selectionStart:{type:[Number,String],default:-1},selectionEnd:{type:[Number,String],default:-1},type:{type:String,default:"text"},password:{type:[Boolean,String],default:!1},placeholder:{type:String,default:""},placeholderStyle:{type:String,default:""},placeholderClass:{type:String,default:""},maxlength:{type:[Number,String],default:140},confirmType:{type:String,default:"done"},confirmHold:{type:Boolean,default:!1},ignoreCompositionEvent:{type:Boolean,default:!0},step:{type:String,default:"0.000000000000000001"},inputmode:{type:String,default:void 0,validator:e=>!!~xd.indexOf(e)},cursorColor:{type:String,default:""}},sd),Cd=["input","focus","blur","update:value","update:modelValue","update:focus","compositionstart","compositionupdate","compositionend","keyboardheightchange"];function Td(e,t,n,o,r){let i=null,s=null;s=Se((n=>{const o=r.value,s=wd(n,e.type);o&&document.activeElement===o&&s===i||(t.value=s)}),100,{setTimeout:setTimeout,clearTimeout:clearTimeout}),Zn((()=>e.modelValue),s),Zn((()=>e.value),s);const a=function(e,t){let n,o,r=0;const i=function(...i){const s=Date.now();clearTimeout(n),o=()=>{o=null,r=s,e.apply(this,i)},s-r{s.cancel(),n("update:modelValue",t.value),n("update:value",t.value),o("input",e,t)}),100);return jo((()=>{s.cancel(),a.cancel()})),{trigger:o,triggerInput:(e,t,n)=>{s.cancel(),i=t.value,a(e,t),n&&a.flush()}}}function Ed(e,t){yd();const n=Ti((()=>e.autoFocus||e.focus));function o(){if(!n.value)return;const e=t.value;e?e.focus():setTimeout(o,100)}Zn((()=>e.focus),(e=>{e?o():function(){const e=t.value;e&&e.blur()}()})),Io((()=>{n.value&&Sn(o)}))}function kd(e,t,n,o){_d();const{fieldRef:r,state:i,trigger:s}=function(e,t,n){const o=on(null),r=Xc(t,n),i=Ti((()=>{const t=Number(e.selectionStart);return isNaN(t)?-1:t})),s=Ti((()=>{const t=Number(e.selectionEnd);return isNaN(t)?-1:t})),a=Ti((()=>{const t=Number(e.cursor);return isNaN(t)?-1:t})),l=Ti((()=>{var t=Number(e.maxlength);return isNaN(t)?140:t}));let c="";c=wd(e.modelValue,e.type)||wd(e.value,e.type);const u=Ft({value:c,valueOrigin:c,maxlength:l,focus:e.focus,composing:!1,selectionStart:i,selectionEnd:s,cursor:a});return Zn((()=>u.focus),(e=>n("update:focus",e))),Zn((()=>u.maxlength),(e=>u.value=u.value.slice(0,e)),{immediate:!1}),{fieldRef:o,state:u,trigger:r}}(e,t,n),{triggerInput:a}=Td(e,i,n,s,r);Ed(e,r),ad(0,r);const{state:l}=function(){const e=Ft({attrs:{}});return Io((()=>{let t=hi();for(;t;){const n=t.type.__scopeId;n&&(e.attrs[n]=""),t=t.proxy&&"page"===t.proxy.$mpType?null:t.parent}})),{state:e}}();!function(e,t){const n=vr(Zc,!1);if(!n)return;const o=hi(),r={submit(){const n=o.proxy;return[n[e],v(t)?n[t]:t.value]},reset(){v(t)?o.proxy[t]="":t.value=""}};n.addField(r),Ho((()=>{n.removeField(r)}))}("name",i),function(e,t,n,o,r,i){function s(){const n=e.value;n&&t.focus&&t.selectionStart>-1&&t.selectionEnd>-1&&"number"!==n.type&&(n.selectionStart=t.selectionStart,n.selectionEnd=t.selectionEnd)}function a(){const n=e.value;n&&t.focus&&t.selectionStart<0&&t.selectionEnd<0&&t.cursor>-1&&"number"!==n.type&&(n.selectionEnd=n.selectionStart=t.cursor)}function l(e){return"number"===e.type?null:e.selectionEnd}Zn([()=>t.selectionStart,()=>t.selectionEnd],s),Zn((()=>t.cursor),a),Zn((()=>e.value),(function(){const c=e.value;if(!c)return;const u=function(e,o){e.stopPropagation(),m(i)&&!1===i(e,t)||(t.value=c.value,t.composing&&n.ignoreCompositionEvent||r(e,{value:c.value,cursor:l(c)},o))};function f(e){n.ignoreCompositionEvent||o(e.type,e,{value:e.data})}c.addEventListener("change",(e=>e.stopPropagation())),c.addEventListener("focus",(function(e){t.focus=!0,o("focus",e,{value:t.value}),s(),a()})),c.addEventListener("blur",(function(e){t.composing&&(t.composing=!1,u(e,!0)),t.focus=!1,o("blur",e,{value:t.value,cursor:l(e.target)})})),c.addEventListener("input",u),c.addEventListener("compositionstart",(e=>{e.stopPropagation(),t.composing=!0,f(e)})),c.addEventListener("compositionend",(e=>{e.stopPropagation(),t.composing&&(t.composing=!1,u(e)),f(e)})),c.addEventListener("compositionupdate",f)}))}(r,i,e,s,a,o);return{fieldRef:r,state:i,scopedAttrsState:l,fixDisabledColor:0===String(navigator.vendor).indexOf("Apple")&&CSS.supports("image-orientation:from-image"),trigger:s}}const Od=de((()=>{{const e=navigator.userAgent;let t="";const n=e.match(/OS\s([\w_]+)\slike/);if(n)t=n[1].replace(/_/g,".");else if(/Macintosh|Mac/i.test(e)&&navigator.maxTouchPoints>0){const n=e.match(/Version\/(\S*)\b/);n&&(t=n[1])}return!!t&&parseInt(t)>=16&&parseFloat(t)<17.2}}));function Ld(e,t,n,o,r){if(t.value)if("."===e.data){if("."===t.value.slice(-1))return n.value=o.value=t.value=t.value.slice(0,-1),!1;if(t.value&&!t.value.includes(".")&&t.value===o.value)return t.value+=".",r&&(r.fn=()=>{n.value=o.value=t.value=t.value.slice(0,-1),o.removeEventListener("blur",r.fn)},o.addEventListener("blur",r.fn)),!1}else if("deleteContentBackward"===e.inputType&&Od()&&"."===t.value.slice(-2,-1))return t.value=n.value=o.value=t.value.slice(0,-2),!0}function $d(e){return"insertFromPaste"===e.inputType}const Ad=Uc({name:"Input",props:c({},Sd,{placeholderClass:{type:String,default:"input-placeholder"},textContentType:{type:String,default:""}}),emits:["confirm",...Cd],setup(e,{emit:t,expose:n}){const o=["text","number","idcard","digit","password","tel"],r=["off","one-time-code"],i=Ti((()=>{let t="";switch(e.type){case"text":t="text","search"===e.confirmType&&(t="search");break;case"idcard":case"none":t="text";break;case"digit":t="number";break;default:t=o.includes(e.type)?e.type:"text"}return e.password?"password":t})),s=Ti((()=>{const t=r.indexOf(e.textContentType),n=r.indexOf($(e.textContentType));return r[-1!==t?t:-1!==n?n:0]})),a=Ti((()=>{if(void 0!==e.inputmode)return e.inputmode;if(xd.includes(e.type))return e.type;return{number:"numeric",digit:"decimal",idcard:"text"}[e.type]}));let l=function(e,t){if("number"===t.value){const t=void 0===e.modelValue?e.value:e.modelValue,n=on(null!=t?t.toLocaleString():"");return Zn((()=>e.modelValue),(e=>{n.value=null!=e?e.toLocaleString():""})),Zn((()=>e.value),(e=>{n.value=null!=e?e.toLocaleString():""})),n}return on("")}(e,i),c={fn:null};const u=on(null),{fieldRef:f,state:d,scopedAttrsState:p,fixDisabledColor:h,trigger:g}=kd(e,u,t,((e,t)=>{const n=e.target;if("number"===i.value){if(c.fn&&(n.removeEventListener("blur",c.fn),c.fn=null),n.validity&&!n.validity.valid){if((!l.value||!n.value)&&"-"===e.data||"-"===l.value[0]&&"deleteContentBackward"===e.inputType)return l.value="-",t.value="",c.fn=()=>{l.value=n.value=""},n.addEventListener("blur",c.fn),!1;const o=Ld(e,l,t,n,c);return"boolean"==typeof o?o:(l.value=t.value=n.value="-"===l.value?"":l.value,!1)}{const o=Ld(e,l,t,n,c);if("boolean"==typeof o)return o;l.value=n.value}if(t.maxlength>0&&n.value.length>t.maxlength&&!$d(e))return n.value=l.value=t.value,!1}}));Zn((()=>d.value),(t=>{"number"!==e.type||"-"===l.value&&""===t||(l.value=t.toString())})),Zn((()=>e.maxlength),(e=>{e=parseInt(e,10);const t=d.value.slice(0,e);t!==d.value&&(d.value=t)}));const m=["number","digit"],v=Ti((()=>m.includes(e.type)?e.step:""));function y(t){if("Enter"!==t.key)return;const n=t.target;t.stopPropagation(),g("confirm",t,{value:n.value}),!e.confirmHold&&n.blur()}return n({$triggerInput:e=>{t("update:modelValue",e.value),t("update:value",e.value),d.value=e.value}}),()=>{let t=e.disabled&&h?ni("input",{key:"disabled-input",ref:f,value:d.value,tabindex:"-1",readonly:!!e.disabled,type:i.value,maxlength:d.maxlength,step:v.value,class:"uni-input-input",style:e.cursorColor?{caretColor:e.cursorColor}:{},inputmode:a.value,onFocus:e=>e.target.blur()},null,44,["value","readonly","type","maxlength","step","inputmode","onFocus"]):ni("input",{key:"input",ref:f,value:d.value,onInput:bs((e=>{const t=e.target.value.toString();"number"===i.value&&d.maxlength>0&&t.length>d.maxlength?$d(e)&&(d.value=t.slice(0,d.maxlength)):0===t.length&&"insertText"===e.inputType&&"."===e.data||(d.value=t)}),["stop"]),disabled:!!e.disabled,type:i.value,maxlength:d.maxlength,step:v.value,enterkeyhint:e.confirmType,pattern:"number"===e.type?"[0-9]*":void 0,class:"uni-input-input",style:e.cursorColor?{caretColor:e.cursorColor}:{},autocomplete:s.value,onKeyup:y,inputmode:a.value},null,44,["value","onInput","disabled","type","maxlength","step","enterkeyhint","pattern","autocomplete","onKeyup","inputmode"]);return ni("uni-input",{ref:u},[ni("div",{class:"uni-input-wrapper"},[oo(ni("div",ci(p.attrs,{style:e.placeholderStyle,class:["uni-input-placeholder",e.placeholderClass]}),[e.placeholder],16),[[Ki,!(d.value.length||"-"===l.value||l.value.includes("."))]]),"search"===e.confirmType?ni("form",{action:"",onSubmit:e=>e.preventDefault(),class:"uni-input-form"},[t],40,["onSubmit"]):t])],512)}}}),Pd=Uc({name:"Refresher",props:{refreshState:{type:String,default:""},refresherHeight:{type:Number,default:0},refresherThreshold:{type:Number,default:45},refresherDefaultStyle:{type:String,default:"black"},refresherBackground:{type:String,default:"#fff"}},setup(e,{slots:t}){const n=on(null),o=Ti((()=>{const t={backgroundColor:e.refresherBackground};switch(e.refreshState){case"pulling":t.height=e.refresherHeight+"px";break;case"refreshing":t.height=e.refresherThreshold+"px",t.transition="height 0.3s";break;case"":case"refresherabort":case"restore":t.height="0px",t.transition="height 0.3s"}return t})),r=Ti((()=>{const t=e.refresherHeight/e.refresherThreshold;return 360*(t>1?1:t)}));return()=>{const{refreshState:i,refresherDefaultStyle:s,refresherThreshold:a}=e;return ni("div",{ref:n,style:o.value,class:"uni-scroll-view-refresher"},["none"!==s?ni("div",{class:"uni-scroll-view-refresh"},[ni("div",{class:"uni-scroll-view-refresh-inner"},["pulling"==i?ni("svg",{key:"refresh__icon",style:{transform:"rotate("+r.value+"deg)"},fill:"#2BD009",class:"uni-scroll-view-refresh__icon",width:"24",height:"24",viewBox:"0 0 24 24"},[ni("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},null),ni("path",{d:"M0 0h24v24H0z",fill:"none"},null)],4):null,"refreshing"==i?ni("svg",{key:"refresh__spinner",class:"uni-scroll-view-refresh__spinner",width:"24",height:"24",viewBox:"25 25 50 50"},[ni("circle",{cx:"50",cy:"50",r:"20",fill:"none",style:"color: #2bd009","stroke-width":"3"},null)]):null])]):null,"none"===s?ni("div",{class:"uni-scroll-view-refresher-container",style:{height:`${a}px`}},[t.default&&t.default()]):null],4)}}}),Rd=ve(!0),Bd=Uc({name:"ScrollView",compatConfig:{MODE:3},props:{direction:{type:[String],default:"vertical"},scrollX:{type:[Boolean,String],default:!1},scrollY:{type:[Boolean,String],default:!1},showScrollbar:{type:[Boolean,String],default:!0},upperThreshold:{type:[Number,String],default:50},lowerThreshold:{type:[Number,String],default:50},scrollTop:{type:[Number,String],default:0},scrollLeft:{type:[Number,String],default:0},scrollIntoView:{type:String,default:""},scrollWithAnimation:{type:[Boolean,String],default:!1},enableBackToTop:{type:[Boolean,String],default:!1},refresherEnabled:{type:[Boolean,String],default:!1},refresherThreshold:{type:Number,default:45},refresherDefaultStyle:{type:String,default:"black"},refresherBackground:{type:String,default:"#fff"},refresherTriggered:{type:[Boolean,String],default:!1}},emits:["scroll","scrolltoupper","scrolltolower","refresherrefresh","refresherrestore","refresherpulling","refresherabort","update:refresherTriggered"],setup(e,{emit:t,slots:n,expose:o}){const r=on(null),i=on(null),s=on(null),a=on(null),l=Xc(r,t),{state:c,scrollTopNumber:u,scrollLeftNumber:f}=function(e){const t=Ti((()=>Number(e.scrollTop)||0)),n=Ti((()=>Number(e.scrollLeft)||0));return{state:Ft({lastScrollTop:t.value,lastScrollLeft:n.value,lastScrollToUpperTime:0,lastScrollToLowerTime:0,refresherHeight:0,refreshState:""}),scrollTopNumber:t,scrollLeftNumber:n}}(e),{realScrollX:d,realScrollY:p,_scrollLeftChanged:h,_scrollTopChanged:g}=function(e,t,n,o,r,i,s,a,l){let c=!1,u=0,f=!1,d=()=>{};const p=Ti((()=>e.scrollX)),h=Ti((()=>e.scrollY)),g=Ti((()=>{let t=Number(e.upperThreshold);return isNaN(t)?50:t})),m=Ti((()=>{let t=Number(e.lowerThreshold);return isNaN(t)?50:t}));function v(e,t){const n=s.value;let o=0,r="";if(e<0?e=0:"x"===t&&e>n.scrollWidth-n.offsetWidth?e=n.scrollWidth-n.offsetWidth:"y"===t&&e>n.scrollHeight-n.offsetHeight&&(e=n.scrollHeight-n.offsetHeight),"x"===t?o=n.scrollLeft-e:"y"===t&&(o=n.scrollTop-e),0===o)return;let i=a.value;i.style.transition="transform .3s ease-out",i.style.webkitTransition="-webkit-transform .3s ease-out","x"===t?r="translateX("+o+"px) translateZ(0)":"y"===t&&(r="translateY("+o+"px) translateZ(0)"),i.removeEventListener("transitionend",d),i.removeEventListener("webkitTransitionEnd",d),d=()=>x(e,t),i.addEventListener("transitionend",d),i.addEventListener("webkitTransitionEnd",d),"x"===t?n.style.overflowX="hidden":"y"===t&&(n.style.overflowY="hidden"),i.style.transform=r,i.style.webkitTransform=r}function y(e){const n=e.target;r("scroll",e,{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop,scrollHeight:n.scrollHeight,scrollWidth:n.scrollWidth,deltaX:t.lastScrollLeft-n.scrollLeft,deltaY:t.lastScrollTop-n.scrollTop}),h.value&&(n.scrollTop<=g.value&&t.lastScrollTop-n.scrollTop>0&&e.timeStamp-t.lastScrollToUpperTime>200&&(r("scrolltoupper",e,{direction:"top"}),t.lastScrollToUpperTime=e.timeStamp),n.scrollTop+n.offsetHeight+m.value>=n.scrollHeight&&t.lastScrollTop-n.scrollTop<0&&e.timeStamp-t.lastScrollToLowerTime>200&&(r("scrolltolower",e,{direction:"bottom"}),t.lastScrollToLowerTime=e.timeStamp)),p.value&&(n.scrollLeft<=g.value&&t.lastScrollLeft-n.scrollLeft>0&&e.timeStamp-t.lastScrollToUpperTime>200&&(r("scrolltoupper",e,{direction:"left"}),t.lastScrollToUpperTime=e.timeStamp),n.scrollLeft+n.offsetWidth+m.value>=n.scrollWidth&&t.lastScrollLeft-n.scrollLeft<0&&e.timeStamp-t.lastScrollToLowerTime>200&&(r("scrolltolower",e,{direction:"right"}),t.lastScrollToLowerTime=e.timeStamp)),t.lastScrollTop=n.scrollTop,t.lastScrollLeft=n.scrollLeft}function b(t){h.value&&(e.scrollWithAnimation?v(t,"y"):s.value.scrollTop=t)}function _(t){p.value&&(e.scrollWithAnimation?v(t,"x"):s.value.scrollLeft=t)}function w(t){if(t){if(!/^[_a-zA-Z][-_a-zA-Z0-9:]*$/.test(t))return void console.error(`id error: scroll-into-view=${t}`);let n=i.value.querySelector("#"+t);if(n){let t=s.value.getBoundingClientRect(),o=n.getBoundingClientRect();if(p.value){let n=o.left-t.left,r=s.value.scrollLeft+n;e.scrollWithAnimation?v(r,"x"):s.value.scrollLeft=r}if(h.value){let n=o.top-t.top,r=s.value.scrollTop+n;e.scrollWithAnimation?v(r,"y"):s.value.scrollTop=r}}}}function x(e,t){a.value.style.transition="",a.value.style.webkitTransition="",a.value.style.transform="",a.value.style.webkitTransform="";let n=s.value;"x"===t?(n.style.overflowX=p.value?"auto":"hidden",n.scrollLeft=e):"y"===t&&(n.style.overflowY=h.value?"auto":"hidden",n.scrollTop=e),a.value.removeEventListener("transitionend",d),a.value.removeEventListener("webkitTransitionEnd",d)}function S(n){if(e.refresherEnabled){switch(n){case"refreshing":t.refresherHeight=e.refresherThreshold,c||(c=!0,r("refresherpulling",{},{deltaY:t.refresherHeight,dy:t.refresherHeight}),r("refresherrefresh",{},{dy:T.y-C.y}),l("update:refresherTriggered",!0));break;case"restore":case"refresherabort":c=!1,t.refresherHeight=u=0,"restore"===n&&(f=!1,r("refresherrestore",{},{dy:T.y-C.y})),"refresherabort"===n&&f&&(f=!1,r("refresherabort",{},{dy:T.y-C.y}))}t.refreshState=n}}let C={x:0,y:0},T={x:0,y:e.refresherThreshold};return Io((()=>{Sn((()=>{b(n.value),_(o.value)})),w(e.scrollIntoView);let i=function(e){e.preventDefault(),e.stopPropagation(),y(e)},a=null,l=function(n){if(null===C)return;let o=n.touches[0].pageX,i=n.touches[0].pageY,l=s.value;if(Math.abs(o-C.x)>Math.abs(i-C.y))if(p.value){if(0===l.scrollLeft&&o>C.x)return void(a=!1);if(l.scrollWidth===l.offsetWidth+l.scrollLeft&&oC.y)a=!1,e.refresherEnabled&&!1!==n.cancelable&&n.preventDefault();else{if(l.scrollHeight===l.offsetHeight+l.scrollTop&&i0&&(f=!0,r("refresherpulling",n,{deltaY:o,dy:o})))}},d=function(e){1===e.touches.length&&(C={x:e.touches[0].pageX,y:e.touches[0].pageY})},g=function(n){T={x:n.changedTouches[0].pageX,y:n.changedTouches[0].pageY},t.refresherHeight>=e.refresherThreshold?S("refreshing"):S("refresherabort"),C={x:0,y:0},T={x:0,y:e.refresherThreshold}};s.value.addEventListener("touchstart",d,Rd),s.value.addEventListener("touchmove",l,ve(!1)),s.value.addEventListener("scroll",i,ve(!1)),s.value.addEventListener("touchend",g,Rd),Ho((()=>{s.value.removeEventListener("touchstart",d),s.value.removeEventListener("touchmove",l),s.value.removeEventListener("scroll",i),s.value.removeEventListener("touchend",g)}))})),Eo((()=>{h.value&&(s.value.scrollTop=t.lastScrollTop),p.value&&(s.value.scrollLeft=t.lastScrollLeft)})),Zn(n,(e=>{b(e)})),Zn(o,(e=>{_(e)})),Zn((()=>e.scrollIntoView),(e=>{w(e)})),Zn((()=>e.refresherTriggered),(e=>{!0===e?S("refreshing"):!1===e&&S("restore")})),{realScrollX:p,realScrollY:h,_scrollTopChanged:b,_scrollLeftChanged:_}}(e,c,u,f,l,r,i,a,t),m=Ti((()=>{let e="";return d.value?e+="overflow-x:auto;":e+="overflow-x:hidden;",p.value?e+="overflow-y:auto;":e+="overflow-y:hidden;",e})),v=Ti((()=>{let t="uni-scroll-view";return!1===e.showScrollbar&&(t+=" uni-scroll-view-scrollbar-hidden"),t}));return o({$getMain:()=>i.value}),()=>{const{refresherEnabled:t,refresherBackground:o,refresherDefaultStyle:l,refresherThreshold:u}=e,{refresherHeight:f,refreshState:d}=c;return ni("uni-scroll-view",{ref:r},[ni("div",{ref:s,class:"uni-scroll-view"},[ni("div",{ref:i,style:m.value,class:v.value},[t?ni(Pd,{refreshState:d,refresherHeight:f,refresherThreshold:u,refresherDefaultStyle:l,refresherBackground:o},{default:()=>["none"==l?n.refresher&&n.refresher():null]},8,["refreshState","refresherHeight","refresherThreshold","refresherDefaultStyle","refresherBackground"]):null,ni("div",{ref:a,class:"uni-scroll-view-content"},[n.default&&n.default()],512)],6)],512)],512)}}});const Nd={ensp:" ",emsp:" ",nbsp:" "};function jd(e,t){return function(e,{space:t,decode:n}){let o="",r=!1;for(let i of e)t&&Nd[t]&&" "===i&&(i=Nd[t]),r?(o+="n"===i?"\n":"\\"===i?"\\":"\\"+i,r=!1):"\\"===i?r=!0:o+=i;return n?o.replace(/ /g,Nd.nbsp).replace(/ /g,Nd.ensp).replace(/ /g,Nd.emsp).replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"):o}(e,t).split("\n")}const Id=Uc({name:"Text",props:{selectable:{type:[Boolean,String],default:!1},space:{type:String,default:""},decode:{type:[Boolean,String],default:!1}},setup(e,{slots:t}){const n=on(null);return()=>{const o=[];return t.default&&t.default().forEach((t=>{if(8&t.shapeFlag&&t.type!==Hr){let n=[];n=jd(t.children,{space:e.space,decode:e.decode});const r=n.length-1;n.forEach(((e,t)=>{(0!==t||e)&&o.push(ri(e)),t!==r&&o.push(ni("br"))}))}else o.push(t)})),ni("uni-text",{ref:n,selectable:!!e.selectable||null},[ni("span",null,o)],8,["selectable"])}}}),Md=c({},Sd,{placeholderClass:{type:String,default:"input-placeholder"},autoHeight:{type:[Boolean,String],default:!1},confirmType:{type:String,default:"return",validator:e=>Hd.concat("return").includes(e)}});let Vd=!1;const Hd=["done","go","next","search","send"];const Fd=Uc({name:"Textarea",props:Md,emits:["confirm","change","linechange",...Cd],setup(e,{emit:t,expose:n}){const o=on(null),r=on(null),{fieldRef:i,state:s,scopedAttrsState:a,fixDisabledColor:l,trigger:c}=kd(e,o,t),u=Ti((()=>s.value.split("\n"))),f=Ti((()=>Hd.includes(e.confirmType))),d=on(0),p=on(null);function h({height:e}){d.value=e}function g(e){}function m(e){"Enter"===e.key&&f.value&&e.preventDefault()}function v(t){if("Enter"===t.key&&f.value){!function(e){c("confirm",e,{value:s.value})}(t);const n=t.target;!e.confirmHold&&n.blur()}}return Zn((()=>d.value),(t=>{const n=o.value,i=p.value,s=r.value;let a=parseFloat(getComputedStyle(n).lineHeight);isNaN(a)&&(a=i.offsetHeight);var l=Math.round(t/a);c("linechange",{},{height:t,heightRpx:750/window.innerWidth*t,lineCount:l}),e.autoHeight&&(s.style.height=t+"px")})),function(){const e="(prefers-color-scheme: dark)";Vd=0===String(navigator.platform).indexOf("iP")&&0===String(navigator.vendor).indexOf("Apple")&&window.matchMedia(e).media!==e}(),n({$triggerInput:e=>{t("update:modelValue",e.value),t("update:value",e.value),s.value=e.value}}),()=>{let t=e.disabled&&l?ni("textarea",{key:"disabled-textarea",ref:i,value:s.value,tabindex:"-1",readonly:!!e.disabled,maxlength:s.maxlength,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":Vd},style:{overflowY:e.autoHeight?"hidden":"auto",...e.cursorColor&&{caretColor:e.cursorColor}},onFocus:e=>e.target.blur()},null,46,["value","readonly","maxlength","onFocus"]):ni("textarea",{key:"textarea",ref:i,value:s.value,disabled:!!e.disabled,maxlength:s.maxlength,enterkeyhint:e.confirmType,inputmode:e.inputmode,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":Vd},style:{overflowY:e.autoHeight?"hidden":"auto",...e.cursorColor&&{caretColor:e.cursorColor}},onKeydown:m,onKeyup:v,onChange:g},null,46,["value","disabled","maxlength","enterkeyhint","inputmode","onKeydown","onKeyup","onChange"]);return ni("uni-textarea",{ref:o,"auto-height":e.autoHeight},[ni("div",{ref:r,class:"uni-textarea-wrapper"},[oo(ni("div",ci(a.attrs,{style:e.placeholderStyle,class:["uni-textarea-placeholder",e.placeholderClass]}),[e.placeholder],16),[[Ki,!s.value.length]]),ni("div",{ref:p,class:"uni-textarea-line"},[" "],512),ni("div",{class:{"uni-textarea-compute":!0,"uni-textarea-compute-auto-height":e.autoHeight}},[u.value.map((e=>ni("div",null,[e.trim()?e:"."]))),ni(rd,{initial:!0,onResize:h},null,8,["initial","onResize"])],2),"search"===e.confirmType?ni("form",{action:"",onSubmit:()=>!1,class:"uni-input-form"},[t],40,["onSubmit"]):t],512)],8,["auto-height"])}}}),Dd=Uc({name:"View",props:c({},Yc),setup(e,{slots:t}){const n=on(null),{hovering:o,binding:r}=Gc(e);return()=>{const i=e.hoverClass;return i&&"none"!==i?ni("uni-view",ci({class:o.value?i:"",ref:n},r),[Ko(t,"default")],16):ni("uni-view",{ref:n},[Ko(t,"default")],512)}}});function Wd(e,t,n,o){m(t)&&Bo(e,t.bind(n),o)}function qd(e,t,n){const o=e.mpType||n.$mpType;if(o&&"component"!==o&&("page"!==o||"component"!==t.renderer)&&(Object.keys(e).forEach((o=>{if(function(e,t,n=!0){return!(n&&!m(t))&&(Ee.indexOf(e)>-1||0===e.indexOf("on"))}(o,e[o],!1)){const r=e[o];p(r)?r.forEach((e=>Wd(o,e,n,t))):Wd(o,r,n,t)}})),"page"===o)){t.__isVisible=!0;try{let e=t.attrs.__pageQuery;0,dc(n,"onLoad",e),t.vapor||delete t.attrs.__pageQuery;const o=n.$page;"preloadPage"!==(null==o?void 0:o.openType)&&dc(n,"onShow")}catch(r){console.error(r.message+"\n"+r.stack)}}}function Ud(e,t,n){qd(e,t,n)}function zd(e,t,n){return e[t]=n}function Kd(e,...t){const n=this[e];return n?n(...t):(console.error(`method ${e} not found`),null)}function Xd(e){const t=e.config.errorHandler;return function(n,o,r){t&&t(n,o,r);const i=e._instance;if(!i||!i.proxy)throw n;i.onError?dc(i.proxy,"onError",n):pn(n,0,o&&o.$.vnode,!1)}}function Yd(e,t){return e?[...new Set([].concat(e,t))]:t}function Gd(e){const t=e.config;var n;t.errorHandler=Oe(e,Xd),n=t.optionMergeStrategies,Ee.forEach((e=>{n[e]=Yd}));const o=t.globalProperties;o.$set=zd,o.$applyOptions=Ud,o.$callMethod=Kd,function(e){ke.forEach((t=>t(e)))}(e)}function Jd(e){const t=el({history:ep(),strict:!!__uniConfig.router.strict,routes:__uniRoutes,scrollBehavior:Qd});t.beforeEach(((e,t)=>{var n;e&&t&&e.meta.isTabBar&&t.meta.isTabBar&&(n=t.meta.tabBarIndex,"undefined"!=typeof window&&(Zd[n]={left:window.pageXOffset,top:window.pageYOffset}))})),e.router=t,e.use(t)}let Zd=Object.create(null);const Qd=(e,t,n)=>{if(n)return n;if(e&&t&&e.meta.isTabBar&&t.meta.isTabBar){const t=(o=e.meta.tabBarIndex,Zd[o]);if(t)return t}return{left:0,top:0};var o};function ep(){let{routerBase:e}=__uniConfig.router;"/"===e&&(e="");const t=(n=e,(n=location.host?n||location.pathname+location.search:"").includes("#")||(n+="#"),ga(n));var n;return t.listen(((e,t,n)=>{"back"===n.direction&&function(e=1){const t=Of(),n=t.length-1,o=n-e;for(let r=n;r>o;r--){const e=_f(t[r]);Lf(Pf(e.path,e.id),!1)}}(Math.abs(n.delta))})),t}const tp={install(e){Gd(e),Lc(e),Hc(e),e.config.warnHandler||(e.config.warnHandler=np),Jd(e)}};function np(e,t,n){if(t){if("PageMetaHead"===t.$.type.name)return;const e=t.$.parent;if(e&&"PageMeta"===e.type.name)return}const o=[`[Vue warn]: ${e}`];n.length&&o.push("\n",n),console.warn(...o)}const op={class:"uni-async-loading"},rp=ni("i",{class:"uni-loading"},null,-1),ip=zc({name:"AsyncLoading",render:()=>(qr(),Yr("div",op,[rp]))});function sp(){window.location.reload()}const ap=zc({name:"AsyncError",props:["error"],setup(){gl();const{t:e}=pl();return()=>ni("div",{class:"uni-async-error",onClick:sp},[e("uni.async.error")],8,["onClick"])}});let lp;function cp(){return lp}function up(e){lp=e,Object.defineProperty(lp.$.ctx,"$children",{get:()=>Of().map((e=>e.$vm))});const t=lp.$.appContext.app;t.component(ip.name)||t.component(ip.name,ip),t.component(ap.name)||t.component(ap.name,ap),function(e){e.$vm=e,e.$mpType="app";const t=on(pl().getLocale());Object.defineProperty(e,"$locale",{get:()=>t.value,set(e){t.value=e}})}(lp),function(e,t){const n=e.$options||{};n.globalData=c(n.globalData||{},t),Object.defineProperty(e,"globalData",{get:()=>n.globalData,set(e){n.globalData=e}})}(lp),Mc(),bc()}function fp(e,{type:t,clone:n,init:o,setup:r,before:i,options:s}){n&&(e=c({},e)),i&&i(e);const a=e.setup;return e.setup=(e,t)=>{const n=hi();if(o(n.proxy),r(n),a)return a(e,t)},e}function dp(e,t){return e&&(e.__esModule||"Module"===e[Symbol.toStringTag])?fp(e.default,t):fp(e,t)}function pp(e,t){return dp(e,{type:"page",clone:!0,init:Af,setup(e){e.$pageInstance=e;const t=su(),n=_e(t.query);e.attrs.__pageQuery=n,_f(e.proxy).options=n,e.proxy.options=n;const o=ru();var r;yf(),e.onReachBottom=Ft([]),e.onPageScroll=Ft([]),Zn([e.onReachBottom,e.onPageScroll],(()=>{const t=rc();e.proxy===t&&Ff(e,o)}),{once:!0}),jo((()=>{Nf(e,o)})),Io((()=>{jf(e);const{onReady:n}=e;n&&B(n),vp(t)})),Oo((()=>{if(!e.__isVisible){Nf(e,o),e.__isVisible=!0;const{onShow:n}=e;n&&B(n),Sn((()=>{vp(t)}))}}),"ba",r),function(e,t){Oo(e,"bda",t)}((()=>{if(e.__isVisible&&!e.__isUnload){e.__isVisible=!1;{const{onHide:t}=e;t&&B(t)}}}));const i=fc(e.proxy);return function(e,t){hh.subscribe(xl(e,"invokeViewApi"),Sl)}(i),Ho((()=>{!function(e){hh.unsubscribe(xl(e,"invokeViewApi")),Object.keys(wl).forEach((t=>{0===t.indexOf(e+".")&&delete wl[t]}))}(i)})),n}})}function hp(){const{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}=Lp(),r=90===Math.abs(Number(window.orientation))?"landscape":"portrait";gh.emit("onResize",{deviceOrientation:r,size:{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}})}function gp(e){S(e.data)&&"WEB_INVOKE_APPSERVICE"===e.data.type&&gh.emit("onWebInvokeAppService",e.data.data,e.data.pageId)}function mp(){const{emit:e}=gh;"visible"===document.visibilityState?e("onAppEnterForeground",c({},od)):e("onAppEnterBackground")}function vp(e){const{tabBarText:t,tabBarIndex:n,route:o}=e.meta;t&&dc("onTabItemTap",{index:n,text:t,pagePath:o})}const yp=navigator.cookieEnabled&&(window.localStorage||window.sessionStorage)||{};let bp;function _p(){if(bp=bp||yp.__DC_STAT_UUID,!bp){bp=Date.now()+""+Math.floor(1e7*Math.random());try{yp.__DC_STAT_UUID=bp}catch(e){}}return bp}function wp(){if(!0!==__uniConfig.darkmode)return v(__uniConfig.darkmode)?__uniConfig.darkmode:"light";try{return window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}catch(e){return"light"}}function xp(){let e,t="0",n="",o="phone";const r=navigator.language;if(zf){e="iOS";const o=qf.match(/OS\s([\w_]+)\slike/);o&&(t=o[1].replace(/_/g,"."));const r=t.split(".")[0];if(Number(r)>=18){const e=qf.match(/Version\/([\d\.]+)/);e&&(t=e[1])}const i=qf.match(/\(([a-zA-Z]+);/);i&&(n=i[1])}else if(Uf){e="Android";const o=qf.match(/Android[\s/]([\w\.]+)[;\s]/);o&&(t=o[1]);const r=qf.match(/\((.+?)\)/),i=r?r[1].split(";"):qf.split(" "),s=[/\bAndroid\b/i,/\bLinux\b/i,/\bU\b/i,/^\s?[a-z][a-z]$/i,/^\s?[a-z][a-z]-[a-z][a-z]$/i,/\bwv\b/i,/\/[\d\.,]+$/,/^\s?[\d\.,]+$/,/\bBrowser\b/i,/\bMobile\b/i];for(let e=0;e0){n=t.split("Build")[0].trim();break}let o;for(let e=0;e-1&&e.indexOf("MSIE")>-1,n=e.indexOf("Edge")>-1&&!t,o=e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1;if(t){new RegExp("MSIE (\\d+\\.\\d+);").test(e);const t=parseFloat(RegExp.$1);return t>6?t:6}return n?-1:o?11:-1}());if("-1"!==l)a="IE";else{const e=["Version","Firefox","Chrome","Edge{0,1}"],t=["Safari","Firefox","Chrome","Edge"];for(let n=0;n{const e=window.devicePixelRatio,t=Zf(),n=Qf(t),o=ed(t,n),r=function(e,t){return e?Math[t?"min":"max"](screen.height,screen.width):screen.height}(t,n),i=td();let s=window.innerHeight;const a=Ul.top,l={left:Ul.left,right:i-Ul.right,top:Ul.top,bottom:s-Ul.bottom,width:i-Ul.left-Ul.right,height:s-Ul.top-Ul.bottom},{top:c,bottom:u}=function(){const e=document.documentElement.style,t=Yl(),n=Xl(e,"--window-bottom"),o=Xl(e,"--window-left"),r=Xl(e,"--window-right"),i=Xl(e,"--top-window-height");return{top:t,bottom:n?n+Ul.bottom:0,left:o?o+Ul.left:0,right:r?r+Ul.right:0,topWindowHeight:i||0}}();return s-=c,s-=u,{windowTop:c,windowBottom:u,windowWidth:i,windowHeight:s,pixelRatio:e,screenWidth:o,screenHeight:r,statusBarHeight:a,safeArea:l,safeAreaInsets:{top:Ul.top,right:Ul.right,bottom:Ul.bottom,left:Ul.left},screenTop:r-s}}));let Cp,Tp=!0;function Ep(){Tp&&(Cp=xp())}const kp=Bu(0,(()=>{Ep();const{deviceBrand:e,deviceModel:t,brand:n,model:o,platform:r,system:i,deviceOrientation:s,deviceType:a,osname:l,osversion:u}=Cp;return c({brand:n,deviceBrand:e,deviceModel:t,devicePixelRatio:window.devicePixelRatio,deviceId:_p(),deviceOrientation:s,deviceType:a,model:o,osName:l?l.toLowerCase():void 0,osVersion:u,platform:r,system:i})})),Op=Bu(0,(()=>{Ep();const{theme:e,language:t,browserName:n,browserVersion:o}=Cp;return c({appId:__uniConfig.appId,appName:__uniConfig.appName,appVersion:__uniConfig.appVersion,appVersionCode:__uniConfig.appVersionCode,appLanguage:Uu?Uu():t,enableDebug:!1,hostSDKVersion:void 0,hostPackageName:void 0,hostFontSizeSetting:void 0,hostName:n,hostVersion:o,hostTheme:e,hostLanguage:t,isUniAppX:!1,language:t,SDKVersion:"",theme:e,uniPlatform:"web",uniCompileVersion:__uniConfig.compilerVersion,uniCompilerVersion:__uniConfig.compilerVersion,uniRuntimeVersion:__uniConfig.compilerVersion,version:""},{})})),Lp=Bu(0,(()=>{Tp=!0,Ep(),Tp=!1;const e=Sp(),t=kp(),n=Op();Tp=!0;const{ua:o,browserName:r,browserVersion:i,osname:s,osversion:a}=Cp,l=c(e,t,n,{browserName:r,browserVersion:i,fontSizeSetting:void 0,osName:s.toLowerCase(),osVersion:a,osLanguage:void 0,osTheme:void 0,ua:o,uniPlatform:"web",uniCompileVersion:__uniConfig.compilerVersion,uniRuntimeVersion:__uniConfig.compilerVersion});return delete l.screenTop,delete l.enableDebug,__uniConfig.darkmode||delete l.theme,l}));const $p=Bu(0,((e,t)=>{const n=typeof t,o="string"===n?t:JSON.stringify({type:n,data:t});localStorage.setItem(e,o)}));function Ap(e){const t=localStorage&&localStorage.getItem(e);if(!v(t))throw new Error("data not found");let n=t;try{const e=function(e){const t=["object","string","number","boolean","undefined"];try{const n=v(e)?JSON.parse(e):e,o=n.type;if(t.indexOf(o)>=0){const e=Object.keys(n);if(2===e.length&&"data"in n){if(typeof n.data===o)return n.data;if("object"===o&&/^\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}\:\d{2}\.\d{3}Z$/.test(n.data))return new Date(n.data)}else if(1===e.length)return""}}catch(n){}}(JSON.parse(t));void 0!==e&&(n=e)}catch(o){}return n}const Pp=Bu(0,(e=>{try{return Ap(e)}catch(t){return""}})),Rp={esc:["Esc","Escape"],enter:["Enter"]},Bp=Object.keys(Rp);const Np=ni("div",{class:"uni-mask"},null,-1);function jp(e,t,n){return t.onClose=(...e)=>(t.visible=!1,n.apply(null,e)),xs(vo({setup:()=>()=>(qr(),Yr(e,t,null,16))}))}function Ip(e){let t=document.getElementById(e);return t||(t=document.createElement("div"),t.id=e,document.body.append(t)),t}function Mp(e,{onEsc:t,onEnter:n}){const o=on(e.visible),{key:r,disable:i}=function(){const e=on(""),t=on(!1),n=n=>{if(t.value)return;const o=Bp.find((e=>-1!==Rp[e].indexOf(n.key)));o&&(e.value=o),Sn((()=>e.value=""))};return Io((()=>{document.addEventListener("keyup",n)})),Ho((()=>{document.removeEventListener("keyup",n)})),{key:e,disable:t}}();return Zn((()=>e.visible),(e=>o.value=e)),Zn((()=>o.value),(e=>i.value=!e)),Gn((()=>{const{value:e}=r;"esc"===e?t&&t():"enter"===e&&n&&n()})),o}const Vp=Ru("request",(({url:e,data:t,header:n={},method:o,dataType:r,responseType:i,enableChunked:s,withCredentials:a,timeout:l=__uniConfig.networkTimeout.request},{resolve:c,reject:u})=>{let f=null;const p=function(e){const t=Object.keys(e).find((e=>"content-type"===e.toLowerCase()));if(!t)return;const n=e[t];if(!n)return"string";if(0===n.indexOf("application/json"))return"json";if(0===n.indexOf("application/x-www-form-urlencoded"))return"urlencoded";return"string"}(n);if("GET"!==o)if(v(t)||t instanceof ArrayBuffer)f=t;else if("json"===p)try{f=JSON.stringify(t)}catch(g){f=t.toString()}else if("urlencoded"===p){const e=[];for(const n in t)d(t,n)&&e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));f=e.join("&")}else f=t.toString();let h;if(s){if(void 0===typeof window.fetch||void 0===typeof window.AbortController)throw new Error("fetch or AbortController is not supported in this environment");const t=new AbortController,s=t.signal;h=new Fp(t);const d={method:o,headers:n,body:f,signal:s,credentials:a?"include":"same-origin"},p=setTimeout((function(){h.abort(),u("timeout",{errCode:5})}),l);d.signal.addEventListener("abort",(function(){clearTimeout(p),u("abort",{errCode:600003})})),window.fetch(e,d).then((e=>{const t=e.status,n=e.headers,o=e.body,s={};n.forEach(((e,t)=>{s[t]=e}));const a=Hp(s);if(h._emitter.emit("headersReceived",{header:s,statusCode:t,cookies:a}),!o)return void c({data:"",statusCode:t,header:s,cookies:a});const l=o.getReader(),u=[],f=()=>{l.read().then((({done:e,value:n})=>{if(e){const e=function(e){const t=e.reduce(((e,t)=>e+t.byteLength),0),n=new Uint8Array(t);let o=0;for(const r of e)n.set(new Uint8Array(r),o),o+=r.byteLength;return n.buffer}(u);let n="text"===i?(new TextDecoder).decode(e):e;return"text"===i&&(n=Wp(n,i,r)),void c({data:n,statusCode:t,header:s,cookies:a})}const o=n;u.push(o),h._emitter.emit("chunkReceived",{data:o}),f()}))};f()}),(e=>{u(e,{errCode:5})}))}else{const t=new XMLHttpRequest;h=new Fp(t),t.open(o,e);for(const e in n)d(n,e)&&t.setRequestHeader(e,n[e]);const s=setTimeout((function(){t.onload=t.onabort=t.onerror=null,h.abort(),u("timeout",{errCode:5})}),l);t.responseType=i,t.onload=function(){clearTimeout(s);const e=t.status;let n="text"===i?t.responseText:t.response;"text"===i&&(n=Wp(n,i,r)),c({data:n,statusCode:e,header:Dp(t.getAllResponseHeaders()),cookies:[]})},t.onabort=function(){clearTimeout(s),u("abort",{errCode:600003})},t.onerror=function(){clearTimeout(s),u(void 0,{errCode:5})},t.withCredentials=a,t.send(f)}return h}),0,Gu),Hp=e=>{let t=e["Set-Cookie"]||e["set-cookie"],n=[];if(!t)return[];"["===t[0]&&"]"===t[t.length-1]&&(t=t.slice(1,-1));const o=t.split(";");for(let r=0;r{t===e&&(this._requestOnHeadersReceiveCallbacks.delete(n),this._emitter.off("headersReceived",e))}));const t=this._requestOnHeadersReceiveCallbacks.get(e);t&&(this._requestOnHeadersReceiveCallbacks.delete(e),this._emitter.off("headersReceived",t))}onChunkReceived(e){return this._emitter.on("chunkReceived",e),this._requestOnChunkReceiveCallbackId++,this._requestOnChunkReceiveCallbacks.set(this._requestOnChunkReceiveCallbackId,e),this._requestOnChunkReceiveCallbackId}offChunkReceived(e){if(null==e)return void this._emitter.off("chunkReceived");if("function"==typeof e)return void this._requestOnChunkReceiveCallbacks.forEach(((t,n)=>{t===e&&(this._requestOnChunkReceiveCallbacks.delete(n),this._emitter.off("chunkReceived",e))}));const t=this._requestOnChunkReceiveCallbacks.get(e);t&&(this._requestOnChunkReceiveCallbacks.delete(e),this._emitter.off("chunkReceived",t))}}function Dp(e){const t={};return e.split("\n").forEach((e=>{const n=e.match(/(\S+\s*):\s*(.*)/);n&&3===n.length&&(t[n[1]]=n[2])})),t}function Wp(e,t,n){let o=e;if("text"===t&&"json"===n)try{o=JSON.parse(o)}catch(r){}return o}const qp=Nu("navigateBack",((e,{resolve:t,reject:n})=>{let o=!0;return!0===dc("onBackPress",{from:e.from||"navigateBack"})&&(o=!1),o?(cp().$router.go(-e.delta),t()):n("onBackPress")}),0,Qu),Up=Nu("navigateTo",(({url:e,events:t,isAutomatedTesting:n},{resolve:o,reject:r})=>{if(wf.handledBeforeEntryPageRoutes)return df({type:"navigateTo",url:e,events:t,isAutomatedTesting:n}).then(o).catch(r);xf.push({args:{type:"navigateTo",url:e,events:t,isAutomatedTesting:n},resolve:o,reject:r})}),0,Zu);function zp(e){__uniConfig.darkmode&&gh.on("onThemeChange",e)}function Kp(e){gh.off("onThemeChange",e)}const Xp={light:{cancelColor:"#000000"},dark:{cancelColor:"rgb(170, 170, 170)"}},Yp=vo({props:{title:{type:String,default:""},content:{type:String,default:""},showCancel:{type:Boolean,default:!0},cancelText:{type:String,default:"Cancel"},cancelColor:{type:String,default:"#000000"},confirmText:{type:String,default:"OK"},confirmColor:{type:String,default:"#007aff"},visible:{type:Boolean},editable:{type:Boolean,default:!1},placeholderText:{type:String,default:""}},setup(e,{emit:t}){const n=on(""),o=()=>s.value=!1,r=()=>(o(),t("close","cancel")),i=()=>(o(),t("close","confirm",n.value)),s=Mp(e,{onEsc:r,onEnter:()=>{!e.editable&&i()}}),a=function(e){const t=on(e.cancelColor),n=({theme:e})=>{((e,t)=>{t.value=Xp[e].cancelColor})(e,t)};return Gn((()=>{e.visible?(t.value=e.cancelColor,"#000"===e.cancelColor&&("dark"===wp()&&n({theme:"dark"}),zp(n))):Kp(n)})),t}(e);return()=>{const{title:t,content:o,showCancel:l,confirmText:c,confirmColor:u,editable:f,placeholderText:d}=e;return n.value=o,ni(Ri,{name:"uni-fade"},{default:()=>[oo(ni("uni-modal",{onTouchmove:zl},[Np,ni("div",{class:"uni-modal"},[t?ni("div",{class:"uni-modal__hd"},[ni("strong",{class:"uni-modal__title",textContent:t||""},null,8,["textContent"])]):null,f?ni("textarea",{class:"uni-modal__textarea",rows:"1",placeholder:d,value:o,onInput:e=>n.value=e.target.value},null,40,["placeholder","value","onInput"]):ni("div",{class:"uni-modal__bd",onTouchmovePassive:Kl,textContent:o},null,40,["onTouchmovePassive","textContent"]),ni("div",{class:"uni-modal__ft"},[l&&ni("div",{style:{color:a.value},class:"uni-modal__btn uni-modal__btn_default",onClick:r},[e.cancelText],12,["onClick"]),ni("div",{style:{color:u},class:"uni-modal__btn uni-modal__btn_primary",onClick:i},[c],12,["onClick"])])])],40,["onTouchmove"]),[[Ki,s.value]])]})}}});let Gp;const Jp=de((()=>{gh.on("onHidePopup",(()=>Gp.visible=!1))}));let Zp;function Qp(e,t){const n="confirm"===e,o={confirm:n,cancel:"cancel"===e};n&&Gp.editable&&(o.content=t),Zp&&Zp(o)}const eh=Nu("showModal",((e,{resolve:t})=>{Jp(),Zp=t,Gp?(c(Gp,e),Gp.visible=!0):(Gp=Ft(e),Sn((()=>(jp(Yp,Gp,Qp).mount(Ip("u-a-m")),Sn((()=>Gp.visible=!0))))))}),0,sf),th={title:{type:String,default:""},icon:{default:"success",validator:e=>-1!==af.indexOf(e)},image:{type:String,default:""},duration:{type:Number,default:1500},mask:{type:Boolean,default:!1},visible:{type:Boolean}},nh={light:"#fff",dark:"rgba(255,255,255,0.9)"},oh=e=>nh[e],rh=vo({name:"Toast",props:th,setup(e){ml(),vl();const{Icon:t}=function(e){const t=on(oh(wp())),n=({theme:e})=>t.value=oh(e);Gn((()=>{e.visible?zp(n):Kp(n)}));return{Icon:Ti((()=>{switch(e.icon){case"success":return ni(nc(ec,t.value,38),{class:"uni-toast__icon"});case"error":return ni(nc(tc,t.value,38),{class:"uni-toast__icon"});case"loading":return ni("i",{class:["uni-toast__icon","uni-loading"]},null,2);default:return null}}))}}(e),n=Mp(e,{});return()=>{const{mask:o,duration:r,title:i,image:s}=e;return ni(Ri,{name:"uni-fade"},{default:()=>[oo(ni("uni-toast",{"data-duration":r},[o?ni("div",{class:"uni-mask",style:"background: transparent;",onTouchmove:zl},null,40,["onTouchmove"]):"",s||t.value?ni("div",{class:"uni-toast"},[s?ni("img",{src:s,class:"uni-toast__icon"},null,10,["src"]):t.value,ni("p",{class:"uni-toast__content"},[i])]):ni("div",{class:"uni-sample-toast"},[ni("p",{class:"uni-simple-toast__text"},[i])])],8,["data-duration"]),[[Ki,n.value]])]})}}});let ih,sh,ah="";const lh=Ie();function ch(e){ih?c(ih,e):(ih=Ft(c(e,{visible:!1})),Sn((()=>{lh.run((()=>{Zn([()=>ih.visible,()=>ih.duration],(([e,t])=>{if(e){if(sh&&clearTimeout(sh),"onShowLoading"===ah)return;sh=setTimeout((()=>{fh("onHideToast")}),t)}else sh&&clearTimeout(sh)}))})),gh.on("onHidePopup",(()=>fh("onHidePopup"))),jp(rh,ih,(()=>{})).mount(Ip("u-a-t"))}))),setTimeout((()=>{ih.visible=!0}),10)}const uh=Nu("showToast",((e,{resolve:t,reject:n})=>{ch(e),ah="onShowToast",t()}),0,lf);function fh(e){const{t:t}=pl();if(!ah)return;let n="";if("onHideToast"===e&&"onShowToast"!==ah?n=t("uni.showToast.unpaired"):"onHideLoading"===e&&"onShowLoading"!==ah&&(n=t("uni.showLoading.unpaired")),n)return console.warn(n);ah="",setTimeout((()=>{ih.visible=!1}),10)}function dh(e){function t(){var t;(t=e.navigationBar.titleText)&&t!==document.title&&(document.title=t),gh.emit("onNavigationBarChange",{titleText:t})}Gn(t),Eo(t)}const ph=zc({name:"Layout",setup(e,{emit:t}){const n=on(null);Gl({"--status-bar-height":"0px","--top-window-height":"0px","--window-left":"0px","--window-right":"0px","--window-margin":"0px","--tab-bar-height":"0px"});const o=function(){const e=tl();return{routeKey:Ti((()=>Pf("/"+e.meta.route,au()))),isTabBar:Ti((()=>e.meta.isTabBar)),routeCache:Bf}}(),{layoutState:r,windowState:i}=function(){su();{const e=Ft({marginWidth:0,leftWindowWidth:0,rightWindowWidth:0});return Zn((()=>e.marginWidth),(e=>Gl({"--window-margin":e+"px"}))),Zn((()=>e.leftWindowWidth+e.marginWidth),(e=>{Gl({"--window-left":e+"px"})})),Zn((()=>e.rightWindowWidth+e.marginWidth),(e=>{Gl({"--window-right":e+"px"})})),{layoutState:e,windowState:Ti((()=>({})))}}}();!function(e,t){const n=su();function o(){const o=document.body.clientWidth,r=Of();let i={};if(r.length>0){i=_f(r[r.length-1]).meta}else{const e=yc(n.path,!0);e&&(i=e.meta)}const s=parseInt(String((d(i,"maxWidth")?i.maxWidth:__uniConfig.globalStyle.maxWidth)||Number.MAX_SAFE_INTEGER));let a=!1;a=o>s,a&&s?(e.marginWidth=(o-s)/2,Sn((()=>{const e=t.value;e&&e.setAttribute("style","max-width:"+s+"px;margin:0 auto;")}))):(e.marginWidth=0,Sn((()=>{const e=t.value;e&&e.removeAttribute("style")})))}Zn([()=>n.path],o),Io((()=>{o(),window.addEventListener("resize",o)}))}(r,n);const s=function(e){const t=on(!1);return Ti((()=>({"uni-app--showtabbar":e&&e.value,"uni-app--maxwidth":t.value})))}(!1);return()=>{const e=function(e,t,n,o,r,i){return function({routeKey:e,isTabBar:t,routeCache:n}){return ni(Qa,null,{default:Mn((({Component:o})=>[(qr(),Yr(Co,{matchBy:"key",cache:n},[(qr(),Yr(Un(o),{type:t.value?"tabBar":"",key:e.value}))],1032,["cache"]))])),_:1})}(e)}(o);return ni("uni-app",{ref:n,class:s.value},[e,!1],2)}}});const hh=c(Cl,{publishHandler(e,t,n){gh.subscribeHandler(e,t,n)}}),gh=c(Pc,{publishHandler(e,t,n){hh.subscribeHandler(e,t,n)}}),mh=zc({name:"PageBody",setup(e,t){const n=on(null),o=on(null);return Zn((()=>false.enablePullDownRefresh),(()=>{o.value=null}),{immediate:!0}),()=>ni(Mr,null,[!1,ni("uni-page-wrapper",ci({ref:n},o.value),[ni("uni-page-body",null,[Ko(t.slots,"default")]),null],16)])}}),vh=zc({name:"Page",setup(e,t){let n=iu(au());n.navigationBar;const o={};return dh(n),()=>ni("uni-page",{"data-page":n.route,style:o},[yh(t),null])}});function yh(e){return qr(),Yr(mh,{key:0},{default:Mn((()=>[Ko(e.slots,"page")])),_:3})}const bh={loading:"AsyncLoading",error:"AsyncError",delay:200,timeout:6e4,suspensible:!0};window.uni={},window.wx={},window.rpx2px=qu;const _h=Object.assign({}),wh=Object.assign;window.__uniConfig=wh({globalStyle:{backgroundColor:"#F7F8FF",navigationBar:{backgroundColor:"#F7F8FF",titleText:"临床思维训练",type:"default",titleColor:"#000000"},isNVue:!1},uniIdRouter:{},compilerVersion:"5.07"},{appId:"",appName:"AI思维临床训练",appVersion:"1.0.0",appVersionCode:"100",async:bh,debug:!1,networkTimeout:{request:6e4,connectSocket:6e4,uploadFile:6e4,downloadFile:6e4},sdkConfigs:{},qqMapKey:void 0,bMapKey:void 0,googleMapKey:void 0,aMapKey:void 0,aMapSecurityJsCode:void 0,aMapServiceHost:void 0,nvue:{"flex-direction":"column"},locale:"",fallbackLocale:"",locales:Object.keys(_h).reduce(((e,t)=>{const n=t.replace(/\.\/locale\/(uni-app.)?(.*).json/,"$2");return wh(e[n]||(e[n]={}),_h[t].default),e}),{}),router:{mode:"hash",base:"./",assets:"assets",routerBase:"/"},darkmode:!1,themeConfig:{}}),window.__uniLayout=window.__uniLayout||{};const xh={delay:bh.delay,timeout:bh.timeout,suspensible:bh.suspensible};bh.loading&&(xh.loadingComponent={name:"SystemAsyncLoading",render:()=>ni(Wn(bh.loading))}),bh.error&&(xh.errorComponent={name:"SystemAsyncError",props:["error"],render(){return ni(Wn(bh.error),{error:this.error})}});const Sh=()=>t((()=>import("./pages-index-index.BwOl-YIs.js")),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]),import.meta.url).then((e=>pp(e.default||e))),Ch=bo(wh({loader:Sh},xh)),Th=()=>t((()=>import("./pages-config-config.JVS5qOJO.js")),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]),import.meta.url).then((e=>pp(e.default||e))),Eh=bo(wh({loader:Th},xh)),kh=()=>t((()=>import("./pages-home-home.Cv-ZRphr.js")),__vite__mapDeps([15,3,5,4,6,7,8,9,10,11,12,13,16,17,18,19,2,14,20,21,22,23,24]),import.meta.url).then((e=>pp(e.default||e))),Oh=bo(wh({loader:kh},xh)),Lh=()=>t((()=>import("./pages-matching-matching.CuL-3Fys.js")),__vite__mapDeps([18,3,5,19,2,4,6,7,8,9,10,11,12,13,14,20,21,22,23]),import.meta.url).then((e=>pp(e.default||e))),$h=bo(wh({loader:Lh},xh)),Ah=()=>t((()=>import("./pages-cases-cases.RDgMig8l.js")),__vite__mapDeps([19,5,2,3,4,6,7,8,9,10,11,12,13,14,20,21,22]),import.meta.url).then((e=>pp(e.default||e))),Ph=bo(wh({loader:Ah},xh)),Rh=()=>t((()=>import("./scenario.CjEHAMEH.js").then((e=>e.s))),__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url).then((e=>pp(e.default||e))),Bh=bo(wh({loader:Rh},xh)),Nh=()=>t((()=>import("./chat.BJUnN6Cc.js").then((e=>e.a))),__vite__mapDeps([4,3,5,6,7,8,9,10,11,12,13]),import.meta.url).then((e=>pp(e.default||e))),jh=bo(wh({loader:Nh},xh)),Ih=()=>t((()=>import("./pages-profile-profile-analysis.BoL_EDRS.js")),__vite__mapDeps([29,3,9,30]),import.meta.url).then((e=>pp(e.default||e))),Mh=bo(wh({loader:Ih},xh)),Vh=()=>t((()=>import("./pages-profile-profile-records.dJZjXNd2.js")),__vite__mapDeps([31,9,32]),import.meta.url).then((e=>pp(e.default||e))),Hh=bo(wh({loader:Vh},xh)),Fh=()=>t((()=>import("./pages-learning-assistant-learning-assistant.vx1Z8Ujc.js")),__vite__mapDeps([16,3,9,17]),import.meta.url).then((e=>pp(e.default||e))),Dh=bo(wh({loader:Fh},xh)),Wh=()=>t((()=>import("./pages-teaching-teaching.B94VaxdH.js")),__vite__mapDeps([20,3,5,9,21]),import.meta.url).then((e=>pp(e.default||e))),qh=bo(wh({loader:Wh},xh)),Uh=()=>t((()=>import("./pages-diagnosis-diagnosis.m6R6jwOM.js")),__vite__mapDeps([6,3,5,7,8,9,10,11,12]),import.meta.url).then((e=>pp(e.default||e))),zh=bo(wh({loader:Uh},xh)),Kh=()=>t((()=>import("./pages-treatment-treatment.Dvv4RUD4.js")),__vite__mapDeps([7,3,5,8,9,10,11]),import.meta.url).then((e=>pp(e.default||e))),Xh=bo(wh({loader:Kh},xh)),Yh=()=>t((()=>import("./pages-assessment-assessment.4dFS83cn.js")),__vite__mapDeps([8,3,9,10]),import.meta.url).then((e=>pp(e.default||e))),Gh=bo(wh({loader:Yh},xh)),Jh=()=>t((()=>import("./pages-profile-profile.D-uLPWwn.js")),__vite__mapDeps([26,3,9,27]),import.meta.url).then((e=>pp(e.default||e))),Zh=bo(wh({loader:Jh},xh));function Qh(e,t){return qr(),Yr(vh,null,{page:Mn((()=>[ni(e,wh({},t,{ref:"page"}),null,512)])),_:1})}window.__uniRoutes=[{path:"/",alias:"/pages/index/index",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Ch,t)}},loader:Sh,meta:{isQuit:!0,isEntry:!0,navigationBar:{titleText:"临床思维训练",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/config/config",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Eh,t)}},loader:Th,meta:{navigationBar:{titleText:"信息配置",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/home/home",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Oh,t)}},loader:kh,meta:{navigationBar:{titleText:"临床思维训练",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/matching/matching",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh($h,t)}},loader:Lh,meta:{navigationBar:{titleText:"智能匹配",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/cases/cases",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Ph,t)}},loader:Ah,meta:{navigationBar:{titleText:"病例列表",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/scenario/scenario",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Bh,t)}},loader:Rh,meta:{navigationBar:{titleText:"场景配置",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/chat/chat",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(jh,t)}},loader:Nh,meta:{navigationBar:{titleText:"临床对话",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/profile/profile-analysis",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Mh,t)}},loader:Ih,meta:{navigationBar:{titleText:"智能分析",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/profile/profile-records",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Hh,t)}},loader:Vh,meta:{navigationBar:{titleText:"学习记录",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/learning-assistant/learning-assistant",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Dh,t)}},loader:Fh,meta:{navigationBar:{titleText:"AI 学习助手",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/teaching/teaching",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(qh,t)}},loader:Wh,meta:{navigationBar:{titleText:"教学模式",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/diagnosis/diagnosis",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(zh,t)}},loader:Uh,meta:{navigationBar:{titleText:"临床诊断",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/treatment/treatment",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Xh,t)}},loader:Kh,meta:{navigationBar:{titleText:"治疗计划",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/assessment/assessment",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Gh,t)}},loader:Yh,meta:{navigationBar:{titleText:"考核评价",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/profile/profile",component:{setup(){const e=cp(),t=e&&e.$route&&e.$route.query||{};return()=>Qh(Zh,t)}},loader:Jh,meta:{navigationBar:{titleText:"个人中心",style:"custom",type:"default"},isNVue:!1}}].map((e=>(e.meta.route=(e.alias||e.path).slice(1),e)));const eg={onLaunch:function(){console.log("App Launch")},onShow:function(){console.log("App Show")},onHide:function(){console.log("App Hide")}};dp(eg,{init:up,setup(e){const t=su(),n=()=>{var n;n=e,Object.keys(zu).forEach((e=>{zu[e].forEach((t=>{Bo(e,t,n)}))}));const{onLaunch:o,onShow:r,onPageNotFound:i}=e,s=function({path:e,query:t}){return c(nd,{path:e,query:t}),c(od,nd),c({},nd)}({path:t.path.slice(1)||__uniRoutes[0].meta.route,query:_e(t.query)});if(o&&B(o,s),r&&B(r,s),!t.matched.length){const e={notFound:!0,openType:"appLaunch",path:t.path,query:_e(t.query),scene:1001};pf(),i&&B(i,e)}};return vr(Da).isReady().then(n),Io((()=>{window.addEventListener("resize",Se(hp,50,{setTimeout:setTimeout,clearTimeout:clearTimeout})),window.addEventListener("message",gp),document.addEventListener("visibilitychange",mp),function(){let e=null;try{e=window.matchMedia("(prefers-color-scheme: dark)")}catch(t){}if(e){let t=e=>{gh.emit("onThemeChange",{theme:e.matches?"dark":"light"})};e.addEventListener?e.addEventListener("change",t):e.addListener(t)}}()})),t.query},before(e){e.mpType="app";const{setup:t}=e,n=()=>(qr(),Yr(ph));e.setup=(e,o)=>{const r=t&&t(e,o);return m(r)?n:r},e.render=n}}),xs(eg).use(tp).mount("#app");export{nu as A,eh as B,an as C,Pp as D,le as E,Mr as F,_i as G,Bo as H,Ad as I,hi as J,Fd as K,ti as L,kf as M,qp as N,oe as O,ff as P,Up as Q,Bd as S,on as a,Ft as b,Ti as c,vo as d,Fo as e,qr as f,Yr as g,ii as h,oo as i,ni as j,ri as k,bs as l,Xr as m,ce as n,Io as o,zo as p,Sn as q,Vp as r,$p as s,K as t,uh as u,Ki as v,Mn as w,fd as x,Id as y,Dd as z}; + */(e);if(!o)return;const r=t._component;m(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};const Ss="undefined"!=typeof document;function Cs(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}const Ts=Object.assign;function Es(e,t){const n={};for(const o in t){const r=t[o];n[o]=Os(r)?r.map(e):e(r)}return n}const ks=()=>{},Os=Array.isArray,Ls=/#/g,$s=/&/g,As=/\//g,Ps=/=/g,Rs=/\?/g,Bs=/\+/g,Ns=/%5B/g,js=/%5D/g,Is=/%5E/g,Ms=/%60/g,Vs=/%7B/g,Hs=/%7C/g,Fs=/%7D/g,Ds=/%20/g;function Ws(e){return encodeURI(""+e).replace(Hs,"|").replace(Ns,"[").replace(js,"]")}function qs(e){return Ws(e).replace(Bs,"%2B").replace(Ds,"+").replace(Ls,"%23").replace($s,"%26").replace(Ms,"`").replace(Vs,"{").replace(Fs,"}").replace(Is,"^")}function Us(e){return null==e?"":function(e){return Ws(e).replace(Ls,"%23").replace(Rs,"%3F")}(e).replace(As,"%2F")}function zs(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}const Ks=/\/$/;function Xs(e,t,n="/"){let o,r={},i="",s="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(o=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),r=e(i)),a>-1&&(o=o||t.slice(0,a),s=t.slice(a,t.length)),o=function(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),r=o[o.length-1];".."!==r&&"."!==r||o.push("");let i,s,a=n.length-1;for(i=0;i1&&a--}return n.slice(0,a).join("/")+"/"+o.slice(i).join("/")}(null!=o?o:t,n),{fullPath:o+(i&&"?")+i+s,path:o,query:r,hash:zs(s)}}function Ys(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function Gs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Js(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Zs(e[n],t[n]))return!1;return!0}function Zs(e,t){return Os(e)?Qs(e,t):Os(t)?Qs(t,e):e===t}function Qs(e,t){return Os(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}const ea={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ta,na,oa,ra;function ia(e){if(!e)if(Ss){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),e.replace(Ks,"")}(na=ta||(ta={})).pop="pop",na.push="push",(ra=oa||(oa={})).back="back",ra.forward="forward",ra.unknown="";const sa=/^[^#]+#/;function aa(e,t){return e.replace(sa,"#")+t}const la=()=>({left:window.scrollX,top:window.scrollY});function ca(e){let t;if("el"in e){const n=e.el,o="string"==typeof n&&n.startsWith("#"),r="string"==typeof n?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=function(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function ua(e,t){return(history.state?history.state.position-t:-1)+e}const fa=new Map;function da(e,t){const{pathname:n,search:o,hash:r}=t,i=e.indexOf("#");if(i>-1){let t=r.includes(e.slice(i))?e.slice(i).length:1,n=r.slice(t);return"/"!==n[0]&&(n="/"+n),Ys(n,"")}return Ys(n,e)+o+r}function pa(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?la():null}}function ha(e){const{history:t,location:n}=window,o={value:da(e,n)},r={value:t.state};function i(o,i,s){const a=e.indexOf("#"),l=a>-1?(n.host&&document.querySelector("base")?e:e.slice(a))+o:location.protocol+"//"+location.host+e+o;try{t[s?"replaceState":"pushState"](i,"",l),r.value=i}catch(c){console.error(c),n[s?"replace":"assign"](l)}}return r.value||i(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:o,state:r,push:function(e,n){const s=Ts({},r.value,t.state,{forward:e,scroll:la()});i(s.current,s,!0),i(e,Ts({},pa(o.value,e,null),{position:s.position+1},n),!1),o.value=e},replace:function(e,n){i(e,Ts({},t.state,pa(r.value.back,e,r.value.forward,!0),n,{position:r.value.position}),!0),o.value=e}}}function ga(e){const t=ha(e=ia(e)),n=function(e,t,n,o){let r=[],i=[],s=null;const a=({state:i})=>{const a=da(e,location),l=n.value,c=t.value;let u=0;if(i){if(n.value=a,t.value=i,s&&s===l)return void(s=null);u=c?i.position-c.position:0}else o(a);r.forEach((e=>{e(n.value,l,{delta:u,type:ta.pop,direction:u?u>0?oa.forward:oa.back:oa.unknown})}))};function l(){const{history:e}=window;e.state&&e.replaceState(Ts({},e.state,{scroll:la()}),"")}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:function(){s=n.value},listen:function(e){r.push(e);const t=()=>{const t=r.indexOf(e);t>-1&&r.splice(t,1)};return i.push(t),t},destroy:function(){for(const e of i)e();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}}}(e,t.state,t.location,t.replace);const o=Ts({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:aa.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ma(e){return"string"==typeof e||"symbol"==typeof e}const va=Symbol("");var ya,ba;function _a(e,t){return Ts(new Error,{type:e,[va]:!0},t)}function wa(e,t){return e instanceof Error&&va in e&&(null==t||!!(e.type&t))}(ba=ya||(ya={}))[ba.aborted=4]="aborted",ba[ba.cancelled=8]="cancelled",ba[ba.duplicated=16]="duplicated";const xa={sensitive:!1,strict:!1,start:!0,end:!0},Sa=/[.+*?^${}()[\]/\\]/g;function Ca(e,t){let n=0;for(;nt.length?1===t.length&&80===t[0]?1:-1:0}function Ta(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const ka={type:0,value:""},Oa=/[a-zA-Z0-9_]/;function La(e,t,n){const o=function(e,t){const n=Ts({},xa,t),o=[];let r=n.start?"^":"";const i=[];for(const l of e){const e=l.length?[]:[90];n.strict&&!l.length&&(r+="/");for(let t=0;t1&&("*"===a||"+"===a)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:"*"===a||"+"===a,optional:"*"===a||"?"===a})):t("Invalid state to consume buffer"),c="")}function d(){c+=a}for(;l{i(d)}:ks}function i(e){if(ma(e)){const t=o.get(e);t&&(o.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&o.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function s(e){const t=function(e,t){let n=0,o=t.length;for(;n!==o;){const r=n+o>>1;Ta(e,t[r])<0?o=r:n=r+1}const r=function(e){let t=e;for(;t=t.parent;)if(ja(t)&&0===Ta(e,t))return t;return}(e);r&&(o=t.lastIndexOf(r,o-1));return o}(e,n);n.splice(t,0,e),e.record.name&&!Ra(e)&&o.set(e.record.name,e)}return t=Na({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>r(e))),{addRoute:r,resolve:function(e,t){let r,i,s,a={};if("name"in e&&e.name){if(r=o.get(e.name),!r)throw _a(1,{location:e});s=r.record.name,a=Ts(Aa(t.params,r.keys.filter((e=>!e.optional)).concat(r.parent?r.parent.keys.filter((e=>e.optional)):[]).map((e=>e.name))),e.params&&Aa(e.params,r.keys.map((e=>e.name)))),i=r.stringify(a)}else if(null!=e.path)i=e.path,r=n.find((e=>e.re.test(i))),r&&(a=r.parse(i),s=r.record.name);else{if(r=t.name?o.get(t.name):n.find((e=>e.re.test(t.path))),!r)throw _a(1,{location:e,currentLocation:t});s=r.record.name,a=Ts({},t.params,e.params),i=r.stringify(a)}const l=[];let c=r;for(;c;)l.unshift(c.record),c=c.parent;return{name:s,path:i,params:a,matched:l,meta:Ba(l)}},removeRoute:i,clearRoutes:function(){n.length=0,o.clear()},getRoutes:function(){return n},getRecordMatcher:function(e){return o.get(e)}}}function Aa(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function Pa(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]="object"==typeof n?n[o]:n;return t}function Ra(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ba(e){return e.reduce(((e,t)=>Ts(e,t.meta)),{})}function Na(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function ja({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ia(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let o=0;oe&&qs(e))):[o&&qs(o)]).forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Va(e){const t={};for(const n in e){const o=e[n];void 0!==o&&(t[n]=Os(o)?o.map((e=>null==e?null:""+e)):null==o?o:""+o)}return t}const Ha=Symbol(""),Fa=Symbol(""),Da=Symbol(""),Wa=Symbol(""),qa=Symbol("");function Ua(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function za(e,t,n,o,r,i=(e=>e())){const s=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise(((a,l)=>{const c=e=>{var i;!1===e?l(_a(4,{from:n,to:t})):e instanceof Error?l(e):"string"==typeof(i=e)||i&&"object"==typeof i?l(_a(2,{from:t,to:e})):(s&&o.enterCallbacks[r]===s&&"function"==typeof e&&s.push(e),a())},u=i((()=>e.call(o&&o.instances[r],t,n,c)));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch((e=>l(e)))}))}function Ka(e,t,n,o,r=(e=>e())){const i=[];for(const s of e)for(const e in s.components){let a=s.components[e];if("beforeRouteEnter"===t||s.instances[e])if(Cs(a)){const l=(a.__vccOpts||a)[t];l&&i.push(za(l,n,o,s,e,r))}else{let l=a();i.push((()=>l.then((i=>{if(!i)throw new Error(`Couldn't resolve component "${e}" at "${s.path}"`);const a=(l=i).__esModule||"Module"===l[Symbol.toStringTag]||l.default&&Cs(l.default)?i.default:i;var l;s.mods[e]=i,s.components[e]=a;const c=(a.__vccOpts||a)[t];return c&&za(c,n,o,s,e,r)()}))))}}return i}function Xa(e){const t=vr(Da),n=vr(Wa),o=Ti((()=>{const n=an(e.to);return t.resolve(n)})),r=Ti((()=>{const{matched:e}=o.value,{length:t}=e,r=e[t-1],i=n.matched;if(!r||!i.length)return-1;const s=i.findIndex(Gs.bind(null,r));if(s>-1)return s;const a=Ga(e[t-2]);return t>1&&Ga(r)===a&&i[i.length-1].path!==a?i.findIndex(Gs.bind(null,e[t-2])):s})),i=Ti((()=>r.value>-1&&function(e,t){for(const n in t){const o=t[n],r=e[n];if("string"==typeof o){if(o!==r)return!1}else if(!Os(r)||r.length!==o.length||o.some(((e,t)=>e!==r[t])))return!1}return!0}(n.params,o.value.params))),s=Ti((()=>r.value>-1&&r.value===n.matched.length-1&&Js(n.params,o.value.params)));return{route:o,href:Ti((()=>o.value.href)),isActive:i,isExactActive:s,navigate:function(n={}){return function(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(void 0!==e.button&&0!==e.button)return;if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}e.preventDefault&&e.preventDefault();return!0}(n)?t[an(e.replace)?"replace":"push"](an(e.to)).catch(ks):Promise.resolve()}}}const Ya=vo({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Xa,setup(e,{slots:t}){const n=Ft(Xa(e)),{options:o}=vr(Da),r=Ti((()=>({[Ja(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Ja(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&t.default(n);return e.custom?o:Ei("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}});function Ga(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ja=(e,t,n)=>null!=e?e:null!=t?t:n;function Za(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const Qa=vo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=vr(qa),r=Ti((()=>e.route||o.value)),i=vr(Fa,0),s=Ti((()=>{let e=an(i);const{matched:t}=r.value;let n;for(;(n=t[e])&&!n.components;)e++;return e})),a=Ti((()=>r.value.matched[s.value]));mr(Fa,Ti((()=>s.value+1))),mr(Ha,a),mr(qa,r);const l=on();return Zn((()=>[l.value,a.value,e.name]),(([e,t,n],[o,r,i])=>{t&&(t.instances[n]=e,r&&r!==t&&e&&e===o&&(t.leaveGuards.size||(t.leaveGuards=r.leaveGuards),t.updateGuards.size||(t.updateGuards=r.updateGuards))),!e||!t||r&&Gs(t,r)&&o||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=r.value,i=e.name,s=a.value,c=s&&s.components[i];if(!c)return Za(n.default,{Component:c,route:o});const u=s.props[i],f=u?!0===u?o.params:"function"==typeof u?u(o):u:null,d=Ei(c,Ts({},f,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[i]=null)},ref:l}));return Za(n.default,{Component:d,route:o})||d}}});function el(e){const t=$a(e.routes,e),n=e.parseQuery||Ia,o=e.stringifyQuery||Ma,r=e.history,i=Ua(),s=Ua(),a=Ua(),l=rn(ea,!0);let c=ea;Ss&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Es.bind(null,(e=>""+e)),f=Es.bind(null,Us),d=Es.bind(null,zs);function p(e,i){if(i=Ts({},i||l.value),"string"==typeof e){const o=Xs(n,e,i.path),s=t.resolve({path:o.path},i),a=r.createHref(o.fullPath);return Ts(o,s,{params:d(s.params),hash:zs(o.hash),redirectedFrom:void 0,href:a})}let s;if(null!=e.path)s=Ts({},e,{path:Xs(n,e.path,i.path).path});else{const t=Ts({},e.params);for(const e in t)null==t[e]&&delete t[e];s=Ts({},e,{params:f(t)}),i.params=f(i.params)}const a=t.resolve(s,i),c=e.hash||"";a.params=u(d(a.params));const p=function(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}(o,Ts({},e,{hash:(h=c,Ws(h).replace(Vs,"{").replace(Fs,"}").replace(Is,"^")),path:a.path}));var h;const g=r.createHref(p);return Ts({fullPath:p,hash:c,query:o===Ma?Va(e.query):e.query||{}},a,{redirectedFrom:void 0,href:g})}function h(e){return"string"==typeof e?Xs(n,e,l.value.path):Ts({},e)}function g(e,t){if(c!==e)return _a(8,{from:t,to:e})}function m(e){return y(e)}function v(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let o="function"==typeof n?n(e):n;return"string"==typeof o&&(o=o.includes("?")||o.includes("#")?o=h(o):{path:o},o.params={}),Ts({query:e.query,hash:e.hash,params:null!=o.path?{}:e.params},o)}}function y(e,t){const n=c=p(e),r=l.value,i=e.state,s=e.force,a=!0===e.replace,u=v(n);if(u)return y(Ts(h(u),{state:"object"==typeof u?Ts({},i,u.state):i,force:s,replace:a}),t||n);const f=n;let d;return f.redirectedFrom=t,!s&&function(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&Gs(t.matched[o],n.matched[r])&&Js(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}(o,r,n)&&(d=_a(16,{to:f,from:r}),A(r,r,!0,!1)),(d?Promise.resolve(d):w(f,r)).catch((e=>wa(e)?wa(e,2)?e:$(e):L(e,f,r))).then((e=>{if(e){if(wa(e,2))return y(Ts({replace:a},h(e.to),{state:"object"==typeof e.to?Ts({},i,e.to.state):i,force:s}),t||f)}else e=S(f,r,!0,a,i);return x(f,r,e),e}))}function b(e,t){const n=g(e,t);return n?Promise.reject(n):Promise.resolve()}function _(e){const t=B.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function w(e,t){let n;const[o,r,a]=function(e,t){const n=[],o=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;sGs(e,i)))?o.push(i):n.push(i));const a=e.matched[s];a&&(t.matched.find((e=>Gs(e,a)))||r.push(a))}return[n,o,r]}(e,t);n=Ka(o.reverse(),"beforeRouteLeave",e,t);for(const i of o)i.leaveGuards.forEach((o=>{n.push(za(o,e,t))}));const l=b.bind(null,e,t);return n.push(l),j(n).then((()=>{n=[];for(const o of i.list())n.push(za(o,e,t));return n.push(l),j(n)})).then((()=>{n=Ka(r,"beforeRouteUpdate",e,t);for(const o of r)o.updateGuards.forEach((o=>{n.push(za(o,e,t))}));return n.push(l),j(n)})).then((()=>{n=[];for(const o of a)if(o.beforeEnter)if(Os(o.beforeEnter))for(const r of o.beforeEnter)n.push(za(r,e,t));else n.push(za(o.beforeEnter,e,t));return n.push(l),j(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=Ka(a,"beforeRouteEnter",e,t,_),n.push(l),j(n)))).then((()=>{n=[];for(const o of s.list())n.push(za(o,e,t));return n.push(l),j(n)})).catch((e=>wa(e,8)?e:Promise.reject(e)))}function x(e,t,n){a.list().forEach((o=>_((()=>o(e,t,n)))))}function S(e,t,n,o,i){const s=g(e,t);if(s)return s;const a=t===ea,c=Ss?history.state:{};n&&(o||a?r.replace(e.fullPath,Ts({scroll:a&&c&&c.scroll},i)):r.push(e.fullPath,i)),l.value=e,A(e,t,n,a),$()}let C;function T(){C||(C=r.listen(((e,t,n)=>{if(!N.listening)return;const o=p(e),i=v(o);if(i)return void y(Ts(i,{replace:!0}),o).catch(ks);c=o;const s=l.value;var a,u;Ss&&(a=ua(s.fullPath,n.delta),u=la(),fa.set(a,u)),w(o,s).catch((e=>wa(e,12)?e:wa(e,2)?(y(e.to,o).then((e=>{wa(e,20)&&!n.delta&&n.type===ta.pop&&r.go(-1,!1)})).catch(ks),Promise.reject()):(n.delta&&r.go(-n.delta,!1),L(e,o,s)))).then((e=>{(e=e||S(o,s,!1))&&(n.delta&&!wa(e,8)?r.go(-n.delta,!1):n.type===ta.pop&&wa(e,20)&&r.go(-1,!1)),x(o,s,e)})).catch(ks)})))}let E,k=Ua(),O=Ua();function L(e,t,n){$(e);const o=O.list();return o.length?o.forEach((o=>o(e,t,n))):console.error(e),Promise.reject(e)}function $(e){return E||(E=!e,T(),k.list().forEach((([t,n])=>e?n(e):t())),k.reset()),e}function A(t,n,o,r){const{scrollBehavior:i}=e;if(!Ss||!i)return Promise.resolve();const s=!o&&function(e){const t=fa.get(e);return fa.delete(e),t}(ua(t.fullPath,0))||(r||!o)&&history.state&&history.state.scroll||null;return Sn().then((()=>i(t,n,s))).then((e=>e&&ca(e))).catch((e=>L(e,t,n)))}const P=e=>r.go(e);let R;const B=new Set,N={currentRoute:l,listening:!0,addRoute:function(e,n){let o,r;return ma(e)?(o=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,o)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},clearRoutes:t.clearRoutes,hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map((e=>e.record))},resolve:p,options:e,push:m,replace:function(e){return m(Ts(h(e),{replace:!0}))},go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:i.add,beforeResolve:s.add,afterEach:a.add,onError:O.add,isReady:function(){return E&&l.value!==ea?Promise.resolve():new Promise(((e,t)=>{k.add([e,t])}))},install(e){e.component("RouterLink",Ya),e.component("RouterView",Qa),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>an(l)}),Ss&&!R&&l.value===ea&&(R=!0,m(r.location).catch((e=>{})));const t={};for(const o in ea)Object.defineProperty(t,o,{get:()=>l.value[o],enumerable:!0});e.provide(Da,this),e.provide(Wa,Dt(t)),e.provide(qa,l);const n=e.unmount;B.add(e),e.unmount=function(){B.delete(e),B.size<1&&(c=ea,C&&C(),C=null,l.value=ea,R=!1,E=!1),n()}}};function j(e){return e.reduce(((e,t)=>e.then((()=>_(t)))),Promise.resolve())}return N}function tl(e){return vr(Wa)}const nl=["{","}"];const ol=/^(?:\d)+/,rl=/^(?:\w)+/;const il=Object.prototype.hasOwnProperty,sl=(e,t)=>il.call(e,t),al=new class{constructor(){this._caches=Object.create(null)}interpolate(e,t,n=nl){if(!t)return[e];let o=this._caches[e];return o||(o=function(e,[t,n]){const o=[];let r=0,i="";for(;r-1?"zh-Hans":e.indexOf("-hant")>-1?"zh-Hant":(n=e,["-tw","-hk","-mo","-cht"].find((e=>-1!==n.indexOf(e)))?"zh-Hant":"zh-Hans");var n;let o=["en","fr","es"];t&&Object.keys(t).length>0&&(o=Object.keys(t));const r=function(e,t){return t.find((t=>0===e.indexOf(t)))}(e,o);return r||void 0}class cl{constructor({locale:e,fallbackLocale:t,messages:n,watcher:o,formater:r}){this.locale="en",this.fallbackLocale="en",this.message={},this.messages={},this.watchers=[],t&&(this.fallbackLocale=t),this.formater=r||al,this.messages=n||{},this.setLocale(e||"en"),o&&this.watchLocale(o)}setLocale(e){const t=this.locale;this.locale=ll(e,this.messages)||this.fallbackLocale,this.messages[this.locale]||(this.messages[this.locale]={}),this.message=this.messages[this.locale],t!==this.locale&&this.watchers.forEach((e=>{e(this.locale,t)}))}getLocale(){return this.locale}watchLocale(e){const t=this.watchers.push(e)-1;return()=>{this.watchers.splice(t,1)}}add(e,t,n=!0){const o=this.messages[e];o?n?Object.assign(o,t):Object.keys(t).forEach((e=>{sl(o,e)||(o[e]=t[e])})):this.messages[e]=t}f(e,t,n){return this.formater.interpolate(e,t,n).join("")}t(e,t,n){let o=this.message;return"string"==typeof t?(t=ll(t,this.messages))&&(o=this.messages[t]):n=t,sl(o,e)?this.formater.interpolate(o[e],n).join(""):(console.warn(`Cannot translate the value of keypath ${e}. Use the value of keypath as default.`),e)}}function ul(e,t={},n,o){if("string"!=typeof e){const n=[t,e];e=n[0],t=n[1]}"string"!=typeof e&&(e="undefined"!=typeof uni&&Uu?Uu():"undefined"!=typeof global&&global.getLocale?global.getLocale():"en"),"string"!=typeof n&&(n="undefined"!=typeof __uniConfig&&__uniConfig.fallbackLocale||"en");const r=new cl({locale:e,fallbackLocale:n,messages:t,watcher:o});let i=(e,t)=>{{let e=!1;i=function(t,n){const o=pp().$vm;return o&&(o.$locale,e||(e=!0,function(e,t){e.$watchLocale?e.$watchLocale((e=>{t.setLocale(e)})):e.$watch((()=>e.$locale),(e=>{t.setLocale(e)}))}(o,r))),r.t(t,n)}}return i(e,t)};return{i18n:r,f:(e,t,n)=>r.f(e,t,n),t:(e,t)=>i(e,t),add:(e,t,n=!0)=>r.add(e,t,n),watch:e=>r.watchLocale(e),getLocale:()=>r.getLocale(),setLocale:e=>r.setLocale(e)}}const fl=de((()=>"undefined"!=typeof __uniConfig&&__uniConfig.locales&&!!Object.keys(__uniConfig.locales).length));let dl;function pl(){if(!dl){let e;if(e=navigator.cookieEnabled&&window.localStorage&&localStorage.UNI_LOCALE||__uniConfig.locale||navigator.language,dl=ul(e),fl()){const t=Object.keys(__uniConfig.locales||{});t.length&&t.forEach((e=>dl.add(e,__uniConfig.locales[e]))),dl.setLocale(e)}}return dl}function hl(e,t,n){return t.reduce(((t,o,r)=>(t[e+o]=n[r],t)),{})}const gl=de((()=>{const e="uni.async.",t=["error"];pl().add("en",hl(e,t,["The connection timed out, click the screen to try again."]),!1),pl().add("es",hl(e,t,["Se agotó el tiempo de conexión, haga clic en la pantalla para volver a intentarlo."]),!1),pl().add("fr",hl(e,t,["La connexion a expiré, cliquez sur l'écran pour réessayer."]),!1),pl().add("zh-Hans",hl(e,t,["连接服务器超时,点击屏幕重试"]),!1),pl().add("zh-Hant",hl(e,t,["連接服務器超時,點擊屏幕重試"]),!1)})),ml=de((()=>{const e="uni.showToast.",t=["unpaired"];pl().add("en",hl(e,t,["Please note showToast must be paired with hideToast"]),!1),pl().add("es",hl(e,t,["Tenga en cuenta que showToast debe estar emparejado con hideToast"]),!1),pl().add("fr",hl(e,t,["Veuillez noter que showToast doit être associé à hideToast"]),!1),pl().add("zh-Hans",hl(e,t,["请注意 showToast 与 hideToast 必须配对使用"]),!1),pl().add("zh-Hant",hl(e,t,["請注意 showToast 與 hideToast 必須配對使用"]),!1)})),vl=de((()=>{const e="uni.showLoading.",t=["unpaired"];pl().add("en",hl(e,t,["Please note showLoading must be paired with hideLoading"]),!1),pl().add("es",hl(e,t,["Tenga en cuenta que showLoading debe estar emparejado con hideLoading"]),!1),pl().add("fr",hl(e,t,["Veuillez noter que showLoading doit être associé à hideLoading"]),!1),pl().add("zh-Hans",hl(e,t,["请注意 showLoading 与 hideLoading 必须配对使用"]),!1),pl().add("zh-Hant",hl(e,t,["請注意 showLoading 與 hideLoading 必須配對使用"]),!1)})),yl=de((()=>{const e="uni.showModal.",t=["cancel","confirm"];pl().add("en",hl(e,t,["Cancel","OK"]),!1),pl().add("es",hl(e,t,["Cancelar","OK"]),!1),pl().add("fr",hl(e,t,["Annuler","OK"]),!1),pl().add("zh-Hans",hl(e,t,["取消","确定"]),!1),pl().add("zh-Hant",hl(e,t,["取消","確定"]),!1)}));function bl(e){const t=new $e;return{on:(e,n)=>t.on(e,n),once:(e,n)=>t.once(e,n),off:(e,n)=>t.off(e,n),emit:(e,...n)=>t.emit(e,...n),subscribe(n,o,r=!1){t[r?"once":"on"](`${e}.${n}`,o)},unsubscribe(n,o){t.off(`${e}.${n}`,o)},subscribeHandler(n,o,r){t.emit(`${e}.${n}`,o,r)}}}let _l=1;const wl=Object.create(null);function xl(e,t){return e+"."+t}function Sl({id:e,name:t,args:n},o){t=xl(o,t);const r=t=>{e&&yh.publishHandler("invokeViewApi."+e,t)},i=wl[t];i?i(n,r):r({})}const Cl=c(bl("service"),{invokeServiceMethod:(e,t,n)=>{const{subscribe:o,publishHandler:r}=yh,i=n?_l++:0;n&&o("invokeServiceApi."+i,n,!0),r("invokeServiceApi",{id:i,name:e,args:t})}}),Tl=ve(!0);let El;function kl(){El&&(clearTimeout(El),El=null)}let Ol=0,Ll=0;function $l(e){if(kl(),1!==e.touches.length)return;const{pageX:t,pageY:n}=e.touches[0];Ol=t,Ll=n,El=setTimeout((function(){const t=new CustomEvent("longpress",{bubbles:!0,cancelable:!0,target:e.target,currentTarget:e.currentTarget});t.touches=e.touches,t.changedTouches=e.changedTouches,e.target.dispatchEvent(t)}),350)}function Al(e){if(!El)return;if(1!==e.touches.length)return kl();const{pageX:t,pageY:n}=e.touches[0];return Math.abs(t-Ol)>10||Math.abs(n-Ll)>10?kl():void 0}function Pl(e,t){const n=Number(e);return isNaN(n)?t:n}const Rl=()=>/^Apple/.test(navigator.vendor);function Bl(){const e=__uniConfig.globalStyle||{},t=Pl(e.rpxCalcMaxDeviceWidth,960),n=Pl(e.rpxCalcBaseDeviceWidth,375);function o(){let e=function(){const e=Rl()&&"number"==typeof window.orientation,t=e&&90===Math.abs(window.orientation);var n=e?Math[t?"max":"min"](screen.width,screen.height):screen.width;return e?Math.min(window.innerWidth,document.documentElement.clientWidth,n)||n:Math.min(window.innerWidth,document.documentElement.clientWidth)}();e=e<=t?e:n,document.documentElement.style.fontSize=e/23.4375+"px"}o(),document.addEventListener("DOMContentLoaded",o),window.addEventListener("load",o),window.addEventListener("resize",o),Rl()&&window.addEventListener("orientationchange",(()=>{o(),setTimeout(o,50)}))}function Nl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var jl,Il,Ml=["top","left","right","bottom"],Vl={};function Hl(){return Il="CSS"in window&&"function"==typeof CSS.supports?CSS.supports("top: env(safe-area-inset-top)")?"env":CSS.supports("top: constant(safe-area-inset-top)")?"constant":"":""}function Fl(){if(Il="string"==typeof Il?Il:Hl()){var e=[],t=!1;try{var n=Object.defineProperty({},"passive",{get:function(){t={passive:!0}}});window.addEventListener("test",null,n)}catch(a){}var o=document.createElement("div");r(o,{position:"absolute",left:"0",top:"0",width:"0",height:"0",zIndex:"-1",overflow:"hidden",visibility:"hidden"}),Ml.forEach((function(e){s(o,e)})),document.body.appendChild(o),i(),jl=!0}else Ml.forEach((function(e){Vl[e]=0}));function r(e,t){var n=e.style;Object.keys(t).forEach((function(e){var o=t[e];n[e]=o}))}function i(t){t?e.push(t):e.forEach((function(e){e()}))}function s(e,n){var o=document.createElement("div"),s=document.createElement("div"),a=document.createElement("div"),l=document.createElement("div"),c={position:"absolute",width:"100px",height:"200px",boxSizing:"border-box",overflow:"hidden",paddingBottom:Il+"(safe-area-inset-"+n+")"};r(o,c),r(s,c),r(a,{transition:"0s",animation:"none",width:"400px",height:"400px"}),r(l,{transition:"0s",animation:"none",width:"250%",height:"250%"}),o.appendChild(a),s.appendChild(l),e.appendChild(o),e.appendChild(s),i((function(){o.scrollTop=s.scrollTop=1e4;var e=o.scrollTop,r=s.scrollTop;function i(){this.scrollTop!==(this===o?e:r)&&(o.scrollTop=s.scrollTop=1e4,e=o.scrollTop,r=s.scrollTop,function(e){Wl.length||setTimeout((function(){var e={};Wl.forEach((function(t){e[t]=Vl[t]})),Wl.length=0,ql.forEach((function(t){t(e)}))}),0);Wl.push(e)}(n))}o.addEventListener("scroll",i,t),s.addEventListener("scroll",i,t)}));var u=getComputedStyle(o);Object.defineProperty(Vl,n,{configurable:!0,get:function(){return parseFloat(u.paddingBottom)}})}}function Dl(e){return jl||Fl(),Vl[e]}var Wl=[];var ql=[];const Ul=Nl({get support(){return 0!=("string"==typeof Il?Il:Hl()).length},get top(){return Dl("top")},get left(){return Dl("left")},get right(){return Dl("right")},get bottom(){return Dl("bottom")},onChange:function(e){Hl()&&(jl||Fl(),"function"==typeof e&&ql.push(e))},offChange:function(e){var t=ql.indexOf(e);t>=0&&ql.splice(t,1)}}),zl=bs((()=>{}),["prevent"]),Kl=bs((e=>{}),["stop"]);function Xl(e,t){return parseInt((e.getPropertyValue(t).match(/\d+/)||["0"])[0])}function Yl(){const e=Xl(document.documentElement.style,"--window-top");return e?e+Ul.top:0}function Gl(e){const t=document.documentElement.style;Object.keys(e).forEach((n=>{t.setProperty(n,e[n])}))}function Jl(e){return Symbol(e)}function Zl(e){return e.$page}function Ql(e){return 0===e.tagName.indexOf("UNI-")}const ec="M1.952 18.080q-0.32-0.352-0.416-0.88t0.128-0.976l0.16-0.352q0.224-0.416 0.64-0.528t0.8 0.176l6.496 4.704q0.384 0.288 0.912 0.272t0.88-0.336l17.312-14.272q0.352-0.288 0.848-0.256t0.848 0.352l-0.416-0.416q0.32 0.352 0.32 0.816t-0.32 0.816l-18.656 18.912q-0.32 0.352-0.8 0.352t-0.8-0.32l-7.936-8.064z",tc="M15.808 0.16q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM15.136 8.672h1.728q0.128 0 0.224 0.096t0.096 0.256l-0.384 10.24q0 0.064-0.048 0.112t-0.112 0.048h-1.248q-0.096 0-0.144-0.048t-0.048-0.112l-0.384-10.24q0-0.16 0.096-0.256t0.224-0.096zM16 23.328q-0.48 0-0.832-0.352t-0.352-0.848 0.352-0.848 0.832-0.352 0.832 0.352 0.352 0.848-0.352 0.848-0.832 0.352z";function nc(e,t="#000",n=27){return ni("svg",{width:n,height:n,viewBox:"0 0 32 32"},[ni("path",{d:e,fill:t},null,8,["d","fill"])],8,["width","height"])}function oc(){{const{$pageInstance:e}=hi();return e&&fc(e.proxy)}}function rc(){const e=Af(),t=e.length;if(t)return e[t-1]}function ic(){var e;const t=null==(e=rc())?void 0:e.$page;if(t)return t.meta}function sc(){const e=ic();return e?e.id:-1}function ac(){const e=rc();if(e)return e.$vm}const lc=["navigationBar","pullToRefresh"];function cc(e,t){const n=JSON.parse(JSON.stringify(__uniConfig.globalStyle||{})),o=c({id:t},n,e);lc.forEach((t=>{o[t]=c({},n[t],e[t])}));const{navigationBar:r}=o;return r.titleText&&r.titleImage&&(r.titleText=""),o}function uc(e,t,n,o,r,i){const{id:s,route:a}=o,l=Re(o.navigationBar,__uniConfig.themeConfig,i).titleColor;return{id:s,path:fe(a),route:a,fullPath:t,options:n,meta:o,openType:e,eventChannel:r,statusBarStyle:"#ffffff"===l?"light":"dark"}}function fc(e){var t,n;return(null==(t=e.$page)?void 0:t.id)||(null==(n=e.$basePage)?void 0:n.id)}function dc(e,t,n){if(v(e))n=t,t=e,e=ac();else if("number"==typeof e){const t=Af().find((t=>Zl(t).id===e));e=t?t.$vm:ac()}if(!e)return;const o=e.$[t];return"onBackPress"===t?o&&(r=o,i=n,r.map((e=>e(i)))).some((e=>!0===e)):o&&((e,t)=>{let n;for(let o=0;o{function s(){if((()=>{const{scrollHeight:e}=document.documentElement,t=window.innerHeight,o=window.scrollY,i=o>0&&e>t&&o+t+n>=e,s=Math.abs(e-gc)>n;return!i||r&&!s?(!i&&r&&(r=!1),!1):(gc=e,r=!0,!0)})())return t&&t(),i=!1,setTimeout((function(){i=!0}),350),!0}e&&e(window.pageYOffset),t&&i&&(s()||(hc=setTimeout(s,300))),o=!1};return function(){clearTimeout(hc),o||requestAnimationFrame(s),o=!0}}function vc(e,t){if(0===t.indexOf("/"))return t;if(0===t.indexOf("./"))return vc(e,t.slice(2));const n=t.split("/"),o=n.length;let r=0;for(;r0?e.split("/"):[];return i.splice(i.length-r-1,r+1),fe(i.concat(n).join("/"))}function yc(e,t=!1){return t?__uniRoutes.find((t=>t.path===e||t.alias===e)):__uniRoutes.find((t=>t.path===e))}function bc(){Bl(),he(Ql),window.addEventListener("touchstart",$l,Tl),window.addEventListener("touchmove",Al,Tl),window.addEventListener("touchend",kl,Tl),window.addEventListener("touchcancel",kl,Tl)}class _c{constructor(e){this.$bindClass=!1,this.$bindStyle=!1,this.$vm=e,this.$el=function(e,t=!1){const{vnode:n}=e;if(ae(n.el))return t?n.el?[n.el]:[]:n.el;const{subTree:o}=e;if(16&o.shapeFlag){const e=o.children.filter((e=>e.el&&ae(e.el)));if(e.length>0)return t?e.map((e=>e.el)):e[0].el}return t?n.el?[n.el]:[]:n.el}(e.$),this.$el.getAttribute&&(this.$bindClass=!!this.$el.getAttribute("class"),this.$bindStyle=!!this.$el.getAttribute("style"))}selectComponent(e){if(!this.$el||!e)return;const t=Cc(this.$el.querySelector(e));return t?wc(t,!1):void 0}selectAllComponents(e){if(!this.$el||!e)return[];const t=[],n=this.$el.querySelectorAll(e);for(let o=0;o-1&&t.splice(n,1)}const n=this.$el.__wxsRemoveClass||(this.$el.__wxsRemoveClass=[]);return-1===n.indexOf(e)&&(n.push(e),this.forceUpdate("class")),this}hasClass(e){return this.$el&&this.$el.classList.contains(e)}getDataset(){return this.$el&&this.$el.dataset}callMethod(e,t={}){const n=this.$vm[e];m(n)?n(JSON.parse(JSON.stringify(t))):this.$vm.ownerId&&yh.publishHandler("onWxsInvokeCallMethod",{nodeId:this.$el.__id,ownerId:this.$vm.ownerId,method:e,args:t})}requestAnimationFrame(e){return window.requestAnimationFrame(e)}getState(){return this.$el&&(this.$el.__wxsState||(this.$el.__wxsState={}))}triggerEvent(e,t={}){return this.$vm.$emit(e,t),this}getComputedStyle(e){if(this.$el){const t=window.getComputedStyle(this.$el);return e&&e.length?e.reduce(((e,n)=>(e[n]=t[n],e)),{}):t}return{}}setTimeout(e,t){return window.setTimeout(e,t)}clearTimeout(e){return window.clearTimeout(e)}getBoundingClientRect(){return this.$el.getBoundingClientRect()}}function wc(e,t=!0){if(t&&e&&(e=se(e.$)),e&&e.$el)return e.$el.__wxsComponentDescriptor||(e.$el.__wxsComponentDescriptor=new _c(e)),e.$el.__wxsComponentDescriptor}function xc(e,t){return wc(e,t)}function Sc(e,t,n,o=!0){if(t){e.__instance||(e.__instance=!0,Object.defineProperty(e,"instance",{get:()=>xc(n.proxy,!1)}));const r=function(e,t,n=!0){if(!t)return!1;if(n&&e.length<2)return!1;const o=se(t);if(!o)return!1;const r=o.$.type;return!(!r.$wxs&&!r.$renderjs)&&o}(t,n,o);if(r)return[e,xc(r,!1)]}}function Cc(e){if(e)return e.__vueParentComponent&&e.__vueParentComponent.proxy}function Tc(e,t=!1){const{type:n,timeStamp:o,target:r,currentTarget:i}=e;let s,a;s=ye(t?r:function(e){for(;!Ql(e);)e=e.parentElement;return e}(r)),a=ye(i);const l={type:n,timeStamp:o,target:s,detail:{},currentTarget:a};return e instanceof CustomEvent&&S(e.detail)&&(l.detail=e.detail),e._stopped&&(l._stopped=!0),e.type.startsWith("touch")&&(l.touches=e.touches,l.changedTouches=e.changedTouches),function(e,t){c(e,{preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}(l,e),l}function Ec(e,t){return{force:1,identifier:0,clientX:e.clientX,clientY:e.clientY-t,pageX:e.pageX,pageY:e.pageY-t}}function kc(e,t){const n=[];for(let o=0;o0===e.type.indexOf("mouse")||["contextmenu"].includes(e.type))(e))!function(e,t){const n=Yl();e.pageX=t.pageX,e.pageY=t.pageY-n,e.clientX=t.clientX,e.clientY=t.clientY-n,e.touches=e.changedTouches=[Ec(t,n)]}(i,e);else if((e=>"undefined"!=typeof TouchEvent&&e instanceof TouchEvent||0===e.type.indexOf("touch")||["longpress"].indexOf(e.type)>=0)(e)){const t=Yl();i.touches=kc(e.touches,t),i.changedTouches=kc(e.changedTouches,t)}else if((e=>!e.type.indexOf("key")&&e instanceof KeyboardEvent)(e)){["key","code"].forEach((t=>{Object.defineProperty(i,t,{get:()=>e[t]})}))}return Sc(i,t,n)||[i]},createNativeEvent:Tc},Symbol.toStringTag,{value:"Module"});function Lc(e){!function(e){const t=e.globalProperties;c(t,Oc),t.$gcd=xc}(e._context.config)}let $c=1;function Ac(e){return(e||sc())+".invokeViewApi"}const Pc=c(bl("view"),{invokeOnCallback:(e,t)=>bh.emit("api."+e,t),invokeViewMethod:(e,t,n,o)=>{const{subscribe:r,publishHandler:i}=bh,s=o?$c++:0;o&&r("invokeViewApi."+s,o,!0),i(Ac(n),{id:s,name:e,args:t},n)},invokeViewMethodKeepAlive:(e,t,n,o)=>{const{subscribe:r,unsubscribe:i,publishHandler:s}=bh,a=$c++,l="invokeViewApi."+a;return r(l,n),s(Ac(o),{id:a,name:e,args:t},o),()=>{i(l)}}});function Rc(e){dc(rc(),"onResize",e),bh.invokeOnCallback("onWindowResize",e)}function Bc(e){const t=rc();dc(pp(),"onShow",e),dc(t,"onShow")}function Nc(){dc(pp(),"onHide"),dc(rc(),"onHide")}const jc=["onPageScroll","onReachBottom"];function Ic(){jc.forEach((e=>bh.subscribe(e,function(e){return(t,n)=>{dc(parseInt(n),e,t)}}(e))))}function Mc(){!function(){const{on:e}=bh;e("onResize",Rc),e("onAppEnterForeground",Bc),e("onAppEnterBackground",Nc)}(),Ic()}function Vc(){if(this.$route){const e=this.$route.meta;return e.eventChannel||(e.eventChannel=new Ce(this.$page.id)),e.eventChannel}}function Hc(e){e._context.config.globalProperties.getOpenerEventChannel=Vc}function Fc(){return{path:"",query:{},scene:1001,referrerInfo:{appId:"",extraData:{}}}}function Dc(e){return/^-?\d+[ur]px$/i.test(e)?e.replace(/(^-?\d+)[ur]px$/i,((e,t)=>`${qu(parseFloat(t))}px`)):/^-?[\d\.]+$/.test(e)?`${e}px`:e||""}function Wc(e){const t=e.animation;if(!t||!t.actions||!t.actions.length)return;let n=0;const o=t.actions,r=t.actions.length;function i(){const t=o[n],s=t.option.transition,a=function(e){const t=["matrix","matrix3d","scale","scale3d","rotate3d","skew","translate","translate3d"],n=["scaleX","scaleY","scaleZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","translateX","translateY","translateZ"],o=["opacity","background-color"],r=["width","height","left","right","top","bottom"],i=e.animates,s=e.option,a=s.transition,l={},c=[];return i.forEach((e=>{let i=e.type,s=[...e.args];if(t.concat(n).includes(i))i.startsWith("rotate")||i.startsWith("skew")?s=s.map((e=>parseFloat(e)+"deg")):i.startsWith("translate")&&(s=s.map(Dc)),n.indexOf(i)>=0&&(s.length=1),c.push(`${i}(${s.join(",")})`);else if(o.concat(r).includes(s[0])){i=s[0];const e=s[1];l[i]=r.includes(i)?Dc(e):e}})),l.transform=l.webkitTransform=c.join(" "),l.transition=l.webkitTransition=Object.keys(l).map((e=>`${function(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`)).replace("webkit","-webkit")}(e)} ${a.duration}ms ${a.timingFunction} ${a.delay}ms`)).join(","),l.transformOrigin=l.webkitTransformOrigin=s.transformOrigin,l}(t);Object.keys(a).forEach((t=>{e.$el.style[t]=a[t]})),n+=1,n{i()}),0)}const qc={props:["animation"],watch:{animation:{deep:!0,handler(){Wc(this)}}},mounted(){Wc(this)}},Uc=e=>{e.__reserved=!0;const{props:t,mixins:n}=e;return t&&t.animation||(n||(e.mixins=[])).push(qc),zc(e)},zc=e=>(e.__reserved=!0,e.compatConfig={MODE:3},vo(e));function Kc(e){return e.__wwe=!0,e}function Xc(e,t){return(n,o,r)=>{e.value&&t(n,function(e,t,n,o){let r;return r=ye(n),{type:t.__evName||o.type||e,timeStamp:t.timeStamp||0,target:r,currentTarget:r,detail:o}}(n,o,e.value,r||{}))}}const Yc={hoverClass:{type:String,default:"none"},hoverStopPropagation:{type:Boolean,default:!1},hoverStartTime:{type:[Number,String],default:50},hoverStayTime:{type:[Number,String],default:400}};function Gc(e){const t=on(!1);let n,o,r=!1;function i(){requestAnimationFrame((()=>{clearTimeout(o),o=setTimeout((()=>{t.value=!1}),parseInt(e.hoverStayTime))}))}function s(o){o._hoverPropagationStopped||e.hoverClass&&"none"!==e.hoverClass&&!e.disabled&&(e.hoverStopPropagation&&(o._hoverPropagationStopped=!0),r=!0,n=setTimeout((()=>{t.value=!0,r||i()}),parseInt(e.hoverStartTime)))}function a(){r=!1,t.value&&i()}function l(){a(),window.removeEventListener("mouseup",l)}return{hovering:t,binding:{onTouchstartPassive:Kc((function(e){e.touches.length>1||s(e)})),onMousedown:Kc((function(e){r||(s(e),window.addEventListener("mouseup",l))})),onTouchend:Kc((function(){a()})),onMouseup:Kc((function(){r&&l()})),onTouchcancel:Kc((function(){r=!1,t.value=!1,clearTimeout(n)}))}}}function Jc(e,t){return v(t)&&(t=[t]),t.reduce(((t,n)=>(e[n]&&(t[n]=!0),t)),Object.create(null))}const Zc=Jl("uf"),Qc=Jl("ul");function eu(e,t,n){const o=oc();n&&!e||S(t)&&Object.keys(t).forEach((r=>{n?0!==r.indexOf("@")&&0!==r.indexOf("uni-")&&yh.on(`uni-${r}-${o}-${e}`,t[r]):0===r.indexOf("uni-")?yh.on(r,t[r]):e&&yh.on(`uni-${r}-${o}-${e}`,t[r])}))}function tu(e,t,n){const o=oc();n&&!e||S(t)&&Object.keys(t).forEach((r=>{n?0!==r.indexOf("@")&&0!==r.indexOf("uni-")&&yh.off(`uni-${r}-${o}-${e}`,t[r]):0===r.indexOf("uni-")?yh.off(r,t[r]):e&&yh.off(`uni-${r}-${o}-${e}`,t[r])}))}const nu=Uc({name:"Button",props:{id:{type:String,default:""},hoverClass:{type:String,default:"button-hover"},hoverStartTime:{type:[Number,String],default:20},hoverStayTime:{type:[Number,String],default:70},hoverStopPropagation:{type:Boolean,default:!1},disabled:{type:[Boolean,String],default:!1},formType:{type:String,default:""},openType:{type:String,default:""},loading:{type:[Boolean,String],default:!1},plain:{type:[Boolean,String],default:!1}},setup(e,{slots:t}){const n=on(null),o=vr(Zc,!1),{hovering:r,binding:i}=Gc(e),s=Kc(((t,r)=>{if(e.disabled)return t.stopImmediatePropagation();r&&n.value.click();const i=e.formType;if(i){if(!o)return;"submit"===i?o.submit(t):"reset"===i&&o.reset(t)}else;})),a=vr(Qc,!1);return a&&(a.addHandler(s),Ho((()=>{a.removeHandler(s)}))),function(e,t){eu(e.id,t),Zn((()=>e.id),((e,n)=>{tu(n,t,!0),eu(e,t,!0)})),Fo((()=>{tu(e.id,t)}))}(e,{"label-click":s}),()=>{const o=e.hoverClass,a=Jc(e,"disabled"),l=Jc(e,"loading"),c=Jc(e,"plain"),u=o&&"none"!==o;return ni("uni-button",ci({ref:n,onClick:s,id:e.id,class:u&&r.value?o:""},u&&i,a,l,c),[t.default&&t.default()],16,["onClick","id"])}}}),ou=Jl("upm");function ru(){return vr(ou)}function iu(e){const t=function(e){return Ft(function(e){if(history.state){const t=history.state.__type__;"redirectTo"!==t&&"reLaunch"!==t||0!==Af().length||(e.isEntry=!0,e.isQuit=!0)}return e}(JSON.parse(JSON.stringify(cc(tl().meta,e)))))}(e);return mr(ou,t),t}function su(){return tl()}function au(){return history.state&&history.state.__id__||1}const lu=["GET","OPTIONS","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PATCH"];function cu(e,t){return e&&-1!==t.indexOf(e)?e:t[0]}function uu(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}let fu=1;const du={};function pu(e,t,n){if("number"==typeof e){const o=du[e];if(o)return o.keepAlive||delete du[e],o.callback(t,n)}return t}const hu="success",gu="fail",mu="complete";function vu(e,t={},{beforeAll:n,beforeSuccess:o}={}){S(t)||(t={});const{success:r,fail:i,complete:s}=function(e){const t={};for(const n in e){const o=e[n];m(o)&&(t[n]=uu(o),delete e[n])}return t}(t),a=m(r),l=m(i),c=m(s),u=fu++;return function(e,t,n,o=!1){du[e]={name:t,keepAlive:o,callback:n}}(u,e,(u=>{(u=u||{}).errMsg=function(e,t){return e&&-1!==e.indexOf(":fail")?t+e.substring(e.indexOf(":fail")):t+":ok"}(u.errMsg,e),m(n)&&n(u),u.errMsg===e+":ok"?(m(o)&&o(u,t),a&&r(u)):l&&i(u),c&&s(u)})),u}const yu="success",bu="fail",_u="complete",wu={},xu={};function Su(e,t){return function(n){return e(n,t)||n}}function Cu(e,t,n){let o=!1;for(let r=0;re(t),catch(){}}}function Tu(e,t={}){return[yu,bu,_u].forEach((n=>{const o=e[n];if(!p(o))return;const r=t[n];t[n]=function(e){Cu(o,e,t).then((e=>m(r)&&r(e)||e))}})),t}function Eu(e,t){const n=[];p(wu.returnValue)&&n.push(...wu.returnValue);const o=xu[e];return o&&p(o.returnValue)&&n.push(...o.returnValue),n.forEach((e=>{t=e(t)||t})),t}function ku(e){const t=Object.create(null);Object.keys(wu).forEach((e=>{"returnValue"!==e&&(t[e]=wu[e].slice())}));const n=xu[e];return n&&Object.keys(n).forEach((e=>{"returnValue"!==e&&(t[e]=(t[e]||[]).concat(n[e]))})),t}function Ou(e,t,n,o){const r=ku(e);if(r&&Object.keys(r).length){if(p(r.invoke)){return Cu(r.invoke,n).then((n=>t(Tu(ku(e),n),...o)))}return t(Tu(r,n),...o)}return t(n,...o)}function Lu(e,t){return(n={},...o)=>function(e){return!(!S(e)||![hu,gu,mu].find((t=>m(e[t]))))}(n)?Eu(e,Ou(e,t,c({},n),o)):Eu(e,new Promise(((r,i)=>{Ou(e,t,c({},n,{success:r,fail:i}),o)})))}function $u(e,t,n,o={}){const r=t+":fail";let i="";return i=n?0===n.indexOf(r)?n:r+" "+n:r,delete o.errCode,pu(e,c({errMsg:i},o))}function Au(e,t,n,o){if(o&&o.beforeInvoke){const e=o.beforeInvoke(t);if(v(e))return e}const r=function(e,t){const n=e[0];if(!t||!t.formatArgs||!S(t.formatArgs)&&S(n))return;const o=t.formatArgs,r=Object.keys(o);for(let i=0;i{const r=vu(e,n,o),i=Au(0,[n],0,o);return i?$u(r,e,i):t(n,{resolve:t=>function(e,t,n){return pu(e,c(n||{},{errMsg:t+":ok"}))}(r,e,t),reject:(t,n)=>$u(r,e,function(e){return!e||v(e)?e:e.stack?("undefined"!=typeof globalThis&&globalThis.harmonyChannel||console.error(e.message+"\n"+e.stack),e.message):e}(t),n)})}}function Ru(e,t,n,o){return Lu(e,Pu(e,t,0,o))}function Bu(e,t,n,o){return function(e,t,n,o){return(...e)=>{const n=Au(0,e,0,o);if(n)throw new Error(n);return t.apply(null,e)}}(0,t,0,o)}function Nu(e,t,n,o){return Lu(e,function(e,t,n,o){return Pu(e,t,0,o)}(e,t,0,o))}let ju=!1,Iu=0,Mu=0,Vu=960,Hu=375,Fu=750;function Du(){let e,t,n;{const{windowWidth:o,pixelRatio:r,platform:i}=function(){const e=id();return{platform:Gf?"ios":"other",pixelRatio:window.devicePixelRatio,windowWidth:e}}();e=o,t=r,n=i}Iu=e,Mu=t,ju="ios"===n}function Wu(e,t){const n=Number(e);return isNaN(n)?t:n}const qu=Bu(0,((e,t)=>{if(0===Iu&&(Du(),function(){const e=__uniConfig.globalStyle||{};Vu=Wu(e.rpxCalcMaxDeviceWidth,960),Hu=Wu(e.rpxCalcBaseDeviceWidth,375),Fu=Wu(e.rpxCalcBaseDeviceWidth,750)}()),0===(e=Number(e)))return 0;let n=t||Iu;n=e===Fu||n<=Vu?n:Hu;let o=e/750*n;return o<0&&(o=-o),o=Math.floor(o+1e-4),0===o&&(o=1!==Mu&&ju?.5:1),e<0?-o:o})),Uu=Bu(0,(()=>{const e=pp();return e&&e.$vm?e.$vm.$locale:pl().getLocale()})),zu={onUnhandledRejection:[],onPageNotFound:[],onError:[],onShow:[],onHide:[]};const Ku="json",Xu=["text","arraybuffer"],Yu=encodeURIComponent;ArrayBuffer,Boolean;const Gu={formatArgs:{method(e,t){t.method=cu((e||"").toUpperCase(),lu)},data(e,t){t.data=e||""},url(e,t){t.method===lu[0]&&S(t.data)&&Object.keys(t.data).length&&(t.url=function(e,t){let n=e.split("#");const o=n[1]||"";n=n[0].split("?");let r=n[1]||"";e=n[0];const i=r.split("&").filter((e=>e)),s={};i.forEach((e=>{const t=e.split("=");s[t[0]]=t[1]}));for(const a in t)if(d(t,a)){let e=t[a];null==e?e="":S(e)&&(e=JSON.stringify(e)),s[Yu(a)]=Yu(e)}return r=Object.keys(s).map((e=>`${e}=${s[e]}`)).join("&"),e+(r?"?"+r:"")+(o?"#"+o:"")}(e,t.data))},header(e,t){const n=t.header=e||{};t.method!==lu[0]&&(Object.keys(n).find((e=>"content-type"===e.toLowerCase()))||(n["Content-Type"]="application/json"))},dataType(e,t){t.dataType=(e||Ku).toLowerCase()},responseType(e,t){t.responseType=(e||"").toLowerCase(),-1===Xu.indexOf(t.responseType)&&(t.responseType="text")}}};const Ju={url:{type:String,required:!0}},Zu=(nf(["slide-in-right","slide-in-left","slide-in-top","slide-in-bottom","fade-in","zoom-out","zoom-fade-out","pop-in","none"]),nf(["slide-out-right","slide-out-left","slide-out-top","slide-out-bottom","fade-out","zoom-in","zoom-fade-in","pop-out","none"]),sf("navigateTo")),Qu=sf("redirectTo"),ef=sf("reLaunch"),tf={formatArgs:{delta(e,t){e=parseInt(e+"")||1,t.delta=Math.min(Af().length-1,e)}}};function nf(e){return{animationType:{type:String,validator(t){if(t&&-1===e.indexOf(t))return"`"+t+"` is not supported for `animationType` (supported values are: `"+e.join("`|`")+"`)"}},animationDuration:{type:Number}}}let of;function rf(){of=""}function sf(e){return{formatArgs:{url:af(e)},beforeAll:rf}}function af(e){return function(t,n){if(!t)return'Missing required args: "url"';const o=(t=function(e){if(0===e.indexOf("/")||0===e.indexOf("uni:"))return e;let t="";const n=Af();return n.length&&(t=Zl(n[n.length-1]).route),vc(t,e)}(t)).split("?")[0],r=yc(o,!0);if(!r)return"page `"+t+"` is not found";if("navigateTo"===e||"redirectTo"===e){if(r.meta.isTabBar)return`can not ${e} a tabbar page`}else if("switchTab"===e&&!r.meta.isTabBar)return"can not switch to no-tabBar page";if("switchTab"!==e&&"preloadPage"!==e||!r.meta.isTabBar||"appLaunch"===n.openType||(t=o),r.meta.isEntry&&(t=t.replace(r.alias,"/")),n.url=function(e){if(!v(e))return e;const t=e.indexOf("?");if(-1===t)return e;const n=e.slice(t+1).trim().replace(/^(\?|#|&)/,"");if(!n)return e;e=e.slice(0,t);const o=[];return n.split("&").forEach((e=>{const t=e.replace(/\+/g," ").split("="),n=t.shift(),r=t.length>0?t.join("="):"";o.push(n+"="+encodeURIComponent(r))})),o.length?e+"?"+o.join("&"):e}(t),"unPreloadPage"!==e)if("preloadPage"!==e){if(of===t&&"appLaunch"!==n.openType)return`${of} locked`;__uniConfig.ready&&(of=t)}else if(r.meta.isTabBar){const e=Af(),t=r.path.slice(1);if(e.find((e=>e.route===t)))return"tabBar page `"+t+"` already exists"}}}Boolean;const lf={beforeInvoke(){yl()},formatArgs:{title:"",content:"",placeholderText:"",showCancel:!0,editable:!1,cancelText(e,t){if(!d(t,"cancelText")){const{t:e}=pl();t.cancelText=e("uni.showModal.cancel")}},cancelColor:"#000",confirmText(e,t){if(!d(t,"confirmText")){const{t:e}=pl();t.confirmText=e("uni.showModal.confirm")}},confirmColor:"#007aff"}},cf=["success","loading","none","error"],uf=(Boolean,{formatArgs:{title:"",icon(e,t){t.icon=cu(e,cf)},image(e,t){t.image=e?Kf(e):""},duration:1500,mask:!1}});function ff(e,t){return e===t.fullPath||"/"===e&&t.meta.isEntry}function df(){const e=rc();if(!e)return;const t=Cf(e);Rf(jf(t.path,t.id))}const pf=Nu("redirectTo",(({url:e,isAutomatedTesting:t},{resolve:n,reject:o})=>{if(Tf.handledBeforeEntryPageRoutes)return df(),mf({type:"redirectTo",url:e,isAutomatedTesting:t}).then(n).catch(o);Of.push({args:{type:"redirectTo",url:e,isAutomatedTesting:t},resolve:n,reject:o})}),0,Qu);function hf(){const e=$f().keys();for(const t of e)Rf(t)}const gf=Nu("reLaunch",(({url:e,isAutomatedTesting:t},{resolve:n,reject:o})=>{if(Tf.handledBeforeEntryPageRoutes)return hf(),mf({type:"reLaunch",url:e,isAutomatedTesting:t}).then(n).catch(o);Lf.push({args:{type:"reLaunch",url:e,isAutomatedTesting:t},resolve:n,reject:o})}),0,ef);function mf({type:e,url:t,tabBarText:n,events:o,isAutomatedTesting:r},i){const s=pp().$router,{path:a,query:l}=function(e){const[t,n]=e.split("?",2);return{path:t,query:xe(n||"")}}(t);return new Promise(((t,c)=>{const u=function(e,t){return{__id__:t||++Bf,__type__:e}}(e,i);s["navigateTo"===e?"push":"replace"]({path:a,query:l,state:u,force:!0}).then((i=>{if(wa(i))return c(i.message);if("switchTab"===e&&(s.currentRoute.value.meta.tabBarText=n),"navigateTo"===e){const e=s.currentRoute.value.meta;return e.eventChannel?o&&(Object.keys(o).forEach((t=>{e.eventChannel._addListener(t,"on",o[t])})),e.eventChannel._clearCache()):e.eventChannel=new Ce(u.__id__,o),t(r?{__id__:u.__id__}:{eventChannel:e.eventChannel})}return r?t({__id__:u.__id__}):t()}))}))}function vf(){if(Tf.handledBeforeEntryPageRoutes)return;Tf.handledBeforeEntryPageRoutes=!0;const e=[...Ef];Ef.length=0,e.forEach((({args:e,resolve:t,reject:n})=>mf(e).then(t).catch(n)));const t=[...kf];kf.length=0,t.forEach((({args:e,resolve:t,reject:n})=>(function(){const e=ac();if(!e)return;const t=$f(),n=t.keys();for(const o of n){const e=t.get(o);e.$.__isTabBar?e.$.__isActive=!1:Rf(o)}e.$.__isTabBar&&(e.$.__isVisible=!1,dc(e,"onHide"))}(),mf(e,function(e){const t=$f().values();for(const n of t){const t=Cf(n);if(ff(e,t))return n.$.__isActive=!0,t.id}}(e.url)).then(t).catch(n))));const n=[...Of];Of.length=0,n.forEach((({args:e,resolve:t,reject:n})=>(df(),mf(e).then(t).catch(n))));const o=[...Lf];Lf.length=0,o.forEach((({args:e,resolve:t,reject:n})=>(hf(),mf(e).then(t).catch(n))))}function yf(e){const t=window.CSS&&window.CSS.supports;return t&&(t(e)||t.apply(window.CSS,e.split(":")))}const bf=yf("top:env(a)"),_f=yf("top:constant(a)"),wf=(()=>bf?"env":_f?"constant":"")();function xf(e){var t,n;Gl({"--window-top":(n=0,wf?`calc(${n}px + ${wf}(safe-area-inset-top))`:`${n}px`),"--window-bottom":(t=0,wf?`calc(${t}px + ${wf}(safe-area-inset-bottom))`:`${t}px`)})}const Sf=new Map;function Cf(e){return e.$page}const Tf={handledBeforeEntryPageRoutes:!1},Ef=[],kf=[],Of=[],Lf=[];function $f(){return Sf}function Af(){return Pf()}function Pf(){const e=[],t=Sf.values();for(const n of t)n.$.__isTabBar?n.$.__isActive&&e.push(n):e.push(n);return e}function Rf(e,t=!0){const n=Sf.get(e);n.$.__isUnload=!0,dc(n,"onUnload"),Sf.delete(e),t&&function(e){const t=If.get(e);t&&(If.delete(e),Mf.pruneCacheEntry(t))}(e)}let Bf=au();function Nf(e){const t=function(e){const t=ru();let n=e.fullPath;return e.meta.isEntry&&-1===n.indexOf(e.meta.route)&&(n="/"+e.meta.route+n.replace("/","")),uc("navigateTo",n,{},t)}(e.$route);!function(e,t){e.route=t.route,e.$vm=e,e.$page=t,e.$mpType="page",e.$fontFamilySet=new Set,t.meta.isTabBar&&(e.$.__isTabBar=!0,e.$.__isActive=!0)}(e,t),Sf.set(jf(t.path,t.id),e),1===Sf.size&&setTimeout((()=>{vf()}),0)}function jf(e,t){return e+"$$"+t}const If=new Map,Mf={get:e=>If.get(e),set(e,t){!function(e){const t=parseInt(e.split("$$")[1]);if(!t)return;Mf.forEach(((e,n)=>{const o=parseInt(n.split("$$")[1]);o&&o>t&&(Mf.delete(n),Mf.pruneCacheEntry(e),Sn((()=>{Sf.forEach(((e,t)=>{e.$.isUnmounted&&Sf.delete(t)}))})))}))}(e),If.set(e,t)},delete(e){If.get(e)&&If.delete(e)},forEach(e){If.forEach(e)}};function Vf(e,t){!function(e){const t=Ff(e),{body:n}=document;Df&&n.removeAttribute(Df),t&&n.setAttribute(t,""),Df=t}(e),xf(),function(e){{const t="nvue-dir-"+__uniConfig.nvue["flex-direction"];e.isNVue?(document.body.setAttribute("nvue",""),document.body.setAttribute(t,"")):(document.body.removeAttribute("nvue"),document.body.removeAttribute(t))}}(t),Uf(e,t)}function Hf(e){const t=Ff(e);t&&function(e){const t=document.querySelector("uni-page-body");t&&t.setAttribute(e,"")}(t)}function Ff(e){return e.type.__scopeId}let Df;const Wf=!!(()=>{let e=!1;try{const t={};Object.defineProperty(t,"passive",{get(){e=!0}}),window.addEventListener("test-passive",(()=>{}),t)}catch(t){}return e})()&&{passive:!1};let qf;function Uf(e,t){if(document.removeEventListener("touchmove",pc),qf&&document.removeEventListener("scroll",qf),t.disableScroll)return document.addEventListener("touchmove",pc,Wf);const{onPageScroll:n,onReachBottom:o}=e,r="transparent"===t.navigationBar.type;if(!(null==n?void 0:n.length)&&!(null==o?void 0:o.length)&&!r)return;const i={},s=Cf(e.proxy).id;(n||r)&&(i.onPageScroll=function(e,t,n){return o=>{t&&yh.publishHandler("onPageScroll",{scrollTop:o},e),n&&yh.emit(e+".onPageScroll",{scrollTop:o})}}(s,n,r)),(null==o?void 0:o.length)&&(i.onReachBottomDistance=t.onReachBottomDistance||50,i.onReachBottom=()=>yh.publishHandler("onReachBottom",{},s)),qf=mc(i),requestAnimationFrame((()=>document.addEventListener("scroll",qf)))}function zf(e){const{base:t}=__uniConfig.router;return 0===fe(e).indexOf(t)?fe(e):t+e}function Kf(e){const{base:t,assets:n}=__uniConfig.router;if("./"===t&&(0!==e.indexOf("./")||!e.includes("/static/")&&0!==e.indexOf("./"+(n||"assets")+"/")||(e=e.slice(1))),0===e.indexOf("/")){if(0!==e.indexOf("//"))return zf(e.slice(1));e="https:"+e}if(te.test(e)||ne.test(e)||0===e.indexOf("blob:"))return e;const o=Pf();return o.length?zf(vc(Cf(o[o.length-1]).route,e).slice(1)):e}const Xf=navigator.userAgent,Yf=/android/i.test(Xf),Gf=/iphone|ipad|ipod/i.test(Xf),Jf=Xf.match(/Windows NT ([\d|\d.\d]*)/i),Zf=/Macintosh|Mac/i.test(Xf),Qf=/Linux|X11/i.test(Xf),ed=Zf&&navigator.maxTouchPoints>0,td=/OpenHarmony/i.test(Xf);function nd(){return/^Apple/.test(navigator.vendor)&&"number"==typeof window.orientation}function od(e){return e&&90===Math.abs(window.orientation)}function rd(e,t){return e?Math[t?"max":"min"](screen.width,screen.height):screen.width}function id(){const e=nd();if(e){const t=rd(e,od(e));return Math.min(window.innerWidth,document.documentElement.clientWidth,t)||t}return Math.min(window.innerWidth,document.documentElement.clientWidth)}const sd=Fc(),ad=Fc();const ld=Uc({name:"ResizeSensor",props:{initial:{type:Boolean,default:!1}},emits:["resize"],setup(e,{emit:t}){const n=on(null),o=function(e){return()=>{const{firstElementChild:t,lastElementChild:n}=e.value;t.scrollLeft=1e5,t.scrollTop=1e5,n.scrollLeft=1e5,n.scrollTop=1e5}}(n),r=function(e,t,n){const o=Ft({width:-1,height:-1});return Zn((()=>c({},o)),(e=>t("resize",e))),()=>{const t=e.value;t&&(o.width=t.offsetWidth,o.height=t.offsetHeight,n())}}(n,t,o);return function(e,t,n,o){Eo(o),Io((()=>{t.initial&&Sn(n);const r=e.value;r.offsetParent!==r.parentElement&&(r.parentElement.style.position="relative"),"AnimationEvent"in window||o()}))}(n,e,r,o),()=>ni("uni-resize-sensor",{ref:n,onAnimationstartOnce:r},[ni("div",{onScroll:r},[ni("div",null,null)],40,["onScroll"]),ni("div",{onScroll:r},[ni("div",null,null)],40,["onScroll"])],40,["onAnimationstartOnce"])}});function cd(){}const ud={cursorSpacing:{type:[Number,String],default:0},showConfirmBar:{type:[Boolean,String],default:"auto"},adjustPosition:{type:[Boolean,String],default:!0},autoBlur:{type:[Boolean,String],default:!1}};function fd(e,t,n){function o(e){const t=Ti((()=>0===String(navigator.vendor).indexOf("Apple")));e.addEventListener("focus",(()=>{clearTimeout(undefined),document.addEventListener("click",cd,!1)}));e.addEventListener("blur",(()=>{t.value&&e.blur(),document.removeEventListener("click",cd,!1),t.value&&document.documentElement.scrollTo(document.documentElement.scrollLeft,document.documentElement.scrollTop)}))}Zn((()=>t.value),(e=>e&&o(e)))}const dd={src:{type:String,default:""},mode:{type:String,default:"scaleToFill"},lazyLoad:{type:[Boolean,String],default:!1},draggable:{type:Boolean,default:!1}},pd={widthFix:["offsetWidth","height",(e,t)=>e/t],heightFix:["offsetHeight","width",(e,t)=>e*t]},hd={aspectFit:["center center","contain"],aspectFill:["center center","cover"],widthFix:[,"100% 100%"],heightFix:[,"100% 100%"],top:["center top"],bottom:["center bottom"],center:["center center"],left:["left center"],right:["right center"],"top left":["left top"],"top right":["right top"],"bottom left":["left bottom"],"bottom right":["right bottom"]},gd=Uc({name:"Image",props:dd,setup(e,{emit:t}){const n=on(null),o=function(e,t){const n=on(""),o=Ti((()=>{let e="auto",o="";const r=hd[t.mode];return r?(r[0]&&(o=r[0]),r[1]&&(e=r[1])):(o="0% 0%",e="100% 100%"),`background-image:${n.value?'url("'+n.value+'")':"none"};background-position:${o};background-size:${e};`})),r=Ft({rootEl:e,src:Ti((()=>t.src?Kf(t.src):"")),origWidth:0,origHeight:0,origStyle:{width:"",height:""},modeStyle:o,imgSrc:n});return Io((()=>{const t=e.value;r.origWidth=t.clientWidth||0,r.origHeight=t.clientHeight||0})),r}(n,e),r=Xc(n,t),{fixSize:i}=function(e,t,n){const o=()=>{const{mode:o}=t,r=pd[o];if(!r)return;const{origWidth:i,origHeight:s}=n,a=i&&s?i/s:0;if(!a)return;const l=e.value,c=l[r[0]];c&&(l.style[r[1]]=function(e){md&&e>10&&(e=2*Math.round(e/2));return e}(r[2](c,a))+"px")},r=()=>{const{style:t}=e.value,{origStyle:{width:o,height:r}}=n;t.width=o,t.height=r};return Zn((()=>t.mode),((e,t)=>{pd[t]&&r(),pd[e]&&o()})),{fixSize:o,resetSize:r}}(n,e,o);return function(e,t,n,o,r){let i,s;const a=(t=0,n=0,o="")=>{e.origWidth=t,e.origHeight=n,e.imgSrc=o},l=l=>{if(!l)return c(),void a();i=i||new Image,i.onload=e=>{const{width:u,height:f}=i;a(u,f,l),Sn((()=>{o()})),i.draggable=t.draggable,s&&s.remove(),s=i,n.value.appendChild(i),c(),r("load",e,{width:u,height:f})},i.onerror=t=>{a(),c(),r("error",t,{errMsg:`GET ${e.src} 404 (Not Found)`})},i.src=l},c=()=>{i&&(i.onload=null,i.onerror=null,i=null)};Zn((()=>e.src),(e=>l(e))),Zn((()=>e.imgSrc),(e=>{!e&&s&&(s.remove(),s=null)})),Io((()=>l(e.src))),Ho((()=>c()))}(o,e,n,i,r),()=>ni("uni-image",{ref:n},[ni("div",{style:o.modeStyle},null,4),pd[e.mode]?ni(ld,{onResize:i},null,8,["onResize"]):ni("span",null,null)],512)}});const md="Google Inc."===navigator.vendor;const vd=ve(!0),yd=[];let bd=0,_d=!1;const wd=e=>yd.forEach((t=>t.userAction=e));function xd(){const e=Ft({userAction:!1});return Io((()=>{!function(e={userAction:!1}){_d||(["touchstart","touchmove","touchend","mousedown","mouseup"].forEach((e=>{document.addEventListener(e,(function(){!bd&&wd(!0),bd++,setTimeout((()=>{!--bd&&wd(!1)}),0)}),vd)})),_d=!0);yd.push(e)}(e)})),Ho((()=>{!function(e){const t=yd.indexOf(e);t>=0&&yd.splice(t,1)}(e)})),{state:e}}function Sd(e,t){const n=document.activeElement;if(!n)return t({});const o={};["input","textarea"].includes(n.tagName.toLowerCase())&&(o.start=n.selectionStart,o.end=n.selectionEnd),t(o)}const Cd=function(){var e,t,n;e=sc(),n=Sd,t=xl(e,t="getSelectedTextRange"),wl[t]||(wl[t]=n)};function Td(e,t,n){"number"===t&&isNaN(Number(e))&&(e="");return null==e?"":String(e)}const Ed=["none","text","decimal","numeric","tel","search","email","url"],kd=c({},{name:{type:String,default:""},modelValue:{type:[String,Number]},value:{type:[String,Number]},disabled:{type:[Boolean,String],default:!1},autoFocus:{type:[Boolean,String],default:!1},focus:{type:[Boolean,String],default:!1},cursor:{type:[Number,String],default:-1},selectionStart:{type:[Number,String],default:-1},selectionEnd:{type:[Number,String],default:-1},type:{type:String,default:"text"},password:{type:[Boolean,String],default:!1},placeholder:{type:String,default:""},placeholderStyle:{type:String,default:""},placeholderClass:{type:String,default:""},maxlength:{type:[Number,String],default:140},confirmType:{type:String,default:"done"},confirmHold:{type:Boolean,default:!1},ignoreCompositionEvent:{type:Boolean,default:!0},step:{type:String,default:"0.000000000000000001"},inputmode:{type:String,default:void 0,validator:e=>!!~Ed.indexOf(e)},cursorColor:{type:String,default:""}},ud),Od=["input","focus","blur","update:value","update:modelValue","update:focus","compositionstart","compositionupdate","compositionend","keyboardheightchange"];function Ld(e,t,n,o,r){let i=null,s=null;s=Se((n=>{const o=r.value,s=Td(n,e.type);o&&document.activeElement===o&&s===i||(t.value=s)}),100,{setTimeout:setTimeout,clearTimeout:clearTimeout}),Zn((()=>e.modelValue),s),Zn((()=>e.value),s);const a=function(e,t){let n,o,r=0;const i=function(...i){const s=Date.now();clearTimeout(n),o=()=>{o=null,r=s,e.apply(this,i)},s-r{s.cancel(),n("update:modelValue",t.value),n("update:value",t.value),o("input",e,t)}),100);return jo((()=>{s.cancel(),a.cancel()})),{trigger:o,triggerInput:(e,t,n)=>{s.cancel(),i=t.value,a(e,t),n&&a.flush()}}}function $d(e,t){xd();const n=Ti((()=>e.autoFocus||e.focus));function o(){if(!n.value)return;const e=t.value;e?e.focus():setTimeout(o,100)}Zn((()=>e.focus),(e=>{e?o():function(){const e=t.value;e&&e.blur()}()})),Io((()=>{n.value&&Sn(o)}))}function Ad(e,t,n,o){Cd();const{fieldRef:r,state:i,trigger:s}=function(e,t,n){const o=on(null),r=Xc(t,n),i=Ti((()=>{const t=Number(e.selectionStart);return isNaN(t)?-1:t})),s=Ti((()=>{const t=Number(e.selectionEnd);return isNaN(t)?-1:t})),a=Ti((()=>{const t=Number(e.cursor);return isNaN(t)?-1:t})),l=Ti((()=>{var t=Number(e.maxlength);return isNaN(t)?140:t}));let c="";c=Td(e.modelValue,e.type)||Td(e.value,e.type);const u=Ft({value:c,valueOrigin:c,maxlength:l,focus:e.focus,composing:!1,selectionStart:i,selectionEnd:s,cursor:a});return Zn((()=>u.focus),(e=>n("update:focus",e))),Zn((()=>u.maxlength),(e=>u.value=u.value.slice(0,e)),{immediate:!1}),{fieldRef:o,state:u,trigger:r}}(e,t,n),{triggerInput:a}=Ld(e,i,n,s,r);$d(e,r),fd(0,r);const{state:l}=function(){const e=Ft({attrs:{}});return Io((()=>{let t=hi();for(;t;){const n=t.type.__scopeId;n&&(e.attrs[n]=""),t=t.proxy&&"page"===t.proxy.$mpType?null:t.parent}})),{state:e}}();!function(e,t){const n=vr(Zc,!1);if(!n)return;const o=hi(),r={submit(){const n=o.proxy;return[n[e],v(t)?n[t]:t.value]},reset(){v(t)?o.proxy[t]="":t.value=""}};n.addField(r),Ho((()=>{n.removeField(r)}))}("name",i),function(e,t,n,o,r,i){function s(){const n=e.value;n&&t.focus&&t.selectionStart>-1&&t.selectionEnd>-1&&"number"!==n.type&&(n.selectionStart=t.selectionStart,n.selectionEnd=t.selectionEnd)}function a(){const n=e.value;n&&t.focus&&t.selectionStart<0&&t.selectionEnd<0&&t.cursor>-1&&"number"!==n.type&&(n.selectionEnd=n.selectionStart=t.cursor)}function l(e){return"number"===e.type?null:e.selectionEnd}Zn([()=>t.selectionStart,()=>t.selectionEnd],s),Zn((()=>t.cursor),a),Zn((()=>e.value),(function(){const c=e.value;if(!c)return;const u=function(e,o){e.stopPropagation(),m(i)&&!1===i(e,t)||(t.value=c.value,t.composing&&n.ignoreCompositionEvent||r(e,{value:c.value,cursor:l(c)},o))};function f(e){n.ignoreCompositionEvent||o(e.type,e,{value:e.data})}c.addEventListener("change",(e=>e.stopPropagation())),c.addEventListener("focus",(function(e){t.focus=!0,o("focus",e,{value:t.value}),s(),a()})),c.addEventListener("blur",(function(e){t.composing&&(t.composing=!1,u(e,!0)),t.focus=!1,o("blur",e,{value:t.value,cursor:l(e.target)})})),c.addEventListener("input",u),c.addEventListener("compositionstart",(e=>{e.stopPropagation(),t.composing=!0,f(e)})),c.addEventListener("compositionend",(e=>{e.stopPropagation(),t.composing&&(t.composing=!1,u(e)),f(e)})),c.addEventListener("compositionupdate",f)}))}(r,i,e,s,a,o);return{fieldRef:r,state:i,scopedAttrsState:l,fixDisabledColor:0===String(navigator.vendor).indexOf("Apple")&&CSS.supports("image-orientation:from-image"),trigger:s}}const Pd=de((()=>{{const e=navigator.userAgent;let t="";const n=e.match(/OS\s([\w_]+)\slike/);if(n)t=n[1].replace(/_/g,".");else if(/Macintosh|Mac/i.test(e)&&navigator.maxTouchPoints>0){const n=e.match(/Version\/(\S*)\b/);n&&(t=n[1])}return!!t&&parseInt(t)>=16&&parseFloat(t)<17.2}}));function Rd(e,t,n,o,r){if(t.value)if("."===e.data){if("."===t.value.slice(-1))return n.value=o.value=t.value=t.value.slice(0,-1),!1;if(t.value&&!t.value.includes(".")&&t.value===o.value)return t.value+=".",r&&(r.fn=()=>{n.value=o.value=t.value=t.value.slice(0,-1),o.removeEventListener("blur",r.fn)},o.addEventListener("blur",r.fn)),!1}else if("deleteContentBackward"===e.inputType&&Pd()&&"."===t.value.slice(-2,-1))return t.value=n.value=o.value=t.value.slice(0,-2),!0}function Bd(e){return"insertFromPaste"===e.inputType}const Nd=Uc({name:"Input",props:c({},kd,{placeholderClass:{type:String,default:"input-placeholder"},textContentType:{type:String,default:""}}),emits:["confirm",...Od],setup(e,{emit:t,expose:n}){const o=["text","number","idcard","digit","password","tel"],r=["off","one-time-code"],i=Ti((()=>{let t="";switch(e.type){case"text":t="text","search"===e.confirmType&&(t="search");break;case"idcard":case"none":t="text";break;case"digit":t="number";break;default:t=o.includes(e.type)?e.type:"text"}return e.password?"password":t})),s=Ti((()=>{const t=r.indexOf(e.textContentType),n=r.indexOf($(e.textContentType));return r[-1!==t?t:-1!==n?n:0]})),a=Ti((()=>{if(void 0!==e.inputmode)return e.inputmode;if(Ed.includes(e.type))return e.type;return{number:"numeric",digit:"decimal",idcard:"text"}[e.type]}));let l=function(e,t){if("number"===t.value){const t=void 0===e.modelValue?e.value:e.modelValue,n=on(null!=t?t.toLocaleString():"");return Zn((()=>e.modelValue),(e=>{n.value=null!=e?e.toLocaleString():""})),Zn((()=>e.value),(e=>{n.value=null!=e?e.toLocaleString():""})),n}return on("")}(e,i),c={fn:null};const u=on(null),{fieldRef:f,state:d,scopedAttrsState:p,fixDisabledColor:h,trigger:g}=Ad(e,u,t,((e,t)=>{const n=e.target;if("number"===i.value){if(c.fn&&(n.removeEventListener("blur",c.fn),c.fn=null),n.validity&&!n.validity.valid){if((!l.value||!n.value)&&"-"===e.data||"-"===l.value[0]&&"deleteContentBackward"===e.inputType)return l.value="-",t.value="",c.fn=()=>{l.value=n.value=""},n.addEventListener("blur",c.fn),!1;const o=Rd(e,l,t,n,c);return"boolean"==typeof o?o:(l.value=t.value=n.value="-"===l.value?"":l.value,!1)}{const o=Rd(e,l,t,n,c);if("boolean"==typeof o)return o;l.value=n.value}if(t.maxlength>0&&n.value.length>t.maxlength&&!Bd(e))return n.value=l.value=t.value,!1}}));Zn((()=>d.value),(t=>{"number"!==e.type||"-"===l.value&&""===t||(l.value=t.toString())})),Zn((()=>e.maxlength),(e=>{e=parseInt(e,10);const t=d.value.slice(0,e);t!==d.value&&(d.value=t)}));const m=["number","digit"],v=Ti((()=>m.includes(e.type)?e.step:""));function y(t){if("Enter"!==t.key)return;const n=t.target;t.stopPropagation(),g("confirm",t,{value:n.value}),!e.confirmHold&&n.blur()}return n({$triggerInput:e=>{t("update:modelValue",e.value),t("update:value",e.value),d.value=e.value}}),()=>{let t=e.disabled&&h?ni("input",{key:"disabled-input",ref:f,value:d.value,tabindex:"-1",readonly:!!e.disabled,type:i.value,maxlength:d.maxlength,step:v.value,class:"uni-input-input",style:e.cursorColor?{caretColor:e.cursorColor}:{},inputmode:a.value,onFocus:e=>e.target.blur()},null,44,["value","readonly","type","maxlength","step","inputmode","onFocus"]):ni("input",{key:"input",ref:f,value:d.value,onInput:bs((e=>{const t=e.target.value.toString();"number"===i.value&&d.maxlength>0&&t.length>d.maxlength?Bd(e)&&(d.value=t.slice(0,d.maxlength)):0===t.length&&"insertText"===e.inputType&&"."===e.data||(d.value=t)}),["stop"]),disabled:!!e.disabled,type:i.value,maxlength:d.maxlength,step:v.value,enterkeyhint:e.confirmType,pattern:"number"===e.type?"[0-9]*":void 0,class:"uni-input-input",style:e.cursorColor?{caretColor:e.cursorColor}:{},autocomplete:s.value,onKeyup:y,inputmode:a.value},null,44,["value","onInput","disabled","type","maxlength","step","enterkeyhint","pattern","autocomplete","onKeyup","inputmode"]);return ni("uni-input",{ref:u},[ni("div",{class:"uni-input-wrapper"},[oo(ni("div",ci(p.attrs,{style:e.placeholderStyle,class:["uni-input-placeholder",e.placeholderClass]}),[e.placeholder],16),[[Ki,!(d.value.length||"-"===l.value||l.value.includes("."))]]),"search"===e.confirmType?ni("form",{action:"",onSubmit:e=>e.preventDefault(),class:"uni-input-form"},[t],40,["onSubmit"]):t])],512)}}}),jd=Uc({name:"Refresher",props:{refreshState:{type:String,default:""},refresherHeight:{type:Number,default:0},refresherThreshold:{type:Number,default:45},refresherDefaultStyle:{type:String,default:"black"},refresherBackground:{type:String,default:"#fff"}},setup(e,{slots:t}){const n=on(null),o=Ti((()=>{const t={backgroundColor:e.refresherBackground};switch(e.refreshState){case"pulling":t.height=e.refresherHeight+"px";break;case"refreshing":t.height=e.refresherThreshold+"px",t.transition="height 0.3s";break;case"":case"refresherabort":case"restore":t.height="0px",t.transition="height 0.3s"}return t})),r=Ti((()=>{const t=e.refresherHeight/e.refresherThreshold;return 360*(t>1?1:t)}));return()=>{const{refreshState:i,refresherDefaultStyle:s,refresherThreshold:a}=e;return ni("div",{ref:n,style:o.value,class:"uni-scroll-view-refresher"},["none"!==s?ni("div",{class:"uni-scroll-view-refresh"},[ni("div",{class:"uni-scroll-view-refresh-inner"},["pulling"==i?ni("svg",{key:"refresh__icon",style:{transform:"rotate("+r.value+"deg)"},fill:"#2BD009",class:"uni-scroll-view-refresh__icon",width:"24",height:"24",viewBox:"0 0 24 24"},[ni("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},null),ni("path",{d:"M0 0h24v24H0z",fill:"none"},null)],4):null,"refreshing"==i?ni("svg",{key:"refresh__spinner",class:"uni-scroll-view-refresh__spinner",width:"24",height:"24",viewBox:"25 25 50 50"},[ni("circle",{cx:"50",cy:"50",r:"20",fill:"none",style:"color: #2bd009","stroke-width":"3"},null)]):null])]):null,"none"===s?ni("div",{class:"uni-scroll-view-refresher-container",style:{height:`${a}px`}},[t.default&&t.default()]):null],4)}}}),Id=ve(!0),Md=Uc({name:"ScrollView",compatConfig:{MODE:3},props:{direction:{type:[String],default:"vertical"},scrollX:{type:[Boolean,String],default:!1},scrollY:{type:[Boolean,String],default:!1},showScrollbar:{type:[Boolean,String],default:!0},upperThreshold:{type:[Number,String],default:50},lowerThreshold:{type:[Number,String],default:50},scrollTop:{type:[Number,String],default:0},scrollLeft:{type:[Number,String],default:0},scrollIntoView:{type:String,default:""},scrollWithAnimation:{type:[Boolean,String],default:!1},enableBackToTop:{type:[Boolean,String],default:!1},refresherEnabled:{type:[Boolean,String],default:!1},refresherThreshold:{type:Number,default:45},refresherDefaultStyle:{type:String,default:"black"},refresherBackground:{type:String,default:"#fff"},refresherTriggered:{type:[Boolean,String],default:!1}},emits:["scroll","scrolltoupper","scrolltolower","refresherrefresh","refresherrestore","refresherpulling","refresherabort","update:refresherTriggered"],setup(e,{emit:t,slots:n,expose:o}){const r=on(null),i=on(null),s=on(null),a=on(null),l=Xc(r,t),{state:c,scrollTopNumber:u,scrollLeftNumber:f}=function(e){const t=Ti((()=>Number(e.scrollTop)||0)),n=Ti((()=>Number(e.scrollLeft)||0));return{state:Ft({lastScrollTop:t.value,lastScrollLeft:n.value,lastScrollToUpperTime:0,lastScrollToLowerTime:0,refresherHeight:0,refreshState:""}),scrollTopNumber:t,scrollLeftNumber:n}}(e),{realScrollX:d,realScrollY:p,_scrollLeftChanged:h,_scrollTopChanged:g}=function(e,t,n,o,r,i,s,a,l){let c=!1,u=0,f=!1,d=()=>{};const p=Ti((()=>e.scrollX)),h=Ti((()=>e.scrollY)),g=Ti((()=>{let t=Number(e.upperThreshold);return isNaN(t)?50:t})),m=Ti((()=>{let t=Number(e.lowerThreshold);return isNaN(t)?50:t}));function v(e,t){const n=s.value;let o=0,r="";if(e<0?e=0:"x"===t&&e>n.scrollWidth-n.offsetWidth?e=n.scrollWidth-n.offsetWidth:"y"===t&&e>n.scrollHeight-n.offsetHeight&&(e=n.scrollHeight-n.offsetHeight),"x"===t?o=n.scrollLeft-e:"y"===t&&(o=n.scrollTop-e),0===o)return;let i=a.value;i.style.transition="transform .3s ease-out",i.style.webkitTransition="-webkit-transform .3s ease-out","x"===t?r="translateX("+o+"px) translateZ(0)":"y"===t&&(r="translateY("+o+"px) translateZ(0)"),i.removeEventListener("transitionend",d),i.removeEventListener("webkitTransitionEnd",d),d=()=>x(e,t),i.addEventListener("transitionend",d),i.addEventListener("webkitTransitionEnd",d),"x"===t?n.style.overflowX="hidden":"y"===t&&(n.style.overflowY="hidden"),i.style.transform=r,i.style.webkitTransform=r}function y(e){const n=e.target;r("scroll",e,{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop,scrollHeight:n.scrollHeight,scrollWidth:n.scrollWidth,deltaX:t.lastScrollLeft-n.scrollLeft,deltaY:t.lastScrollTop-n.scrollTop}),h.value&&(n.scrollTop<=g.value&&t.lastScrollTop-n.scrollTop>0&&e.timeStamp-t.lastScrollToUpperTime>200&&(r("scrolltoupper",e,{direction:"top"}),t.lastScrollToUpperTime=e.timeStamp),n.scrollTop+n.offsetHeight+m.value>=n.scrollHeight&&t.lastScrollTop-n.scrollTop<0&&e.timeStamp-t.lastScrollToLowerTime>200&&(r("scrolltolower",e,{direction:"bottom"}),t.lastScrollToLowerTime=e.timeStamp)),p.value&&(n.scrollLeft<=g.value&&t.lastScrollLeft-n.scrollLeft>0&&e.timeStamp-t.lastScrollToUpperTime>200&&(r("scrolltoupper",e,{direction:"left"}),t.lastScrollToUpperTime=e.timeStamp),n.scrollLeft+n.offsetWidth+m.value>=n.scrollWidth&&t.lastScrollLeft-n.scrollLeft<0&&e.timeStamp-t.lastScrollToLowerTime>200&&(r("scrolltolower",e,{direction:"right"}),t.lastScrollToLowerTime=e.timeStamp)),t.lastScrollTop=n.scrollTop,t.lastScrollLeft=n.scrollLeft}function b(t){h.value&&(e.scrollWithAnimation?v(t,"y"):s.value.scrollTop=t)}function _(t){p.value&&(e.scrollWithAnimation?v(t,"x"):s.value.scrollLeft=t)}function w(t){if(t){if(!/^[_a-zA-Z][-_a-zA-Z0-9:]*$/.test(t))return void console.error(`id error: scroll-into-view=${t}`);let n=i.value.querySelector("#"+t);if(n){let t=s.value.getBoundingClientRect(),o=n.getBoundingClientRect();if(p.value){let n=o.left-t.left,r=s.value.scrollLeft+n;e.scrollWithAnimation?v(r,"x"):s.value.scrollLeft=r}if(h.value){let n=o.top-t.top,r=s.value.scrollTop+n;e.scrollWithAnimation?v(r,"y"):s.value.scrollTop=r}}}}function x(e,t){a.value.style.transition="",a.value.style.webkitTransition="",a.value.style.transform="",a.value.style.webkitTransform="";let n=s.value;"x"===t?(n.style.overflowX=p.value?"auto":"hidden",n.scrollLeft=e):"y"===t&&(n.style.overflowY=h.value?"auto":"hidden",n.scrollTop=e),a.value.removeEventListener("transitionend",d),a.value.removeEventListener("webkitTransitionEnd",d)}function S(n){if(e.refresherEnabled){switch(n){case"refreshing":t.refresherHeight=e.refresherThreshold,c||(c=!0,r("refresherpulling",{},{deltaY:t.refresherHeight,dy:t.refresherHeight}),r("refresherrefresh",{},{dy:T.y-C.y}),l("update:refresherTriggered",!0));break;case"restore":case"refresherabort":c=!1,t.refresherHeight=u=0,"restore"===n&&(f=!1,r("refresherrestore",{},{dy:T.y-C.y})),"refresherabort"===n&&f&&(f=!1,r("refresherabort",{},{dy:T.y-C.y}))}t.refreshState=n}}let C={x:0,y:0},T={x:0,y:e.refresherThreshold};return Io((()=>{Sn((()=>{b(n.value),_(o.value)})),w(e.scrollIntoView);let i=function(e){e.preventDefault(),e.stopPropagation(),y(e)},a=null,l=function(n){if(null===C)return;let o=n.touches[0].pageX,i=n.touches[0].pageY,l=s.value;if(Math.abs(o-C.x)>Math.abs(i-C.y))if(p.value){if(0===l.scrollLeft&&o>C.x)return void(a=!1);if(l.scrollWidth===l.offsetWidth+l.scrollLeft&&oC.y)a=!1,e.refresherEnabled&&!1!==n.cancelable&&n.preventDefault();else{if(l.scrollHeight===l.offsetHeight+l.scrollTop&&i0&&(f=!0,r("refresherpulling",n,{deltaY:o,dy:o})))}},d=function(e){1===e.touches.length&&(C={x:e.touches[0].pageX,y:e.touches[0].pageY})},g=function(n){T={x:n.changedTouches[0].pageX,y:n.changedTouches[0].pageY},t.refresherHeight>=e.refresherThreshold?S("refreshing"):S("refresherabort"),C={x:0,y:0},T={x:0,y:e.refresherThreshold}};s.value.addEventListener("touchstart",d,Id),s.value.addEventListener("touchmove",l,ve(!1)),s.value.addEventListener("scroll",i,ve(!1)),s.value.addEventListener("touchend",g,Id),Ho((()=>{s.value.removeEventListener("touchstart",d),s.value.removeEventListener("touchmove",l),s.value.removeEventListener("scroll",i),s.value.removeEventListener("touchend",g)}))})),Eo((()=>{h.value&&(s.value.scrollTop=t.lastScrollTop),p.value&&(s.value.scrollLeft=t.lastScrollLeft)})),Zn(n,(e=>{b(e)})),Zn(o,(e=>{_(e)})),Zn((()=>e.scrollIntoView),(e=>{w(e)})),Zn((()=>e.refresherTriggered),(e=>{!0===e?S("refreshing"):!1===e&&S("restore")})),{realScrollX:p,realScrollY:h,_scrollTopChanged:b,_scrollLeftChanged:_}}(e,c,u,f,l,r,i,a,t),m=Ti((()=>{let e="";return d.value?e+="overflow-x:auto;":e+="overflow-x:hidden;",p.value?e+="overflow-y:auto;":e+="overflow-y:hidden;",e})),v=Ti((()=>{let t="uni-scroll-view";return!1===e.showScrollbar&&(t+=" uni-scroll-view-scrollbar-hidden"),t}));return o({$getMain:()=>i.value}),()=>{const{refresherEnabled:t,refresherBackground:o,refresherDefaultStyle:l,refresherThreshold:u}=e,{refresherHeight:f,refreshState:d}=c;return ni("uni-scroll-view",{ref:r},[ni("div",{ref:s,class:"uni-scroll-view"},[ni("div",{ref:i,style:m.value,class:v.value},[t?ni(jd,{refreshState:d,refresherHeight:f,refresherThreshold:u,refresherDefaultStyle:l,refresherBackground:o},{default:()=>["none"==l?n.refresher&&n.refresher():null]},8,["refreshState","refresherHeight","refresherThreshold","refresherDefaultStyle","refresherBackground"]):null,ni("div",{ref:a,class:"uni-scroll-view-content"},[n.default&&n.default()],512)],6)],512)],512)}}});const Vd={ensp:" ",emsp:" ",nbsp:" "};function Hd(e,t){return function(e,{space:t,decode:n}){let o="",r=!1;for(let i of e)t&&Vd[t]&&" "===i&&(i=Vd[t]),r?(o+="n"===i?"\n":"\\"===i?"\\":"\\"+i,r=!1):"\\"===i?r=!0:o+=i;return n?o.replace(/ /g,Vd.nbsp).replace(/ /g,Vd.ensp).replace(/ /g,Vd.emsp).replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"):o}(e,t).split("\n")}const Fd=Uc({name:"Text",props:{selectable:{type:[Boolean,String],default:!1},space:{type:String,default:""},decode:{type:[Boolean,String],default:!1}},setup(e,{slots:t}){const n=on(null);return()=>{const o=[];return t.default&&t.default().forEach((t=>{if(8&t.shapeFlag&&t.type!==Hr){let n=[];n=Hd(t.children,{space:e.space,decode:e.decode});const r=n.length-1;n.forEach(((e,t)=>{(0!==t||e)&&o.push(ri(e)),t!==r&&o.push(ni("br"))}))}else o.push(t)})),ni("uni-text",{ref:n,selectable:!!e.selectable||null},[ni("span",null,o)],8,["selectable"])}}}),Dd=c({},kd,{placeholderClass:{type:String,default:"input-placeholder"},autoHeight:{type:[Boolean,String],default:!1},confirmType:{type:String,default:"return",validator:e=>qd.concat("return").includes(e)}});let Wd=!1;const qd=["done","go","next","search","send"];const Ud=Uc({name:"Textarea",props:Dd,emits:["confirm","change","linechange",...Od],setup(e,{emit:t,expose:n}){const o=on(null),r=on(null),{fieldRef:i,state:s,scopedAttrsState:a,fixDisabledColor:l,trigger:c}=Ad(e,o,t),u=Ti((()=>s.value.split("\n"))),f=Ti((()=>qd.includes(e.confirmType))),d=on(0),p=on(null);function h({height:e}){d.value=e}function g(e){}function m(e){"Enter"===e.key&&f.value&&e.preventDefault()}function v(t){if("Enter"===t.key&&f.value){!function(e){c("confirm",e,{value:s.value})}(t);const n=t.target;!e.confirmHold&&n.blur()}}return Zn((()=>d.value),(t=>{const n=o.value,i=p.value,s=r.value;let a=parseFloat(getComputedStyle(n).lineHeight);isNaN(a)&&(a=i.offsetHeight);var l=Math.round(t/a);c("linechange",{},{height:t,heightRpx:750/window.innerWidth*t,lineCount:l}),e.autoHeight&&(s.style.height=t+"px")})),function(){const e="(prefers-color-scheme: dark)";Wd=0===String(navigator.platform).indexOf("iP")&&0===String(navigator.vendor).indexOf("Apple")&&window.matchMedia(e).media!==e}(),n({$triggerInput:e=>{t("update:modelValue",e.value),t("update:value",e.value),s.value=e.value}}),()=>{let t=e.disabled&&l?ni("textarea",{key:"disabled-textarea",ref:i,value:s.value,tabindex:"-1",readonly:!!e.disabled,maxlength:s.maxlength,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":Wd},style:{overflowY:e.autoHeight?"hidden":"auto",...e.cursorColor&&{caretColor:e.cursorColor}},onFocus:e=>e.target.blur()},null,46,["value","readonly","maxlength","onFocus"]):ni("textarea",{key:"textarea",ref:i,value:s.value,disabled:!!e.disabled,maxlength:s.maxlength,enterkeyhint:e.confirmType,inputmode:e.inputmode,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":Wd},style:{overflowY:e.autoHeight?"hidden":"auto",...e.cursorColor&&{caretColor:e.cursorColor}},onKeydown:m,onKeyup:v,onChange:g},null,46,["value","disabled","maxlength","enterkeyhint","inputmode","onKeydown","onKeyup","onChange"]);return ni("uni-textarea",{ref:o,"auto-height":e.autoHeight},[ni("div",{ref:r,class:"uni-textarea-wrapper"},[oo(ni("div",ci(a.attrs,{style:e.placeholderStyle,class:["uni-textarea-placeholder",e.placeholderClass]}),[e.placeholder],16),[[Ki,!s.value.length]]),ni("div",{ref:p,class:"uni-textarea-line"},[" "],512),ni("div",{class:{"uni-textarea-compute":!0,"uni-textarea-compute-auto-height":e.autoHeight}},[u.value.map((e=>ni("div",null,[e.trim()?e:"."]))),ni(ld,{initial:!0,onResize:h},null,8,["initial","onResize"])],2),"search"===e.confirmType?ni("form",{action:"",onSubmit:()=>!1,class:"uni-input-form"},[t],40,["onSubmit"]):t],512)],8,["auto-height"])}}}),zd=Uc({name:"View",props:c({},Yc),setup(e,{slots:t}){const n=on(null),{hovering:o,binding:r}=Gc(e);return()=>{const i=e.hoverClass;return i&&"none"!==i?ni("uni-view",ci({class:o.value?i:"",ref:n},r),[Ko(t,"default")],16):ni("uni-view",{ref:n},[Ko(t,"default")],512)}}});function Kd(e,t,n,o){m(t)&&Bo(e,t.bind(n),o)}function Xd(e,t,n){const o=e.mpType||n.$mpType;if(o&&"component"!==o&&("page"!==o||"component"!==t.renderer)&&(Object.keys(e).forEach((o=>{if(function(e,t,n=!0){return!(n&&!m(t))&&(Ee.indexOf(e)>-1||0===e.indexOf("on"))}(o,e[o],!1)){const r=e[o];p(r)?r.forEach((e=>Kd(o,e,n,t))):Kd(o,r,n,t)}})),"page"===o)){t.__isVisible=!0;try{let e=t.attrs.__pageQuery;0,dc(n,"onLoad",e),t.vapor||delete t.attrs.__pageQuery;const o=n.$page;"preloadPage"!==(null==o?void 0:o.openType)&&dc(n,"onShow")}catch(r){console.error(r.message+"\n"+r.stack)}}}function Yd(e,t,n){Xd(e,t,n)}function Gd(e,t,n){return e[t]=n}function Jd(e,...t){const n=this[e];return n?n(...t):(console.error(`method ${e} not found`),null)}function Zd(e){const t=e.config.errorHandler;return function(n,o,r){t&&t(n,o,r);const i=e._instance;if(!i||!i.proxy)throw n;i.onError?dc(i.proxy,"onError",n):pn(n,0,o&&o.$.vnode,!1)}}function Qd(e,t){return e?[...new Set([].concat(e,t))]:t}function ep(e){const t=e.config;var n;t.errorHandler=Oe(e,Zd),n=t.optionMergeStrategies,Ee.forEach((e=>{n[e]=Qd}));const o=t.globalProperties;o.$set=Gd,o.$applyOptions=Yd,o.$callMethod=Jd,function(e){ke.forEach((t=>t(e)))}(e)}function tp(e){const t=el({history:rp(),strict:!!__uniConfig.router.strict,routes:__uniRoutes,scrollBehavior:op});t.beforeEach(((e,t)=>{var n;e&&t&&e.meta.isTabBar&&t.meta.isTabBar&&(n=t.meta.tabBarIndex,"undefined"!=typeof window&&(np[n]={left:window.pageXOffset,top:window.pageYOffset}))})),e.router=t,e.use(t)}let np=Object.create(null);const op=(e,t,n)=>{if(n)return n;if(e&&t&&e.meta.isTabBar&&t.meta.isTabBar){const t=(o=e.meta.tabBarIndex,np[o]);if(t)return t}return{left:0,top:0};var o};function rp(){let{routerBase:e}=__uniConfig.router;"/"===e&&(e="");const t=(n=e,(n=location.host?n||location.pathname+location.search:"").includes("#")||(n+="#"),ga(n));var n;return t.listen(((e,t,n)=>{"back"===n.direction&&function(e=1){const t=Pf(),n=t.length-1,o=n-e;for(let r=n;r>o;r--){const e=Cf(t[r]);Rf(jf(e.path,e.id),!1)}}(Math.abs(n.delta))})),t}const ip={install(e){ep(e),Lc(e),Hc(e),e.config.warnHandler||(e.config.warnHandler=sp),tp(e)}};function sp(e,t,n){if(t){if("PageMetaHead"===t.$.type.name)return;const e=t.$.parent;if(e&&"PageMeta"===e.type.name)return}const o=[`[Vue warn]: ${e}`];n.length&&o.push("\n",n),console.warn(...o)}const ap={class:"uni-async-loading"},lp=ni("i",{class:"uni-loading"},null,-1),cp=zc({name:"AsyncLoading",render:()=>(qr(),Yr("div",ap,[lp]))});function up(){window.location.reload()}const fp=zc({name:"AsyncError",props:["error"],setup(){gl();const{t:e}=pl();return()=>ni("div",{class:"uni-async-error",onClick:up},[e("uni.async.error")],8,["onClick"])}});let dp;function pp(){return dp}function hp(e){dp=e,Object.defineProperty(dp.$.ctx,"$children",{get:()=>Pf().map((e=>e.$vm))});const t=dp.$.appContext.app;t.component(cp.name)||t.component(cp.name,cp),t.component(fp.name)||t.component(fp.name,fp),function(e){e.$vm=e,e.$mpType="app";const t=on(pl().getLocale());Object.defineProperty(e,"$locale",{get:()=>t.value,set(e){t.value=e}})}(dp),function(e,t){const n=e.$options||{};n.globalData=c(n.globalData||{},t),Object.defineProperty(e,"globalData",{get:()=>n.globalData,set(e){n.globalData=e}})}(dp),Mc(),bc()}function gp(e,{type:t,clone:n,init:o,setup:r,before:i,options:s}){n&&(e=c({},e)),i&&i(e);const a=e.setup;return e.setup=(e,t)=>{const n=hi();if(o(n.proxy),r(n),a)return a(e,t)},e}function mp(e,t){return e&&(e.__esModule||"Module"===e[Symbol.toStringTag])?gp(e.default,t):gp(e,t)}function vp(e,t){return mp(e,{type:"page",clone:!0,init:Nf,setup(e){e.$pageInstance=e;const t=su(),n=_e(t.query);e.attrs.__pageQuery=n,Cf(e.proxy).options=n,e.proxy.options=n;const o=ru();var r;xf(),e.onReachBottom=Ft([]),e.onPageScroll=Ft([]),Zn([e.onReachBottom,e.onPageScroll],(()=>{const t=rc();e.proxy===t&&Uf(e,o)}),{once:!0}),jo((()=>{Vf(e,o)})),Io((()=>{Hf(e);const{onReady:n}=e;n&&B(n),wp(t)})),Oo((()=>{if(!e.__isVisible){Vf(e,o),e.__isVisible=!0;const{onShow:n}=e;n&&B(n),Sn((()=>{wp(t)}))}}),"ba",r),function(e,t){Oo(e,"bda",t)}((()=>{if(e.__isVisible&&!e.__isUnload){e.__isVisible=!1;{const{onHide:t}=e;t&&B(t)}}}));const i=fc(e.proxy);return function(e,t){yh.subscribe(xl(e,"invokeViewApi"),Sl)}(i),Ho((()=>{!function(e){yh.unsubscribe(xl(e,"invokeViewApi")),Object.keys(wl).forEach((t=>{0===t.indexOf(e+".")&&delete wl[t]}))}(i)})),n}})}function yp(){const{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}=Rp(),r=90===Math.abs(Number(window.orientation))?"landscape":"portrait";bh.emit("onResize",{deviceOrientation:r,size:{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}})}function bp(e){S(e.data)&&"WEB_INVOKE_APPSERVICE"===e.data.type&&bh.emit("onWebInvokeAppService",e.data.data,e.data.pageId)}function _p(){const{emit:e}=bh;"visible"===document.visibilityState?e("onAppEnterForeground",c({},ad)):e("onAppEnterBackground")}function wp(e){const{tabBarText:t,tabBarIndex:n,route:o}=e.meta;t&&dc("onTabItemTap",{index:n,text:t,pagePath:o})}const xp=navigator.cookieEnabled&&(window.localStorage||window.sessionStorage)||{};let Sp;function Cp(){if(Sp=Sp||xp.__DC_STAT_UUID,!Sp){Sp=Date.now()+""+Math.floor(1e7*Math.random());try{xp.__DC_STAT_UUID=Sp}catch(e){}}return Sp}function Tp(){if(!0!==__uniConfig.darkmode)return v(__uniConfig.darkmode)?__uniConfig.darkmode:"light";try{return window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}catch(e){return"light"}}function Ep(){let e,t="0",n="",o="phone";const r=navigator.language;if(Gf){e="iOS";const o=Xf.match(/OS\s([\w_]+)\slike/);o&&(t=o[1].replace(/_/g,"."));const r=t.split(".")[0];if(Number(r)>=18){const e=Xf.match(/Version\/([\d\.]+)/);e&&(t=e[1])}const i=Xf.match(/\(([a-zA-Z]+);/);i&&(n=i[1])}else if(Yf){e="Android";const o=Xf.match(/Android[\s/]([\w\.]+)[;\s]/);o&&(t=o[1]);const r=Xf.match(/\((.+?)\)/),i=r?r[1].split(";"):Xf.split(" "),s=[/\bAndroid\b/i,/\bLinux\b/i,/\bU\b/i,/^\s?[a-z][a-z]$/i,/^\s?[a-z][a-z]-[a-z][a-z]$/i,/\bwv\b/i,/\/[\d\.,]+$/,/^\s?[\d\.,]+$/,/\bBrowser\b/i,/\bMobile\b/i];for(let e=0;e0){n=t.split("Build")[0].trim();break}let o;for(let e=0;e-1&&e.indexOf("MSIE")>-1,n=e.indexOf("Edge")>-1&&!t,o=e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1;if(t){new RegExp("MSIE (\\d+\\.\\d+);").test(e);const t=parseFloat(RegExp.$1);return t>6?t:6}return n?-1:o?11:-1}());if("-1"!==l)a="IE";else{const e=["Version","Firefox","Chrome","Edge{0,1}"],t=["Safari","Firefox","Chrome","Edge"];for(let n=0;n{const e=window.devicePixelRatio,t=nd(),n=od(t),o=rd(t,n),r=function(e,t){return e?Math[t?"min":"max"](screen.height,screen.width):screen.height}(t,n),i=id();let s=window.innerHeight;const a=Ul.top,l={left:Ul.left,right:i-Ul.right,top:Ul.top,bottom:s-Ul.bottom,width:i-Ul.left-Ul.right,height:s-Ul.top-Ul.bottom},{top:c,bottom:u}=function(){const e=document.documentElement.style,t=Yl(),n=Xl(e,"--window-bottom"),o=Xl(e,"--window-left"),r=Xl(e,"--window-right"),i=Xl(e,"--top-window-height");return{top:t,bottom:n?n+Ul.bottom:0,left:o?o+Ul.left:0,right:r?r+Ul.right:0,topWindowHeight:i||0}}();return s-=c,s-=u,{windowTop:c,windowBottom:u,windowWidth:i,windowHeight:s,pixelRatio:e,screenWidth:o,screenHeight:r,statusBarHeight:a,safeArea:l,safeAreaInsets:{top:Ul.top,right:Ul.right,bottom:Ul.bottom,left:Ul.left},screenTop:r-s}}));let Op,Lp=!0;function $p(){Lp&&(Op=Ep())}const Ap=Bu(0,(()=>{$p();const{deviceBrand:e,deviceModel:t,brand:n,model:o,platform:r,system:i,deviceOrientation:s,deviceType:a,osname:l,osversion:u}=Op;return c({brand:n,deviceBrand:e,deviceModel:t,devicePixelRatio:window.devicePixelRatio,deviceId:Cp(),deviceOrientation:s,deviceType:a,model:o,osName:l?l.toLowerCase():void 0,osVersion:u,platform:r,system:i})})),Pp=Bu(0,(()=>{$p();const{theme:e,language:t,browserName:n,browserVersion:o}=Op;return c({appId:__uniConfig.appId,appName:__uniConfig.appName,appVersion:__uniConfig.appVersion,appVersionCode:__uniConfig.appVersionCode,appLanguage:Uu?Uu():t,enableDebug:!1,hostSDKVersion:void 0,hostPackageName:void 0,hostFontSizeSetting:void 0,hostName:n,hostVersion:o,hostTheme:e,hostLanguage:t,isUniAppX:!1,language:t,SDKVersion:"",theme:e,uniPlatform:"web",uniCompileVersion:__uniConfig.compilerVersion,uniCompilerVersion:__uniConfig.compilerVersion,uniRuntimeVersion:__uniConfig.compilerVersion,version:""},{})})),Rp=Bu(0,(()=>{Lp=!0,$p(),Lp=!1;const e=kp(),t=Ap(),n=Pp();Lp=!0;const{ua:o,browserName:r,browserVersion:i,osname:s,osversion:a}=Op,l=c(e,t,n,{browserName:r,browserVersion:i,fontSizeSetting:void 0,osName:s.toLowerCase(),osVersion:a,osLanguage:void 0,osTheme:void 0,ua:o,uniPlatform:"web",uniCompileVersion:__uniConfig.compilerVersion,uniRuntimeVersion:__uniConfig.compilerVersion});return delete l.screenTop,delete l.enableDebug,__uniConfig.darkmode||delete l.theme,l}));const Bp=Bu(0,((e,t)=>{const n=typeof t,o="string"===n?t:JSON.stringify({type:n,data:t});localStorage.setItem(e,o)}));function Np(e){const t=localStorage&&localStorage.getItem(e);if(!v(t))throw new Error("data not found");let n=t;try{const e=function(e){const t=["object","string","number","boolean","undefined"];try{const n=v(e)?JSON.parse(e):e,o=n.type;if(t.indexOf(o)>=0){const e=Object.keys(n);if(2===e.length&&"data"in n){if(typeof n.data===o)return n.data;if("object"===o&&/^\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}\:\d{2}\.\d{3}Z$/.test(n.data))return new Date(n.data)}else if(1===e.length)return""}}catch(n){}}(JSON.parse(t));void 0!==e&&(n=e)}catch(o){}return n}const jp=Bu(0,(e=>{try{return Np(e)}catch(t){return""}})),Ip={esc:["Esc","Escape"],enter:["Enter"]},Mp=Object.keys(Ip);const Vp=ni("div",{class:"uni-mask"},null,-1);function Hp(e,t,n){return t.onClose=(...e)=>(t.visible=!1,n.apply(null,e)),xs(vo({setup:()=>()=>(qr(),Yr(e,t,null,16))}))}function Fp(e){let t=document.getElementById(e);return t||(t=document.createElement("div"),t.id=e,document.body.append(t)),t}function Dp(e,{onEsc:t,onEnter:n}){const o=on(e.visible),{key:r,disable:i}=function(){const e=on(""),t=on(!1),n=n=>{if(t.value)return;const o=Mp.find((e=>-1!==Ip[e].indexOf(n.key)));o&&(e.value=o),Sn((()=>e.value=""))};return Io((()=>{document.addEventListener("keyup",n)})),Ho((()=>{document.removeEventListener("keyup",n)})),{key:e,disable:t}}();return Zn((()=>e.visible),(e=>o.value=e)),Zn((()=>o.value),(e=>i.value=!e)),Gn((()=>{const{value:e}=r;"esc"===e?t&&t():"enter"===e&&n&&n()})),o}const Wp=Ru("request",(({url:e,data:t,header:n={},method:o,dataType:r,responseType:i,enableChunked:s,withCredentials:a,timeout:l=__uniConfig.networkTimeout.request},{resolve:c,reject:u})=>{let f=null;const p=function(e){const t=Object.keys(e).find((e=>"content-type"===e.toLowerCase()));if(!t)return;const n=e[t];if(!n)return"string";if(0===n.indexOf("application/json"))return"json";if(0===n.indexOf("application/x-www-form-urlencoded"))return"urlencoded";return"string"}(n);if("GET"!==o)if(v(t)||t instanceof ArrayBuffer)f=t;else if("json"===p)try{f=JSON.stringify(t)}catch(g){f=t.toString()}else if("urlencoded"===p){const e=[];for(const n in t)d(t,n)&&e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));f=e.join("&")}else f=t.toString();let h;if(s){if(void 0===typeof window.fetch||void 0===typeof window.AbortController)throw new Error("fetch or AbortController is not supported in this environment");const t=new AbortController,s=t.signal;h=new Up(t);const d={method:o,headers:n,body:f,signal:s,credentials:a?"include":"same-origin"},p=setTimeout((function(){h.abort(),u("timeout",{errCode:5})}),l);d.signal.addEventListener("abort",(function(){clearTimeout(p),u("abort",{errCode:600003})})),window.fetch(e,d).then((e=>{const t=e.status,n=e.headers,o=e.body,s={};n.forEach(((e,t)=>{s[t]=e}));const a=qp(s);if(h._emitter.emit("headersReceived",{header:s,statusCode:t,cookies:a}),!o)return void c({data:"",statusCode:t,header:s,cookies:a});const l=o.getReader(),u=[],f=()=>{l.read().then((({done:e,value:n})=>{if(e){const e=function(e){const t=e.reduce(((e,t)=>e+t.byteLength),0),n=new Uint8Array(t);let o=0;for(const r of e)n.set(new Uint8Array(r),o),o+=r.byteLength;return n.buffer}(u);let n="text"===i?(new TextDecoder).decode(e):e;return"text"===i&&(n=Kp(n,i,r)),void c({data:n,statusCode:t,header:s,cookies:a})}const o=n;u.push(o),h._emitter.emit("chunkReceived",{data:o}),f()}))};f()}),(e=>{u(e,{errCode:5})}))}else{const t=new XMLHttpRequest;h=new Up(t),t.open(o,e);for(const e in n)d(n,e)&&t.setRequestHeader(e,n[e]);const s=setTimeout((function(){t.onload=t.onabort=t.onerror=null,h.abort(),u("timeout",{errCode:5})}),l);t.responseType=i,t.onload=function(){clearTimeout(s);const e=t.status;let n="text"===i?t.responseText:t.response;"text"===i&&(n=Kp(n,i,r)),c({data:n,statusCode:e,header:zp(t.getAllResponseHeaders()),cookies:[]})},t.onabort=function(){clearTimeout(s),u("abort",{errCode:600003})},t.onerror=function(){clearTimeout(s),u(void 0,{errCode:5})},t.withCredentials=a,t.send(f)}return h}),0,Gu),qp=e=>{let t=e["Set-Cookie"]||e["set-cookie"],n=[];if(!t)return[];"["===t[0]&&"]"===t[t.length-1]&&(t=t.slice(1,-1));const o=t.split(";");for(let r=0;r{t===e&&(this._requestOnHeadersReceiveCallbacks.delete(n),this._emitter.off("headersReceived",e))}));const t=this._requestOnHeadersReceiveCallbacks.get(e);t&&(this._requestOnHeadersReceiveCallbacks.delete(e),this._emitter.off("headersReceived",t))}onChunkReceived(e){return this._emitter.on("chunkReceived",e),this._requestOnChunkReceiveCallbackId++,this._requestOnChunkReceiveCallbacks.set(this._requestOnChunkReceiveCallbackId,e),this._requestOnChunkReceiveCallbackId}offChunkReceived(e){if(null==e)return void this._emitter.off("chunkReceived");if("function"==typeof e)return void this._requestOnChunkReceiveCallbacks.forEach(((t,n)=>{t===e&&(this._requestOnChunkReceiveCallbacks.delete(n),this._emitter.off("chunkReceived",e))}));const t=this._requestOnChunkReceiveCallbacks.get(e);t&&(this._requestOnChunkReceiveCallbacks.delete(e),this._emitter.off("chunkReceived",t))}}function zp(e){const t={};return e.split("\n").forEach((e=>{const n=e.match(/(\S+\s*):\s*(.*)/);n&&3===n.length&&(t[n[1]]=n[2])})),t}function Kp(e,t,n){let o=e;if("text"===t&&"json"===n)try{o=JSON.parse(o)}catch(r){}return o}const Xp=Nu("navigateBack",((e,{resolve:t,reject:n})=>{let o=!0;return!0===dc("onBackPress",{from:e.from||"navigateBack"})&&(o=!1),o?(pp().$router.go(-e.delta),t()):n("onBackPress")}),0,tf),Yp=Nu("navigateTo",(({url:e,events:t,isAutomatedTesting:n},{resolve:o,reject:r})=>{if(Tf.handledBeforeEntryPageRoutes)return mf({type:"navigateTo",url:e,events:t,isAutomatedTesting:n}).then(o).catch(r);Ef.push({args:{type:"navigateTo",url:e,events:t,isAutomatedTesting:n},resolve:o,reject:r})}),0,Zu);function Gp(e){__uniConfig.darkmode&&bh.on("onThemeChange",e)}function Jp(e){bh.off("onThemeChange",e)}const Zp={light:{cancelColor:"#000000"},dark:{cancelColor:"rgb(170, 170, 170)"}},Qp=vo({props:{title:{type:String,default:""},content:{type:String,default:""},showCancel:{type:Boolean,default:!0},cancelText:{type:String,default:"Cancel"},cancelColor:{type:String,default:"#000000"},confirmText:{type:String,default:"OK"},confirmColor:{type:String,default:"#007aff"},visible:{type:Boolean},editable:{type:Boolean,default:!1},placeholderText:{type:String,default:""}},setup(e,{emit:t}){const n=on(""),o=()=>s.value=!1,r=()=>(o(),t("close","cancel")),i=()=>(o(),t("close","confirm",n.value)),s=Dp(e,{onEsc:r,onEnter:()=>{!e.editable&&i()}}),a=function(e){const t=on(e.cancelColor),n=({theme:e})=>{((e,t)=>{t.value=Zp[e].cancelColor})(e,t)};return Gn((()=>{e.visible?(t.value=e.cancelColor,"#000"===e.cancelColor&&("dark"===Tp()&&n({theme:"dark"}),Gp(n))):Jp(n)})),t}(e);return()=>{const{title:t,content:o,showCancel:l,confirmText:c,confirmColor:u,editable:f,placeholderText:d}=e;return n.value=o,ni(Ri,{name:"uni-fade"},{default:()=>[oo(ni("uni-modal",{onTouchmove:zl},[Vp,ni("div",{class:"uni-modal"},[t?ni("div",{class:"uni-modal__hd"},[ni("strong",{class:"uni-modal__title",textContent:t||""},null,8,["textContent"])]):null,f?ni("textarea",{class:"uni-modal__textarea",rows:"1",placeholder:d,value:o,onInput:e=>n.value=e.target.value},null,40,["placeholder","value","onInput"]):ni("div",{class:"uni-modal__bd",onTouchmovePassive:Kl,textContent:o},null,40,["onTouchmovePassive","textContent"]),ni("div",{class:"uni-modal__ft"},[l&&ni("div",{style:{color:a.value},class:"uni-modal__btn uni-modal__btn_default",onClick:r},[e.cancelText],12,["onClick"]),ni("div",{style:{color:u},class:"uni-modal__btn uni-modal__btn_primary",onClick:i},[c],12,["onClick"])])])],40,["onTouchmove"]),[[Ki,s.value]])]})}}});let eh;const th=de((()=>{bh.on("onHidePopup",(()=>eh.visible=!1))}));let nh;function oh(e,t){const n="confirm"===e,o={confirm:n,cancel:"cancel"===e};n&&eh.editable&&(o.content=t),nh&&nh(o)}const rh=Nu("showModal",((e,{resolve:t})=>{th(),nh=t,eh?(c(eh,e),eh.visible=!0):(eh=Ft(e),Sn((()=>(Hp(Qp,eh,oh).mount(Fp("u-a-m")),Sn((()=>eh.visible=!0))))))}),0,lf),ih={title:{type:String,default:""},icon:{default:"success",validator:e=>-1!==cf.indexOf(e)},image:{type:String,default:""},duration:{type:Number,default:1500},mask:{type:Boolean,default:!1},visible:{type:Boolean}},sh={light:"#fff",dark:"rgba(255,255,255,0.9)"},ah=e=>sh[e],lh=vo({name:"Toast",props:ih,setup(e){ml(),vl();const{Icon:t}=function(e){const t=on(ah(Tp())),n=({theme:e})=>t.value=ah(e);Gn((()=>{e.visible?Gp(n):Jp(n)}));return{Icon:Ti((()=>{switch(e.icon){case"success":return ni(nc(ec,t.value,38),{class:"uni-toast__icon"});case"error":return ni(nc(tc,t.value,38),{class:"uni-toast__icon"});case"loading":return ni("i",{class:["uni-toast__icon","uni-loading"]},null,2);default:return null}}))}}(e),n=Dp(e,{});return()=>{const{mask:o,duration:r,title:i,image:s}=e;return ni(Ri,{name:"uni-fade"},{default:()=>[oo(ni("uni-toast",{"data-duration":r},[o?ni("div",{class:"uni-mask",style:"background: transparent;",onTouchmove:zl},null,40,["onTouchmove"]):"",s||t.value?ni("div",{class:"uni-toast"},[s?ni("img",{src:s,class:"uni-toast__icon"},null,10,["src"]):t.value,ni("p",{class:"uni-toast__content"},[i])]):ni("div",{class:"uni-sample-toast"},[ni("p",{class:"uni-simple-toast__text"},[i])])],8,["data-duration"]),[[Ki,n.value]])]})}}});let ch,uh,fh="";const dh=Ie();function ph(e){ch?c(ch,e):(ch=Ft(c(e,{visible:!1})),Sn((()=>{dh.run((()=>{Zn([()=>ch.visible,()=>ch.duration],(([e,t])=>{if(e){if(uh&&clearTimeout(uh),"onShowLoading"===fh)return;uh=setTimeout((()=>{gh("onHideToast")}),t)}else uh&&clearTimeout(uh)}))})),bh.on("onHidePopup",(()=>gh("onHidePopup"))),Hp(lh,ch,(()=>{})).mount(Fp("u-a-t"))}))),setTimeout((()=>{ch.visible=!0}),10)}const hh=Nu("showToast",((e,{resolve:t,reject:n})=>{ph(e),fh="onShowToast",t()}),0,uf);function gh(e){const{t:t}=pl();if(!fh)return;let n="";if("onHideToast"===e&&"onShowToast"!==fh?n=t("uni.showToast.unpaired"):"onHideLoading"===e&&"onShowLoading"!==fh&&(n=t("uni.showLoading.unpaired")),n)return console.warn(n);fh="",setTimeout((()=>{ch.visible=!1}),10)}function mh(e){function t(){var t;(t=e.navigationBar.titleText)&&t!==document.title&&(document.title=t),bh.emit("onNavigationBarChange",{titleText:t})}Gn(t),Eo(t)}const vh=zc({name:"Layout",setup(e,{emit:t}){const n=on(null);Gl({"--status-bar-height":"0px","--top-window-height":"0px","--window-left":"0px","--window-right":"0px","--window-margin":"0px","--tab-bar-height":"0px"});const o=function(){const e=tl();return{routeKey:Ti((()=>jf("/"+e.meta.route,au()))),isTabBar:Ti((()=>e.meta.isTabBar)),routeCache:Mf}}(),{layoutState:r,windowState:i}=function(){su();{const e=Ft({marginWidth:0,leftWindowWidth:0,rightWindowWidth:0});return Zn((()=>e.marginWidth),(e=>Gl({"--window-margin":e+"px"}))),Zn((()=>e.leftWindowWidth+e.marginWidth),(e=>{Gl({"--window-left":e+"px"})})),Zn((()=>e.rightWindowWidth+e.marginWidth),(e=>{Gl({"--window-right":e+"px"})})),{layoutState:e,windowState:Ti((()=>({})))}}}();!function(e,t){const n=su();function o(){const o=document.body.clientWidth,r=Pf();let i={};if(r.length>0){i=Cf(r[r.length-1]).meta}else{const e=yc(n.path,!0);e&&(i=e.meta)}const s=parseInt(String((d(i,"maxWidth")?i.maxWidth:__uniConfig.globalStyle.maxWidth)||Number.MAX_SAFE_INTEGER));let a=!1;a=o>s,a&&s?(e.marginWidth=(o-s)/2,Sn((()=>{const e=t.value;e&&e.setAttribute("style","max-width:"+s+"px;margin:0 auto;")}))):(e.marginWidth=0,Sn((()=>{const e=t.value;e&&e.removeAttribute("style")})))}Zn([()=>n.path],o),Io((()=>{o(),window.addEventListener("resize",o)}))}(r,n);const s=function(e){const t=on(!1);return Ti((()=>({"uni-app--showtabbar":e&&e.value,"uni-app--maxwidth":t.value})))}(!1);return()=>{const e=function(e,t,n,o,r,i){return function({routeKey:e,isTabBar:t,routeCache:n}){return ni(Qa,null,{default:Mn((({Component:o})=>[(qr(),Yr(Co,{matchBy:"key",cache:n},[(qr(),Yr(Un(o),{type:t.value?"tabBar":"",key:e.value}))],1032,["cache"]))])),_:1})}(e)}(o);return ni("uni-app",{ref:n,class:s.value},[e,!1],2)}}});const yh=c(Cl,{publishHandler(e,t,n){bh.subscribeHandler(e,t,n)}}),bh=c(Pc,{publishHandler(e,t,n){yh.subscribeHandler(e,t,n)}}),_h=zc({name:"PageBody",setup(e,t){const n=on(null),o=on(null);return Zn((()=>false.enablePullDownRefresh),(()=>{o.value=null}),{immediate:!0}),()=>ni(Mr,null,[!1,ni("uni-page-wrapper",ci({ref:n},o.value),[ni("uni-page-body",null,[Ko(t.slots,"default")]),null],16)])}}),wh=zc({name:"Page",setup(e,t){let n=iu(au());n.navigationBar;const o={};return mh(n),()=>ni("uni-page",{"data-page":n.route,style:o},[xh(t),null])}});function xh(e){return qr(),Yr(_h,{key:0},{default:Mn((()=>[Ko(e.slots,"page")])),_:3})}const Sh={loading:"AsyncLoading",error:"AsyncError",delay:200,timeout:6e4,suspensible:!0};window.uni={},window.wx={},window.rpx2px=qu;const Ch=Object.assign({}),Th=Object.assign;window.__uniConfig=Th({globalStyle:{backgroundColor:"#F7F8FF",navigationBar:{backgroundColor:"#F7F8FF",titleText:"临床思维训练",type:"default",titleColor:"#000000"},isNVue:!1},uniIdRouter:{},compilerVersion:"5.07"},{appId:"",appName:"AI思维临床训练",appVersion:"1.0.0",appVersionCode:"100",async:Sh,debug:!1,networkTimeout:{request:6e4,connectSocket:6e4,uploadFile:6e4,downloadFile:6e4},sdkConfigs:{},qqMapKey:void 0,bMapKey:void 0,googleMapKey:void 0,aMapKey:void 0,aMapSecurityJsCode:void 0,aMapServiceHost:void 0,nvue:{"flex-direction":"column"},locale:"",fallbackLocale:"",locales:Object.keys(Ch).reduce(((e,t)=>{const n=t.replace(/\.\/locale\/(uni-app.)?(.*).json/,"$2");return Th(e[n]||(e[n]={}),Ch[t].default),e}),{}),router:{mode:"hash",base:"./",assets:"assets",routerBase:"/"},darkmode:!1,themeConfig:{}}),window.__uniLayout=window.__uniLayout||{};const Eh={delay:Sh.delay,timeout:Sh.timeout,suspensible:Sh.suspensible};Sh.loading&&(Eh.loadingComponent={name:"SystemAsyncLoading",render:()=>ni(Wn(Sh.loading))}),Sh.error&&(Eh.errorComponent={name:"SystemAsyncError",props:["error"],render(){return ni(Wn(Sh.error),{error:this.error})}});const kh=()=>t((()=>import("./pages-index-index.gI3C2P_a.js")),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url).then((e=>vp(e.default||e))),Oh=bo(Th({loader:kh},Eh)),Lh=()=>t((()=>import("./config.CeLegioC.js").then((e=>e.c))),__vite__mapDeps([1,2,3,4,5]),import.meta.url).then((e=>vp(e.default||e))),$h=bo(Th({loader:Lh},Eh)),Ah=()=>t((()=>import("./pages-home-home.C2yaATnJ.js")),__vite__mapDeps([9,2,3,4,10]),import.meta.url).then((e=>vp(e.default||e))),Ph=bo(Th({loader:Ah},Eh)),Rh=()=>t((()=>import("./pages-matching-matching.DrdBX5Ht.js")),__vite__mapDeps([11,2,4,12]),import.meta.url).then((e=>vp(e.default||e))),Bh=bo(Th({loader:Rh},Eh)),Nh=()=>t((()=>import("./pages-cases-cases.6AOFEUPY.js")),__vite__mapDeps([13,14,3,4,15]),import.meta.url).then((e=>vp(e.default||e))),jh=bo(Th({loader:Nh},Eh)),Ih=()=>t((()=>import("./pages-scenario-scenario.4vJ-ikjt.js")),__vite__mapDeps([16,2,14,17,4,18]),import.meta.url).then((e=>vp(e.default||e))),Mh=bo(Th({loader:Ih},Eh)),Vh=()=>t((()=>import("./pages-chat-chat.DBQfHqyo.js")),__vite__mapDeps([19,2,14,3,17,4,20]),import.meta.url).then((e=>vp(e.default||e))),Hh=bo(Th({loader:Vh},Eh)),Fh=()=>t((()=>import("./pages-profile-profile-analysis.BuyFl8SQ.js")),__vite__mapDeps([21,2,4,22]),import.meta.url).then((e=>vp(e.default||e))),Dh=bo(Th({loader:Fh},Eh)),Wh=()=>t((()=>import("./pages-profile-profile-records.C3ZzZ02U.js")),__vite__mapDeps([23,4,24]),import.meta.url).then((e=>vp(e.default||e))),qh=bo(Th({loader:Wh},Eh)),Uh=()=>t((()=>import("./pages-learning-assistant-learning-assistant.fpfbF_lf.js")),__vite__mapDeps([25,2,3,4,26]),import.meta.url).then((e=>vp(e.default||e))),zh=bo(Th({loader:Uh},Eh)),Kh=()=>t((()=>import("./pages-teaching-teaching.DAx4I9Wu.js")),__vite__mapDeps([27,2,14,3,4,28]),import.meta.url).then((e=>vp(e.default||e))),Xh=bo(Th({loader:Kh},Eh)),Yh=()=>t((()=>import("./pages-diagnosis-diagnosis.nh0VnGMv.js")),__vite__mapDeps([29,2,14,17,3,4,30]),import.meta.url).then((e=>vp(e.default||e))),Gh=bo(Th({loader:Yh},Eh)),Jh=()=>t((()=>import("./pages-treatment-treatment.ynd4_hPb.js")),__vite__mapDeps([31,2,14,3,17,4,32]),import.meta.url).then((e=>vp(e.default||e))),Zh=bo(Th({loader:Jh},Eh)),Qh=()=>t((()=>import("./pages-assessment-assessment.ej_Zqyan.js")),__vite__mapDeps([33,2,17,4,34]),import.meta.url).then((e=>vp(e.default||e))),eg=bo(Th({loader:Qh},Eh)),tg=()=>t((()=>import("./pages-profile-profile.B4yr9-t8.js")),__vite__mapDeps([6,2,4,7]),import.meta.url).then((e=>vp(e.default||e))),ng=bo(Th({loader:tg},Eh));function og(e,t){return qr(),Yr(wh,null,{page:Mn((()=>[ni(e,Th({},t,{ref:"page"}),null,512)])),_:1})}window.__uniRoutes=[{path:"/",alias:"/pages/index/index",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Oh,t)}},loader:kh,meta:{isQuit:!0,isEntry:!0,navigationBar:{titleText:"临床思维训练",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/config/config",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og($h,t)}},loader:Lh,meta:{navigationBar:{titleText:"信息配置",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/home/home",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Ph,t)}},loader:Ah,meta:{navigationBar:{titleText:"临床思维训练",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/matching/matching",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Bh,t)}},loader:Rh,meta:{navigationBar:{titleText:"智能匹配",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/cases/cases",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(jh,t)}},loader:Nh,meta:{navigationBar:{titleText:"病例列表",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/scenario/scenario",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Mh,t)}},loader:Ih,meta:{navigationBar:{titleText:"场景配置",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/chat/chat",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Hh,t)}},loader:Vh,meta:{navigationBar:{titleText:"临床对话",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/profile/profile-analysis",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Dh,t)}},loader:Fh,meta:{navigationBar:{titleText:"智能分析",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/profile/profile-records",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(qh,t)}},loader:Wh,meta:{navigationBar:{titleText:"学习记录",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/learning-assistant/learning-assistant",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(zh,t)}},loader:Uh,meta:{navigationBar:{titleText:"AI 学习助手",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/teaching/teaching",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Xh,t)}},loader:Kh,meta:{navigationBar:{titleText:"教学模式",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/diagnosis/diagnosis",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Gh,t)}},loader:Yh,meta:{navigationBar:{titleText:"临床诊断",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/treatment/treatment",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(Zh,t)}},loader:Jh,meta:{navigationBar:{titleText:"治疗计划",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/assessment/assessment",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(eg,t)}},loader:Qh,meta:{navigationBar:{titleText:"考核评价",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/profile/profile",component:{setup(){const e=pp(),t=e&&e.$route&&e.$route.query||{};return()=>og(ng,t)}},loader:tg,meta:{navigationBar:{titleText:"个人中心",style:"custom",type:"default"},isNVue:!1}}].map((e=>(e.meta.route=(e.alias||e.path).slice(1),e)));const rg={onLaunch:function(){console.log("App Launch")},onShow:function(){console.log("App Show")},onHide:function(){console.log("App Hide")}};mp(rg,{init:hp,setup(e){const t=su(),n=()=>{var n;n=e,Object.keys(zu).forEach((e=>{zu[e].forEach((t=>{Bo(e,t,n)}))}));const{onLaunch:o,onShow:r,onPageNotFound:i}=e,s=function({path:e,query:t}){return c(sd,{path:e,query:t}),c(ad,sd),c({},sd)}({path:t.path.slice(1)||__uniRoutes[0].meta.route,query:_e(t.query)});if(o&&B(o,s),r&&B(r,s),!t.matched.length){const e={notFound:!0,openType:"appLaunch",path:t.path,query:_e(t.query),scene:1001};vf(),i&&B(i,e)}};return vr(Da).isReady().then(n),Io((()=>{window.addEventListener("resize",Se(yp,50,{setTimeout:setTimeout,clearTimeout:clearTimeout})),window.addEventListener("message",bp),document.addEventListener("visibilitychange",_p),function(){let e=null;try{e=window.matchMedia("(prefers-color-scheme: dark)")}catch(t){}if(e){let t=e=>{bh.emit("onThemeChange",{theme:e.matches?"dark":"light"})};e.addEventListener?e.addEventListener("change",t):e.addListener(t)}}()})),t.query},before(e){e.mpType="app";const{setup:t}=e,n=()=>(qr(),Yr(vh));e.setup=(e,o)=>{const r=t&&t(e,o);return m(r)?n:r},e.render=n}}),xs(rg).use(ip).mount("#app");export{rh as A,Wp as B,jp as C,gf as D,an as E,Mr as F,Yp as G,le as H,Nd as I,_i as J,Bo as K,hi as L,Ud as M,ti as N,oe as O,Af as P,Xp as Q,hh as R,Md as S,Ft as a,Fo as b,Ti as c,vo as d,qr as e,Yr as f,ii as g,oo as h,ni as i,ri as j,bs as k,Xr as l,zo as m,ce as n,Io as o,pf as p,Sn as q,on as r,Bp as s,K as t,gd as u,Ki as v,Mn as w,Fd as x,zd as y,nu as z}; diff --git a/dist/assets/index-ar3bjli4.css b/dist/assets/index-ar3bjli4.css new file mode 100644 index 0000000..4738fce --- /dev/null +++ b/dist/assets/index-ar3bjli4.css @@ -0,0 +1 @@ +uni-page-body[data-v-fbf7d73c]{min-height:100%;background:#f9f9ff}body[data-v-fbf7d73c]{background:#f9f9ff}.page-root[data-v-fbf7d73c]{min-height:100vh;background:#f9f9ff}.auth-page[data-v-fbf7d73c]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.auth-container[data-v-fbf7d73c]{box-sizing:border-box;width:100%;max-width:448px;min-height:100vh;margin:0 auto;padding:32px 20px 24px;display:flex;flex-direction:column}.header[data-v-fbf7d73c]{margin:24px 0;display:flex;flex-direction:column;align-items:center;text-align:center}.logo[data-v-fbf7d73c]{width:96px;height:96px;margin-bottom:16px}.title[data-v-fbf7d73c]{color:#00478d;font-size:24px;line-height:32px;font-weight:600;letter-spacing:0}.subtitle[data-v-fbf7d73c]{margin-top:8px;color:#727783;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.form[data-v-fbf7d73c]{flex:1}.form-group[data-v-fbf7d73c]{margin-bottom:16px}.label[data-v-fbf7d73c]{display:block;margin:0 0 8px 4px;color:#424752;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.input-wrap[data-v-fbf7d73c],.select-wrap[data-v-fbf7d73c]{box-sizing:border-box;width:100%;height:56px;padding:0 16px;border:1px solid #c2c6d4;border-radius:8px;background:#f9f9ff;display:flex;align-items:center;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.input-wrap.focused[data-v-fbf7d73c],.select-wrap[data-v-fbf7d73c]:active{border-color:#00478d;box-shadow:0 0 0 1px #00478d}.country-code[data-v-fbf7d73c]{margin-right:4px;color:#191c21;font-size:16px;line-height:24px;font-weight:400}.separator[data-v-fbf7d73c]{width:1px;height:24px;margin:0 12px;background:#c2c6d4}.input[data-v-fbf7d73c]{flex:1;min-width:0;height:54px;padding:0;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.placeholder[data-v-fbf7d73c]{color:rgba(114,119,131,.6)}.code-row[data-v-fbf7d73c]{display:flex;align-items:center;-moz-column-gap:8px;column-gap:8px}.code-input-wrap[data-v-fbf7d73c]{flex:1;min-width:0}.verified-icon[data-v-fbf7d73c]{flex:0 0 auto;width:28px;height:28px;margin-right:12px;background:center / 24px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23727783' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 7.8-7 10-4-2.2-7-5.5-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}.code-button[data-v-fbf7d73c]{box-sizing:border-box;flex:0 0 auto;height:56px;padding:0 16px;border:1px solid #00478d;border-radius:8px;background:#f9f9ff;color:#00478d;font-size:14px;line-height:54px;font-weight:600;white-space:nowrap;transition:opacity .18s ease,transform .18s ease,background .18s ease}.code-button[data-v-fbf7d73c]:active,.login-button[data-v-fbf7d73c]:active{transform:scale(.98)}.code-button.disabled[data-v-fbf7d73c]{opacity:.5}.code-button[data-v-fbf7d73c]:after,.login-button[data-v-fbf7d73c]:after{border:0}.select-wrap[data-v-fbf7d73c]{position:relative;justify-content:space-between}.select-text[data-v-fbf7d73c]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#191c21;font-size:16px;line-height:24px}.select-text.muted[data-v-fbf7d73c]{color:rgba(114,119,131,.6)}.select-arrow[data-v-fbf7d73c]{flex:0 0 auto;width:28px;height:28px;margin-left:12px;background:center / 28px 28px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23727783' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8l5 5 5-5'/%3E%3Cpath d='M7 12l5 5 5-5'/%3E%3C/svg%3E")}.hint[data-v-fbf7d73c]{display:block;padding:4px 0;text-align:center;color:#727783;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.login-area[data-v-fbf7d73c]{padding-top:16px}.login-button[data-v-fbf7d73c]{width:100%;height:56px;border-radius:8px;background:#00478d;box-shadow:0 4px 12px rgba(0,71,141,.2);color:#fff;font-size:20px;line-height:56px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background .18s ease,transform .18s ease,opacity .18s ease}.login-button.loading[data-v-fbf7d73c]{opacity:.9}.loading-spinner[data-v-fbf7d73c]{width:24px;height:24px;border:3px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;animation:spin-fbf7d73c 1s linear infinite}.footer[data-v-fbf7d73c]{margin-top:24px;padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:center}.agreement[data-v-fbf7d73c]{max-width:280px;display:flex;align-items:flex-start}.checkbox[data-v-fbf7d73c]{position:relative;box-sizing:border-box;flex:0 0 auto;width:16px;height:16px;margin-top:4px;margin-right:8px;border:1px solid #c2c6d4;border-radius:4px;background:#fff}.checkbox.checked[data-v-fbf7d73c]{border-color:#00478d;background:#00478d}.checkbox.checked[data-v-fbf7d73c]:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}.agreement-copy[data-v-fbf7d73c]{flex:1;font-size:0;line-height:0}.agreement-text[data-v-fbf7d73c],.agreement-link[data-v-fbf7d73c]{font-size:12px;line-height:20px;font-weight:500;letter-spacing:0}.agreement-text[data-v-fbf7d73c]{color:#424752}.agreement-link[data-v-fbf7d73c]{color:#00478d}.toast[data-v-fbf7d73c]{position:fixed;left:50%;bottom:128px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-fbf7d73c]{opacity:1;transform:translate(-50%)}.picker-mask[data-v-fbf7d73c]{position:fixed;left:0;right:0;top:0;bottom:0;z-index:90;background:rgba(25,28,33,.38);display:flex;align-items:flex-end;justify-content:center}.picker-panel[data-v-fbf7d73c]{box-sizing:border-box;width:100%;max-width:448px;max-height:72vh;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(25,28,33,.16)}.picker-header[data-v-fbf7d73c]{height:40px;display:flex;align-items:center;justify-content:space-between}.picker-title[data-v-fbf7d73c]{color:#191c21;font-size:18px;line-height:28px;font-weight:600}.picker-close[data-v-fbf7d73c]{color:#00478d;font-size:14px;line-height:20px;font-weight:600}.institution-list[data-v-fbf7d73c]{max-height:calc(72vh - 72px);margin-top:8px}.institution-empty[data-v-fbf7d73c]{padding:20px 4px;color:#727783;font-size:14px;line-height:20px;text-align:center}.institution-item[data-v-fbf7d73c]{box-sizing:border-box;min-height:64px;padding:12px 4px;border-bottom:1px solid #ecedf6;display:flex;align-items:center;justify-content:space-between}.institution-item.active[data-v-fbf7d73c]{color:#00478d}.institution-copy[data-v-fbf7d73c]{flex:1;min-width:0;padding-right:16px;display:flex;flex-direction:column}.institution-name[data-v-fbf7d73c]{color:#191c21;font-size:16px;line-height:24px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institution-item.active .institution-name[data-v-fbf7d73c]{color:#00478d;font-weight:600}.institution-meta[data-v-fbf7d73c]{margin-top:2px;color:#727783;font-size:12px;line-height:18px}.selected-mark[data-v-fbf7d73c]{position:relative;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#00478d}.selected-mark[data-v-fbf7d73c]:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg)}.shake[data-v-fbf7d73c]{animation:shake-fbf7d73c .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake-fbf7d73c{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes spin-fbf7d73c{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/dist/assets/learning-assistant-CyH_L7LS.css b/dist/assets/learning-assistant-BXAffZDG.css similarity index 56% rename from dist/assets/learning-assistant-CyH_L7LS.css rename to dist/assets/learning-assistant-BXAffZDG.css index 8b4159d..730f088 100644 --- a/dist/assets/learning-assistant-CyH_L7LS.css +++ b/dist/assets/learning-assistant-BXAffZDG.css @@ -1 +1 @@ -uni-page-body[data-v-64ab3108]{min-height:100%;background:#f2f3fb}body[data-v-64ab3108]{background:#f2f3fb}.learning-page[data-v-64ab3108]{min-height:100vh;background:#f2f3fb;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.learning-shell[data-v-64ab3108]{position:relative;min-height:100vh;background:#fff;overflow:hidden;display:flex;flex-direction:column}.assistant-header[data-v-64ab3108]{position:relative;z-index:10;box-sizing:border-box;height:56px;padding:0 16px;border-bottom:1px solid #c2c6d4;background:#fff;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.header-left[data-v-64ab3108],.header-actions[data-v-64ab3108],.director-chip[data-v-64ab3108],.assistant-meta[data-v-64ab3108],.evidence-heading[data-v-64ab3108],.composer-actions[data-v-64ab3108],.modal-doctor[data-v-64ab3108]{display:flex;align-items:center}.header-left[data-v-64ab3108],.header-actions[data-v-64ab3108]{gap:12px}.page-title[data-v-64ab3108]{color:#191c21;font-size:18px;line-height:28px;font-weight:600;letter-spacing:0}.icon-button[data-v-64ab3108],.director-chip[data-v-64ab3108],.quick-chip[data-v-64ab3108],.attach-button[data-v-64ab3108],.send-button[data-v-64ab3108],.mentor-card[data-v-64ab3108],.guidance-button[data-v-64ab3108]{padding:0;border:0;background:transparent}.icon-button[data-v-64ab3108]:after,.director-chip[data-v-64ab3108]:after,.quick-chip[data-v-64ab3108]:after,.attach-button[data-v-64ab3108]:after,.send-button[data-v-64ab3108]:after,.mentor-card[data-v-64ab3108]:after,.guidance-button[data-v-64ab3108]:after{border:0}.icon-button[data-v-64ab3108]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.icon-button[data-v-64ab3108]:active{background:rgba(25,28,33,.05)}.director-chip[data-v-64ab3108]{box-sizing:border-box;min-height:32px;padding:4px 8px;border:1px solid #c2c6d4;border-radius:12px;background:#f2f3fb;gap:8px;color:#00478d;font-size:12px;line-height:16px;font-weight:600}.director-thumb[data-v-64ab3108]{width:20px;height:20px;border-radius:50%;flex:0 0 auto}.history-icon[data-v-64ab3108],.more-icon[data-v-64ab3108],.robot-icon[data-v-64ab3108],.verified-icon[data-v-64ab3108],.attach-icon[data-v-64ab3108],.send-icon[data-v-64ab3108],.close-icon[data-v-64ab3108],.school-small-icon[data-v-64ab3108],.notes-small-icon[data-v-64ab3108]{background:#424752;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.history-icon[data-v-64ab3108]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M13%203a9%209%200%201%201-8.95%2010H2l3-3%203%203H6.07A7%207%200%201%200%208.1%208.05L6.68%206.63A8.96%208.96%200%200%201%2013%203zm-1%205h1.5v5l4%202-.75%201.23L12%2013.75V8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M13%203a9%209%200%201%201-8.95%2010H2l3-3%203%203H6.07A7%207%200%201%200%208.1%208.05L6.68%206.63A8.96%208.96%200%200%201%2013%203zm-1%205h1.5v5l4%202-.75%201.23L12%2013.75V8z'/%3E%3C/svg%3E")}.more-icon[data-v-64ab3108]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%208a2%202%200%201%200%200-4%202%202%200%200%200%200%204zm0%202a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%208a2%202%200%201%200%200-4%202%202%200%200%200%200%204zm0%202a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4z'/%3E%3C/svg%3E")}.chat-canvas[data-v-64ab3108]{box-sizing:border-box;flex:1 1 auto;min-height:0;padding:16px;background:#fff}.time-row[data-v-64ab3108]{display:flex;justify-content:center;margin-bottom:32px}.time-row uni-text[data-v-64ab3108]{padding:4px 16px;border-radius:12px;background:#f2f3fb;color:#727783;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.message-block[data-v-64ab3108]{margin-bottom:16px}.message-user[data-v-64ab3108]{display:flex;justify-content:flex-end}.user-bubble[data-v-64ab3108]{box-sizing:border-box;max-width:85%;padding:12px 16px;border-radius:8px 8px 0;background:#00478d;box-shadow:0 2px 8px rgba(0,0,0,.04);color:#fff;font-size:16px;line-height:24px}.assistant-message[data-v-64ab3108]{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.assistant-meta[data-v-64ab3108]{gap:8px;color:#00478d;font-size:14px;line-height:20px;font-weight:600}.robot-badge[data-v-64ab3108]{width:28px;height:28px;border-radius:8px;background:#00478d;display:flex;align-items:center;justify-content:center}.robot-icon[data-v-64ab3108]{width:18px;height:18px;background:#fff;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a2%202%200%200%201%201%203.73V7h4a3%203%200%200%201%203%203v7a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3v-7a3%203%200%200%201%203-3h4V5.73A2%202%200%200%201%2012%202zM7%2010a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h10a1%201%200%200%200%201-1v-6a1%201%200%200%200-1-1H7zm2.5%203.5a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zm5%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a2%202%200%200%201%201%203.73V7h4a3%203%200%200%201%203%203v7a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3v-7a3%203%200%200%201%203-3h4V5.73A2%202%200%200%201%2012%202zM7%2010a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h10a1%201%200%200%200%201-1v-6a1%201%200%200%200-1-1H7zm2.5%203.5a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zm5%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203z'/%3E%3C/svg%3E")}.assistant-card[data-v-64ab3108]{box-sizing:border-box;max-width:90%;padding:16px;border:1px solid #c2c6d4;border-radius:0 8px 8px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:12px}.response-intro[data-v-64ab3108],.simple-card[data-v-64ab3108]{color:#191c21;font-size:16px;line-height:24px}.pathway-card[data-v-64ab3108]{box-sizing:border-box;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#f2f3fb;display:flex;flex-direction:column;gap:16px}.pathway-step[data-v-64ab3108]{display:flex;align-items:flex-start;gap:12px}.step-index[data-v-64ab3108]{width:20px;height:20px;border-radius:50%;background:#00478d;color:#fff;font-size:10px;line-height:20px;text-align:center;font-weight:600;flex:0 0 auto;margin-top:2px}.step-copy[data-v-64ab3108]{display:flex;flex-direction:column;gap:2px}.step-title[data-v-64ab3108]{color:#00478d;font-size:14px;line-height:20px;font-weight:600}.step-desc[data-v-64ab3108]{color:#424752;font-size:14px;line-height:20px}.evidence-box[data-v-64ab3108]{padding-top:16px;border-top:1px solid #c2c6d4;display:flex;flex-direction:column;gap:4px}.evidence-heading[data-v-64ab3108]{gap:8px;margin-bottom:4px;color:#006970;font-size:12px;line-height:16px;font-weight:700;letter-spacing:0}.verified-icon[data-v-64ab3108]{width:16px;height:16px;background:#006970;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202l2.39%202.42%203.37-.49.6%203.35%203.02%201.57-1.55%203.03%201.55%203.03-3.02%201.57-.6%203.35-3.37-.49L12%2022l-2.39-2.42-3.37.49-.6-3.35-3.02-1.57%201.55-3.03-1.55-3.03%203.02-1.57.6-3.35%203.37.49L12%202zm-1.1%2013.2l5.66-5.66-1.42-1.42-4.24%204.24-2.12-2.12-1.42%201.42%203.54%203.54z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202l2.39%202.42%203.37-.49.6%203.35%203.02%201.57-1.55%203.03%201.55%203.03-3.02%201.57-.6%203.35-3.37-.49L12%2022l-2.39-2.42-3.37.49-.6-3.35-3.02-1.57%201.55-3.03-1.55-3.03%203.02-1.57.6-3.35%203.37.49L12%202zm-1.1%2013.2l5.66-5.66-1.42-1.42-4.24%204.24-2.12-2.12-1.42%201.42%203.54%203.54z'/%3E%3C/svg%3E")}.evidence-item[data-v-64ab3108]{color:#424752;font-size:13px;line-height:20px;font-style:italic}.typing-row[data-v-64ab3108]{display:flex;align-items:center;gap:8px;color:#727783;font-size:12px;line-height:16px;font-style:italic;opacity:0;transition:opacity .3s ease}.typing-row.visible[data-v-64ab3108]{opacity:1}.typing-dots[data-v-64ab3108]{display:flex;gap:4px}.dot[data-v-64ab3108]{width:6px;height:6px;border-radius:50%;background:#727783;animation:typing-bounce-64ab3108 1s ease-in-out infinite}.dot-two[data-v-64ab3108]{animation-delay:.12s}.dot-three[data-v-64ab3108]{animation-delay:.24s}.input-panel[data-v-64ab3108]{box-sizing:border-box;padding:12px 16px 16px;border-top:1px solid #c2c6d4;background:#fff;flex:0 0 auto}.quick-actions[data-v-64ab3108]{width:100%;margin-bottom:12px;white-space:nowrap}.quick-row[data-v-64ab3108]{display:flex;gap:8px;padding-bottom:4px}.quick-chip[data-v-64ab3108]{box-sizing:border-box;min-height:32px;padding:6px 16px;border:1px solid #c2c6d4;border-radius:12px;background:#ecedf6;color:#424752;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0;white-space:nowrap}.quick-chip[data-v-64ab3108]:active{background:#e7e8f0}.composer[data-v-64ab3108]{box-sizing:border-box;padding:8px;border:1px solid #c2c6d4;border-radius:8px;background:#f2f3fb;display:flex;align-items:flex-end;gap:8px}.composer[data-v-64ab3108]:focus-within{border-color:#00478d}.message-input[data-v-64ab3108]{flex:1;min-height:44px;max-height:128px;padding:8px 0;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.input-placeholder[data-v-64ab3108]{color:#727783}.composer-actions[data-v-64ab3108]{gap:4px;flex:0 0 auto;margin-bottom:4px}.attach-button[data-v-64ab3108],.send-button[data-v-64ab3108]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.attach-icon[data-v-64ab3108]{width:22px;height:22px;background:#727783;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16.5%206.5v9a4.5%204.5%200%200%201-9%200v-10a3%203%200%200%201%206%200v9a1.5%201.5%200%200%201-3%200v-8h2v8a.5.5%200%200%200%201%200v-9a2%202%200%200%200-4%200v10a2.5%202.5%200%200%200%205%200v-9h2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16.5%206.5v9a4.5%204.5%200%200%201-9%200v-10a3%203%200%200%201%206%200v9a1.5%201.5%200%200%201-3%200v-8h2v8a.5.5%200%200%200%201%200v-9a2%202%200%200%200-4%200v10a2.5%202.5%200%200%200%205%200v-9h2z'/%3E%3C/svg%3E")}.send-button[data-v-64ab3108]{background:#00478d}.send-button[data-v-64ab3108]:active{transform:scale(.95)}.send-icon[data-v-64ab3108]{width:20px;height:20px;background:#fff;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021l21-9L2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021l21-9L2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E")}.disclaimer[data-v-64ab3108]{display:block;margin-top:8px;text-align:center;color:#727783;font-size:11px;line-height:16px}.modal-mask[data-v-64ab3108]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:rgba(0,0,0,.2);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.wang-modal[data-v-64ab3108]{width:100%;max-width:340px;border:1px solid #c2c6d4;border-radius:8px;background:#fff;box-shadow:0 18px 48px rgba(25,28,33,.2);overflow:hidden;animation:fade-in-64ab3108 .2s ease-out forwards}.modal-header[data-v-64ab3108]{box-sizing:border-box;padding:24px;border-bottom:1px solid #c2c6d4;background:#fff;display:flex;align-items:center;justify-content:space-between}.modal-doctor[data-v-64ab3108]{gap:16px}.modal-avatar[data-v-64ab3108]{width:56px;height:56px;border:2px solid #00478d;border-radius:50%}.modal-title-group[data-v-64ab3108]{display:flex;flex-direction:column;gap:2px}.modal-title[data-v-64ab3108]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.modal-subtitle[data-v-64ab3108]{color:#727783;font-size:14px;line-height:20px}.close-icon[data-v-64ab3108]{width:22px;height:22px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M18.3%205.71L12%2012l6.3%206.29-1.41%201.41L10.59%2013.41%204.29%2019.7%202.88%2018.29%209.17%2012%202.88%205.71%204.29%204.3l6.3%206.29%206.3-6.29%201.41%201.41z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M18.3%205.71L12%2012l6.3%206.29-1.41%201.41L10.59%2013.41%204.29%2019.7%202.88%2018.29%209.17%2012%202.88%205.71%204.29%204.3l6.3%206.29%206.3-6.29%201.41%201.41z'/%3E%3C/svg%3E")}.modal-body[data-v-64ab3108]{padding:24px;display:flex;flex-direction:column;gap:16px}.quote-card[data-v-64ab3108]{padding:16px;border:1px solid rgba(0,71,141,.1);border-radius:8px;background:rgba(0,94,184,.06);text-align:center;color:#191c21;font-size:16px;line-height:24px;font-style:italic}.mentor-grid[data-v-64ab3108]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mentor-card[data-v-64ab3108]{box-sizing:border-box;min-height:96px;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#f2f3fb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#191c21;font-size:14px;line-height:20px;font-weight:600}.school-small-icon[data-v-64ab3108],.notes-small-icon[data-v-64ab3108]{width:24px;height:24px;background:#00478d}.school-small-icon[data-v-64ab3108]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E")}.notes-small-icon[data-v-64ab3108]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E")}.guidance-button[data-v-64ab3108]{width:100%;min-height:44px;border-radius:8px;background:#00478d;color:#fff;font-size:14px;line-height:20px;font-weight:600}.guidance-button[data-v-64ab3108]:active{transform:scale(.98)}.toast[data-v-64ab3108]{position:absolute;left:50%;bottom:96px;z-index:100;max-width:300px;padding:10px 18px;border-radius:12px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-64ab3108]{opacity:1;transform:translate(-50%)}@keyframes typing-bounce-64ab3108{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fade-in-64ab3108{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (min-width: 768px){.learning-page[data-v-64ab3108]{display:flex;justify-content:center;background:#d8dae2}.learning-shell[data-v-64ab3108]{width:390px;min-height:100vh;box-shadow:0 24px 64px rgba(25,28,33,.18)}}@media (max-height: 760px){.chat-canvas[data-v-64ab3108]{padding:12px 16px}.time-row[data-v-64ab3108]{margin-bottom:20px}.input-panel[data-v-64ab3108]{padding-bottom:12px}} +uni-page-body[data-v-b3d82992]{min-height:100%;background:#f2f3fb}body[data-v-b3d82992]{background:#f2f3fb}.learning-page[data-v-b3d82992]{min-height:100vh;background:#f2f3fb;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.learning-shell[data-v-b3d82992]{position:relative;min-height:100vh;background:#fff;overflow:hidden;display:flex;flex-direction:column}.assistant-header[data-v-b3d82992]{position:relative;z-index:10;box-sizing:border-box;height:56px;padding:0 16px;border-bottom:1px solid #c2c6d4;background:#fff;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.header-left[data-v-b3d82992],.header-actions[data-v-b3d82992],.director-chip[data-v-b3d82992],.assistant-meta[data-v-b3d82992],.evidence-heading[data-v-b3d82992],.composer-actions[data-v-b3d82992],.modal-doctor[data-v-b3d82992]{display:flex;align-items:center}.header-left[data-v-b3d82992],.header-actions[data-v-b3d82992]{gap:12px}.page-title[data-v-b3d82992]{color:#191c21;font-size:18px;line-height:28px;font-weight:600;letter-spacing:0}.icon-button[data-v-b3d82992],.director-chip[data-v-b3d82992],.quick-chip[data-v-b3d82992],.attach-button[data-v-b3d82992],.send-button[data-v-b3d82992],.mentor-card[data-v-b3d82992],.guidance-button[data-v-b3d82992]{padding:0;border:0;background:transparent}.icon-button[data-v-b3d82992]:after,.director-chip[data-v-b3d82992]:after,.quick-chip[data-v-b3d82992]:after,.attach-button[data-v-b3d82992]:after,.send-button[data-v-b3d82992]:after,.mentor-card[data-v-b3d82992]:after,.guidance-button[data-v-b3d82992]:after{border:0}.icon-button[data-v-b3d82992]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.icon-button[data-v-b3d82992]:active{background:rgba(25,28,33,.05)}.director-chip[data-v-b3d82992]{box-sizing:border-box;min-height:32px;padding:4px 8px;border:1px solid #c2c6d4;border-radius:12px;background:#f2f3fb;gap:8px;color:#00478d;font-size:12px;line-height:16px;font-weight:600}.director-thumb[data-v-b3d82992]{width:20px;height:20px;border-radius:50%;flex:0 0 auto}.history-icon[data-v-b3d82992],.more-icon[data-v-b3d82992],.robot-icon[data-v-b3d82992],.verified-icon[data-v-b3d82992],.attach-icon[data-v-b3d82992],.send-icon[data-v-b3d82992],.close-icon[data-v-b3d82992],.school-small-icon[data-v-b3d82992],.notes-small-icon[data-v-b3d82992]{background:#424752;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.history-icon[data-v-b3d82992]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M13%203a9%209%200%201%201-8.95%2010H2l3-3%203%203H6.07A7%207%200%201%200%208.1%208.05L6.68%206.63A8.96%208.96%200%200%201%2013%203zm-1%205h1.5v5l4%202-.75%201.23L12%2013.75V8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M13%203a9%209%200%201%201-8.95%2010H2l3-3%203%203H6.07A7%207%200%201%200%208.1%208.05L6.68%206.63A8.96%208.96%200%200%201%2013%203zm-1%205h1.5v5l4%202-.75%201.23L12%2013.75V8z'/%3E%3C/svg%3E")}.more-icon[data-v-b3d82992]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%208a2%202%200%201%200%200-4%202%202%200%200%200%200%204zm0%202a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%208a2%202%200%201%200%200-4%202%202%200%200%200%200%204zm0%202a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4z'/%3E%3C/svg%3E")}.chat-canvas[data-v-b3d82992]{box-sizing:border-box;flex:1 1 auto;min-height:0;padding:16px;background:#fff}.time-row[data-v-b3d82992]{display:flex;justify-content:center;margin-bottom:32px}.time-row uni-text[data-v-b3d82992]{padding:4px 16px;border-radius:12px;background:#f2f3fb;color:#727783;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0}.message-block[data-v-b3d82992]{margin-bottom:16px}.message-user[data-v-b3d82992]{display:flex;justify-content:flex-end}.user-bubble[data-v-b3d82992]{box-sizing:border-box;max-width:85%;padding:12px 16px;border-radius:8px 8px 0;background:#00478d;box-shadow:0 2px 8px rgba(0,0,0,.04);color:#fff;font-size:16px;line-height:24px}.assistant-message[data-v-b3d82992]{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.assistant-meta[data-v-b3d82992]{gap:8px;color:#00478d;font-size:14px;line-height:20px;font-weight:600}.robot-badge[data-v-b3d82992]{width:28px;height:28px;border-radius:8px;background:#00478d;display:flex;align-items:center;justify-content:center}.robot-icon[data-v-b3d82992]{width:18px;height:18px;background:#fff;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a2%202%200%200%201%201%203.73V7h4a3%203%200%200%201%203%203v7a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3v-7a3%203%200%200%201%203-3h4V5.73A2%202%200%200%201%2012%202zM7%2010a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h10a1%201%200%200%200%201-1v-6a1%201%200%200%200-1-1H7zm2.5%203.5a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zm5%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a2%202%200%200%201%201%203.73V7h4a3%203%200%200%201%203%203v7a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3v-7a3%203%200%200%201%203-3h4V5.73A2%202%200%200%201%2012%202zM7%2010a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h10a1%201%200%200%200%201-1v-6a1%201%200%200%200-1-1H7zm2.5%203.5a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zm5%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203z'/%3E%3C/svg%3E")}.assistant-card[data-v-b3d82992]{box-sizing:border-box;max-width:90%;padding:16px;border:1px solid #c2c6d4;border-radius:0 8px 8px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:12px}.response-intro[data-v-b3d82992],.simple-card[data-v-b3d82992]{color:#191c21;font-size:16px;line-height:24px}.pathway-card[data-v-b3d82992]{box-sizing:border-box;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#f2f3fb;display:flex;flex-direction:column;gap:16px}.pathway-step[data-v-b3d82992]{display:flex;align-items:flex-start;gap:12px}.step-index[data-v-b3d82992]{width:20px;height:20px;border-radius:50%;background:#00478d;color:#fff;font-size:10px;line-height:20px;text-align:center;font-weight:600;flex:0 0 auto;margin-top:2px}.step-copy[data-v-b3d82992]{display:flex;flex-direction:column;gap:2px}.step-title[data-v-b3d82992]{color:#00478d;font-size:14px;line-height:20px;font-weight:600}.step-desc[data-v-b3d82992]{color:#424752;font-size:14px;line-height:20px}.evidence-box[data-v-b3d82992]{padding-top:16px;border-top:1px solid #c2c6d4;display:flex;flex-direction:column;gap:4px}.evidence-heading[data-v-b3d82992]{gap:8px;margin-bottom:4px;color:#006970;font-size:12px;line-height:16px;font-weight:700;letter-spacing:0}.verified-icon[data-v-b3d82992]{width:16px;height:16px;background:#006970;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202l2.39%202.42%203.37-.49.6%203.35%203.02%201.57-1.55%203.03%201.55%203.03-3.02%201.57-.6%203.35-3.37-.49L12%2022l-2.39-2.42-3.37.49-.6-3.35-3.02-1.57%201.55-3.03-1.55-3.03%203.02-1.57.6-3.35%203.37.49L12%202zm-1.1%2013.2l5.66-5.66-1.42-1.42-4.24%204.24-2.12-2.12-1.42%201.42%203.54%203.54z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202l2.39%202.42%203.37-.49.6%203.35%203.02%201.57-1.55%203.03%201.55%203.03-3.02%201.57-.6%203.35-3.37-.49L12%2022l-2.39-2.42-3.37.49-.6-3.35-3.02-1.57%201.55-3.03-1.55-3.03%203.02-1.57.6-3.35%203.37.49L12%202zm-1.1%2013.2l5.66-5.66-1.42-1.42-4.24%204.24-2.12-2.12-1.42%201.42%203.54%203.54z'/%3E%3C/svg%3E")}.evidence-item[data-v-b3d82992]{color:#424752;font-size:13px;line-height:20px;font-style:italic}.typing-row[data-v-b3d82992]{display:flex;align-items:center;gap:8px;color:#727783;font-size:12px;line-height:16px;font-style:italic;opacity:0;transition:opacity .3s ease}.typing-row.visible[data-v-b3d82992]{opacity:1}.typing-dots[data-v-b3d82992]{display:flex;gap:4px}.dot[data-v-b3d82992]{width:6px;height:6px;border-radius:50%;background:#727783;animation:typing-bounce-b3d82992 1s ease-in-out infinite}.dot-two[data-v-b3d82992]{animation-delay:.12s}.dot-three[data-v-b3d82992]{animation-delay:.24s}.input-panel[data-v-b3d82992]{box-sizing:border-box;padding:12px 16px 16px;border-top:1px solid #c2c6d4;background:#fff;flex:0 0 auto}.quick-actions[data-v-b3d82992]{width:100%;margin-bottom:12px;white-space:nowrap}.quick-row[data-v-b3d82992]{display:flex;gap:8px;padding-bottom:4px}.quick-chip[data-v-b3d82992]{box-sizing:border-box;min-height:32px;padding:6px 16px;border:1px solid #c2c6d4;border-radius:12px;background:#ecedf6;color:#424752;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0;white-space:nowrap}.quick-chip[data-v-b3d82992]:active{background:#e7e8f0}.composer[data-v-b3d82992]{box-sizing:border-box;padding:8px;border:1px solid #c2c6d4;border-radius:8px;background:#f2f3fb;display:flex;align-items:flex-end;gap:8px}.composer[data-v-b3d82992]:focus-within{border-color:#00478d}.message-input[data-v-b3d82992]{flex:1;min-height:44px;max-height:128px;padding:8px 0;border:0;background:transparent;color:#191c21;font-size:16px;line-height:24px}.input-placeholder[data-v-b3d82992]{color:#727783}.composer-actions[data-v-b3d82992]{gap:4px;flex:0 0 auto;margin-bottom:4px}.attach-button[data-v-b3d82992],.send-button[data-v-b3d82992]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.attach-icon[data-v-b3d82992]{width:22px;height:22px;background:#727783;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16.5%206.5v9a4.5%204.5%200%200%201-9%200v-10a3%203%200%200%201%206%200v9a1.5%201.5%200%200%201-3%200v-8h2v8a.5.5%200%200%200%201%200v-9a2%202%200%200%200-4%200v10a2.5%202.5%200%200%200%205%200v-9h2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16.5%206.5v9a4.5%204.5%200%200%201-9%200v-10a3%203%200%200%201%206%200v9a1.5%201.5%200%200%201-3%200v-8h2v8a.5.5%200%200%200%201%200v-9a2%202%200%200%200-4%200v10a2.5%202.5%200%200%200%205%200v-9h2z'/%3E%3C/svg%3E")}.send-button[data-v-b3d82992]{background:#00478d}.send-button[data-v-b3d82992]:active{transform:scale(.95)}.send-icon[data-v-b3d82992]{width:20px;height:20px;background:#fff;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021l21-9L2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%2021l21-9L2%203v7l15%202-15%202v7z'/%3E%3C/svg%3E")}.disclaimer[data-v-b3d82992]{display:block;margin-top:8px;text-align:center;color:#727783;font-size:11px;line-height:16px}.modal-mask[data-v-b3d82992]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:rgba(0,0,0,.2);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.wang-modal[data-v-b3d82992]{width:100%;max-width:340px;border:1px solid #c2c6d4;border-radius:8px;background:#fff;box-shadow:0 18px 48px rgba(25,28,33,.2);overflow:hidden;animation:fade-in-b3d82992 .2s ease-out forwards}.modal-header[data-v-b3d82992]{box-sizing:border-box;padding:24px;border-bottom:1px solid #c2c6d4;background:#fff;display:flex;align-items:center;justify-content:space-between}.modal-doctor[data-v-b3d82992]{gap:16px}.modal-avatar[data-v-b3d82992]{width:56px;height:56px;border:2px solid #00478d;border-radius:50%}.modal-title-group[data-v-b3d82992]{display:flex;flex-direction:column;gap:2px}.modal-title[data-v-b3d82992]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.modal-subtitle[data-v-b3d82992]{color:#727783;font-size:14px;line-height:20px}.close-icon[data-v-b3d82992]{width:22px;height:22px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M18.3%205.71L12%2012l6.3%206.29-1.41%201.41L10.59%2013.41%204.29%2019.7%202.88%2018.29%209.17%2012%202.88%205.71%204.29%204.3l6.3%206.29%206.3-6.29%201.41%201.41z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M18.3%205.71L12%2012l6.3%206.29-1.41%201.41L10.59%2013.41%204.29%2019.7%202.88%2018.29%209.17%2012%202.88%205.71%204.29%204.3l6.3%206.29%206.3-6.29%201.41%201.41z'/%3E%3C/svg%3E")}.modal-body[data-v-b3d82992]{padding:24px;display:flex;flex-direction:column;gap:16px}.quote-card[data-v-b3d82992]{padding:16px;border:1px solid rgba(0,71,141,.1);border-radius:8px;background:rgba(0,94,184,.06);text-align:center;color:#191c21;font-size:16px;line-height:24px;font-style:italic}.mentor-grid[data-v-b3d82992]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mentor-card[data-v-b3d82992]{box-sizing:border-box;min-height:96px;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:8px;background:#f2f3fb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#191c21;font-size:14px;line-height:20px;font-weight:600}.school-small-icon[data-v-b3d82992],.notes-small-icon[data-v-b3d82992]{width:24px;height:24px;background:#00478d}.school-small-icon[data-v-b3d82992]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E")}.notes-small-icon[data-v-b3d82992]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%202h9l5%205v15H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2zm8%201.5V8h4.5L14%203.5zM8%2011v2h8v-2H8zm0%204v2h8v-2H8zm0%204h5v-2H8v2z'/%3E%3C/svg%3E")}.guidance-button[data-v-b3d82992]{width:100%;min-height:44px;border-radius:8px;background:#00478d;color:#fff;font-size:14px;line-height:20px;font-weight:600}.guidance-button[data-v-b3d82992]:active{transform:scale(.98)}.toast[data-v-b3d82992]{position:absolute;left:50%;bottom:96px;z-index:100;max-width:300px;padding:10px 18px;border-radius:12px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-b3d82992]{opacity:1;transform:translate(-50%)}@keyframes typing-bounce-b3d82992{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fade-in-b3d82992{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (min-width: 768px){.learning-page[data-v-b3d82992]{display:flex;justify-content:center;background:#d8dae2}.learning-shell[data-v-b3d82992]{width:390px;min-height:100vh;box-shadow:0 24px 64px rgba(25,28,33,.18)}}@media (max-height: 760px){.chat-canvas[data-v-b3d82992]{padding:12px 16px}.time-row[data-v-b3d82992]{margin-bottom:20px}.input-panel[data-v-b3d82992]{padding-bottom:12px}} diff --git a/dist/assets/matching-DEJdzi64.css b/dist/assets/matching-CpbVZD0l.css similarity index 51% rename from dist/assets/matching-DEJdzi64.css rename to dist/assets/matching-CpbVZD0l.css index 69617c3..81c5646 100644 --- a/dist/assets/matching-DEJdzi64.css +++ b/dist/assets/matching-CpbVZD0l.css @@ -1 +1 @@ -uni-page-body[data-v-deb9eb1c]{min-height:100%;background:#fff}body[data-v-deb9eb1c]{background:#fff}.matching-page[data-v-deb9eb1c]{min-height:100vh;background:#fff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.matching-shell[data-v-deb9eb1c]{position:relative;min-height:100vh;overflow:hidden;background:#fff;display:flex;flex-direction:column}.matching-shell[data-v-deb9eb1c]:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background-size:40px 40px;background-image:radial-gradient(circle,rgba(0,71,141,.08) 1px,transparent 1px);pointer-events:none}.top-visual[data-v-deb9eb1c]{position:relative;z-index:1;height:33.333vh;min-height:250px;display:flex;align-items:center;justify-content:center;overflow:hidden}.network[data-v-deb9eb1c]{position:relative;width:256px;height:256px}.ring[data-v-deb9eb1c]{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);box-sizing:border-box}.ring-large[data-v-deb9eb1c]{width:224px;height:224px;border:1px solid rgba(194,198,212,.28);animation:spin-reverse-deb9eb1c 15s linear infinite}.ring-middle[data-v-deb9eb1c]{width:192px;height:192px;border:2px solid rgba(0,71,141,.2);animation:pulse-soft-deb9eb1c 2s ease-in-out infinite}.ring-small[data-v-deb9eb1c]{width:128px;height:128px;border:1px solid rgba(0,105,112,.3);animation:spin-deb9eb1c 10s linear infinite}.node[data-v-deb9eb1c]{position:absolute;border-radius:50%}.node-top[data-v-deb9eb1c]{left:50%;top:16px;width:16px;height:16px;background:#00478d;box-shadow:0 0 15px rgba(0,71,141,.5);transform:translate(-50%)}.node-left[data-v-deb9eb1c]{left:40px;bottom:40px;width:12px;height:12px;background:#006970;box-shadow:0 0 10px rgba(0,105,112,.4)}.node-right[data-v-deb9eb1c]{right:32px;top:80px;width:20px;height:20px;background:#005eb8;box-shadow:0 0 12px rgba(0,94,184,.4)}.particle[data-v-deb9eb1c]{position:absolute;width:4px;height:4px;border-radius:50%;background:#00478d;box-shadow:0 0 8px #00478d;pointer-events:none;animation-name:particle-move-deb9eb1c;animation-timing-function:linear;animation-fill-mode:forwards}.middle-visual[data-v-deb9eb1c]{position:relative;z-index:1;flex:1;padding:40px 20px 0;display:flex;flex-direction:column;align-items:center}.match-bubble[data-v-deb9eb1c]{position:relative;max-width:280px;margin-bottom:24px;padding:12px 16px;border:1px solid #c2c6d4;border-radius:8px;background:#e1e2ea;box-shadow:0 4px 12px rgba(25,28,33,.06);color:#424752;font-size:14px;line-height:20px;font-weight:600}.bubble-tail[data-v-deb9eb1c]{position:absolute;left:50%;bottom:-8px;width:16px;height:16px;border-right:1px solid #c2c6d4;border-bottom:1px solid #c2c6d4;background:#e1e2ea;transform:translate(-50%) rotate(45deg)}.typing-dots[data-v-deb9eb1c]:after{content:"";animation:typing-deb9eb1c 1.5s steps(4) infinite}.director-card[data-v-deb9eb1c]{width:192px;height:192px;margin-bottom:32px;padding:8px;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(25,28,33,.12);box-sizing:border-box;display:flex;align-items:center;justify-content:center;animation:float-soft-deb9eb1c 6s ease-in-out infinite}.director-image[data-v-deb9eb1c]{width:100%;height:100%;border-radius:8px}.intelligence-area[data-v-deb9eb1c]{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.scan-circle[data-v-deb9eb1c]{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center}.pulse-ring[data-v-deb9eb1c]{position:absolute;border-radius:50%;animation:pulse-ring-deb9eb1c 2s cubic-bezier(.455,.03,.515,.955) infinite}.ring-one[data-v-deb9eb1c]{width:96px;height:96px;background:rgba(0,71,141,.1)}.ring-two[data-v-deb9eb1c]{width:76px;height:76px;background:rgba(0,71,141,.2);animation-delay:.5s}.brain-core[data-v-deb9eb1c]{position:relative;z-index:2;width:64px;height:64px;border:1px solid rgba(0,71,141,.2);border-radius:50%;background:#f9f9ff;box-shadow:0 6px 16px rgba(25,28,33,.08);overflow:hidden;display:flex;align-items:center;justify-content:center}.scan-bar[data-v-deb9eb1c]{position:absolute;left:-100%;top:0;width:200%;height:100%;background:linear-gradient(to right,transparent,rgba(0,71,141,.4),transparent);animation:scan-h-deb9eb1c 2s ease-in-out infinite}.brain-icon[data-v-deb9eb1c]{position:relative;z-index:1;width:32px;height:32px;background:#00478d;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%202a4%204%200%200%200-4%204v.1A5%205%200%200%200%203%2010a5%205%200%200%200%202%204v.1A4%204%200%200%200%209%2022h1V2H9zm6%200h-1v20h1a4%204%200%200%200%204-4v-.1a5%205%200%200%200%202-4A5%205%200%200%200%2019%206.1V6a4%204%200%200%200-4-4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%202a4%204%200%200%200-4%204v.1A5%205%200%200%200%203%2010a5%205%200%200%200%202%204v.1A4%204%200%200%200%209%2022h1V2H9zm6%200h-1v20h1a4%204%200%200%200%204-4v-.1a5%205%200%200%200%202-4A5%205%200%200%200%2019%206.1V6a4%204%200%200%200-4-4z'/%3E%3C/svg%3E") center / contain no-repeat;animation:pulse-soft-deb9eb1c 1.8s ease-in-out infinite}.float-tag[data-v-deb9eb1c]{position:absolute;padding:4px 12px;border-radius:999px;border:1px solid transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:10px;line-height:16px;font-weight:500;opacity:0;animation:fade-float-deb9eb1c 1s forwards ease-out,float-deb9eb1c 4s ease-in-out infinite}.tag-pos-0[data-v-deb9eb1c]{left:0;top:-16px;animation-delay:.2s,1.2s}.tag-pos-1[data-v-deb9eb1c]{right:-8px;top:48px;animation-delay:.6s,1.6s}.tag-pos-2[data-v-deb9eb1c]{left:24px;top:118px;animation-delay:1s,2s}.tag-pos-3[data-v-deb9eb1c]{right:0;top:92px;animation-delay:1.4s,2.4s}.tag-secondary[data-v-deb9eb1c]{border-color:rgba(0,105,112,.2);background:rgba(122,241,252,.8);color:#006e75}.tag-primary[data-v-deb9eb1c]{border-color:rgba(0,71,141,.2);background:rgba(214,227,255,.8);color:#001b3d}.tag-tertiary[data-v-deb9eb1c]{border-color:rgba(121,49,0,.2);background:rgba(255,219,203,.8);color:#341100}.tag-neutral[data-v-deb9eb1c]{border-color:rgba(194,198,212,.3);background:rgba(231,232,240,.9);color:#424752}.bottom-progress[data-v-deb9eb1c]{position:relative;z-index:1;padding:20px 20px 48px;display:flex;flex-direction:column;align-items:center}.progress-track[data-v-deb9eb1c]{width:100%;height:8px;margin-bottom:16px;border-radius:999px;background:#f3f4f6;overflow:hidden}.progress-fill[data-v-deb9eb1c]{height:100%;border-radius:inherit;background:#00478d;transition:width 1s ease-out}.progress-subtitle[data-v-deb9eb1c]{max-width:280px;text-align:center;color:#727783;font-size:12px;line-height:16px;font-weight:500}.security-icon[data-v-deb9eb1c]{width:16px;height:16px;margin-top:32px;background:#00478d;opacity:.6;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201a5%205%200%200%200-5%205v3H6a2%202%200%200%200-2%202v9a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-9a2%202%200%200%200-2-2h-1V6a5%205%200%200%200-5-5zm-3%208V6a3%203%200%200%201%206%200v3H9z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201a5%205%200%200%200-5%205v3H6a2%202%200%200%200-2%202v9a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-9a2%202%200%200%200-2-2h-1V6a5%205%200%200%200-5-5zm-3%208V6a3%203%200%200%201%206%200v3H9z'/%3E%3C/svg%3E") center / contain no-repeat}@keyframes typing-deb9eb1c{0%,25%{content:""}50%{content:"."}75%{content:".."}to{content:"..."}}@keyframes particle-move-deb9eb1c{0%{transform:translate(0);opacity:0}20%,80%{opacity:1}to{transform:translate(var(--particle-x),var(--particle-y));opacity:0}}@keyframes pulse-ring-deb9eb1c{0%{transform:scale(.33);opacity:.8}80%,to{transform:scale(1.5);opacity:0}}@keyframes float-deb9eb1c{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-soft-deb9eb1c{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.02)}}@keyframes fade-float-deb9eb1c{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scan-h-deb9eb1c{0%{left:-100%}to{left:100%}}@keyframes spin-deb9eb1c{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spin-reverse-deb9eb1c{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}@keyframes pulse-soft-deb9eb1c{0%,to{opacity:.75}50%{opacity:1}} +uni-page-body[data-v-a610ab33]{min-height:100%;background:#fff}body[data-v-a610ab33]{background:#fff}.matching-page[data-v-a610ab33]{min-height:100vh;background:#fff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.matching-shell[data-v-a610ab33]{position:relative;min-height:100vh;overflow:hidden;background:#fff;display:flex;flex-direction:column}.matching-shell[data-v-a610ab33]:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background-size:40px 40px;background-image:radial-gradient(circle,rgba(0,71,141,.08) 1px,transparent 1px);pointer-events:none}.top-visual[data-v-a610ab33]{position:relative;z-index:1;height:33.333vh;min-height:250px;display:flex;align-items:center;justify-content:center;overflow:hidden}.network[data-v-a610ab33]{position:relative;width:256px;height:256px}.ring[data-v-a610ab33]{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);box-sizing:border-box}.ring-large[data-v-a610ab33]{width:224px;height:224px;border:1px solid rgba(194,198,212,.28);animation:spin-reverse-a610ab33 15s linear infinite}.ring-middle[data-v-a610ab33]{width:192px;height:192px;border:2px solid rgba(0,71,141,.2);animation:pulse-soft-a610ab33 2s ease-in-out infinite}.ring-small[data-v-a610ab33]{width:128px;height:128px;border:1px solid rgba(0,105,112,.3);animation:spin-a610ab33 10s linear infinite}.node[data-v-a610ab33]{position:absolute;border-radius:50%}.node-top[data-v-a610ab33]{left:50%;top:16px;width:16px;height:16px;background:#00478d;box-shadow:0 0 15px rgba(0,71,141,.5);transform:translate(-50%)}.node-left[data-v-a610ab33]{left:40px;bottom:40px;width:12px;height:12px;background:#006970;box-shadow:0 0 10px rgba(0,105,112,.4)}.node-right[data-v-a610ab33]{right:32px;top:80px;width:20px;height:20px;background:#005eb8;box-shadow:0 0 12px rgba(0,94,184,.4)}.particle[data-v-a610ab33]{position:absolute;width:4px;height:4px;border-radius:50%;background:#00478d;box-shadow:0 0 8px #00478d;pointer-events:none;animation-name:particle-move-a610ab33;animation-timing-function:linear;animation-fill-mode:forwards}.middle-visual[data-v-a610ab33]{position:relative;z-index:1;flex:1;padding:40px 20px 0;display:flex;flex-direction:column;align-items:center}.match-bubble[data-v-a610ab33]{position:relative;max-width:280px;margin-bottom:24px;padding:12px 16px;border:1px solid #c2c6d4;border-radius:8px;background:#e1e2ea;box-shadow:0 4px 12px rgba(25,28,33,.06);color:#424752;font-size:14px;line-height:20px;font-weight:600}.bubble-tail[data-v-a610ab33]{position:absolute;left:50%;bottom:-8px;width:16px;height:16px;border-right:1px solid #c2c6d4;border-bottom:1px solid #c2c6d4;background:#e1e2ea;transform:translate(-50%) rotate(45deg)}.typing-dots[data-v-a610ab33]:after{content:"";animation:typing-a610ab33 1.5s steps(4) infinite}.director-card[data-v-a610ab33]{width:192px;height:192px;margin-bottom:32px;padding:8px;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(25,28,33,.12);box-sizing:border-box;display:flex;align-items:center;justify-content:center;animation:float-soft-a610ab33 6s ease-in-out infinite}.director-image[data-v-a610ab33]{width:100%;height:100%;border-radius:8px}.intelligence-area[data-v-a610ab33]{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.scan-circle[data-v-a610ab33]{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center}.pulse-ring[data-v-a610ab33]{position:absolute;border-radius:50%;animation:pulse-ring-a610ab33 2s cubic-bezier(.455,.03,.515,.955) infinite}.ring-one[data-v-a610ab33]{width:96px;height:96px;background:rgba(0,71,141,.1)}.ring-two[data-v-a610ab33]{width:76px;height:76px;background:rgba(0,71,141,.2);animation-delay:.5s}.brain-core[data-v-a610ab33]{position:relative;z-index:2;width:64px;height:64px;border:1px solid rgba(0,71,141,.2);border-radius:50%;background:#f9f9ff;box-shadow:0 6px 16px rgba(25,28,33,.08);overflow:hidden;display:flex;align-items:center;justify-content:center}.scan-bar[data-v-a610ab33]{position:absolute;left:-100%;top:0;width:200%;height:100%;background:linear-gradient(to right,transparent,rgba(0,71,141,.4),transparent);animation:scan-h-a610ab33 2s ease-in-out infinite}.brain-icon[data-v-a610ab33]{position:relative;z-index:1;width:32px;height:32px;background:#00478d;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%202a4%204%200%200%200-4%204v.1A5%205%200%200%200%203%2010a5%205%200%200%200%202%204v.1A4%204%200%200%200%209%2022h1V2H9zm6%200h-1v20h1a4%204%200%200%200%204-4v-.1a5%205%200%200%200%202-4A5%205%200%200%200%2019%206.1V6a4%204%200%200%200-4-4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%202a4%204%200%200%200-4%204v.1A5%205%200%200%200%203%2010a5%205%200%200%200%202%204v.1A4%204%200%200%200%209%2022h1V2H9zm6%200h-1v20h1a4%204%200%200%200%204-4v-.1a5%205%200%200%200%202-4A5%205%200%200%200%2019%206.1V6a4%204%200%200%200-4-4z'/%3E%3C/svg%3E") center / contain no-repeat;animation:pulse-soft-a610ab33 1.8s ease-in-out infinite}.float-tag[data-v-a610ab33]{position:absolute;padding:4px 12px;border-radius:999px;border:1px solid transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:10px;line-height:16px;font-weight:500;opacity:0;animation:fade-float-a610ab33 1s forwards ease-out,float-a610ab33 4s ease-in-out infinite}.tag-pos-0[data-v-a610ab33]{left:0;top:-16px;animation-delay:.2s,1.2s}.tag-pos-1[data-v-a610ab33]{right:-8px;top:48px;animation-delay:.6s,1.6s}.tag-pos-2[data-v-a610ab33]{left:24px;top:118px;animation-delay:1s,2s}.tag-pos-3[data-v-a610ab33]{right:0;top:92px;animation-delay:1.4s,2.4s}.tag-secondary[data-v-a610ab33]{border-color:rgba(0,105,112,.2);background:rgba(122,241,252,.8);color:#006e75}.tag-primary[data-v-a610ab33]{border-color:rgba(0,71,141,.2);background:rgba(214,227,255,.8);color:#001b3d}.tag-tertiary[data-v-a610ab33]{border-color:rgba(121,49,0,.2);background:rgba(255,219,203,.8);color:#341100}.tag-neutral[data-v-a610ab33]{border-color:rgba(194,198,212,.3);background:rgba(231,232,240,.9);color:#424752}.bottom-progress[data-v-a610ab33]{position:relative;z-index:1;padding:20px 20px 48px;display:flex;flex-direction:column;align-items:center}.progress-track[data-v-a610ab33]{width:100%;height:8px;margin-bottom:16px;border-radius:999px;background:#f3f4f6;overflow:hidden}.progress-fill[data-v-a610ab33]{height:100%;border-radius:inherit;background:#00478d;transition:width 1s ease-out}.progress-subtitle[data-v-a610ab33]{max-width:280px;text-align:center;color:#727783;font-size:12px;line-height:16px;font-weight:500}.security-icon[data-v-a610ab33]{width:16px;height:16px;margin-top:32px;background:#00478d;opacity:.6;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201a5%205%200%200%200-5%205v3H6a2%202%200%200%200-2%202v9a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-9a2%202%200%200%200-2-2h-1V6a5%205%200%200%200-5-5zm-3%208V6a3%203%200%200%201%206%200v3H9z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%201a5%205%200%200%200-5%205v3H6a2%202%200%200%200-2%202v9a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-9a2%202%200%200%200-2-2h-1V6a5%205%200%200%200-5-5zm-3%208V6a3%203%200%200%201%206%200v3H9z'/%3E%3C/svg%3E") center / contain no-repeat}@keyframes typing-a610ab33{0%,25%{content:""}50%{content:"."}75%{content:".."}to{content:"..."}}@keyframes particle-move-a610ab33{0%{transform:translate(0);opacity:0}20%,80%{opacity:1}to{transform:translate(var(--particle-x),var(--particle-y));opacity:0}}@keyframes pulse-ring-a610ab33{0%{transform:scale(.33);opacity:.8}80%,to{transform:scale(1.5);opacity:0}}@keyframes float-a610ab33{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-soft-a610ab33{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.02)}}@keyframes fade-float-a610ab33{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scan-h-a610ab33{0%{left:-100%}to{left:100%}}@keyframes spin-a610ab33{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spin-reverse-a610ab33{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}@keyframes pulse-soft-a610ab33{0%,to{opacity:.75}50%{opacity:1}} diff --git a/dist/assets/navigation.C2H9AjnS.js b/dist/assets/navigation.C2H9AjnS.js deleted file mode 100644 index b6b0f69..0000000 --- a/dist/assets/navigation.C2H9AjnS.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as o,J as n}from"./index-BcNbz4lX.js";function e(e){var r;const i=n(),l=Boolean(null==(r=null==i?void 0:i.vnode.props)?void 0:r.onOpenProfile);return function(){l?e("open-profile"):o({url:"/pages/profile/profile"})}}export{e as c}; diff --git a/dist/assets/navigation.CsipbD6y.js b/dist/assets/navigation.CsipbD6y.js new file mode 100644 index 0000000..a32b2bc --- /dev/null +++ b/dist/assets/navigation.CsipbD6y.js @@ -0,0 +1 @@ +import{G as o,D as n,L as e}from"./index-CpNRQgjE.js";function i(n){var i;const l=e(),r=Boolean(null==(i=null==l?void 0:l.vnode.props)?void 0:i.onOpenProfile);return function(){r?n("open-profile"):o({url:"/pages/profile/profile"})}}function l(n){var i;const l=e(),r=Boolean(null==(i=null==l?void 0:l.vnode.props)?void 0:i.onOpenSettings);return function(){r?n("open-settings"):o({url:"/pages/config/config"})}}function r(o){var i;const l=e(),r=Boolean(null==(i=null==l?void 0:l.vnode.props)?void 0:i.onGoHome);return function(){r?o("go-home"):n({url:"/pages/home/home"})}}export{l as a,r as b,i as c}; diff --git a/dist/assets/pages-assessment-assessment.4dFS83cn.js b/dist/assets/pages-assessment-assessment.4dFS83cn.js deleted file mode 100644 index b9d1c0d..0000000 --- a/dist/assets/pages-assessment-assessment.4dFS83cn.js +++ /dev/null @@ -1 +0,0 @@ -import{d as a,a as s,c as l,o as e,q as t,e as r,f as c,g as o,w as d,j as n,k as u,t as i,m as f,L as _,p,F as y,n as x,M as m,N as g,P as b,Q as v,u as h,z as k,A as w,y as T,x as j,S as C,E as F}from"./index-BcNbz4lX.js";import{_ as A}from"./config-doctor.TgARj_nM.js";import{_ as D}from"./_plugin-vue_export-helper.BCo6x5W8.js";const I=D(a({__name:"assessment",setup(a){const D="2023年10月24日",I="STJ-99283-X",P=88,B="优良",M=[{label:"病史采集",score:92,analysis:"问诊逻辑清晰,主诉把握精准。成功识别了诱发因素及既往史。"},{label:"体格检查",score:85,analysis:"操作规范,但触诊顺序有微小疏漏。建议更注重痛点的动态观察。"},{label:"临床思维",score:78,analysis:"能够建立初步假设,但在多系统受累时,思维发散性略显不足。"},{label:"诊断准确性",score:82,analysis:"核心诊断正确。但在鉴别诊断中漏掉了罕见但致死性的并发症。"}],S=s(!1),q=s(""),z=s(!1),E=l((()=>264-264*P/100));let J=null;function L(){"function"==typeof m&&m().length>1?g():N()}function N(){b({url:"/pages/home/home"})}function Q(){v({url:"/pages/learning-assistant/learning-assistant"})}return e((()=>{t((()=>{setTimeout((()=>{S.value=!0}),120)}))})),r((()=>{J&&clearTimeout(J)})),(a,s)=>{const l=k,e=w,t=T,r=j,m=C;return c(),o(l,{class:"assessment-page"},{default:d((()=>[n(l,{class:"top-app-bar"},{default:d((()=>[n(e,{class:"icon-button","aria-label":"返回",onClick:L},{default:d((()=>[n(l,{class:"back-icon"})])),_:1}),n(t,{class:"app-title"},{default:d((()=>[u("AI 学习助手")])),_:1})])),_:1}),n(m,{class:"report-content","scroll-y":""},{default:d((()=>[n(l,{class:"report-head"},{default:d((()=>[n(t,{class:"report-title"},{default:d((()=>[u("训练总结与 AI 评估报告")])),_:1}),n(l,{class:"report-meta"},{default:d((()=>[n(t,null,{default:d((()=>[u("评估日期:"+i(D),1)])),_:1}),n(t,null,{default:d((()=>[u("模拟编号:"+i(I),1)])),_:1})])),_:1})])),_:1}),n(l,{class:"content-stack"},{default:d((()=>[n(l,{class:"overall-card"},{default:d((()=>[n(l,{class:"score-ring"},{default:d((()=>[(c(),f("svg",{class:"ring-svg",viewBox:"0 0 100 100"},[_("circle",{class:"ring-track",cx:"50",cy:"50",fill:"transparent",r:"42","stroke-width":"10"}),_("circle",{class:"ring-value",cx:"50",cy:"50",fill:"transparent",r:"42","stroke-dasharray":"264","stroke-dashoffset":E.value,"stroke-linecap":"round","stroke-width":"10"},null,8,["stroke-dashoffset"])])),n(l,{class:"score-center"},{default:d((()=>[n(t,{class:"score-value"},{default:d((()=>[u(i(P),1)])),_:1}),n(t,{class:"score-total"},{default:d((()=>[u("/100")])),_:1})])),_:1})])),_:1}),n(l,{class:"overall-copy"},{default:d((()=>[n(t,{class:"overall-title"},{default:d((()=>[u("本次考核评价:"),n(t,{class:"primary-text"},{default:d((()=>[u(i(B),1)])),_:1})])),_:1}),n(t,{class:"overall-desc"},{default:d((()=>[u("表现已达到临床住院医师中高级水平。需在复杂病例鉴别诊断上精进。")])),_:1})])),_:1})])),_:1}),n(l,{class:"report-card"},{default:d((()=>[n(l,{class:"section-heading"},{default:d((()=>[n(l,{class:"hub-icon"}),n(t,null,{default:d((()=>[u("临床胜任力雷达图")])),_:1})])),_:1}),n(l,{class:"radar-wrap"},{default:d((()=>[(c(),f("svg",{class:"radar-svg",viewBox:"0 0 400 400"},[_("circle",{class:"radar-grid",cx:"200",cy:"200",r:"160"}),_("circle",{class:"radar-grid",cx:"200",cy:"200",r:"120"}),_("circle",{class:"radar-grid",cx:"200",cy:"200",r:"80"}),_("circle",{class:"radar-grid",cx:"200",cy:"200",r:"40"}),_("line",{class:"radar-grid",x1:"200",x2:"200",y1:"200",y2:"40"}),_("line",{class:"radar-grid",x1:"200",x2:"352",y1:"200",y2:"150"}),_("line",{class:"radar-grid",x1:"200",x2:"294",y1:"200",y2:"330"}),_("line",{class:"radar-grid",x1:"200",x2:"106",y1:"200",y2:"330"}),_("line",{class:"radar-grid",x1:"200",x2:"48",y1:"200",y2:"150"}),_("polygon",{class:"radar-area",points:"200,60 340,160 270,300 120,310 60,170"}),n(t,{class:"radar-label","text-anchor":"middle",x:"200",y:"30"},{default:d((()=>[u("病史采集")])),_:1}),n(t,{class:"radar-label","text-anchor":"start",x:"355",y:"155"},{default:d((()=>[u("体格检查")])),_:1}),n(t,{class:"radar-label","text-anchor":"middle",x:"310",y:"360"},{default:d((()=>[u("临床思维")])),_:1}),n(t,{class:"radar-label","text-anchor":"middle",x:"90",y:"360"},{default:d((()=>[u("诊断准确")])),_:1}),n(t,{class:"radar-label","text-anchor":"end",x:"40",y:"155"},{default:d((()=>[u("治疗方案")])),_:1})]))])),_:1})])),_:1}),n(l,{class:"report-card"},{default:d((()=>[n(l,{class:"section-heading breakdown-title"},{default:d((()=>[n(l,{class:"analytics-icon"}),n(t,null,{default:d((()=>[u("分项得分与解析")])),_:1})])),_:1}),n(l,{class:"breakdown-list"},{default:d((()=>[(c(),f(y,null,p(M,(a=>n(l,{key:a.label,class:"breakdown-item"},{default:d((()=>[n(l,{class:"breakdown-head"},{default:d((()=>[n(t,null,{default:d((()=>[u(i(a.label),1)])),_:2},1024),n(t,{class:"breakdown-score"},{default:d((()=>[u(i(a.score)+"%",1)])),_:2},1024)])),_:2},1024),n(l,{class:"progress-track"},{default:d((()=>[n(l,{class:"progress-fill",style:F({width:S.value?`${a.score}%`:"0%"})},null,8,["style"])])),_:2},1024),n(l,{class:"analysis-box"},{default:d((()=>[n(t,null,{default:d((()=>[u(i(a.analysis),1)])),_:2},1024)])),_:2},1024)])),_:2},1024))),64))])),_:1})])),_:1}),n(l,{class:"mentor-section"},{default:d((()=>[n(l,{class:"mentor-head"},{default:d((()=>[n(r,{class:"mentor-avatar",src:A,mode:"aspectFill"}),n(l,{class:"mentor-title-group"},{default:d((()=>[n(t,{class:"mentor-title"},{default:d((()=>[u("王主任点评")])),_:1}),n(t,{class:"mentor-subtitle"},{default:d((()=>[u("Director's Mentorship")])),_:1})])),_:1})])),_:1}),n(l,{class:"mentor-bubble"},{default:d((()=>[n(l,{class:"mentor-tail"}),n(t,{class:"mentor-copy"},{default:d((()=>[u('"你在病史采集环节表现出了非常好的逻辑性和条理性。不过,在鉴别诊断方面仍有提升空间。继续保持这种严谨态度。"')])),_:1}),n(l,{class:"mentor-action-row"},{default:d((()=>[n(e,{class:"read-button",onClick:Q},{default:d((()=>[n(t,null,{default:d((()=>[u("去查阅")])),_:1}),n(l,{class:"arrow-forward-icon"})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),n(l,{class:"footer-actions"},{default:d((()=>[n(e,{class:"download-button",onClick:s[0]||(s[0]=a=>{return s="完整 PDF 报告生成中",J&&clearTimeout(J),q.value=s,z.value=!0,h({title:s,icon:"none"}),void(J=setTimeout((()=>{z.value=!1}),2200));var s})},{default:d((()=>[u(" 下载完整 PDF 报告 ")])),_:1}),n(e,{class:"next-button",onClick:N},{default:d((()=>[u(" 开始下一轮强化训练 ")])),_:1})])),_:1}),n(l,{class:x(["toast",{visible:z.value}])},{default:d((()=>[u(i(q.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-adfbf634"]]);export{I as default}; diff --git a/dist/assets/pages-assessment-assessment.ej_Zqyan.js b/dist/assets/pages-assessment-assessment.ej_Zqyan.js new file mode 100644 index 0000000..902df2d --- /dev/null +++ b/dist/assets/pages-assessment-assessment.ej_Zqyan.js @@ -0,0 +1 @@ +import{d as a,a as e,r as s,c as l,o as t,b as r,e as c,f as o,w as n,i,j as d,t as u,l as f,N as m,m as _,F as p,n as y,P as v,Q as g,D as b,G as x,s as h,y as w,z as k,x as $,u as S,S as C,H as N,q as j}from"./index-CpNRQgjE.js";import{_ as D}from"./config-doctor.TgARj_nM.js";import{F,a as A,r as T,f as M}from"./session.Cc2HEzjU.js";import{_ as E}from"./_plugin-vue_export-helper.BCo6x5W8.js";const I=E(a({__name:"assessment",setup(a){const E=[{label:"病史采集",percent:92,displayScore:"92%",analysis:"问诊逻辑清晰,主诉把握精准。成功识别了诱发因素及既往史。"},{label:"体格检查",percent:85,displayScore:"85%",analysis:"操作规范,但触诊顺序有微小疏漏。建议更注重痛点的动态观察。"},{label:"临床思维",percent:78,displayScore:"78%",analysis:"能够建立初步假设,但在多系统受累时,思维发散性略显不足。"},{label:"诊断准确性",percent:82,displayScore:"82%",analysis:"核心诊断正确。但在鉴别诊断中漏掉了罕见但致死性的并发症。"}],I=e({date:(P=new Date,`${P.getFullYear()}年${P.getMonth()+1}月${P.getDate()}日`),no:"STJ-99283-X",score:88,level:"优良",overallComment:"表现已达到临床住院医师中高级水平。需在复杂病例鉴别诊断上精进。"});var P;const B=s(!1),O=s(""),J=s(!1),q=s(null),z=l((()=>264-264*I.score/100)),G=l((()=>I.overallComment||"本次评价已生成,请结合分项得分继续强化训练。")),H=l((()=>{const a=q.value;return a?Array.isArray(a.dimension_scores)&&a.dimension_scores.length>0?a.dimension_scores.map((a=>{const e=a.max_score>0?L(Number(a.score)/Number(a.max_score)*100):L(Number(a.score)),s=[a.comment,a.improvement?`改进建议:${a.improvement}`:""].filter(Boolean).join(" ");return{label:a.dimension,percent:e,displayScore:a.max_score>0?`${a.score}/${a.max_score}`:`${a.score}%`,analysis:s||"暂无分项解析。"}})):Array.isArray(a.score_details)&&a.score_details.length>0?a.score_details.map((a=>({label:a.dimension,percent:L(Number(a.score)),displayScore:`${a.score}%`,analysis:a.comment||a.deducted_reason||"暂无分项解析。"}))):E:E}));let K=null;function Q(){"function"==typeof v&&v().length>1?g():V()}function V(){b({url:"/pages/home/home"})}function X(){x({url:"/pages/learning-assistant/learning-assistant"})}function Y(a){K&&clearTimeout(K),O.value=a,J.value=!0,K=setTimeout((()=>{J.value=!1}),2200)}function L(a){return Number.isFinite(a)?Math.max(0,Math.min(100,Math.round(a))):0}async function R(){try{const a=M();I.no=`SID-${a}`;const e=await async function(a,e="percentage"){const s=await fetch(`${F}/sessions/${a}/evaluation`,{method:"POST",headers:A(),body:JSON.stringify({score_type:e})});if(!s.ok)throw new Error(await T(s));const l=await s.json();if("OK"!==l.code||!l.data)throw new Error(l.message||"评价生成失败");return l.data}(a,"percentage");h("clinical-thinking-evaluation",e),function(a){var e;q.value=a,I.no=`EV-${a.evaluation_id}`,I.score=L(Number(a.total_score)),I.level=(e=I.score)>=90?"优秀":e>=80?"优良":e>=70?"良好":e>=60?"合格":"待加强",I.overallComment=a.overall_comment||I.overallComment}(e)}catch(a){Y(a instanceof Error?a.message:"评价生成失败")}finally{B.value=!1,j((()=>{setTimeout((()=>{B.value=!0}),120)}))}}return t((()=>{R()})),r((()=>{K&&clearTimeout(K)})),(a,e)=>{const s=w,l=k,t=$,r=S,v=C;return c(),o(s,{class:"assessment-page"},{default:n((()=>[i(s,{class:"top-app-bar"},{default:n((()=>[i(l,{class:"icon-button","aria-label":"返回",onClick:Q},{default:n((()=>[i(s,{class:"back-icon"})])),_:1}),i(t,{class:"app-title"},{default:n((()=>[d("AI 学习助手")])),_:1})])),_:1}),i(v,{class:"report-content","scroll-y":""},{default:n((()=>[i(s,{class:"report-head"},{default:n((()=>[i(t,{class:"report-title"},{default:n((()=>[d("训练总结与 AI 评估报告")])),_:1}),i(s,{class:"report-meta"},{default:n((()=>[i(t,null,{default:n((()=>[d("评估日期:"+u(I.date),1)])),_:1}),i(t,null,{default:n((()=>[d("模拟编号:"+u(I.no),1)])),_:1})])),_:1})])),_:1}),i(s,{class:"content-stack"},{default:n((()=>[i(s,{class:"overall-card"},{default:n((()=>[i(s,{class:"score-ring"},{default:n((()=>[(c(),f("svg",{class:"ring-svg",viewBox:"0 0 100 100"},[m("circle",{class:"ring-track",cx:"50",cy:"50",fill:"transparent",r:"42","stroke-width":"10"}),m("circle",{class:"ring-value",cx:"50",cy:"50",fill:"transparent",r:"42","stroke-dasharray":"264","stroke-dashoffset":z.value,"stroke-linecap":"round","stroke-width":"10"},null,8,["stroke-dashoffset"])])),i(s,{class:"score-center"},{default:n((()=>[i(t,{class:"score-value"},{default:n((()=>[d(u(I.score),1)])),_:1}),i(t,{class:"score-total"},{default:n((()=>[d("/100")])),_:1})])),_:1})])),_:1}),i(s,{class:"overall-copy"},{default:n((()=>[i(t,{class:"overall-title"},{default:n((()=>[d("本次考核评价:"),i(t,{class:"primary-text"},{default:n((()=>[d(u(I.level),1)])),_:1})])),_:1}),i(t,{class:"overall-desc"},{default:n((()=>[d(u(I.overallComment),1)])),_:1})])),_:1})])),_:1}),i(s,{class:"report-card"},{default:n((()=>[i(s,{class:"section-heading"},{default:n((()=>[i(s,{class:"hub-icon"}),i(t,null,{default:n((()=>[d("临床胜任力雷达图")])),_:1})])),_:1}),i(s,{class:"radar-wrap"},{default:n((()=>[(c(),f("svg",{class:"radar-svg",viewBox:"0 0 400 400"},[m("circle",{class:"radar-grid",cx:"200",cy:"200",r:"160"}),m("circle",{class:"radar-grid",cx:"200",cy:"200",r:"120"}),m("circle",{class:"radar-grid",cx:"200",cy:"200",r:"80"}),m("circle",{class:"radar-grid",cx:"200",cy:"200",r:"40"}),m("line",{class:"radar-grid",x1:"200",x2:"200",y1:"200",y2:"40"}),m("line",{class:"radar-grid",x1:"200",x2:"352",y1:"200",y2:"150"}),m("line",{class:"radar-grid",x1:"200",x2:"294",y1:"200",y2:"330"}),m("line",{class:"radar-grid",x1:"200",x2:"106",y1:"200",y2:"330"}),m("line",{class:"radar-grid",x1:"200",x2:"48",y1:"200",y2:"150"}),m("polygon",{class:"radar-area",points:"200,60 340,160 270,300 120,310 60,170"}),i(t,{class:"radar-label","text-anchor":"middle",x:"200",y:"30"},{default:n((()=>[d("病史采集")])),_:1}),i(t,{class:"radar-label","text-anchor":"start",x:"355",y:"155"},{default:n((()=>[d("体格检查")])),_:1}),i(t,{class:"radar-label","text-anchor":"middle",x:"310",y:"360"},{default:n((()=>[d("临床思维")])),_:1}),i(t,{class:"radar-label","text-anchor":"middle",x:"90",y:"360"},{default:n((()=>[d("诊断准确")])),_:1}),i(t,{class:"radar-label","text-anchor":"end",x:"40",y:"155"},{default:n((()=>[d("治疗方案")])),_:1})]))])),_:1})])),_:1}),i(s,{class:"report-card"},{default:n((()=>[i(s,{class:"section-heading breakdown-title"},{default:n((()=>[i(s,{class:"analytics-icon"}),i(t,null,{default:n((()=>[d("分项得分与解析")])),_:1})])),_:1}),i(s,{class:"breakdown-list"},{default:n((()=>[(c(!0),f(p,null,_(H.value,(a=>(c(),o(s,{key:a.label,class:"breakdown-item"},{default:n((()=>[i(s,{class:"breakdown-head"},{default:n((()=>[i(t,null,{default:n((()=>[d(u(a.label),1)])),_:2},1024),i(t,{class:"breakdown-score"},{default:n((()=>[d(u(a.displayScore),1)])),_:2},1024)])),_:2},1024),i(s,{class:"progress-track"},{default:n((()=>[i(s,{class:"progress-fill",style:N({width:B.value?`${a.percent}%`:"0%"})},null,8,["style"])])),_:2},1024),i(s,{class:"analysis-box"},{default:n((()=>[i(t,null,{default:n((()=>[d(u(a.analysis),1)])),_:2},1024)])),_:2},1024)])),_:2},1024)))),128))])),_:1})])),_:1}),i(s,{class:"mentor-section"},{default:n((()=>[i(s,{class:"mentor-head"},{default:n((()=>[i(r,{class:"mentor-avatar",src:D,mode:"aspectFill"}),i(s,{class:"mentor-title-group"},{default:n((()=>[i(t,{class:"mentor-title"},{default:n((()=>[d("王主任点评")])),_:1}),i(t,{class:"mentor-subtitle"},{default:n((()=>[d("Director's Mentorship")])),_:1})])),_:1})])),_:1}),i(s,{class:"mentor-bubble"},{default:n((()=>[i(s,{class:"mentor-tail"}),i(t,{class:"mentor-copy"},{default:n((()=>[d(u(G.value),1)])),_:1}),i(s,{class:"mentor-action-row"},{default:n((()=>[i(l,{class:"read-button",onClick:X},{default:n((()=>[i(t,null,{default:n((()=>[d("去查阅")])),_:1}),i(s,{class:"arrow-forward-icon"})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),i(s,{class:"footer-actions"},{default:n((()=>[i(l,{class:"download-button",onClick:e[0]||(e[0]=a=>Y("完整 PDF 报告生成中"))},{default:n((()=>[d(" 下载完整 PDF 报告 ")])),_:1}),i(l,{class:"next-button",onClick:V},{default:n((()=>[d(" 开始下一轮强化训练 ")])),_:1})])),_:1}),i(s,{class:y(["toast",{visible:J.value}])},{default:n((()=>[d(u(O.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-121d7ef7"]]);export{I as default}; diff --git a/dist/assets/pages-cases-cases.6AOFEUPY.js b/dist/assets/pages-cases-cases.6AOFEUPY.js new file mode 100644 index 0000000..adf5cfe --- /dev/null +++ b/dist/assets/pages-cases-cases.6AOFEUPY.js @@ -0,0 +1 @@ +import{J as a,K as e,L as s,O as l,d as t,r as c,c as o,o as n,b as i,e as u,f as d,w as r,i as m,E as f,l as _,m as p,F as g,j as h,g as v,t as b,n as k,y as C,z as j,I as x,x as y,S as N,s as w,G as $}from"./index-CpNRQgjE.js";import{f as L}from"./cases.BlouN7SM.js";import{c as V,a as I,b as S}from"./navigation.CsipbD6y.js";import{_ as z}from"./_plugin-vue_export-helper.BCo6x5W8.js";const E=((l,t=0)=>(t,c=s())=>{!a&&e(l,t,c)})(l,2),F=z(t({__name:"cases",emits:["open-settings","open-profile","go-home"],setup(a,{emit:e}){const s=e,l=V(s),t=I(s),z=S(s),F=c([]),G=c(""),J=c(""),K=c(!1),O=c(""),U=o((()=>{const a=G.value.trim().toLowerCase(),e=O.value?F.value.filter((a=>a.mode===O.value)):F.value;return a?e.filter((e=>[e.title,e.patientName,e.gender,String(e.age),e.department,e.scene,e.caseNo].some((e=>e.toLowerCase().includes(a))))):e}));return E((a=>{const e=null==a?void 0:a.mode;"teaching"!==e&&"training"!==e||(O.value=e)})),n((function(){L().then((a=>{F.value=a}))})),i((()=>{})),(a,e)=>{const s=C,c=j,o=x,n=y,i=N;return u(),d(s,{class:"cases-page"},{default:r((()=>[m(s,{class:"case-shell"},{default:r((()=>[m(s,{class:"case-header"},{default:r((()=>[m(c,{class:"icon-button","aria-label":"设置",onClick:f(t)},{default:r((()=>[m(s,{class:"settings-icon"})])),_:1},8,["onClick"]),m(c,{class:"icon-button home-button","aria-label":"首页",onClick:f(z)},{default:r((()=>[m(s,{class:"home-icon"})])),_:1},8,["onClick"]),m(s,{class:"header-spacer"}),m(c,{class:"icon-button","aria-label":"个人中心",onClick:f(l)},{default:r((()=>[m(s,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),m(i,{class:"case-content","scroll-y":""},{default:r((()=>[m(s,{class:"search-row"},{default:r((()=>[m(s,{class:"search-box"},{default:r((()=>[m(s,{class:"search-icon"}),m(o,{class:"search-input",modelValue:G.value,"onUpdate:modelValue":e[0]||(e[0]=a=>G.value=a),type:"text",placeholder:"科室、主诉模糊搜索","placeholder-class":"search-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),m(s,{class:"case-list"},{default:r((()=>[(u(!0),_(g,null,p(U.value,(a=>(u(),d(s,{key:a.id,class:k(["case-card",`mode-${a.mode}`]),onClick:e=>function(a){w("clinical-thinking-selected-case",a),w("clinical-thinking-case-mode",a.mode),$({url:"teaching"===a.mode?"/pages/teaching/teaching":"/pages/scenario/scenario"})}(a)},{default:r((()=>[m(s,{class:"case-main"},{default:r((()=>[m(s,{class:k(["patient-avatar",`avatar-${a.tone}`])},{default:r((()=>[m(n,null,{default:r((()=>[h(b(a.patientName.slice(0,1)),1)])),_:2},1024)])),_:2},1032,["class"]),m(s,{class:"case-info"},{default:r((()=>[m(n,{class:"case-title"},{default:r((()=>[h(b(a.title),1)])),_:2},1024),m(n,{class:"case-meta"},{default:r((()=>[h(b(a.patientName)+","+b(a.gender)+","+b(a.age)+"岁,"+b(a.department)+","+b(a.scene),1)])),_:2},1024)])),_:2},1024)])),_:2},1024),m(s,{class:"case-footer"},{default:r((()=>[m(n,{class:"case-no"},{default:r((()=>[h("病例编号: "+b(a.caseNo),1)])),_:2},1024),m(s,{class:k(["mode-badge",`mode-badge-${a.mode}`])},{default:r((()=>[m(s,{class:k(["mode-icon",`mode-icon-${a.mode}`])},null,8,["class"]),m(n,null,{default:r((()=>{return[h(b((e=a.mode,"teaching"===e?"教学模式":"训练模式")),1)];var e})),_:2},1024)])),_:2},1032,["class"])])),_:2},1024)])),_:2},1032,["class","onClick"])))),128)),0===U.value.length?(u(),d(s,{key:0,class:"empty-state"},{default:r((()=>[m(n,null,{default:r((()=>[h("暂无匹配病例")])),_:1})])),_:1})):v("",!0)])),_:1})])),_:1})])),_:1}),m(s,{class:k(["toast",{visible:K.value}])},{default:r((()=>[h(b(J.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-64c7a872"]]);export{F as default}; diff --git a/dist/assets/pages-cases-cases.RDgMig8l.js b/dist/assets/pages-cases-cases.RDgMig8l.js deleted file mode 100644 index 6325a29..0000000 --- a/dist/assets/pages-cases-cases.RDgMig8l.js +++ /dev/null @@ -1 +0,0 @@ -import{G as e,H as a,J as s,O as t,d as n,a as l,c as o,o as c,e as i,f as d,g as r,C as m,w as u,j as p,m as g,p as f,F as h,k as _,h as v,t as N,n as k,z as b,A as j,I as y,y as C,S as O,s as x}from"./index-BcNbz4lX.js";import{c as P}from"./navigation.C2H9AjnS.js";import{S}from"./scenario.CjEHAMEH.js";import w from"./pages-teaching-teaching.B94VaxdH.js";import{_ as $}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./config-doctor.TgARj_nM.js";import"./chat.BJUnN6Cc.js";import"./pages-diagnosis-diagnosis.m6R6jwOM.js";import"./pages-treatment-treatment.Dvv4RUD4.js";import"./pages-assessment-assessment.4dFS83cn.js";const G=((t,n=0)=>(n,l=s())=>{!e&&a(t,n,l)})(t,2);const H=$(n({__name:"cases",emits:["open-settings","open-profile","go-home"],setup(e,{emit:a}){const s=a,t=P(s),n=l([]),$=l(""),H=l(""),V=l(!1),I=l(null),L=l(!1),z=l(!1),A=l(""),F=o((()=>{const e=$.value.trim().toLowerCase(),a=A.value?n.value.filter((e=>e.mode===A.value)):n.value;return e?a.filter((a=>[a.title,a.patientName,a.gender,String(a.age),a.department,a.scene,a.caseNo].some((a=>a.toLowerCase().includes(e))))):a}));return G((e=>{const a=null==e?void 0:e.mode;"teaching"!==a&&"training"!==a||(A.value=a)})),c((function(){Promise.resolve([{id:"case-31190016",title:"间断四肢多关节肿痛5年,加重1个月",patientName:"郭爱和",gender:"男",age:43,department:"风湿免疫科",scene:"门诊部",caseNo:"31190016",tone:"blue",mode:"training"},{id:"case-31180002",title:"右膝关节疼痛8年,腰背部疼痛2年",patientName:"索航",gender:"男",age:51,department:"风湿免疫科",scene:"住院部",caseNo:"31180002",tone:"teal",mode:"training"},{id:"case-2238015",title:"阴道不规则流血4月。",patientName:"韩爱利",gender:"女",age:52,department:"妇科",scene:"住院部",caseNo:"2238015",tone:"pink",mode:"training"},{id:"case-1006004",title:"持续胸痛3小时",patientName:"陈先生",gender:"男",age:60,department:"心血管内科",scene:"住院部",caseNo:"1006004",tone:"orange",mode:"teaching"},{id:"case-31190042",title:"咳嗽、咳痰10余年,加重1周",patientName:"厉明",gender:"男",age:52,department:"呼吸内科",scene:"普通门诊",caseNo:"31190042",tone:"purple",mode:"training"},{id:"case-2238019",title:"尿频、尿急、尿痛3天",patientName:"刘晓元",gender:"女",age:25,department:"泌尿外科",scene:"急诊留观",caseNo:"2238019",tone:"green",mode:"training"}]).then((e=>{n.value=e}))})),i((()=>{})),(e,a)=>{const n=b,l=j,o=y,c=C,i=O;return L.value?(d(),r(S,{key:0,"case-item":I.value,onOpenSettings:a[0]||(a[0]=e=>s("open-settings")),onOpenProfile:m(t),onGoHome:a[1]||(a[1]=e=>s("go-home"))},null,8,["case-item","onOpenProfile"])):z.value?(d(),r(w,{key:1,"case-item":I.value,onOpenSettings:a[2]||(a[2]=e=>s("open-settings")),onOpenProfile:m(t),onGoHome:a[3]||(a[3]=e=>s("go-home"))},null,8,["case-item","onOpenProfile"])):(d(),r(n,{key:2,class:"cases-page"},{default:u((()=>[p(n,{class:"case-shell"},{default:u((()=>[p(n,{class:"case-header"},{default:u((()=>[p(l,{class:"icon-button","aria-label":"设置",onClick:a[4]||(a[4]=e=>s("open-settings"))},{default:u((()=>[p(n,{class:"settings-icon"})])),_:1}),p(l,{class:"icon-button home-button","aria-label":"首页",onClick:a[5]||(a[5]=e=>s("go-home"))},{default:u((()=>[p(n,{class:"home-icon"})])),_:1}),p(n,{class:"header-spacer"}),p(l,{class:"icon-button","aria-label":"个人中心",onClick:m(t)},{default:u((()=>[p(n,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),p(i,{class:"case-content","scroll-y":""},{default:u((()=>[p(n,{class:"search-row"},{default:u((()=>[p(n,{class:"search-box"},{default:u((()=>[p(n,{class:"search-icon"}),p(o,{class:"search-input",modelValue:$.value,"onUpdate:modelValue":a[6]||(a[6]=e=>$.value=e),type:"text",placeholder:"科室、主诉模糊搜索","placeholder-class":"search-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),p(n,{class:"case-list"},{default:u((()=>[(d(!0),g(h,null,f(F.value,(e=>(d(),r(n,{key:e.id,class:k(["case-card",`mode-${e.mode}`]),onClick:a=>function(e){x("clinical-thinking-selected-case",e),x("clinical-thinking-case-mode",e.mode),I.value=e,"teaching"!==e.mode?L.value=!0:z.value=!0}(e)},{default:u((()=>[p(n,{class:"case-main"},{default:u((()=>[p(n,{class:k(["patient-avatar",`avatar-${e.tone}`])},{default:u((()=>[p(c,null,{default:u((()=>[_(N(e.patientName.slice(0,1)),1)])),_:2},1024)])),_:2},1032,["class"]),p(n,{class:"case-info"},{default:u((()=>[p(c,{class:"case-title"},{default:u((()=>[_(N(e.title),1)])),_:2},1024),p(c,{class:"case-meta"},{default:u((()=>[_(N(e.patientName)+","+N(e.gender)+","+N(e.age)+"岁,"+N(e.department)+","+N(e.scene),1)])),_:2},1024)])),_:2},1024)])),_:2},1024),p(n,{class:"case-footer"},{default:u((()=>[p(c,{class:"case-no"},{default:u((()=>[_("病例编号: "+N(e.caseNo),1)])),_:2},1024),p(n,{class:k(["mode-badge",`mode-badge-${e.mode}`])},{default:u((()=>[p(n,{class:k(["mode-icon",`mode-icon-${e.mode}`])},null,8,["class"]),p(c,null,{default:u((()=>{return[_(N((a=e.mode,"teaching"===a?"教学模式":"训练模式")),1)];var a})),_:2},1024)])),_:2},1032,["class"])])),_:2},1024)])),_:2},1032,["class","onClick"])))),128)),0===F.value.length?(d(),r(n,{key:0,class:"empty-state"},{default:u((()=>[p(c,null,{default:u((()=>[_("暂无匹配病例")])),_:1})])),_:1})):v("",!0)])),_:1})])),_:1})])),_:1}),p(n,{class:k(["toast",{visible:V.value}])},{default:u((()=>[_(N(H.value),1)])),_:1},8,["class"])])),_:1}))}}}),[["__scopeId","data-v-0f597440"]]);export{H as default}; diff --git a/dist/assets/pages-chat-chat.DBQfHqyo.js b/dist/assets/pages-chat-chat.DBQfHqyo.js new file mode 100644 index 0000000..de4b836 --- /dev/null +++ b/dist/assets/pages-chat-chat.DBQfHqyo.js @@ -0,0 +1 @@ +import{d as e,a as l,r as a,c as s,o as t,b as n,e as o,f as i,w as c,i as u,E as r,j as d,t as m,l as p,m as f,F as g,n as _,k as h,g as v,G as b,y as k,z as y,x,S as C,u as V,I as $,M as w}from"./index-CpNRQgjE.js";import{_ as F}from"./config-doctor.TgARj_nM.js";import{r as I}from"./cases.BlouN7SM.js";import{c as D,a as j,b as A}from"./navigation.CsipbD6y.js";import{b as P,d as T,u as U,s as E,e as N}from"./session.Cc2HEzjU.js";import{_ as q}from"./_plugin-vue_export-helper.BCo6x5W8.js";const O={id:"case-1006004",title:"持续胸痛3小时",patientName:"陈先生",gender:"男",age:60,department:"心血管内科",scene:"住院部",caseNo:"1006004",tone:"orange",mode:"training"};const S=q(e({__name:"chat",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:q}){const S=e,M=q,H=D(M),X=j(M),z=A(M),B=l({patient:{name:"陈先生",gender:"男",age:60,department:"心血管内科",chiefComplaint:"持续胸痛3小时"},stages:[{key:"history",label:"病史采集",active:!0},{key:"diagnosis",label:"初步诊断",active:!1},{key:"treatment",label:"治疗方案",active:!1}],messages:[]}),G=a(""),Q=a(!1),R=a(!1),J=a(!1),K=a(0),L=a(""),W=a(!1),Y=a(!1),Z=a(!1),ee=a(null),le=a(null);let ae=null,se=null,te=null;const ne=[{name:"心电图",result:"检查结果:床边12导联心电图提示窦性心律,II、III、aVF 导联 ST 段抬高,提示下壁急性心肌梗死可能。"},{name:"胸部X线",result:"检查结果:胸部X线未见明显气胸或纵隔明显增宽,心影大小基本正常,不能排除急性冠脉综合征。"},{name:"心脏超声",result:"检查结果:心脏超声提示左室下壁节段性运动减低,未见大量心包积液,需结合心电图及心肌标志物判断。"},{name:"冠脉CTA",result:"检查结果:冠脉CTA提示右冠状动脉近段重度狭窄/闭塞可能,建议结合急诊介入评估。"}],oe=l({temperature:"",pulse:"",respiration:"",bloodPressure:"",spo2:"",complexion:"",examFinding:"",otherFinding:""}),ie=s((()=>S.caseItem||le.value)),ce=s((()=>B.patient.chiefComplaint.includes("胸痛")?"胸痛":B.patient.chiefComplaint.slice(0,6)));function ue(){(function(e){const l=e||O,a="毕波涛"===l.patientName?"陈先生":l.patientName;return Promise.resolve({patient:{name:a,gender:l.gender,age:l.age,department:l.department,chiefComplaint:l.title},stages:[{key:"history",label:"病史采集",active:!0},{key:"diagnosis",label:"初步诊断",active:!1},{key:"treatment",label:"治疗方案",active:!1}],messages:[{id:"patient-initial",role:"patient",content:"心血管内科"===l.department?"医生,我心口这儿针扎一样疼了两个小时了,现在感觉喘气都费劲。":`医生,我这次主要是${l.title},有点担心。`,label:"患者"},{id:"mentor-initial",role:"mentor",content:"观察患者的面部表情和生命体征。你的第一个问题应该如何询问,以明确疼痛的性质?",label:"王主任"}]})})(ie.value).then((e=>{var l;Object.assign(B.patient,e.patient),B.stages=e.stages;const a=P();if(null==(l=null==a?void 0:a.session)?void 0:l.session_id)return ee.value=a.session.session_id,B.messages=a.session.patient_opening?[{id:`patient-opening-${a.session.session_id}`,role:"patient",content:a.session.patient_opening,label:"患者"}]:[],ve(),void _e("开始问诊");B.messages=e.messages,ve()}))}async function re(){if(J.value)return;if(Q.value||R.value)return void be("请等待当前回复完成");const e=ee.value;if(e){J.value=!0;try{const l=await T(e);U(l.status),b({url:"/pages/diagnosis/diagnosis"})}catch(l){be(l instanceof Error?l.message:"完成采集失败")}finally{J.value=!1}}else be("未找到当前会话,请先生成模拟场景")}function de(){Z.value=!1,Y.value=!0}function me(){Y.value=!1,Z.value=!0}function pe(){const e=[oe.temperature.trim()?`体温 ${oe.temperature.trim()}℃`:"",oe.pulse.trim()?`心率 ${oe.pulse.trim()}次/分`:"",oe.respiration.trim()?`呼吸 ${oe.respiration.trim()}次/分`:"",oe.bloodPressure.trim()?`血压 ${oe.bloodPressure.trim()}mmHg`:"",oe.spo2.trim()?`血氧 ${oe.spo2.trim()}%`:"",oe.complexion.trim()?`意识/面色:${oe.complexion.trim()}`:"",oe.examFinding.trim()?`心肺/腹部查体:${oe.examFinding.trim()}`:"",oe.otherFinding.trim()?`其他发现:${oe.otherFinding.trim()}`:""].filter(Boolean);if(0===e.length)return void be("请至少录入一项体格检查");const l=Date.now(),a=[{id:`doctor-physical-${l}`,role:"doctor",content:`录入体格检查:${e.join(";")}`,label:"我"},{id:`mentor-physical-${l+1}`,role:"mentor",content:fe(),label:"AI助手"}];B.messages.push(...a),Z.value=!1,oe.temperature="",oe.pulse="",oe.respiration="",oe.bloodPressure="",oe.spo2="",oe.complexion="",oe.examFinding="",oe.otherFinding="",ve()}function fe(){const e=Number(oe.pulse),l=Number(oe.respiration),a=Number(oe.spo2),s=Number(oe.temperature),t=[];e>=100&&t.push("心率偏快"),l>=22&&t.push("呼吸频率偏快"),a>0&&a<95&&t.push("血氧偏低"),s>=37.3&&t.push("体温偏高"),(oe.complexion.includes("苍白")||oe.complexion.includes("出汗"))&&t.push("面色/出汗提示急性病容"),(oe.otherFinding.includes("血压差")||oe.otherFinding.includes("双侧"))&&t.push("双侧血压或脉搏差异需警惕主动脉夹层");return`${t.length?`已记录体格检查。当前提示:${t.join("、")}。`:"已记录体格检查,暂未见明确异常体征。"}建议结合胸痛性质、心电图及心肌标志物进一步判断,并持续监测生命体征变化。`}function ge(){const e=G.value.trim();if(e&&!Q.value){if(G.value="",ee.value)return B.messages.push({id:`doctor-${Date.now()}`,role:"doctor",content:e,label:"我"}),ve(),void _e(e);Q.value=!0,function(e){const l=e.trim(),a=l.includes("出冷汗")||l.includes("恶心")?"有,刚才疼得厉害的时候出了一身冷汗,还有点恶心,但没有吐。":l.includes("体格检查")?"患者面色苍白,额部出汗,心率偏快,血压较入院时略低。":l.includes("辅助检查")?"心电图提示下壁导联 ST 段抬高,肌钙蛋白待回报。":"疼痛主要在胸骨后,像压榨一样,休息后也没有明显缓解。";return Promise.resolve([{id:`doctor-${Date.now()}`,role:"doctor",content:l,label:"我"},{id:`patient-${Date.now()+1}`,role:"patient",content:a,label:"患者"},{id:`mentor-${Date.now()+2}`,role:"mentor",content:"很好,继续围绕 OPQRST 思路追问疼痛诱因、部位、性质、放射、持续时间和缓解因素,同时关注危险信号。",label:"王主任"}])}(e).then((e=>{B.messages.push(...e),ve()})).finally((()=>{Q.value=!1}))}}async function _e(e){const l=ee.value;if(!l)return;Q.value=!0,null==se||se.abort(),se=new AbortController;const a=B.messages.length;B.messages.push({id:`patient-stream-${Date.now()}`,role:"patient",content:"",label:"患者"}),ve();try{await E(l,e,{onDelta(e){B.messages[a].content+=e,ve()}},se.signal)}catch(s){if(s instanceof DOMException&&"AbortError"===s.name)return;B.messages[a].content.trim()||(B.messages[a].content="AI 病人回复失败,请重试。"),be(s instanceof Error?s.message:"AI 流式回复异常")}finally{Q.value=!1,se=null,ve()}}async function he(){const e=ee.value;if(!e)return void be("请先生成模拟场景");if(R.value)return;R.value=!0,null==te||te.abort(),te=new AbortController;const l=B.messages.length;B.messages.push({id:`mentor-hint-${Date.now()}`,role:"mentor",content:"王主任正在生成提示...",label:"王主任"}),ve();try{let a=!1;await N(e,function(){const e=[...B.messages].reverse().find((e=>"doctor"===e.role));return(null==e?void 0:e.content)||"开始问诊"}(),{onDelta(e){a||(B.messages[l].content="",a=!0),B.messages[l].content+=e,ve()}},te.signal)}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)return;B.messages[l].content.trim()&&"王主任正在生成提示..."!==B.messages[l].content||(B.messages[l].content="练习提示生成失败,请稍后重试。"),be(a instanceof Error?a.message:"练习提示生成失败,请稍后重试")}finally{R.value=!1,te=null,ve()}}function ve(){setTimeout((()=>{K.value+=1e3}),60)}function be(e){ae&&clearTimeout(ae),L.value=e,W.value=!0,ae=setTimeout((()=>{W.value=!1}),2200)}return t((()=>{le.value=I(),ue()})),n((()=>{null==se||se.abort(),null==te||te.abort(),ae&&clearTimeout(ae)})),(e,l)=>{const a=k,s=y,t=x,n=C,b=V,I=$,D=w;return o(),i(a,{class:"chat-page"},{default:c((()=>[u(a,{class:"chat-shell"},{default:c((()=>[u(a,{class:"top-nav"},{default:c((()=>[u(s,{class:"icon-button","aria-label":"设置",onClick:r(X)},{default:c((()=>[u(a,{class:"settings-icon"})])),_:1},8,["onClick"]),u(s,{class:"icon-button home-button","aria-label":"首页",onClick:r(z)},{default:c((()=>[u(a,{class:"home-icon"})])),_:1},8,["onClick"]),u(a,{class:"nav-spacer"}),u(s,{class:"icon-button","aria-label":"个人中心",onClick:r(H)},{default:c((()=>[u(a,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),u(a,{class:"case-header"},{default:c((()=>[u(a,{class:"case-title-row"},{default:c((()=>[u(t,{class:"case-heading"},{default:c((()=>[d("患者:"+m(B.patient.name)+" ("+m(ce.value)+")",1)])),_:1}),u(s,{class:"finish-button",disabled:J.value,onClick:re},{default:c((()=>[u(a,{class:"check-icon"}),u(t,null,{default:c((()=>[d(m(J.value?"提交中":"完成采集"),1)])),_:1})])),_:1},8,["disabled"])])),_:1}),u(a,{class:"patient-meta"},{default:c((()=>[u(t,null,{default:c((()=>[d("姓名:"+m(B.patient.name),1)])),_:1}),u(t,null,{default:c((()=>[d("性别:"+m(B.patient.gender),1)])),_:1}),u(t,null,{default:c((()=>[d("年龄:"+m(B.patient.age)+"岁",1)])),_:1}),u(t,null,{default:c((()=>[d("科室:"+m(B.patient.department),1)])),_:1})])),_:1})])),_:1}),u(a,{class:"stage-bar"},{default:c((()=>[u(a,{class:"stage-line"}),u(a,{class:"stage-line-active"}),(o(!0),p(g,null,f(B.stages,(e=>(o(),i(a,{key:e.key,class:_(["stage-item",{active:e.active}])},{default:c((()=>[u(a,{class:"stage-dot"},{default:c((()=>[u(a,{class:_(["stage-icon",`stage-icon-${e.key}`])},null,8,["class"])])),_:2},1024),u(t,null,{default:c((()=>[d(m(e.label),1)])),_:2},1024)])),_:2},1032,["class"])))),128))])),_:1}),u(n,{class:"chat-body","scroll-y":"","scroll-top":K.value},{default:c((()=>[u(a,{class:"message-list"},{default:c((()=>[(o(!0),p(g,null,f(B.messages,(e=>(o(),i(a,{key:e.id,class:_(["message-row",[`role-${e.role}`]])},{default:c((()=>["patient"===e.role?(o(),i(a,{key:0,class:"avatar patient-avatar"},{default:c((()=>[u(t,null,{default:c((()=>[d(m(B.patient.name.slice(0,1)),1)])),_:1})])),_:1})):v("",!0),u(a,{class:_(["message-bubble",`${e.role}-bubble`])},{default:c((()=>[u(t,{class:"message-content"},{default:c((()=>[d('"'+m(e.content)+'"',1)])),_:2},1024),u(a,{class:_(["message-label",{mentor:"mentor"===e.role}])},{default:c((()=>["mentor"===e.role?(o(),i(a,{key:0,class:"star-icon"})):v("",!0),u(t,null,{default:c((()=>[d(m(e.label),1)])),_:2},1024)])),_:2},1032,["class"])])),_:2},1032,["class"]),"doctor"===e.role?(o(),i(a,{key:1,class:"avatar doctor-avatar"},{default:c((()=>[u(a,{class:"person-icon"})])),_:1})):v("",!0)])),_:2},1032,["class"])))),128))])),_:1})])),_:1},8,["scroll-top"]),u(a,{class:_(["mentor-float",{loading:R.value}]),onClick:[h(he,["stop"]),h(he,["stop"])]},{default:c((()=>[u(t,{class:"mentor-badge"},{default:c((()=>[d("王主任")])),_:1}),u(a,{class:"mentor-avatar",onClick:[h(he,["stop"]),h(he,["stop"])]},{default:c((()=>[u(b,{src:F,mode:"aspectFill"})])),_:1})])),_:1},8,["class"]),u(a,{class:"input-panel"},{default:c((()=>[u(n,{class:"quick-actions","scroll-x":""},{default:c((()=>[u(a,{class:"quick-row"},{default:c((()=>[u(s,{class:"quick-chip",onClick:me},{default:c((()=>[d("体格检查")])),_:1}),u(s,{class:"quick-chip",onClick:de},{default:c((()=>[d("辅助检查")])),_:1})])),_:1})])),_:1}),u(a,{class:"input-row"},{default:c((()=>[u(I,{class:"chat-input",modelValue:G.value,"onUpdate:modelValue":l[0]||(l[0]=e=>G.value=e),type:"text",placeholder:"输入你对患者的提问...","placeholder-class":"input-placeholder",onConfirm:ge},null,8,["modelValue"]),u(s,{class:"send-button",disabled:Q.value,onClick:ge},{default:c((()=>[u(a,{class:"send-icon"})])),_:1},8,["disabled"])])),_:1})])),_:1})])),_:1}),Z.value?(o(),i(a,{key:0,class:"exam-mask",onClick:l[12]||(l[12]=e=>Z.value=!1)},{default:c((()=>[u(a,{class:"physical-panel",onClick:l[11]||(l[11]=h((()=>{}),["stop"]))},{default:c((()=>[u(a,{class:"exam-header"},{default:c((()=>[u(t,{class:"exam-title"},{default:c((()=>[d("录入体格检查")])),_:1}),u(s,{class:"exam-close","aria-label":"关闭",onClick:l[1]||(l[1]=e=>Z.value=!1)},{default:c((()=>[u(a,{class:"close-icon"})])),_:1})])),_:1}),u(n,{class:"physical-form","scroll-y":""},{default:c((()=>[u(a,{class:"vital-grid"},{default:c((()=>[u(a,{class:"form-field"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("体温")])),_:1}),u(I,{class:"field-input",modelValue:oe.temperature,"onUpdate:modelValue":l[2]||(l[2]=e=>oe.temperature=e),type:"digit",placeholder:"36.8","placeholder-class":"field-placeholder"},null,8,["modelValue"]),u(t,{class:"field-unit"},{default:c((()=>[d("℃")])),_:1})])),_:1}),u(a,{class:"form-field"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("心率")])),_:1}),u(I,{class:"field-input",modelValue:oe.pulse,"onUpdate:modelValue":l[3]||(l[3]=e=>oe.pulse=e),type:"number",placeholder:"98","placeholder-class":"field-placeholder"},null,8,["modelValue"]),u(t,{class:"field-unit"},{default:c((()=>[d("次/分")])),_:1})])),_:1}),u(a,{class:"form-field"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("呼吸")])),_:1}),u(I,{class:"field-input",modelValue:oe.respiration,"onUpdate:modelValue":l[4]||(l[4]=e=>oe.respiration=e),type:"number",placeholder:"22","placeholder-class":"field-placeholder"},null,8,["modelValue"]),u(t,{class:"field-unit"},{default:c((()=>[d("次/分")])),_:1})])),_:1}),u(a,{class:"form-field"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("血氧")])),_:1}),u(I,{class:"field-input",modelValue:oe.spo2,"onUpdate:modelValue":l[5]||(l[5]=e=>oe.spo2=e),type:"number",placeholder:"96","placeholder-class":"field-placeholder"},null,8,["modelValue"]),u(t,{class:"field-unit"},{default:c((()=>[d("%")])),_:1})])),_:1})])),_:1}),u(a,{class:"form-field full"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("血压")])),_:1}),u(I,{class:"field-input",modelValue:oe.bloodPressure,"onUpdate:modelValue":l[6]||(l[6]=e=>oe.bloodPressure=e),type:"text",placeholder:"138/86","placeholder-class":"field-placeholder"},null,8,["modelValue"]),u(t,{class:"field-unit"},{default:c((()=>[d("mmHg")])),_:1})])),_:1}),u(a,{class:"form-field full"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("意识/面色")])),_:1}),u(I,{class:"field-input",modelValue:oe.complexion,"onUpdate:modelValue":l[7]||(l[7]=e=>oe.complexion=e),type:"text",placeholder:"清醒,面色苍白,出汗","placeholder-class":"field-placeholder"},null,8,["modelValue"])])),_:1}),u(a,{class:"form-field textarea-field"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("心肺/腹部查体")])),_:1}),u(D,{class:"field-textarea",modelValue:oe.examFinding,"onUpdate:modelValue":l[8]||(l[8]=e=>oe.examFinding=e),placeholder:"心音、肺部啰音、腹部压痛等","placeholder-class":"field-placeholder"},null,8,["modelValue"])])),_:1}),u(a,{class:"form-field textarea-field"},{default:c((()=>[u(t,{class:"field-label"},{default:c((()=>[d("其他发现")])),_:1}),u(D,{class:"field-textarea",modelValue:oe.otherFinding,"onUpdate:modelValue":l[9]||(l[9]=e=>oe.otherFinding=e),placeholder:"如双侧血压差、下肢水肿、神经系统体征等","placeholder-class":"field-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),u(a,{class:"physical-actions"},{default:c((()=>[u(s,{class:"physical-cancel",onClick:l[10]||(l[10]=e=>Z.value=!1)},{default:c((()=>[d("取消")])),_:1}),u(s,{class:"physical-submit",onClick:pe},{default:c((()=>[d("提交检查结果")])),_:1})])),_:1})])),_:1})])),_:1})):v("",!0),Y.value?(o(),i(a,{key:1,class:"exam-mask",onClick:l[15]||(l[15]=e=>Y.value=!1)},{default:c((()=>[u(a,{class:"exam-panel",onClick:l[14]||(l[14]=h((()=>{}),["stop"]))},{default:c((()=>[u(a,{class:"exam-header"},{default:c((()=>[u(t,{class:"exam-title"},{default:c((()=>[d("选择辅助检查")])),_:1}),u(s,{class:"exam-close","aria-label":"关闭",onClick:l[13]||(l[13]=e=>Y.value=!1)},{default:c((()=>[u(a,{class:"close-icon"})])),_:1})])),_:1}),u(a,{class:"exam-list"},{default:c((()=>[(o(),p(g,null,f(ne,(e=>u(s,{key:e.name,class:"exam-item",onClick:l=>function(e){Y.value=!1;const l=Date.now(),a=[{id:`doctor-exam-${l}`,role:"doctor",content:`选择辅助检查:${e.name}`,label:"我"},{id:`mentor-exam-${l+1}`,role:"mentor",content:e.result,label:"AI助手"}];B.messages.push(...a),ve()}(e)},{default:c((()=>[u(t,{class:"exam-name"},{default:c((()=>[d(m(e.name),1)])),_:2},1024),u(a,{class:"chevron-icon"})])),_:2},1032,["onClick"]))),64))])),_:1})])),_:1})])),_:1})):v("",!0),u(a,{class:_(["toast",{visible:W.value}])},{default:c((()=>[d(m(L.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-5cbdbcc3"]]);export{S as default}; diff --git a/dist/assets/pages-config-config.JVS5qOJO.js b/dist/assets/pages-config-config.JVS5qOJO.js deleted file mode 100644 index a5740a6..0000000 --- a/dist/assets/pages-config-config.JVS5qOJO.js +++ /dev/null @@ -1 +0,0 @@ -import{d as e,b as a,a as l,c as s,o as t,e as c,f as i,g as n,C as u,w as o,j as d,n as r,k as v,t as p,m as f,p as m,F as _,l as b,h as g,D as k,s as h,u as j,x,z as y,y as C,A as T,S as w}from"./index-BcNbz4lX.js";import{_ as I}from"./scenario.CjEHAMEH.js";import{_ as O}from"./config-doctor.TgARj_nM.js";import S from"./pages-home-home.Cv-ZRphr.js";import{c as P}from"./navigation.C2H9AjnS.js";import{_ as A}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./chat.BJUnN6Cc.js";import"./pages-diagnosis-diagnosis.m6R6jwOM.js";import"./pages-treatment-treatment.Dvv4RUD4.js";import"./pages-assessment-assessment.4dFS83cn.js";import"./pages-learning-assistant-learning-assistant.vx1Z8Ujc.js";import"./pages-matching-matching.CuL-3Fys.js";import"./pages-cases-cases.RDgMig8l.js";import"./pages-teaching-teaching.B94VaxdH.js";const D={departments:[{value:"im",label:"内科",desc:"心内、呼吸、消化、肾内等临床场景"},{value:"sur",label:"外科",desc:"普外、骨科、神外、胸外等临床场景"},{value:"ped",label:"儿科",desc:"儿童常见病、急重症与沟通训练"},{value:"obg",label:"妇产科",desc:"围产、妇科、产科急症训练"},{value:"er",label:"急诊科",desc:"分诊、抢救、危急值处置训练"},{value:"icu",label:"重症医学科",desc:"危重症评估与多学科决策训练"}],titles:[{value:"resident",label:"住院医师",desc:"强化基础诊疗路径与病历思维"},{value:"attending",label:"主治医师",desc:"提升独立诊疗和带教表达"},{value:"associate_chief",label:"副主任医师",desc:"复杂病例决策与团队协作"},{value:"chief",label:"主任医师",desc:"疑难病例、质控和教学管理"}],experiences:[{value:"1-3",label:"1-3年",desc:"基础病例训练优先"},{value:"3-5",label:"3-5年",desc:"进阶诊疗路径优先"},{value:"5-10",label:"5-10年",desc:"复杂病例推演优先"},{value:"10+",label:"10年以上",desc:"疑难病例与带教模拟优先"}]};const F=A(e({__name:"config",emits:["open-profile"],setup(e,{emit:A}){const F=a({department:"im",title:"resident",experience:"1-3"}),N=l(D),M=l("欢迎回来!请配置执业信息,开始精准带教模拟。"),z=l(""),$=l(!1),q=l(""),B=l(!1),E=l(!1),G=l("idle"),H=l(""),J=l(!1),K=l(!1),L=P(A);let Q=null,R=null;const U=s((()=>ee("departments",F.department))),V=s((()=>ee("titles",F.title))),W=s((()=>ee("experiences",F.experience))),X=s((()=>{const e={department:N.value.departments,title:N.value.titles,experience:N.value.experiences},a=q.value;return a?e[a]:[]})),Y=s((()=>{const e=q.value;return e?{department:"选择执业科室",title:"选择专业职称",experience:"选择执业年限"}[e]:"请选择"})),Z=s((()=>E.value?"正在保存...":"saved"===G.value?"已就绪":"确认并继续"));function ee(e,a){const l=N.value[e]||[];return l.find((e=>e.value===a))||l[0]||{label:"请选择",value:""}}function ae(e){q.value=e,B.value=!0}function le(){B.value=!1,q.value=""}function se(){const e=k("clinical-thinking-user")||{},a={userId:e.id?String(e.id):"mock-user-guest",phone:e.phone||"",institutionId:e.institutionId||e.institution||"",department:F.department,title:F.title,experience:F.experience,departmentName:U.value.label,titleName:V.value.label,experienceName:W.value.label};E.value=!0,G.value="idle",function(e){return Promise.resolve({id:`mock-config-${Date.now()}`,...e,updatedAt:(new Date).toISOString()})}(a).then((e=>{h("clinical-thinking-config",e),E.value=!1,G.value="saved",ce("配置已保存"),setTimeout((()=>{K.value=!0}),500)})).catch((()=>{E.value=!1,ce("保存失败,请稍后重试")}))}function te(){K.value=!1,G.value="idle"}function ce(e){R&&clearTimeout(R),H.value=e,J.value=!0,j({title:e,icon:"none"}),R=setTimeout((()=>{J.value=!1}),2200)}return t((function(){Promise.resolve({options:D,defaults:{department:"im",title:"resident",experience:"1-3"},mentor:{name:"王主任",message:"欢迎回来!请配置执业信息,开始精准带教模拟。"}}).then((({options:e,defaults:a,mentor:l})=>{N.value=e,Object.assign(F,a),M.value=l.message,function(){Q&&clearTimeout(Q);z.value="",$.value=!0;let e=0;const a=()=>{e{Q&&clearTimeout(Q),R&&clearTimeout(R)})),(e,a)=>{const l=x,s=y,t=C,c=T,k=w;return K.value?(i(),n(S,{key:0,onOpenSettings:te,onOpenProfile:u(L)},null,8,["onOpenProfile"])):(i(),n(s,{key:1,class:"config-page"},{default:o((()=>[d(s,{class:"phone-frame"},{default:o((()=>[d(s,{class:"hero-section"},{default:o((()=>[d(l,{class:"hospital-image",src:I,mode:"aspectFill"}),d(s,{class:"hero-overlay"})])),_:1}),d(s,{class:"profile-section"},{default:o((()=>[d(s,{class:"section-glow"}),d(s,{class:"profile-content"},{default:o((()=>[d(s,{class:"intro-row"},{default:o((()=>[d(s,{class:"doctor-card"},{default:o((()=>[d(l,{class:"doctor-image",src:O,mode:"aspectFit"})])),_:1}),d(s,{class:"bubble"},{default:o((()=>[d(t,{class:r(["bubble-text",{typing:$.value}])},{default:o((()=>[v(p(z.value),1)])),_:1},8,["class"]),d(s,{class:"bubble-arrow"})])),_:1})])),_:1}),d(s,{class:"form-area"},{default:o((()=>[d(s,{class:"field-block"},{default:o((()=>[d(t,{class:"field-label"},{default:o((()=>[v("执业科室")])),_:1}),d(s,{class:"glass-select",onClick:a[0]||(a[0]=e=>ae("department"))},{default:o((()=>[d(t,{class:"select-value"},{default:o((()=>[v(p(U.value.label),1)])),_:1}),d(s,{class:"chevron"})])),_:1})])),_:1}),d(s,{class:"field-grid"},{default:o((()=>[d(s,{class:"field-block"},{default:o((()=>[d(t,{class:"field-label"},{default:o((()=>[v("专业职称")])),_:1}),d(s,{class:"glass-select",onClick:a[1]||(a[1]=e=>ae("title"))},{default:o((()=>[d(t,{class:"select-value"},{default:o((()=>[v(p(V.value.label),1)])),_:1}),d(s,{class:"chevron"})])),_:1})])),_:1}),d(s,{class:"field-block"},{default:o((()=>[d(t,{class:"field-label"},{default:o((()=>[v("执业年限")])),_:1}),d(s,{class:"glass-select",onClick:a[2]||(a[2]=e=>ae("experience"))},{default:o((()=>[d(t,{class:"select-value"},{default:o((()=>[v(p(W.value.label),1)])),_:1}),d(s,{class:"chevron"})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),d(s,{class:"action-section"},{default:o((()=>[d(c,{class:r(["submit-button",{saved:"saved"===G.value}]),disabled:E.value,onClick:se},{default:o((()=>[E.value?(i(),n(s,{key:0,class:"spinner"})):"saved"===G.value?(i(),n(s,{key:1,class:"check-icon"})):(i(),n(s,{key:2,class:"check-icon"})),d(t,null,{default:o((()=>[v(p(Z.value),1)])),_:1})])),_:1},8,["class","disabled"]),d(s,{class:"secure-tip"},{default:o((()=>[d(s,{class:"lock-icon"}),d(t,null,{default:o((()=>[v("数据已进行安全加密处理")])),_:1})])),_:1})])),_:1}),d(s,{class:"home-indicator"})])),_:1}),d(s,{class:r(["toast",{visible:J.value}])},{default:o((()=>[v(p(H.value),1)])),_:1},8,["class"]),B.value?(i(),n(s,{key:0,class:"picker-mask",onClick:le},{default:o((()=>[d(s,{class:"picker-panel",onClick:a[3]||(a[3]=b((()=>{}),["stop"]))},{default:o((()=>[d(s,{class:"picker-header"},{default:o((()=>[d(t,{class:"picker-title"},{default:o((()=>[v(p(Y.value),1)])),_:1}),d(t,{class:"picker-close",onClick:le},{default:o((()=>[v("关闭")])),_:1})])),_:1}),d(k,{class:"option-list","scroll-y":""},{default:o((()=>[(i(!0),f(_,null,m(X.value,(e=>(i(),n(s,{key:e.value,class:r(["option-item",{active:e.value===F[q.value]}]),onClick:a=>function(e){const a=q.value;a&&(F[a]=e.value,le())}(e)},{default:o((()=>[d(s,{class:"option-copy"},{default:o((()=>[d(t,{class:"option-label"},{default:o((()=>[v(p(e.label),1)])),_:2},1024),e.desc?(i(),n(t,{key:0,class:"option-desc"},{default:o((()=>[v(p(e.desc),1)])),_:2},1024)):g("",!0)])),_:2},1024),e.value===F[q.value]?(i(),n(s,{key:0,class:"selected-mark"})):g("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1})):g("",!0)])),_:1}))}}}),[["__scopeId","data-v-db1f5633"]]);export{F as default}; diff --git a/dist/assets/pages-diagnosis-diagnosis.m6R6jwOM.js b/dist/assets/pages-diagnosis-diagnosis.m6R6jwOM.js deleted file mode 100644 index 4fafbbe..0000000 --- a/dist/assets/pages-diagnosis-diagnosis.m6R6jwOM.js +++ /dev/null @@ -1 +0,0 @@ -import{d as e,b as a,a as l,c as s,o as t,e as i,f as n,g as o,C as c,w as d,j as u,k as f,t as r,m as p,p as m,F as _,n as v,h as g,s as b,A as h,z as k,y,x as D,I as V,K as j}from"./index-BcNbz4lX.js";import{_ as x}from"./config-doctor.TgARj_nM.js";import{c as I}from"./navigation.C2H9AjnS.js";import w from"./pages-treatment-treatment.Dvv4RUD4.js";import{_ as C}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./pages-assessment-assessment.4dFS83cn.js";const A=C(e({__name:"diagnosis",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:C}){const A=e,O=C,P=I(O),U=a({primaryDiagnosis:"",differentialDiagnosis:["",""],evidence:""}),S=l("王主任建议:请结合患者主诉和问诊信息,完成主要诊断、鉴别诊断和诊断依据。"),F=l(!1),$=l("idle"),z=l(""),G=l(!1),H=l(!1),K=s((()=>"陈先生")),q=s((()=>"男")),B=s((()=>60)),E=s((()=>"心血管内科")),J=s((()=>"胸痛")),L=s((()=>F.value?"提交中...":"submitted"===$.value?"已提交":"下一步"));function M(){var e,a,l;F.value||(F.value=!0,(a=(null==(e=A.caseItem)?void 0:e.id)||"mock-case",l={primaryDiagnosis:U.primaryDiagnosis,differentialDiagnosis:U.differentialDiagnosis.filter((e=>e.trim())),evidence:U.evidence},Promise.resolve({id:`mock-diagnosis-${Date.now()}`,caseId:a,...l,submittedAt:(new Date).toISOString()})).then((e=>{b("clinical-thinking-diagnosis",e),H.value=!0})).finally((()=>{F.value=!1})))}return t((function(){(function(e){const a=(null==e?void 0:e.title.includes("胸痛"))||"心血管内科"===(null==e?void 0:e.department);return Promise.resolve({mentorAdvice:a?"王主任建议:请结合患者既往高血压史及突发性胸痛的性质,进行准确诊断。注意鉴别心梗与主动脉夹层。":"王主任建议:请基于主诉、阳性症状和危险信号提出主要诊断,并列出需要排除的鉴别诊断。",defaultDraft:{primaryDiagnosis:"",differentialDiagnosis:["",""],evidence:""}})})(A.caseItem).then((e=>{S.value=e.mentorAdvice,U.primaryDiagnosis="",U.differentialDiagnosis=["",""],U.evidence=""}))})),i((()=>{})),(e,a)=>{const l=h,s=k,t=y,i=D,b=V,I=j;return H.value?(n(),o(w,{key:0,"case-item":e.caseItem,onOpenSettings:a[0]||(a[0]=e=>O("open-settings")),onOpenProfile:c(P),onGoHome:a[1]||(a[1]=e=>O("go-home"))},null,8,["case-item","onOpenProfile"])):(n(),o(s,{key:1,class:"diagnosis-page"},{default:d((()=>[u(s,{class:"diagnosis-shell"},{default:d((()=>[u(s,{class:"top-nav"},{default:d((()=>[u(l,{class:"icon-button","aria-label":"设置",onClick:a[2]||(a[2]=e=>O("open-settings"))}),u(l,{class:"icon-button home-button","aria-label":"首页",onClick:a[3]||(a[3]=e=>O("go-home"))},{default:d((()=>[u(s,{class:"home-icon"})])),_:1}),u(s,{class:"nav-spacer"}),u(l,{class:"icon-button","aria-label":"个人中心",onClick:c(P)},{default:d((()=>[u(s,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),u(s,{class:"case-header"},{default:d((()=>[u(t,{class:"case-heading"},{default:d((()=>[f("患者:"+r(K.value)+" ("+r(J.value)+")",1)])),_:1}),u(s,{class:"patient-meta"},{default:d((()=>[u(t,null,{default:d((()=>[f("姓名:"+r(K.value),1)])),_:1}),u(t,null,{default:d((()=>[f("性别:"+r(q.value),1)])),_:1}),u(t,null,{default:d((()=>[f("年龄:"+r(B.value)+"岁",1)])),_:1}),u(t,null,{default:d((()=>[f("科室:"+r(E.value),1)])),_:1})])),_:1})])),_:1}),u(s,{class:"diagnosis-content"},{default:d((()=>[u(s,{class:"stepper"},{default:d((()=>[u(s,{class:"step-line"},{default:d((()=>[u(s,{class:"step-line-active"})])),_:1}),u(s,{class:"step done"},{default:d((()=>[u(s,{class:"step-dot"},{default:d((()=>[u(s,{class:"check-icon"})])),_:1}),u(t,null,{default:d((()=>[f("问诊")])),_:1})])),_:1}),u(s,{class:"step active"},{default:d((()=>[u(s,{class:"step-dot"},{default:d((()=>[u(s,{class:"stethoscope-icon"})])),_:1}),u(t,null,{default:d((()=>[f("临床诊断")])),_:1})])),_:1}),u(s,{class:"step"},{default:d((()=>[u(s,{class:"step-dot"},{default:d((()=>[u(s,{class:"pill-icon"})])),_:1}),u(t,null,{default:d((()=>[f("治疗计划")])),_:1})])),_:1})])),_:1}),u(s,{class:"mentor-card"},{default:d((()=>[u(s,{class:"mentor-avatar"},{default:d((()=>[u(i,{src:x,mode:"aspectFill"})])),_:1}),u(s,{class:"mentor-bubble"},{default:d((()=>[u(t,null,{default:d((()=>[f(r(S.value),1)])),_:1})])),_:1})])),_:1}),u(s,{class:"form-area"},{default:d((()=>[u(s,{class:"field-block"},{default:d((()=>[u(s,{class:"field-label primary"},{default:d((()=>[u(s,{class:"priority-icon"}),u(t,null,{default:d((()=>[f("主要诊断")])),_:1})])),_:1}),u(s,{class:"input-wrap"},{default:d((()=>[u(b,{class:"diagnosis-input",modelValue:U.primaryDiagnosis,"onUpdate:modelValue":a[4]||(a[4]=e=>U.primaryDiagnosis=e),type:"text",placeholder:"请输入初步诊断...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),u(s,{class:"field-block"},{default:d((()=>[u(s,{class:"field-label"},{default:d((()=>[u(s,{class:"checklist-icon"}),u(t,null,{default:d((()=>[f("鉴别诊断")])),_:1})])),_:1}),u(s,{class:"diff-list"},{default:d((()=>[(n(!0),p(_,null,m(U.differentialDiagnosis,((e,a)=>(n(),o(s,{key:a,class:"diff-row"},{default:d((()=>[u(t,{class:"diff-index"},{default:d((()=>[f(r(a+1),1)])),_:2},1024),u(b,{class:"diff-input",modelValue:U.differentialDiagnosis[a],"onUpdate:modelValue":e=>U.differentialDiagnosis[a]=e,type:"text",placeholder:`备选诊断 ${a+1}`,"placeholder-class":"input-placeholder"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])),_:2},1024)))),128))])),_:1})])),_:1}),u(s,{class:"field-block"},{default:d((()=>[u(s,{class:"field-label"},{default:d((()=>[u(s,{class:"description-icon"}),u(t,null,{default:d((()=>[f("诊断依据")])),_:1})])),_:1}),u(I,{class:"evidence-input",modelValue:U.evidence,"onUpdate:modelValue":a[5]||(a[5]=e=>U.evidence=e),placeholder:"请简述诊断依据,如:患者高龄、剧烈撕裂样胸痛、血压双侧不对称等...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),u(l,{class:v(["next-button",{submitted:"submitted"===$.value}]),disabled:F.value,onClick:M},{default:d((()=>[F.value?(n(),o(s,{key:0,class:"spinner"})):g("",!0),u(t,null,{default:d((()=>[f(r(L.value),1)])),_:1}),F.value||"submitted"===$.value?g("",!0):(n(),o(s,{key:1,class:"arrow-icon"})),"submitted"===$.value?(n(),o(s,{key:2,class:"check-small-icon"})):g("",!0)])),_:1},8,["class","disabled"])])),_:1})])),_:1}),u(s,{class:v(["toast",{visible:G.value}])},{default:d((()=>[f(r(z.value),1)])),_:1},8,["class"])])),_:1}))}}}),[["__scopeId","data-v-04126bf9"]]);export{A as default}; diff --git a/dist/assets/pages-diagnosis-diagnosis.nh0VnGMv.js b/dist/assets/pages-diagnosis-diagnosis.nh0VnGMv.js new file mode 100644 index 0000000..8d676c9 --- /dev/null +++ b/dist/assets/pages-diagnosis-diagnosis.nh0VnGMv.js @@ -0,0 +1 @@ +import{d as e,a,r as l,c as s,o as i,b as t,e as n,f as o,w as u,i as c,E as d,j as r,t as f,l as p,m,F as v,n as _,g,s as b,p as h,y,z as k,x as D,u as w,I as V,M as j}from"./index-CpNRQgjE.js";import{_ as x}from"./config-doctor.TgARj_nM.js";import{r as C}from"./cases.BlouN7SM.js";import{F as E,a as I,r as T,f as U}from"./session.Cc2HEzjU.js";import{c as F,a as O,b as $}from"./navigation.CsipbD6y.js";import{_ as A}from"./_plugin-vue_export-helper.BCo6x5W8.js";const N=A(e({__name:"diagnosis",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:A}){const N=e,P=A,S=F(P),z=O(P),B=$(P),J=a({primaryDiagnosis:"",differentialDiagnosis:["",""],evidence:""}),K=l("王主任建议:请结合患者主诉和问诊信息,完成主要诊断、鉴别诊断和诊断依据。"),M=l(!1),q=l("idle"),G=l(""),H=l(!1),L=l(null);let Q=null;const R=s((()=>N.caseItem||L.value)),W=s((()=>{var e;return(null==(e=R.value)?void 0:e.patientName)||"陈先生"})),X=s((()=>{var e;return(null==(e=R.value)?void 0:e.gender)||"男"})),Y=s((()=>{var e;return(null==(e=R.value)?void 0:e.age)||60})),Z=s((()=>{var e;return(null==(e=R.value)?void 0:e.department)||"心血管内科"})),ee=s((()=>{var e;const a=(null==(e=R.value)?void 0:e.title)||"持续胸痛3小时";return a.includes("胸痛")?"胸痛":a.slice(0,6)})),ae=s((()=>M.value?"提交中...":"submitted"===q.value?"已提交":"下一步"));function le(){(function(e){const a=(null==e?void 0:e.title.includes("胸痛"))||"心血管内科"===(null==e?void 0:e.department);return Promise.resolve({mentorAdvice:a?"王主任建议:请结合患者既往高血压史及突发性胸痛的性质,进行准确诊断。注意鉴别心梗与主动脉夹层。":"王主任建议:请基于主诉、阳性症状和危险信号提出主要诊断,并列出需要排除的鉴别诊断。",defaultDraft:{primaryDiagnosis:"",differentialDiagnosis:["",""],evidence:""}})})(R.value).then((e=>{K.value=e.mentorAdvice,J.primaryDiagnosis="",J.differentialDiagnosis=["",""],J.evidence=""}))}async function se(){if(!M.value)if(J.primaryDiagnosis.trim())if(J.evidence.trim()){M.value=!0;try{const e=U(),a=await async function(e,a){const l={primary_diagnosis:a.primaryDiagnosis.trim(),differential_diagnoses:a.differentialDiagnosis.map((e=>e.trim())).filter(Boolean),diagnosis_basis:a.evidence.trim()},s=await fetch(`${E}/sessions/${e}/diagnosis`,{method:"POST",headers:I(),body:JSON.stringify(l)});if(!s.ok)throw new Error(await T(s));const i=await s.json();if("OK"!==i.code)throw new Error(i.message||"诊断提交失败");return i.data||l}(e,{primaryDiagnosis:J.primaryDiagnosis,differentialDiagnosis:J.differentialDiagnosis.filter((e=>e.trim())),evidence:J.evidence});b("clinical-thinking-diagnosis",a),q.value="submitted",h({url:"/pages/treatment/treatment",fail(){q.value="idle",ie("进入治疗计划失败,请重试")}})}catch(e){ie(e instanceof Error?e.message:"诊断提交失败")}finally{M.value=!1}}else ie("请输入诊断依据");else ie("请输入主要诊断")}function ie(e){Q&&clearTimeout(Q),G.value=e,H.value=!0,Q=setTimeout((()=>{H.value=!1}),2200)}return i((()=>{L.value=C(),le()})),t((()=>{Q&&clearTimeout(Q)})),(e,a)=>{const l=y,s=k,i=D,t=w,b=V,h=j;return n(),o(l,{class:"diagnosis-page"},{default:u((()=>[c(l,{class:"diagnosis-shell"},{default:u((()=>[c(l,{class:"top-nav"},{default:u((()=>[c(s,{class:"icon-button","aria-label":"设置",onClick:d(z)},{default:u((()=>[c(l,{class:"settings-icon"})])),_:1},8,["onClick"]),c(s,{class:"icon-button home-button","aria-label":"首页",onClick:d(B)},{default:u((()=>[c(l,{class:"home-icon"})])),_:1},8,["onClick"]),c(l,{class:"nav-spacer"}),c(s,{class:"icon-button","aria-label":"个人中心",onClick:d(S)},{default:u((()=>[c(l,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),c(l,{class:"case-header"},{default:u((()=>[c(i,{class:"case-heading"},{default:u((()=>[r("患者:"+f(W.value)+" ("+f(ee.value)+")",1)])),_:1}),c(l,{class:"patient-meta"},{default:u((()=>[c(i,null,{default:u((()=>[r("姓名:"+f(W.value),1)])),_:1}),c(i,null,{default:u((()=>[r("性别:"+f(X.value),1)])),_:1}),c(i,null,{default:u((()=>[r("年龄:"+f(Y.value)+"岁",1)])),_:1}),c(i,null,{default:u((()=>[r("科室:"+f(Z.value),1)])),_:1})])),_:1})])),_:1}),c(l,{class:"diagnosis-content"},{default:u((()=>[c(l,{class:"stepper"},{default:u((()=>[c(l,{class:"step-line"},{default:u((()=>[c(l,{class:"step-line-active"})])),_:1}),c(l,{class:"step done"},{default:u((()=>[c(l,{class:"step-dot"},{default:u((()=>[c(l,{class:"check-icon"})])),_:1}),c(i,null,{default:u((()=>[r("问诊")])),_:1})])),_:1}),c(l,{class:"step active"},{default:u((()=>[c(l,{class:"step-dot"},{default:u((()=>[c(l,{class:"stethoscope-icon"})])),_:1}),c(i,null,{default:u((()=>[r("临床诊断")])),_:1})])),_:1}),c(l,{class:"step"},{default:u((()=>[c(l,{class:"step-dot"},{default:u((()=>[c(l,{class:"pill-icon"})])),_:1}),c(i,null,{default:u((()=>[r("治疗计划")])),_:1})])),_:1})])),_:1}),c(l,{class:"mentor-card"},{default:u((()=>[c(l,{class:"mentor-avatar"},{default:u((()=>[c(t,{src:x,mode:"aspectFill"})])),_:1}),c(l,{class:"mentor-bubble"},{default:u((()=>[c(i,null,{default:u((()=>[r(f(K.value),1)])),_:1})])),_:1})])),_:1}),c(l,{class:"form-area"},{default:u((()=>[c(l,{class:"field-block"},{default:u((()=>[c(l,{class:"field-label primary"},{default:u((()=>[c(l,{class:"priority-icon"}),c(i,null,{default:u((()=>[r("主要诊断")])),_:1})])),_:1}),c(l,{class:"input-wrap"},{default:u((()=>[c(b,{class:"diagnosis-input",modelValue:J.primaryDiagnosis,"onUpdate:modelValue":a[0]||(a[0]=e=>J.primaryDiagnosis=e),type:"text",placeholder:"请输入初步诊断...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),c(l,{class:"field-block"},{default:u((()=>[c(l,{class:"field-label"},{default:u((()=>[c(l,{class:"checklist-icon"}),c(i,null,{default:u((()=>[r("鉴别诊断")])),_:1})])),_:1}),c(l,{class:"diff-list"},{default:u((()=>[(n(!0),p(v,null,m(J.differentialDiagnosis,((e,a)=>(n(),o(l,{key:a,class:"diff-row"},{default:u((()=>[c(i,{class:"diff-index"},{default:u((()=>[r(f(a+1),1)])),_:2},1024),c(b,{class:"diff-input",modelValue:J.differentialDiagnosis[a],"onUpdate:modelValue":e=>J.differentialDiagnosis[a]=e,type:"text",placeholder:`备选诊断 ${a+1}`,"placeholder-class":"input-placeholder"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])),_:2},1024)))),128))])),_:1})])),_:1}),c(l,{class:"field-block"},{default:u((()=>[c(l,{class:"field-label"},{default:u((()=>[c(l,{class:"description-icon"}),c(i,null,{default:u((()=>[r("诊断依据")])),_:1})])),_:1}),c(h,{class:"evidence-input",modelValue:J.evidence,"onUpdate:modelValue":a[1]||(a[1]=e=>J.evidence=e),placeholder:"请简述诊断依据,如:患者高龄、剧烈撕裂样胸痛、血压双侧不对称等...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),c(s,{class:_(["next-button",{submitted:"submitted"===q.value}]),disabled:M.value,onClick:se},{default:u((()=>[M.value?(n(),o(l,{key:0,class:"spinner"})):g("",!0),c(i,null,{default:u((()=>[r(f(ae.value),1)])),_:1}),M.value||"submitted"===q.value?g("",!0):(n(),o(l,{key:1,class:"arrow-icon"})),"submitted"===q.value?(n(),o(l,{key:2,class:"check-small-icon"})):g("",!0)])),_:1},8,["class","disabled"])])),_:1})])),_:1}),c(l,{class:_(["toast",{visible:H.value}])},{default:u((()=>[r(f(G.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-0102c95b"]]);export{N as default}; diff --git a/dist/assets/pages-home-home.C2yaATnJ.js b/dist/assets/pages-home-home.C2yaATnJ.js new file mode 100644 index 0000000..1ef2c74 --- /dev/null +++ b/dist/assets/pages-home-home.C2yaATnJ.js @@ -0,0 +1 @@ +import{d as s,a,r as e,o as l,b as t,e as i,f as n,w as o,i as c,E as u,j as d,g as r,t as f,l as m,m as g,F as _,n as b,s as p,G as h,y as v,z as k,x as y,u as j}from"./index-CpNRQgjE.js";import{_ as C}from"./config-doctor.TgARj_nM.js";import{c as I,a as w}from"./navigation.CsipbD6y.js";import{_ as x}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=x(s({__name:"home",emits:["open-settings","open-profile"],setup(s,{emit:x}){const T=x,A=I(T),M=w(T),D=a({greeting:"下午好,医生。",highlight:"让我们继续提升您的临床思维能力吧。",remainingModules:3,doctorName:"王主任"}),E=[{title:"精准补强·薄弱环节训练",icon:"trend-icon"},{title:"实战进阶·科室专项训练",icon:"notes-icon"},{title:"新手入门·教学互动模式模式训练",icon:"school-icon"},{title:"精益管理·老师针对性任务训练",icon:"admin-icon"}],F=e(!1),N=e(""),O=e(!1);let P=null;function S(){F.value||(F.value=!0,Promise.resolve({sessionId:`mock-session-${Date.now()}`,startedAt:(new Date).toISOString()}).then((s=>{p("clinical-thinking-session",s),h({url:"/pages/matching/matching"})})).catch((s=>{!function(s){P&&clearTimeout(P);N.value=s,O.value=!0,P=setTimeout((()=>{O.value=!1}),2200)}(s instanceof Error?s.message:"进入训练失败")})).finally((()=>{setTimeout((()=>{F.value=!1}),300)})))}function z(){h({url:"/pages/learning-assistant/learning-assistant"})}return l((function(){Promise.resolve({greeting:"下午好,医生。",highlight:"让我们继续提升您的临床思维能力吧。",remainingModules:3,doctorName:"王主任"}).then((s=>{Object.assign(D,s)}))})),t((()=>{P&&clearTimeout(P)})),(s,a)=>{const e=v,l=k,t=y,p=j;return i(),n(e,{class:"home-page"},{default:o((()=>[c(e,{class:"home-shell"},{default:o((()=>[c(e,{class:"top-bar"},{default:o((()=>[c(l,{class:"icon-button","aria-label":"配置",onClick:u(M)},{default:o((()=>[c(e,{class:"settings-icon"})])),_:1},8,["onClick"]),c(e,{class:"top-spacer"}),c(l,{class:"icon-button","aria-label":"个人中心",onClick:u(A)},{default:o((()=>[c(e,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),c(e,{class:"home-main"},{default:o((()=>[c(e,{class:"speech-bubble"},{default:o((()=>[c(t,{class:"bubble-copy"},{default:o((()=>[d("下午好,医生。准备好开始今天的")])),_:1}),c(t,{class:"bubble-strong"},{default:o((()=>[d("带教模拟")])),_:1}),c(t,{class:"bubble-copy"},{default:o((()=>[d(",精进")])),_:1}),c(t,{class:"bubble-highlight"},{default:o((()=>[d("临床思维")])),_:1}),c(t,{class:"bubble-copy"},{default:o((()=>[d("了吗?")])),_:1})])),_:1}),c(e,{class:"doctor-stage"},{default:o((()=>[c(e,{class:"doctor-shadow"}),c(p,{class:"director-image",src:C,mode:"aspectFit"})])),_:1}),c(e,{class:"training-panel"},{default:o((()=>[c(e,{class:"primary-action"},{default:o((()=>[c(l,{class:"start-button",disabled:F.value,onClick:S},{default:o((()=>[F.value?(i(),n(e,{key:0,class:"spinner"})):r("",!0),c(t,null,{default:o((()=>[d(f(F.value?"正在进入...":"开始训练"),1)])),_:1})])),_:1},8,["disabled"]),c(t,{class:"remaining"},{default:o((()=>[d("今日剩余:"+f(D.remainingModules)+"个模块",1)])),_:1})])),_:1}),c(e,{class:"module-grid"},{default:o((()=>[(i(),m(_,null,g(E,(s=>c(l,{key:s.title,class:"module-card",onClick:S},{default:o((()=>[c(e,{class:b(["module-icon",s.icon])},null,8,["class"]),c(t,{class:"module-title"},{default:o((()=>[d(f(s.title),1)])),_:2},1024)])),_:2},1024))),64))])),_:1}),c(e,{class:"assistant-actions"},{default:o((()=>[c(l,{class:"assistant-button",onClick:z},{default:o((()=>[c(e,{class:"assistant-icon chat-icon"}),c(t,null,{default:o((()=>[d("AI 学习助手(医院知识库)")])),_:1})])),_:1}),c(l,{class:"assistant-button disabled",disabled:"","aria-disabled":"true"},{default:o((()=>[c(e,{class:"assistant-icon forum-icon"}),c(t,null,{default:o((()=>[d("方老师AI教学助手沟通")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),c(e,{class:b(["toast",{visible:O.value}])},{default:o((()=>[d(f(N.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-cfd573f5"]]);export{T as default}; diff --git a/dist/assets/pages-home-home.Cv-ZRphr.js b/dist/assets/pages-home-home.Cv-ZRphr.js deleted file mode 100644 index ac01369..0000000 --- a/dist/assets/pages-home-home.Cv-ZRphr.js +++ /dev/null @@ -1 +0,0 @@ -import{d as s,b as e,a,o as t,e as l,f as n,g as o,C as i,w as c,j as u,k as r,h as d,t as m,m as p,p as f,F as g,n as b,s as _,u as h,z as v,A as j,y as k,x as y}from"./index-BcNbz4lX.js";import{_ as O}from"./config-doctor.TgARj_nM.js";import{c as C}from"./navigation.C2H9AjnS.js";import{C as P}from"./chat.BJUnN6Cc.js";import I from"./pages-learning-assistant-learning-assistant.vx1Z8Ujc.js";import S from"./pages-matching-matching.CuL-3Fys.js";import{_ as w}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./pages-diagnosis-diagnosis.m6R6jwOM.js";import"./pages-treatment-treatment.Dvv4RUD4.js";import"./pages-assessment-assessment.4dFS83cn.js";import"./pages-cases-cases.RDgMig8l.js";import"./scenario.CjEHAMEH.js";import"./pages-teaching-teaching.B94VaxdH.js";const x=w(s({__name:"home",emits:["open-settings","open-profile"],setup(s,{emit:w}){const x=w,A=C(x),T=e({greeting:"下午好,医生。",highlight:"让我们继续提升您的临床思维能力吧。",remainingModules:3,doctorName:"王主任"}),G=[{title:"精准补强·薄弱环节训练",icon:"trend-icon"},{title:"实战进阶·科室专项训练",icon:"notes-icon"},{title:"新手入门·教学互动模式模式训练",icon:"school-icon"},{title:"精益管理·老师针对性任务训练",icon:"admin-icon"}],H=a(!1),M=a(""),D=a(!1),F=a(!1),N=a(!1),z=a(!1);let E=null;function $(){H.value||(H.value=!0,Promise.resolve({sessionId:`mock-session-${Date.now()}`,startedAt:(new Date).toISOString()}).then((s=>{_("clinical-thinking-session",s),F.value=!0})).catch((s=>{!function(s){E&&clearTimeout(E);M.value=s,D.value=!0,h({title:s,icon:"none"}),E=setTimeout((()=>{D.value=!1}),2200)}(s instanceof Error?s.message:"进入训练失败")})).finally((()=>{setTimeout((()=>{H.value=!1}),300)})))}function q(){N.value=!0}return t((function(){Promise.resolve({greeting:"下午好,医生。",highlight:"让我们继续提升您的临床思维能力吧。",remainingModules:3,doctorName:"王主任"}).then((s=>{Object.assign(T,s)}))})),l((()=>{E&&clearTimeout(E)})),(s,e)=>{const a=v,t=j,l=k,_=y;return F.value?(n(),o(S,{key:0,onOpenSettings:e[0]||(e[0]=s=>x("open-settings")),onOpenProfile:i(A),onGoHome:e[1]||(e[1]=s=>F.value=!1)},null,8,["onOpenProfile"])):N.value?(n(),o(I,{key:1,onOpenSettings:e[2]||(e[2]=s=>x("open-settings")),onOpenProfile:i(A),onGoHome:e[3]||(e[3]=s=>N.value=!1)},null,8,["onOpenProfile"])):z.value?(n(),o(P,{key:2,"case-item":null,onOpenSettings:e[4]||(e[4]=s=>x("open-settings")),onOpenProfile:i(A),onGoHome:e[5]||(e[5]=s=>z.value=!1)},null,8,["onOpenProfile"])):(n(),o(a,{key:3,class:"home-page"},{default:c((()=>[u(a,{class:"home-shell"},{default:c((()=>[u(a,{class:"top-bar"},{default:c((()=>[u(t,{class:"icon-button","aria-label":"配置",onClick:e[6]||(e[6]=s=>x("open-settings"))},{default:c((()=>[u(a,{class:"settings-icon"})])),_:1}),u(a,{class:"top-spacer"}),u(t,{class:"icon-button","aria-label":"个人中心",onClick:i(A)},{default:c((()=>[u(a,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),u(a,{class:"home-main"},{default:c((()=>[u(a,{class:"speech-bubble"},{default:c((()=>[u(l,{class:"bubble-copy"},{default:c((()=>[r("下午好,医生。准备好开始今天的")])),_:1}),u(l,{class:"bubble-strong"},{default:c((()=>[r("带教模拟")])),_:1}),u(l,{class:"bubble-copy"},{default:c((()=>[r(",精进")])),_:1}),u(l,{class:"bubble-highlight"},{default:c((()=>[r("临床思维")])),_:1}),u(l,{class:"bubble-copy"},{default:c((()=>[r("了吗?")])),_:1})])),_:1}),u(a,{class:"doctor-stage"},{default:c((()=>[u(a,{class:"doctor-shadow"}),u(_,{class:"director-image",src:O,mode:"aspectFit"})])),_:1}),u(a,{class:"training-panel"},{default:c((()=>[u(a,{class:"primary-action"},{default:c((()=>[u(t,{class:"start-button",disabled:H.value,onClick:$},{default:c((()=>[H.value?(n(),o(a,{key:0,class:"spinner"})):d("",!0),u(l,null,{default:c((()=>[r(m(H.value?"正在进入...":"开始训练"),1)])),_:1})])),_:1},8,["disabled"]),u(l,{class:"remaining"},{default:c((()=>[r("今日剩余:"+m(T.remainingModules)+"个模块",1)])),_:1})])),_:1}),u(a,{class:"module-grid"},{default:c((()=>[(n(),p(g,null,f(G,(s=>u(t,{key:s.title,class:"module-card",onClick:$},{default:c((()=>[u(a,{class:b(["module-icon",s.icon])},null,8,["class"]),u(l,{class:"module-title"},{default:c((()=>[r(m(s.title),1)])),_:2},1024)])),_:2},1024))),64))])),_:1}),u(a,{class:"assistant-actions"},{default:c((()=>[u(t,{class:"assistant-button",onClick:q},{default:c((()=>[u(a,{class:"assistant-icon chat-icon"}),u(l,null,{default:c((()=>[r("AI 学习助手(医院知识库)")])),_:1})])),_:1}),u(t,{class:"assistant-button disabled",disabled:"","aria-disabled":"true"},{default:c((()=>[u(a,{class:"assistant-icon forum-icon"}),u(l,null,{default:c((()=>[r("方老师AI教学助手沟通")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),u(a,{class:b(["toast",{visible:D.value}])},{default:c((()=>[r(m(M.value),1)])),_:1},8,["class"])])),_:1}))}}}),[["__scopeId","data-v-0c6a4ade"]]);export{x as default}; diff --git a/dist/assets/pages-index-index.BwOl-YIs.js b/dist/assets/pages-index-index.BwOl-YIs.js deleted file mode 100644 index cae8324..0000000 --- a/dist/assets/pages-index-index.BwOl-YIs.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e,d as a,a as t,b as l,c as s,o as n,e as i,f as o,g as c,w as u,h as r,i as d,v as m,j as A,k as p,n as v,t as f,l as g,m as h,p as I,F as y,s as C,q as b,u as k,x as R,y as Q,z as E,I as j,A as z,S as Z,B as w}from"./index-BcNbz4lX.js";import V from"./pages-config-config.JVS5qOJO.js";import B from"./pages-profile-profile.D-uLPWwn.js";import{_ as G}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./scenario.CjEHAMEH.js";import"./config-doctor.TgARj_nM.js";import"./chat.BJUnN6Cc.js";import"./navigation.C2H9AjnS.js";import"./pages-diagnosis-diagnosis.m6R6jwOM.js";import"./pages-treatment-treatment.Dvv4RUD4.js";import"./pages-assessment-assessment.4dFS83cn.js";import"./pages-home-home.Cv-ZRphr.js";import"./pages-learning-assistant-learning-assistant.vx1Z8Ujc.js";import"./pages-matching-matching.CuL-3Fys.js";import"./pages-cases-cases.RDgMig8l.js";import"./pages-teaching-teaching.B94VaxdH.js";class N extends Error{constructor(e,a,t){super(e),this.name="ApiRequestError",this.code=a,this.statusCode=t}}function O(a,t,l="POST"){return new Promise(((s,n)=>{e({url:`/server/api${a}`,method:l,timeout:1e4,header:{"Content-Type":"application/json"},data:t,success:e=>{if(e.statusCode>=200&&e.statusCode<300)return void s(e.data);const a=e.data,t="string"==typeof(null==a?void 0:a.code)?a.code:void 0;n(new N(function(e,a){if(e&&"object"==typeof e){const a=e,t=a.message||a.detail||a.error;if("string"==typeof t&&t.trim())return t}return a}(e.data,`请求失败(${e.statusCode})`),t,e.statusCode))},fail:e=>{n(new N(e.errMsg||"无法连接服务"))}})}))}function Y(e,a="login"){return O("/user/auth/send-code/",{phone:e,scene:a})}function D(e){return O("/user/auth/login-code/",e).then((e=>{if(function(e){if(!e||"object"!=typeof e)return!1;const a=e,t=a.tokens;return Boolean(a.tokens&&"string"==typeof(null==t?void 0:t.access)&&"string"==typeof(null==t?void 0:t.refresh))}(e))return e;throw new Error("登录接口返回数据格式异常")}))}const J=G(a({__name:"index",setup(e){const a=t([]),G=l({phone:"",code:"",institutionId:""}),J=t(""),F=t(!1),S=t(!1),T=t(!1),L=t(!1),U=t(0),W=t(""),x=t(!1),M=t(!1),H=t(!1),P=t(!1),X=t(!1),q=t(!1);let K=null,_=null;const $=s((()=>a.value.find((e=>e.id===G.institutionId)))),ee=s((()=>U.value>0)),ae=s((()=>T.value?"发送中...":ee.value?`${U.value}s`:"获取验证码"));function te(e){const a=[e.province,e.city].filter(Boolean).join(" · ");return{id:String(e.id),code:e.code,name:e.name,city:a||"其他",typeName:{hospital:"医院",college:"医学院校",school:"学校",clinic:"诊所"}[e.type]||"机构"}}async function le(){X.value=!0;try{const e=await O("/user/institution_list/",null,"GET");a.value=e.map(te)}catch(e){re(e instanceof Error?e.message:"机构列表加载失败"),a.value=[]}finally{X.value=!1,q.value=!0}}function se(){F.value=!F.value}async function ne(){if(!T.value&&!ee.value&&oe()){T.value=!0;try{let a;try{a=await Y(G.phone)}catch(e){if(!(e instanceof N&&"AUTH_PHONE_NOT_FOUND"===e.code))throw e;a=await Y(G.phone,"register")}re(a.message||"验证码已发送"),U.value=60,de(),K=setInterval((()=>{U.value-=1,U.value<=0&&de()}),1e3)}catch(e){re(e instanceof Error?e.message:"验证码发送失败")}finally{T.value=!1}}}function ie(){if(!L.value&&oe())if(G.code.trim())if($.value){if(!F.value)return re("请阅读并勾选用户协议"),S.value=!1,void b((()=>{S.value=!0,setTimeout((()=>{S.value=!1}),500)}));L.value=!0,D({phone:G.phone,code:G.code,institution_code:$.value.code,institution_name:$.value.name}).then((e=>{var a,t,l;const s=e.user||{},n={...s,id:s.id?String(s.id):"",phone:s.phone||G.phone,institutionId:(null==(a=$.value)?void 0:a.code)||"",institutionCode:(null==(t=$.value)?void 0:t.code)||"",institutionName:(null==(l=$.value)?void 0:l.name)||""};C("clinical-thinking-user",n),C("clinical-thinking-tokens",e.tokens),C("clinical-thinking-access-token",e.tokens.access),C("clinical-thinking-refresh-token",e.tokens.refresh),re(e.message||"正在进入系统..."),M.value=!0})).catch((e=>{re(e instanceof Error?e.message:"登录失败,请稍后重试")})).finally((()=>{L.value=!1}))}else re("请选择所属机构");else re("请输入短信验证码")}function oe(){return!!/^1[3-9]\d{9}$/.test(G.phone)||(re("请输入正确的手机号"),!1)}function ce(e){w({title:"service"===e?"用户服务协议":"隐私保护政策",content:"这里是前端模拟协议内容,后续可替换为正式协议页面或富文本接口。",showCancel:!1,confirmColor:"#00478d"})}function ue(){H.value=!1,M.value=!0}function re(e){_&&clearTimeout(_),W.value=e,x.value=!0,k({title:e,icon:"none"}),_=setTimeout((()=>{x.value=!1}),2500)}function de(){K&&(clearInterval(K),K=null)}return n((()=>{le()})),i((()=>{de(),_&&clearTimeout(_)})),(e,t)=>{const l=R,s=Q,n=E,i=j,C=z,b=Z;return o(),c(n,{class:"page-root"},{default:u((()=>[H.value?(o(),c(B,{key:0,onOpenSettings:ue,onGoHome:t[0]||(t[0]=e=>H.value=!1)})):r("",!0),M.value?d((o(),c(V,{key:1,onOpenProfile:t[1]||(t[1]=e=>H.value=!0)},null,512)),[[m,!H.value]]):r("",!0),M.value||H.value?r("",!0):(o(),c(n,{key:2,class:"auth-page"},{default:u((()=>[A(n,{class:"auth-container"},{default:u((()=>[A(n,{class:"header"},{default:u((()=>[A(l,{class:"logo",mode:"aspectFit",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAEi6oPRAAAKQ2lDQ1BJQ0MgcHJvZmlsZQAAeNqdU3dYk/cWPt/3ZQ9WQtjwsZdsgQAiI6wIyBBZohCSAGGEEBJAxYWIClYUFRGcSFXEgtUKSJ2I4qAouGdBiohai1VcOO4f3Ke1fXrv7e371/u855zn/M55zw+AERImkeaiagA5UoU8Otgfj09IxMm9gAIVSOAEIBDmy8JnBcUAAPADeXh+dLA//AGvbwACAHDVLiQSx+H/g7pQJlcAIJEA4CIS5wsBkFIAyC5UyBQAyBgAsFOzZAoAlAAAbHl8QiIAqg0A7PRJPgUA2KmT3BcA2KIcqQgAjQEAmShHJAJAuwBgVYFSLALAwgCgrEAiLgTArgGAWbYyRwKAvQUAdo5YkA9AYACAmUIszAAgOAIAQx4TzQMgTAOgMNK/4KlfcIW4SAEAwMuVzZdL0jMUuJXQGnfy8ODiIeLCbLFCYRcpEGYJ5CKcl5sjE0jnA0zODAAAGvnRwf44P5Dn5uTh5mbnbO/0xaL+a/BvIj4h8d/+vIwCBAAQTs/v2l/l5dYDcMcBsHW/a6lbANpWAGjf+V0z2wmgWgrQevmLeTj8QB6eoVDIPB0cCgsL7SViob0w44s+/zPhb+CLfvb8QB7+23rwAHGaQJmtwKOD/XFhbnauUo7nywRCMW735yP+x4V//Y4p0eI0sVwsFYrxWIm4UCJNx3m5UpFEIcmV4hLpfzLxH5b9CZN3DQCshk/ATrYHtctswH7uAQKLDljSdgBAfvMtjBoLkQAQZzQyefcAAJO/+Y9AKwEAzZek4wAAvOgYXKiUF0zGCAAARKCBKrBBBwzBFKzADpzBHbzAFwJhBkRADCTAPBBCBuSAHAqhGJZBGVTAOtgEtbADGqARmuEQtMExOA3n4BJcgetwFwZgGJ7CGLyGCQRByAgTYSE6iBFijtgizggXmY4EImFINJKApCDpiBRRIsXIcqQCqUJqkV1II/ItchQ5jVxA+pDbyCAyivyKvEcxlIGyUQPUAnVAuagfGorGoHPRdDQPXYCWomvRGrQePYC2oqfRS+h1dAB9io5jgNExDmaM2WFcjIdFYIlYGibHFmPlWDVWjzVjHVg3dhUbwJ5h7wgkAouAE+wIXoQQwmyCkJBHWExYQ6gl7CO0EroIVwmDhDHCJyKTqE+0JXoS+cR4YjqxkFhGrCbuIR4hniVeJw4TX5NIJA7JkuROCiElkDJJC0lrSNtILaRTpD7SEGmcTCbrkG3J3uQIsoCsIJeRt5APkE+S+8nD5LcUOsWI4kwJoiRSpJQSSjVlP+UEpZ8yQpmgqlHNqZ7UCKqIOp9aSW2gdlAvU4epEzR1miXNmxZDy6Qto9XQmmlnafdoL+l0ugndgx5Fl9CX0mvoB+nn6YP0dwwNhg2Dx0hiKBlrGXsZpxi3GS+ZTKYF05eZyFQw1zIbmWeYD5hvVVgq9ip8FZHKEpU6lVaVfpXnqlRVc1U/1XmqC1SrVQ+rXlZ9pkZVs1DjqQnUFqvVqR1Vu6k2rs5Sd1KPUM9RX6O+X/2C+mMNsoaFRqCGSKNUY7fGGY0hFsYyZfFYQtZyVgPrLGuYTWJbsvnsTHYF+xt2L3tMU0NzqmasZpFmneZxzQEOxrHg8DnZnErOIc4NznstAy0/LbHWaq1mrX6tN9p62r7aYu1y7Rbt69rvdXCdQJ0snfU6bTr3dQm6NrpRuoW623XP6j7TY+t56Qn1yvUO6d3RR/Vt9KP1F+rv1u/RHzcwNAg2kBlsMThj8MyQY+hrmGm40fCE4agRy2i6kcRoo9FJoye4Ju6HZ+M1eBc+ZqxvHGKsNN5l3Gs8YWJpMtukxKTF5L4pzZRrmma60bTTdMzMyCzcrNisyeyOOdWca55hvtm82/yNhaVFnMVKizaLx5balnzLBZZNlvesmFY+VnlW9VbXrEnWXOss623WV2xQG1ebDJs6m8u2qK2brcR2m23fFOIUjynSKfVTbtox7PzsCuya7AbtOfZh9iX2bfbPHcwcEh3WO3Q7fHJ0dcx2bHC866ThNMOpxKnD6VdnG2ehc53zNRemS5DLEpd2lxdTbaeKp26fesuV5RruutK10/Wjm7ub3K3ZbdTdzD3Ffav7TS6bG8ldwz3vQfTw91jicczjnaebp8LzkOcvXnZeWV77vR5Ps5wmntYwbcjbxFvgvct7YDo+PWX6zukDPsY+Ap96n4e+pr4i3z2+I37Wfpl+B/ye+zv6y/2P+L/hefIW8U4FYAHBAeUBvYEagbMDawMfBJkEpQc1BY0FuwYvDD4VQgwJDVkfcpNvwBfyG/ljM9xnLJrRFcoInRVaG/owzCZMHtYRjobPCN8Qfm+m+UzpzLYIiOBHbIi4H2kZmRf5fRQpKjKqLupRtFN0cXT3LNas5Fn7Z72O8Y+pjLk722q2cnZnrGpsUmxj7Ju4gLiquIF4h/hF8ZcSdBMkCe2J5MTYxD2J43MC52yaM5zkmlSWdGOu5dyiuRfm6c7Lnnc8WTVZkHw4hZgSl7I/5YMgQlAvGE/lp25NHRPyhJuFT0W+oo2iUbG3uEo8kuadVpX2ON07fUP6aIZPRnXGMwlPUit5kRmSuSPzTVZE1t6sz9lx2S05lJyUnKNSDWmWtCvXMLcot09mKyuTDeR55m3KG5OHyvfkI/lz89sVbIVM0aO0Uq5QDhZML6greFsYW3i4SL1IWtQz32b+6vkjC4IWfL2QsFC4sLPYuHhZ8eAiv0W7FiOLUxd3LjFdUrpkeGnw0n3LaMuylv1Q4lhSVfJqedzyjlKD0qWlQyuCVzSVqZTJy26u9Fq5YxVhlWRV72qX1VtWfyoXlV+scKyorviwRrjm4ldOX9V89Xlt2treSrfK7etI66Trbqz3Wb+vSr1qQdXQhvANrRvxjeUbX21K3nShemr1js20zcrNAzVhNe1bzLas2/KhNqP2ep1/XctW/a2rt77ZJtrWv913e/MOgx0VO97vlOy8tSt4V2u9RX31btLugt2PGmIbur/mft24R3dPxZ6Pe6V7B/ZF7+tqdG9s3K+/v7IJbVI2jR5IOnDlm4Bv2pvtmne1cFoqDsJB5cEn36Z8e+NQ6KHOw9zDzd+Zf7f1COtIeSvSOr91rC2jbaA9ob3v6IyjnR1eHUe+t/9+7zHjY3XHNY9XnqCdKD3x+eSCk+OnZKeenU4/PdSZ3Hn3TPyZa11RXb1nQ8+ePxd07ky3X/fJ897nj13wvHD0Ivdi2yW3S609rj1HfnD94UivW2/rZffL7Vc8rnT0Tes70e/Tf/pqwNVz1/jXLl2feb3vxuwbt24m3Ry4Jbr1+Hb27Rd3Cu5M3F16j3iv/L7a/eoH+g/qf7T+sWXAbeD4YMBgz8NZD+8OCYee/pT/04fh0kfMR9UjRiONj50fHxsNGr3yZM6T4aeypxPPyn5W/3nrc6vn3/3i+0vPWPzY8Av5i8+/rnmp83Lvq6mvOscjxx+8znk98ab8rc7bfe+477rfx70fmSj8QP5Q89H6Y8en0E/3Pud8/vwv94Tz+4A5JREAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADKmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkE0MjcxNTdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkE0MjcxNDdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkE4RkFCN0M3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkE4RkFCN0Q3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BZZ+3AAAB1ElEQVR42mJkAALtmZb/GfAAJkIKwIoYiAA4FV1JO0Ylk0hWxILLHTgV6cyywqoIIIAYiQinb8S4iYs036E7esgEJq6ABAGAACImMBmo5m6yDcLlR5gcNnnaumhADWIhJoOTbRC+9ILPa9+o4TWAAAIlyDVAOphCc1SYqGAICNwZxumIidi8NILz2qhBdCyPaOcicgq1wRnYAAFErRKSgZo+GzSOoWpQD1sHsRCjCDnzkpp90DM+If2jUTbqoFEHjZZDpJYroyFESeNmNFHTykEqg8g9bwACCNRiVAYyLgEx1wA7Zu3V9OMhVBt1opajBlsaCh7NZaMOGnXQgFeupHZjKO1CjUbZqINGHTTqoFEHjTpo1EGjDhqMgw342kejUTaahggpoOdg1WiUjTpoODoIvL7tzSBykB5AgPbtGIdBGIYCaBR16swROEQvzT06cxjm1lRFDC0LcpXC+xJzpIdJhOW8e4z359MVWSde1C32xRYasC0mCmascDZzrQz+7NgABAgQINnRY/iUrb5D9v9l9toqCBAgQIAAAQIESAABAgQIEKCD5ZK9QPaMigoCdIJP7NdjOyoIECBAgGQBGjB8zVDjam153T0OqInJbBAWfdg8AExKZVcA71uIAAAAAElFTkSuQmCC"}),A(s,{class:"title"},{default:u((()=>[p("临床思维训练")])),_:1}),A(s,{class:"subtitle"},{default:u((()=>[p("提升临床决策能力的高效平台")])),_:1})])),_:1}),A(n,{class:"form"},{default:u((()=>[A(n,{class:"form-group"},{default:u((()=>[A(s,{class:"label"},{default:u((()=>[p("手机号码")])),_:1}),A(n,{class:v(["input-wrap",{focused:"phone"===J.value}])},{default:u((()=>[A(s,{class:"country-code"},{default:u((()=>[p("+86")])),_:1}),A(n,{class:"separator"}),A(i,{class:"input",type:"number",maxlength:"11",modelValue:G.phone,"onUpdate:modelValue":t[2]||(t[2]=e=>G.phone=e),placeholder:"请输入手机号","placeholder-class":"placeholder",onFocus:t[3]||(t[3]=e=>J.value="phone"),onBlur:t[4]||(t[4]=e=>J.value=""),onConfirm:ie},null,8,["modelValue"])])),_:1},8,["class"])])),_:1}),A(n,{class:"form-group"},{default:u((()=>[A(s,{class:"label"},{default:u((()=>[p("验证码")])),_:1}),A(n,{class:"code-row"},{default:u((()=>[A(n,{class:v(["input-wrap code-input-wrap",{focused:"code"===J.value}])},{default:u((()=>[A(n,{class:"verified-icon","aria-hidden":"true"}),A(i,{class:"input",type:"number",maxlength:"6",modelValue:G.code,"onUpdate:modelValue":t[5]||(t[5]=e=>G.code=e),placeholder:"短信验证码","placeholder-class":"placeholder",onFocus:t[6]||(t[6]=e=>J.value="code"),onBlur:t[7]||(t[7]=e=>J.value=""),onConfirm:ie},null,8,["modelValue"])])),_:1},8,["class"]),A(C,{class:v(["code-button",{disabled:ee.value||T.value}]),disabled:ee.value||T.value,onClick:ne},{default:u((()=>[p(f(ae.value),1)])),_:1},8,["class","disabled"])])),_:1})])),_:1}),A(n,{class:"form-group"},{default:u((()=>[A(s,{class:"label"},{default:u((()=>[p("所属机构")])),_:1}),A(n,{class:"select-wrap",onClick:t[8]||(t[8]=e=>P.value=!0)},{default:u((()=>[A(s,{class:v(["select-text",{muted:!$.value}])},{default:u((()=>[p(f($.value?$.value.name:"选择医院或医学院校"),1)])),_:1},8,["class"]),A(n,{class:"select-arrow","aria-hidden":"true"})])),_:1})])),_:1}),A(s,{class:"hint"},{default:u((()=>[p("* 未注册手机号登录时将自动创建账号")])),_:1}),A(n,{class:"login-area"},{default:u((()=>[A(C,{class:v(["login-button",{loading:L.value}]),disabled:L.value,onClick:ie},{default:u((()=>[L.value?(o(),c(n,{key:0,class:"loading-spinner"})):(o(),c(s,{key:1},{default:u((()=>[p("登录 / 注册")])),_:1}))])),_:1},8,["class","disabled"])])),_:1})])),_:1}),A(n,{class:"footer"},{default:u((()=>[A(n,{class:v(["agreement",{shake:S.value}]),onClick:se},{default:u((()=>[A(n,{class:v(["checkbox",{checked:F.value}])},null,8,["class"]),A(n,{class:"agreement-copy"},{default:u((()=>[A(s,{class:"agreement-text"},{default:u((()=>[p("我已阅读并同意 ")])),_:1}),A(s,{class:"agreement-link",onClick:t[9]||(t[9]=g((e=>ce("service")),["stop"]))},{default:u((()=>[p("《用户服务协议》")])),_:1}),A(s,{class:"agreement-text"},{default:u((()=>[p(" 与 ")])),_:1}),A(s,{class:"agreement-link",onClick:t[10]||(t[10]=g((e=>ce("privacy")),["stop"]))},{default:u((()=>[p("《隐私保护政策》")])),_:1})])),_:1})])),_:1},8,["class"])])),_:1})])),_:1}),A(n,{class:v(["toast",{visible:x.value}])},{default:u((()=>[p(f(W.value),1)])),_:1},8,["class"]),P.value?(o(),c(n,{key:0,class:"picker-mask",onClick:t[13]||(t[13]=e=>P.value=!1)},{default:u((()=>[A(n,{class:"picker-panel",onClick:t[12]||(t[12]=g((()=>{}),["stop"]))},{default:u((()=>[A(n,{class:"picker-header"},{default:u((()=>[A(s,{class:"picker-title"},{default:u((()=>[p("选择所属机构")])),_:1}),A(s,{class:"picker-close",onClick:t[11]||(t[11]=e=>P.value=!1)},{default:u((()=>[p("关闭")])),_:1})])),_:1}),A(b,{class:"institution-list","scroll-y":""},{default:u((()=>[X.value?(o(),c(n,{key:0,class:"institution-empty"},{default:u((()=>[p("机构列表加载中...")])),_:1})):0===a.value.length?(o(),c(n,{key:1,class:"institution-empty"},{default:u((()=>[p("暂无可选机构")])),_:1})):(o(!0),h(y,{key:2},I(a.value,(e=>(o(),c(n,{key:e.id,class:v(["institution-item",{active:G.institutionId===e.id}]),onClick:a=>function(e){G.institutionId=e.id,P.value=!1}(e)},{default:u((()=>[A(n,{class:"institution-copy"},{default:u((()=>[A(s,{class:"institution-name"},{default:u((()=>[p(f(e.name),1)])),_:2},1024),A(s,{class:"institution-meta"},{default:u((()=>[p(f(e.city)+" · "+f(e.typeName),1)])),_:2},1024)])),_:2},1024),G.institutionId===e.id?(o(),c(n,{key:0,class:"selected-mark"})):r("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1})):r("",!0)])),_:1}))])),_:1})}}}),[["__scopeId","data-v-d61b3560"]]);export{J as default}; diff --git a/dist/assets/pages-index-index.gI3C2P_a.js b/dist/assets/pages-index-index.gI3C2P_a.js new file mode 100644 index 0000000..d08de4c --- /dev/null +++ b/dist/assets/pages-index-index.gI3C2P_a.js @@ -0,0 +1 @@ +import{d as e,r as a,a as l,c as s,o as t,b as n,e as c,f as i,w as u,g as o,h as d,v as A,i as r,j as m,n as v,t as f,k as p,l as g,m as I,F as h,s as y,p as b,q as C,u as k,x as R,y as Q,I as E,z,S as Z,A as V}from"./index-CpNRQgjE.js";import{C as G,f as w,s as B,A as N,l as j}from"./config.CeLegioC.js";import Y from"./pages-profile-profile.B4yr9-t8.js";import{_ as D}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./config-doctor.TgARj_nM.js";import"./navigation.CsipbD6y.js";const O=D(e({__name:"index",setup(e){const D=a([]),O=l({phone:"",code:"",institutionId:""}),J=a(""),F=a(!1),L=a(!1),S=a(!1),T=a(!1),U=a(0),W=a(""),x=a(!1),M=a(!1),H=a(!1),P=a(!1),X=a(!1),q=a(!1);let K=null,_=null;const $=s((()=>D.value.find((e=>e.id===O.institutionId)))),ee=s((()=>U.value>0)),ae=s((()=>S.value?"发送中...":ee.value?`${U.value}s`:"获取验证码"));function le(e){const a=[e.province,e.city].filter(Boolean).join(" · ");return{id:String(e.id),code:e.code,name:e.name,city:a||"其他",typeName:{hospital:"医院",college:"医学院校",school:"学校",clinic:"诊所"}[e.type]||"机构"}}function se(){F.value=!F.value}async function te(){if(!S.value&&!ee.value&&ce()){S.value=!0;try{let a;try{a=await B(O.phone)}catch(e){if(!(e instanceof N&&"AUTH_PHONE_NOT_FOUND"===e.code))throw e;a=await B(O.phone,"register")}oe(a.message||"验证码已发送"),U.value=60,de(),K=setInterval((()=>{U.value-=1,U.value<=0&&de()}),1e3)}catch(e){oe(e instanceof Error?e.message:"验证码发送失败")}finally{S.value=!1}}}function ne(){if(!T.value&&ce())if(O.code.trim())if($.value){if(!F.value)return oe("请阅读并勾选用户协议"),L.value=!1,void C((()=>{L.value=!0,setTimeout((()=>{L.value=!1}),500)}));T.value=!0,j({phone:O.phone,code:O.code,institution_code:$.value.code,institution_name:$.value.name}).then((e=>{var a,l,s;const t=e.user||{},n={...t,id:t.id?String(t.id):"",phone:t.phone||O.phone,institutionId:(null==(a=$.value)?void 0:a.code)||"",institutionCode:(null==(l=$.value)?void 0:l.code)||"",institutionName:(null==(s=$.value)?void 0:s.name)||""};y("clinical-thinking-user",n),y("clinical-thinking-tokens",e.tokens),y("clinical-thinking-access-token",e.tokens.access),y("clinical-thinking-refresh-token",e.tokens.refresh),oe(e.message||"正在进入系统..."),b({url:"/pages/config/config"})})).catch((e=>{oe(e instanceof Error?e.message:"登录失败,请稍后重试")})).finally((()=>{T.value=!1}))}else oe("请选择所属机构");else oe("请输入短信验证码")}function ce(){return!!/^1[3-9]\d{9}$/.test(O.phone)||(oe("请输入正确的手机号"),!1)}function ie(e){V({title:"service"===e?"用户服务协议":"隐私保护政策",content:"这里是前端模拟协议内容,后续可替换为正式协议页面或富文本接口。",showCancel:!1,confirmColor:"#00478d"})}function ue(){H.value=!1,M.value=!0}function oe(e){_&&clearTimeout(_),W.value=e,x.value=!0,_=setTimeout((()=>{x.value=!1}),2500)}function de(){K&&(clearInterval(K),K=null)}return t((()=>{!async function(){X.value=!0;try{const e=await w();D.value=e.map(le)}catch(e){oe(e instanceof Error?e.message:"机构列表加载失败"),D.value=[]}finally{X.value=!1,q.value=!0}}()})),n((()=>{de(),_&&clearTimeout(_)})),(e,a)=>{const l=k,s=R,t=Q,n=E,y=z,b=Z;return c(),i(t,{class:"page-root"},{default:u((()=>[H.value?(c(),i(Y,{key:0,onOpenSettings:ue,onGoHome:a[0]||(a[0]=e=>H.value=!1)})):o("",!0),M.value?d((c(),i(G,{key:1,onOpenProfile:a[1]||(a[1]=e=>H.value=!0)},null,512)),[[A,!H.value]]):o("",!0),M.value||H.value?o("",!0):(c(),i(t,{key:2,class:"auth-page"},{default:u((()=>[r(t,{class:"auth-container"},{default:u((()=>[r(t,{class:"header"},{default:u((()=>[r(l,{class:"logo",mode:"aspectFit",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAEi6oPRAAAKQ2lDQ1BJQ0MgcHJvZmlsZQAAeNqdU3dYk/cWPt/3ZQ9WQtjwsZdsgQAiI6wIyBBZohCSAGGEEBJAxYWIClYUFRGcSFXEgtUKSJ2I4qAouGdBiohai1VcOO4f3Ke1fXrv7e371/u855zn/M55zw+AERImkeaiagA5UoU8Otgfj09IxMm9gAIVSOAEIBDmy8JnBcUAAPADeXh+dLA//AGvbwACAHDVLiQSx+H/g7pQJlcAIJEA4CIS5wsBkFIAyC5UyBQAyBgAsFOzZAoAlAAAbHl8QiIAqg0A7PRJPgUA2KmT3BcA2KIcqQgAjQEAmShHJAJAuwBgVYFSLALAwgCgrEAiLgTArgGAWbYyRwKAvQUAdo5YkA9AYACAmUIszAAgOAIAQx4TzQMgTAOgMNK/4KlfcIW4SAEAwMuVzZdL0jMUuJXQGnfy8ODiIeLCbLFCYRcpEGYJ5CKcl5sjE0jnA0zODAAAGvnRwf44P5Dn5uTh5mbnbO/0xaL+a/BvIj4h8d/+vIwCBAAQTs/v2l/l5dYDcMcBsHW/a6lbANpWAGjf+V0z2wmgWgrQevmLeTj8QB6eoVDIPB0cCgsL7SViob0w44s+/zPhb+CLfvb8QB7+23rwAHGaQJmtwKOD/XFhbnauUo7nywRCMW735yP+x4V//Y4p0eI0sVwsFYrxWIm4UCJNx3m5UpFEIcmV4hLpfzLxH5b9CZN3DQCshk/ATrYHtctswH7uAQKLDljSdgBAfvMtjBoLkQAQZzQyefcAAJO/+Y9AKwEAzZek4wAAvOgYXKiUF0zGCAAARKCBKrBBBwzBFKzADpzBHbzAFwJhBkRADCTAPBBCBuSAHAqhGJZBGVTAOtgEtbADGqARmuEQtMExOA3n4BJcgetwFwZgGJ7CGLyGCQRByAgTYSE6iBFijtgizggXmY4EImFINJKApCDpiBRRIsXIcqQCqUJqkV1II/ItchQ5jVxA+pDbyCAyivyKvEcxlIGyUQPUAnVAuagfGorGoHPRdDQPXYCWomvRGrQePYC2oqfRS+h1dAB9io5jgNExDmaM2WFcjIdFYIlYGibHFmPlWDVWjzVjHVg3dhUbwJ5h7wgkAouAE+wIXoQQwmyCkJBHWExYQ6gl7CO0EroIVwmDhDHCJyKTqE+0JXoS+cR4YjqxkFhGrCbuIR4hniVeJw4TX5NIJA7JkuROCiElkDJJC0lrSNtILaRTpD7SEGmcTCbrkG3J3uQIsoCsIJeRt5APkE+S+8nD5LcUOsWI4kwJoiRSpJQSSjVlP+UEpZ8yQpmgqlHNqZ7UCKqIOp9aSW2gdlAvU4epEzR1miXNmxZDy6Qto9XQmmlnafdoL+l0ugndgx5Fl9CX0mvoB+nn6YP0dwwNhg2Dx0hiKBlrGXsZpxi3GS+ZTKYF05eZyFQw1zIbmWeYD5hvVVgq9ip8FZHKEpU6lVaVfpXnqlRVc1U/1XmqC1SrVQ+rXlZ9pkZVs1DjqQnUFqvVqR1Vu6k2rs5Sd1KPUM9RX6O+X/2C+mMNsoaFRqCGSKNUY7fGGY0hFsYyZfFYQtZyVgPrLGuYTWJbsvnsTHYF+xt2L3tMU0NzqmasZpFmneZxzQEOxrHg8DnZnErOIc4NznstAy0/LbHWaq1mrX6tN9p62r7aYu1y7Rbt69rvdXCdQJ0snfU6bTr3dQm6NrpRuoW623XP6j7TY+t56Qn1yvUO6d3RR/Vt9KP1F+rv1u/RHzcwNAg2kBlsMThj8MyQY+hrmGm40fCE4agRy2i6kcRoo9FJoye4Ju6HZ+M1eBc+ZqxvHGKsNN5l3Gs8YWJpMtukxKTF5L4pzZRrmma60bTTdMzMyCzcrNisyeyOOdWca55hvtm82/yNhaVFnMVKizaLx5balnzLBZZNlvesmFY+VnlW9VbXrEnWXOss623WV2xQG1ebDJs6m8u2qK2brcR2m23fFOIUjynSKfVTbtox7PzsCuya7AbtOfZh9iX2bfbPHcwcEh3WO3Q7fHJ0dcx2bHC866ThNMOpxKnD6VdnG2ehc53zNRemS5DLEpd2lxdTbaeKp26fesuV5RruutK10/Wjm7ub3K3ZbdTdzD3Ffav7TS6bG8ldwz3vQfTw91jicczjnaebp8LzkOcvXnZeWV77vR5Ps5wmntYwbcjbxFvgvct7YDo+PWX6zukDPsY+Ap96n4e+pr4i3z2+I37Wfpl+B/ye+zv6y/2P+L/hefIW8U4FYAHBAeUBvYEagbMDawMfBJkEpQc1BY0FuwYvDD4VQgwJDVkfcpNvwBfyG/ljM9xnLJrRFcoInRVaG/owzCZMHtYRjobPCN8Qfm+m+UzpzLYIiOBHbIi4H2kZmRf5fRQpKjKqLupRtFN0cXT3LNas5Fn7Z72O8Y+pjLk722q2cnZnrGpsUmxj7Ju4gLiquIF4h/hF8ZcSdBMkCe2J5MTYxD2J43MC52yaM5zkmlSWdGOu5dyiuRfm6c7Lnnc8WTVZkHw4hZgSl7I/5YMgQlAvGE/lp25NHRPyhJuFT0W+oo2iUbG3uEo8kuadVpX2ON07fUP6aIZPRnXGMwlPUit5kRmSuSPzTVZE1t6sz9lx2S05lJyUnKNSDWmWtCvXMLcot09mKyuTDeR55m3KG5OHyvfkI/lz89sVbIVM0aO0Uq5QDhZML6greFsYW3i4SL1IWtQz32b+6vkjC4IWfL2QsFC4sLPYuHhZ8eAiv0W7FiOLUxd3LjFdUrpkeGnw0n3LaMuylv1Q4lhSVfJqedzyjlKD0qWlQyuCVzSVqZTJy26u9Fq5YxVhlWRV72qX1VtWfyoXlV+scKyorviwRrjm4ldOX9V89Xlt2treSrfK7etI66Trbqz3Wb+vSr1qQdXQhvANrRvxjeUbX21K3nShemr1js20zcrNAzVhNe1bzLas2/KhNqP2ep1/XctW/a2rt77ZJtrWv913e/MOgx0VO97vlOy8tSt4V2u9RX31btLugt2PGmIbur/mft24R3dPxZ6Pe6V7B/ZF7+tqdG9s3K+/v7IJbVI2jR5IOnDlm4Bv2pvtmne1cFoqDsJB5cEn36Z8e+NQ6KHOw9zDzd+Zf7f1COtIeSvSOr91rC2jbaA9ob3v6IyjnR1eHUe+t/9+7zHjY3XHNY9XnqCdKD3x+eSCk+OnZKeenU4/PdSZ3Hn3TPyZa11RXb1nQ8+ePxd07ky3X/fJ897nj13wvHD0Ivdi2yW3S609rj1HfnD94UivW2/rZffL7Vc8rnT0Tes70e/Tf/pqwNVz1/jXLl2feb3vxuwbt24m3Ry4Jbr1+Hb27Rd3Cu5M3F16j3iv/L7a/eoH+g/qf7T+sWXAbeD4YMBgz8NZD+8OCYee/pT/04fh0kfMR9UjRiONj50fHxsNGr3yZM6T4aeypxPPyn5W/3nrc6vn3/3i+0vPWPzY8Av5i8+/rnmp83Lvq6mvOscjxx+8znk98ab8rc7bfe+477rfx70fmSj8QP5Q89H6Y8en0E/3Pud8/vwv94Tz+4A5JREAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADKmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkE0MjcxNTdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkE0MjcxNDdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkE4RkFCN0M3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkE4RkFCN0Q3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BZZ+3AAAB1ElEQVR42mJkAALtmZb/GfAAJkIKwIoYiAA4FV1JO0Ylk0hWxILLHTgV6cyywqoIIIAYiQinb8S4iYs036E7esgEJq6ABAGAACImMBmo5m6yDcLlR5gcNnnaumhADWIhJoOTbRC+9ILPa9+o4TWAAAIlyDVAOphCc1SYqGAICNwZxumIidi8NILz2qhBdCyPaOcicgq1wRnYAAFErRKSgZo+GzSOoWpQD1sHsRCjCDnzkpp90DM+If2jUTbqoFEHjZZDpJYroyFESeNmNFHTykEqg8g9bwACCNRiVAYyLgEx1wA7Zu3V9OMhVBt1opajBlsaCh7NZaMOGnXQgFeupHZjKO1CjUbZqINGHTTqoFEHjTpo1EGjDhqMgw342kejUTaahggpoOdg1WiUjTpoODoIvL7tzSBykB5AgPbtGIdBGIYCaBR16swROEQvzT06cxjm1lRFDC0LcpXC+xJzpIdJhOW8e4z359MVWSde1C32xRYasC0mCmascDZzrQz+7NgABAgQINnRY/iUrb5D9v9l9toqCBAgQIAAAQIESAABAgQIEKCD5ZK9QPaMigoCdIJP7NdjOyoIECBAgGQBGjB8zVDjam153T0OqInJbBAWfdg8AExKZVcA71uIAAAAAElFTkSuQmCC"}),r(s,{class:"title"},{default:u((()=>[m("临床思维训练")])),_:1}),r(s,{class:"subtitle"},{default:u((()=>[m("提升临床决策能力的高效平台")])),_:1})])),_:1}),r(t,{class:"form"},{default:u((()=>[r(t,{class:"form-group"},{default:u((()=>[r(s,{class:"label"},{default:u((()=>[m("手机号码")])),_:1}),r(t,{class:v(["input-wrap",{focused:"phone"===J.value}])},{default:u((()=>[r(s,{class:"country-code"},{default:u((()=>[m("+86")])),_:1}),r(t,{class:"separator"}),r(n,{class:"input",type:"number",maxlength:"11",modelValue:O.phone,"onUpdate:modelValue":a[2]||(a[2]=e=>O.phone=e),placeholder:"请输入手机号","placeholder-class":"placeholder",onFocus:a[3]||(a[3]=e=>J.value="phone"),onBlur:a[4]||(a[4]=e=>J.value=""),onConfirm:ne},null,8,["modelValue"])])),_:1},8,["class"])])),_:1}),r(t,{class:"form-group"},{default:u((()=>[r(s,{class:"label"},{default:u((()=>[m("验证码")])),_:1}),r(t,{class:"code-row"},{default:u((()=>[r(t,{class:v(["input-wrap code-input-wrap",{focused:"code"===J.value}])},{default:u((()=>[r(t,{class:"verified-icon","aria-hidden":"true"}),r(n,{class:"input",type:"number",maxlength:"6",modelValue:O.code,"onUpdate:modelValue":a[5]||(a[5]=e=>O.code=e),placeholder:"短信验证码","placeholder-class":"placeholder",onFocus:a[6]||(a[6]=e=>J.value="code"),onBlur:a[7]||(a[7]=e=>J.value=""),onConfirm:ne},null,8,["modelValue"])])),_:1},8,["class"]),r(y,{class:v(["code-button",{disabled:ee.value||S.value}]),disabled:ee.value||S.value,onClick:te},{default:u((()=>[m(f(ae.value),1)])),_:1},8,["class","disabled"])])),_:1})])),_:1}),r(t,{class:"form-group"},{default:u((()=>[r(s,{class:"label"},{default:u((()=>[m("所属机构")])),_:1}),r(t,{class:"select-wrap",onClick:a[8]||(a[8]=e=>P.value=!0)},{default:u((()=>[r(s,{class:v(["select-text",{muted:!$.value}])},{default:u((()=>[m(f($.value?$.value.name:"选择医院或医学院校"),1)])),_:1},8,["class"]),r(t,{class:"select-arrow","aria-hidden":"true"})])),_:1})])),_:1}),r(s,{class:"hint"},{default:u((()=>[m("* 未注册手机号登录时将自动创建账号")])),_:1}),r(t,{class:"login-area"},{default:u((()=>[r(y,{class:v(["login-button",{loading:T.value}]),disabled:T.value,onClick:ne},{default:u((()=>[T.value?(c(),i(t,{key:0,class:"loading-spinner"})):(c(),i(s,{key:1},{default:u((()=>[m("登录 / 注册")])),_:1}))])),_:1},8,["class","disabled"])])),_:1})])),_:1}),r(t,{class:"footer"},{default:u((()=>[r(t,{class:v(["agreement",{shake:L.value}]),onClick:se},{default:u((()=>[r(t,{class:v(["checkbox",{checked:F.value}])},null,8,["class"]),r(t,{class:"agreement-copy"},{default:u((()=>[r(s,{class:"agreement-text"},{default:u((()=>[m("我已阅读并同意 ")])),_:1}),r(s,{class:"agreement-link",onClick:a[9]||(a[9]=p((e=>ie("service")),["stop"]))},{default:u((()=>[m("《用户服务协议》")])),_:1}),r(s,{class:"agreement-text"},{default:u((()=>[m(" 与 ")])),_:1}),r(s,{class:"agreement-link",onClick:a[10]||(a[10]=p((e=>ie("privacy")),["stop"]))},{default:u((()=>[m("《隐私保护政策》")])),_:1})])),_:1})])),_:1},8,["class"])])),_:1})])),_:1}),r(t,{class:v(["toast",{visible:x.value}])},{default:u((()=>[m(f(W.value),1)])),_:1},8,["class"]),P.value?(c(),i(t,{key:0,class:"picker-mask",onClick:a[13]||(a[13]=e=>P.value=!1)},{default:u((()=>[r(t,{class:"picker-panel",onClick:a[12]||(a[12]=p((()=>{}),["stop"]))},{default:u((()=>[r(t,{class:"picker-header"},{default:u((()=>[r(s,{class:"picker-title"},{default:u((()=>[m("选择所属机构")])),_:1}),r(s,{class:"picker-close",onClick:a[11]||(a[11]=e=>P.value=!1)},{default:u((()=>[m("关闭")])),_:1})])),_:1}),r(b,{class:"institution-list","scroll-y":""},{default:u((()=>[X.value?(c(),i(t,{key:0,class:"institution-empty"},{default:u((()=>[m("机构列表加载中...")])),_:1})):0===D.value.length?(c(),i(t,{key:1,class:"institution-empty"},{default:u((()=>[m("暂无可选机构")])),_:1})):(c(!0),g(h,{key:2},I(D.value,(e=>(c(),i(t,{key:e.id,class:v(["institution-item",{active:O.institutionId===e.id}]),onClick:a=>function(e){O.institutionId=e.id,P.value=!1}(e)},{default:u((()=>[r(t,{class:"institution-copy"},{default:u((()=>[r(s,{class:"institution-name"},{default:u((()=>[m(f(e.name),1)])),_:2},1024),r(s,{class:"institution-meta"},{default:u((()=>[m(f(e.city)+" · "+f(e.typeName),1)])),_:2},1024)])),_:2},1024),O.institutionId===e.id?(c(),i(t,{key:0,class:"selected-mark"})):o("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1})):o("",!0)])),_:1}))])),_:1})}}}),[["__scopeId","data-v-fbf7d73c"]]);export{O as default}; diff --git a/dist/assets/pages-learning-assistant-learning-assistant.fpfbF_lf.js b/dist/assets/pages-learning-assistant-learning-assistant.fpfbF_lf.js new file mode 100644 index 0000000..a336178 --- /dev/null +++ b/dist/assets/pages-learning-assistant-learning-assistant.fpfbF_lf.js @@ -0,0 +1 @@ +import{d as a,r as l,o as s,b as e,e as t,f as c,w as o,i as u,E as n,j as i,l as d,m as r,F as f,n as _,k as m,g as p,t as v,q as h,y as k,z as b,x as g,u as C,S as y,M as A}from"./index-CpNRQgjE.js";import{_ as w}from"./config-doctor.TgARj_nM.js";import{b as x}from"./navigation.CsipbD6y.js";import{_ as I}from"./_plugin-vue_export-helper.BCo6x5W8.js";const S=I(a({__name:"learning-assistant",emits:["go-home","open-settings","open-profile"],setup(a,{emit:I}){const S=x(I),T=["更新指南","风险评估量表","药理学详情","病例研讨"],j=[{index:"1",title:"早期识别",description:"10分钟内完成12导联心电图。"},{index:"2",title:"药物干预",description:"阿司匹林、氯吡格雷。"},{index:"3",title:"再灌注策略",description:"STEMI需紧急PCI。"}],q=l([{id:"sample-user",role:"user",content:"你能解释一下急性冠脉综合征(ACS)的最新临床路径吗?"},{id:"sample-ai",role:"assistant",content:"",variant:"acs-pathway"}]),F=l(""),M=l(!1),V=l(!1),$=l(""),D=l(!1),E=l(0);let z=null,H=null,P=null;function U(){const a=F.value.trim();a?(q.value.push({id:`user-${Date.now()}`,role:"user",content:a}),F.value="",V.value=!0,B(),z&&clearTimeout(z),z=setTimeout((()=>{V.value=!1,q.value.push({id:`assistant-${Date.now()}`,role:"assistant",variant:"simple",content:"已收到。我会结合医院知识库、临床路径和指南证据,为你整理成可用于带教复盘的要点。"}),B()}),900)):G("请输入问题")}function B(){h((()=>{E.value+=1e3}))}function G(a){P&&clearTimeout(P),$.value=a,D.value=!0,P=setTimeout((()=>{D.value=!1}),1800)}return s((()=>{H=setInterval((()=>{V.value||(V.value=!0,setTimeout((()=>{V.value=!1}),2400))}),12e3)})),e((()=>{z&&clearTimeout(z),H&&clearInterval(H),P&&clearTimeout(P)})),(a,l)=>{const s=k,e=b,h=g,x=C,I=y,z=A;return t(),c(s,{class:"learning-page"},{default:o((()=>[u(s,{class:"learning-shell"},{default:o((()=>[u(s,{class:"assistant-header"},{default:o((()=>[u(s,{class:"header-left"},{default:o((()=>[u(e,{class:"icon-button","aria-label":"返回",onClick:n(S)},{default:o((()=>[u(s,{class:"history-icon"})])),_:1},8,["onClick"]),u(h,{class:"page-title"},{default:o((()=>[i("AI 学习助手")])),_:1})])),_:1}),u(s,{class:"header-actions"},{default:o((()=>[u(e,{class:"director-chip",onClick:l[0]||(l[0]=a=>M.value=!0)},{default:o((()=>[u(x,{class:"director-thumb",src:w,mode:"aspectFill"}),u(h,null,{default:o((()=>[i("咨询王主任")])),_:1})])),_:1}),u(e,{class:"icon-button muted","aria-label":"更多",onClick:l[1]||(l[1]=a=>G("更多功能即将开放"))},{default:o((()=>[u(s,{class:"more-icon"})])),_:1})])),_:1})])),_:1}),u(I,{class:"chat-canvas","scroll-y":"","scroll-top":E.value},{default:o((()=>[u(s,{class:"time-row"},{default:o((()=>[u(h,null,{default:o((()=>[i("今天 10:42 AM")])),_:1})])),_:1}),(t(!0),d(f,null,r(q.value,(a=>(t(),c(s,{key:a.id,class:_(["message-block",`message-${a.role}`])},{default:o((()=>["user"===a.role?(t(),c(s,{key:0,class:"user-bubble"},{default:o((()=>[u(h,null,{default:o((()=>[i(v(a.content),1)])),_:2},1024)])),_:2},1024)):(t(),c(s,{key:1,class:"assistant-message"},{default:o((()=>[u(s,{class:"assistant-meta"},{default:o((()=>[u(s,{class:"robot-badge"},{default:o((()=>[u(s,{class:"robot-icon"})])),_:1}),u(h,null,{default:o((()=>[i("AI 临床助理")])),_:1})])),_:1}),"acs-pathway"===a.variant?(t(),c(s,{key:0,class:"assistant-card"},{default:o((()=>[u(h,{class:"response-intro"},{default:o((()=>[i("急性冠脉综合征(ACS)临床路径:")])),_:1}),u(s,{class:"pathway-card"},{default:o((()=>[(t(),d(f,null,r(j,(a=>u(s,{key:a.title,class:"pathway-step"},{default:o((()=>[u(h,{class:"step-index"},{default:o((()=>[i(v(a.index),1)])),_:2},1024),u(s,{class:"step-copy"},{default:o((()=>[u(h,{class:"step-title"},{default:o((()=>[i(v(a.title),1)])),_:2},1024),u(h,{class:"step-desc"},{default:o((()=>[i(v(a.description),1)])),_:2},1024)])),_:2},1024)])),_:2},1024))),64))])),_:1}),u(s,{class:"evidence-box"},{default:o((()=>[u(s,{class:"evidence-heading"},{default:o((()=>[u(s,{class:"verified-icon"}),u(h,null,{default:o((()=>[i("循证来源")])),_:1})])),_:1}),u(h,{class:"evidence-item"},{default:o((()=>[i("[1] 2023 AHA/ACC ACS 管理指南")])),_:1}),u(h,{class:"evidence-item"},{default:o((()=>[i("[2] 《临床诊疗常规:心血管分册》")])),_:1})])),_:1})])),_:1})):(t(),c(s,{key:1,class:"assistant-card simple-card"},{default:o((()=>[u(h,null,{default:o((()=>[i(v(a.content),1)])),_:2},1024)])),_:2},1024))])),_:2},1024))])),_:2},1032,["class"])))),128)),u(s,{class:_(["typing-row",{visible:V.value}])},{default:o((()=>[u(s,{class:"typing-dots"},{default:o((()=>[u(s,{class:"dot dot-one"}),u(s,{class:"dot dot-two"}),u(s,{class:"dot dot-three"})])),_:1}),u(h,null,{default:o((()=>[i("正在思考中...")])),_:1})])),_:1},8,["class"])])),_:1},8,["scroll-top"]),u(s,{class:"input-panel"},{default:o((()=>[u(I,{class:"quick-actions","scroll-x":""},{default:o((()=>[u(s,{class:"quick-row"},{default:o((()=>[(t(),d(f,null,r(T,(a=>u(e,{key:a,class:"quick-chip",onClick:l=>function(a){F.value={"更新指南":"请帮我梳理 ACS 最新指南中需要重点关注的更新。","风险评估量表":"请列出 ACS 常用风险评估量表及适用场景。","药理学详情":"请说明 ACS 常用抗血小板药物的适应证和注意事项。","病例研讨":"请用病例研讨形式带我复盘一例胸痛患者。"}[a]||a}(a)},{default:o((()=>[i(v(a),1)])),_:2},1032,["onClick"]))),64))])),_:1})])),_:1}),u(s,{class:"composer"},{default:o((()=>[u(z,{class:"message-input",modelValue:F.value,"onUpdate:modelValue":l[2]||(l[2]=a=>F.value=a),"auto-height":"",maxlength:"500",placeholder:"请输入您的问题...","placeholder-class":"input-placeholder",onConfirm:U},null,8,["modelValue"]),u(s,{class:"composer-actions"},{default:o((()=>[u(e,{class:"attach-button","aria-label":"附件",onClick:l[3]||(l[3]=a=>G("附件上传即将开放"))},{default:o((()=>[u(s,{class:"attach-icon"})])),_:1}),u(e,{class:"send-button","aria-label":"发送",onClick:U},{default:o((()=>[u(s,{class:"send-icon"})])),_:1})])),_:1})])),_:1}),u(h,{class:"disclaimer"},{default:o((()=>[i("AI 生成内容仅供临床参考,最终医疗决策请咨询资深医师。")])),_:1})])),_:1}),M.value?(t(),c(s,{key:0,class:"modal-mask",onClick:l[9]||(l[9]=a=>M.value=!1)},{default:o((()=>[u(s,{class:"wang-modal",onClick:l[8]||(l[8]=m((()=>{}),["stop"]))},{default:o((()=>[u(s,{class:"modal-header"},{default:o((()=>[u(s,{class:"modal-doctor"},{default:o((()=>[u(x,{class:"modal-avatar",src:w,mode:"aspectFill"}),u(s,{class:"modal-title-group"},{default:o((()=>[u(h,{class:"modal-title"},{default:o((()=>[i("王主任")])),_:1}),u(h,{class:"modal-subtitle"},{default:o((()=>[i("临床教育首席专家")])),_:1})])),_:1})])),_:1}),u(e,{class:"icon-button muted","aria-label":"关闭",onClick:l[4]||(l[4]=a=>M.value=!1)},{default:o((()=>[u(s,{class:"close-icon"})])),_:1})])),_:1}),u(s,{class:"modal-body"},{default:o((()=>[u(s,{class:"quote-card"},{default:o((()=>[u(h,null,{default:o((()=>[i("“对于 ACS 患者,请务必牢记:时间就是心肌。虽然 AI 提供了标准的临床路径,但结合患者个体化风险特征的临床判断仍是您最关键的工具。”")])),_:1})])),_:1}),u(s,{class:"mentor-grid"},{default:o((()=>[u(e,{class:"mentor-card",onClick:l[5]||(l[5]=a=>G("已选择查房带教"))},{default:o((()=>[u(s,{class:"school-small-icon"}),u(h,null,{default:o((()=>[i("查房带教")])),_:1})])),_:1}),u(e,{class:"mentor-card",onClick:l[6]||(l[6]=a=>G("已选择疑难会诊"))},{default:o((()=>[u(s,{class:"notes-small-icon"}),u(h,null,{default:o((()=>[i("疑难会诊")])),_:1})])),_:1})])),_:1}),u(e,{class:"guidance-button",onClick:l[7]||(l[7]=a=>G("一对一指导即将开始"))},{default:o((()=>[i(" 开始一对一指导 ")])),_:1})])),_:1})])),_:1})])),_:1})):p("",!0),u(s,{class:_(["toast",{visible:D.value}])},{default:o((()=>[i(v($.value),1)])),_:1},8,["class"])])),_:1})])),_:1})}}}),[["__scopeId","data-v-b3d82992"]]);export{S as default}; diff --git a/dist/assets/pages-learning-assistant-learning-assistant.vx1Z8Ujc.js b/dist/assets/pages-learning-assistant-learning-assistant.vx1Z8Ujc.js deleted file mode 100644 index e4a759a..0000000 --- a/dist/assets/pages-learning-assistant-learning-assistant.vx1Z8Ujc.js +++ /dev/null @@ -1 +0,0 @@ -import{d as a,a as l,o as e,e as s,f as t,g as c,w as o,j as u,k as n,m as d,p as i,F as r,n as f,l as _,h as m,t as p,q as v,u as h,z as k,A as b,y as g,x as C,S as y,K as A}from"./index-BcNbz4lX.js";import{_ as w}from"./config-doctor.TgARj_nM.js";import{_ as x}from"./_plugin-vue_export-helper.BCo6x5W8.js";const I=x(a({__name:"learning-assistant",emits:["go-home","open-settings","open-profile"],setup(a,{emit:x}){const I=x,S=["更新指南","风险评估量表","药理学详情","病例研讨"],T=[{index:"1",title:"早期识别",description:"10分钟内完成12导联心电图。"},{index:"2",title:"药物干预",description:"阿司匹林、氯吡格雷。"},{index:"3",title:"再灌注策略",description:"STEMI需紧急PCI。"}],q=l([{id:"sample-user",role:"user",content:"你能解释一下急性冠脉综合征(ACS)的最新临床路径吗?"},{id:"sample-ai",role:"assistant",content:"",variant:"acs-pathway"}]),j=l(""),F=l(!1),V=l(!1),$=l(""),D=l(!1),M=l(0);let z=null,E=null,H=null;function K(){const a=j.value.trim();a?(q.value.push({id:`user-${Date.now()}`,role:"user",content:a}),j.value="",V.value=!0,P(),z&&clearTimeout(z),z=setTimeout((()=>{V.value=!1,q.value.push({id:`assistant-${Date.now()}`,role:"assistant",variant:"simple",content:"已收到。我会结合医院知识库、临床路径和指南证据,为你整理成可用于带教复盘的要点。"}),P()}),900)):U("请输入问题")}function P(){v((()=>{M.value+=1e3}))}function U(a){H&&clearTimeout(H),$.value=a,D.value=!0,h({title:a,icon:"none"}),H=setTimeout((()=>{D.value=!1}),1800)}return e((()=>{E=setInterval((()=>{V.value||(V.value=!0,setTimeout((()=>{V.value=!1}),2400))}),12e3)})),s((()=>{z&&clearTimeout(z),E&&clearInterval(E),H&&clearTimeout(H)})),(a,l)=>{const e=k,s=b,v=g,h=C,x=y,z=A;return t(),c(e,{class:"learning-page"},{default:o((()=>[u(e,{class:"learning-shell"},{default:o((()=>[u(e,{class:"assistant-header"},{default:o((()=>[u(e,{class:"header-left"},{default:o((()=>[u(s,{class:"icon-button","aria-label":"返回",onClick:l[0]||(l[0]=a=>I("go-home"))},{default:o((()=>[u(e,{class:"history-icon"})])),_:1}),u(v,{class:"page-title"},{default:o((()=>[n("AI 学习助手")])),_:1})])),_:1}),u(e,{class:"header-actions"},{default:o((()=>[u(s,{class:"director-chip",onClick:l[1]||(l[1]=a=>F.value=!0)},{default:o((()=>[u(h,{class:"director-thumb",src:w,mode:"aspectFill"}),u(v,null,{default:o((()=>[n("咨询王主任")])),_:1})])),_:1}),u(s,{class:"icon-button muted","aria-label":"更多",onClick:l[2]||(l[2]=a=>U("更多功能即将开放"))},{default:o((()=>[u(e,{class:"more-icon"})])),_:1})])),_:1})])),_:1}),u(x,{class:"chat-canvas","scroll-y":"","scroll-top":M.value},{default:o((()=>[u(e,{class:"time-row"},{default:o((()=>[u(v,null,{default:o((()=>[n("今天 10:42 AM")])),_:1})])),_:1}),(t(!0),d(r,null,i(q.value,(a=>(t(),c(e,{key:a.id,class:f(["message-block",`message-${a.role}`])},{default:o((()=>["user"===a.role?(t(),c(e,{key:0,class:"user-bubble"},{default:o((()=>[u(v,null,{default:o((()=>[n(p(a.content),1)])),_:2},1024)])),_:2},1024)):(t(),c(e,{key:1,class:"assistant-message"},{default:o((()=>[u(e,{class:"assistant-meta"},{default:o((()=>[u(e,{class:"robot-badge"},{default:o((()=>[u(e,{class:"robot-icon"})])),_:1}),u(v,null,{default:o((()=>[n("AI 临床助理")])),_:1})])),_:1}),"acs-pathway"===a.variant?(t(),c(e,{key:0,class:"assistant-card"},{default:o((()=>[u(v,{class:"response-intro"},{default:o((()=>[n("急性冠脉综合征(ACS)临床路径:")])),_:1}),u(e,{class:"pathway-card"},{default:o((()=>[(t(),d(r,null,i(T,(a=>u(e,{key:a.title,class:"pathway-step"},{default:o((()=>[u(v,{class:"step-index"},{default:o((()=>[n(p(a.index),1)])),_:2},1024),u(e,{class:"step-copy"},{default:o((()=>[u(v,{class:"step-title"},{default:o((()=>[n(p(a.title),1)])),_:2},1024),u(v,{class:"step-desc"},{default:o((()=>[n(p(a.description),1)])),_:2},1024)])),_:2},1024)])),_:2},1024))),64))])),_:1}),u(e,{class:"evidence-box"},{default:o((()=>[u(e,{class:"evidence-heading"},{default:o((()=>[u(e,{class:"verified-icon"}),u(v,null,{default:o((()=>[n("循证来源")])),_:1})])),_:1}),u(v,{class:"evidence-item"},{default:o((()=>[n("[1] 2023 AHA/ACC ACS 管理指南")])),_:1}),u(v,{class:"evidence-item"},{default:o((()=>[n("[2] 《临床诊疗常规:心血管分册》")])),_:1})])),_:1})])),_:1})):(t(),c(e,{key:1,class:"assistant-card simple-card"},{default:o((()=>[u(v,null,{default:o((()=>[n(p(a.content),1)])),_:2},1024)])),_:2},1024))])),_:2},1024))])),_:2},1032,["class"])))),128)),u(e,{class:f(["typing-row",{visible:V.value}])},{default:o((()=>[u(e,{class:"typing-dots"},{default:o((()=>[u(e,{class:"dot dot-one"}),u(e,{class:"dot dot-two"}),u(e,{class:"dot dot-three"})])),_:1}),u(v,null,{default:o((()=>[n("正在思考中...")])),_:1})])),_:1},8,["class"])])),_:1},8,["scroll-top"]),u(e,{class:"input-panel"},{default:o((()=>[u(x,{class:"quick-actions","scroll-x":""},{default:o((()=>[u(e,{class:"quick-row"},{default:o((()=>[(t(),d(r,null,i(S,(a=>u(s,{key:a,class:"quick-chip",onClick:l=>function(a){j.value={"更新指南":"请帮我梳理 ACS 最新指南中需要重点关注的更新。","风险评估量表":"请列出 ACS 常用风险评估量表及适用场景。","药理学详情":"请说明 ACS 常用抗血小板药物的适应证和注意事项。","病例研讨":"请用病例研讨形式带我复盘一例胸痛患者。"}[a]||a}(a)},{default:o((()=>[n(p(a),1)])),_:2},1032,["onClick"]))),64))])),_:1})])),_:1}),u(e,{class:"composer"},{default:o((()=>[u(z,{class:"message-input",modelValue:j.value,"onUpdate:modelValue":l[3]||(l[3]=a=>j.value=a),"auto-height":"",maxlength:"500",placeholder:"请输入您的问题...","placeholder-class":"input-placeholder",onConfirm:K},null,8,["modelValue"]),u(e,{class:"composer-actions"},{default:o((()=>[u(s,{class:"attach-button","aria-label":"附件",onClick:l[4]||(l[4]=a=>U("附件上传即将开放"))},{default:o((()=>[u(e,{class:"attach-icon"})])),_:1}),u(s,{class:"send-button","aria-label":"发送",onClick:K},{default:o((()=>[u(e,{class:"send-icon"})])),_:1})])),_:1})])),_:1}),u(v,{class:"disclaimer"},{default:o((()=>[n("AI 生成内容仅供临床参考,最终医疗决策请咨询资深医师。")])),_:1})])),_:1}),F.value?(t(),c(e,{key:0,class:"modal-mask",onClick:l[10]||(l[10]=a=>F.value=!1)},{default:o((()=>[u(e,{class:"wang-modal",onClick:l[9]||(l[9]=_((()=>{}),["stop"]))},{default:o((()=>[u(e,{class:"modal-header"},{default:o((()=>[u(e,{class:"modal-doctor"},{default:o((()=>[u(h,{class:"modal-avatar",src:w,mode:"aspectFill"}),u(e,{class:"modal-title-group"},{default:o((()=>[u(v,{class:"modal-title"},{default:o((()=>[n("王主任")])),_:1}),u(v,{class:"modal-subtitle"},{default:o((()=>[n("临床教育首席专家")])),_:1})])),_:1})])),_:1}),u(s,{class:"icon-button muted","aria-label":"关闭",onClick:l[5]||(l[5]=a=>F.value=!1)},{default:o((()=>[u(e,{class:"close-icon"})])),_:1})])),_:1}),u(e,{class:"modal-body"},{default:o((()=>[u(e,{class:"quote-card"},{default:o((()=>[u(v,null,{default:o((()=>[n("“对于 ACS 患者,请务必牢记:时间就是心肌。虽然 AI 提供了标准的临床路径,但结合患者个体化风险特征的临床判断仍是您最关键的工具。”")])),_:1})])),_:1}),u(e,{class:"mentor-grid"},{default:o((()=>[u(s,{class:"mentor-card",onClick:l[6]||(l[6]=a=>U("已选择查房带教"))},{default:o((()=>[u(e,{class:"school-small-icon"}),u(v,null,{default:o((()=>[n("查房带教")])),_:1})])),_:1}),u(s,{class:"mentor-card",onClick:l[7]||(l[7]=a=>U("已选择疑难会诊"))},{default:o((()=>[u(e,{class:"notes-small-icon"}),u(v,null,{default:o((()=>[n("疑难会诊")])),_:1})])),_:1})])),_:1}),u(s,{class:"guidance-button",onClick:l[8]||(l[8]=a=>U("一对一指导即将开始"))},{default:o((()=>[n(" 开始一对一指导 ")])),_:1})])),_:1})])),_:1})])),_:1})):m("",!0),u(e,{class:f(["toast",{visible:D.value}])},{default:o((()=>[n(p($.value),1)])),_:1},8,["class"])])),_:1})])),_:1})}}}),[["__scopeId","data-v-64ab3108"]]);export{I as default}; diff --git a/dist/assets/pages-matching-matching.CuL-3Fys.js b/dist/assets/pages-matching-matching.CuL-3Fys.js deleted file mode 100644 index a14bd2d..0000000 --- a/dist/assets/pages-matching-matching.CuL-3Fys.js +++ /dev/null @@ -1 +0,0 @@ -import{d as s,b as e,a,o as t,e as l,f as n,g as r,C as o,w as i,j as c,m as u,p as g,F as p,k as d,t as m,E as f,z as b,y as v,x as _,n as h}from"./index-BcNbz4lX.js";import{_ as y}from"./config-doctor.TgARj_nM.js";import{c as j}from"./navigation.C2H9AjnS.js";import x from"./pages-cases-cases.RDgMig8l.js";import{_ as $}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./scenario.CjEHAMEH.js";import"./chat.BJUnN6Cc.js";import"./pages-diagnosis-diagnosis.m6R6jwOM.js";import"./pages-treatment-treatment.Dvv4RUD4.js";import"./pages-assessment-assessment.4dFS83cn.js";import"./pages-teaching-teaching.B94VaxdH.js";const k=$(s({__name:"matching",emits:["open-settings","open-profile","go-home"],setup(s,{emit:$}){const k=$,I=j(k),M=e({message:"王主任正在为您智能匹配病例",subtitle:"正在通过大模型计算最适合您的临床案例库...",progressTarget:92,tags:[]}),T=a([]),w=a(0),O=a(!1);let P=0,F=null,z=null;function C(){Promise.resolve({message:"王主任正在为您智能匹配病例",subtitle:"正在通过大模型计算最适合您的临床案例库...",progressTarget:92,tags:[{label:"薄弱环节",tone:"secondary"},{label:"主治医级别",tone:"primary"},{label:"高匹配度",tone:"tertiary"},{label:"基于历史偏好",tone:"neutral"}]}).then((s=>{Object.assign(M,s),function(){z&&clearInterval(z);w.value=0,z=setInterval((()=>{if(w.value>=M.progressTarget)return z&&clearInterval(z),z=null,void setTimeout((()=>{O.value=!0}),700);w.value=Math.min(M.progressTarget,w.value+3*Math.random())}),600)}()}))}function D(){const s=P++,e=256*Math.random(),a=256*Math.random(),t=150*(Math.random()-.5),l=150*(Math.random()-.5),n=2+3*Math.random();T.value.push({id:s,style:{left:`${e}px`,top:`${a}px`,"--particle-x":`${t}px`,"--particle-y":`${l}px`,animationDuration:`${n}s`}}),setTimeout((()=>{T.value=T.value.filter((e=>e.id!==s))}),1e3*n)}return t((()=>{C(),function(){for(let s=0;s<12;s+=1)D();F=setInterval(D,300)}()})),l((()=>{F&&clearInterval(F),z&&clearInterval(z)})),(s,e)=>{const a=b,t=v,l=_;return O.value?(n(),r(x,{key:0,onOpenSettings:e[0]||(e[0]=s=>k("open-settings")),onOpenProfile:o(I),onGoHome:e[1]||(e[1]=s=>k("go-home"))},null,8,["onOpenProfile"])):(n(),r(a,{key:1,class:"matching-page"},{default:i((()=>[c(a,{class:"matching-shell"},{default:i((()=>[c(a,{class:"top-visual"},{default:i((()=>[c(a,{class:"network"},{default:i((()=>[c(a,{class:"ring ring-large"}),c(a,{class:"ring ring-middle"}),c(a,{class:"ring ring-small"}),c(a,{class:"node node-top"}),c(a,{class:"node node-left"}),c(a,{class:"node node-right"}),(n(!0),u(p,null,g(T.value,(s=>(n(),r(a,{key:s.id,class:"particle",style:f(s.style)},null,8,["style"])))),128))])),_:1})])),_:1}),c(a,{class:"middle-visual"},{default:i((()=>[c(a,{class:"match-bubble"},{default:i((()=>[c(t,null,{default:i((()=>[d(m(M.message),1)])),_:1}),c(t,{class:"typing-dots"}),c(a,{class:"bubble-tail"})])),_:1}),c(a,{class:"director-card"},{default:i((()=>[c(l,{class:"director-image",src:y,mode:"aspectFit"})])),_:1}),c(a,{class:"intelligence-area"},{default:i((()=>[c(a,{class:"scan-circle"},{default:i((()=>[c(a,{class:"pulse-ring ring-one"}),c(a,{class:"pulse-ring ring-two"}),c(a,{class:"brain-core"},{default:i((()=>[c(a,{class:"scan-bar"}),c(a,{class:"brain-icon"})])),_:1})])),_:1}),(n(!0),u(p,null,g(M.tags,((s,e)=>(n(),r(a,{key:s.label,class:h(["float-tag",[`tag-${s.tone}`,`tag-pos-${e}`]])},{default:i((()=>[c(t,null,{default:i((()=>[d(m(s.label),1)])),_:2},1024)])),_:2},1032,["class"])))),128))])),_:1})])),_:1}),c(a,{class:"bottom-progress"},{default:i((()=>[c(a,{class:"progress-track"},{default:i((()=>[c(a,{class:"progress-fill",style:f({width:`${w.value}%`})},null,8,["style"])])),_:1}),c(t,{class:"progress-subtitle"},{default:i((()=>[d(m(M.subtitle),1)])),_:1}),c(a,{class:"security-icon"})])),_:1})])),_:1})])),_:1}))}}}),[["__scopeId","data-v-deb9eb1c"]]);export{k as default}; diff --git a/dist/assets/pages-matching-matching.DrdBX5Ht.js b/dist/assets/pages-matching-matching.DrdBX5Ht.js new file mode 100644 index 0000000..2bda4e4 --- /dev/null +++ b/dist/assets/pages-matching-matching.DrdBX5Ht.js @@ -0,0 +1 @@ +import{d as a,a as s,r as e,o as l,b as t,e as r,f as n,w as c,i as o,l as i,m as u,F as d,j as g,t as p,H as f,p as m,y as _,x as b,u as v,n as h}from"./index-CpNRQgjE.js";import{_ as y}from"./config-doctor.TgARj_nM.js";import{_ as x}from"./_plugin-vue_export-helper.BCo6x5W8.js";const $=x(a({__name:"matching",setup(a){const x=s({message:"王主任正在为您智能匹配病例",subtitle:"正在通过大模型计算最适合您的临床案例库...",progressTarget:92,tags:[]}),$=e([]),I=e(0);let M=0,w=null,j=null;function k(){Promise.resolve({message:"王主任正在为您智能匹配病例",subtitle:"正在通过大模型计算最适合您的临床案例库...",progressTarget:92,tags:[{label:"薄弱环节",tone:"secondary"},{label:"主治医级别",tone:"primary"},{label:"高匹配度",tone:"tertiary"},{label:"基于历史偏好",tone:"neutral"}]}).then((a=>{Object.assign(x,a),function(){j&&clearInterval(j);I.value=0;const a=Date.now();j=setInterval((()=>{const s=Date.now()-a,e=Math.min(1,s/1e4);if(I.value=Math.round(x.progressTarget*e),e>=1)return j&&clearInterval(j),j=null,void m({url:"/pages/cases/cases"})}),100)}()}))}function T(){const a=M++,s=256*Math.random(),e=256*Math.random(),l=150*(Math.random()-.5),t=150*(Math.random()-.5),r=2+3*Math.random();$.value.push({id:a,style:{left:`${s}px`,top:`${e}px`,"--particle-x":`${l}px`,"--particle-y":`${t}px`,animationDuration:`${r}s`}}),setTimeout((()=>{$.value=$.value.filter((s=>s.id!==a))}),1e3*r)}return l((()=>{k(),function(){for(let a=0;a<12;a+=1)T();w=setInterval(T,300)}()})),t((()=>{w&&clearInterval(w),j&&clearInterval(j)})),(a,s)=>{const e=_,l=b,t=v;return r(),n(e,{class:"matching-page"},{default:c((()=>[o(e,{class:"matching-shell"},{default:c((()=>[o(e,{class:"top-visual"},{default:c((()=>[o(e,{class:"network"},{default:c((()=>[o(e,{class:"ring ring-large"}),o(e,{class:"ring ring-middle"}),o(e,{class:"ring ring-small"}),o(e,{class:"node node-top"}),o(e,{class:"node node-left"}),o(e,{class:"node node-right"}),(r(!0),i(d,null,u($.value,(a=>(r(),n(e,{key:a.id,class:"particle",style:f(a.style)},null,8,["style"])))),128))])),_:1})])),_:1}),o(e,{class:"middle-visual"},{default:c((()=>[o(e,{class:"match-bubble"},{default:c((()=>[o(l,null,{default:c((()=>[g(p(x.message),1)])),_:1}),o(l,{class:"typing-dots"}),o(e,{class:"bubble-tail"})])),_:1}),o(e,{class:"director-card"},{default:c((()=>[o(t,{class:"director-image",src:y,mode:"aspectFit"})])),_:1}),o(e,{class:"intelligence-area"},{default:c((()=>[o(e,{class:"scan-circle"},{default:c((()=>[o(e,{class:"pulse-ring ring-one"}),o(e,{class:"pulse-ring ring-two"}),o(e,{class:"brain-core"},{default:c((()=>[o(e,{class:"scan-bar"}),o(e,{class:"brain-icon"})])),_:1})])),_:1}),(r(!0),i(d,null,u(x.tags,((a,s)=>(r(),n(e,{key:a.label,class:h(["float-tag",[`tag-${a.tone}`,`tag-pos-${s}`]])},{default:c((()=>[o(l,null,{default:c((()=>[g(p(a.label),1)])),_:2},1024)])),_:2},1032,["class"])))),128))])),_:1})])),_:1}),o(e,{class:"bottom-progress"},{default:c((()=>[o(e,{class:"progress-track"},{default:c((()=>[o(e,{class:"progress-fill",style:f({width:`${I.value}%`})},null,8,["style"])])),_:1}),o(l,{class:"progress-subtitle"},{default:c((()=>[g(p(x.subtitle),1)])),_:1}),o(e,{class:"security-icon"})])),_:1})])),_:1})])),_:1})}}}),[["__scopeId","data-v-a610ab33"]]);export{$ as default}; diff --git a/dist/assets/pages-profile-profile-analysis.BoL_EDRS.js b/dist/assets/pages-profile-profile-analysis.BoL_EDRS.js deleted file mode 100644 index 4bb88fd..0000000 --- a/dist/assets/pages-profile-profile-analysis.BoL_EDRS.js +++ /dev/null @@ -1 +0,0 @@ -import{d as a,a as l,o as s,e,f as t,g as c,w as i,j as r,L as o,k as u,n as d,m as n,p as f,F as g,M as _,N as h,P as b,u as m,z as p,A as y,y as v,x,S as k,E as w,t as T}from"./index-BcNbz4lX.js";import{_ as j}from"./config-doctor.TgARj_nM.js";import{_ as C}from"./_plugin-vue_export-helper.BCo6x5W8.js";const F=C(a({__name:"profile-analysis",setup(a){const C=[{label:"周一",height:"60%",highlight:!1},{label:"周二",height:"70%",highlight:!1},{label:"周三",height:"65%",highlight:!1},{label:"周四",height:"80%",highlight:!1},{label:"周五",height:"85%",highlight:!0},{label:"周六",height:"90%",highlight:!1},{label:"周日",height:"95%",highlight:!1}],F=l(!1),M=l(""),z=l(!1);let A=null,B=null;function D(){"function"==typeof _&&_().length>1?h():b({url:"/pages/profile/profile"})}function E(a){B&&clearTimeout(B),M.value=a,z.value=!0,m({title:a,icon:"none"}),B=setTimeout((()=>{z.value=!1}),2200)}return s((()=>{A=setTimeout((()=>{F.value=!0}),60)})),e((()=>{A&&clearTimeout(A),B&&clearTimeout(B)})),(a,l)=>{const s=p,e=y,_=v,h=x,b=k;return t(),c(s,{class:"analysis-page"},{default:i((()=>[r(s,{class:"analysis-shell"},{default:i((()=>[o("header",{class:"top-bar"},[r(e,{class:"icon-button","aria-label":"返回",onClick:D},{default:i((()=>[r(s,{class:"back-icon"})])),_:1}),r(_,{class:"page-title"},{default:i((()=>[u("智能分析")])),_:1})]),r(b,{class:"analysis-scroll","scroll-y":""},{default:i((()=>[r(s,{class:"analysis-main"},{default:i((()=>[r(s,{class:d(["fade-section",{visible:F.value}])},{default:i((()=>[r(s,{class:"summary-card"},{default:i((()=>[r(s,{class:"summary-copy"},{default:i((()=>[r(s,{class:"summary-head"},{default:i((()=>[r(_,{class:"summary-label"},{default:i((()=>[u("当前能力评分")])),_:1}),r(s,{class:"trend-chip"},{default:i((()=>[r(s,{class:"trend-icon"}),r(_,null,{default:i((()=>[u("+12%")])),_:1})])),_:1})])),_:1}),r(_,{class:"summary-score"},{default:i((()=>[u("84.5")])),_:1}),r(_,{class:"summary-desc"},{default:i((()=>[u("相较于上周,您的临床推理能力有显著提升")])),_:1})])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section",{visible:F.value}])},{default:i((()=>[r(s,{class:"chart-card"},{default:i((()=>[r(s,{class:"section-head"},{default:i((()=>[r(_,{class:"section-title"},{default:i((()=>[u("近期分数趋势")])),_:1}),r(s,{class:"section-icon"},{default:i((()=>[r(s,{class:"chart-icon"})])),_:1})])),_:1}),r(s,{class:"bar-chart"},{default:i((()=>[(t(),n(g,null,f(C,(a=>r(s,{key:a.label,class:"bar-column"},{default:i((()=>[r(s,{class:"bar-track"},{default:i((()=>[r(s,{class:d(["bar-fill",{highlighted:a.highlight}]),style:w({height:a.height})},null,8,["class","style"])])),_:2},1024),r(_,{class:d(["bar-label",{active:a.highlight}])},{default:i((()=>[u(T(a.label),1)])),_:2},1032,["class"])])),_:2},1024))),64))])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section",{visible:F.value}])},{default:i((()=>[r(s,{class:"chart-card"},{default:i((()=>[r(s,{class:"section-head"},{default:i((()=>[r(_,{class:"section-title"},{default:i((()=>[u("临床胜任力雷达图")])),_:1}),r(s,{class:"section-icon"},{default:i((()=>[r(s,{class:"radar-icon"})])),_:1})])),_:1}),r(s,{class:"radar-wrap"},{default:i((()=>[r(s,{class:"radar-background"},{default:i((()=>[r(s,{class:"radar-ring ring-one"}),r(s,{class:"radar-ring ring-two"}),r(s,{class:"radar-ring ring-three"}),r(s,{class:"radar-ring ring-four"}),r(s,{class:"radar-axis axis-vertical"}),r(s,{class:"radar-axis axis-diagonal-one"}),r(s,{class:"radar-axis axis-diagonal-two"}),r(s,{class:"radar-axis axis-diagonal-three"}),r(s,{class:"radar-axis axis-diagonal-four"})])),_:1}),r(s,{class:"radar-label label-top"},{default:i((()=>[u("病史采集")])),_:1}),r(s,{class:"radar-label label-right-top"},{default:i((()=>[u("体格检查")])),_:1}),r(s,{class:"radar-label label-right-bottom"},{default:i((()=>[u("诊断能力")])),_:1}),r(s,{class:"radar-label label-bottom"},{default:i((()=>[u("治疗决策")])),_:1}),r(s,{class:"radar-label label-left-bottom"},{default:i((()=>[u("沟通技巧")])),_:1}),r(s,{class:"radar-label label-left-top"},{default:i((()=>[u("临床推理")])),_:1}),(t(),n("svg",{class:"radar-svg",viewBox:"0 0 100 100"},[o("polygon",{class:"radar-polygon",points:"50,15 85,35 80,75 50,85 25,70 20,40"}),o("circle",{cx:"50",cy:"15",r:"3"}),o("circle",{cx:"85",cy:"35",r:"3"}),o("circle",{cx:"80",cy:"75",r:"3"}),o("circle",{cx:"50",cy:"85",r:"3"}),o("circle",{cx:"25",cy:"70",r:"3"}),o("circle",{cx:"20",cy:"40",r:"3"})]))])),_:1}),r(s,{class:"analysis-note"},{default:i((()=>[r(_,null,{default:i((()=>[u("您的")])),_:1}),r(_,{class:"strong-text"},{default:i((()=>[u("诊断能力")])),_:1}),r(_,null,{default:i((()=>[u("和")])),_:1}),r(_,{class:"strong-text"},{default:i((()=>[u("治疗决策")])),_:1}),r(_,null,{default:i((()=>[u("表现突出,但")])),_:1}),r(_,{class:"secondary-text"},{default:i((()=>[u("病史采集")])),_:1}),r(_,null,{default:i((()=>[u("仍有提升空间。建议增加相关模拟训练。")])),_:1})])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section",{visible:F.value}])},{default:i((()=>[r(_,{class:"mini-title"},{default:i((()=>[u("分项提升建议")])),_:1}),r(s,{class:"suggestion-list"},{default:i((()=>[r(s,{class:"suggestion-card",onClick:l[0]||(l[0]=a=>E("重点回顾内容即将开放"))},{default:i((()=>[r(s,{class:"suggestion-icon-wrap secondary-tone"},{default:i((()=>[r(s,{class:"book-icon"})])),_:1}),r(s,{class:"suggestion-copy"},{default:i((()=>[r(_,{class:"suggestion-title"},{default:i((()=>[u("重点回顾:心血管查体")])),_:1}),r(_,{class:"suggestion-desc"},{default:i((()=>[u("基于您最近在心衰案例中的表现")])),_:1})])),_:1}),r(s,{class:"chevron-icon"})])),_:1}),r(s,{class:"suggestion-card",onClick:l[1]||(l[1]=a=>E("专项挑战即将开放"))},{default:i((()=>[r(s,{class:"suggestion-icon-wrap tertiary-tone"},{default:i((()=>[r(s,{class:"brain-icon"})])),_:1}),r(s,{class:"suggestion-copy"},{default:i((()=>[r(_,{class:"suggestion-title"},{default:i((()=>[u("临床思维专项挑战")])),_:1}),r(_,{class:"suggestion-desc"},{default:i((()=>[u("推荐参与难度等级:高级")])),_:1})])),_:1}),r(s,{class:"chevron-icon"})])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section mentor-section",{visible:F.value}])},{default:i((()=>[r(s,{class:"mentor-card"},{default:i((()=>[r(s,{class:"mentor-head"},{default:i((()=>[r(h,{class:"mentor-avatar",src:j,mode:"aspectFill"}),r(s,null,{default:i((()=>[r(_,{class:"mentor-name"},{default:i((()=>[u("王主任的建议")])),_:1}),r(_,{class:"mentor-role"},{default:i((()=>[u("Director's Mentorship")])),_:1})])),_:1})])),_:1}),r(s,{class:"mentor-bubble"},{default:i((()=>[r(_,null,{default:i((()=>[u("“你的进步非常扎实。今天休息一下,明天我们来挑战一个更复杂的病例如何?”")])),_:1})])),_:1})])),_:1})])),_:1},8,["class"])])),_:1})])),_:1})])),_:1})])),_:1})}}}),[["__scopeId","data-v-d47e7efa"]]);export{F as default}; diff --git a/dist/assets/pages-profile-profile-analysis.BuyFl8SQ.js b/dist/assets/pages-profile-profile-analysis.BuyFl8SQ.js new file mode 100644 index 0000000..82ae302 --- /dev/null +++ b/dist/assets/pages-profile-profile-analysis.BuyFl8SQ.js @@ -0,0 +1 @@ +import{d as a,r as l,o as s,b as e,e as t,f as c,w as i,i as r,N as o,j as u,n as d,l as n,m as f,F as g,P as _,Q as h,D as b,R as m,y as p,z as y,x as v,u as x,S as k,H as w,t as T}from"./index-CpNRQgjE.js";import{_ as j}from"./config-doctor.TgARj_nM.js";import{_ as C}from"./_plugin-vue_export-helper.BCo6x5W8.js";const D=C(a({__name:"profile-analysis",setup(a){const C=[{label:"周一",height:"60%",highlight:!1},{label:"周二",height:"70%",highlight:!1},{label:"周三",height:"65%",highlight:!1},{label:"周四",height:"80%",highlight:!1},{label:"周五",height:"85%",highlight:!0},{label:"周六",height:"90%",highlight:!1},{label:"周日",height:"95%",highlight:!1}],D=l(!1),F=l(""),z=l(!1);let B=null,H=null;function I(){"function"==typeof _&&_().length>1?h():b({url:"/pages/profile/profile"})}function M(a){H&&clearTimeout(H),F.value=a,z.value=!0,m({title:a,icon:"none"}),H=setTimeout((()=>{z.value=!1}),2200)}return s((()=>{B=setTimeout((()=>{D.value=!0}),60)})),e((()=>{B&&clearTimeout(B),H&&clearTimeout(H)})),(a,l)=>{const s=p,e=y,_=v,h=x,b=k;return t(),c(s,{class:"analysis-page"},{default:i((()=>[r(s,{class:"analysis-shell"},{default:i((()=>[o("header",{class:"top-bar"},[r(e,{class:"icon-button","aria-label":"返回",onClick:I},{default:i((()=>[r(s,{class:"back-icon"})])),_:1}),r(_,{class:"page-title"},{default:i((()=>[u("智能分析")])),_:1})]),r(b,{class:"analysis-scroll","scroll-y":""},{default:i((()=>[r(s,{class:"analysis-main"},{default:i((()=>[r(s,{class:d(["fade-section",{visible:D.value}])},{default:i((()=>[r(s,{class:"summary-card"},{default:i((()=>[r(s,{class:"summary-copy"},{default:i((()=>[r(s,{class:"summary-head"},{default:i((()=>[r(_,{class:"summary-label"},{default:i((()=>[u("当前能力评分")])),_:1}),r(s,{class:"trend-chip"},{default:i((()=>[r(s,{class:"trend-icon"}),r(_,null,{default:i((()=>[u("+12%")])),_:1})])),_:1})])),_:1}),r(_,{class:"summary-score"},{default:i((()=>[u("84.5")])),_:1}),r(_,{class:"summary-desc"},{default:i((()=>[u("相较于上周,您的临床推理能力有显著提升")])),_:1})])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section",{visible:D.value}])},{default:i((()=>[r(s,{class:"chart-card"},{default:i((()=>[r(s,{class:"section-head"},{default:i((()=>[r(_,{class:"section-title"},{default:i((()=>[u("近期分数趋势")])),_:1}),r(s,{class:"section-icon"},{default:i((()=>[r(s,{class:"chart-icon"})])),_:1})])),_:1}),r(s,{class:"bar-chart"},{default:i((()=>[(t(),n(g,null,f(C,(a=>r(s,{key:a.label,class:"bar-column"},{default:i((()=>[r(s,{class:"bar-track"},{default:i((()=>[r(s,{class:d(["bar-fill",{highlighted:a.highlight}]),style:w({height:a.height})},null,8,["class","style"])])),_:2},1024),r(_,{class:d(["bar-label",{active:a.highlight}])},{default:i((()=>[u(T(a.label),1)])),_:2},1032,["class"])])),_:2},1024))),64))])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section",{visible:D.value}])},{default:i((()=>[r(s,{class:"chart-card"},{default:i((()=>[r(s,{class:"section-head"},{default:i((()=>[r(_,{class:"section-title"},{default:i((()=>[u("临床胜任力雷达图")])),_:1}),r(s,{class:"section-icon"},{default:i((()=>[r(s,{class:"radar-icon"})])),_:1})])),_:1}),r(s,{class:"radar-wrap"},{default:i((()=>[r(s,{class:"radar-background"},{default:i((()=>[r(s,{class:"radar-ring ring-one"}),r(s,{class:"radar-ring ring-two"}),r(s,{class:"radar-ring ring-three"}),r(s,{class:"radar-ring ring-four"}),r(s,{class:"radar-axis axis-vertical"}),r(s,{class:"radar-axis axis-diagonal-one"}),r(s,{class:"radar-axis axis-diagonal-two"}),r(s,{class:"radar-axis axis-diagonal-three"}),r(s,{class:"radar-axis axis-diagonal-four"})])),_:1}),r(s,{class:"radar-label label-top"},{default:i((()=>[u("病史采集")])),_:1}),r(s,{class:"radar-label label-right-top"},{default:i((()=>[u("体格检查")])),_:1}),r(s,{class:"radar-label label-right-bottom"},{default:i((()=>[u("诊断能力")])),_:1}),r(s,{class:"radar-label label-bottom"},{default:i((()=>[u("治疗决策")])),_:1}),r(s,{class:"radar-label label-left-bottom"},{default:i((()=>[u("沟通技巧")])),_:1}),r(s,{class:"radar-label label-left-top"},{default:i((()=>[u("临床推理")])),_:1}),(t(),n("svg",{class:"radar-svg",viewBox:"0 0 100 100"},[o("polygon",{class:"radar-polygon",points:"50,15 85,35 80,75 50,85 25,70 20,40"}),o("circle",{cx:"50",cy:"15",r:"3"}),o("circle",{cx:"85",cy:"35",r:"3"}),o("circle",{cx:"80",cy:"75",r:"3"}),o("circle",{cx:"50",cy:"85",r:"3"}),o("circle",{cx:"25",cy:"70",r:"3"}),o("circle",{cx:"20",cy:"40",r:"3"})]))])),_:1}),r(s,{class:"analysis-note"},{default:i((()=>[r(_,null,{default:i((()=>[u("您的")])),_:1}),r(_,{class:"strong-text"},{default:i((()=>[u("诊断能力")])),_:1}),r(_,null,{default:i((()=>[u("和")])),_:1}),r(_,{class:"strong-text"},{default:i((()=>[u("治疗决策")])),_:1}),r(_,null,{default:i((()=>[u("表现突出,但")])),_:1}),r(_,{class:"secondary-text"},{default:i((()=>[u("病史采集")])),_:1}),r(_,null,{default:i((()=>[u("仍有提升空间。建议增加相关模拟训练。")])),_:1})])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section",{visible:D.value}])},{default:i((()=>[r(_,{class:"mini-title"},{default:i((()=>[u("分项提升建议")])),_:1}),r(s,{class:"suggestion-list"},{default:i((()=>[r(s,{class:"suggestion-card",onClick:l[0]||(l[0]=a=>M("重点回顾内容即将开放"))},{default:i((()=>[r(s,{class:"suggestion-icon-wrap secondary-tone"},{default:i((()=>[r(s,{class:"book-icon"})])),_:1}),r(s,{class:"suggestion-copy"},{default:i((()=>[r(_,{class:"suggestion-title"},{default:i((()=>[u("重点回顾:心血管查体")])),_:1}),r(_,{class:"suggestion-desc"},{default:i((()=>[u("基于您最近在心衰案例中的表现")])),_:1})])),_:1}),r(s,{class:"chevron-icon"})])),_:1}),r(s,{class:"suggestion-card",onClick:l[1]||(l[1]=a=>M("专项挑战即将开放"))},{default:i((()=>[r(s,{class:"suggestion-icon-wrap tertiary-tone"},{default:i((()=>[r(s,{class:"brain-icon"})])),_:1}),r(s,{class:"suggestion-copy"},{default:i((()=>[r(_,{class:"suggestion-title"},{default:i((()=>[u("临床思维专项挑战")])),_:1}),r(_,{class:"suggestion-desc"},{default:i((()=>[u("推荐参与难度等级:高级")])),_:1})])),_:1}),r(s,{class:"chevron-icon"})])),_:1})])),_:1})])),_:1},8,["class"]),r(s,{class:d(["fade-section mentor-section",{visible:D.value}])},{default:i((()=>[r(s,{class:"mentor-card"},{default:i((()=>[r(s,{class:"mentor-head"},{default:i((()=>[r(h,{class:"mentor-avatar",src:j,mode:"aspectFill"}),r(s,null,{default:i((()=>[r(_,{class:"mentor-name"},{default:i((()=>[u("王主任的建议")])),_:1}),r(_,{class:"mentor-role"},{default:i((()=>[u("Director's Mentorship")])),_:1})])),_:1})])),_:1}),r(s,{class:"mentor-bubble"},{default:i((()=>[r(_,null,{default:i((()=>[u("“你的进步非常扎实。今天休息一下,明天我们来挑战一个更复杂的病例如何?”")])),_:1})])),_:1})])),_:1})])),_:1},8,["class"])])),_:1})])),_:1})])),_:1})])),_:1})}}}),[["__scopeId","data-v-d47e7efa"]]);export{D as default}; diff --git a/dist/assets/pages-profile-profile-records.dJZjXNd2.js b/dist/assets/pages-profile-profile-records.C3ZzZ02U.js similarity index 70% rename from dist/assets/pages-profile-profile-records.dJZjXNd2.js rename to dist/assets/pages-profile-profile-records.C3ZzZ02U.js index a0f1d88..d178fe8 100644 --- a/dist/assets/pages-profile-profile-records.dJZjXNd2.js +++ b/dist/assets/pages-profile-profile-records.C3ZzZ02U.js @@ -1 +1 @@ -import{d as a,a as e,c as s,e as l,f as t,g as c,w as r,j as d,L as o,k as u,m as n,p as i,F as f,h as p,n as _,t as m,M as b,N as h,P as y,z as v,A as g,y as k,I as x,S as j,l as w,Q as C}from"./index-BcNbz4lX.js";import{_ as V}from"./_plugin-vue_export-helper.BCo6x5W8.js";const I=V(a({__name:"profile-records",setup(a){const V=e(""),I=e(""),z=e(!1),A=[{label:"总病例",value:"12"},{label:"总时长",value:"128h"},{label:"平均正确率",value:"92%",secondary:!0}],F=[{title:"急性心肌梗死",department:"心内科",date:"2023-11-20",score:"98",abbr:"心",tone:"primary"},{title:"缺血性脑卒中",department:"神经内科",date:"2023-11-18",score:"85",abbr:"神",tone:"secondary"},{title:"重症肺炎伴呼吸衰竭",department:"呼吸科",date:"2023-11-15",score:"92",abbr:"肺",tone:"tertiary"},{title:"急性胰腺炎",department:"消化内科",date:"2023-11-12",score:"78",abbr:"消",tone:"primary",dimmed:!0},{title:"糖尿病肾病五期",department:"肾内科",date:"2023-11-10",score:"95",abbr:"肾",tone:"secondary",dimmed:!0}],L=s((()=>{const a=V.value.trim();return a?F.filter((e=>[e.title,e.department,e.date].some((e=>e.includes(a))))):F}));function M(){"function"==typeof b&&b().length>1?h():y({url:"/pages/profile/profile"})}function N(){C({url:"/pages/assessment/assessment"})}return l((()=>{})),(a,e)=>{const s=v,l=g,b=k,h=x,y=j;return t(),c(s,{class:"records-page"},{default:r((()=>[d(s,{class:"records-shell"},{default:r((()=>[o("header",{class:"top-bar"},[d(l,{class:"icon-button","aria-label":"返回",onClick:M},{default:r((()=>[d(s,{class:"back-icon"})])),_:1}),d(b,{class:"page-title"},{default:r((()=>[u("学习记录")])),_:1})]),d(y,{class:"records-scroll","scroll-y":""},{default:r((()=>[o("main",{class:"records-main"},[o("section",{class:"stats-grid"},[(t(),n(f,null,i(A,(a=>d(s,{key:a.label,class:"stat-card"},{default:r((()=>[d(b,{class:"stat-label"},{default:r((()=>[u(m(a.label),1)])),_:2},1024),d(b,{class:_(["stat-value",{secondary:a.secondary}])},{default:r((()=>[u(m(a.value),1)])),_:2},1032,["class"])])),_:2},1024))),64))]),o("section",{class:"search-section"},[d(s,{class:"search-field"},{default:r((()=>[d(s,{class:"search-icon"}),d(h,{modelValue:V.value,"onUpdate:modelValue":e[0]||(e[0]=a=>V.value=a),class:"search-input",placeholder:"搜索病例标题或科室...","placeholder-class":"search-placeholder",type:"text"},null,8,["modelValue"])])),_:1})]),o("section",{class:"history-section"},[d(b,{class:"section-title"},{default:r((()=>[u("最近训练")])),_:1}),d(s,{class:"record-list"},{default:r((()=>[(t(!0),n(f,null,i(L.value,(a=>(t(),c(s,{key:a.title,class:_(["record-card",{dimmed:a.dimmed}]),onClick:N},{default:r((()=>[d(s,{class:_(["case-icon-wrap",a.tone])},{default:r((()=>[d(b,{class:"case-icon-text"},{default:r((()=>[u(m(a.abbr),1)])),_:2},1024)])),_:2},1032,["class"]),d(s,{class:"case-copy"},{default:r((()=>[d(b,{class:"case-title"},{default:r((()=>[u(m(a.title),1)])),_:2},1024),d(s,{class:"case-meta"},{default:r((()=>[d(b,null,{default:r((()=>[u(m(a.department),1)])),_:2},1024),d(b,{class:"dot"},{default:r((()=>[u("•")])),_:1}),d(b,null,{default:r((()=>[u(m(a.date),1)])),_:2},1024)])),_:2},1024)])),_:2},1024),d(s,{class:"score-block"},{default:r((()=>[d(s,{class:"score-row"},{default:r((()=>[d(b,{class:"score-value"},{default:r((()=>[u(m(a.score),1)])),_:2},1024),d(b,{class:"score-unit"},{default:r((()=>[u("分")])),_:1})])),_:2},1024),d(l,{class:"report-button",onClick:w(N,["stop"])},{default:r((()=>[d(b,null,{default:r((()=>[u("查看报告")])),_:1}),d(s,{class:"small-chevron"})])),_:1})])),_:2},1024)])),_:2},1032,["class"])))),128)),0===L.value.length?(t(),c(s,{key:0,class:"empty-state"},{default:r((()=>[d(b,null,{default:r((()=>[u("没有找到匹配的训练记录")])),_:1})])),_:1})):p("",!0)])),_:1})]),d(s,{class:"bottom-hint"},{default:r((()=>[d(b,null,{default:r((()=>[u("已经到底啦")])),_:1})])),_:1})])])),_:1}),d(s,{class:_(["toast",{visible:z.value}])},{default:r((()=>[u(m(I.value),1)])),_:1},8,["class"])])),_:1})])),_:1})}}}),[["__scopeId","data-v-192e7c16"]]);export{I as default}; +import{d as a,r as e,c as s,b as l,e as t,f as c,w as r,i as d,N as o,j as u,l as n,m as i,F as f,g as _,n as p,t as m,P as b,Q as h,D as y,y as v,z as g,x as k,I as x,S as j,k as w,G as C}from"./index-CpNRQgjE.js";import{_ as V}from"./_plugin-vue_export-helper.BCo6x5W8.js";const I=V(a({__name:"profile-records",setup(a){const V=e(""),I=e(""),z=e(!1),D=[{label:"总病例",value:"12"},{label:"总时长",value:"128h"},{label:"平均正确率",value:"92%",secondary:!0}],F=[{title:"急性心肌梗死",department:"心内科",date:"2023-11-20",score:"98",abbr:"心",tone:"primary"},{title:"缺血性脑卒中",department:"神经内科",date:"2023-11-18",score:"85",abbr:"神",tone:"secondary"},{title:"重症肺炎伴呼吸衰竭",department:"呼吸科",date:"2023-11-15",score:"92",abbr:"肺",tone:"tertiary"},{title:"急性胰腺炎",department:"消化内科",date:"2023-11-12",score:"78",abbr:"消",tone:"primary",dimmed:!0},{title:"糖尿病肾病五期",department:"肾内科",date:"2023-11-10",score:"95",abbr:"肾",tone:"secondary",dimmed:!0}],G=s((()=>{const a=V.value.trim();return a?F.filter((e=>[e.title,e.department,e.date].some((e=>e.includes(a))))):F}));function N(){"function"==typeof b&&b().length>1?h():y({url:"/pages/profile/profile"})}function P(){C({url:"/pages/assessment/assessment"})}return l((()=>{})),(a,e)=>{const s=v,l=g,b=k,h=x,y=j;return t(),c(s,{class:"records-page"},{default:r((()=>[d(s,{class:"records-shell"},{default:r((()=>[o("header",{class:"top-bar"},[d(l,{class:"icon-button","aria-label":"返回",onClick:N},{default:r((()=>[d(s,{class:"back-icon"})])),_:1}),d(b,{class:"page-title"},{default:r((()=>[u("学习记录")])),_:1})]),d(y,{class:"records-scroll","scroll-y":""},{default:r((()=>[o("main",{class:"records-main"},[o("section",{class:"stats-grid"},[(t(),n(f,null,i(D,(a=>d(s,{key:a.label,class:"stat-card"},{default:r((()=>[d(b,{class:"stat-label"},{default:r((()=>[u(m(a.label),1)])),_:2},1024),d(b,{class:p(["stat-value",{secondary:a.secondary}])},{default:r((()=>[u(m(a.value),1)])),_:2},1032,["class"])])),_:2},1024))),64))]),o("section",{class:"search-section"},[d(s,{class:"search-field"},{default:r((()=>[d(s,{class:"search-icon"}),d(h,{modelValue:V.value,"onUpdate:modelValue":e[0]||(e[0]=a=>V.value=a),class:"search-input",placeholder:"搜索病例标题或科室...","placeholder-class":"search-placeholder",type:"text"},null,8,["modelValue"])])),_:1})]),o("section",{class:"history-section"},[d(b,{class:"section-title"},{default:r((()=>[u("最近训练")])),_:1}),d(s,{class:"record-list"},{default:r((()=>[(t(!0),n(f,null,i(G.value,(a=>(t(),c(s,{key:a.title,class:p(["record-card",{dimmed:a.dimmed}]),onClick:P},{default:r((()=>[d(s,{class:p(["case-icon-wrap",a.tone])},{default:r((()=>[d(b,{class:"case-icon-text"},{default:r((()=>[u(m(a.abbr),1)])),_:2},1024)])),_:2},1032,["class"]),d(s,{class:"case-copy"},{default:r((()=>[d(b,{class:"case-title"},{default:r((()=>[u(m(a.title),1)])),_:2},1024),d(s,{class:"case-meta"},{default:r((()=>[d(b,null,{default:r((()=>[u(m(a.department),1)])),_:2},1024),d(b,{class:"dot"},{default:r((()=>[u("•")])),_:1}),d(b,null,{default:r((()=>[u(m(a.date),1)])),_:2},1024)])),_:2},1024)])),_:2},1024),d(s,{class:"score-block"},{default:r((()=>[d(s,{class:"score-row"},{default:r((()=>[d(b,{class:"score-value"},{default:r((()=>[u(m(a.score),1)])),_:2},1024),d(b,{class:"score-unit"},{default:r((()=>[u("分")])),_:1})])),_:2},1024),d(l,{class:"report-button",onClick:w(P,["stop"])},{default:r((()=>[d(b,null,{default:r((()=>[u("查看报告")])),_:1}),d(s,{class:"small-chevron"})])),_:1})])),_:2},1024)])),_:2},1032,["class"])))),128)),0===G.value.length?(t(),c(s,{key:0,class:"empty-state"},{default:r((()=>[d(b,null,{default:r((()=>[u("没有找到匹配的训练记录")])),_:1})])),_:1})):_("",!0)])),_:1})]),d(s,{class:"bottom-hint"},{default:r((()=>[d(b,null,{default:r((()=>[u("已经到底啦")])),_:1})])),_:1})])])),_:1}),d(s,{class:p(["toast",{visible:z.value}])},{default:r((()=>[u(m(I.value),1)])),_:1},8,["class"])])),_:1})])),_:1})}}}),[["__scopeId","data-v-15539840"]]);export{I as default}; diff --git a/dist/assets/pages-profile-profile.B4yr9-t8.js b/dist/assets/pages-profile-profile.B4yr9-t8.js new file mode 100644 index 0000000..1a61be5 --- /dev/null +++ b/dist/assets/pages-profile-profile.B4yr9-t8.js @@ -0,0 +1 @@ +import{d as l,r as a,c as e,b as s,e as t,f as c,w as o,i,j as n,l as u,m as d,F as r,t as f,n as _,L as m,D as p,G as b,y as g,z as v,x as y,u as k,S as h,g as w,H as C}from"./index-CpNRQgjE.js";import{_ as x}from"./config-doctor.TgARj_nM.js";import{_ as j}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=j(l({__name:"profile",emits:["open-settings","go-home"],setup(l,{emit:j}){var T,B;const F=j,G=a("focused"),H=a(""),I=a(!1);let O=null;const S=m(),z=Boolean(null==(T=null==S?void 0:S.vnode.props)?void 0:T.onGoHome),A=Boolean(null==(B=null==S?void 0:S.vnode.props)?void 0:B.onOpenSettings),D=[{label:"北京",icon:"location-icon"},{label:"北大医学部",icon:"school-icon"},{label:"2022级硕士",icon:"calendar-icon"},{label:"3年从业经验",icon:"timer-icon"}],L=[{id:"steady",label:"平稳专注",icon:"satisfied-icon"},{id:"focused",label:"专注度极高",icon:"bolt-icon"},{id:"mindful",label:"沉浸复盘",icon:"self-icon"}],P=[{label:"首席诊断师",icon:"premium-icon",tone:"tertiary"},{label:"极速响应者",icon:"medical-icon",tone:"secondary"},{label:"病例专家",icon:"history-icon",tone:"primary"}],R=[{title:"我的训练记录",desc:"临床实战数据详细分析",icon:"analytics-icon",tone:"record",route:"/pages/profile/profile-records"},{title:"智能分析",desc:"基于AI的临床能力深度洞察",icon:"insights-icon",tone:"analysis",route:"/pages/profile/profile-analysis"}],q=[{label:"已完成病例",value:"12",badge:"本周 +2"},{label:"累计训练时长",value:"128",unit:"小时"},{label:"平均分",value:"85.5",progress:"85%"},{label:"诊断准确率",value:"92%",trending:!0}],E=e((()=>{var l;return(null==(l=L.find((l=>l.id===G.value)))?void 0:l.label)||"专注度极高"}));function J(l){O&&clearTimeout(O),H.value=l,I.value=!0,O=setTimeout((()=>{I.value=!1}),2200)}function K(){z?F("go-home"):p({url:"/pages/home/home"})}function M(){A?F("open-settings"):b({url:"/pages/config/config"})}return s((()=>{O&&clearTimeout(O)})),(l,a)=>{const e=g,s=v,m=y,p=k,j=h;return t(),c(e,{class:"profile-page"},{default:o((()=>[i(e,{class:"profile-shell"},{default:o((()=>[i(e,{class:"top-app-bar"},{default:o((()=>[i(s,{class:"top-button nav-left","aria-label":"首页",onClick:K},{default:o((()=>[i(e,{class:"home-icon"})])),_:1}),i(m,{class:"page-title"},{default:o((()=>[n("个人中心")])),_:1}),i(s,{class:"top-button nav-right","aria-label":"配置",onClick:M},{default:o((()=>[i(e,{class:"settings-icon"})])),_:1})])),_:1}),i(j,{class:"profile-scroll","scroll-y":""},{default:o((()=>[i(e,{class:"profile-content"},{default:o((()=>[i(e,{class:"user-card"},{default:o((()=>[i(e,{class:"avatar-wrap"},{default:o((()=>[i(p,{class:"avatar-image",src:x,mode:"aspectFill"}),i(m,{class:"pro-badge"},{default:o((()=>[n("PRO")])),_:1})])),_:1}),i(e,{class:"user-copy"},{default:o((()=>[i(m,{class:"doctor-name"},{default:o((()=>[n("陈伟 医生")])),_:1}),i(e,{class:"tag-row"},{default:o((()=>[i(m,{class:"tag primary-tag"},{default:o((()=>[n("第二阶段规培")])),_:1}),i(m,{class:"tag secondary-tag"},{default:o((()=>[n("心内科")])),_:1})])),_:1}),i(e,{class:"meta-grid"},{default:o((()=>[(t(),u(r,null,d(D,(l=>i(e,{key:l.label,class:"meta-item"},{default:o((()=>[i(e,{class:_(["meta-icon",l.icon])},null,8,["class"]),i(m,null,{default:o((()=>[n(f(l.label),1)])),_:2},1024)])),_:2},1024))),64))])),_:1})])),_:1})])),_:1}),i(e,{class:"section-block"},{default:o((()=>[i(e,{class:"section-title-row"},{default:o((()=>[i(m,{class:"section-title"},{default:o((()=>[n("专注状态与荣誉墙")])),_:1})])),_:1}),i(e,{class:"mood-card"},{default:o((()=>[i(e,null,{default:o((()=>[i(m,{class:"sub-label"},{default:o((()=>[n("今日学习状态")])),_:1}),i(m,{class:"mood-title"},{default:o((()=>[n(f(E.value),1)])),_:1})])),_:1}),i(e,{class:"mood-actions"},{default:o((()=>[(t(),u(r,null,d(L,(l=>i(s,{key:l.id,class:_(["mood-button",{active:G.value===l.id}]),"aria-label":l.label,onClick:a=>G.value=l.id},{default:o((()=>[i(e,{class:_(["mood-icon",l.icon])},null,8,["class"])])),_:2},1032,["class","aria-label","onClick"]))),64))])),_:1})])),_:1}),i(e,{class:"medal-card"},{default:o((()=>[i(e,{class:"medal-head"},{default:o((()=>[i(m,{class:"sub-label"},{default:o((()=>[n("勋章墙")])),_:1}),i(s,{class:"text-link",onClick:a[0]||(a[0]=l=>J("勋章墙详情即将开放"))},{default:o((()=>[n("查看全部 (12)")])),_:1})])),_:1}),i(e,{class:"medal-list"},{default:o((()=>[(t(),u(r,null,d(P,(l=>i(e,{key:l.label,class:"medal-item"},{default:o((()=>[i(e,{class:_(["medal-circle",l.tone])},{default:o((()=>[i(e,{class:_(["medal-icon",l.icon])},null,8,["class"])])),_:2},1032,["class"]),i(m,null,{default:o((()=>[n(f(l.label),1)])),_:2},1024)])),_:2},1024))),64))])),_:1})])),_:1})])),_:1}),i(e,{class:"action-stack"},{default:o((()=>[(t(),u(r,null,d(R,(l=>i(s,{key:l.title,class:_(["entry-card",l.tone]),onClick:a=>function(l){l.route?b({url:l.route}):J(l.toast||"功能即将开放")}(l)},{default:o((()=>[i(e,{class:"entry-main"},{default:o((()=>[i(e,{class:"entry-icon-wrap"},{default:o((()=>[i(e,{class:_(["entry-icon",l.icon])},null,8,["class"])])),_:2},1024),i(e,{class:"entry-copy"},{default:o((()=>[i(m,{class:"entry-title"},{default:o((()=>[n(f(l.title),1)])),_:2},1024),i(m,{class:"entry-desc"},{default:o((()=>[n(f(l.desc),1)])),_:2},1024)])),_:2},1024)])),_:2},1024),i(e,{class:"chevron-icon"})])),_:2},1032,["class","onClick"]))),64))])),_:1}),i(e,{class:"section-block"},{default:o((()=>[i(m,{class:"section-title"},{default:o((()=>[n("临床核心能力指标")])),_:1}),i(e,{class:"metric-grid"},{default:o((()=>[(t(),u(r,null,d(q,(l=>i(e,{key:l.label,class:"metric-card"},{default:o((()=>[i(m,{class:"sub-label"},{default:o((()=>[n(f(l.label),1)])),_:2},1024),i(e,{class:"metric-value-row"},{default:o((()=>[i(m,{class:"metric-value"},{default:o((()=>[n(f(l.value),1)])),_:2},1024),l.badge?(t(),c(m,{key:0,class:"metric-badge"},{default:o((()=>[n(f(l.badge),1)])),_:2},1024)):w("",!0),l.unit?(t(),c(m,{key:1,class:"metric-unit"},{default:o((()=>[n(f(l.unit),1)])),_:2},1024)):w("",!0),l.progress?(t(),c(e,{key:2,class:"mini-progress"},{default:o((()=>[i(e,{class:"mini-progress-fill",style:C({width:l.progress})},null,8,["style"])])),_:2},1024)):w("",!0),l.trending?(t(),c(e,{key:3,class:"trend-icon"})):w("",!0)])),_:2},1024)])),_:2},1024))),64))])),_:1})])),_:1})])),_:1})])),_:1}),i(e,{class:_(["toast",{visible:I.value}])},{default:o((()=>[n(f(H.value),1)])),_:1},8,["class"])])),_:1})])),_:1})}}}),[["__scopeId","data-v-9bf28702"]]);export{T as default}; diff --git a/dist/assets/pages-profile-profile.D-uLPWwn.js b/dist/assets/pages-profile-profile.D-uLPWwn.js deleted file mode 100644 index 6427c5d..0000000 --- a/dist/assets/pages-profile-profile.D-uLPWwn.js +++ /dev/null @@ -1 +0,0 @@ -import{d as l,a,c as e,e as s,f as t,g as c,w as o,j as i,k as n,m as u,p as d,F as r,t as f,n as _,J as m,u as p,P as b,Q as g,z as v,A as y,y as k,x as h,S as w,h as C,E as x}from"./index-BcNbz4lX.js";import{_ as j}from"./config-doctor.TgARj_nM.js";import{_ as T}from"./_plugin-vue_export-helper.BCo6x5W8.js";const A=T(l({__name:"profile",emits:["open-settings","go-home"],setup(l,{emit:T}){var A,B;const F=T,I=a("focused"),O=a(""),P=a(!1);let S=null;const z=m(),E=Boolean(null==(A=null==z?void 0:z.vnode.props)?void 0:A.onGoHome),G=Boolean(null==(B=null==z?void 0:z.vnode.props)?void 0:B.onOpenSettings),H=[{label:"北京",icon:"location-icon"},{label:"北大医学部",icon:"school-icon"},{label:"2022级硕士",icon:"calendar-icon"},{label:"3年从业经验",icon:"timer-icon"}],J=[{id:"steady",label:"平稳专注",icon:"satisfied-icon"},{id:"focused",label:"专注度极高",icon:"bolt-icon"},{id:"mindful",label:"沉浸复盘",icon:"self-icon"}],Q=[{label:"首席诊断师",icon:"premium-icon",tone:"tertiary"},{label:"极速响应者",icon:"medical-icon",tone:"secondary"},{label:"病例专家",icon:"history-icon",tone:"primary"}],R=[{title:"我的训练记录",desc:"临床实战数据详细分析",icon:"analytics-icon",tone:"record",route:"/pages/profile/profile-records"},{title:"智能分析",desc:"基于AI的临床能力深度洞察",icon:"insights-icon",tone:"analysis",route:"/pages/profile/profile-analysis"}],q=[{label:"已完成病例",value:"12",badge:"本周 +2"},{label:"累计训练时长",value:"128",unit:"小时"},{label:"平均分",value:"85.5",progress:"85%"},{label:"诊断准确率",value:"92%",trending:!0}],D=e((()=>{var l;return(null==(l=J.find((l=>l.id===I.value)))?void 0:l.label)||"专注度极高"}));function K(l){S&&clearTimeout(S),O.value=l,P.value=!0,p({title:l,icon:"none"}),S=setTimeout((()=>{P.value=!1}),2200)}function L(){E?F("go-home"):b({url:"/pages/home/home"})}function M(){G?F("open-settings"):g({url:"/pages/config/config"})}return s((()=>{S&&clearTimeout(S)})),(l,a)=>{const e=v,s=y,m=k,p=h,b=w;return t(),c(e,{class:"profile-page"},{default:o((()=>[i(e,{class:"profile-shell"},{default:o((()=>[i(e,{class:"top-app-bar"},{default:o((()=>[i(s,{class:"top-button nav-left","aria-label":"首页",onClick:L},{default:o((()=>[i(e,{class:"home-icon"})])),_:1}),i(m,{class:"page-title"},{default:o((()=>[n("个人中心")])),_:1}),i(s,{class:"top-button nav-right","aria-label":"配置",onClick:M},{default:o((()=>[i(e,{class:"settings-icon"})])),_:1})])),_:1}),i(b,{class:"profile-scroll","scroll-y":""},{default:o((()=>[i(e,{class:"profile-content"},{default:o((()=>[i(e,{class:"user-card"},{default:o((()=>[i(e,{class:"avatar-wrap"},{default:o((()=>[i(p,{class:"avatar-image",src:j,mode:"aspectFill"}),i(m,{class:"pro-badge"},{default:o((()=>[n("PRO")])),_:1})])),_:1}),i(e,{class:"user-copy"},{default:o((()=>[i(m,{class:"doctor-name"},{default:o((()=>[n("陈伟 医生")])),_:1}),i(e,{class:"tag-row"},{default:o((()=>[i(m,{class:"tag primary-tag"},{default:o((()=>[n("第二阶段规培")])),_:1}),i(m,{class:"tag secondary-tag"},{default:o((()=>[n("心内科")])),_:1})])),_:1}),i(e,{class:"meta-grid"},{default:o((()=>[(t(),u(r,null,d(H,(l=>i(e,{key:l.label,class:"meta-item"},{default:o((()=>[i(e,{class:_(["meta-icon",l.icon])},null,8,["class"]),i(m,null,{default:o((()=>[n(f(l.label),1)])),_:2},1024)])),_:2},1024))),64))])),_:1})])),_:1})])),_:1}),i(e,{class:"section-block"},{default:o((()=>[i(e,{class:"section-title-row"},{default:o((()=>[i(m,{class:"section-title"},{default:o((()=>[n("专注状态与荣誉墙")])),_:1})])),_:1}),i(e,{class:"mood-card"},{default:o((()=>[i(e,null,{default:o((()=>[i(m,{class:"sub-label"},{default:o((()=>[n("今日学习状态")])),_:1}),i(m,{class:"mood-title"},{default:o((()=>[n(f(D.value),1)])),_:1})])),_:1}),i(e,{class:"mood-actions"},{default:o((()=>[(t(),u(r,null,d(J,(l=>i(s,{key:l.id,class:_(["mood-button",{active:I.value===l.id}]),"aria-label":l.label,onClick:a=>I.value=l.id},{default:o((()=>[i(e,{class:_(["mood-icon",l.icon])},null,8,["class"])])),_:2},1032,["class","aria-label","onClick"]))),64))])),_:1})])),_:1}),i(e,{class:"medal-card"},{default:o((()=>[i(e,{class:"medal-head"},{default:o((()=>[i(m,{class:"sub-label"},{default:o((()=>[n("勋章墙")])),_:1}),i(s,{class:"text-link",onClick:a[0]||(a[0]=l=>K("勋章墙详情即将开放"))},{default:o((()=>[n("查看全部 (12)")])),_:1})])),_:1}),i(e,{class:"medal-list"},{default:o((()=>[(t(),u(r,null,d(Q,(l=>i(e,{key:l.label,class:"medal-item"},{default:o((()=>[i(e,{class:_(["medal-circle",l.tone])},{default:o((()=>[i(e,{class:_(["medal-icon",l.icon])},null,8,["class"])])),_:2},1032,["class"]),i(m,null,{default:o((()=>[n(f(l.label),1)])),_:2},1024)])),_:2},1024))),64))])),_:1})])),_:1})])),_:1}),i(e,{class:"action-stack"},{default:o((()=>[(t(),u(r,null,d(R,(l=>i(s,{key:l.title,class:_(["entry-card",l.tone]),onClick:a=>function(l){l.route?g({url:l.route}):K(l.toast||"功能即将开放")}(l)},{default:o((()=>[i(e,{class:"entry-main"},{default:o((()=>[i(e,{class:"entry-icon-wrap"},{default:o((()=>[i(e,{class:_(["entry-icon",l.icon])},null,8,["class"])])),_:2},1024),i(e,{class:"entry-copy"},{default:o((()=>[i(m,{class:"entry-title"},{default:o((()=>[n(f(l.title),1)])),_:2},1024),i(m,{class:"entry-desc"},{default:o((()=>[n(f(l.desc),1)])),_:2},1024)])),_:2},1024)])),_:2},1024),i(e,{class:"chevron-icon"})])),_:2},1032,["class","onClick"]))),64))])),_:1}),i(e,{class:"section-block"},{default:o((()=>[i(m,{class:"section-title"},{default:o((()=>[n("临床核心能力指标")])),_:1}),i(e,{class:"metric-grid"},{default:o((()=>[(t(),u(r,null,d(q,(l=>i(e,{key:l.label,class:"metric-card"},{default:o((()=>[i(m,{class:"sub-label"},{default:o((()=>[n(f(l.label),1)])),_:2},1024),i(e,{class:"metric-value-row"},{default:o((()=>[i(m,{class:"metric-value"},{default:o((()=>[n(f(l.value),1)])),_:2},1024),l.badge?(t(),c(m,{key:0,class:"metric-badge"},{default:o((()=>[n(f(l.badge),1)])),_:2},1024)):C("",!0),l.unit?(t(),c(m,{key:1,class:"metric-unit"},{default:o((()=>[n(f(l.unit),1)])),_:2},1024)):C("",!0),l.progress?(t(),c(e,{key:2,class:"mini-progress"},{default:o((()=>[i(e,{class:"mini-progress-fill",style:x({width:l.progress})},null,8,["style"])])),_:2},1024)):C("",!0),l.trending?(t(),c(e,{key:3,class:"trend-icon"})):C("",!0)])),_:2},1024)])),_:2},1024))),64))])),_:1})])),_:1})])),_:1})])),_:1}),i(e,{class:_(["toast",{visible:P.value}])},{default:o((()=>[n(f(O.value),1)])),_:1},8,["class"])])),_:1})])),_:1})}}}),[["__scopeId","data-v-c019a1e9"]]);export{A as default}; diff --git a/dist/assets/pages-scenario-scenario.4vJ-ikjt.js b/dist/assets/pages-scenario-scenario.4vJ-ikjt.js new file mode 100644 index 0000000..fb796ff --- /dev/null +++ b/dist/assets/pages-scenario-scenario.4vJ-ikjt.js @@ -0,0 +1 @@ +import{d as e,a,r as l,c as s,o as t,b as o,e as n,f as c,w as i,i as u,j as r,t as d,l as m,m as v,F as p,n as _,s as f,G as g,u as b,y,x as h,z as k,S as w}from"./index-CpNRQgjE.js";import{_ as C}from"./config-doctor.TgARj_nM.js";import{r as G}from"./cases.BlouN7SM.js";import{F as j,a as x,r as I,c as T}from"./session.Cc2HEzjU.js";import{_ as E}from"./_plugin-vue_export-helper.BCo6x5W8.js";const O=""+new URL("config-hospital-BKoUC35q.png",import.meta.url).href,F={environments:[{value:"outpatient",label:"门诊"},{value:"emergency",label:"急诊"},{value:"ward",label:"病房"}],ageGroups:[{value:"child",label:"儿童"},{value:"youth",label:"青年"},{value:"middle_aged",label:"中年"},{value:"elderly",label:"老年"}],educations:[{value:"primary_or_below",label:"小学及以下"},{value:"secondary",label:"中等教育"},{value:"higher",label:"高等教育"}],personalities:[{value:"calm",label:"平和"},{value:"anxious",label:"焦虑"},{value:"impatient",label:"急躁"},{value:"cooperative",label:"配合"},{value:"suspicious",label:"多疑"}]};function S(e,a,l){const s=null==e?void 0:e[a];return Array.isArray(s)?s:s&&"object"==typeof s?Object.entries(s).map((([e,a])=>({value:e,label:String(a)}))):l}async function $(e){var a;const l=await fetch(`${j}/training-config/options?case_id=${encodeURIComponent(e)}`,{method:"GET",headers:x()});if(!l.ok)throw new Error(await I(l));const s=await l.json();if("OK"!==s.code||!(null==(a=s.data)?void 0:a.recommended))throw new Error(s.message||"推荐配置加载失败");return{recommended:{environment:(t=s.data).recommended.visit_environment,ageGroup:t.recommended.age_group,education:t.recommended.education_level,personality:t.recommended.personality},recommendedLabels:{environment:t.recommended_labels.visit_environment,ageGroup:t.recommended_labels.age_group,education:t.recommended_labels.education_level,personality:t.recommended_labels.personality},options:{environments:S(t.options,"visit_environment",F.environments),ageGroups:S(t.options,"age_group",F.ageGroups),educations:S(t.options,"education_level",F.educations),personalities:S(t.options,"personality",F.personalities)}};var t}const A=E(e({__name:"scenario",props:{caseItem:{}},setup(e){const j=e,x=a({environment:"outpatient",ageGroup:"youth",education:"higher",personality:"calm"}),I=l([]),E=l(F),S=l(""),A=l(!1),N=l(""),U=l(!1),K=l(!1),L=l(null);let R=null;const q=s((()=>j.caseItem||L.value)),z=s((()=>q.value?`${q.value.title}(${q.value.caseNo})`:"未选择病例"));async function B(){const e=await Promise.resolve({recommendations:[{id:"typical-outpatient",title:"典型门诊病例",desc:"门诊常规病例:针对初学者设计的标准化沟通流程。",tags:["中年","配合"],defaults:{environment:"outpatient",ageGroup:"middle_aged",education:"higher",personality:"calm"}},{id:"emergency-crisis",title:"急诊重症危机",desc:"急诊危重:急性心梗紧急入院。",tags:["老年","急躁"],defaults:{environment:"emergency",ageGroup:"elderly",education:"secondary",personality:"impatient"}}],options:F});I.value=e.recommendations,E.value=e.options;try{const e=await $(1);E.value=e.options,Object.assign(x,e.recommended)}catch(a){J(a instanceof Error?a.message:"推荐配置加载失败")}}function D(e,a){x[e]=a,S.value=""}function P(){K.value=!K.value}function H(){var e;q.value?(A.value=!0,(e={...x,caseId:q.value.id,caseNo:q.value.caseNo,mode:"teaching"===q.value.mode?"teaching":"practice",recommendationId:S.value||void 0},T({case_id:1,training_type:"diagnosis_treatment",mode:e.mode,score_type:"percentage",patient_config:{visit_environment:e.environment,age_group:e.ageGroup,education_level:e.education,personality:e.personality}}).then((a=>({id:a.session_code,...e,session:a,createdAt:(new Date).toISOString()})))).then((e=>{f("clinical-thinking-scenario",e),J("模拟场景已生成"),setTimeout((()=>{g({url:"/pages/chat/chat"})}),450)})).catch((e=>{J(e instanceof Error?e.message:"模拟场景生成失败")})).finally((()=>{setTimeout((()=>{A.value=!1}),600)}))):J("请先选择病例")}function J(e){R&&clearTimeout(R),N.value=e,U.value=!0,R=setTimeout((()=>{U.value=!1}),2200)}return t((()=>{L.value=G(),B()})),o((()=>{R&&clearTimeout(R)})),(e,a)=>{const l=b,s=y,t=h,o=k,f=w;return n(),c(s,{class:"scenario-page"},{default:i((()=>[u(s,{class:"scenario-shell"},{default:i((()=>[u(s,{class:"hero"},{default:i((()=>[u(l,{class:"hero-image",src:O,mode:"aspectFill"}),u(s,{class:"hero-fade"})])),_:1}),u(s,{class:"director-row"},{default:i((()=>[u(s,{class:"director-avatar"},{default:i((()=>[u(l,{class:"director-image",src:C,mode:"aspectFit"})])),_:1}),u(s,{class:"speech-bubble"},{default:i((()=>[u(t,null,{default:i((()=>[r("欢迎回来!请根据您的教学目标配置临床场景。")])),_:1})])),_:1})])),_:1}),u(f,{class:"config-scroll","scroll-y":""},{default:i((()=>[u(s,{class:"selected-case"},{default:i((()=>[u(t,{class:"case-label"},{default:i((()=>[r("当前病例")])),_:1}),u(t,{class:"case-title"},{default:i((()=>[r(d(z.value),1)])),_:1})])),_:1}),u(s,{class:"section"},{default:i((()=>[u(s,{class:"section-title"},{default:i((()=>[u(s,{class:"star-icon"}),u(t,null,{default:i((()=>[r("王主任推荐")])),_:1})])),_:1}),u(s,{class:"recommend-list"},{default:i((()=>[(n(!0),m(p,null,v(I.value,(e=>(n(),c(o,{key:e.id,class:_(["recommend-card",{active:S.value===e.id}]),onClick:a=>function(e){S.value=e.id,Object.assign(x,e.defaults)}(e)},{default:i((()=>[u(s,{class:"recommend-head"},{default:i((()=>[u(t,{class:"recommend-icon"},{default:i((()=>[r(d(e.tags[0]),1)])),_:2},1024),u(t,{class:"recommend-title"},{default:i((()=>[r(d(e.title),1)])),_:2},1024)])),_:2},1024),u(t,{class:"recommend-desc"},{default:i((()=>[r(d(e.desc),1)])),_:2},1024),u(s,{class:"tag-row"},{default:i((()=>[(n(!0),m(p,null,v(e.tags,(e=>(n(),c(t,{key:e,class:_(["tag",{danger:"急躁"===e}])},{default:i((()=>[r(d(e),1)])),_:2},1032,["class"])))),128))])),_:2},1024)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),u(s,{class:_(["section custom-section",{expanded:K.value}])},{default:i((()=>[u(o,{class:_(["section-title custom-config-toggle",{expanded:K.value}]),"aria-label":K.value?"收起自定义配置":"展开自定义配置",onClick:P},{default:i((()=>[u(s,{class:"tune-icon"}),u(t,null,{default:i((()=>[r("自定义配置")])),_:1}),u(s,{class:"custom-toggle-spacer"}),u(s,{class:"toggle-chevron"})])),_:1},8,["class","aria-label"]),u(s,{class:_(["custom-options",{expanded:K.value}])},{default:i((()=>[u(s,{class:"option-block"},{default:i((()=>[u(s,{class:"option-label"},{default:i((()=>[u(s,{class:"location-icon"}),u(t,null,{default:i((()=>[r("就诊环境")])),_:1})])),_:1}),u(s,{class:"option-grid grid-3"},{default:i((()=>[(n(!0),m(p,null,v(E.value.environments,(e=>(n(),c(o,{key:e.value,class:_(["choice",{selected:x.environment===e.value}]),onClick:a=>D("environment",e.value)},{default:i((()=>[r(d(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),u(s,{class:"option-block"},{default:i((()=>[u(s,{class:"option-label"},{default:i((()=>[u(s,{class:"cake-icon"}),u(t,null,{default:i((()=>[r("年龄段")])),_:1})])),_:1}),u(s,{class:"option-grid grid-4"},{default:i((()=>[(n(!0),m(p,null,v(E.value.ageGroups,(e=>(n(),c(o,{key:e.value,class:_(["choice small",{selected:x.ageGroup===e.value}]),onClick:a=>D("ageGroup",e.value)},{default:i((()=>[r(d(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),u(s,{class:"option-block"},{default:i((()=>[u(s,{class:"option-label"},{default:i((()=>[u(s,{class:"school-icon"}),u(t,null,{default:i((()=>[r("文化程度")])),_:1})])),_:1}),u(s,{class:"option-grid grid-3"},{default:i((()=>[(n(!0),m(p,null,v(E.value.educations,(e=>(n(),c(o,{key:e.value,class:_(["choice mini",{selected:x.education===e.value}]),onClick:a=>D("education",e.value)},{default:i((()=>[r(d(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),u(s,{class:"option-block personality-block"},{default:i((()=>[u(s,{class:"option-label"},{default:i((()=>[u(s,{class:"mind-icon"}),u(t,null,{default:i((()=>[r("性格")])),_:1})])),_:1}),u(s,{class:"option-grid grid-3"},{default:i((()=>[(n(!0),m(p,null,v(E.value.personalities,(e=>(n(),c(o,{key:e.value,class:_(["choice",{selected:x.personality===e.value}]),onClick:a=>D("personality",e.value)},{default:i((()=>[r(d(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1},8,["class"])])),_:1},8,["class"])])),_:1}),u(s,{class:"bottom-action"},{default:i((()=>[u(o,{class:"generate-button",disabled:A.value,onClick:H},{default:i((()=>[u(t,null,{default:i((()=>[r(d(A.value?"正在生成...":"生成模拟场景"),1)])),_:1}),u(s,{class:"arrow-icon"})])),_:1},8,["disabled"])])),_:1})])),_:1}),u(s,{class:_(["toast",{visible:U.value}])},{default:i((()=>[r(d(N.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-0c3a3813"]]);export{A as default}; diff --git a/dist/assets/pages-teaching-teaching.B94VaxdH.js b/dist/assets/pages-teaching-teaching.B94VaxdH.js deleted file mode 100644 index 3fd29fc..0000000 --- a/dist/assets/pages-teaching-teaching.B94VaxdH.js +++ /dev/null @@ -1 +0,0 @@ -import{d as e,a,c as l,f as t,g as s,w as n,j as o,C as i,k as c,t as u,n as d,E as r,m as v,p as f,F as p,h as _,s as y,z as m,A as k,y as g,x as h,S as x}from"./index-BcNbz4lX.js";import{_ as C}from"./config-doctor.TgARj_nM.js";import{c as b}from"./navigation.C2H9AjnS.js";import{_ as A}from"./_plugin-vue_export-helper.BCo6x5W8.js";const D=A(e({__name:"teaching",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:A}){const D=e,I=A,q=b(I),T=[{id:"acs-ecg",question:"根据陈先生目前的临床表现(急性剧烈胸痛伴大汗),首选的初步辅助检查应该是哪一项?",options:[{key:"A",text:"胸部增强CT (CTA)"},{key:"B",text:"血清心肌酶学检查"},{key:"C",text:"心脏彩色多普勒超声"},{key:"D",text:"床边12导联心电图"}],correctOption:"D",defaultSelected:"B",analysis:"解析:对于疑似急性冠脉综合征(ACS)的患者,18导联或12导联心电图是首选且最快捷的辅助检查工具。",note:"心肌酶学检查虽然重要,但通常在症状发作2-4小时后才会升高,不能作为首诊即刻排除依据。你的选择偏慢了。正确选项应为 D。",videoTitle:"临床知识点:急性冠脉综合征的早期识别",videoDesc:"本视频将由王主任为您深入解析 ACS 的典型心电图表现与急诊处理流程。"},{id:"aortic-dissection",question:"若患者胸痛呈撕裂样并伴双上肢血压明显不对称,下一步最需要警惕的疾病是什么?",options:[{key:"A",text:"急性主动脉夹层"},{key:"B",text:"稳定型心绞痛"},{key:"C",text:"肋软骨炎"},{key:"D",text:"胃食管反流病"}],correctOption:"A",analysis:"解析:突发撕裂样胸背痛、血压或脉搏不对称、神经系统症状等均提示主动脉夹层风险,需要快速识别并优先排查。",note:"主动脉夹层是胸痛鉴别诊断中的高危疾病,漏诊风险极高。正确选项应为 A。",videoTitle:"临床知识点:主动脉夹层的危险信号",videoDesc:"本视频讲解主动脉夹层的典型表现、床旁识别线索与 CTA 检查时机。"},{id:"nitroglycerin",question:"疑似急性冠脉综合征患者使用硝酸甘油前,最应该先评估哪一项?",options:[{key:"A",text:"患者是否空腹"},{key:"B",text:"血压水平及禁忌证"},{key:"C",text:"白细胞计数"},{key:"D",text:"既往疫苗接种史"}],correctOption:"B",analysis:"解析:硝酸甘油可降低血压,使用前应评估收缩压、右室梗死风险、近期 PDE-5 抑制剂使用等禁忌证。",note:"急诊处理强调先评估风险再给药,避免因低血压或禁忌证导致病情恶化。正确选项应为 B。",videoTitle:"临床知识点:胸痛患者硝酸甘油使用要点",videoDesc:"本视频梳理硝酸甘油的适应证、禁忌证及急诊场景下的用药安全。"}],j=a(0),B=a(T[0].defaultSelected||""),O=a(!1),S=a(!1),w=l((()=>{var e,a,l,t,s;return{name:(null==(e=D.caseItem)?void 0:e.patientName)||"陈先生",gender:(null==(a=D.caseItem)?void 0:a.gender)||"男",age:(null==(l=D.caseItem)?void 0:l.age)||60,department:(null==(t=D.caseItem)?void 0:t.department)||"心血管内科",chiefComplaint:(null==(s=D.caseItem)?void 0:s.title)||"持续胸痛3小时"}})),E=l((()=>w.value.chiefComplaint.includes("胸痛")?"胸痛":w.value.chiefComplaint.slice(0,6))),F=l((()=>T[j.value]));function z(){O.value=!0,S.value=!1}function N(){var e;const a=(j.value+1)%T.length;j.value=a,B.value=T[a].defaultSelected||"",O.value=!1,S.value=!1,y("clinical-thinking-teaching-question",{caseId:(null==(e=D.caseItem)?void 0:e.id)||"",questionId:T[a].id,index:a})}function P(){S.value=!S.value}return(e,a)=>{const l=m,y=k,b=g,A=h,D=x;return t(),s(l,{class:"teaching-page"},{default:n((()=>[o(l,{class:"teaching-shell"},{default:n((()=>[o(l,{class:"top-nav"},{default:n((()=>[o(y,{class:"icon-button","aria-label":"设置",onClick:a[0]||(a[0]=e=>I("open-settings"))},{default:n((()=>[o(l,{class:"settings-icon"})])),_:1}),o(y,{class:"icon-button home-button","aria-label":"首页",onClick:a[1]||(a[1]=e=>I("go-home"))},{default:n((()=>[o(l,{class:"home-icon"})])),_:1}),o(l,{class:"nav-spacer"}),o(y,{class:"icon-button","aria-label":"个人中心",onClick:i(q)},{default:n((()=>[o(l,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),o(l,{class:"patient-header"},{default:n((()=>[o(b,{class:"case-heading"},{default:n((()=>[c("患者:"+u(w.value.name)+" ("+u(E.value)+")",1)])),_:1}),o(l,{class:"patient-meta"},{default:n((()=>[o(b,null,{default:n((()=>[c("姓名:"+u(w.value.name),1)])),_:1}),o(b,null,{default:n((()=>[c("性别:"+u(w.value.gender),1)])),_:1}),o(b,null,{default:n((()=>[c("年龄:"+u(w.value.age)+"岁",1)])),_:1}),o(b,null,{default:n((()=>[c("科室:"+u(w.value.department),1)])),_:1})])),_:1})])),_:1}),o(D,{class:"teaching-body","scroll-y":""},{default:n((()=>[o(l,{class:"mentor-section"},{default:n((()=>[o(l,{class:"mentor-profile"},{default:n((()=>[o(l,{class:"mentor-avatar"},{default:n((()=>[o(A,{src:C,mode:"aspectFill"})])),_:1}),o(l,{class:"online-dot"}),o(b,{class:"mentor-name"},{default:n((()=>[c("王主任")])),_:1})])),_:1}),o(l,{class:"question-bubble"},{default:n((()=>[o(b,null,{default:n((()=>[c(u(F.value.question),1)])),_:1})])),_:1})])),_:1}),O.value?(t(),s(l,{key:0,class:"video-section"},{default:n((()=>[o(l,{class:"video-player",onClick:P},{default:n((()=>[o(l,{class:d(["video-poster",{playing:S.value}])},{default:n((()=>[o(l,{class:"heart-visual"},{default:n((()=>[o(l,{class:"heart-core"}),o(l,{class:"heart-pulse pulse-one"}),o(l,{class:"heart-pulse pulse-two"})])),_:1})])),_:1},8,["class"]),o(l,{class:"video-overlay"},{default:n((()=>[o(l,{class:d(["play-button",{playing:S.value}])},{default:n((()=>[o(l,{class:"play-icon"})])),_:1},8,["class"])])),_:1}),o(l,{class:"video-progress"},{default:n((()=>[o(l,{class:"video-progress-fill",style:r({width:S.value?"62%":"33%"})},null,8,["style"])])),_:1})])),_:1}),o(l,{class:"video-copy"},{default:n((()=>[o(b,{class:"video-title"},{default:n((()=>[c(u(F.value.videoTitle),1)])),_:1}),o(b,{class:"video-desc"},{default:n((()=>[c(u(F.value.videoDesc),1)])),_:1})])),_:1})])),_:1})):(t(),s(l,{key:1,class:"option-list"},{default:n((()=>[(t(!0),v(p,null,f(F.value.options,(e=>{return t(),s(y,{key:e.key,class:d(["option-card",(a=e.key,B.value!==a?"":a===F.value.correctOption?"selected-correct":"selected-wrong")]),onClick:a=>function(e){B.value=e}(e.key)},{default:n((()=>[o(b,{class:"option-key"},{default:n((()=>[c(u(e.key),1)])),_:2},1024),o(b,{class:"option-text"},{default:n((()=>[c(u(e.text),1)])),_:2},1024),B.value===e.key&&e.key!==F.value.correctOption?(t(),s(l,{key:0,class:"wrong-icon"})):_("",!0),B.value===e.key&&e.key===F.value.correctOption?(t(),s(l,{key:1,class:"right-icon"})):_("",!0)])),_:2},1032,["class","onClick"]);var a})),128))])),_:1})),!O.value&&B.value?(t(),s(l,{key:2,class:"analysis-card"},{default:n((()=>[o(l,{class:"analysis-title"},{default:n((()=>[o(l,{class:"bulb-icon"}),o(b,null,{default:n((()=>[c("答案解析")])),_:1})])),_:1}),o(l,{class:"analysis-content"},{default:n((()=>[o(b,{class:"analysis-main"},{default:n((()=>[c(u(F.value.analysis),1)])),_:1}),o(l,{class:"analysis-divider"}),o(b,{class:"analysis-note"},{default:n((()=>[c(u(F.value.note),1)])),_:1})])),_:1})])),_:1})):_("",!0),o(l,{class:"bottom-actions"},{default:n((()=>[O.value?_("",!0):(t(),s(y,{key:0,class:"video-button",onClick:z},{default:n((()=>[o(l,{class:"video-icon"}),o(b,null,{default:n((()=>[c("查看知识点视频")])),_:1})])),_:1})),o(y,{class:"next-button",onClick:N},{default:n((()=>[o(b,null,{default:n((()=>[c("下一题")])),_:1}),o(l,{class:"next-icon"})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})}}}),[["__scopeId","data-v-84f8194f"]]);export{D as default}; diff --git a/dist/assets/pages-teaching-teaching.DAx4I9Wu.js b/dist/assets/pages-teaching-teaching.DAx4I9Wu.js new file mode 100644 index 0000000..98a0998 --- /dev/null +++ b/dist/assets/pages-teaching-teaching.DAx4I9Wu.js @@ -0,0 +1 @@ +import{d as e,r as a,c as l,o as s,e as t,f as o,w as n,i,E as c,j as u,t as d,n as r,H as v,l as f,m as p,F as _,g as y,s as k,y as m,z as g,x as h,u as C,S as x}from"./index-CpNRQgjE.js";import{_ as b}from"./config-doctor.TgARj_nM.js";import{r as D}from"./cases.BlouN7SM.js";import{c as A,a as j,b as q}from"./navigation.CsipbD6y.js";import{_ as T}from"./_plugin-vue_export-helper.BCo6x5W8.js";const B=T(e({__name:"teaching",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:T}){const B=e,O=T,S=A(O),w=j(O),I=q(O),E=[{id:"acs-ecg",question:"根据陈先生目前的临床表现(急性剧烈胸痛伴大汗),首选的初步辅助检查应该是哪一项?",options:[{key:"A",text:"胸部增强CT (CTA)"},{key:"B",text:"血清心肌酶学检查"},{key:"C",text:"心脏彩色多普勒超声"},{key:"D",text:"床边12导联心电图"}],correctOption:"D",defaultSelected:"B",analysis:"解析:对于疑似急性冠脉综合征(ACS)的患者,18导联或12导联心电图是首选且最快捷的辅助检查工具。",note:"心肌酶学检查虽然重要,但通常在症状发作2-4小时后才会升高,不能作为首诊即刻排除依据。你的选择偏慢了。正确选项应为 D。",videoTitle:"临床知识点:急性冠脉综合征的早期识别",videoDesc:"本视频将由王主任为您深入解析 ACS 的典型心电图表现与急诊处理流程。"},{id:"aortic-dissection",question:"若患者胸痛呈撕裂样并伴双上肢血压明显不对称,下一步最需要警惕的疾病是什么?",options:[{key:"A",text:"急性主动脉夹层"},{key:"B",text:"稳定型心绞痛"},{key:"C",text:"肋软骨炎"},{key:"D",text:"胃食管反流病"}],correctOption:"A",analysis:"解析:突发撕裂样胸背痛、血压或脉搏不对称、神经系统症状等均提示主动脉夹层风险,需要快速识别并优先排查。",note:"主动脉夹层是胸痛鉴别诊断中的高危疾病,漏诊风险极高。正确选项应为 A。",videoTitle:"临床知识点:主动脉夹层的危险信号",videoDesc:"本视频讲解主动脉夹层的典型表现、床旁识别线索与 CTA 检查时机。"},{id:"nitroglycerin",question:"疑似急性冠脉综合征患者使用硝酸甘油前,最应该先评估哪一项?",options:[{key:"A",text:"患者是否空腹"},{key:"B",text:"血压水平及禁忌证"},{key:"C",text:"白细胞计数"},{key:"D",text:"既往疫苗接种史"}],correctOption:"B",analysis:"解析:硝酸甘油可降低血压,使用前应评估收缩压、右室梗死风险、近期 PDE-5 抑制剂使用等禁忌证。",note:"急诊处理强调先评估风险再给药,避免因低血压或禁忌证导致病情恶化。正确选项应为 B。",videoTitle:"临床知识点:胸痛患者硝酸甘油使用要点",videoDesc:"本视频梳理硝酸甘油的适应证、禁忌证及急诊场景下的用药安全。"}],F=a(0),z=a(E[0].defaultSelected||""),H=a(!1),N=a(!1),P=a(null),G=l((()=>B.caseItem||P.value)),J=l((()=>{var e,a,l,s,t;return{name:(null==(e=G.value)?void 0:e.patientName)||"陈先生",gender:(null==(a=G.value)?void 0:a.gender)||"男",age:(null==(l=G.value)?void 0:l.age)||60,department:(null==(s=G.value)?void 0:s.department)||"心血管内科",chiefComplaint:(null==(t=G.value)?void 0:t.title)||"持续胸痛3小时"}})),K=l((()=>J.value.chiefComplaint.includes("胸痛")?"胸痛":J.value.chiefComplaint.slice(0,6))),L=l((()=>E[F.value]));function M(){H.value=!0,N.value=!1}function Q(){var e;const a=(F.value+1)%E.length;F.value=a,z.value=E[a].defaultSelected||"",H.value=!1,N.value=!1,k("clinical-thinking-teaching-question",{caseId:(null==(e=G.value)?void 0:e.id)||"",questionId:E[a].id,index:a})}function R(){N.value=!N.value}return s((()=>{P.value=D()})),(e,a)=>{const l=m,s=g,k=h,D=C,A=x;return t(),o(l,{class:"teaching-page"},{default:n((()=>[i(l,{class:"teaching-shell"},{default:n((()=>[i(l,{class:"top-nav"},{default:n((()=>[i(s,{class:"icon-button","aria-label":"设置",onClick:c(w)},{default:n((()=>[i(l,{class:"settings-icon"})])),_:1},8,["onClick"]),i(s,{class:"icon-button home-button","aria-label":"首页",onClick:c(I)},{default:n((()=>[i(l,{class:"home-icon"})])),_:1},8,["onClick"]),i(l,{class:"nav-spacer"}),i(s,{class:"icon-button","aria-label":"个人中心",onClick:c(S)},{default:n((()=>[i(l,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),i(l,{class:"patient-header"},{default:n((()=>[i(k,{class:"case-heading"},{default:n((()=>[u("患者:"+d(J.value.name)+" ("+d(K.value)+")",1)])),_:1}),i(l,{class:"patient-meta"},{default:n((()=>[i(k,null,{default:n((()=>[u("姓名:"+d(J.value.name),1)])),_:1}),i(k,null,{default:n((()=>[u("性别:"+d(J.value.gender),1)])),_:1}),i(k,null,{default:n((()=>[u("年龄:"+d(J.value.age)+"岁",1)])),_:1}),i(k,null,{default:n((()=>[u("科室:"+d(J.value.department),1)])),_:1})])),_:1})])),_:1}),i(A,{class:"teaching-body","scroll-y":""},{default:n((()=>[i(l,{class:"mentor-section"},{default:n((()=>[i(l,{class:"mentor-profile"},{default:n((()=>[i(l,{class:"mentor-avatar"},{default:n((()=>[i(D,{src:b,mode:"aspectFill"})])),_:1}),i(l,{class:"online-dot"}),i(k,{class:"mentor-name"},{default:n((()=>[u("王主任")])),_:1})])),_:1}),i(l,{class:"question-bubble"},{default:n((()=>[i(k,null,{default:n((()=>[u(d(L.value.question),1)])),_:1})])),_:1})])),_:1}),H.value?(t(),o(l,{key:0,class:"video-section"},{default:n((()=>[i(l,{class:"video-player",onClick:R},{default:n((()=>[i(l,{class:r(["video-poster",{playing:N.value}])},{default:n((()=>[i(l,{class:"heart-visual"},{default:n((()=>[i(l,{class:"heart-core"}),i(l,{class:"heart-pulse pulse-one"}),i(l,{class:"heart-pulse pulse-two"})])),_:1})])),_:1},8,["class"]),i(l,{class:"video-overlay"},{default:n((()=>[i(l,{class:r(["play-button",{playing:N.value}])},{default:n((()=>[i(l,{class:"play-icon"})])),_:1},8,["class"])])),_:1}),i(l,{class:"video-progress"},{default:n((()=>[i(l,{class:"video-progress-fill",style:v({width:N.value?"62%":"33%"})},null,8,["style"])])),_:1})])),_:1}),i(l,{class:"video-copy"},{default:n((()=>[i(k,{class:"video-title"},{default:n((()=>[u(d(L.value.videoTitle),1)])),_:1}),i(k,{class:"video-desc"},{default:n((()=>[u(d(L.value.videoDesc),1)])),_:1})])),_:1})])),_:1})):(t(),o(l,{key:1,class:"option-list"},{default:n((()=>[(t(!0),f(_,null,p(L.value.options,(e=>{return t(),o(s,{key:e.key,class:r(["option-card",(a=e.key,z.value!==a?"":a===L.value.correctOption?"selected-correct":"selected-wrong")]),onClick:a=>function(e){z.value=e}(e.key)},{default:n((()=>[i(k,{class:"option-key"},{default:n((()=>[u(d(e.key),1)])),_:2},1024),i(k,{class:"option-text"},{default:n((()=>[u(d(e.text),1)])),_:2},1024),z.value===e.key&&e.key!==L.value.correctOption?(t(),o(l,{key:0,class:"wrong-icon"})):y("",!0),z.value===e.key&&e.key===L.value.correctOption?(t(),o(l,{key:1,class:"right-icon"})):y("",!0)])),_:2},1032,["class","onClick"]);var a})),128))])),_:1})),!H.value&&z.value?(t(),o(l,{key:2,class:"analysis-card"},{default:n((()=>[i(l,{class:"analysis-title"},{default:n((()=>[i(l,{class:"bulb-icon"}),i(k,null,{default:n((()=>[u("答案解析")])),_:1})])),_:1}),i(l,{class:"analysis-content"},{default:n((()=>[i(k,{class:"analysis-main"},{default:n((()=>[u(d(L.value.analysis),1)])),_:1}),i(l,{class:"analysis-divider"}),i(k,{class:"analysis-note"},{default:n((()=>[u(d(L.value.note),1)])),_:1})])),_:1})])),_:1})):y("",!0),i(l,{class:"bottom-actions"},{default:n((()=>[H.value?y("",!0):(t(),o(s,{key:0,class:"video-button",onClick:M},{default:n((()=>[i(l,{class:"video-icon"}),i(k,null,{default:n((()=>[u("查看知识点视频")])),_:1})])),_:1})),i(s,{class:"next-button",onClick:Q},{default:n((()=>[i(k,null,{default:n((()=>[u("下一题")])),_:1}),i(l,{class:"next-icon"})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})}}}),[["__scopeId","data-v-1490e7d9"]]);export{B as default}; diff --git a/dist/assets/pages-treatment-treatment.Dvv4RUD4.js b/dist/assets/pages-treatment-treatment.Dvv4RUD4.js deleted file mode 100644 index 069106b..0000000 --- a/dist/assets/pages-treatment-treatment.Dvv4RUD4.js +++ /dev/null @@ -1 +0,0 @@ -import{d as e,b as l,a,c as s,e as t,f as c,g as u,C as o,w as n,j as d,k as i,m as r,p,F as f,n as m,h as _,t as h,s as v,z as b,A as k,y as g,x as y,I as V,K as x}from"./index-BcNbz4lX.js";import{_ as j}from"./config-doctor.TgARj_nM.js";import{c as C}from"./navigation.C2H9AjnS.js";import w from"./pages-assessment-assessment.4dFS83cn.js";import{_ as I}from"./_plugin-vue_export-helper.BCo6x5W8.js";const O=I(e({__name:"treatment",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:I}){const O=I,U=C(O),S=l({principle:"",measures:["",""],orders:""}),A=a(!1),F=a(!1),P=a(!1),z=a(""),D=a(!1),G=s((()=>A.value?"提交中...":F.value?"已提交":"下一步"));function H(){A.value||(A.value=!0,v("clinical-thinking-treatment",{...S,measures:S.measures.filter((e=>e.trim())),submittedAt:(new Date).toISOString()}),setTimeout((()=>{A.value=!1,P.value=!0}),600))}return t((()=>{})),(e,l)=>{const a=b,s=k,t=g,v=y,C=V,I=x;return P.value?(c(),u(w,{key:0,onOpenSettings:l[0]||(l[0]=e=>O("open-settings")),onOpenProfile:o(U),onGoHome:l[1]||(l[1]=e=>O("go-home"))},null,8,["onOpenProfile"])):(c(),u(a,{key:1,class:"treatment-page"},{default:n((()=>[d(a,{class:"treatment-shell"},{default:n((()=>[d(a,{class:"top-nav"},{default:n((()=>[d(s,{class:"icon-button","aria-label":"设置",onClick:l[2]||(l[2]=e=>O("open-settings"))},{default:n((()=>[d(a,{class:"settings-icon"})])),_:1}),d(s,{class:"icon-button home-button","aria-label":"首页",onClick:l[3]||(l[3]=e=>O("go-home"))},{default:n((()=>[d(a,{class:"home-icon"})])),_:1}),d(a,{class:"nav-spacer"}),d(s,{class:"icon-button","aria-label":"个人中心",onClick:o(U)},{default:n((()=>[d(a,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),d(a,{class:"case-header"},{default:n((()=>[d(t,{class:"case-heading"},{default:n((()=>[i("患者:陈先生 (胸痛)")])),_:1}),d(a,{class:"patient-meta"},{default:n((()=>[d(t,null,{default:n((()=>[i("姓名:陈先生")])),_:1}),d(t,null,{default:n((()=>[i("性别:男")])),_:1}),d(t,null,{default:n((()=>[i("年龄:60岁")])),_:1}),d(t,null,{default:n((()=>[i("科室:心血管内科")])),_:1})])),_:1})])),_:1}),d(a,{class:"treatment-content"},{default:n((()=>[d(a,{class:"stepper"},{default:n((()=>[d(a,{class:"step-line"},{default:n((()=>[d(a,{class:"step-line-active"})])),_:1}),d(a,{class:"step done"},{default:n((()=>[d(a,{class:"step-dot"},{default:n((()=>[d(a,{class:"check-icon"})])),_:1}),d(t,null,{default:n((()=>[i("问诊")])),_:1})])),_:1}),d(a,{class:"step done"},{default:n((()=>[d(a,{class:"step-dot"},{default:n((()=>[d(a,{class:"check-icon"})])),_:1}),d(t,null,{default:n((()=>[i("临床诊断")])),_:1})])),_:1}),d(a,{class:"step active"},{default:n((()=>[d(a,{class:"step-dot"},{default:n((()=>[d(a,{class:"pill-icon"})])),_:1}),d(t,null,{default:n((()=>[i("治疗计划")])),_:1})])),_:1})])),_:1}),d(a,{class:"mentor-card"},{default:n((()=>[d(a,{class:"mentor-avatar"},{default:n((()=>[d(v,{src:j,mode:"aspectFill"})])),_:1}),d(a,{class:"mentor-bubble"},{default:n((()=>[d(t,null,{default:n((()=>[i("王主任建议:请结合患者既往高血压史及突发性胸痛的性质,进行准确诊断。注意鉴别心梗与主动脉夹层。")])),_:1})])),_:1})])),_:1}),d(a,{class:"form-area"},{default:n((()=>[d(a,{class:"field-block"},{default:n((()=>[d(a,{class:"field-label primary"},{default:n((()=>[d(a,{class:"priority-icon"}),d(t,null,{default:n((()=>[i("治疗原则")])),_:1})])),_:1}),d(a,{class:"input-wrap"},{default:n((()=>[d(C,{class:"treatment-input",modelValue:S.principle,"onUpdate:modelValue":l[4]||(l[4]=e=>S.principle=e),type:"text",placeholder:"请输入初步诊断...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),d(a,{class:"field-block"},{default:n((()=>[d(a,{class:"field-label"},{default:n((()=>[d(a,{class:"checklist-icon"}),d(t,null,{default:n((()=>[i("具体治疗措施")])),_:1})])),_:1}),d(a,{class:"measure-list"},{default:n((()=>[(c(!0),r(f,null,p(S.measures,((e,l)=>(c(),u(a,{key:l,class:"measure-row"},{default:n((()=>[d(t,{class:"measure-index"},{default:n((()=>[i(h(l+1),1)])),_:2},1024),d(C,{class:"measure-input",modelValue:S.measures[l],"onUpdate:modelValue":e=>S.measures[l]=e,type:"text",placeholder:`措施 ${l+1}`,"placeholder-class":"input-placeholder"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])),_:2},1024)))),128))])),_:1})])),_:1}),d(a,{class:"field-block"},{default:n((()=>[d(a,{class:"field-label"},{default:n((()=>[d(a,{class:"description-icon"}),d(t,null,{default:n((()=>[i("医嘱")])),_:1})])),_:1}),d(I,{class:"order-input",modelValue:S.orders,"onUpdate:modelValue":l[5]||(l[5]=e=>S.orders=e),placeholder:"请输入医嘱建议...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),d(s,{class:m(["next-button",{submitted:F.value}]),disabled:A.value,onClick:H},{default:n((()=>[A.value?(c(),u(a,{key:0,class:"spinner"})):_("",!0),d(t,null,{default:n((()=>[i(h(G.value),1)])),_:1}),A.value||F.value?_("",!0):(c(),u(a,{key:1,class:"arrow-icon"})),F.value?(c(),u(a,{key:2,class:"check-small-icon"})):_("",!0)])),_:1},8,["class","disabled"])])),_:1})])),_:1}),d(a,{class:m(["toast",{visible:D.value}])},{default:n((()=>[i(h(z.value),1)])),_:1},8,["class"])])),_:1}))}}}),[["__scopeId","data-v-4c8e633d"]]);export{O as default}; diff --git a/dist/assets/pages-treatment-treatment.ynd4_hPb.js b/dist/assets/pages-treatment-treatment.ynd4_hPb.js new file mode 100644 index 0000000..1365d0f --- /dev/null +++ b/dist/assets/pages-treatment-treatment.ynd4_hPb.js @@ -0,0 +1 @@ +import{d as e,a,r as l,c as s,o as t,b as n,e as u,f as c,w as o,i as r,E as i,j as d,t as m,l as p,m as f,F as _,n as v,g as h,s as b,p as k,y as g,z as w,x as y,u as j,I as V,M as x}from"./index-CpNRQgjE.js";import{_ as C}from"./config-doctor.TgARj_nM.js";import{r as U}from"./cases.BlouN7SM.js";import{c as P,a as E,b as I}from"./navigation.CsipbD6y.js";import{F as T,a as F,r as M,f as O}from"./session.Cc2HEzjU.js";import{_ as $}from"./_plugin-vue_export-helper.BCo6x5W8.js";const N=$(e({__name:"treatment",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:$}){const N=e,S=$,z=P(S),B=E(S),J=I(S),K=a({principle:"",measures:["",""],orders:""}),q=l(!1),A=l(!1),D=l(""),G=l(!1),H=l(null);let L=null;const Q=s((()=>N.caseItem||H.value)),R=s((()=>{var e;return(null==(e=Q.value)?void 0:e.patientName)||"陈先生"})),W=s((()=>{var e;return(null==(e=Q.value)?void 0:e.gender)||"男"})),X=s((()=>{var e;return(null==(e=Q.value)?void 0:e.age)||60})),Y=s((()=>{var e;return(null==(e=Q.value)?void 0:e.department)||"心血管内科"})),Z=s((()=>{var e;const a=(null==(e=Q.value)?void 0:e.title)||"持续胸痛3小时";return a.includes("胸痛")?"胸痛":a.slice(0,6)})),ee=s((()=>q.value?"提交中...":A.value?"已提交":"下一步"));async function ae(){if(!q.value){q.value=!0;try{const e=O(),a=K.orders.trim(),l={treatmentPrinciple:K.principle,treatmentMeasures:K.measures.map((e=>e.trim())).filter(Boolean).join(";"),riskPlan:a,communication:a,followUp:a},s=await async function(e,a){const l={treatment_principle:a.treatmentPrinciple.trim(),treatment_measures:a.treatmentMeasures.trim(),risk_plan:a.riskPlan.trim(),communication:a.communication.trim(),follow_up:a.followUp.trim()},s=await fetch(`${T}/sessions/${e}/treatment`,{method:"POST",headers:F(),body:JSON.stringify(l)});if(!s.ok)throw new Error(await M(s));const t=await s.json();if("OK"!==t.code)throw new Error(t.message||"治疗方案提交失败");return t.data||l}(e,l);b("clinical-thinking-treatment",s),A.value=!0,k({url:"/pages/assessment/assessment",fail(){A.value=!1,le("进入评价页失败,请重试")}})}catch(e){le(e instanceof Error?e.message:"治疗方案提交失败")}finally{q.value=!1}}}function le(e){L&&clearTimeout(L),D.value=e,G.value=!0,L=setTimeout((()=>{G.value=!1}),2200)}return t((()=>{H.value=U()})),n((()=>{L&&clearTimeout(L)})),(e,a)=>{const l=g,s=w,t=y,n=j,b=V,k=x;return u(),c(l,{class:"treatment-page"},{default:o((()=>[r(l,{class:"treatment-shell"},{default:o((()=>[r(l,{class:"top-nav"},{default:o((()=>[r(s,{class:"icon-button","aria-label":"设置",onClick:i(B)},{default:o((()=>[r(l,{class:"settings-icon"})])),_:1},8,["onClick"]),r(s,{class:"icon-button home-button","aria-label":"首页",onClick:i(J)},{default:o((()=>[r(l,{class:"home-icon"})])),_:1},8,["onClick"]),r(l,{class:"nav-spacer"}),r(s,{class:"icon-button","aria-label":"个人中心",onClick:i(z)},{default:o((()=>[r(l,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),r(l,{class:"case-header"},{default:o((()=>[r(t,{class:"case-heading"},{default:o((()=>[d("患者:"+m(R.value)+" ("+m(Z.value)+")",1)])),_:1}),r(l,{class:"patient-meta"},{default:o((()=>[r(t,null,{default:o((()=>[d("姓名:"+m(R.value),1)])),_:1}),r(t,null,{default:o((()=>[d("性别:"+m(W.value),1)])),_:1}),r(t,null,{default:o((()=>[d("年龄:"+m(X.value)+"岁",1)])),_:1}),r(t,null,{default:o((()=>[d("科室:"+m(Y.value),1)])),_:1})])),_:1})])),_:1}),r(l,{class:"treatment-content"},{default:o((()=>[r(l,{class:"stepper"},{default:o((()=>[r(l,{class:"step-line"},{default:o((()=>[r(l,{class:"step-line-active"})])),_:1}),r(l,{class:"step done"},{default:o((()=>[r(l,{class:"step-dot"},{default:o((()=>[r(l,{class:"check-icon"})])),_:1}),r(t,null,{default:o((()=>[d("问诊")])),_:1})])),_:1}),r(l,{class:"step done"},{default:o((()=>[r(l,{class:"step-dot"},{default:o((()=>[r(l,{class:"check-icon"})])),_:1}),r(t,null,{default:o((()=>[d("临床诊断")])),_:1})])),_:1}),r(l,{class:"step active"},{default:o((()=>[r(l,{class:"step-dot"},{default:o((()=>[r(l,{class:"pill-icon"})])),_:1}),r(t,null,{default:o((()=>[d("治疗计划")])),_:1})])),_:1})])),_:1}),r(l,{class:"mentor-card"},{default:o((()=>[r(l,{class:"mentor-avatar"},{default:o((()=>[r(n,{src:C,mode:"aspectFill"})])),_:1}),r(l,{class:"mentor-bubble"},{default:o((()=>[r(t,null,{default:o((()=>[d("王主任建议:请结合患者既往高血压史及突发性胸痛的性质,进行准确诊断。注意鉴别心梗与主动脉夹层。")])),_:1})])),_:1})])),_:1}),r(l,{class:"form-area"},{default:o((()=>[r(l,{class:"field-block"},{default:o((()=>[r(l,{class:"field-label primary"},{default:o((()=>[r(l,{class:"priority-icon"}),r(t,null,{default:o((()=>[d("治疗原则")])),_:1})])),_:1}),r(l,{class:"input-wrap"},{default:o((()=>[r(b,{class:"treatment-input",modelValue:K.principle,"onUpdate:modelValue":a[0]||(a[0]=e=>K.principle=e),type:"text",placeholder:"请输入治疗原则...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),r(l,{class:"field-block"},{default:o((()=>[r(l,{class:"field-label"},{default:o((()=>[r(l,{class:"checklist-icon"}),r(t,null,{default:o((()=>[d("具体治疗措施")])),_:1})])),_:1}),r(l,{class:"measure-list"},{default:o((()=>[(u(!0),p(_,null,f(K.measures,((e,a)=>(u(),c(l,{key:a,class:"measure-row"},{default:o((()=>[r(t,{class:"measure-index"},{default:o((()=>[d(m(a+1),1)])),_:2},1024),r(b,{class:"measure-input",modelValue:K.measures[a],"onUpdate:modelValue":e=>K.measures[a]=e,type:"text",placeholder:`措施 ${a+1}`,"placeholder-class":"input-placeholder"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])),_:2},1024)))),128))])),_:1})])),_:1}),r(l,{class:"field-block"},{default:o((()=>[r(l,{class:"field-label"},{default:o((()=>[r(l,{class:"description-icon"}),r(t,null,{default:o((()=>[d("医嘱")])),_:1})])),_:1}),r(k,{class:"order-input",modelValue:K.orders,"onUpdate:modelValue":a[1]||(a[1]=e=>K.orders=e),placeholder:"请输入医嘱建议...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),r(s,{class:v(["next-button",{submitted:A.value}]),disabled:q.value,onClick:ae},{default:o((()=>[q.value?(u(),c(l,{key:0,class:"spinner"})):h("",!0),r(t,null,{default:o((()=>[d(m(ee.value),1)])),_:1}),q.value||A.value?h("",!0):(u(),c(l,{key:1,class:"arrow-icon"})),A.value?(u(),c(l,{key:2,class:"check-small-icon"})):h("",!0)])),_:1},8,["class","disabled"])])),_:1})])),_:1}),r(l,{class:v(["toast",{visible:G.value}])},{default:o((()=>[d(m(D.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-e1486ff5"]]);export{N as default}; diff --git a/dist/assets/profile-C2ICLNjC.css b/dist/assets/profile-DoOaR7U7.css similarity index 62% rename from dist/assets/profile-C2ICLNjC.css rename to dist/assets/profile-DoOaR7U7.css index e6453be..543ee9f 100644 --- a/dist/assets/profile-C2ICLNjC.css +++ b/dist/assets/profile-DoOaR7U7.css @@ -1 +1 @@ -uni-page-body[data-v-c019a1e9]{min-height:100%;background:#f9f9ff}body[data-v-c019a1e9]{background:#f9f9ff}.profile-page[data-v-c019a1e9]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.profile-shell[data-v-c019a1e9]{position:relative;width:380px;max-width:100vw;min-height:922px;margin:0 auto;background:#f9f9ff;overflow:hidden;display:flex;flex-direction:column}.profile-page uni-view[data-v-c019a1e9],.profile-page uni-text[data-v-c019a1e9],.profile-page uni-button[data-v-c019a1e9],.profile-page uni-scroll-view[data-v-c019a1e9]{box-sizing:border-box}.profile-page[data-v-c019a1e9] ::-webkit-scrollbar{width:0;height:0;background:transparent}.top-app-bar[data-v-c019a1e9]{position:sticky;top:0;z-index:50;height:56px;padding:0 20px;border-bottom:1px solid #c2c6d4;background:#f9f9ff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.page-title[data-v-c019a1e9]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#00478d;font-size:20px;line-height:28px;font-weight:600;letter-spacing:0}.top-button[data-v-c019a1e9],.mood-button[data-v-c019a1e9],.text-link[data-v-c019a1e9],.entry-card[data-v-c019a1e9]{padding:0;border:0;background:transparent}.top-button[data-v-c019a1e9]:after,.mood-button[data-v-c019a1e9]:after,.text-link[data-v-c019a1e9]:after,.entry-card[data-v-c019a1e9]:after{border:0}.top-button[data-v-c019a1e9]{position:absolute;top:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:2px}.top-button.nav-left[data-v-c019a1e9]{left:20px}.top-button.nav-right[data-v-c019a1e9]{right:20px}.top-button[data-v-c019a1e9]:active{background:#ecedf6;transform:scale(.96)}.profile-scroll[data-v-c019a1e9]{flex:1 1 auto;min-height:0}.profile-content[data-v-c019a1e9]{padding:24px 20px 96px;display:flex;flex-direction:column;gap:24px}.user-card[data-v-c019a1e9],.mood-card[data-v-c019a1e9],.medal-card[data-v-c019a1e9],.entry-card[data-v-c019a1e9],.metric-card[data-v-c019a1e9]{border:1px solid #c2c6d4;border-radius:8px;box-shadow:0 1px 4px rgba(25,28,33,.04)}.user-card[data-v-c019a1e9]{padding:16px;background:#fff;display:flex;align-items:flex-start;gap:16px}.avatar-wrap[data-v-c019a1e9]{position:relative;width:80px;height:80px;flex:0 0 auto}.avatar-image[data-v-c019a1e9]{width:80px;height:80px;border:2px solid #005eb8;border-radius:50%}.pro-badge[data-v-c019a1e9]{position:absolute;right:-4px;bottom:-4px;padding:2px 6px;border-radius:12px;background:#00478d;color:#fff;font-size:10px;line-height:14px;font-weight:700}.user-copy[data-v-c019a1e9]{min-width:0;display:flex;flex-direction:column;gap:4px}.doctor-name[data-v-c019a1e9]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.tag-row[data-v-c019a1e9]{display:flex;flex-wrap:wrap;gap:4px}.tag[data-v-c019a1e9]{padding:2px 8px;border-radius:2px;font-size:10px;line-height:14px;font-weight:700;letter-spacing:0}.primary-tag[data-v-c019a1e9]{background:#d6e3ff;color:#001b3d}.secondary-tag[data-v-c019a1e9]{background:#7df4ff;color:#002022}.meta-grid[data-v-c019a1e9]{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;color:#424752}.meta-item[data-v-c019a1e9]{display:flex;align-items:center;gap:4px;min-width:0;font-size:12px;line-height:16px;font-weight:500}.section-block[data-v-c019a1e9]{display:flex;flex-direction:column;gap:16px}.section-title-row[data-v-c019a1e9]{display:flex;align-items:center;justify-content:space-between}.section-title[data-v-c019a1e9]{color:#191c21;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.mood-card[data-v-c019a1e9]{padding:16px;background:#f2f3fb;display:flex;align-items:center;justify-content:space-between}.sub-label[data-v-c019a1e9]{color:#424752;font-size:12px;line-height:16px;font-weight:500}.mood-title[data-v-c019a1e9]{display:block;margin-top:4px;color:#00478d;font-size:16px;line-height:24px;font-weight:600}.mood-actions[data-v-c019a1e9]{display:flex;gap:8px}.mood-button[data-v-c019a1e9]{width:40px;height:40px;border:1px solid #c2c6d4;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(25,28,33,.05);display:flex;align-items:center;justify-content:center}.mood-button.active[data-v-c019a1e9]{border-color:#00478d;background:#005eb8;box-shadow:0 2px 8px rgba(0,71,141,.2)}.mood-button[data-v-c019a1e9]:active,.entry-card[data-v-c019a1e9]:active{transform:scale(.96)}.medal-card[data-v-c019a1e9]{padding:16px;background:#fff;overflow:hidden}.medal-head[data-v-c019a1e9]{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.text-link[data-v-c019a1e9]{color:#00478d;font-size:10px;line-height:14px;font-weight:700}.medal-list[data-v-c019a1e9]{padding:0 8px;display:flex;align-items:center;justify-content:space-between}.medal-item[data-v-c019a1e9]{display:flex;flex-direction:column;align-items:center;gap:4px;color:#191c21;font-size:10px;line-height:14px;font-weight:700}.medal-circle[data-v-c019a1e9]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 4px rgba(25,28,33,.12)}.medal-circle.tertiary[data-v-c019a1e9]{border:2px solid #793100;background:#ffdbcb}.medal-circle.secondary[data-v-c019a1e9]{border:2px solid #006970;background:#7af1fc}.medal-circle.primary[data-v-c019a1e9]{border:2px solid #00478d;background:#d6e3ff}.action-stack[data-v-c019a1e9]{display:flex;flex-direction:column;gap:16px}.entry-card[data-v-c019a1e9]{width:100%;padding:16px;display:flex;align-items:center;justify-content:space-between;text-align:left}.entry-card.record[data-v-c019a1e9]{border-color:#727783;background:#e1e2ea}.entry-card.analysis[data-v-c019a1e9]{border-color:#c2c6d4;background:#fff}.entry-main[data-v-c019a1e9]{display:flex;align-items:center;gap:16px}.entry-icon-wrap[data-v-c019a1e9]{width:40px;height:40px;border-radius:2px;display:flex;align-items:center;justify-content:center}.record .entry-icon-wrap[data-v-c019a1e9]{background:#00478d}.analysis .entry-icon-wrap[data-v-c019a1e9]{background:#7af1fc}.entry-copy[data-v-c019a1e9]{display:flex;flex-direction:column;gap:2px}.entry-title[data-v-c019a1e9]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.entry-desc[data-v-c019a1e9]{color:#424752;font-size:11px;line-height:16px}.metric-grid[data-v-c019a1e9]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card[data-v-c019a1e9]{min-height:104px;padding:16px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}.metric-value-row[data-v-c019a1e9]{display:flex;align-items:baseline;gap:8px;min-height:34px}.metric-value[data-v-c019a1e9]{color:#00478d;font-size:24px;line-height:32px;font-weight:700}.metric-badge[data-v-c019a1e9]{padding:1px 4px;border-radius:2px;background:#7af1fc;color:#006e75;font-size:10px;line-height:14px}.metric-unit[data-v-c019a1e9]{color:#424752;font-size:12px;line-height:16px;font-weight:500}.mini-progress[data-v-c019a1e9]{width:32px;height:4px;border-radius:999px;background:#d8dae2;overflow:hidden}.mini-progress-fill[data-v-c019a1e9]{height:100%;border-radius:inherit;background:#00478d}.home-icon[data-v-c019a1e9],.settings-icon[data-v-c019a1e9],.meta-icon[data-v-c019a1e9],.mood-icon[data-v-c019a1e9],.medal-icon[data-v-c019a1e9],.entry-icon[data-v-c019a1e9],.chevron-icon[data-v-c019a1e9],.trend-icon[data-v-c019a1e9]{background:#00478d;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.home-icon[data-v-c019a1e9],.settings-icon[data-v-c019a1e9]{width:24px;height:24px}.home-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E")}.settings-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E")}.meta-icon[data-v-c019a1e9]{width:14px;height:14px;background:#424752;flex:0 0 auto}.location-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E")}.school-icon[data-v-c019a1e9],.premium-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E")}.calendar-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202h2v2h6V2h2v2h3a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h3V2zm13%208H4v10h16V10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202h2v2h6V2h2v2h3a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h3V2zm13%208H4v10h16V10z'/%3E%3C/svg%3E")}.timer-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M15%201h-6v2h6V1zm-2%2012V7h-2v7h5v-2h-3zm-1-9a9%209%200%201%200%200%2018%209%209%200%200%200%200-18z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M15%201h-6v2h6V1zm-2%2012V7h-2v7h5v-2h-3zm-1-9a9%209%200%201%200%200%2018%209%209%200%200%200%200-18z'/%3E%3C/svg%3E")}.mood-icon[data-v-c019a1e9]{width:22px;height:22px;background:#424752}.mood-button.active .mood-icon[data-v-c019a1e9]{background:#fff}.satisfied-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zM8%209.5A1.5%201.5%200%201%201%208%206.5a1.5%201.5%200%200%201%200%203zm8%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zM12%2017.5A5.5%205.5%200%200%201%206.8%2014h10.4a5.5%205.5%200%200%201-5.2%203.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zM8%209.5A1.5%201.5%200%201%201%208%206.5a1.5%201.5%200%200%201%200%203zm8%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zM12%2017.5A5.5%205.5%200%200%201%206.8%2014h10.4a5.5%205.5%200%200%201-5.2%203.5z'/%3E%3C/svg%3E")}.bolt-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202v11h3v9l7-12h-4l4-8H7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202v11h3v9l7-12h-4l4-8H7z'/%3E%3C/svg%3E")}.self-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm-7%2018c1-3.5%203.2-6%207-6s6%202.5%207%206h-2.2c-.8-2.1-2.3-4-4.8-4s-4%201.9-4.8%204H5zm-2-7l4-3%201.2%201.6L5%2014h4v2H3v-3zm18%200v3h-6v-2h4l-3.2-2.4L17%2010l4%203z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm-7%2018c1-3.5%203.2-6%207-6s6%202.5%207%206h-2.2c-.8-2.1-2.3-4-4.8-4s-4%201.9-4.8%204H5zm-2-7l4-3%201.2%201.6L5%2014h4v2H3v-3zm18%200v3h-6v-2h4l-3.2-2.4L17%2010l4%203z'/%3E%3C/svg%3E")}.medal-icon[data-v-c019a1e9]{width:28px;height:28px}.tertiary .medal-icon[data-v-c019a1e9]{background:#793100}.secondary .medal-icon[data-v-c019a1e9]{background:#006970}.primary .medal-icon[data-v-c019a1e9]{background:#00478d}.medical-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-3.18C15.4%201.84%2014.3%201%2013%201h-2C9.7%201%208.6%201.84%208.18%203H5a2%202%200%200%200-2%202v15a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-8%200h2v2h-2V3zm4%2010h-2v2h-2v-2H9v-2h2V9h2v2h2v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-3.18C15.4%201.84%2014.3%201%2013%201h-2C9.7%201%208.6%201.84%208.18%203H5a2%202%200%200%200-2%202v15a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-8%200h2v2h-2V3zm4%2010h-2v2h-2v-2H9v-2h2V9h2v2h2v2z'/%3E%3C/svg%3E")}.history-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm0%207V3.5L18.5%209H14zm-2%209l-4-4%201.41-1.41L12%2015.17l4.59-4.59L18%2012l-6%206z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm0%207V3.5L18.5%209H14zm-2%209l-4-4%201.41-1.41L12%2015.17l4.59-4.59L18%2012l-6%206z'/%3E%3C/svg%3E")}.entry-icon[data-v-c019a1e9]{width:24px;height:24px}.record .entry-icon[data-v-c019a1e9]{background:#fff}.analysis .entry-icon[data-v-c019a1e9]{background:#006e75}.analytics-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E")}.insights-icon[data-v-c019a1e9]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2022h6v-2H9v2zm3-20a7%207%200%200%200-4%2012.74V17a1%201%200%200%200%201%201h6a1%201%200%200%200%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1l-.85.57V16h-4v-2.33l-.85-.57A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2022h6v-2H9v2zm3-20a7%207%200%200%200-4%2012.74V17a1%201%200%200%200%201%201h6a1%201%200%200%200%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1l-.85.57V16h-4v-2.33l-.85-.57A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E")}.chevron-icon[data-v-c019a1e9]{width:24px;height:24px;background:#424752;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E");transition:transform .2s ease}.entry-card:active .chevron-icon[data-v-c019a1e9]{transform:translate(4px)}.trend-icon[data-v-c019a1e9]{width:16px;height:16px;background:#006e75;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E")}.toast[data-v-c019a1e9]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:300px;padding:10px 18px;border-radius:12px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-c019a1e9]{opacity:1;transform:translate(-50%)}@media (min-width: 768px){.profile-page[data-v-c019a1e9]{display:flex;justify-content:center;background:#d8dae2}.profile-shell[data-v-c019a1e9]{box-shadow:0 24px 64px rgba(25,28,33,.18);border-left:1px solid #c2c6d4;border-right:1px solid #c2c6d4}} +uni-page-body[data-v-9bf28702]{min-height:100%;background:#f9f9ff}body[data-v-9bf28702]{background:#f9f9ff}.profile-page[data-v-9bf28702]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.profile-shell[data-v-9bf28702]{position:relative;width:380px;max-width:100vw;min-height:922px;margin:0 auto;background:#f9f9ff;overflow:hidden;display:flex;flex-direction:column}.profile-page uni-view[data-v-9bf28702],.profile-page uni-text[data-v-9bf28702],.profile-page uni-button[data-v-9bf28702],.profile-page uni-scroll-view[data-v-9bf28702]{box-sizing:border-box}.profile-page[data-v-9bf28702] ::-webkit-scrollbar{width:0;height:0;background:transparent}.top-app-bar[data-v-9bf28702]{position:sticky;top:0;z-index:50;height:56px;padding:0 20px;border-bottom:1px solid #c2c6d4;background:#f9f9ff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.page-title[data-v-9bf28702]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#00478d;font-size:20px;line-height:28px;font-weight:600;letter-spacing:0}.top-button[data-v-9bf28702],.mood-button[data-v-9bf28702],.text-link[data-v-9bf28702],.entry-card[data-v-9bf28702]{padding:0;border:0;background:transparent}.top-button[data-v-9bf28702]:after,.mood-button[data-v-9bf28702]:after,.text-link[data-v-9bf28702]:after,.entry-card[data-v-9bf28702]:after{border:0}.top-button[data-v-9bf28702]{position:absolute;top:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:2px}.top-button.nav-left[data-v-9bf28702]{left:20px}.top-button.nav-right[data-v-9bf28702]{right:20px}.top-button[data-v-9bf28702]:active{background:#ecedf6;transform:scale(.96)}.profile-scroll[data-v-9bf28702]{flex:1 1 auto;min-height:0}.profile-content[data-v-9bf28702]{padding:24px 20px 96px;display:flex;flex-direction:column;gap:24px}.user-card[data-v-9bf28702],.mood-card[data-v-9bf28702],.medal-card[data-v-9bf28702],.entry-card[data-v-9bf28702],.metric-card[data-v-9bf28702]{border:1px solid #c2c6d4;border-radius:8px;box-shadow:0 1px 4px rgba(25,28,33,.04)}.user-card[data-v-9bf28702]{padding:16px;background:#fff;display:flex;align-items:flex-start;gap:16px}.avatar-wrap[data-v-9bf28702]{position:relative;width:80px;height:80px;flex:0 0 auto}.avatar-image[data-v-9bf28702]{width:80px;height:80px;border:2px solid #005eb8;border-radius:50%}.pro-badge[data-v-9bf28702]{position:absolute;right:-4px;bottom:-4px;padding:2px 6px;border-radius:12px;background:#00478d;color:#fff;font-size:10px;line-height:14px;font-weight:700}.user-copy[data-v-9bf28702]{min-width:0;display:flex;flex-direction:column;gap:4px}.doctor-name[data-v-9bf28702]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.tag-row[data-v-9bf28702]{display:flex;flex-wrap:wrap;gap:4px}.tag[data-v-9bf28702]{padding:2px 8px;border-radius:2px;font-size:10px;line-height:14px;font-weight:700;letter-spacing:0}.primary-tag[data-v-9bf28702]{background:#d6e3ff;color:#001b3d}.secondary-tag[data-v-9bf28702]{background:#7df4ff;color:#002022}.meta-grid[data-v-9bf28702]{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;color:#424752}.meta-item[data-v-9bf28702]{display:flex;align-items:center;gap:4px;min-width:0;font-size:12px;line-height:16px;font-weight:500}.section-block[data-v-9bf28702]{display:flex;flex-direction:column;gap:16px}.section-title-row[data-v-9bf28702]{display:flex;align-items:center;justify-content:space-between}.section-title[data-v-9bf28702]{color:#191c21;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.mood-card[data-v-9bf28702]{padding:16px;background:#f2f3fb;display:flex;align-items:center;justify-content:space-between}.sub-label[data-v-9bf28702]{color:#424752;font-size:12px;line-height:16px;font-weight:500}.mood-title[data-v-9bf28702]{display:block;margin-top:4px;color:#00478d;font-size:16px;line-height:24px;font-weight:600}.mood-actions[data-v-9bf28702]{display:flex;gap:8px}.mood-button[data-v-9bf28702]{width:40px;height:40px;border:1px solid #c2c6d4;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(25,28,33,.05);display:flex;align-items:center;justify-content:center}.mood-button.active[data-v-9bf28702]{border-color:#00478d;background:#005eb8;box-shadow:0 2px 8px rgba(0,71,141,.2)}.mood-button[data-v-9bf28702]:active,.entry-card[data-v-9bf28702]:active{transform:scale(.96)}.medal-card[data-v-9bf28702]{padding:16px;background:#fff;overflow:hidden}.medal-head[data-v-9bf28702]{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.text-link[data-v-9bf28702]{color:#00478d;font-size:10px;line-height:14px;font-weight:700}.medal-list[data-v-9bf28702]{padding:0 8px;display:flex;align-items:center;justify-content:space-between}.medal-item[data-v-9bf28702]{display:flex;flex-direction:column;align-items:center;gap:4px;color:#191c21;font-size:10px;line-height:14px;font-weight:700}.medal-circle[data-v-9bf28702]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 4px rgba(25,28,33,.12)}.medal-circle.tertiary[data-v-9bf28702]{border:2px solid #793100;background:#ffdbcb}.medal-circle.secondary[data-v-9bf28702]{border:2px solid #006970;background:#7af1fc}.medal-circle.primary[data-v-9bf28702]{border:2px solid #00478d;background:#d6e3ff}.action-stack[data-v-9bf28702]{display:flex;flex-direction:column;gap:16px}.entry-card[data-v-9bf28702]{width:100%;padding:16px;display:flex;align-items:center;justify-content:space-between;text-align:left}.entry-card.record[data-v-9bf28702]{border-color:#727783;background:#e1e2ea}.entry-card.analysis[data-v-9bf28702]{border-color:#c2c6d4;background:#fff}.entry-main[data-v-9bf28702]{display:flex;align-items:center;gap:16px}.entry-icon-wrap[data-v-9bf28702]{width:40px;height:40px;border-radius:2px;display:flex;align-items:center;justify-content:center}.record .entry-icon-wrap[data-v-9bf28702]{background:#00478d}.analysis .entry-icon-wrap[data-v-9bf28702]{background:#7af1fc}.entry-copy[data-v-9bf28702]{display:flex;flex-direction:column;gap:2px}.entry-title[data-v-9bf28702]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.entry-desc[data-v-9bf28702]{color:#424752;font-size:11px;line-height:16px}.metric-grid[data-v-9bf28702]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card[data-v-9bf28702]{min-height:104px;padding:16px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}.metric-value-row[data-v-9bf28702]{display:flex;align-items:baseline;gap:8px;min-height:34px}.metric-value[data-v-9bf28702]{color:#00478d;font-size:24px;line-height:32px;font-weight:700}.metric-badge[data-v-9bf28702]{padding:1px 4px;border-radius:2px;background:#7af1fc;color:#006e75;font-size:10px;line-height:14px}.metric-unit[data-v-9bf28702]{color:#424752;font-size:12px;line-height:16px;font-weight:500}.mini-progress[data-v-9bf28702]{width:32px;height:4px;border-radius:999px;background:#d8dae2;overflow:hidden}.mini-progress-fill[data-v-9bf28702]{height:100%;border-radius:inherit;background:#00478d}.home-icon[data-v-9bf28702],.settings-icon[data-v-9bf28702],.meta-icon[data-v-9bf28702],.mood-icon[data-v-9bf28702],.medal-icon[data-v-9bf28702],.entry-icon[data-v-9bf28702],.chevron-icon[data-v-9bf28702],.trend-icon[data-v-9bf28702]{background:#00478d;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.home-icon[data-v-9bf28702],.settings-icon[data-v-9bf28702]{width:24px;height:24px}.home-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E")}.settings-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E")}.meta-icon[data-v-9bf28702]{width:14px;height:14px;background:#424752;flex:0 0 auto}.location-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E")}.school-icon[data-v-9bf28702],.premium-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%203L1%209l11%206%209-4.91V17h2V9L12%203zm0%2014L5%2013.18V17l7%204%207-4v-3.82L12%2017z'/%3E%3C/svg%3E")}.calendar-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202h2v2h6V2h2v2h3a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h3V2zm13%208H4v10h16V10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202h2v2h6V2h2v2h3a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h3V2zm13%208H4v10h16V10z'/%3E%3C/svg%3E")}.timer-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M15%201h-6v2h6V1zm-2%2012V7h-2v7h5v-2h-3zm-1-9a9%209%200%201%200%200%2018%209%209%200%200%200%200-18z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M15%201h-6v2h6V1zm-2%2012V7h-2v7h5v-2h-3zm-1-9a9%209%200%201%200%200%2018%209%209%200%200%200%200-18z'/%3E%3C/svg%3E")}.mood-icon[data-v-9bf28702]{width:22px;height:22px;background:#424752}.mood-button.active .mood-icon[data-v-9bf28702]{background:#fff}.satisfied-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zM8%209.5A1.5%201.5%200%201%201%208%206.5a1.5%201.5%200%200%201%200%203zm8%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zM12%2017.5A5.5%205.5%200%200%201%206.8%2014h10.4a5.5%205.5%200%200%201-5.2%203.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zM8%209.5A1.5%201.5%200%201%201%208%206.5a1.5%201.5%200%200%201%200%203zm8%200a1.5%201.5%200%201%201%200-3%201.5%201.5%200%200%201%200%203zM12%2017.5A5.5%205.5%200%200%201%206.8%2014h10.4a5.5%205.5%200%200%201-5.2%203.5z'/%3E%3C/svg%3E")}.bolt-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202v11h3v9l7-12h-4l4-8H7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%202v11h3v9l7-12h-4l4-8H7z'/%3E%3C/svg%3E")}.self-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm-7%2018c1-3.5%203.2-6%207-6s6%202.5%207%206h-2.2c-.8-2.1-2.3-4-4.8-4s-4%201.9-4.8%204H5zm-2-7l4-3%201.2%201.6L5%2014h4v2H3v-3zm18%200v3h-6v-2h4l-3.2-2.4L17%2010l4%203z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a3%203%200%201%201%200%206%203%203%200%200%201%200-6zm-7%2018c1-3.5%203.2-6%207-6s6%202.5%207%206h-2.2c-.8-2.1-2.3-4-4.8-4s-4%201.9-4.8%204H5zm-2-7l4-3%201.2%201.6L5%2014h4v2H3v-3zm18%200v3h-6v-2h4l-3.2-2.4L17%2010l4%203z'/%3E%3C/svg%3E")}.medal-icon[data-v-9bf28702]{width:28px;height:28px}.tertiary .medal-icon[data-v-9bf28702]{background:#793100}.secondary .medal-icon[data-v-9bf28702]{background:#006970}.primary .medal-icon[data-v-9bf28702]{background:#00478d}.medical-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-3.18C15.4%201.84%2014.3%201%2013%201h-2C9.7%201%208.6%201.84%208.18%203H5a2%202%200%200%200-2%202v15a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-8%200h2v2h-2V3zm4%2010h-2v2h-2v-2H9v-2h2V9h2v2h2v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19%203h-3.18C15.4%201.84%2014.3%201%2013%201h-2C9.7%201%208.6%201.84%208.18%203H5a2%202%200%200%200-2%202v15a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2zm-8%200h2v2h-2V3zm4%2010h-2v2h-2v-2H9v-2h2V9h2v2h2v2z'/%3E%3C/svg%3E")}.history-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm0%207V3.5L18.5%209H14zm-2%209l-4-4%201.41-1.41L12%2015.17l4.59-4.59L18%2012l-6%206z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm0%207V3.5L18.5%209H14zm-2%209l-4-4%201.41-1.41L12%2015.17l4.59-4.59L18%2012l-6%206z'/%3E%3C/svg%3E")}.entry-icon[data-v-9bf28702]{width:24px;height:24px}.record .entry-icon[data-v-9bf28702]{background:#fff}.analysis .entry-icon[data-v-9bf28702]{background:#006e75}.analytics-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%203h2v18H3V3zm16%207h2v11h-2V10zM8%2013h2v8H8v-8zm5-6h2v14h-2V7z'/%3E%3C/svg%3E")}.insights-icon[data-v-9bf28702]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2022h6v-2H9v2zm3-20a7%207%200%200%200-4%2012.74V17a1%201%200%200%200%201%201h6a1%201%200%200%200%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1l-.85.57V16h-4v-2.33l-.85-.57A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2022h6v-2H9v2zm3-20a7%207%200%200%200-4%2012.74V17a1%201%200%200%200%201%201h6a1%201%200%200%200%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1l-.85.57V16h-4v-2.33l-.85-.57A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E")}.chevron-icon[data-v-9bf28702]{width:24px;height:24px;background:#424752;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E");transition:transform .2s ease}.entry-card:active .chevron-icon[data-v-9bf28702]{transform:translate(4px)}.trend-icon[data-v-9bf28702]{width:16px;height:16px;background:#006e75;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M16%206l2.29%202.29-4.88%204.88-4-4L2%2016.59%203.41%2018l6-6%204%204%206.3-6.29L22%2012V6h-6z'/%3E%3C/svg%3E")}.toast[data-v-9bf28702]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:300px;padding:10px 18px;border-radius:12px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-9bf28702]{opacity:1;transform:translate(-50%)}@media (min-width: 768px){.profile-page[data-v-9bf28702]{display:flex;justify-content:center;background:#d8dae2}.profile-shell[data-v-9bf28702]{box-shadow:0 24px 64px rgba(25,28,33,.18);border-left:1px solid #c2c6d4;border-right:1px solid #c2c6d4}} diff --git a/dist/assets/profile-records-BnZV3bJU.css b/dist/assets/profile-records-EOjOQpWD.css similarity index 50% rename from dist/assets/profile-records-BnZV3bJU.css rename to dist/assets/profile-records-EOjOQpWD.css index 4cab4f6..d032dec 100644 --- a/dist/assets/profile-records-BnZV3bJU.css +++ b/dist/assets/profile-records-EOjOQpWD.css @@ -1 +1 @@ -uni-page-body[data-v-192e7c16]{min-height:100%;background:#f9f9ff}body[data-v-192e7c16]{background:#f9f9ff}.records-page[data-v-192e7c16]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.records-shell[data-v-192e7c16]{position:relative;width:390px;max-width:100vw;min-height:884px;margin:0 auto;background:#f9f9ff;overflow:hidden;display:flex;flex-direction:column}.records-page uni-view[data-v-192e7c16],.records-page uni-text[data-v-192e7c16],.records-page uni-button[data-v-192e7c16],.records-page uni-input[data-v-192e7c16],.records-page uni-scroll-view[data-v-192e7c16]{box-sizing:border-box}.records-page[data-v-192e7c16] ::-webkit-scrollbar{width:0;height:0;background:transparent}.top-bar[data-v-192e7c16]{position:sticky;top:0;z-index:50;height:64px;padding:0 20px;border-bottom:1px solid #c2c6d4;background:#f9f9ff;box-shadow:0 1px 4px rgba(25,28,33,.04);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.page-title[data-v-192e7c16]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#00478d;font-size:20px;line-height:28px;font-weight:600;letter-spacing:0}.icon-button[data-v-192e7c16],.report-button[data-v-192e7c16]{padding:0;border:0;background:transparent}.icon-button[data-v-192e7c16]:after,.report-button[data-v-192e7c16]:after{border:0}.icon-button[data-v-192e7c16]{position:absolute;left:20px;top:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.icon-button[data-v-192e7c16]:active,.record-card[data-v-192e7c16]:active{transform:scale(.98)}.back-icon[data-v-192e7c16],.search-icon[data-v-192e7c16],.small-chevron[data-v-192e7c16]{background:#00478d;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.back-icon[data-v-192e7c16]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E")}.records-scroll[data-v-192e7c16]{flex:1 1 auto;min-height:0}.records-main[data-v-192e7c16]{padding:20px 20px 32px;display:flex;flex-direction:column;gap:24px}.stats-grid[data-v-192e7c16]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-card[data-v-192e7c16]{min-height:96px;padding:16px 8px;border:1px solid #c2c6d4;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stat-label[data-v-192e7c16]{margin-bottom:8px;color:#424752;font-size:12px;line-height:16px;font-weight:500}.stat-value[data-v-192e7c16]{color:#00478d;font-size:20px;line-height:28px;font-weight:600}.stat-value.secondary[data-v-192e7c16]{color:#006970}.search-field[data-v-192e7c16]{position:relative;min-height:48px;display:flex;align-items:center}.search-icon[data-v-192e7c16]{position:absolute;left:16px;z-index:1;width:22px;height:22px;background:#727783;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203A6.5%206.5%200%200%200%209.5%2016a6.47%206.47%200%200%200%204.03-1.39l4.43%204.43%201.41-1.41-4.43-4.43A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202A4.5%204.5%200%201%201%209.5%2014%204.5%204.5%200%200%201%209.5%205z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203A6.5%206.5%200%200%200%209.5%2016a6.47%206.47%200%200%200%204.03-1.39l4.43%204.43%201.41-1.41-4.43-4.43A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202A4.5%204.5%200%201%201%209.5%2014%204.5%204.5%200%200%201%209.5%205z'/%3E%3C/svg%3E")}.search-input[data-v-192e7c16]{width:100%;height:48px;padding:0 16px 0 48px;border:1px solid #c2c6d4;border-radius:24px;background:#f2f3fb;color:#191c21;font-size:16px;line-height:24px}.search-placeholder[data-v-192e7c16]{color:#727783}.history-section[data-v-192e7c16]{display:flex;flex-direction:column;gap:16px}.section-title[data-v-192e7c16]{padding:0 4px;color:#424752;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.record-list[data-v-192e7c16]{display:flex;flex-direction:column;gap:16px}.record-card[data-v-192e7c16]{min-height:80px;padding:16px;border:1px solid #c2c6d4;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;align-items:center;gap:16px;transition:transform .15s ease,opacity .15s ease}.record-card.dimmed[data-v-192e7c16]{opacity:.88}.case-icon-wrap[data-v-192e7c16]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.case-icon-wrap.primary[data-v-192e7c16]{background:#005eb8;color:#c8daff}.case-icon-wrap.secondary[data-v-192e7c16]{background:#7af1fc;color:#006e75}.case-icon-wrap.tertiary[data-v-192e7c16]{background:#ffdbcb;color:#793100}.case-icon-text[data-v-192e7c16]{font-size:18px;line-height:24px;font-weight:700}.case-copy[data-v-192e7c16]{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:4px}.case-title[data-v-192e7c16]{max-width:132px;color:#191c21;font-size:14px;line-height:20px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-meta[data-v-192e7c16]{display:flex;align-items:center;gap:8px;min-width:0;color:#424752;font-size:12px;line-height:16px;font-weight:500}.dot[data-v-192e7c16]{font-size:10px;opacity:.4}.score-block[data-v-192e7c16]{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.score-row[data-v-192e7c16]{display:flex;align-items:baseline;gap:4px}.score-value[data-v-192e7c16]{color:#00478d;font-size:20px;line-height:28px;font-weight:600}.score-unit[data-v-192e7c16]{color:#424752;font-size:12px;line-height:16px;font-weight:500}.report-button[data-v-192e7c16]{color:#00478d;display:flex;align-items:center;font-size:12px;line-height:16px;font-weight:500}.small-chevron[data-v-192e7c16]{width:16px;height:16px;margin-left:4px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E")}.empty-state[data-v-192e7c16]{min-height:96px;border:1px dashed #c2c6d4;border-radius:8px;background:#f2f3fb;color:#727783;font-size:14px;line-height:20px;display:flex;align-items:center;justify-content:center}.bottom-hint[data-v-192e7c16]{padding:16px 0 4px;color:#727783;font-size:12px;line-height:16px;font-weight:500;text-align:center}.toast[data-v-192e7c16]{position:absolute;left:50%;bottom:24px;z-index:80;max-width:300px;padding:8px 12px;border-radius:12px;background:rgba(46,48,55,.9);color:#eff0f8;font-size:12px;line-height:16px;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease}.toast.visible[data-v-192e7c16]{opacity:1;transform:translate(-50%)} +uni-page-body[data-v-15539840]{min-height:100%;background:#f9f9ff}body[data-v-15539840]{background:#f9f9ff}.records-page[data-v-15539840]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.records-shell[data-v-15539840]{position:relative;width:390px;max-width:100vw;min-height:884px;margin:0 auto;background:#f9f9ff;overflow:hidden;display:flex;flex-direction:column}.records-page uni-view[data-v-15539840],.records-page uni-text[data-v-15539840],.records-page uni-button[data-v-15539840],.records-page uni-input[data-v-15539840],.records-page uni-scroll-view[data-v-15539840]{box-sizing:border-box}.records-page[data-v-15539840] ::-webkit-scrollbar{width:0;height:0;background:transparent}.top-bar[data-v-15539840]{position:sticky;top:0;z-index:50;height:64px;padding:0 20px;border-bottom:1px solid #c2c6d4;background:#f9f9ff;box-shadow:0 1px 4px rgba(25,28,33,.04);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.page-title[data-v-15539840]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#00478d;font-size:20px;line-height:28px;font-weight:600;letter-spacing:0}.icon-button[data-v-15539840],.report-button[data-v-15539840]{padding:0;border:0;background:transparent}.icon-button[data-v-15539840]:after,.report-button[data-v-15539840]:after{border:0}.icon-button[data-v-15539840]{position:absolute;left:20px;top:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.icon-button[data-v-15539840]:active,.record-card[data-v-15539840]:active{transform:scale(.98)}.back-icon[data-v-15539840],.search-icon[data-v-15539840],.small-chevron[data-v-15539840]{background:#00478d;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.back-icon[data-v-15539840]{width:24px;height:24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.42-1.41L7.83%2013H20v-2z'/%3E%3C/svg%3E")}.records-scroll[data-v-15539840]{flex:1 1 auto;min-height:0}.records-main[data-v-15539840]{padding:20px 20px 32px;display:flex;flex-direction:column;gap:24px}.stats-grid[data-v-15539840]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-card[data-v-15539840]{min-height:96px;padding:16px 8px;border:1px solid #c2c6d4;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stat-label[data-v-15539840]{margin-bottom:8px;color:#424752;font-size:12px;line-height:16px;font-weight:500}.stat-value[data-v-15539840]{color:#00478d;font-size:20px;line-height:28px;font-weight:600}.stat-value.secondary[data-v-15539840]{color:#006970}.search-field[data-v-15539840]{position:relative;min-height:48px;display:flex;align-items:center}.search-icon[data-v-15539840]{position:absolute;left:16px;z-index:1;width:22px;height:22px;background:#727783;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203A6.5%206.5%200%200%200%209.5%2016a6.47%206.47%200%200%200%204.03-1.39l4.43%204.43%201.41-1.41-4.43-4.43A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202A4.5%204.5%200%201%201%209.5%2014%204.5%204.5%200%200%201%209.5%205z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9.5%203A6.5%206.5%200%200%200%209.5%2016a6.47%206.47%200%200%200%204.03-1.39l4.43%204.43%201.41-1.41-4.43-4.43A6.47%206.47%200%200%200%2016%209.5%206.5%206.5%200%200%200%209.5%203zm0%202A4.5%204.5%200%201%201%209.5%2014%204.5%204.5%200%200%201%209.5%205z'/%3E%3C/svg%3E")}.search-input[data-v-15539840]{width:100%;height:48px;padding:0 16px 0 48px;border:1px solid #c2c6d4;border-radius:24px;background:#f2f3fb;color:#191c21;font-size:16px;line-height:24px}.search-placeholder[data-v-15539840]{color:#727783}.history-section[data-v-15539840]{display:flex;flex-direction:column;gap:16px}.section-title[data-v-15539840]{padding:0 4px;color:#424752;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}.record-list[data-v-15539840]{display:flex;flex-direction:column;gap:16px}.record-card[data-v-15539840]{min-height:80px;padding:16px;border:1px solid #c2c6d4;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;align-items:center;gap:16px;transition:transform .15s ease,opacity .15s ease}.record-card.dimmed[data-v-15539840]{opacity:.88}.case-icon-wrap[data-v-15539840]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.case-icon-wrap.primary[data-v-15539840]{background:#005eb8;color:#c8daff}.case-icon-wrap.secondary[data-v-15539840]{background:#7af1fc;color:#006e75}.case-icon-wrap.tertiary[data-v-15539840]{background:#ffdbcb;color:#793100}.case-icon-text[data-v-15539840]{font-size:18px;line-height:24px;font-weight:700}.case-copy[data-v-15539840]{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:4px}.case-title[data-v-15539840]{max-width:132px;color:#191c21;font-size:14px;line-height:20px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-meta[data-v-15539840]{display:flex;align-items:center;gap:8px;min-width:0;color:#424752;font-size:12px;line-height:16px;font-weight:500}.dot[data-v-15539840]{font-size:10px;opacity:.4}.score-block[data-v-15539840]{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.score-row[data-v-15539840]{display:flex;align-items:baseline;gap:4px}.score-value[data-v-15539840]{color:#00478d;font-size:20px;line-height:28px;font-weight:600}.score-unit[data-v-15539840]{color:#424752;font-size:12px;line-height:16px;font-weight:500}.report-button[data-v-15539840]{color:#00478d;display:flex;align-items:center;font-size:12px;line-height:16px;font-weight:500}.small-chevron[data-v-15539840]{width:16px;height:16px;margin-left:4px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6-6-6z'/%3E%3C/svg%3E")}.empty-state[data-v-15539840]{min-height:96px;border:1px dashed #c2c6d4;border-radius:8px;background:#f2f3fb;color:#727783;font-size:14px;line-height:20px;display:flex;align-items:center;justify-content:center}.bottom-hint[data-v-15539840]{padding:16px 0 4px;color:#727783;font-size:12px;line-height:16px;font-weight:500;text-align:center}.toast[data-v-15539840]{position:absolute;left:50%;bottom:24px;z-index:80;max-width:300px;padding:8px 12px;border-radius:12px;background:rgba(46,48,55,.9);color:#eff0f8;font-size:12px;line-height:16px;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease}.toast.visible[data-v-15539840]{opacity:1;transform:translate(-50%)} diff --git a/dist/assets/scenario-CftOfMRB.css b/dist/assets/scenario-CftOfMRB.css new file mode 100644 index 0000000..59914a2 --- /dev/null +++ b/dist/assets/scenario-CftOfMRB.css @@ -0,0 +1 @@ +uni-page-body[data-v-0c3a3813]{min-height:100%;background:#f9f9ff}body[data-v-0c3a3813]{background:#f9f9ff}.scenario-page[data-v-0c3a3813]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.scenario-shell[data-v-0c3a3813]{position:relative;min-height:100vh;overflow:hidden;background:#f9f9ff;display:flex;flex-direction:column}.hero[data-v-0c3a3813]{position:relative;flex:0 0 auto;height:33.333vh;min-height:245px}.hero-image[data-v-0c3a3813]{width:100%;height:100%}.hero-fade[data-v-0c3a3813]{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg,rgba(249,249,255,0),rgba(249,249,255,.3))}.director-row[data-v-0c3a3813]{position:relative;z-index:2;margin-top:-40px;padding:0 20px;display:flex;align-items:flex-start;gap:16px}.director-avatar[data-v-0c3a3813]{flex:0 0 auto;width:96px;height:96px}.director-image[data-v-0c3a3813]{width:100%;height:100%}.speech-bubble[data-v-0c3a3813]{position:relative;flex:1;margin-top:16px;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:16px;background:#fff;box-shadow:0 4px 10px rgba(25,28,33,.1);color:#00478d;font-size:14px;line-height:22px;font-weight:600}.speech-bubble[data-v-0c3a3813]:after{content:"";position:absolute;left:-9px;top:20px;width:16px;height:16px;background:#fff;border-left:1px solid rgba(194,198,212,.3);border-bottom:1px solid rgba(194,198,212,.3);transform:rotate(45deg)}.config-scroll[data-v-0c3a3813]{box-sizing:border-box;flex:1;height:1px;padding:16px 20px 108px}.selected-case[data-v-0c3a3813]{margin-bottom:20px;padding:12px;border:1px solid rgba(194,198,212,.35);border-radius:12px;background:rgba(255,255,255,.7)}.case-label[data-v-0c3a3813]{display:block;margin-bottom:4px;color:#727783;font-size:12px;line-height:16px}.case-title[data-v-0c3a3813]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.section[data-v-0c3a3813]{margin-bottom:24px}.section-title[data-v-0c3a3813]{margin-bottom:16px;display:flex;align-items:center;gap:8px;color:#191c21;font-size:14px;line-height:20px;font-weight:600}.star-icon[data-v-0c3a3813],.tune-icon[data-v-0c3a3813],.location-icon[data-v-0c3a3813],.cake-icon[data-v-0c3a3813],.school-icon[data-v-0c3a3813],.mind-icon[data-v-0c3a3813],.arrow-icon[data-v-0c3a3813]{background:#00478d}.star-icon[data-v-0c3a3813],.tune-icon[data-v-0c3a3813]{width:20px;height:20px}.star-icon[data-v-0c3a3813]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat}.tune-icon[data-v-0c3a3813]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%2017v2h6v-2H3zM3%205v2h10V5H3zm10%2016v-2h8v-2h-8v-2h-2v6h2zM7%209v2H3v2h4v2h2V9H7zm14%204v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%2017v2h6v-2H3zM3%205v2h10V5H3zm10%2016v-2h8v-2h-8v-2h-2v6h2zM7%209v2H3v2h4v2h2V9H7zm14%204v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'/%3E%3C/svg%3E") center / contain no-repeat}.recommend-list[data-v-0c3a3813],.custom-section[data-v-0c3a3813]{display:flex;flex-direction:column;gap:12px}.custom-section[data-v-0c3a3813]{margin-bottom:16px}.custom-section.expanded[data-v-0c3a3813]{margin-bottom:24px}.custom-config-toggle[data-v-0c3a3813]{width:100%;min-height:44px;margin:0;padding:0;border:0;background:transparent;display:flex;align-items:center;gap:8px;text-align:left}.custom-config-toggle[data-v-0c3a3813]:after{border:0}.custom-toggle-spacer[data-v-0c3a3813]{flex:1}.toggle-chevron[data-v-0c3a3813]{width:20px;height:20px;background:#424752;transition:transform .2s ease,background .2s ease;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7.4%208.6%2012%2013.2l4.6-4.6L18%2010l-6%206-6-6%201.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7.4%208.6%2012%2013.2l4.6-4.6L18%2010l-6%206-6-6%201.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat}.custom-config-toggle.expanded .toggle-chevron[data-v-0c3a3813]{background:#00478d;transform:rotate(180deg)}.custom-options[data-v-0c3a3813]{max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height .24s ease,opacity .18s ease,transform .18s ease;display:flex;flex-direction:column;gap:16px}.custom-options.expanded[data-v-0c3a3813]{max-height:760px;opacity:1;transform:translateY(0)}.recommend-card[data-v-0c3a3813]{width:100%;padding:16px;border:1px solid #c2c6d4;border-radius:12px;background:rgba(255,255,255,.7);text-align:left;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.recommend-card.active[data-v-0c3a3813]{border-color:#00478d;background:rgba(214,227,255,.46)}.recommend-card[data-v-0c3a3813]:after,.choice[data-v-0c3a3813]:after,.generate-button[data-v-0c3a3813]:after{border:0}.recommend-card[data-v-0c3a3813]:active,.choice[data-v-0c3a3813]:active,.generate-button[data-v-0c3a3813]:active{transform:scale(.98)}.recommend-head[data-v-0c3a3813]{margin-bottom:8px;display:flex;align-items:center;gap:16px}.recommend-icon[data-v-0c3a3813]{color:#00478d;font-size:13px;line-height:18px;font-weight:700}.recommend-title[data-v-0c3a3813]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.recommend-desc[data-v-0c3a3813]{display:block;margin-bottom:8px;color:#424752;font-size:12px;line-height:18px}.tag-row[data-v-0c3a3813]{display:flex;gap:8px}.tag[data-v-0c3a3813]{padding:2px 8px;border-radius:999px;background:#ecedf6;color:#191c21;font-size:10px;line-height:16px}.tag.danger[data-v-0c3a3813]{background:rgba(255,218,214,.35);color:#ba1a1a}.option-block[data-v-0c3a3813]{display:flex;flex-direction:column;gap:12px}.option-label[data-v-0c3a3813]{display:flex;align-items:center;gap:4px;color:#424752;font-size:12px;line-height:16px;font-weight:600}.location-icon[data-v-0c3a3813],.cake-icon[data-v-0c3a3813],.school-icon[data-v-0c3a3813],.mind-icon[data-v-0c3a3813]{width:14px;height:14px;background:#424752}.location-icon[data-v-0c3a3813]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E") center / contain no-repeat}.cake-icon[data-v-0c3a3813],.school-icon[data-v-0c3a3813],.mind-icon[data-v-0c3a3813]{border-radius:50%}.option-grid[data-v-0c3a3813]{display:grid;gap:10px;width:100%}.grid-3[data-v-0c3a3813]{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4[data-v-0c3a3813]{grid-template-columns:repeat(4,minmax(0,1fr))}.choice[data-v-0c3a3813]{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:8px 6px;border:1px solid #c2c6d4;border-radius:8px;background:rgba(255,255,255,.76);color:#424752;font-size:14px;line-height:20px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.choice.small[data-v-0c3a3813]{font-size:12px}.choice.mini[data-v-0c3a3813]{font-size:11px}.choice.selected[data-v-0c3a3813]{border-color:#00478d;background:rgba(0,71,141,.1);color:#00478d;font-weight:700}.personality-block[data-v-0c3a3813]{padding-bottom:32px}.bottom-action[data-v-0c3a3813]{position:absolute;left:0;right:0;bottom:0;z-index:3;box-sizing:border-box;padding:32px 20px 20px;background:linear-gradient(180deg,rgba(249,249,255,0),#f9f9ff 38%,#f9f9ff)}.generate-button[data-v-0c3a3813]{width:100%;min-height:56px;border-radius:999px;background:#00478d;box-shadow:0 8px 18px rgba(0,71,141,.22);color:#fff;font-size:14px;line-height:20px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px}.arrow-icon[data-v-0c3a3813]{width:20px;height:20px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat}.toast[data-v-0c3a3813]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-0c3a3813]{opacity:1;transform:translate(-50%)} diff --git a/dist/assets/scenario-ClvXojdV.css b/dist/assets/scenario-ClvXojdV.css deleted file mode 100644 index dc5168f..0000000 --- a/dist/assets/scenario-ClvXojdV.css +++ /dev/null @@ -1 +0,0 @@ -uni-page-body[data-v-c7367ab5]{min-height:100%;background:#f9f9ff}body[data-v-c7367ab5]{background:#f9f9ff}.scenario-page[data-v-c7367ab5]{min-height:100vh;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.scenario-shell[data-v-c7367ab5]{position:relative;min-height:100vh;overflow:hidden;background:#f9f9ff;display:flex;flex-direction:column}.hero[data-v-c7367ab5]{position:relative;flex:0 0 auto;height:33.333vh;min-height:245px}.hero-image[data-v-c7367ab5]{width:100%;height:100%}.hero-fade[data-v-c7367ab5]{position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg,rgba(249,249,255,0),rgba(249,249,255,.3))}.director-row[data-v-c7367ab5]{position:relative;z-index:2;margin-top:-40px;padding:0 20px;display:flex;align-items:flex-start;gap:16px}.director-avatar[data-v-c7367ab5]{flex:0 0 auto;width:96px;height:96px}.director-image[data-v-c7367ab5]{width:100%;height:100%}.speech-bubble[data-v-c7367ab5]{position:relative;flex:1;margin-top:16px;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:16px;background:#fff;box-shadow:0 4px 10px rgba(25,28,33,.1);color:#00478d;font-size:14px;line-height:22px;font-weight:600}.speech-bubble[data-v-c7367ab5]:after{content:"";position:absolute;left:-9px;top:20px;width:16px;height:16px;background:#fff;border-left:1px solid rgba(194,198,212,.3);border-bottom:1px solid rgba(194,198,212,.3);transform:rotate(45deg)}.config-scroll[data-v-c7367ab5]{box-sizing:border-box;flex:1;height:1px;padding:16px 20px 108px}.selected-case[data-v-c7367ab5]{margin-bottom:20px;padding:12px;border:1px solid rgba(194,198,212,.35);border-radius:12px;background:rgba(255,255,255,.7)}.case-label[data-v-c7367ab5]{display:block;margin-bottom:4px;color:#727783;font-size:12px;line-height:16px}.case-title[data-v-c7367ab5]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.section[data-v-c7367ab5]{margin-bottom:24px}.section-title[data-v-c7367ab5]{margin-bottom:16px;display:flex;align-items:center;gap:8px;color:#191c21;font-size:14px;line-height:20px;font-weight:600}.star-icon[data-v-c7367ab5],.tune-icon[data-v-c7367ab5],.location-icon[data-v-c7367ab5],.cake-icon[data-v-c7367ab5],.school-icon[data-v-c7367ab5],.mind-icon[data-v-c7367ab5],.arrow-icon[data-v-c7367ab5]{background:#00478d}.star-icon[data-v-c7367ab5],.tune-icon[data-v-c7367ab5]{width:20px;height:20px}.star-icon[data-v-c7367ab5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%202%202.7%206.6%207.1.6-5.4%204.6%201.7%206.9L12%2017l-6.1%203.7%201.7-6.9-5.4-4.6%207.1-.6L12%202z'/%3E%3C/svg%3E") center / contain no-repeat}.tune-icon[data-v-c7367ab5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%2017v2h6v-2H3zM3%205v2h10V5H3zm10%2016v-2h8v-2h-8v-2h-2v6h2zM7%209v2H3v2h4v2h2V9H7zm14%204v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M3%2017v2h6v-2H3zM3%205v2h10V5H3zm10%2016v-2h8v-2h-8v-2h-2v6h2zM7%209v2H3v2h4v2h2V9H7zm14%204v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'/%3E%3C/svg%3E") center / contain no-repeat}.recommend-list[data-v-c7367ab5],.custom-section[data-v-c7367ab5]{display:flex;flex-direction:column;gap:12px}.recommend-card[data-v-c7367ab5]{width:100%;padding:16px;border:1px solid #c2c6d4;border-radius:12px;background:rgba(255,255,255,.7);text-align:left;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.recommend-card.active[data-v-c7367ab5]{border-color:#00478d;background:rgba(214,227,255,.46)}.recommend-card[data-v-c7367ab5]:after,.choice[data-v-c7367ab5]:after,.generate-button[data-v-c7367ab5]:after{border:0}.recommend-card[data-v-c7367ab5]:active,.choice[data-v-c7367ab5]:active,.generate-button[data-v-c7367ab5]:active{transform:scale(.98)}.recommend-head[data-v-c7367ab5]{margin-bottom:8px;display:flex;align-items:center;gap:16px}.recommend-icon[data-v-c7367ab5]{color:#00478d;font-size:13px;line-height:18px;font-weight:700}.recommend-title[data-v-c7367ab5]{color:#191c21;font-size:14px;line-height:20px;font-weight:600}.recommend-desc[data-v-c7367ab5]{display:block;margin-bottom:8px;color:#424752;font-size:12px;line-height:18px}.tag-row[data-v-c7367ab5]{display:flex;gap:8px}.tag[data-v-c7367ab5]{padding:2px 8px;border-radius:999px;background:#ecedf6;color:#191c21;font-size:10px;line-height:16px}.tag.danger[data-v-c7367ab5]{background:rgba(255,218,214,.35);color:#ba1a1a}.option-block[data-v-c7367ab5]{display:flex;flex-direction:column;gap:12px}.option-label[data-v-c7367ab5]{display:flex;align-items:center;gap:4px;color:#424752;font-size:12px;line-height:16px;font-weight:600}.location-icon[data-v-c7367ab5],.cake-icon[data-v-c7367ab5],.school-icon[data-v-c7367ab5],.mind-icon[data-v-c7367ab5]{width:14px;height:14px;background:#424752}.location-icon[data-v-c7367ab5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z'/%3E%3C/svg%3E") center / contain no-repeat}.cake-icon[data-v-c7367ab5],.school-icon[data-v-c7367ab5],.mind-icon[data-v-c7367ab5]{border-radius:50%}.option-grid[data-v-c7367ab5]{display:grid;gap:8px}.grid-3[data-v-c7367ab5]{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4[data-v-c7367ab5]{grid-template-columns:repeat(4,minmax(0,1fr))}.choice[data-v-c7367ab5]{min-width:0;min-height:40px;padding:8px 4px;border:1px solid #c2c6d4;border-radius:8px;background:rgba(255,255,255,.76);color:#424752;font-size:14px;line-height:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.choice.small[data-v-c7367ab5]{font-size:12px}.choice.mini[data-v-c7367ab5]{font-size:11px}.choice.selected[data-v-c7367ab5]{border-color:#00478d;background:rgba(0,71,141,.1);color:#00478d;font-weight:700}.personality-block[data-v-c7367ab5]{padding-bottom:32px}.bottom-action[data-v-c7367ab5]{position:absolute;left:0;right:0;bottom:0;z-index:3;box-sizing:border-box;padding:32px 20px 20px;background:linear-gradient(180deg,rgba(249,249,255,0),#f9f9ff 38%,#f9f9ff)}.generate-button[data-v-c7367ab5]{width:100%;min-height:56px;border-radius:999px;background:#00478d;box-shadow:0 8px 18px rgba(0,71,141,.22);color:#fff;font-size:14px;line-height:20px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px}.arrow-icon[data-v-c7367ab5]{width:20px;height:20px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat}.toast[data-v-c7367ab5]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-c7367ab5]{opacity:1;transform:translate(-50%)} diff --git a/dist/assets/scenario.CjEHAMEH.js b/dist/assets/scenario.CjEHAMEH.js deleted file mode 100644 index c76e20c..0000000 --- a/dist/assets/scenario.CjEHAMEH.js +++ /dev/null @@ -1 +0,0 @@ -import{d as e,b as a,a as l,c as s,o as t,e as o,f as c,g as n,C as i,w as u,j as d,k as r,t as m,m as p,p as f,F as _,n as v,s as g,u as b,x as h,z as y,y as k,A as C,S as I}from"./index-BcNbz4lX.js";import{_ as j}from"./config-doctor.TgARj_nM.js";import{c as G,C as w}from"./chat.BJUnN6Cc.js";import{c as O}from"./navigation.C2H9AjnS.js";import{_ as S}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=""+new URL("config-hospital-BKoUC35q.png",import.meta.url).href;const x=S(e({__name:"scenario",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:S}){const x=e,P=S,F=O(P),N=a({environment:"outpatient",ageGroup:"youth",education:"higher",personality:"calm"}),z=l([]),A=l({environments:[],ageGroups:[],educations:[],personalities:[]}),U=l(""),$=l(!1),q=l(""),B=l(!1),D=l(!1);let E=null;const H=s((()=>x.caseItem?`${x.caseItem.title}(${x.caseItem.caseNo})`:"未选择病例"));function K(e,a){N[e]=a,U.value=""}function L(){var e;x.caseItem?($.value=!0,(e={...N,caseId:x.caseItem.id,caseNo:x.caseItem.caseNo,mode:"teaching"===x.caseItem.mode?"teaching":"practice",recommendationId:U.value||void 0},G({case_id:1,training_type:"diagnosis_treatment",mode:e.mode,score_type:"percentage",patient_config:{visit_environment:e.environment,age_group:e.ageGroup,education_level:e.education,personality:e.personality}}).then((a=>({id:a.session_code,...e,session:a,createdAt:(new Date).toISOString()})))).then((e=>{g("clinical-thinking-scenario",e),M("模拟场景已生成"),setTimeout((()=>{D.value=!0}),450)})).catch((e=>{M(e instanceof Error?e.message:"模拟场景生成失败")})).finally((()=>{setTimeout((()=>{$.value=!1}),600)}))):M("请先选择病例")}function M(e){E&&clearTimeout(E),q.value=e,B.value=!0,b({title:e,icon:"none"}),E=setTimeout((()=>{B.value=!1}),2200)}return t((function(){Promise.resolve({recommendations:[{id:"typical-outpatient",title:"典型门诊病例",desc:"门诊常规病例:针对初学者设计的标准化沟通流程。",tags:["中年","配合"],defaults:{environment:"outpatient",ageGroup:"middle_aged",education:"higher",personality:"calm"}},{id:"emergency-crisis",title:"急诊重症危机",desc:"急诊危重:急性心梗紧急入院。",tags:["老年","急躁"],defaults:{environment:"emergency",ageGroup:"elderly",education:"secondary",personality:"impatient"}}],options:{environments:[{value:"outpatient",label:"门诊"},{value:"emergency",label:"急诊"},{value:"ward",label:"病房"}],ageGroups:[{value:"child",label:"儿童"},{value:"youth",label:"青年"},{value:"middle_aged",label:"中年"},{value:"elderly",label:"老年"}],educations:[{value:"primary_or_below",label:"小学及以下"},{value:"secondary",label:"中等教育"},{value:"higher",label:"高等教育"}],personalities:[{value:"calm",label:"平和"},{value:"anxious",label:"焦虑"},{value:"impatient",label:"急躁"},{value:"cooperative",label:"配合"},{value:"suspicious",label:"多疑"}]}}).then((e=>{z.value=e.recommendations,A.value=e.options}))})),o((()=>{E&&clearTimeout(E)})),(e,a)=>{const l=h,s=y,t=k,o=C,g=I;return D.value?(c(),n(w,{key:0,"case-item":e.caseItem,onOpenSettings:a[0]||(a[0]=e=>P("open-settings")),onOpenProfile:i(F),onGoHome:a[1]||(a[1]=e=>P("go-home"))},null,8,["case-item","onOpenProfile"])):(c(),n(s,{key:1,class:"scenario-page"},{default:u((()=>[d(s,{class:"scenario-shell"},{default:u((()=>[d(s,{class:"hero"},{default:u((()=>[d(l,{class:"hero-image",src:T,mode:"aspectFill"}),d(s,{class:"hero-fade"})])),_:1}),d(s,{class:"director-row"},{default:u((()=>[d(s,{class:"director-avatar"},{default:u((()=>[d(l,{class:"director-image",src:j,mode:"aspectFit"})])),_:1}),d(s,{class:"speech-bubble"},{default:u((()=>[d(t,null,{default:u((()=>[r("欢迎回来!请根据您的教学目标配置临床场景。")])),_:1})])),_:1})])),_:1}),d(g,{class:"config-scroll","scroll-y":""},{default:u((()=>[d(s,{class:"selected-case"},{default:u((()=>[d(t,{class:"case-label"},{default:u((()=>[r("当前病例")])),_:1}),d(t,{class:"case-title"},{default:u((()=>[r(m(H.value),1)])),_:1})])),_:1}),d(s,{class:"section"},{default:u((()=>[d(s,{class:"section-title"},{default:u((()=>[d(s,{class:"star-icon"}),d(t,null,{default:u((()=>[r("王主任推荐")])),_:1})])),_:1}),d(s,{class:"recommend-list"},{default:u((()=>[(c(!0),p(_,null,f(z.value,(e=>(c(),n(o,{key:e.id,class:v(["recommend-card",{active:U.value===e.id}]),onClick:a=>function(e){U.value=e.id,Object.assign(N,e.defaults)}(e)},{default:u((()=>[d(s,{class:"recommend-head"},{default:u((()=>[d(t,{class:"recommend-icon"},{default:u((()=>[r(m(e.tags[0]),1)])),_:2},1024),d(t,{class:"recommend-title"},{default:u((()=>[r(m(e.title),1)])),_:2},1024)])),_:2},1024),d(t,{class:"recommend-desc"},{default:u((()=>[r(m(e.desc),1)])),_:2},1024),d(s,{class:"tag-row"},{default:u((()=>[(c(!0),p(_,null,f(e.tags,(e=>(c(),n(t,{key:e,class:v(["tag",{danger:"急躁"===e}])},{default:u((()=>[r(m(e),1)])),_:2},1032,["class"])))),128))])),_:2},1024)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),d(s,{class:"section custom-section"},{default:u((()=>[d(s,{class:"section-title"},{default:u((()=>[d(s,{class:"tune-icon"}),d(t,null,{default:u((()=>[r("自定义配置")])),_:1})])),_:1}),d(s,{class:"option-block"},{default:u((()=>[d(s,{class:"option-label"},{default:u((()=>[d(s,{class:"location-icon"}),d(t,null,{default:u((()=>[r("就诊环境")])),_:1})])),_:1}),d(s,{class:"option-grid grid-3"},{default:u((()=>[(c(!0),p(_,null,f(A.value.environments,(e=>(c(),n(o,{key:e.value,class:v(["choice",{selected:N.environment===e.value}]),onClick:a=>K("environment",e.value)},{default:u((()=>[r(m(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),d(s,{class:"option-block"},{default:u((()=>[d(s,{class:"option-label"},{default:u((()=>[d(s,{class:"cake-icon"}),d(t,null,{default:u((()=>[r("年龄段")])),_:1})])),_:1}),d(s,{class:"option-grid grid-4"},{default:u((()=>[(c(!0),p(_,null,f(A.value.ageGroups,(e=>(c(),n(o,{key:e.value,class:v(["choice small",{selected:N.ageGroup===e.value}]),onClick:a=>K("ageGroup",e.value)},{default:u((()=>[r(m(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),d(s,{class:"option-block"},{default:u((()=>[d(s,{class:"option-label"},{default:u((()=>[d(s,{class:"school-icon"}),d(t,null,{default:u((()=>[r("文化程度")])),_:1})])),_:1}),d(s,{class:"option-grid grid-3"},{default:u((()=>[(c(!0),p(_,null,f(A.value.educations,(e=>(c(),n(o,{key:e.value,class:v(["choice mini",{selected:N.education===e.value}]),onClick:a=>K("education",e.value)},{default:u((()=>[r(m(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),d(s,{class:"option-block personality-block"},{default:u((()=>[d(s,{class:"option-label"},{default:u((()=>[d(s,{class:"mind-icon"}),d(t,null,{default:u((()=>[r("性格")])),_:1})])),_:1}),d(s,{class:"option-grid grid-3"},{default:u((()=>[(c(!0),p(_,null,f(A.value.personalities,(e=>(c(),n(o,{key:e.value,class:v(["choice",{selected:N.personality===e.value}]),onClick:a=>K("personality",e.value)},{default:u((()=>[r(m(e.label),1)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1})])),_:1}),d(s,{class:"bottom-action"},{default:u((()=>[d(o,{class:"generate-button",disabled:$.value,onClick:L},{default:u((()=>[d(t,null,{default:u((()=>[r(m($.value?"正在生成...":"生成模拟场景"),1)])),_:1}),d(s,{class:"arrow-icon"})])),_:1},8,["disabled"])])),_:1})])),_:1}),d(s,{class:v(["toast",{visible:B.value}])},{default:u((()=>[r(m(q.value),1)])),_:1},8,["class"])])),_:1}))}}}),[["__scopeId","data-v-c7367ab5"]]),P=Object.freeze(Object.defineProperty({__proto__:null,default:x},Symbol.toStringTag,{value:"Module"}));export{x as S,T as _,P as s}; diff --git a/dist/assets/session.Cc2HEzjU.js b/dist/assets/session.Cc2HEzjU.js new file mode 100644 index 0000000..ae9a253 --- /dev/null +++ b/dist/assets/session.Cc2HEzjU.js @@ -0,0 +1 @@ +import{C as e,s as t}from"./index-CpNRQgjE.js";const n="/fastapi/api/v1";function s(){const t=e("clinical-thinking-access-token");if("string"!=typeof t||!t.trim())throw new Error("登录已过期,请重新登录");return t}function o(e="application/json"){return{"Content-Type":"application/json",Accept:e,Authorization:`Bearer ${s()}`,"X-Entry-Scene":"vue_frontend"}}async function a(e){const t=await e.text().catch((()=>""));if(!t)return`请求失败(${e.status})`;try{const e=JSON.parse(t),n=e.message||e.detail||e.error;if("string"==typeof n&&n.trim())return n}catch{}return t}function r(){const t=e("clinical-thinking-scenario");return t&&"object"==typeof t?t:null}function i(){var e,t;const n=null==(t=null==(e=r())?void 0:e.session)?void 0:t.session_id;if("number"==typeof n&&Number.isInteger(n)&&n>0)return n;throw new Error("未找到当前会话,请先生成模拟场景")}function c(e){const n=r();(null==n?void 0:n.session)&&t("clinical-thinking-scenario",{...n,session:{...n.session,status:e}})}async function f(e){var t;const n=await fetch("/fastapi/api/v1/sessions",{method:"POST",headers:o(),body:JSON.stringify(e)});if(!n.ok)throw new Error(await a(n));const s=await n.json();if("OK"!==s.code||!(null==(t=s.data)?void 0:t.session_id))throw new Error(s.message||"新建会话失败");return s.data}async function d(e){var t;const n=await fetch(`/fastapi/api/v1/sessions/${e}/complete-inquiry`,{method:"POST",headers:o()});if(!n.ok)throw new Error(await a(n));const s=await n.json();if("OK"!==s.code||!(null==(t=s.data)?void 0:t.session_id))throw new Error(s.message||"完成采集失败");return s.data}async function l(e,t,n,s){var r,i,c;const f=await fetch(`/fastapi/api/v1/sessions/${e}/chat/stream`,{method:"POST",headers:o("text/event-stream"),body:JSON.stringify({message:t}),signal:s});if(!f.ok||!f.body)throw new Error(await a(f));const d=f.body.getReader(),l=new TextDecoder;let u="",w=!1;for(;;){const{value:e,done:t}=await d.read();if(t)break;u+=l.decode(e,{stream:!0});const s=u.split("\n\n");u=s.pop()||"";for(const o of s){const e=null==(r=o.match(/^event:\s*(.+)$/m))?void 0:r[1],t=null==(i=o.match(/^data:\s*(.+)$/m))?void 0:i[1];if(!e||!t)continue;const s=JSON.parse(t);if("message_delta"===e){const e=s.delta;"string"==typeof e&&n.onDelta(e)}else if("message_done"===e)w=!0,null==(c=n.onDone)||c.call(n,s);else if("error"===e)throw new Error("string"==typeof s.message?s.message:"AI 流式回复异常")}}if(!w)throw new Error("AI 流式回复未正常结束,请重试")}async function u(e,t,n,s){var r,i,c;const f={last_user_message:t,scope:"current_conversation"},d=await fetch(`/fastapi/api/v1/sessions/${e}/hints/stream`,{method:"POST",headers:o("text/event-stream"),body:JSON.stringify(f),signal:s});if(!d.ok||!d.body)throw new Error(await a(d));const l=d.body.getReader(),u=new TextDecoder;let w="",h=!1;for(;;){const{value:e,done:t}=await l.read();if(t)break;w+=u.decode(e,{stream:!0});const s=w.split("\n\n");w=s.pop()||"";for(const o of s){const e=null==(r=o.match(/^event:\s*(.+)$/m))?void 0:r[1],t=null==(i=o.match(/^data:\s*(.+)$/m))?void 0:i[1];if(!e||!t)continue;const s=JSON.parse(t);if("hint_delta"===e){const e=s.delta;"string"==typeof e&&n.onDelta(e)}else if("hint_done"===e)h=!0,null==(c=n.onDone)||c.call(n,s);else if("error"===e)throw new Error("string"==typeof s.message?s.message:"练习提示生成失败,请稍后重试")}}if(!h)throw new Error("练习提示未正常结束,请重试")}export{n as F,o as a,r as b,f as c,d,u as e,i as f,a as r,l as s,c as u}; diff --git a/dist/assets/teaching-CCwYG8EG.css b/dist/assets/teaching-cSHduCOv.css similarity index 62% rename from dist/assets/teaching-CCwYG8EG.css rename to dist/assets/teaching-cSHduCOv.css index dc96437..3b0c0d7 100644 --- a/dist/assets/teaching-CCwYG8EG.css +++ b/dist/assets/teaching-cSHduCOv.css @@ -1 +1 @@ -uni-page-body[data-v-84f8194f]{min-height:100%;background:#e7e8f0}body[data-v-84f8194f]{background:#e7e8f0}.teaching-page[data-v-84f8194f]{min-height:100vh;background:#e7e8f0;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.teaching-shell[data-v-84f8194f]{position:relative;height:100vh;overflow:hidden;background:#f2f3fb;display:flex;flex-direction:column}.top-nav[data-v-84f8194f]{position:relative;z-index:20;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center}.nav-spacer[data-v-84f8194f]{flex:1}.icon-button[data-v-84f8194f]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.icon-button[data-v-84f8194f]:after{border:0}.icon-button[data-v-84f8194f]:active{background:rgba(25,28,33,.05)}.home-button[data-v-84f8194f]{margin-left:4px}.settings-icon[data-v-84f8194f],.home-icon[data-v-84f8194f],.account-icon[data-v-84f8194f]{background:#424752}.settings-icon[data-v-84f8194f]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-84f8194f]{width:23px;height:23px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-84f8194f]{width:24px;height:24px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.patient-header[data-v-84f8194f]{position:relative;z-index:10;padding:16px 20px;border-bottom:1px solid rgba(194,198,212,.2);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-heading[data-v-84f8194f]{display:block;color:#191c21;font-size:20px;line-height:28px;font-weight:600}.patient-meta[data-v-84f8194f]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;gap:4px 24px;color:#424752;font-size:13px;line-height:20px}.teaching-body[data-v-84f8194f]{flex:1;min-height:0;padding-bottom:40px}.mentor-section[data-v-84f8194f]{padding:24px 20px 0;display:flex;align-items:flex-start;gap:16px}.mentor-profile[data-v-84f8194f]{position:relative;flex:0 0 auto;width:64px;display:flex;flex-direction:column;align-items:center;gap:6px}.mentor-avatar[data-v-84f8194f]{width:64px;height:64px;border:2px solid #ffffff;border-radius:16px;background:#fff;box-shadow:0 4px 12px rgba(0,71,141,.16);overflow:hidden;animation:pulse-border-84f8194f 2s infinite}.mentor-avatar uni-image[data-v-84f8194f]{width:100%;height:100%}.online-dot[data-v-84f8194f]{position:absolute;right:2px;top:50px;width:16px;height:16px;border:2px solid #ffffff;border-radius:50%;background:#22c55e;box-shadow:0 2px 4px rgba(25,28,33,.16)}.mentor-name[data-v-84f8194f]{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.6);color:#191c21;font-size:12px;line-height:18px;font-weight:700}.question-bubble[data-v-84f8194f]{position:relative;flex:1;padding:16px;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(25,28,33,.06);color:#191c21;font-size:16px;line-height:24px}.question-bubble[data-v-84f8194f]:after{content:"";position:absolute;left:-8px;top:24px;width:0;height:0;border-top:8px solid transparent;border-right:8px solid rgba(255,255,255,.72);border-bottom:8px solid transparent}.video-section[data-v-84f8194f]{padding:24px 20px 0;display:flex;flex-direction:column;gap:16px}.video-player[data-v-84f8194f]{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;background:#050816;box-shadow:0 8px 20px rgba(25,28,33,.18);overflow:hidden}.video-poster[data-v-84f8194f]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 58% 42%,rgba(169,199,255,.35),transparent 28%),radial-gradient(circle at 38% 58%,rgba(125,244,255,.22),transparent 34%),linear-gradient(135deg,#081426,#12345f 52%,#07111f)}.video-poster.playing .heart-pulse[data-v-84f8194f]{animation-play-state:running}.heart-visual[data-v-84f8194f]{position:absolute;left:50%;top:50%;width:116px;height:116px;transform:translate(-50%,-50%)}.heart-core[data-v-84f8194f]{position:absolute;left:50%;top:50%;width:72px;height:72px;border-radius:48% 52%;background:linear-gradient(135deg,#ff6b6b,#9f4300);box-shadow:0 0 32px rgba(255,182,145,.55);transform:translate(-50%,-50%) rotate(45deg)}.heart-pulse[data-v-84f8194f]{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(169,199,255,.62);border-radius:50%;animation:video-pulse-84f8194f 1.8s ease-out infinite paused}.pulse-two[data-v-84f8194f]{animation-delay:.75s}.video-overlay[data-v-84f8194f]{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center}.play-button[data-v-84f8194f]{width:64px;height:64px;border-radius:50%;background:rgba(0,71,141,.92);box-shadow:0 8px 18px rgba(0,0,0,.26);display:flex;align-items:center;justify-content:center}.play-button.playing[data-v-84f8194f]{opacity:.78}.play-icon[data-v-84f8194f]{width:34px;height:34px;margin-left:4px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M8%205v14l11-7z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M8%205v14l11-7z'/%3E%3C/svg%3E") center / contain no-repeat}.play-button.playing .play-icon[data-v-84f8194f]{margin-left:0;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%205h4v14H6V5zm8%200h4v14h-4V5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%205h4v14H6V5zm8%200h4v14h-4V5z'/%3E%3C/svg%3E") center / contain no-repeat}.video-progress[data-v-84f8194f]{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(194,198,212,.3)}.video-progress-fill[data-v-84f8194f]{height:100%;background:#00478d;transition:width .24s ease}.video-copy[data-v-84f8194f]{display:flex;flex-direction:column;gap:8px}.video-title[data-v-84f8194f]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.video-desc[data-v-84f8194f]{color:#424752;font-size:14px;line-height:22px}.option-list[data-v-84f8194f]{padding:24px 20px 0;display:flex;flex-direction:column;gap:12px}.option-card[data-v-84f8194f]{box-sizing:border-box;width:100%;min-height:72px;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:16px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(25,28,33,.06);display:flex;align-items:center;text-align:left}.option-card[data-v-84f8194f]:after{border:0}.option-key[data-v-84f8194f]{flex:0 0 auto;width:40px;height:40px;margin-right:16px;border-radius:12px;background:#e1e2ea;color:#424752;font-size:16px;line-height:40px;font-weight:700;text-align:center}.option-text[data-v-84f8194f]{flex:1;min-width:0;color:#191c21;font-size:16px;line-height:24px;font-weight:500}.option-card.selected-wrong[data-v-84f8194f]{border:2px solid #ba1a1a;background:rgba(186,26,26,.05)}.option-card.selected-wrong .option-key[data-v-84f8194f]{background:#ba1a1a;color:#fff}.option-card.selected-wrong .option-text[data-v-84f8194f]{color:#ba1a1a}.option-card.selected-correct[data-v-84f8194f]{border:2px solid #00478d;background:rgba(0,71,141,.07)}.option-card.selected-correct .option-key[data-v-84f8194f]{background:#00478d;color:#fff}.wrong-icon[data-v-84f8194f],.right-icon[data-v-84f8194f]{position:relative;flex:0 0 auto;width:28px;height:28px;margin-left:12px;border-radius:50%}.wrong-icon[data-v-84f8194f]{background:#ba1a1a}.wrong-icon[data-v-84f8194f]:before,.wrong-icon[data-v-84f8194f]:after{content:"";position:absolute;left:7px;top:13px;width:14px;height:2px;border-radius:999px;background:#fff}.wrong-icon[data-v-84f8194f]:before{transform:rotate(45deg)}.wrong-icon[data-v-84f8194f]:after{transform:rotate(-45deg)}.right-icon[data-v-84f8194f]{background:#00478d}.right-icon[data-v-84f8194f]:after{content:"";position:absolute;left:9px;top:6px;width:7px;height:13px;border-right:3px solid #ffffff;border-bottom:3px solid #ffffff;transform:rotate(45deg)}.analysis-card[data-v-84f8194f]{margin:24px 20px 16px;padding:24px;border-left:6px solid #00478d;border-radius:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(25,28,33,.1)}.analysis-title[data-v-84f8194f]{margin-bottom:16px;display:flex;align-items:center;gap:8px;color:#00478d;font-size:20px;line-height:28px;font-weight:600}.bulb-icon[data-v-84f8194f]{width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2021h6v-1.5H9V21zm3-19a7%207%200%200%200-4%2012.74V17c0%20.55.45%201%201%201h6c.55%200%201-.45%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1-.85.6V16h-4v-2.3l-.85-.6A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2021h6v-1.5H9V21zm3-19a7%207%200%200%200-4%2012.74V17c0%20.55.45%201%201%201h6c.55%200%201-.45%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1-.85.6V16h-4v-2.3l-.85-.6A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E") center / contain no-repeat}.analysis-content[data-v-84f8194f]{display:flex;flex-direction:column;gap:16px}.analysis-main[data-v-84f8194f]{color:#191c21;font-size:16px;line-height:25px}.analysis-divider[data-v-84f8194f]{height:1px;background:rgba(194,198,212,.2)}.analysis-note[data-v-84f8194f]{color:#424752;font-size:14px;line-height:22px;font-style:italic}.bottom-actions[data-v-84f8194f]{padding:0 20px 40px;display:flex;flex-direction:column;gap:12px}.video-button[data-v-84f8194f],.next-button[data-v-84f8194f]{box-sizing:border-box;width:100%;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;line-height:24px;font-weight:700;transition:transform .18s ease,opacity .18s ease}.video-button[data-v-84f8194f]:after,.next-button[data-v-84f8194f]:after{border:0}.video-button[data-v-84f8194f]:active,.next-button[data-v-84f8194f]:active{transform:scale(.98)}.video-button[data-v-84f8194f]{border:2px solid rgba(0,71,141,.2);background:rgba(255,255,255,.86);color:#00478d}.next-button[data-v-84f8194f]{border:0;background:#00478d;box-shadow:0 4px 12px rgba(0,71,141,.22);color:#fff}.video-icon[data-v-84f8194f],.next-icon[data-v-84f8194f]{flex:0 0 auto;width:22px;height:22px;background:currentColor}.video-icon[data-v-84f8194f]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M17%2010.5V6c0-.55-.45-1-1-1H4c-.55%200-1%20.45-1%201v12c0%20.55.45%201%201%201h12c.55%200%201-.45%201-1v-4.5l4%204v-11l-4%204zM15%2017H5V7h10v10z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M17%2010.5V6c0-.55-.45-1-1-1H4c-.55%200-1%20.45-1%201v12c0%20.55.45%201%201%201h12c.55%200%201-.45%201-1v-4.5l4%204v-11l-4%204zM15%2017H5V7h10v10z'/%3E%3C/svg%3E") center / contain no-repeat}.next-icon[data-v-84f8194f]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E") center / contain no-repeat;transform:rotate(180deg)}@keyframes pulse-border-84f8194f{0%{box-shadow:0 0 rgba(0,71,141,.4)}70%{box-shadow:0 0 0 10px rgba(0,71,141,0)}to{box-shadow:0 0 rgba(0,71,141,0)}}@keyframes video-pulse-84f8194f{0%{opacity:.78;transform:scale(.64)}to{opacity:0;transform:scale(1.16)}} +uni-page-body[data-v-1490e7d9]{min-height:100%;background:#e7e8f0}body[data-v-1490e7d9]{background:#e7e8f0}.teaching-page[data-v-1490e7d9]{min-height:100vh;background:#e7e8f0;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.teaching-shell[data-v-1490e7d9]{position:relative;height:100vh;overflow:hidden;background:#f2f3fb;display:flex;flex-direction:column}.top-nav[data-v-1490e7d9]{position:relative;z-index:20;box-sizing:border-box;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center}.nav-spacer[data-v-1490e7d9]{flex:1}.icon-button[data-v-1490e7d9]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center}.icon-button[data-v-1490e7d9]:after{border:0}.icon-button[data-v-1490e7d9]:active{background:rgba(25,28,33,.05)}.home-button[data-v-1490e7d9]{margin-left:4px}.settings-icon[data-v-1490e7d9],.home-icon[data-v-1490e7d9],.account-icon[data-v-1490e7d9]{background:#424752}.settings-icon[data-v-1490e7d9]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-1490e7d9]{width:23px;height:23px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-1490e7d9]{width:24px;height:24px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.patient-header[data-v-1490e7d9]{position:relative;z-index:10;padding:16px 20px;border-bottom:1px solid rgba(194,198,212,.2);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-heading[data-v-1490e7d9]{display:block;color:#191c21;font-size:20px;line-height:28px;font-weight:600}.patient-meta[data-v-1490e7d9]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;gap:4px 24px;color:#424752;font-size:13px;line-height:20px}.teaching-body[data-v-1490e7d9]{flex:1;min-height:0;padding-bottom:40px}.mentor-section[data-v-1490e7d9]{padding:24px 20px 0;display:flex;align-items:flex-start;gap:16px}.mentor-profile[data-v-1490e7d9]{position:relative;flex:0 0 auto;width:64px;display:flex;flex-direction:column;align-items:center;gap:6px}.mentor-avatar[data-v-1490e7d9]{width:64px;height:64px;border:2px solid #ffffff;border-radius:16px;background:#fff;box-shadow:0 4px 12px rgba(0,71,141,.16);overflow:hidden;animation:pulse-border-1490e7d9 2s infinite}.mentor-avatar uni-image[data-v-1490e7d9]{width:100%;height:100%}.online-dot[data-v-1490e7d9]{position:absolute;right:2px;top:50px;width:16px;height:16px;border:2px solid #ffffff;border-radius:50%;background:#22c55e;box-shadow:0 2px 4px rgba(25,28,33,.16)}.mentor-name[data-v-1490e7d9]{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.6);color:#191c21;font-size:12px;line-height:18px;font-weight:700}.question-bubble[data-v-1490e7d9]{position:relative;flex:1;padding:16px;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(25,28,33,.06);color:#191c21;font-size:16px;line-height:24px}.question-bubble[data-v-1490e7d9]:after{content:"";position:absolute;left:-8px;top:24px;width:0;height:0;border-top:8px solid transparent;border-right:8px solid rgba(255,255,255,.72);border-bottom:8px solid transparent}.video-section[data-v-1490e7d9]{padding:24px 20px 0;display:flex;flex-direction:column;gap:16px}.video-player[data-v-1490e7d9]{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;background:#050816;box-shadow:0 8px 20px rgba(25,28,33,.18);overflow:hidden}.video-poster[data-v-1490e7d9]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 58% 42%,rgba(169,199,255,.35),transparent 28%),radial-gradient(circle at 38% 58%,rgba(125,244,255,.22),transparent 34%),linear-gradient(135deg,#081426,#12345f 52%,#07111f)}.video-poster.playing .heart-pulse[data-v-1490e7d9]{animation-play-state:running}.heart-visual[data-v-1490e7d9]{position:absolute;left:50%;top:50%;width:116px;height:116px;transform:translate(-50%,-50%)}.heart-core[data-v-1490e7d9]{position:absolute;left:50%;top:50%;width:72px;height:72px;border-radius:48% 52%;background:linear-gradient(135deg,#ff6b6b,#9f4300);box-shadow:0 0 32px rgba(255,182,145,.55);transform:translate(-50%,-50%) rotate(45deg)}.heart-pulse[data-v-1490e7d9]{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(169,199,255,.62);border-radius:50%;animation:video-pulse-1490e7d9 1.8s ease-out infinite paused}.pulse-two[data-v-1490e7d9]{animation-delay:.75s}.video-overlay[data-v-1490e7d9]{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center}.play-button[data-v-1490e7d9]{width:64px;height:64px;border-radius:50%;background:rgba(0,71,141,.92);box-shadow:0 8px 18px rgba(0,0,0,.26);display:flex;align-items:center;justify-content:center}.play-button.playing[data-v-1490e7d9]{opacity:.78}.play-icon[data-v-1490e7d9]{width:34px;height:34px;margin-left:4px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M8%205v14l11-7z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M8%205v14l11-7z'/%3E%3C/svg%3E") center / contain no-repeat}.play-button.playing .play-icon[data-v-1490e7d9]{margin-left:0;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%205h4v14H6V5zm8%200h4v14h-4V5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M6%205h4v14H6V5zm8%200h4v14h-4V5z'/%3E%3C/svg%3E") center / contain no-repeat}.video-progress[data-v-1490e7d9]{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(194,198,212,.3)}.video-progress-fill[data-v-1490e7d9]{height:100%;background:#00478d;transition:width .24s ease}.video-copy[data-v-1490e7d9]{display:flex;flex-direction:column;gap:8px}.video-title[data-v-1490e7d9]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.video-desc[data-v-1490e7d9]{color:#424752;font-size:14px;line-height:22px}.option-list[data-v-1490e7d9]{padding:24px 20px 0;display:flex;flex-direction:column;gap:12px}.option-card[data-v-1490e7d9]{box-sizing:border-box;width:100%;min-height:72px;padding:16px;border:1px solid rgba(194,198,212,.3);border-radius:16px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(25,28,33,.06);display:flex;align-items:center;text-align:left}.option-card[data-v-1490e7d9]:after{border:0}.option-key[data-v-1490e7d9]{flex:0 0 auto;width:40px;height:40px;margin-right:16px;border-radius:12px;background:#e1e2ea;color:#424752;font-size:16px;line-height:40px;font-weight:700;text-align:center}.option-text[data-v-1490e7d9]{flex:1;min-width:0;color:#191c21;font-size:16px;line-height:24px;font-weight:500}.option-card.selected-wrong[data-v-1490e7d9]{border:2px solid #ba1a1a;background:rgba(186,26,26,.05)}.option-card.selected-wrong .option-key[data-v-1490e7d9]{background:#ba1a1a;color:#fff}.option-card.selected-wrong .option-text[data-v-1490e7d9]{color:#ba1a1a}.option-card.selected-correct[data-v-1490e7d9]{border:2px solid #00478d;background:rgba(0,71,141,.07)}.option-card.selected-correct .option-key[data-v-1490e7d9]{background:#00478d;color:#fff}.wrong-icon[data-v-1490e7d9],.right-icon[data-v-1490e7d9]{position:relative;flex:0 0 auto;width:28px;height:28px;margin-left:12px;border-radius:50%}.wrong-icon[data-v-1490e7d9]{background:#ba1a1a}.wrong-icon[data-v-1490e7d9]:before,.wrong-icon[data-v-1490e7d9]:after{content:"";position:absolute;left:7px;top:13px;width:14px;height:2px;border-radius:999px;background:#fff}.wrong-icon[data-v-1490e7d9]:before{transform:rotate(45deg)}.wrong-icon[data-v-1490e7d9]:after{transform:rotate(-45deg)}.right-icon[data-v-1490e7d9]{background:#00478d}.right-icon[data-v-1490e7d9]:after{content:"";position:absolute;left:9px;top:6px;width:7px;height:13px;border-right:3px solid #ffffff;border-bottom:3px solid #ffffff;transform:rotate(45deg)}.analysis-card[data-v-1490e7d9]{margin:24px 20px 16px;padding:24px;border-left:6px solid #00478d;border-radius:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(25,28,33,.1)}.analysis-title[data-v-1490e7d9]{margin-bottom:16px;display:flex;align-items:center;gap:8px;color:#00478d;font-size:20px;line-height:28px;font-weight:600}.bulb-icon[data-v-1490e7d9]{width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2021h6v-1.5H9V21zm3-19a7%207%200%200%200-4%2012.74V17c0%20.55.45%201%201%201h6c.55%200%201-.45%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1-.85.6V16h-4v-2.3l-.85-.6A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2021h6v-1.5H9V21zm3-19a7%207%200%200%200-4%2012.74V17c0%20.55.45%201%201%201h6c.55%200%201-.45%201-1v-2.26A7%207%200%200%200%2012%202zm2.85%2011.1-.85.6V16h-4v-2.3l-.85-.6A5%205%200%201%201%2014.85%2013.1z'/%3E%3C/svg%3E") center / contain no-repeat}.analysis-content[data-v-1490e7d9]{display:flex;flex-direction:column;gap:16px}.analysis-main[data-v-1490e7d9]{color:#191c21;font-size:16px;line-height:25px}.analysis-divider[data-v-1490e7d9]{height:1px;background:rgba(194,198,212,.2)}.analysis-note[data-v-1490e7d9]{color:#424752;font-size:14px;line-height:22px;font-style:italic}.bottom-actions[data-v-1490e7d9]{padding:0 20px 40px;display:flex;flex-direction:column;gap:12px}.video-button[data-v-1490e7d9],.next-button[data-v-1490e7d9]{box-sizing:border-box;width:100%;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;line-height:24px;font-weight:700;transition:transform .18s ease,opacity .18s ease}.video-button[data-v-1490e7d9]:after,.next-button[data-v-1490e7d9]:after{border:0}.video-button[data-v-1490e7d9]:active,.next-button[data-v-1490e7d9]:active{transform:scale(.98)}.video-button[data-v-1490e7d9]{border:2px solid rgba(0,71,141,.2);background:rgba(255,255,255,.86);color:#00478d}.next-button[data-v-1490e7d9]{border:0;background:#00478d;box-shadow:0 4px 12px rgba(0,71,141,.22);color:#fff}.video-icon[data-v-1490e7d9],.next-icon[data-v-1490e7d9]{flex:0 0 auto;width:22px;height:22px;background:currentColor}.video-icon[data-v-1490e7d9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M17%2010.5V6c0-.55-.45-1-1-1H4c-.55%200-1%20.45-1%201v12c0%20.55.45%201%201%201h12c.55%200%201-.45%201-1v-4.5l4%204v-11l-4%204zM15%2017H5V7h10v10z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M17%2010.5V6c0-.55-.45-1-1-1H4c-.55%200-1%20.45-1%201v12c0%20.55.45%201%201%201h12c.55%200%201-.45%201-1v-4.5l4%204v-11l-4%204zM15%2017H5V7h10v10z'/%3E%3C/svg%3E") center / contain no-repeat}.next-icon[data-v-1490e7d9]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%204l1.41%201.41L8.83%2010H20v2H8.83l4.58%204.59L12%2018l-7-7%207-7z'/%3E%3C/svg%3E") center / contain no-repeat;transform:rotate(180deg)}@keyframes pulse-border-1490e7d9{0%{box-shadow:0 0 rgba(0,71,141,.4)}70%{box-shadow:0 0 0 10px rgba(0,71,141,0)}to{box-shadow:0 0 rgba(0,71,141,0)}}@keyframes video-pulse-1490e7d9{0%{opacity:.78;transform:scale(.64)}to{opacity:0;transform:scale(1.16)}} diff --git a/dist/assets/treatment-C2Wi3XDZ.css b/dist/assets/treatment-C2Wi3XDZ.css new file mode 100644 index 0000000..cc345c4 --- /dev/null +++ b/dist/assets/treatment-C2Wi3XDZ.css @@ -0,0 +1 @@ +uni-page-body[data-v-e1486ff5]{min-height:100%;background:#f9f9ff}body[data-v-e1486ff5]{background:#f9f9ff}.treatment-page[data-v-e1486ff5]{width:390px;max-width:100vw;height:884px;min-height:884px;margin:0 auto;overflow-x:hidden;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.treatment-page uni-view[data-v-e1486ff5],.treatment-page uni-text[data-v-e1486ff5],.treatment-page uni-button[data-v-e1486ff5],.treatment-page uni-input[data-v-e1486ff5],.treatment-page uni-textarea[data-v-e1486ff5]{box-sizing:border-box}.treatment-shell[data-v-e1486ff5]{position:relative;width:390px;max-width:100vw;height:884px;min-height:884px;background:#f9f9ff;overflow-x:hidden;overflow-y:auto}.top-nav[data-v-e1486ff5]{position:fixed;left:0;right:0;top:0;z-index:50;width:100%;max-width:100vw;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.nav-spacer[data-v-e1486ff5]{flex:1}.icon-button[data-v-e1486ff5]{width:40px;height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;line-height:1;display:flex;align-items:center;justify-content:center}.home-button[data-v-e1486ff5]{margin-left:4px}.icon-button[data-v-e1486ff5]:after,.next-button[data-v-e1486ff5]:after{border:0}.settings-icon[data-v-e1486ff5],.home-icon[data-v-e1486ff5],.account-icon[data-v-e1486ff5],.check-icon[data-v-e1486ff5],.pill-icon[data-v-e1486ff5],.priority-icon[data-v-e1486ff5],.checklist-icon[data-v-e1486ff5],.description-icon[data-v-e1486ff5],.arrow-icon[data-v-e1486ff5],.check-small-icon[data-v-e1486ff5]{background:#424752}.settings-icon[data-v-e1486ff5]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-e1486ff5],.account-icon[data-v-e1486ff5]{width:24px;height:24px}.home-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-header[data-v-e1486ff5]{margin-top:56px;padding:16px 20px;background:#f9f9ff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-heading[data-v-e1486ff5]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.patient-meta[data-v-e1486ff5]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;-moz-column-gap:24px;column-gap:24px;row-gap:4px;color:#424752;font-size:13px;line-height:20px}.treatment-content[data-v-e1486ff5]{box-sizing:border-box;padding:24px 20px 32px;display:flex;flex-direction:column;gap:24px}.stepper[data-v-e1486ff5]{position:relative;padding:8px 0;display:flex;align-items:center;justify-content:space-between}.step-line[data-v-e1486ff5]{position:absolute;left:40px;right:40px;top:20px;height:4px;background:#e1e2ea;z-index:0}.step-line-active[data-v-e1486ff5]{width:100%;height:100%;background:#00478d}.step[data-v-e1486ff5]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#727783;font-size:12px;line-height:16px;font-weight:500}.step.active[data-v-e1486ff5]{color:#00478d;font-weight:700}.step.done[data-v-e1486ff5]{color:#006970}.step-dot[data-v-e1486ff5]{width:32px;height:32px;border-radius:50%;background:#e1e2ea;display:flex;align-items:center;justify-content:center}.step.active .step-dot[data-v-e1486ff5]{width:40px;height:40px;border:4px solid #d6e3ff;background:#00478d;box-shadow:0 0 0 2px #00478d}.step.done .step-dot[data-v-e1486ff5]{background:#006970}.check-icon[data-v-e1486ff5],.pill-icon[data-v-e1486ff5]{width:18px;height:18px;background:currentColor}.step.done .check-icon[data-v-e1486ff5],.step.active .pill-icon[data-v-e1486ff5]{background:#fff}.check-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.pill-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat}.mentor-card[data-v-e1486ff5]{padding:12px;border:1px solid rgba(0,71,141,.1);border-radius:12px;background:rgba(0,71,141,.05);display:flex;align-items:flex-start;gap:12px}.mentor-avatar[data-v-e1486ff5]{flex:0 0 auto;width:48px;height:48px;border:1px solid rgba(0,71,141,.2);border-radius:50%;overflow:hidden}.mentor-avatar uni-image[data-v-e1486ff5]{width:100%;height:100%}.mentor-bubble[data-v-e1486ff5]{flex:1;padding:12px;border:1px solid rgba(194,198,212,.3);border-radius:0 8px 8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);color:#191c21;font-size:14px;line-height:20px}.form-area[data-v-e1486ff5]{display:flex;flex-direction:column;gap:20px}.field-block[data-v-e1486ff5]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-e1486ff5]{display:flex;align-items:center;gap:4px;color:#424752;font-size:14px;line-height:20px;font-weight:600}.field-label.primary[data-v-e1486ff5]{color:#00478d}.priority-icon[data-v-e1486ff5],.checklist-icon[data-v-e1486ff5],.description-icon[data-v-e1486ff5]{width:16px;height:16px;background:currentColor}.priority-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.checklist-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat}.description-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat}.treatment-input[data-v-e1486ff5],.measure-input[data-v-e1486ff5],.order-input[data-v-e1486ff5]{box-sizing:border-box;width:100%;border:1px solid #c2c6d4;border-radius:8px;background:#fff;color:#191c21;font-size:16px;line-height:24px}.input-wrap[data-v-e1486ff5]{position:relative}.treatment-input[data-v-e1486ff5]{height:56px;padding:0 16px}.measure-list[data-v-e1486ff5]{display:flex;flex-direction:column;gap:8px}.measure-row[data-v-e1486ff5]{display:flex;align-items:center;gap:8px}.measure-index[data-v-e1486ff5]{flex:0 0 auto;width:24px;height:24px;border-radius:4px;background:#e7e8f0;color:#424752;font-size:12px;line-height:24px;font-weight:600;text-align:center}.measure-input[data-v-e1486ff5]{flex:1;height:40px;padding:0 12px;font-size:14px;line-height:20px}.order-input[data-v-e1486ff5]{height:116px;padding:14px 16px;font-size:14px;line-height:20px}.input-placeholder[data-v-e1486ff5]{color:#c2c6d4}.next-button[data-v-e1486ff5]{width:100%;min-height:56px;margin-top:8px;padding:0;border:0;border-radius:999px;background:#00478d;box-shadow:0 8px 18px rgba(0,71,141,.22);color:#fff;font-size:16px;line-height:24px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.next-button.submitted[data-v-e1486ff5]{background:#006970}.arrow-icon[data-v-e1486ff5],.check-small-icon[data-v-e1486ff5]{width:20px;height:20px;background:#fff}.arrow-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat}.check-small-icon[data-v-e1486ff5]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.spinner[data-v-e1486ff5]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-e1486ff5 1s linear infinite}.toast[data-v-e1486ff5]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-e1486ff5]{opacity:1;transform:translate(-50%)}@keyframes spin-e1486ff5{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/dist/assets/treatment-DnRfm2DZ.css b/dist/assets/treatment-DnRfm2DZ.css deleted file mode 100644 index 22a142f..0000000 --- a/dist/assets/treatment-DnRfm2DZ.css +++ /dev/null @@ -1 +0,0 @@ -uni-page-body[data-v-4c8e633d]{min-height:100%;background:#f9f9ff}body[data-v-4c8e633d]{background:#f9f9ff}.treatment-page[data-v-4c8e633d]{width:390px;max-width:100vw;height:884px;min-height:884px;margin:0 auto;overflow-x:hidden;background:#f9f9ff;color:#191c21;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}.treatment-page uni-view[data-v-4c8e633d],.treatment-page uni-text[data-v-4c8e633d],.treatment-page uni-button[data-v-4c8e633d],.treatment-page uni-input[data-v-4c8e633d],.treatment-page uni-textarea[data-v-4c8e633d]{box-sizing:border-box}.treatment-shell[data-v-4c8e633d]{position:relative;width:390px;max-width:100vw;height:884px;min-height:884px;background:#f9f9ff;overflow-x:hidden}.top-nav[data-v-4c8e633d]{position:fixed;left:0;right:0;top:0;z-index:50;width:100%;max-width:100vw;height:56px;padding:0 20px;border-bottom:1px solid rgba(194,198,212,.3);background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);display:flex;align-items:center}.nav-spacer[data-v-4c8e633d]{flex:1}.icon-button[data-v-4c8e633d]{width:40px;height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;line-height:1;display:flex;align-items:center;justify-content:center}.home-button[data-v-4c8e633d]{margin-left:4px}.icon-button[data-v-4c8e633d]:after,.next-button[data-v-4c8e633d]:after{border:0}.settings-icon[data-v-4c8e633d],.home-icon[data-v-4c8e633d],.account-icon[data-v-4c8e633d],.check-icon[data-v-4c8e633d],.pill-icon[data-v-4c8e633d],.priority-icon[data-v-4c8e633d],.checklist-icon[data-v-4c8e633d],.description-icon[data-v-4c8e633d],.arrow-icon[data-v-4c8e633d],.check-small-icon[data-v-4c8e633d]{background:#424752}.settings-icon[data-v-4c8e633d]{width:22px;height:22px;-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M19.43%2012.98c.04-.32.07-.65.07-.98s-.02-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.37-.31-.6-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98L14.5%202.42C14.47%202.18%2014.25%202%2014%202h-4c-.25%200-.46.18-.5.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.08-.48%200-.6.22l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.08.65-.08.98s.03.66.08.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46c.12.22.37.31.6.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.04.24.25.42.5.42h4c.25%200%20.46-.18.5-.42l.38-2.65c.61-.25%201.17-.58%201.69-.98l2.49%201c.23.08.48%200%20.6-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12%2015.5A3.5%203.5%200%201%201%2012%208a3.5%203.5%200%200%201%200%207.5z'/%3E%3C/svg%3E") center / contain no-repeat}.home-icon[data-v-4c8e633d],.account-icon[data-v-4c8e633d]{width:24px;height:24px}.home-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2020v-6h4v6h5v-8h3L12%203%202%2012h3v8h5z'/%3E%3C/svg%3E") center / contain no-repeat}.account-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm0%203a3.5%203.5%200%201%201%200%207%203.5%203.5%200%200%201%200-7zm0%2015a8%208%200%200%201-6.4-3.2c1.18-2.02%203.57-3.3%206.4-3.3s5.22%201.28%206.4%203.3A8%208%200%200%201%2012%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.case-header[data-v-4c8e633d]{margin-top:56px;padding:16px 20px;background:#f9f9ff;box-shadow:0 2px 8px rgba(25,28,33,.04)}.case-heading[data-v-4c8e633d]{color:#191c21;font-size:20px;line-height:28px;font-weight:600}.patient-meta[data-v-4c8e633d]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(194,198,212,.3);display:flex;flex-wrap:wrap;-moz-column-gap:24px;column-gap:24px;row-gap:4px;color:#424752;font-size:13px;line-height:20px}.treatment-content[data-v-4c8e633d]{box-sizing:border-box;padding:24px 20px 32px;display:flex;flex-direction:column;gap:24px}.stepper[data-v-4c8e633d]{position:relative;padding:8px 0;display:flex;align-items:center;justify-content:space-between}.step-line[data-v-4c8e633d]{position:absolute;left:40px;right:40px;top:20px;height:4px;background:#e1e2ea;z-index:0}.step-line-active[data-v-4c8e633d]{width:100%;height:100%;background:#00478d}.step[data-v-4c8e633d]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#727783;font-size:12px;line-height:16px;font-weight:500}.step.active[data-v-4c8e633d]{color:#00478d;font-weight:700}.step.done[data-v-4c8e633d]{color:#006970}.step-dot[data-v-4c8e633d]{width:32px;height:32px;border-radius:50%;background:#e1e2ea;display:flex;align-items:center;justify-content:center}.step.active .step-dot[data-v-4c8e633d]{width:40px;height:40px;border:4px solid #d6e3ff;background:#00478d;box-shadow:0 0 0 2px #00478d}.step.done .step-dot[data-v-4c8e633d]{background:#006970}.check-icon[data-v-4c8e633d],.pill-icon[data-v-4c8e633d]{width:18px;height:18px;background:currentColor}.step.done .check-icon[data-v-4c8e633d],.step.active .pill-icon[data-v-4c8e633d]{background:#fff}.check-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2%204.8%2012l-1.4%201.4L9%2019%2021%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.pill-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m4.22%2019.78-.01-.01a5.5%205.5%200%200%201%200-7.78L12%204.22a5.5%205.5%200%200%201%207.78%207.78L12%2019.78a5.5%205.5%200%200%201-7.78%200zM13.41%205.64%2010%209.05%2014.95%2014%2018.36%2010.59a3.5%203.5%200%200%200-4.95-4.95zM5.64%2013.41a3.5%203.5%200%200%200%204.95%204.95L14%2014.95%209.05%2010%205.64%2013.41z'/%3E%3C/svg%3E") center / contain no-repeat}.mentor-card[data-v-4c8e633d]{padding:12px;border:1px solid rgba(0,71,141,.1);border-radius:12px;background:rgba(0,71,141,.05);display:flex;align-items:flex-start;gap:12px}.mentor-avatar[data-v-4c8e633d]{flex:0 0 auto;width:48px;height:48px;border:1px solid rgba(0,71,141,.2);border-radius:50%;overflow:hidden}.mentor-avatar uni-image[data-v-4c8e633d]{width:100%;height:100%}.mentor-bubble[data-v-4c8e633d]{flex:1;padding:12px;border:1px solid rgba(194,198,212,.3);border-radius:0 8px 8px;background:#fff;box-shadow:0 2px 8px rgba(25,28,33,.04);color:#191c21;font-size:14px;line-height:20px}.form-area[data-v-4c8e633d]{display:flex;flex-direction:column;gap:20px}.field-block[data-v-4c8e633d]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-4c8e633d]{display:flex;align-items:center;gap:4px;color:#424752;font-size:14px;line-height:20px;font-weight:600}.field-label.primary[data-v-4c8e633d]{color:#00478d}.priority-icon[data-v-4c8e633d],.checklist-icon[data-v-4c8e633d],.description-icon[data-v-4c8e633d]{width:16px;height:16px;background:currentColor}.priority-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11%2018h2v-2h-2v2zm0-4h2V6h-2v8zm1%208a10%2010%200%201%201%200-20%2010%2010%200%200%201%200%2020z'/%3E%3C/svg%3E") center / contain no-repeat}.checklist-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M10%2017h10v-2H10v2zm0-4h10v-2H10v2zm0-6v2h10V7H10zM4%207h4v4H4V7zm1%201v2h2V8H5zm-1%205h4v4H4v-4zm1%201v2h2v-2H5z'/%3E%3C/svg%3E") center / contain no-repeat}.description-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8l-6-6zm-1%207V3.5L18.5%209H13zm-5%204h8v2H8v-2zm0%204h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat}.treatment-input[data-v-4c8e633d],.measure-input[data-v-4c8e633d],.order-input[data-v-4c8e633d]{box-sizing:border-box;width:100%;border:1px solid #c2c6d4;border-radius:8px;background:#fff;color:#191c21;font-size:16px;line-height:24px}.input-wrap[data-v-4c8e633d]{position:relative}.treatment-input[data-v-4c8e633d]{height:56px;padding:0 16px}.measure-list[data-v-4c8e633d]{display:flex;flex-direction:column;gap:8px}.measure-row[data-v-4c8e633d]{display:flex;align-items:center;gap:8px}.measure-index[data-v-4c8e633d]{flex:0 0 auto;width:24px;height:24px;border-radius:4px;background:#e7e8f0;color:#424752;font-size:12px;line-height:24px;font-weight:600;text-align:center}.measure-input[data-v-4c8e633d]{flex:1;height:40px;padding:0 12px;font-size:14px;line-height:20px}.order-input[data-v-4c8e633d]{height:116px;padding:14px 16px;font-size:14px;line-height:20px}.input-placeholder[data-v-4c8e633d]{color:#c2c6d4}.next-button[data-v-4c8e633d]{width:100%;min-height:56px;margin-top:8px;padding:0;border:0;border-radius:999px;background:#00478d;box-shadow:0 8px 18px rgba(0,71,141,.22);color:#fff;font-size:16px;line-height:24px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.next-button.submitted[data-v-4c8e633d]{background:#006970}.arrow-icon[data-v-4c8e633d],.check-small-icon[data-v-4c8e633d]{width:20px;height:20px;background:#fff}.arrow-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m12%204-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8-8-8z'/%3E%3C/svg%3E") center / contain no-repeat}.check-small-icon[data-v-4c8e633d]{-webkit-mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M9%2016.2 4.8%2012l-1.4%201.4L9%2019 21%207l-1.4-1.4L9%2016.2z'/%3E%3C/svg%3E") center / contain no-repeat}.spinner[data-v-4c8e633d]{width:20px;height:20px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:spin-4c8e633d 1s linear infinite}.toast[data-v-4c8e633d]{position:fixed;left:50%;bottom:96px;z-index:100;max-width:320px;padding:12px 24px;border-radius:999px;background:#2e3037;color:#eff0f8;font-size:14px;line-height:20px;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,16px);transition:opacity .3s ease,transform .3s ease}.toast.visible[data-v-4c8e633d]{opacity:1;transform:translate(-50%)}@keyframes spin-4c8e633d{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/dist/index.html b/dist/index.html index 34aca08..fbd8a3b 100644 --- a/dist/index.html +++ b/dist/index.html @@ -14,7 +14,7 @@ AI思维临床训练 - + diff --git a/pages/assessment/assessment.vue b/pages/assessment/assessment.vue index 3b08263..4738e90 100644 --- a/pages/assessment/assessment.vue +++ b/pages/assessment/assessment.vue @@ -41,7 +41,7 @@ 本次考核评价:{{ report.level }} - 表现已达到临床住院医师中高级水平。需在复杂病例鉴别诊断上精进。 + {{ report.overallComment }} @@ -84,10 +84,10 @@ > {{ item.label }} - {{ item.score }}% + {{ item.displayScore }} - + {{ item.analysis }} @@ -107,7 +107,7 @@ - "你在病史采集环节表现出了非常好的逻辑性和条理性。不过,在鉴别诊断方面仍有提升空间。继续保持这种严谨态度。" + {{ mentorComment }}