feat(admin): 所有后台页统一页头(标题+说明+刷新+主操作),新默认 logo 与站名字体
- 13 个后台页统一 page-head:左标题与一行说明,右侧刷新与主操作,刷新位置一致 - 渠道/并发/违禁词/订单/邀请日志/作品/首页内容/系统配置补齐或改写标题 - 违禁词与订单页改用统一 toolbar,订单筛选胶囊改下拉 - 站名字体改站酷快乐体(英文数字 5KB 子集 + 汉字按需加载)并加粗描边 - 默认 logo 重画:墨黑圆角方块 + 白色星芒 + 暖橙点,favicon 同步 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
<script setup>
|
||||
// Vivid mark: an open spectrum ring (lens/aperture) around a play triangle,
|
||||
// with a shutter dot closing the gap — image + video in one glyph.
|
||||
// Transparent background so it reads on both the dark and light shells.
|
||||
// Colors follow the aurora palette (violet / pink / cyan).
|
||||
// Default mark: an ink squircle holding a soft white sparkle (the "idea"),
|
||||
// a small companion star and a warm dot — cute, and on-theme with the
|
||||
// ink-black / warm-paper palette used across the site.
|
||||
// Each instance gets unique gradient ids (useId) so multiple logos on one
|
||||
// page don't share/clobber defs.
|
||||
import { useId } from 'vue'
|
||||
@@ -10,29 +9,35 @@ import { useId } from 'vue'
|
||||
defineProps({ size: { type: [Number, String], default: 40 } })
|
||||
|
||||
const uid = useId()
|
||||
const gRing = `vring-${uid}`
|
||||
const gBg = `vbg-${uid}`
|
||||
const gShine = `vshine-${uid}`
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<svg :width="size" :height="size" viewBox="0 0 48 48" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg" class="shrink-0">
|
||||
<defs>
|
||||
<linearGradient :id="gRing" x1="6" y1="6" x2="42" y2="42" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#7c5cfc" />
|
||||
<stop offset="0.5" stop-color="#e879f9" />
|
||||
<stop offset="1" stop-color="#22d3ee" />
|
||||
<linearGradient :id="gBg" x1="8" y1="4" x2="40" y2="44" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#3f3f46" />
|
||||
<stop offset="1" stop-color="#18181b" />
|
||||
</linearGradient>
|
||||
<linearGradient :id="gShine" x1="24" y1="3" x2="24" y2="24" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#fff" stop-opacity="0.14" />
|
||||
<stop offset="0.9" stop-color="#fff" stop-opacity="0" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<g transform="translate(24 24)">
|
||||
<!-- open ring: dash gap leaves room for the shutter dot -->
|
||||
<circle r="17.5" fill="none" :stroke="`url(#${gRing})`" stroke-width="4.4"
|
||||
stroke-linecap="round" stroke-dasharray="84 32" transform="rotate(-58)" />
|
||||
<!-- play triangle = image + video -->
|
||||
<path d="M-3 -6.5 L8.5 0 L-3 6.5 Z" fill="#7c5cfc" stroke="#111" stroke-width="1.4"
|
||||
stroke-linejoin="round" />
|
||||
<!-- shutter dot -->
|
||||
<circle cx="13" cy="-13" r="4.2" fill="#22d3ee" stroke="#111" stroke-width="1.6" />
|
||||
</g>
|
||||
<!-- squircle tile -->
|
||||
<rect x="2" y="2" width="44" height="44" rx="15" :fill="`url(#${gBg})`" />
|
||||
<rect x="2" y="2" width="44" height="22" rx="15" :fill="`url(#${gShine})`" />
|
||||
|
||||
<!-- big sparkle -->
|
||||
<path d="M22 11 Q23.4 22.6 35 24 Q23.4 25.4 22 37 Q20.6 25.4 9 24 Q20.6 22.6 22 11 Z"
|
||||
fill="#fff" stroke="#fff" stroke-width="2.2" stroke-linejoin="round" />
|
||||
<!-- small companion star -->
|
||||
<path d="M35.5 9 Q36.2 13.8 41 14.5 Q36.2 15.2 35.5 20 Q34.8 15.2 30 14.5 Q34.8 13.8 35.5 9 Z"
|
||||
fill="#fff" stroke="#fff" stroke-width="1.4" stroke-linejoin="round" opacity="0.92" />
|
||||
<!-- warm dot -->
|
||||
<circle cx="36" cy="36" r="2.6" fill="#fb923c" />
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user