feat(F006-W3.6): 暗色 logo 亮版(dark 主题对比度)

- 新增 src/assets/logo-jubian-light.png:PIL 重映射所有非透明像素
  字色 #190564 → #F8FAFC (= dark 主题 --ink),透明底保留
- LoginView.vue + AppLayout.vue:logo 改 :src="logoSrc",computed 跟
  themeStore.current 切换;dark 主题下显示亮版,其他主题保持原深紫版
- 修 AGENTS.md §W5.x 一期已知风险("Dark 主题下 logo 字色 #190564
  可能对比度低 → 二期做亮版 logo")
This commit is contained in:
Sisyphus 2026-07-03 17:00:56 +08:00
parent 3744cf7c93
commit 6a0736d70c
3 changed files with 11 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -11,6 +11,9 @@ import { computed, onMounted, ref } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import ThemePicker from '@/components/ThemePicker/ThemePicker.vue'
import { useUserStore } from '@/stores/user'
import { useThemeStore } from '@/stores/theme'
import logoUrl from '@/assets/logo-jubian.png'
import logoLightUrl from '@/assets/logo-jubian-light.png'
import { useMenuStore, type MenuItem } from '@/stores/menu'
import {
Odometer, Box, Document, ChatLineSquare, ChatDotRound, OfficeBuilding,
@ -24,6 +27,8 @@ import {
const router = useRouter()
const route = useRoute()
const userStore = useUserStore()
const themeStore = useThemeStore()
const logoSrc = computed(() => themeStore.current === 'dark' ? logoLightUrl : logoUrl)
const menuStore = useMenuStore()
const collapsed = computed(() => menuStore.collapsed)
@ -236,7 +241,7 @@ onMounted(loadBadges)
<aside class="rr-sidebar">
<!-- 品牌 + 搜索框(只在展开时显示) -->
<div class="rr-sidebar-brand" v-if="!collapsed">
<img class="rr-sidebar-logo" src="@/assets/logo-jubian.png" alt="巨变" />
<img class="rr-sidebar-logo" :src="logoSrc" alt="巨变" />
<span class="rr-sidebar-name">产业互联网平台运营后台</span>
</div>

View File

@ -17,11 +17,15 @@ import qs from 'qs'
import axios from 'axios'
import { useUserStore } from '@/stores/user'
import { useThemeStore } from '@/stores/theme'
import { computed } from 'vue'
import logoUrl from '@/assets/logo-jubian.png'
import logoLightUrl from '@/assets/logo-jubian-light.png'
const router = useRouter()
const route = useRoute()
const userStore = useUserStore()
const themeStore = useThemeStore()
const logoSrc = computed(() => themeStore.current === 'dark' ? logoLightUrl : logoUrl)
const form = reactive({
username: 'admin',
@ -99,7 +103,7 @@ async function onLogin() {
<!-- 左 65%: 品牌区 -->
<div class="rr-login-left">
<div class="rr-login-brand">
<img class="rr-login-logo" src="@/assets/logo-jubian.png" alt="巨变" />
<img class="rr-login-logo" :src="logoSrc" alt="巨变" />
<div class="rr-login-product-name">产业互联网平台运营后台</div>
</div>