fix(branding): 统一Logo色调与App主色调 #6C5CE7

旧Logo用 #9B5CF6/#D946EF 紫粉渐变,与App主色 #6C5CE7 不一致。
现统一为 Left=#6C5CE7→#7B6DEE, Right=#9B8FFF→#B8ADFF。

- 更新源SVG (genex-icon/lockup) 渐变色
- 重新生成PNG并分发至全部5个前端应用
- 修正 welcome_page EX ShaderMask 渐变色
- 替换 miniapp share-card 硬编码旧色值

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-02-23 18:12:35 -08:00
parent 4682229a8c
commit 2ff8b48e50
18 changed files with 36 additions and 36 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,16 +1,16 @@
<svg viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#9B5CF6"/> <stop offset="0%" stop-color="#6C5CE7"/>
<stop offset="100%" stop-color="#A855F7"/> <stop offset="100%" stop-color="#7B6DEE"/>
</linearGradient> </linearGradient>
<linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<linearGradient id="EX" x1="0%" y1="0%" x2="100%" y2="0%"> <linearGradient id="EX" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<mask id="notch"> <mask id="notch">
<rect x="-36" y="-36" width="72" height="72" fill="white"/> <rect x="-36" y="-36" width="72" height="72" fill="white"/>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,12 +1,12 @@
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#9B5CF6"/> <stop offset="0%" stop-color="#6C5CE7"/>
<stop offset="100%" stop-color="#A855F7"/> <stop offset="100%" stop-color="#7B6DEE"/>
</linearGradient> </linearGradient>
<linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<mask id="notch"> <mask id="notch">
<rect x="-36" y="-36" width="72" height="72" fill="white"/> <rect x="-36" y="-36" width="72" height="72" fill="white"/>

Before

Width:  |  Height:  |  Size: 920 B

After

Width:  |  Height:  |  Size: 920 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -46,7 +46,7 @@ class WelcomePage extends StatelessWidget {
), ),
ShaderMask( ShaderMask(
shaderCallback: (bounds) => const LinearGradient( shaderCallback: (bounds) => const LinearGradient(
colors: [Color(0xFFD946EF), Color(0xFFE11D89)], colors: [Color(0xFF9B8FFF), Color(0xFFB8ADFF)],
).createShader(bounds), ).createShader(bounds),
child: Text( child: Text(
'EX', 'EX',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,16 +1,16 @@
<svg viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#9B5CF6"/> <stop offset="0%" stop-color="#6C5CE7"/>
<stop offset="100%" stop-color="#A855F7"/> <stop offset="100%" stop-color="#7B6DEE"/>
</linearGradient> </linearGradient>
<linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<linearGradient id="EX" x1="0%" y1="0%" x2="100%" y2="0%"> <linearGradient id="EX" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<mask id="notch"> <mask id="notch">
<rect x="-36" y="-36" width="72" height="72" fill="white"/> <rect x="-36" y="-36" width="72" height="72" fill="white"/>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,12 +1,12 @@
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#9B5CF6"/> <stop offset="0%" stop-color="#6C5CE7"/>
<stop offset="100%" stop-color="#A855F7"/> <stop offset="100%" stop-color="#7B6DEE"/>
</linearGradient> </linearGradient>
<linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<mask id="notch"> <mask id="notch">
<rect x="-36" y="-36" width="72" height="72" fill="white"/> <rect x="-36" y="-36" width="72" height="72" fill="white"/>

Before

Width:  |  Height:  |  Size: 920 B

After

Width:  |  Height:  |  Size: 920 B

View File

@ -70,7 +70,7 @@ CSS:
.share-header { .share-header {
display: flex; align-items: center; display: flex; align-items: center;
padding: 24rpx 28rpx; padding: 24rpx 28rpx;
background: linear-gradient(135deg, #9B5CF6, #D946EF); background: linear-gradient(135deg, #6C5CE7, #9B8FFF);
} }
.share-logo { .share-logo {
width: 48rpx; height: 48rpx; width: 48rpx; height: 48rpx;
@ -81,22 +81,22 @@ CSS:
} }
.share-logo-left { .share-logo-left {
width: 50%; height: 100%; width: 50%; height: 100%;
background: linear-gradient(135deg, #9B5CF6, #A855F7); background: linear-gradient(135deg, #6C5CE7, #7B6DEE);
} }
.share-logo-right { .share-logo-right {
width: 50%; height: 100%; width: 50%; height: 100%;
background: linear-gradient(135deg, #D946EF, #E11D89); background: linear-gradient(135deg, #9B8FFF, #B8ADFF);
} }
.share-brand { color: white; font-size: 26rpx; font-weight: 600; margin-left: 12rpx; } .share-brand { color: white; font-size: 26rpx; font-weight: 600; margin-left: 12rpx; }
.share-body { padding: 28rpx; } .share-body { padding: 28rpx; }
.share-name { font-size: 32rpx; font-weight: 600; color: #141723; } .share-name { font-size: 32rpx; font-weight: 600; color: #141723; }
.share-price-row { display: flex; align-items: flex-end; margin-top: 16rpx; } .share-price-row { display: flex; align-items: flex-end; margin-top: 16rpx; }
.share-price { font-size: 40rpx; font-weight: 700; color: #9B5CF6; } .share-price { font-size: 40rpx; font-weight: 700; color: #6C5CE7; }
.share-face { font-size: 24rpx; color: #A0A8BE; text-decoration: line-through; margin-left: 12rpx; } .share-face { font-size: 24rpx; color: #A0A8BE; text-decoration: line-through; margin-left: 12rpx; }
.share-discount { .share-discount {
margin-left: 12rpx; padding: 4rpx 12rpx; margin-left: 12rpx; padding: 4rpx 12rpx;
background: linear-gradient(135deg, #9B5CF6, #D946EF); background: linear-gradient(135deg, #6C5CE7, #9B8FFF);
border-radius: 999rpx; border-radius: 999rpx;
} }
.share-discount-text { color: white; font-size: 22rpx; font-weight: 700; } .share-discount-text { color: white; font-size: 22rpx; font-weight: 700; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,12 +1,12 @@
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#9B5CF6"/> <stop offset="0%" stop-color="#6C5CE7"/>
<stop offset="100%" stop-color="#A855F7"/> <stop offset="100%" stop-color="#7B6DEE"/>
</linearGradient> </linearGradient>
<linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<mask id="notch"> <mask id="notch">
<rect x="-36" y="-36" width="72" height="72" fill="white"/> <rect x="-36" y="-36" width="72" height="72" fill="white"/>

Before

Width:  |  Height:  |  Size: 920 B

After

Width:  |  Height:  |  Size: 920 B

View File

@ -1,16 +1,16 @@
<svg viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg">
<defs> <defs>
<linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="L" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#9B5CF6"/> <stop offset="0%" stop-color="#6C5CE7"/>
<stop offset="100%" stop-color="#A855F7"/> <stop offset="100%" stop-color="#7B6DEE"/>
</linearGradient> </linearGradient>
<linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%"> <linearGradient id="R" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<linearGradient id="EX" x1="0%" y1="0%" x2="100%" y2="0%"> <linearGradient id="EX" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#D946EF"/> <stop offset="0%" stop-color="#9B8FFF"/>
<stop offset="100%" stop-color="#E11D89"/> <stop offset="100%" stop-color="#B8ADFF"/>
</linearGradient> </linearGradient>
<mask id="notch"> <mask id="notch">
<rect x="-36" y="-36" width="72" height="72" fill="white"/> <rect x="-36" y="-36" width="72" height="72" fill="white"/>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB