diff --git a/packages/client/src/views/hermes/JourneyView.vue b/packages/client/src/views/hermes/JourneyView.vue index 92e85dd..8d869a8 100644 --- a/packages/client/src/views/hermes/JourneyView.vue +++ b/packages/client/src/views/hermes/JourneyView.vue @@ -3,7 +3,6 @@ import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue' import { useMessage } from '@/composables/useMessage' import { useI18n } from 'vue-i18n' import { fetchJourneyGraph, type JourneyGraphResponse, type JourneyMemory, type JourneyNode } from '@/api/hermes/journey' -import { useTheme } from '@/composables/useTheme' interface SceneNode extends JourneyNode { x: number @@ -40,7 +39,6 @@ const MAX_ZOOM = 2.4 const { t } = useI18n() const message = useMessage() -const { isDark } = useTheme() const data = ref(null) const loading = ref(false) @@ -284,13 +282,12 @@ function drawEdges(projectedById: Map, activeId: string, const active = !!activeId && (edge.source === activeId || edge.target === activeId) const categoryActive = !!hoverCategory.value && (source.category === hoverCategory.value || target.category === hoverCategory.value) const nearby = activeNeighbors.has(edge.source) || activeNeighbors.has(edge.target) - const alpha = active ? 0.62 + pulse * 0.28 : categoryActive ? 0.46 : nearby ? 0.4 : isDark.value ? 0.1 : 0.22 - ctx.lineWidth = isDark.value ? 1 : 1.15 + const alpha = active ? 0.62 + pulse * 0.28 : categoryActive ? 0.46 : nearby ? 0.4 : 0.1 + ctx.lineWidth = 1 ctx.shadowColor = 'transparent' ctx.shadowBlur = 0 - ctx.strokeStyle = isDark.value - ? `rgba(180, 210, 255, ${alpha})` - : `rgba(42, 58, 78, ${alpha})` + // 青色系与全站强调色一致;亮度差异由 alpha 控制,不换色相。 + ctx.strokeStyle = `rgba(45, 212, 191, ${alpha})` const curve = edgeCurve(source, target, `${edge.source}:${edge.target}`) drawCurvedEdge(source, target, curve) if (active) drawPulseEdge(source, target, curve, pulse, now) @@ -326,8 +323,8 @@ function drawPulseEdge(source: ProjectedNode, target: ProjectedNode, curve: { cx const head = (now * 0.0018) % 1 const tail = Math.max(0, head - 0.24) const points = sampleCurve(source, target, curve, 1 - head, 1 - tail, 18).reverse() - const glowColor = isDark.value ? 'rgba(180, 225, 255, 0.92)' : 'rgba(74, 144, 217, 0.78)' - const coreColor = isDark.value ? 'rgba(255, 255, 255, 0.96)' : 'rgba(255, 255, 255, 0.9)' + const glowColor = 'rgba(45, 212, 191, 0.92)' + const coreColor = 'rgba(235, 255, 252, 0.96)' ctx.save() ctx.lineJoin = 'round' ctx.lineCap = 'round' @@ -383,7 +380,8 @@ function drawNode(node: ProjectedNode, activeId: string, activeNeighbors: Set