fix: 🐛 个性主题色冲突

This commit is contained in:
tk 2024-12-12 18:03:44 +08:00 committed by nsnail
parent 098cfc135e
commit 4e4a1d0dff
56 changed files with 316 additions and 485 deletions

View File

@ -1,5 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(SolutionDir)/build/code.quality.props"/> <Import Project="$(SolutionDir)/build/code.quality.props"/>
<ItemGroup>
<EmbeddedResource Include="$(SolutionDir)/assets/captcha/**" LinkBase="Assets/Captcha"/>
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="../NetAdmin.Application/NetAdmin.Application.csproj"/> <ProjectReference Include="../NetAdmin.Application/NetAdmin.Application.csproj"/>
</ItemGroup> </ItemGroup>

View File

@ -7,8 +7,8 @@ namespace NetAdmin.SysComponent.Application.Services.Sys;
/// <inheritdoc cref="ICaptchaService" /> /// <inheritdoc cref="ICaptchaService" />
public sealed class CaptchaService : ServiceBase<ICaptchaService>, ICaptchaService public sealed class CaptchaService : ServiceBase<ICaptchaService>, ICaptchaService
{ {
private static readonly Assembly _entryAsm = Assembly.GetEntryAssembly(); private static readonly Assembly _currAsm = Assembly.GetAssembly(typeof(CaptchaService));
private static readonly string _entryAsmName = _entryAsm.FullName![.._entryAsm.FullName.IndexOf(',')]; private static readonly string _currAsmName = _currAsm.FullName![.._currAsm.FullName.IndexOf(',')];
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="CaptchaService" /> class. /// Initializes a new instance of the <see cref="CaptchaService" /> class.
@ -19,8 +19,8 @@ public sealed class CaptchaService : ServiceBase<ICaptchaService>, ICaptchaServi
public async Task<GetCaptchaRsp> GetCaptchaImageAsync() public async Task<GetCaptchaRsp> GetCaptchaImageAsync()
{ {
var (backgroundImage, sliderImage, offsetSaw) = await CaptchaImageHelper.CreateSawSliderImageAsync( var (backgroundImage, sliderImage, offsetSaw) = await CaptchaImageHelper.CreateSawSliderImageAsync(
_entryAsm, $"{_entryAsmName}.Assets.Captcha.background" _currAsm, $"{_currAsmName}.Assets.Captcha.background"
, $"{_entryAsmName}.Assets.Captcha.template", (1, 101), (1, 7) , $"{_currAsmName}.Assets.Captcha.template", (1, 101), (1, 7)
, new Size(50, 50)) , new Size(50, 50))
.ConfigureAwait(false); .ConfigureAwait(false);

View File

@ -1,8 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(SolutionDir)/build/code.quality.props"/> <Import Project="$(SolutionDir)/build/code.quality.props"/>
<ItemGroup>
<EmbeddedResource Include="$(SolutionDir)/assets/captcha/**" LinkBase="Assets/Captcha"/>
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="../NetAdmin.Host/NetAdmin.Host.csproj"/> <ProjectReference Include="../NetAdmin.Host/NetAdmin.Host.csproj"/>
<ProjectReference Include="../NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj"/> <ProjectReference Include="../NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj"/>

View File

@ -2,7 +2,7 @@
"attributeGroups": ["^v-", "$DEFAULT"], "attributeGroups": ["^v-", "$DEFAULT"],
"attributeSort": "ASC", "attributeSort": "ASC",
"bracketSameLine": true, "bracketSameLine": true,
"endOfLine": "auto", "endOfLine": "lf",
"plugins": ["prettier-plugin-organize-attributes"], "plugins": ["prettier-plugin-organize-attributes"],
"printWidth": 150, "printWidth": 150,
"semi": false, "semi": false,

View File

@ -30,7 +30,7 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
background: #fff; background: white;
} }
.app-loading__logo { .app-loading__logo {
@ -47,7 +47,7 @@
width: 35px; width: 35px;
height: 35px; height: 35px;
border: 5px solid transparent; border: 5px solid transparent;
border-top-color: #000; border-top-color: black;
border-radius: 50%; border-radius: 50%;
animation: 0.5s loader linear infinite; animation: 0.5s loader linear infinite;
position: relative; position: relative;
@ -79,7 +79,7 @@
} }
.dark .app-loading__loader { .dark .app-loading__loader {
border-top-color: #fff; border-top-color: white;
} }
.dark .app-loading__title { .dark .app-loading__title {
@ -103,7 +103,7 @@
<div class="aminui" id="app"> <div class="aminui" id="app">
<div class="app-loading"> <div class="app-loading">
<div class="app-loading__logo"> <div class="app-loading__logo">
<img alt="" src="/src/assets/img/logo.png" /> <img alt="" src="/src/assets/img/logo.svg" />
</div> </div>
<div class="app-loading__loader"></div> <div class="app-loading__loader"></div>
<div class="app-loading__title">NetAdmin</div> <div class="app-loading__title">NetAdmin</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

View File

@ -0,0 +1,29 @@
<svg t="1733995463464" class="icon" viewBox="0 0 1358 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12221" width="256" height="256">
<path d="M325.565072 415.978248c-93.950327 16.678484-160.353046 98.501438-149.450458 188.272105 5.809359 47.552418 29.347974 89.774013 89.90787 101.898039 160.657569 32.30285 767.123242 153.901176 886.275346-56.788497 92.896209-164.191373 37.533281-277.878797-48.740392-349.036758-86.273673-71.157961-264.934902-56.383582-412.789124-7.676653-109.94949 36.308497-191.705516 92.491294-365.203242 123.331764z" fill="#E6E6E6" opacity=".3" p-id="12222"></path>
<path d="M698.341229 875.165281c302.056575 0 546.919739-18.097359 546.919738-40.421229s-244.863163-40.417882-546.919738-40.417882-546.919739 18.094013-546.919739 40.417882c0 22.323869 244.863163 40.421229 546.919739 40.421229z" fill="#E6E6E6" opacity=".45" p-id="12223"></path>
<path d="M391.696732 273.558588c35.903582 0 65.010614-29.107033 65.010614-65.010614 0-35.906928-29.107033-65.010614-65.010614-65.010615-35.906928 0-65.010614 29.107033-65.010614 65.010615 0 35.906928 29.103686 65.010614 65.010614 65.010614z" fill="#FFD200" p-id="12224"></path>
<path d="M391.696732 332.488784c68.450719 0 123.94081-55.490092 123.94081-123.94081s-55.490092-123.944157-123.94081-123.944157S267.755922 140.097255 267.755922 208.547974s55.490092 123.94081 123.94081 123.94081z" fill="#FFD200" opacity=".15" p-id="12225"></path>
<path d="M664.683085 832.876758c95.988288 0 173.802248-77.813961 173.802248-173.802248 0-95.991634-77.813961-173.805595-173.802248-173.805595-95.991634 0-173.805595 77.813961-173.805595 173.805595 0 95.988288 77.813961 173.802248 173.805595 173.802248z" fill="#24285B" p-id="12226"></path>
<path d="M664.679739 768.478536c60.422693 0 109.404026-48.98468 109.404026-109.404026 0-60.422693-48.981333-109.407373-109.404026-109.407373-60.422693 0-109.404026 48.98468-109.404027 109.407373 0 60.419346 48.981333 109.404026 109.404027 109.404026z" fill="#FFFFFF" p-id="12227"></path>
<path d="M454.840052 700.54651c11.511634 0 15.65783 4.14285 15.65783 15.624366v19.80068c0 11.51498-3.396601 15.65783-15.65783 15.65783h-31.760732v60.292183c0 11.47817-4.14285 15.624366-15.65783 15.624366h-22.551425c-11.481516 0-15.624366-4.146196-15.624366-15.624366v-60.292183H217.382484c-11.47817 0-15.627712-4.14285-15.627713-15.65783v-16.574746a30.566065 30.566065 0 0 1 5.437909-18.8503l152.847059-189.634092a27.376941 27.376941 0 0 1 22.076235-11.036444h25.476183c11.51498 0 15.65783 3.225935 15.65783 15.65783v185.012706h31.590065z m-85.594353-123.365229l-99.896889 123.365229h99.896889v-123.365229zM1112.114196 700.54651c11.51498 0 15.65783 4.14285 15.65783 15.624366v19.80068c0 11.51498-3.225935 15.65783-15.65783 15.65783h-31.757386v60.292183c0 11.47817-4.14285 15.624366-15.65783 15.624366h-22.554771c-11.47817 0-15.624366-4.146196-15.624366-15.624366v-60.292183h-151.893333c-11.481516 0-15.624366-4.14285-15.624366-15.65783v-16.574746a30.545987 30.545987 0 0 1 5.50149-18.8503l152.847059-189.634092a27.417098 27.417098 0 0 1 22.076235-11.036444h25.305516c11.51498 0 15.65783 3.225935 15.657831 15.65783v185.012706h31.723921z m-85.594353-123.365229l-99.893542 123.365229h99.893542v-123.365229z" fill="#21A675" p-id="12228"></path>
<path d="M1043.944575 462.851346s-28.902902-7.880784-35.187451-34.816c0 0 44.801673-9.035294 46.090039 37.195295l-10.902588-2.379295z" fill="#21A675" opacity=".58" p-id="12229"></path>
<path d="M1047.511843 459.996863s-20.208941-31.961516-2.446222-61.818144c0 0 33.966013 21.637856 18.954039 61.888418l-16.507817-0.070274z" fill="#21A675" opacity=".73" p-id="12230"></path>
<path d="M1052.70881 460.030327s10.664993-33.761882 42.967844-40.146824c0 0 6.046954 21.908915-20.925072 40.217098l-22.042772-0.070274z" fill="#21A675" p-id="12231"></path>
<path d="M1031.750275 459.250614l5.842823 40.11336 36.920889 0.170667 5.434562-40.079896-48.198274-0.204131z" fill="#24285B" p-id="12232"></path>
<path d="M685.705203 430.856366s4.755242 22.926222 2.683817 38.821647a11.745882 11.745882 0 0 1-13.278536 10.189804c-7.984523-1.15451-18.445386-5.026301-22.487843-16.983007l-9.373282-19.52962a21.105778 21.105778 0 0 1 6.555608-23.438223c12.023634-11.073255 33.694954-3.021804 35.900236 10.939399z" fill="#F4A28C" p-id="12233"></path>
<path d="M644.945987 446.785255l-3.058614 76.796653 42.425725-1.35864-14.81119-55.329464-24.555921-20.108549z" fill="#F4A28C" p-id="12234"></path>
<path d="M680.033046 432.486065a92.929673 92.929673 0 0 1-21.637856 0.916915 19.549699 19.549699 0 0 1 2.516496 21.296523 15.912157 15.912157 0 0 1-18.341647 8.560105l-3.159006-29.95702a23.759477 23.759477 0 0 1 9.510483-22.554771 82.304837 82.304837 0 0 1 9.406745-6.080418c8.185307-4.484183 21.46719-0.237595 28.497987-6.96387a5.672157 5.672157 0 0 1 9.339817 2.650353c2.446222 8.931556 2.51315 23.438222-9.202614 29.856628a21.667974 21.667974 0 0 1-6.930405 2.275555z" fill="#24285B" p-id="12235"></path>
<path d="M663.321098 453.71566s-1.221438-8.968366-7.880784-7.472523c-6.656 1.492497-4.956026 14.433046 4.350327 14.536785l3.530457-7.064262zM687.947294 445.460078l7.572915 8.185308a3.761359 3.761359 0 0 1-0.066928 5.163503 3.781438 3.781438 0 0 1-1.596235 0.987189l-8.693961 2.713935 2.784209-17.049935z" fill="#F4A28C" p-id="12236"></path>
<path d="M673.273307 478.883974a27.989333 27.989333 0 0 1-14.603712-6.522144s2.242092 13.890928 19.225098 25.847634l-4.621386-19.32549z" fill="#CE8172" opacity=".31" p-id="12237"></path>
<path d="M641.957647 523.581908l42.425726-1.35864s66.640314-11.31085 89.770666 43.034771c23.130353 54.345621-6.522144 131.142275-6.522144 131.142275s-24.114196 81.076706-125.674248 72.111686c0 0-84.473307-4.892444-94.017255-120.681412a113.11519 113.11519 0 0 0-2.309019-15.011974c-3.871791-18.104052-6.113882-73.028601 96.326274-109.236706z" fill="#21A675" p-id="12238"></path>
<path d="M585.13234 595.727059s22.621699 2.479686 54.041098 55.091869c31.416052 52.612183 93.10034 33.320157 127.879529-5.605229l-64.535425 85.390223-72.279006-5.806014-39.296837-104.61532-5.809359-24.455529z" fill="#000000" opacity=".08" p-id="12239"></path>
<path d="M832.853333 473.948026l-12.425202 1.659817 4.832209 36.157909 12.421856-1.659817-4.828863-36.157909z" fill="#FFD200" p-id="12240"></path>
<path d="M832.853333 473.948026l-12.425202 1.659817 4.832209 36.157909 12.421856-1.659817-4.828863-36.157909z" fill="#000000" opacity=".08" p-id="12241"></path>
<path d="M839.837281 499.604915l-19.091242 2.549961 6.204236 46.42468 19.087895-2.549961-6.200889-46.42468z" fill="#24285B" p-id="12242"></path>
<path d="M815.184314 399.132444a41.087163 41.087163 0 0 0-33.430589 54.027713 41.100549 41.100549 0 1 0 33.430589-54.027713z m9.306353 69.491451a29.003294 29.003294 0 0 1-16.651713-2.690509 29.066876 29.066876 0 0 1-16.223372-27.90902 29.050144 29.050144 0 0 1 36.449045-26.24251 29.023373 29.023373 0 0 1 21.323295 24.234667 29.076915 29.076915 0 0 1-24.760053 32.607372h-0.137202z" fill="#FFD200" p-id="12243"></path>
<path d="M820.856471 469.169359a29.180654 29.180654 0 1 0 0-58.35796 29.180654 29.180654 0 0 0 0 58.35796z" fill="#FFFFFF" p-id="12244"></path>
<path d="M546.85281 601.43268a20.975268 20.975268 0 0 1 17.217255-15.49051 20.992 20.992 0 0 1 20.995347 9.784889 481.045752 481.045752 0 0 1 40.759215 82.843608c24.284863 64.736209 143.370039 22.042771 187.321726-128.90353l25.067922 15.590902s-34.578405 196.052497-173.772131 203.253961c0 0-86.886065 17.592052-113.275817-89.024418 0 0-6.793203-20.075085-7.201464-31.419399l-1.83383-12.769882a107.637124 107.637124 0 0 1 4.484183-33.527634l0.237594-0.337987z" fill="#21A675" p-id="12245"></path>
<path d="M546.85281 601.43268a20.975268 20.975268 0 0 1 17.217255-15.49051 20.992 20.992 0 0 1 20.995347 9.784889 481.045752 481.045752 0 0 1 40.759215 82.843608c24.284863 64.736209 143.370039 22.042771 187.321726-128.90353l25.067922 15.590902s-34.578405 196.052497-173.772131 203.253961c0 0-86.886065 17.592052-113.275817-89.024418 0 0-6.793203-20.075085-7.201464-31.419399l-1.83383-12.769882a107.637124 107.637124 0 0 1 4.484183-33.527634l0.237594-0.337987z" fill="#FFFFFF" opacity=".39" p-id="12246"></path>
<path d="M819.49783 553.472s2.546614-32.30285 15.861961-32.232575c13.315346 0.066928 44.597542 23.98034-3.701124 39.772026l-12.160837-7.539451z" fill="#F4A28C" p-id="12247"></path>
<path d="M1166.697412 306.845281a22.969725 22.969725 0 0 0-22.959687-22.959686c-1.241516 0-2.479686 0.100392-3.701124 0.301176a30.910745 30.910745 0 0 0-27.17281-16.30034h-1.121046a36.753569 36.753569 0 1 0-71.328627 0h-1.121046a30.991059 30.991059 0 0 0-22.564811 8.697308 30.960941 30.960941 0 0 0-6.980601 34.354196 30.957595 30.957595 0 0 0 29.545412 18.867032h107.432993v-0.200784a22.983111 22.983111 0 0 0 19.971347-22.758902zM274.104052 534.113046a19.696941 19.696941 0 0 0-19.696941-19.700288 23.776209 23.776209 0 0 0-3.159006 0.271059 26.523608 26.523608 0 0 0-23.401412-13.961203h-0.953726a31.509752 31.509752 0 0 0-16.738719-36.00732 31.499712 31.499712 0 0 0-27.661385 0 31.523137 31.523137 0 0 0-16.738719 36.00732h-0.950379a26.536993 26.536993 0 0 0-19.392419 7.432366 26.526954 26.526954 0 0 0-8.118379 19.114667 26.547033 26.547033 0 0 0 17.056628 24.800209 26.536993 26.536993 0 0 0 10.45417 1.743477h92.14996v-0.170666a19.743791 19.743791 0 0 0 17.153674-19.529621z" fill="#E6E6E6" p-id="12248"></path>
</svg>

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -1,50 +1,3 @@
<?xml version="1.0" encoding="utf-8"?> <svg t="1733997522763" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24111" width="256" height="256">
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <path d="M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m295.488 296.512a365.696 365.696 0 1 0-0.512 431.68l-155.712-97.664-8.704 9.6a182.848 182.848 0 1 1 16.64-236.416l157.376-94.08z m0.192 104h-26.624l-4.288 38.464h-32.64l-3.2 44.992h30.784l-6.272 56.32h-30.912l-3.2 45.056h29.056l-4.608 41.28h26.496l4.672-41.28h30.72l-4.608 41.28h26.432l4.672-41.28h20.736l3.2-44.992h-18.88l6.272-56.32h19.008l3.2-45.056h-17.088l4.288-38.464h-26.624l-4.224 38.464h-30.72l4.352-38.464z m21.312 83.456l-6.4 56.32h-30.72l6.4-56.32h30.72z" fill="#21A675" p-id="24112"></path>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" id="katman_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
viewBox="0 0 600 450" style="enable-background:new 0 0 600 450;" xml:space="preserve">
<style type="text/css">
.st0{fill:#21A675;}
.st1{fill:#A4E2C6;}
.st2{fill:#424C50;}
.st3{fill:#FA9D3C;}
.st4{fill:#FDFDFB;}
.st5{fill:#93603B;}
</style>
<symbol id="snail" viewBox="-30 -29 60 58.1">
<path class="st0" d="M-2.4,10.8c0,0-4.7-20.8-13.1-20.8c-15.1,0-15.5,27.8-5.3,37c3.1,2.8,16.1,2.8,43.5,0c2.9-0.3,1.8-3.1-2.3-5
C17.7,20.7,4.6,18.2-2.4,10.8" />
<g>
<ellipse class="st1" cx="-4.2" cy="7.7" rx="3.9" ry="6.7" />
<ellipse class="st1" cx="-0.5" cy="21.4" rx="2.4" ry="2.7" />
<ellipse class="st1" cx="-9.5" cy="16.5" rx="1.8" ry="3.1" />
<ellipse class="st1" cx="-11.8" cy="4.4" rx="1.4" ry="2.1" />
</g>
<path class="st2" d="M-22.4-5.9c0,1.2,0.4,2.3,1.1,2.9c0.3,0.3,0.7,0.5,1.1,0.7c0.2,0.1,0.4,0.1,0.6,0.1c0,0,0.3,0,0.4,0
s0.2,0,0.3,0c0.9,0,1.8-0.3,2.5-0.9c0.7-0.6,1.2-1.6,1.6-2.8c0.4,1.2,0.4,2.6-0.4,3.8c-0.8,1.2-2.3,1.9-3.7,1.9c-0.2,0-0.3,0-0.5,0
c-0.2,0-0.3,0-0.5-0.1c-0.4-0.1-0.7-0.2-1.1-0.3c-0.7-0.3-1.3-0.8-1.6-1.5C-23.3-3.3-23.2-4.9-22.4-5.9" />
<path class="st3" d="M26.9,10.2C30.3,6,30.8-1,28.9-5.2c-2.8-6.2-8.3-7.1-8.3-7.1c-7.4-11.9-27.8-11.9-34,2.7
C-8.1-6.4-5.1,2.2-3.4,7c1.6,6.3,4.7,12,9.8,13.5C8.6,21,9,18.8,9,18.8c1.4,2,4.3,3.4,6.9,2.7C25.6,18.7,26.9,10.2,26.9,10.2" />
<g>
<path class="st0" d="M-17.5-7.8l-2.6,0.9l-2.5-6.9l2.6-0.9L-17.5-7.8z" />
<path class="st0" d="M-11.7-5.3l-2.5-1.1l3.1-6.7l2.5,1.2L-11.7-5.3z" />
<path class="st0" d="M-13-19.4c0,4.7-3.8,8.5-8.5,8.5s-8.5-3.8-8.5-8.5s3.8-8.5,8.5-8.5C-16.8-27.8-13-23.9-13-19.4" />
</g>
<path class="st4" d="M-16.6-19c0,3.7-2.9,6.6-6.4,6.6c-3.6,0-6.4-3-6.4-6.6c0-3.7,2.9-6.6,6.4-6.6S-16.6-22.6-16.6-19" />
<path class="st2" d="M-17.4-19c0,2.5-2,4.6-4.4,4.6s-4.4-2-4.4-4.6c0-2.5,2-4.6,4.4-4.6C-19.3-23.5-17.4-21.5-17.4-19" />
<g>
<path class="st5" d="M9.1,18.7c-1.9-2.9-3.3-6.2-4-9.6C4.4,5.5,4.4,2,5.2-1.6s2.5-6.9,5.3-9.3c1.4-1.2,3.1-2,4.9-2.3
c1.8-0.3,3.6,0,5.2,0.8c-1.7-0.4-3.4-0.4-5,0.1s-2.9,1.4-4.1,2.5c-1.1,1.1-2.1,2.5-2.8,4s-1.3,3-1.6,4.6C6.3,2,6.2,5.4,6.6,8.7
C7.1,12.1,7.9,15.4,9.1,18.7" />
<path class="st5" d="M26.9,10.2c-0.7,0.9-1.6,1.6-2.6,2.2c-1,0.6-2.1,1-3.4,1.1c-1.2,0.1-2.5-0.3-3.6-1S15.4,11,14.7,10
c-1.4-2-1.9-4.7-1.6-7.1c0.3-2.4,1.4-4.8,3.1-6.6c0.9-0.9,1.9-1.7,3.2-2.1C20.6-6.3,22-6.4,23.3-6c1.4,0.4,2.5,1.4,3.1,2.5
C27-2.3,27.3-1,27.2,0.2c-0.1,1.3-0.5,2.6-1.5,3.5c-0.9,1-2.5,1.5-3.8,0.8S20,2.5,20.3,1.1c0.2-0.7,0.6-1.2,1.2-1.5
c0.3-0.1,0.7-0.2,1,0c0.3,0.1,0.5,0.3,0.7,0.6c-1-0.9-2,0.3-2.1,1.1c-0.1,0.9,0.5,1.9,1.3,2.2c0.4,0.2,0.8,0.1,1.3,0
c0.4-0.1,0.8-0.4,1.1-0.7c0.6-0.7,0.9-1.7,0.9-2.7s-0.2-2-0.7-2.8s-1.2-1.4-2.1-1.6c-1.8-0.5-3.8,0.4-5.2,1.9
C14.9,0.5,14,5.5,16.1,9.1c1,1.8,2.7,3.3,4.8,3.4C23,12.6,25.2,11.5,26.9,10.2" />
</g>
<path class="st0" d="M2.3-19.4c0,5.4-4.4,9.7-9.8,9.7s-9.8-4.4-9.8-9.7c0-5.4,4.4-9.7,9.8-9.7S2.3-24.6,2.3-19.4" />
<ellipse class="st4" cx="-9.3" cy="-18.9" rx="7.4" ry="7.6" />
<path class="st2" d="M-2.7-18.9c0,2.9-2.3,5.3-5.1,5.3s-5.1-2.4-5.1-5.3s2.3-5.3,5.1-5.3S-2.7-21.8-2.7-18.9" />
</symbol>
<use xlink:href="#snail" width="60" height="58.1" x="-30" y="-29" transform="matrix(5.0964 0 0 5.0964 300 225)" style="overflow:visible;" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 720 B

View File

@ -3,11 +3,11 @@
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
viewBox="0 0 750 750" style="enable-background:new 0 0 750 750;" xml:space="preserve"> viewBox="0 0 750 750" style="enable-background:new 0 0 750 750;" xml:space="preserve">
<style type="text/css"> <style type="text/css">
.st0{opacity:0.35;fill:#B3B3B3;} .st0{opacity:0.35;fill:silver;}
.st1{opacity:0.1;fill:#B3B3B3;} .st1{opacity:0.1;fill:silver;}
.st2{opacity:0.3;fill:#B3B3B3;} .st2{opacity:0.3;fill:silver;}
.st3{opacity:0.1;} .st3{opacity:0.1;}
.st4{fill:#B3B3B3;} .st4{fill:silver;}
</style> </style>
<g> <g>
<path class="st0" d="M465.1,261.4H264c-1.3,0-2.4,1.1-2.4,2.4v255.6c0,1.3,1.1,2.4,2.4,2.4h201.1c1.3,0,2.4-1.1,2.4-2.4V263.8 <path class="st0" d="M465.1,261.4H264c-1.3,0-2.4,1.1-2.4,2.4v255.6c0,1.3,1.1,2.4,2.4,2.4h201.1c1.3,0,2.4-1.1,2.4-2.4V263.8

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,9 @@
<div :style="{ width: setSize.imgWidth, height: setSize.imgHeight }" class="verify-img-panel"> <div :style="{ width: setSize.imgWidth, height: setSize.imgHeight }" class="verify-img-panel">
<img :src="backImgBase" alt="" style="width: 100%; height: 100%; display: block" /> <img :src="backImgBase" alt="" style="width: 100%; height: 100%; display: block" />
<div v-show="showRefresh" @click="refresh" class="verify-refresh"> <div v-show="showRefresh" @click="refresh" class="verify-refresh">
<i class="iconfont icon-refresh"></i> <el-icon>
<el-icon-refresh></el-icon-refresh>
</el-icon>
</div> </div>
<transition name="tips"> <transition name="tips">
<span v-if="tipWords" :class="passFlag ? 'suc-bg' : 'err-bg'" class="verify-tips">{{ tipWords }}</span> <span v-if="tipWords" :class="passFlag ? 'suc-bg' : 'err-bg'" class="verify-tips">{{ tipWords }}</span>
@ -40,7 +42,9 @@
@mousedown="start" @mousedown="start"
@touchstart="start" @touchstart="start"
class="verify-move-block"> class="verify-move-block">
<i :class="['verify-icon iconfont', iconClass]" :style="{ color: iconColor }"></i> <el-icon>
<el-icon-arrow-right></el-icon-arrow-right>
</el-icon>
<div <div
v-if="type === '2'" v-if="type === '2'"
:style="{ :style="{
@ -144,7 +148,7 @@ export default {
leftBarWidth = ref(undefined), leftBarWidth = ref(undefined),
// //
moveBlockBackgroundColor = ref(undefined), moveBlockBackgroundColor = ref(undefined),
leftBarBorderColor = ref('#ddd'), leftBarBorderColor = ref('gainsboro'),
iconColor = ref(undefined), iconColor = ref(undefined),
iconClass = ref('icon-right'), iconClass = ref('icon-right'),
status = ref(false), // status = ref(false), //
@ -259,9 +263,9 @@ export default {
startMoveTime.value = new Date() // startMoveTime.value = new Date() //
if (isEnd.value === false) { if (isEnd.value === false) {
text.value = '' text.value = ''
moveBlockBackgroundColor.value = '#337ab7' moveBlockBackgroundColor.value = 'var(--el-color-primary)'
leftBarBorderColor.value = '#337AB7' leftBarBorderColor.value = 'var(--el-color-primary)'
iconColor.value = '#fff' iconColor.value = 'white'
e.stopPropagation() e.stopPropagation()
status.value = true status.value = true
} }
@ -308,7 +312,7 @@ export default {
if (res.data) { if (res.data) {
moveBlockBackgroundColor.value = '#5cb85c' moveBlockBackgroundColor.value = '#5cb85c'
leftBarBorderColor.value = '#5cb85c' leftBarBorderColor.value = '#5cb85c'
iconColor.value = '#fff' iconColor.value = 'white'
iconClass.value = 'icon-check' iconClass.value = 'icon-check'
showRefresh.value = false showRefresh.value = false
isEnd.value = true isEnd.value = true
@ -328,7 +332,7 @@ export default {
} else { } else {
moveBlockBackgroundColor.value = '#d9534f' moveBlockBackgroundColor.value = '#d9534f'
leftBarBorderColor.value = '#d9534f' leftBarBorderColor.value = '#d9534f'
iconColor.value = '#fff' iconColor.value = 'white'
iconClass.value = 'icon-close' iconClass.value = 'icon-close'
passFlag.value = false passFlag.value = false
setTimeout(function () { setTimeout(function () {
@ -352,9 +356,9 @@ export default {
moveBlockLeft.value = 0 moveBlockLeft.value = 0
leftBarWidth.value = undefined leftBarWidth.value = undefined
transitionWidth.value = 'width .3s' transitionWidth.value = 'width .3s'
leftBarBorderColor.value = '#ddd' leftBarBorderColor.value = 'gainsboro'
moveBlockBackgroundColor.value = '#fff' moveBlockBackgroundColor.value = 'white'
iconColor.value = '#000' iconColor.value = 'black'
iconClass.value = 'icon-right' iconClass.value = 'icon-right'
isEnd.value = false isEnd.value = false
getPicture() getPicture()

View File

@ -43,7 +43,7 @@ export default {
const contents = [] const contents = []
const msg = h('p', { style: 'width:230px;display:flex;justify-content:space-between' }, [ const msg = h('p', { style: 'width:230px;display:flex;justify-content:space-between' }, [
h('span', {}, this.$t('即将开始更新……')), h('span', {}, this.$t('即将开始更新……')),
h('a', { style: 'color:var(--na-color-primary)', href: 'javascript:window.location.reload()' }, this.$t('立即更新')), h('a', { style: 'color:var(--el-color-primary)', href: 'javascript:window.location.reload()' }, this.$t('立即更新')),
]) ])
const task = h('p', { style: 'font-weight:bold' }, version) const task = h('p', { style: 'font-weight:bold' }, version)
const progress = h( const progress = h(
@ -55,7 +55,7 @@ export default {
style: { style: {
width: '230px', width: '230px',
height: '6px', height: '6px',
'background-color': 'var(--na-color-primary)', 'background-color': 'var(--el-color-primary)',
'margin-top': '6px', 'margin-top': '6px',
'border-radius': '6px', 'border-radius': '6px',
}, },

View File

@ -121,7 +121,7 @@ export default {
.sc-contextmenu__menu > li.disabled { .sc-contextmenu__menu > li.disabled {
cursor: not-allowed; cursor: not-allowed;
color: #bbb; color: var(--el-text-color-disabled);
background: transparent; background: transparent;
} }
@ -134,7 +134,7 @@ export default {
.sc-contextmenu__suffix { .sc-contextmenu__suffix {
margin-left: 3rem; margin-left: 3rem;
color: #999; color: var(--el-color-info);
} }
.sc-contextmenu__menu li ul { .sc-contextmenu__menu li ul {

View File

@ -819,11 +819,7 @@ export default {
} }
.sc-cron:deep(.el-tabs__item.is-active) .sc-cron-num h4 { .sc-cron:deep(.el-tabs__item.is-active) .sc-cron-num h4 {
background: var(--na-color-primary); background: var(--el-color-primary);
color: #fff; color: var(--el-color-white);
}
[data-theme='dark'] .sc-cron-num h4 {
background: var(--el-color-white);
} }
</style> </style>

View File

@ -88,7 +88,7 @@ export default {
} }
.sc-dialog__headerbtn button:hover .el-dialog__close { .sc-dialog__headerbtn button:hover .el-dialog__close {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
.sc-dialog:deep(.el-dialog).is-fullscreen { .sc-dialog:deep(.el-dialog).is-fullscreen {
@ -109,6 +109,6 @@ export default {
.sc-dialog:deep(.el-dialog).is-fullscreen .el-dialog__footer { .sc-dialog:deep(.el-dialog).is-fullscreen .el-dialog__footer {
padding-bottom: 1rem; padding-bottom: 1rem;
border-top: 1px solid var(--el-border-color-base); border-top: 1px solid var(--el-border-color);
} }
</style> </style>

View File

@ -1,7 +1,12 @@
import DEFAULT_CONFIG from '@/config' import colorTool from '@/utils/color'
const style = getComputedStyle(document.documentElement)
const el_color_primary = style.getPropertyValue('--el-color-primary')
const el_color_info = style.getPropertyValue('--el-color-info')
const el_text_color_primary = style.getPropertyValue('--el-text-color-primary')
const el_border_color_lighter = style.getPropertyValue('--el-border-color-lighter')
const T = { const T = {
color: [DEFAULT_CONFIG.APP_SET_COLOR, '#36CE9E', '#f56e6a', '#626c91', '#edb00d', '#909399'], color: [el_color_primary, colorTool.lighten(el_color_primary, 0.5), ...colorTool.colorSets],
grid: { grid: {
left: '3%', left: '3%',
right: '3%', right: '3%',
@ -11,30 +16,30 @@ const T = {
}, },
pie: { pie: {
label: { label: {
color: '#999', color: el_color_info,
}, },
}, },
gauge: { gauge: {
axisTick: { axisTick: {
lineStyle: { lineStyle: {
color: '#999', color: el_color_info,
}, },
}, },
splitLine: { splitLine: {
lineStyle: { lineStyle: {
color: '#999', color: el_color_info,
}, },
}, },
axisLabel: { axisLabel: {
color: '#999', color: el_color_info,
}, },
title: { title: {
color: '#999', color: el_color_info,
}, },
}, },
legend: { legend: {
textStyle: { textStyle: {
color: '#999', color: el_color_info,
}, },
inactiveColor: 'rgba(128,128,128,0.4)', inactiveColor: 'rgba(128,128,128,0.4)',
}, },
@ -49,16 +54,16 @@ const T = {
axisTick: { axisTick: {
show: false, show: false,
lineStyle: { lineStyle: {
color: '#333', color: el_text_color_primary,
}, },
}, },
axisLabel: { axisLabel: {
color: '#999', color: el_color_info,
}, },
splitLine: { splitLine: {
show: false, show: false,
lineStyle: { lineStyle: {
color: ['#eee'], color: [el_border_color_lighter],
}, },
}, },
splitArea: { splitArea: {
@ -72,7 +77,7 @@ const T = {
axisLine: { axisLine: {
show: false, show: false,
lineStyle: { lineStyle: {
color: '#999', color: el_color_info,
}, },
}, },
splitLine: { splitLine: {

View File

@ -89,7 +89,7 @@
v-if="files[_getExt(item[fileProps.url])]" v-if="files[_getExt(item[fileProps.url])]"
:class="files[_getExt(item[fileProps.url])].icon" :class="files[_getExt(item[fileProps.url])].icon"
:style="{ color: files[_getExt(item[fileProps.url])].color }"></i> :style="{ color: files[_getExt(item[fileProps.url])].color }"></i>
<i v-else class="sc-icon-file-list-fill" style="color: #999"></i> <i v-else class="sc-icon-file-list-fill" style="color: var(--el-color-info)"></i>
</div> </div>
</div> </div>
<p :title="item[fileProps.fileName]">{{ item[fileProps.fileName] }}</p> <p :title="item[fileProps.fileName]">{{ item[fileProps.fileName] }}</p>
@ -371,7 +371,7 @@ export default {
right: 7px; right: 7px;
z-index: 2; z-index: 2;
background: rgba(0, 0, 0, 0.2); background: rgba(0, 0, 0, 0.2);
border: 1px solid #fff; border: 1px solid var(--el-color-white);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
@ -380,7 +380,7 @@ export default {
.sc-file-select__item__checkbox i { .sc-file-select__item__checkbox i {
font-size: 1.1rem; font-size: 1.1rem;
color: #fff; color: var(--el-color-white);
font-weight: bold; font-weight: bold;
display: none; display: none;
} }
@ -401,7 +401,7 @@ export default {
.sc-file-select__item__select i { .sc-file-select__item__select i {
font-size: 1.1rem; font-size: 1.1rem;
color: #fff; color: var(--el-color-white);
font-weight: bold; font-weight: bold;
} }
@ -431,7 +431,7 @@ export default {
} }
.sc-file-select__item__file .item-file.item-file-doc { .sc-file-select__item__file .item-file.item-file-doc {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
.sc-file-select__item__upload { .sc-file-select__item__upload {
@ -478,7 +478,7 @@ export default {
.sc-file-select__top .tips { .sc-file-select__top .tips {
font-size: 0.9rem; font-size: 0.9rem;
margin-left: 10px; margin-left: 10px;
color: #999; color: var(--el-color-info);
} }
.sc-file-select__top .tips i { .sc-file-select__top .tips i {

View File

@ -168,7 +168,7 @@ export default {
width: 100%; width: 100%;
height: 100%; height: 100%;
font-size: 2rem; font-size: 2rem;
color: #6d7882; color: var(--el-text-color-regular);
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -176,11 +176,11 @@ export default {
} }
.sc-icon-select__list li:hover { .sc-icon-select__list li:hover {
box-shadow: 0 0 1px 0.3rem var(--na-color-primary); box-shadow: 0 0 1px 0.3rem var(--el-color-primary);
background: var(--el-color-primary-light-9); background: var(--el-color-primary-light-9);
} }
.sc-icon-select__list li:hover i { .sc-icon-select__list li:hover i {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
</style> </style>

View File

@ -14,7 +14,7 @@ export default {
<style scoped> <style scoped>
.sc-state { .sc-state {
display: inline-block; display: inline-block;
background: #000; background: var(--el-color-black);
width: 0.6rem; width: 0.6rem;
height: 0.6rem; height: 0.6rem;
border-radius: 50%; border-radius: 50%;
@ -38,7 +38,7 @@ export default {
} }
.sc-state-bg--primary { .sc-state-bg--primary {
background: var(--na-color-primary); background: var(--el-color-primary);
} }
.sc-state-bg--success { .sc-state-bg--success {

View File

@ -68,14 +68,14 @@ export default {
} }
.sc-trend--P { .sc-trend--P {
color: #f56c6c; color: var(--el-color-danger);
} }
.sc-trend--N { .sc-trend--N {
color: #67c23a; color: var(--el-color-success);
} }
.sc-trend--Z { .sc-trend--Z {
color: #555; color: var(--el-color-info);
} }
</style> </style>

View File

@ -31,8 +31,8 @@ export default {
<style scoped> <style scoped>
.sc-page-header { .sc-page-header {
background: #fff; background: var(--el-bg-color);
border-bottom: 1px solid #e6e6e6; border-bottom: 1px solid var(--el-border-color-light);
padding: 1.5rem 2rem; padding: 1.5rem 2rem;
display: flex; display: flex;
} }
@ -44,7 +44,7 @@ export default {
.sc-page-header__icon span { .sc-page-header__icon span {
width: 2.5rem; width: 2.5rem;
height: 2.5rem; height: 2.5rem;
background: var(--na-color-primary); background: var(--el-color-primary);
border-radius: 40%; border-radius: 40%;
display: flex; display: flex;
align-items: center; align-items: center;
@ -52,7 +52,7 @@ export default {
} }
.sc-page-header__icon span i { .sc-page-header__icon span i {
color: #fff; color: var(--el-color-white);
font-size: 1.1rem; font-size: 1.1rem;
} }
@ -62,23 +62,14 @@ export default {
.sc-page-header__title h2 { .sc-page-header__title h2 {
font-size: 1.3rem; font-size: 1.3rem;
color: #3c4a54; color: var(--el-text-color-primary);
font-weight: bold; font-weight: bold;
margin-top: 0.3rem; margin-top: 0.3rem;
} }
.sc-page-header__title p { .sc-page-header__title p {
font-size: 1rem; font-size: 1rem;
color: #999; color: var(--el-color-info);
margin-top: 1rem; margin-top: 1rem;
} }
[data-theme='dark'] .sc-page-header {
background: #2b2b2b;
border-color: var(--el-border-color-base);
}
[data-theme='dark'] .sc-page-header__title h2 {
color: #c0c0c0;
}
</style> </style>

View File

@ -87,10 +87,10 @@ export default {
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
background: #fff; background: var(--el-color-white);
z-index: 100; z-index: 100;
border-radius: 0.4rem; border-radius: 0.4rem;
border: 1px solid #ebeef5; border: 1px solid var(--el-border-color-lighter);
display: flex; display: flex;
align-items: center; align-items: center;
padding-left: 1rem; padding-left: 1rem;

View File

@ -183,7 +183,7 @@ export default {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding-right: 1rem; padding-right: 1rem;
color: #999; color: var(--el-color-info);
} }
.sc-select-filter__item-options { .sc-select-filter__item-options {
@ -217,12 +217,12 @@ export default {
} }
.sc-select-filter__item-options li:hover { .sc-select-filter__item-options li:hover {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
.sc-select-filter__item-options li.active { .sc-select-filter__item-options li.active {
background: var(--na-color-primary); background: var(--el-color-primary);
color: #fff; color: var(--el-color-white);
font-weight: bold; font-weight: bold;
} }
@ -231,7 +231,7 @@ export default {
} }
.sc-select-filter__no-data { .sc-select-filter__no-data {
color: #999; color: var(--el-color-info);
} }
.sc-select-filter__item-w100p { .sc-select-filter__item-w100p {

View File

@ -59,7 +59,7 @@ export default {
<style scoped> <style scoped>
.sc-statistic-title { .sc-statistic-title {
font-size: 0.9rem; font-size: 0.9rem;
color: #999; color: var(--el-color-info);
margin-bottom: 1rem; margin-bottom: 1rem;
display: flex; display: flex;
align-items: center; align-items: center;
@ -71,7 +71,7 @@ export default {
.sc-statistic-content { .sc-statistic-content {
font-size: 1.5rem; font-size: 1.5rem;
color: #333; color: var(--el-text-color-primary);
} }
.sc-statistic-content-value { .sc-statistic-content-value {
@ -90,11 +90,11 @@ export default {
.sc-statistic-description { .sc-statistic-description {
margin-top: 1rem; margin-top: 1rem;
color: #999; color: var(--el-color-info);
} }
.dark .sc-statistic-content { .dark .sc-statistic-content {
color: #c0c0c0; color: var(--el-text-color-primary);
} }
.sc-statistic-icon { .sc-statistic-icon {

View File

@ -95,14 +95,14 @@ export default {
<style scoped> <style scoped>
.setting-column__title { .setting-column__title {
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid var(--el-border-color-lighter);
padding-bottom: 1rem; padding-bottom: 1rem;
} }
.setting-column__title span { .setting-column__title span {
display: inline-block; display: inline-block;
font-weight: bold; font-weight: bold;
color: #909399; color: var(--el-text-color-secondary);
font-size: 0.9rem; font-size: 0.9rem;
} }
@ -184,7 +184,7 @@ export default {
} }
.setting-column__bottom { .setting-column__bottom {
border-top: 1px solid #ebeef5; border-top: 1px solid var(--el-border-color-lighter);
padding-top: 1rem; padding-top: 1rem;
text-align: right; text-align: right;
} }

View File

@ -308,7 +308,7 @@ export default {
width: 1.9rem; width: 1.9rem;
height: 1.9rem; height: 1.9rem;
cursor: pointer; cursor: pointer;
color: #fff; color: var(--el-color-white);
} }
.sc-upload__img-actions span i { .sc-upload__img-actions span i {
@ -316,7 +316,7 @@ export default {
} }
.sc-upload__img-actions .del { .sc-upload__img-actions .del {
background: #f56c6c; background: var(--el-color-danger);
} }
.sc-upload__img:hover .sc-upload__img-actions { .sc-upload__img:hover .sc-upload__img-actions {
@ -376,7 +376,7 @@ export default {
.sc-upload .file-empty h4 { .sc-upload .file-empty h4 {
font-size: 0.9rem; font-size: 0.9rem;
font-weight: normal; font-weight: normal;
color: #8c939d; color: var(--el-color-info);
margin-top: 1rem; margin-top: 1rem;
} }

View File

@ -318,7 +318,7 @@ export default {
width: 25px; width: 25px;
height: 25px; height: 25px;
cursor: pointer; cursor: pointer;
color: #fff; color: var(--el-color-white);
} }
.sc-upload__item-actions span i { .sc-upload__item-actions span i {
@ -326,7 +326,7 @@ export default {
} }
.sc-upload__item-actions .del { .sc-upload__item-actions .del {
background: #f56c6c; background: var(--el-color-danger);
} }
.sc-upload__item-progress { .sc-upload__item-progress {

View File

@ -1,6 +1,5 @@
import API from '@/api' import API from '@/api'
import DEFAULT_CONFIG from '@/config/index' import DEFAULT_CONFIG from '@/config/index'
//文件选择器配置 //文件选择器配置
export default { export default {
@ -52,19 +51,19 @@ export default {
}, },
xls: { xls: {
icon: 'sc-icon-file-excel-2-fill', icon: 'sc-icon-file-excel-2-fill',
color: '#67C23A', color: 'var(--el-color-success)',
}, },
xlsx: { xlsx: {
icon: 'sc-icon-file-excel-2-fill', icon: 'sc-icon-file-excel-2-fill',
color: '#67C23A', color: 'var(--el-color-success)',
}, },
ppt: { ppt: {
icon: 'sc-icon-file-ppt-2-fill', icon: 'sc-icon-file-ppt-2-fill',
color: '#F56C6C', color: 'var(--el-color-danger)',
}, },
pptx: { pptx: {
icon: 'sc-icon-file-ppt-2-fill', icon: 'sc-icon-file-ppt-2-fill',
color: '#F56C6C', color: 'var(--el-color-danger)',
}, },
}, },
} }

View File

@ -56,7 +56,7 @@ export default {
.iframe-pages { .iframe-pages {
width: 100%; width: 100%;
height: 100%; height: 100%;
background: #fff; background: var(--el-color-white);
} }
iframe { iframe {

View File

@ -148,7 +148,7 @@ export default {
.sc-search-no-result { .sc-search-no-result {
text-align: center; text-align: center;
margin: 3rem 0; margin: 3rem 0;
color: #999; color: var(--el-color-info);
} }
.sc-search-history { .sc-search-history {
@ -183,8 +183,8 @@ export default {
} }
.sc-search-result li:hover { .sc-search-result li:hover {
background: var(--na-color-primary); background: var(--el-color-primary);
color: #fff; color: var(--el-color-white);
border-color: var(--na-color-primary); border-color: var(--el-color-primary);
} }
</style> </style>

View File

@ -9,7 +9,7 @@
<el-container class="mobile-nav"> <el-container class="mobile-nav">
<el-header> <el-header>
<div class="logo-bar"> <div class="logo-bar">
<img class="logo" src="@/assets/img/logo.png" /><span>{{ $CONFIG.APP_NAME }}</span> <img class="logo logo-fill-color" src="@/assets/img/logo.svg" /><span>{{ $CONFIG.APP_NAME }}</span>
</div> </div>
</el-header> </el-header>
<el-main> <el-main>
@ -18,9 +18,7 @@
:active-text-color="DEFAULT_CONFIG.APP_SET_COLOR" :active-text-color="DEFAULT_CONFIG.APP_SET_COLOR"
:default-active="$route.meta.active || $route.fullPath" :default-active="$route.meta.active || $route.fullPath"
@select="select" @select="select"
background-color="#424c50" router>
router
text-color="#fff">
<NavMenu :navMenus="menu"></NavMenu> <NavMenu :navMenus="menu"></NavMenu>
</el-menu> </el-menu>
</el-scrollbar> </el-scrollbar>
@ -142,20 +140,19 @@ export default {
z-index: 10; z-index: 10;
width: 4rem; width: 4rem;
height: 4rem; height: 4rem;
background: var(--na-color-primary); background: var(--el-color-primary);
box-shadow: 0 0.2rem 1rem 0 var(--na-color-primary); box-shadow: 0 0.2rem 1rem 0 var(--el-color-primary);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.mobile-nav-button i { .mobile-nav-button i {
color: #fff; color: var(--el-color-white);
font-size: 1.5rem; font-size: 1.5rem;
} }
.mobile-nav { .mobile-nav {
background: #424c50;
} }
.mobile-nav .el-header { .mobile-nav .el-header {
@ -172,7 +169,7 @@ export default {
align-items: center; align-items: center;
font-weight: bold; font-weight: bold;
font-size: 1.5rem; font-size: 1.5rem;
color: #fff; color: var(--el-text-color-primary);
} }
.mobile-nav .logo-bar img { .mobile-nav .logo-bar img {

View File

@ -58,10 +58,6 @@
</li> </li>
</ul> </ul>
</transition> </transition>
<el-tour v-model="tourOpen" @close="$TOOL.data.set('TOUR_TIP_READ_TAGS', true)">
<el-tour-step :target="this.$refs.tags" :title="$t('小提示')"> {{ $t('按下 ALT+Q 可快速关闭当前标签页') }} </el-tour-step>
</el-tour>
</template> </template>
<script> <script>
@ -71,7 +67,6 @@ export default {
name: 'tags', name: 'tags',
data() { data() {
return { return {
tourOpen: false,
refreshTimer: null, refreshTimer: null,
contextMenuVisible: false, contextMenuVisible: false,
contextMenuItem: null, contextMenuItem: null,
@ -134,11 +129,6 @@ export default {
mounted() { mounted() {
this.tagDrop() this.tagDrop()
this.scrollInit() this.scrollInit()
this.$nextTick(() => {
if (!this.$TOOL.data.get('TOUR_TIP_READ_TAGS')) {
this.tourOpen = true
}
})
}, },
methods: { methods: {
// //
@ -343,7 +333,7 @@ export default {
cursor: pointer; cursor: pointer;
line-height: 2.5rem; line-height: 2.5rem;
padding: 0 1.3rem; padding: 0 1.3rem;
color: #606266; color: var(--el-text-color-primary);
} }
.contextmenu li i { .contextmenu li i {
@ -351,14 +341,9 @@ export default {
margin-right: 1rem; margin-right: 1rem;
} }
.contextmenu li:hover {
background-color: #ecf5ff;
color: #66b1ff;
}
.contextmenu li.disabled { .contextmenu li.disabled {
cursor: not-allowed; cursor: not-allowed;
color: #bbb; color: var(--el-text-color-disabled);
background: transparent; background: transparent;
} }

View File

@ -5,7 +5,7 @@
<template #description> <template #description>
<h2>{{ $t('没有正在执行的作业') }}</h2> <h2>{{ $t('没有正在执行的作业') }}</h2>
</template> </template>
<p style="color: #999; line-height: 1.5; margin: 0 3rem"> <p style="color: var(--el-color-info); line-height: 1.5; margin: 0 3rem">
在处理耗时过久的作业时为了不阻碍正在处理的工作可在作业中心进行异步执行 在处理耗时过久的作业时为了不阻碍正在处理的工作可在作业中心进行异步执行
</p> </p>
</el-empty> </el-empty>
@ -205,7 +205,7 @@ export default {
} }
.user-bar-jobs-item:hover { .user-bar-jobs-item:hover {
border-color: var(--na-color-primary); border-color: var(--el-color-primary);
} }
.user-bar-jobs-item.alert:hover { .user-bar-jobs-item.alert:hover {
@ -224,7 +224,7 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
color: var(--na-color-primary); color: var(--el-color-primary);
border-radius: 1.5rem; border-radius: 1.5rem;
} }
@ -238,7 +238,7 @@ export default {
.user-bar-jobs-item-body .title p { .user-bar-jobs-item-body .title p {
font-size: 1rem; font-size: 1rem;
color: #999; color: var(--el-color-info);
margin-top: 0.5rem; margin-top: 0.5rem;
} }

View File

@ -5,7 +5,7 @@
<component :is="config.dark ? 'el-icon-sunny' : 'el-icon-moon'" /> <component :is="config.dark ? 'el-icon-sunny' : 'el-icon-moon'" />
</el-icon> </el-icon>
</div> </div>
<div @click="search" class="panel-item hidden-sm-and-down"> <div @click="search" class="panel-item hidden-sm-and-down userbar-btn-search">
<el-icon> <el-icon>
<el-icon-search /> <el-icon-search />
</el-icon> </el-icon>
@ -40,7 +40,7 @@
</el-drawer> </el-drawer>
</div> </div>
<el-dropdown @command="handleUser" class="user panel-item" trigger="hover"> <el-dropdown @command="handleUser" class="user panel-item" trigger="hover">
<div class="user-avatar"> <div class="user-avatar user-center">
<el-avatar <el-avatar
:size="30" :size="30"
:src=" :src="

View File

@ -2,9 +2,9 @@
<!-- 通栏布局 --> <!-- 通栏布局 -->
<template v-if="layout === 'header'"> <template v-if="layout === 'header'">
<header class="adminui-header"> <header class="adminui-header">
<div class="adminui-header-left"> <div @click="logoClick" class="adminui-header-left">
<div class="logo-bar"> <div class="logo-bar">
<img class="logo" src="@/assets/img/logo.png" /> <img class="logo logo-fill-color" src="@/assets/img/logo.svg" />
<div> <div>
<p>{{ $CONFIG.APP_NAME }}</p> <p>{{ $CONFIG.APP_NAME }}</p>
<p class="version color-secondary">{{ version }}</p> <p class="version color-secondary">{{ version }}</p>
@ -62,9 +62,9 @@
<!-- 经典布局 --> <!-- 经典布局 -->
<template v-else-if="layout === 'menu'"> <template v-else-if="layout === 'menu'">
<header class="adminui-header"> <header class="adminui-header">
<div class="adminui-header-left"> <div @click="logoClick" class="adminui-header-left">
<div class="logo-bar"> <div class="logo-bar">
<img class="logo" src="@/assets/img/logo.png" /> <img class="logo logo-fill-color" src="@/assets/img/logo.svg" />
<div> <div>
<p>{{ $CONFIG.APP_NAME }}</p> <p>{{ $CONFIG.APP_NAME }}</p>
<p class="version">{{ version }}</p> <p class="version">{{ version }}</p>
@ -109,9 +109,9 @@
<!-- 功能坞布局 --> <!-- 功能坞布局 -->
<template v-else-if="layout === 'dock'"> <template v-else-if="layout === 'dock'">
<header class="adminui-header"> <header class="adminui-header">
<div class="adminui-header-left"> <div @click="logoClick" class="adminui-header-left">
<div class="logo-bar"> <div class="logo-bar">
<img class="logo" src="@/assets/img/logo.png" /> <img class="logo logo-fill-color" src="@/assets/img/logo.svg" />
<div> <div>
<p>{{ $CONFIG.APP_NAME }}</p> <p>{{ $CONFIG.APP_NAME }}</p>
<p class="version">{{ version }}</p> <p class="version">{{ version }}</p>
@ -122,7 +122,7 @@
<div v-if="!ismobile" class="adminui-header-menu"> <div v-if="!ismobile" class="adminui-header-menu">
<el-menu <el-menu
:default-active="active" :default-active="active"
active-text-color="var(--na-color-primary)" active-text-color="var(--el-color-primary)"
mode="horizontal" mode="horizontal"
router router
text-color="var(--el-text-color-primary)"> text-color="var(--el-text-color-primary)">
@ -147,14 +147,13 @@
</div> </div>
</section> </section>
</template> </template>
<!-- 默认布局 --> <!-- 默认布局 -->
<template v-else> <template v-else>
<section class="aminui-wrapper"> <section class="aminui-wrapper">
<div v-if="!ismobile" class="aminui-side-split"> <div v-if="!ismobile" class="aminui-side-split">
<div class="aminui-side-split-top"> <div class="aminui-side-split-top">
<router-link :to="$CONFIG.DASHBOARD_URL"> <router-link :to="$CONFIG.DASHBOARD_URL">
<img :title="$CONFIG.APP_NAME" class="logo" src="@/assets/img/logo-r.png" /> <img :title="$CONFIG.APP_NAME" class="logo logo-fill-color" src="@/assets/img/logo.svg" />
</router-link> </router-link>
</div> </div>
<div class="adminui-side-split-scroll"> <div class="adminui-side-split-scroll">
@ -282,6 +281,9 @@ export default {
}, },
}, },
methods: { methods: {
logoClick() {
this.$router.push({ path: '/' })
},
onLayoutResize() { onLayoutResize() {
this.$store.commit('SET_ismobile', document.body.clientWidth < 992) this.$store.commit('SET_ismobile', document.body.clientWidth < 992)
}, },

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="router-err"> <div class="router-err">
<div class="router-err__icon"> <div class="router-err__icon">
<img src="@/assets/img/404.png" /> <img src="@/assets/img/404.svg" />
</div> </div>
<div class="router-err__content"> <div class="router-err__content">
<h2>{{ $t('无权限或找不到页面') }}</h2> <h2>{{ $t('无权限或找不到页面') }}</h2>
@ -56,7 +56,7 @@ export default {
.router-err__content p { .router-err__content p {
font-size: 1.1rem; font-size: 1.1rem;
color: #999; color: var(--el-color-info);
margin: 1rem 0 2.5rem 0; margin: 1rem 0 2.5rem 0;
line-height: 1.5; line-height: 1.5;
} }

View File

@ -1,26 +1,22 @@
/* 全局 */ /* 全局 */
:root {
--na-color-primary: #21a675;
}
#app, #app,
body, body,
html { html {
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: #f6f8f9; background-color: var(--el-bg-color);
font-size: var(--el-font-size-base); font-size: var(--el-font-size-base);
font-family: 'Microsoft YaHei', sans-serif; font-family: 'Microsoft YaHei', sans-serif;
} }
a { a {
color: #333; color: var(--el-text-color-primary);
text-decoration: none; text-decoration: none;
} }
a:hover, a:hover,
a:focus { a:focus {
color: #000; color: var(--el-color-black);
text-decoration: none; text-decoration: none;
} }
@ -96,7 +92,7 @@ textarea {
bottom: 10rem; bottom: 10rem;
right: 0; right: 0;
z-index: 100; z-index: 100;
background: var(--na-color-primary); background: var(--el-color-primary);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
@ -106,19 +102,20 @@ textarea {
.layout-setting i { .layout-setting i {
font-size: 1.3rem; font-size: 1.3rem;
color: #fff; color: var(--el-color-white);
} }
/* 头部 */ /* 头部 */
.adminui-header { .adminui-header {
height: 4rem; height: 4rem;
background: #fff; background: var(--el-color-white);
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
border-bottom: #ebeef5 1px solid; border-bottom: var(--el-border-color-lighter) 1px solid;
} }
.adminui-header-left { .adminui-header-left {
cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
padding-left: 1rem; padding-left: 1rem;
@ -142,6 +139,12 @@ textarea {
height: 3rem; height: 3rem;
} }
.logo-fill-color {
position: relative;
left: -10000px;
filter: drop-shadow(var(--el-color-primary) 10000px 0);
}
.adminui-header .nav { .adminui-header .nav {
display: flex; display: flex;
height: 100%; height: 100%;
@ -168,7 +171,7 @@ textarea {
} }
.adminui-header .nav li.active { .adminui-header .nav li.active {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
.adminui-header .user-bar .panel-item:hover { .adminui-header .user-bar .panel-item:hover {
@ -183,11 +186,11 @@ textarea {
.aminui-side-split { .aminui-side-split {
width: 5rem; width: 5rem;
flex-shrink: 0; flex-shrink: 0;
background: #fff; background: var(--el-color-white);
color: var(--el-menu-text-color); color: var(--el-menu-text-color);
display: flex; display: flex;
flex-flow: column; flex-flow: column;
border-right: #ebeef5 1px solid; border-right: var(--el-border-color-lighter) 1px solid;
} }
.aminui-side-split-top { .aminui-side-split-top {
@ -238,8 +241,8 @@ textarea {
} }
.aminui-side-split li.active { .aminui-side-split li.active {
background: var(--na-color-primary); background: var(--el-color-primary);
color: #fff; color: var(--el-color-white);
} }
.adminui-side-split-scroll::-webkit-scrollbar-thumb { .adminui-side-split-scroll::-webkit-scrollbar-thumb {
@ -264,13 +267,13 @@ textarea {
flex-flow: column; flex-flow: column;
flex-shrink: 0; flex-shrink: 0;
width: 15rem; width: 15rem;
background: #fff; background: var(--el-color-white);
border-right: 1px solid #e6e6e6; border-right: 1px solid var(--el-border-color-light);
transition: width 0.3s; transition: width 0.3s;
} }
.adminui-side-top { .adminui-side-top {
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid var(--el-border-color-lighter);
height: 4rem; height: 4rem;
line-height: 4rem; line-height: 4rem;
} }
@ -278,7 +281,7 @@ textarea {
.adminui-side-top h2 { .adminui-side-top h2 {
padding: 0 var(--el-menu-base-level-padding); padding: 0 var(--el-menu-base-level-padding);
font-size: 1.3rem; font-size: 1.3rem;
color: #3c4a54; color: var(--el-text-color-primary);
} }
.adminui-side-scroll { .adminui-side-scroll {
@ -288,7 +291,7 @@ textarea {
} }
.adminui-side-bottom { .adminui-side-bottom {
border-top: 1px solid #ebeef5; border-top: 1px solid var(--el-border-color-lighter);
height: 4rem; height: 4rem;
cursor: pointer; cursor: pointer;
display: flex; display: flex;
@ -301,7 +304,7 @@ textarea {
} }
.adminui-side-bottom:hover { .adminui-side-bottom:hover {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
.aminui-side.isCollapse { .aminui-side.isCollapse {
@ -314,7 +317,7 @@ textarea {
line-height: 1.4rem; line-height: 1.4rem;
background: var(--el-color-danger); background: var(--el-color-danger);
font-size: 0.9rem; font-size: 0.9rem;
color: #fff; color: var(--el-color-white);
right: 1rem; right: 1rem;
border-radius: 1.5rem; border-radius: 1.5rem;
padding: 0 0.5rem; padding: 0 0.5rem;
@ -333,8 +336,8 @@ textarea {
.adminui-topbar { .adminui-topbar {
height: 3rem; height: 3rem;
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid var(--el-border-color-lighter);
background: #fff; background: var(--el-color-white);
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
@ -358,8 +361,8 @@ textarea {
.adminui-tags { .adminui-tags {
height: 3rem; height: 3rem;
background: #fff; background: var(--el-color-white);
border-bottom: 1px solid #e6e6e6; border-bottom: 1px solid var(--el-border-color-light);
} }
.adminui-tags ul { .adminui-tags ul {
@ -382,14 +385,14 @@ textarea {
height: 100%; height: 100%;
position: absolute; position: absolute;
right: 0; right: 0;
background-image: linear-gradient(#fff, #e6e6e6); background-image: linear-gradient(var(--el-color-white), var(--el-border-color-light));
} }
.adminui-tags li a { .adminui-tags li a {
padding: 0 1rem; padding: 0 1rem;
width: 100%; width: 100%;
height: 100%; height: 100%;
color: #999; color: var(--el-color-info);
text-decoration: none; text-decoration: none;
display: flex; display: flex;
align-items: center; align-items: center;
@ -407,19 +410,19 @@ textarea {
.adminui-tags li i:hover { .adminui-tags li i:hover {
background: rgba(0, 0, 0, 0.2); background: rgba(0, 0, 0, 0.2);
color: #fff; color: var(--el-color-white);
} }
.adminui-tags li:hover { .adminui-tags li:hover {
background: #ecf5ff; background: var(--el-fill-color-dark);
} }
.adminui-tags li.active { .adminui-tags li.active {
background: var(--na-color-primary); background: var(--el-color-primary);
} }
.adminui-tags li.active a { .adminui-tags li.active a {
color: #fff; color: var(--el-color-white);
} }
.adminui-tags li.sortable-ghost { .adminui-tags li.sortable-ghost {
@ -428,7 +431,7 @@ textarea {
.adminui-main { .adminui-main {
overflow: auto; overflow: auto;
background-color: #f6f8f9; background-color: var(--el-bg-color);
flex: 1; flex: 1;
} }
@ -465,7 +468,7 @@ textarea {
.main-maximize-exit i { .main-maximize-exit i {
font-size: 1rem; font-size: 1rem;
margin-top: 1.5rem; margin-top: 1.5rem;
color: #fff; color: var(--el-color-white);
} }
.main-maximize-exit:hover { .main-maximize-exit:hover {
@ -556,7 +559,7 @@ textarea {
&:after { &:after {
content: ''; content: '';
margin: 2rem 0; margin: 2rem 0;
border-bottom: var(--na-color-primary) 1px dashed; border-bottom: var(--el-color-primary) 1px dashed;
display: block; display: block;
} }

View File

@ -6,6 +6,7 @@ html.dark {
--el-text-color-regular: #c0c0c0; --el-text-color-regular: #c0c0c0;
--el-text-color-secondary: #666666; --el-text-color-secondary: #666666;
--el-mask-color: rgba(29, 30, 31, 0.9); --el-mask-color: rgba(29, 30, 31, 0.9);
--el-color-primary: rgba(0, 0, 0, 0);
--el-color-primary-dark-2: var(--el-color-primary-light-2) !important; --el-color-primary-dark-2: var(--el-color-primary-light-2) !important;
--el-color-primary-light-9: var(--el-color-primary-dark-8) !important; --el-color-primary-light-9: var(--el-color-primary-dark-8) !important;
--el-color-primary-light-8: var(--el-color-primary-dark-7) !important; --el-color-primary-light-8: var(--el-color-primary-dark-7) !important;
@ -94,7 +95,7 @@ html.dark {
} }
.el-table th.is-sortable:hover { .el-table th.is-sortable:hover {
background: #111; background: black;
} }
.jv-container .jv-code.open { .jv-container .jv-code.open {

View File

@ -1,32 +1,14 @@
/* 覆盖element-plus样式 */ /* 覆盖element-plus样式 */
:root { :root {
--el-color-primary: #21a675; --el-color-primary: rgba(0, 0, 0, 0);
--el-color-primary-light-1: #53a7ff;
--el-color-primary-light-2: #66b1ff;
--el-color-primary-light-3: #79bbff;
--el-color-primary-light-4: #8cc4ff;
--el-color-primary-light-5: #9fceff;
--el-color-primary-light-6: #b2d8ff;
--el-color-primary-light-7: #c5e1ff;
--el-color-primary-light-8: #d8ebff;
--el-color-primary-light-9: #ebf5ff;
--el-color-primary-dark-1: #398ee5;
--el-color-primary-dark-2: #337ecc;
--el-color-primary-dark-3: #2c6eb2;
--el-color-primary-dark-4: #265e99;
--el-color-primary-dark-5: #204f7f;
--el-color-primary-dark-6: #193f66;
--el-color-primary-dark-7: #132f4c;
--el-color-primary-dark-8: #0c1f32;
--el-color-primary-dark-9: #060f19;
--el-font-size-base: 13px; --el-font-size-base: 13px;
--el-disabled-bg-color: --el-bg-color; --el-disabled-bg-color: --el-bg-color;
--el-menu-horizontal-height: 4rem; --el-menu-horizontal-height: 4rem;
} }
.el-menu--inline { .el-menu--inline {
--el-menu-active-color: var(--na-color-primary) !important; --el-menu-active-color: var(--el-color-primary) !important;
} }
.el-form-item--default { .el-form-item--default {
@ -78,7 +60,7 @@
.el-form-item-msg { .el-form-item-msg {
font-size: 1rem; font-size: 1rem;
color: #999; color: var(--el-color-info);
flex-grow: 1; flex-grow: 1;
line-height: 2rem; line-height: 2rem;
} }
@ -97,7 +79,7 @@
} }
.el-header { .el-header {
background: #fff; background: var(--el-color-white);
border-bottom: 1px solid var(--el-border-color-light); border-bottom: 1px solid var(--el-border-color-light);
padding: 1rem 1rem; padding: 1rem 1rem;
display: flex; display: flex;
@ -130,7 +112,7 @@
.el-main.nopadding { .el-main.nopadding {
padding: 0; padding: 0;
background: #fff; background: var(--el-color-white);
} }
.el-drawer__body { .el-drawer__body {
@ -156,7 +138,7 @@
} }
.drawerBG { .drawerBG {
background: #f6f8f9; background: var(--el-bg-color);
} }
.el-button + .el-dropdown { .el-button + .el-dropdown {
@ -205,11 +187,11 @@
} }
.el-table th.is-sortable:hover { .el-table th.is-sortable:hover {
background: #eee; background: var(--el-fill-color-dark);
} }
.el-table .el-table__body-wrapper { .el-table .el-table__body-wrapper {
background: #f6f8f9; background: var(--el-bg-color);
} }
.el-col .el-card { .el-col .el-card {
@ -269,7 +251,7 @@
} }
.aminui-side-split li.active { .aminui-side-split li.active {
background-color: var(--na-color-primary); background-color: var(--el-color-primary);
} }
.adminui-tags li:hover { .adminui-tags li:hover {
@ -277,7 +259,7 @@
} }
.adminui-tags li.active { .adminui-tags li.active {
background-color: var(--na-color-primary) !important; background-color: var(--el-color-primary) !important;
} }
.contextmenu li:hover { .contextmenu li:hover {
@ -286,12 +268,12 @@
} }
.data-box .item-background { .data-box .item-background {
background-color: var(--na-color-primary) !important; background-color: var(--el-color-primary) !important;
} }
.layout-setting, .layout-setting,
.diy-grid-setting { .diy-grid-setting {
background-color: var(--na-color-primary) !important; background-color: var(--el-color-primary) !important;
} }
.el-descriptions__body .el-descriptions__table { .el-descriptions__body .el-descriptions__table {

View File

@ -70,7 +70,7 @@
.common-header-right a { .common-header-right a {
font-size: 1.3rem; font-size: 1.3rem;
color: var(--na-color-primary); color: var(--el-color-primary);
cursor: pointer; cursor: pointer;
} }
@ -107,7 +107,7 @@
} }
.common-main .link { .common-main .link {
color: var(--na-color-primary); color: var(--el-color-primary);
cursor: pointer; cursor: pointer;
} }

View File

@ -20,7 +20,7 @@ export default {
// <text> name // <text> name
const text = document.createElement('text') const text = document.createElement('text')
text.setAttribute('fill', '#fff') text.setAttribute('fill', 'white')
text.setAttribute('x', '50%') text.setAttribute('x', '50%')
text.setAttribute('y', '50%') text.setAttribute('y', '50%')
text.setAttribute('text-anchor', 'middle') text.setAttribute('text-anchor', 'middle')

View File

@ -1,4 +1,5 @@
export default { export default {
colorSets: ['#6cd8aa', '#b1ecd3', '#7ca594', '#ff997f', '#ffccbf', '#dfb2a7', '#6caad8', '#b1d3ec', '#7c94a5', '#ffbf7f', '#ffdfbf', '#dfc3a7'],
//hex颜色转rgb颜色 //hex颜色转rgb颜色
HexToRgb(str) { HexToRgb(str) {
str = str.replace('#', '') str = str.replace('#', '')

View File

@ -43,7 +43,7 @@ Print.prototype = {
str += styles[i].outerHTML str += styles[i].outerHTML
} }
str += '<style>' + (this.options.noPrint ? this.options.noPrint : '.no-print') + '{display:none;}</style>' str += '<style>' + (this.options.noPrint ? this.options.noPrint : '.no-print') + '{display:none;}</style>'
str += '<style>html,body{background-color:#fff;}</style>' str += '<style>html,body{background-color:white;}</style>'
return str return str
}, },

View File

@ -6,7 +6,7 @@
<el-card :body-style="{ padding: '0' }" shadow="hover"> <el-card :body-style="{ padding: '0' }" shadow="hover">
<div class="code-item"> <div class="code-item">
<div :style="{ background: 'blue' }" class="img"> <div :style="{ background: 'blue' }" class="img">
<el-icon :style="`background-image: -webkit-linear-gradient(top left, #fff, blue 10rem)`"> <el-icon>
<component :is="`sc-icon-js`" /> <component :is="`sc-icon-js`" />
</el-icon> </el-icon>
</div> </div>
@ -23,7 +23,7 @@
<el-card :body-style="{ padding: '0' }" shadow="hover"> <el-card :body-style="{ padding: '0' }" shadow="hover">
<div class="code-item"> <div class="code-item">
<div :style="{ background: 'orange' }" class="img"> <div :style="{ background: 'orange' }" class="img">
<el-icon :style="`background-image: -webkit-linear-gradient(top left, #fff, blue 10rem)`"> <el-icon>
<component :is="`sc-icon-csharp`" /> <component :is="`sc-icon-csharp`" />
</el-icon> </el-icon>
</div> </div>
@ -49,7 +49,7 @@
<el-card :body-style="{ padding: '0' }" shadow="hover"> <el-card :body-style="{ padding: '0' }" shadow="hover">
<div class="code-item"> <div class="code-item">
<div :style="{ background: 'green' }" class="img"> <div :style="{ background: 'green' }" class="img">
<el-icon :style="`background-image: -webkit-linear-gradient(top left, #fff, green 10rem)`"> <el-icon>
<component :is="`el-icon-picture`" /> <component :is="`el-icon-picture`" />
</el-icon> </el-icon>
</div> </div>
@ -79,7 +79,7 @@
<el-card :body-style="{ padding: '0' }" shadow="hover"> <el-card :body-style="{ padding: '0' }" shadow="hover">
<div class="code-item"> <div class="code-item">
<div :style="{ background: 'gray' }" class="img"> <div :style="{ background: 'gray' }" class="img">
<el-icon :style="`background-image: -webkit-linear-gradient(top left, #fff, green 10rem)`"> <el-icon>
<component :is="`el-icon-picture`" /> <component :is="`el-icon-picture`" />
</el-icon> </el-icon>
</div> </div>
@ -170,7 +170,6 @@ export default {
.code-item .img { .code-item .img {
width: 100%; width: 100%;
height: 10rem; height: 10rem;
background: #09f;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@ -178,9 +177,7 @@ export default {
.code-item .img i { .code-item .img i {
font-size: 7.7rem; font-size: 7.7rem;
color: #fff; color: var(--el-color-white);
background-image: -webkit-linear-gradient(top left, #fff, #09f 10rem);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
@ -194,7 +191,7 @@ export default {
.code-item .title h4 { .code-item .title h4 {
font-size: 0.9rem; font-size: 0.9rem;
color: #999; color: var(--el-color-info);
font-weight: normal; font-weight: normal;
margin-top: 0.4rem; margin-top: 0.4rem;
} }

View File

@ -3,7 +3,7 @@
<el-header> <el-header>
<div class="common-header-left"> <div class="common-header-left">
<div class="common-header-logo"> <div class="common-header-logo">
<img :alt="$CONFIG.APP_NAME" src="@/assets/img/logo.png" /> <img :alt="$CONFIG.APP_NAME" class="logo-fill-color" src="@/assets/img/logo.svg" />
<label>{{ $CONFIG.APP_NAME }}</label> <label>{{ $CONFIG.APP_NAME }}</label>
</div> </div>
<div class="common-header-title">{{ title }}</div> <div class="common-header-title">{{ title }}</div>

View File

@ -34,7 +34,7 @@
<div class="login-form"> <div class="login-form">
<div class="login-header"> <div class="login-header">
<div class="logo"> <div class="logo">
<img :alt="$CONFIG.APP_NAME" src="@/assets/img/logo.png" /> <img :alt="$CONFIG.APP_NAME" class="logo-fill-color" src="@/assets/img/logo.svg" />
<label>{{ $CONFIG.APP_NAME }}</label> <label>{{ $CONFIG.APP_NAME }}</label>
</div> </div>
</div> </div>
@ -125,7 +125,7 @@ export default {
.login_bg { .login_bg {
width: 100%; width: 100%;
height: 100%; height: 100%;
background: #fff; background: var(--el-color-white);
display: flex; display: flex;
} }
@ -166,7 +166,7 @@ export default {
} }
.login-form:deep(.login-forgot) a { .login-form:deep(.login-forgot) a {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
.login-form:deep(.login-forgot) a:hover { .login-form:deep(.login-forgot) a:hover {
@ -179,7 +179,7 @@ export default {
} }
.login-form:deep(.login-reg) a { .login-form:deep(.login-reg) a {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
.login-form:deep(.login-reg) a:hover { .login-form:deep(.login-reg) a:hover {

View File

@ -4,6 +4,15 @@
<widgets v-if="dashboard" @on-customizing="onCustomizing"></widgets> <widgets v-if="dashboard" @on-customizing="onCustomizing"></widgets>
<work v-else></work> <work v-else></work>
</el-main> </el-main>
<el-tour v-model="tour.open" @close="$TOOL.data.set('TOUR_TIP_READ_INDEX', true)">
<el-tour-step :target="tour.targets.tags" :title="$t('操作指引')"> {{ $t('按下 ALT+Q 可快速关闭当前标签页') }} </el-tour-step>
<el-tour-step :target="tour.targets.search" :title="$t('操作指引')"> {{ $t('快速查找菜单功能') }} </el-tour-step>
<el-tour-step :target="tour.targets.userCenter" :title="$t('操作指引')"> {{ $t('修改个人信息和密码') }} </el-tour-step>
<el-tour-step v-if="dashboard" :target="tour.targets.layoutSetting" :title="$t('操作指引')">
{{ $t('自定义首页布局') }}
</el-tour-step>
</el-tour>
</template> </template>
<script> <script>
@ -19,6 +28,9 @@ export default {
}, },
data() { data() {
return { return {
tour: {
targets: {},
},
loading: true, loading: true,
mainHeight: 'auto', mainHeight: 'auto',
dashboard: false, dashboard: false,
@ -30,7 +42,29 @@ export default {
this.dashboard = this.$GLOBAL.user.roles.findIndex((x) => x.displayDashboard) >= 0 this.dashboard = this.$GLOBAL.user.roles.findIndex((x) => x.displayDashboard) >= 0
this.loading = false this.loading = false
}, },
mounted() {}, mounted() {
this.$nextTick(() => {
if (this.$TOOL.data.get('TOUR_TIP_READ_INDEX')) {
return
}
const timer = setInterval(() => {
this.tour.targets.tags = document.getElementsByClassName('adminui-tags')[0]
this.tour.targets.search = document.getElementsByClassName('userbar-btn-search')[0]
this.tour.targets.userCenter = document.getElementsByClassName('user-center')[0]
if (this.dashboard) {
this.tour.targets.layoutSetting = document.getElementsByClassName('layout-setting')[0]
}
if (this.tour.targets.tags && this.tour.targets.search && this.tour.targets.userCenter) {
if (this.dashboard && !this.tour.targets.layoutSetting) {
return
}
this.tour.open = true
clearInterval(timer)
}
}, 1000)
})
},
methods: { methods: {
onCustomizing(isCustomizing) { onCustomizing(isCustomizing) {
this.mainHeight = isCustomizing ? '100%' : 'auto' this.mainHeight = isCustomizing ? '100%' : 'auto'

View File

@ -44,7 +44,7 @@ export default {
display: none; display: none;
} }
a { a {
color: var(--na-color-primary); color: var(--el-color-primary);
} }
} }
</style> </style>

View File

@ -84,14 +84,14 @@ export default {
} }
.selectLayout-item:hover { .selectLayout-item:hover {
border-color: var(--na-color-primary); border-color: var(--el-color-primary);
} }
.selectLayout-item.active { .selectLayout-item.active {
border-color: var(--na-color-primary); border-color: var(--el-color-primary);
} }
.selectLayout-item.active span { .selectLayout-item.active span {
background: var(--na-color-primary); background: var(--el-color-primary);
} }
</style> </style>

View File

@ -1,7 +1,7 @@
<template> <template>
<el-card v-loading="loading" class="main" shadow="never"> <el-card v-loading="loading" class="main" shadow="never">
<div class="wrap"> <div class="wrap">
<img alt="" src="@/assets/img/logo.png" width="200" /> <img alt="" class="logo-fill-color" src="@/assets/img/logo.svg" width="200" />
<h2>{{ packageJson.name }}</h2> <h2>{{ packageJson.name }}</h2>
<p>{{ ver }}</p> <p>{{ ver }}</p>
<el-link href="https://github.com/nsnail/NetAdmin" target="_blank">{{ $t('喜欢就点个 Star⭐ 吧!') }}</el-link> <el-link href="https://github.com/nsnail/NetAdmin" target="_blank">{{ $t('喜欢就点个 Star⭐ 吧!') }}</el-link>

View File

@ -273,7 +273,7 @@ export default {
.widgets-aside { .widgets-aside {
width: 25rem; width: 25rem;
background: #fff; background: var(--el-color-white);
position: relative; position: relative;
overflow: auto; overflow: auto;
} }
@ -335,7 +335,7 @@ export default {
} }
.customizing .widgets-wrapper .draggable-box { .customizing .widgets-wrapper .draggable-box {
border: 1px dashed var(--na-color-primary); border: 1px dashed var(--el-color-primary);
padding: 1rem; padding: 1rem;
} }
@ -364,8 +364,8 @@ export default {
} }
.customize-overlay label { .customize-overlay label {
background: var(--na-color-primary); background: var(--el-color-primary);
color: #fff; color: var(--el-color-white);
height: 4rem; height: 4rem;
padding: 0 3rem; padding: 0 3rem;
border-radius: 3rem; border-radius: 3rem;
@ -409,7 +409,6 @@ export default {
justify-content: center; justify-content: center;
font-size: 1.4rem; font-size: 1.4rem;
margin-right: 1rem; margin-right: 1rem;
color: #6a8bad;
} }
.widgets-list-item .item-info { .widgets-list-item .item-info {
@ -424,7 +423,7 @@ export default {
.widgets-list-item .item-info p { .widgets-list-item .item-info p {
font-size: 0.9rem; font-size: 0.9rem;
color: #999; color: var(--el-color-info);
cursor: default; cursor: default;
} }
@ -442,10 +441,6 @@ export default {
} }
.dark { .dark {
.widgets-aside {
background: #2b2b2b;
}
.customize-overlay { .customize-overlay {
background: rgba(43, 43, 43, 0.9); background: rgba(43, 43, 43, 0.9);
} }

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<ul class="myMods"> <ul class="myMods">
<li v-for="mod in myMods" :key="mod.path" :style="{ background: mod.meta.color || '#909399' }"> <li v-for="mod in myMods" :key="mod.path" :style="{ background: mod.meta.color || 'var(--el-text-color-secondary)' }">
<a v-if="mod.meta.type === 'link'" :href="mod.path" target="_blank"> <a v-if="mod.meta.type === 'link'" :href="mod.path" target="_blank">
<el-icon> <el-icon>
<component :is="mod.meta.icon || `el-icon-menu`" /> <component :is="mod.meta.icon || `el-icon-menu`" />
@ -29,7 +29,7 @@
<h4>{{ $t('我的常用') }} ( {{ myMods.length }} )</h4> <h4>{{ $t('我的常用') }} ( {{ myMods.length }} )</h4>
<draggable v-model="myMods" animation="200" group="people" item-key="path" tag="ul"> <draggable v-model="myMods" animation="200" group="people" item-key="path" tag="ul">
<template #item="{ element }"> <template #item="{ element }">
<li :style="{ background: element.meta.color || '#909399' }"> <li :style="{ background: element.meta.color || 'var(--el-text-color-secondary)' }">
<el-icon> <el-icon>
<component :is="element.meta.icon || el - icon - menu" /> <component :is="element.meta.icon || el - icon - menu" />
</el-icon> </el-icon>
@ -42,7 +42,7 @@
<h4>{{ $t('全部应用') }} ( {{ filterMods.length }} )</h4> <h4>{{ $t('全部应用') }} ( {{ filterMods.length }} )</h4>
<draggable v-model="filterMods" :sort="false" animation="200" group="people" item-key="path" tag="ul"> <draggable v-model="filterMods" :sort="false" animation="200" group="people" item-key="path" tag="ul">
<template #item="{ element }"> <template #item="{ element }">
<li :style="{ background: element.meta.color || '#909399' }"> <li :style="{ background: element.meta.color || 'var(--el-text-color-secondary)' }">
<el-icon> <el-icon>
<component :is="element.meta.icon || el - icon - menu" /> <component :is="element.meta.icon || el - icon - menu" />
</el-icon> </el-icon>
@ -148,17 +148,17 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
text-align: center; text-align: center;
color: #fff; color: var(--el-color-white);
} }
.myMods li i { .myMods li i {
font-size: 2rem; font-size: 2rem;
color: #fff; color: var(--el-color-white);
} }
.myMods li p { .myMods li p {
font-size: 0.9rem; font-size: 0.9rem;
color: #fff; color: var(--el-color-white);
margin-top: 1rem; margin-top: 1rem;
width: 100%; width: 100%;
white-space: nowrap; white-space: nowrap;
@ -167,19 +167,19 @@ export default {
} }
.modItem-add { .modItem-add {
border: 1px dashed #ddd; border: 1px dashed var(--el-border-color-darker);
cursor: pointer; cursor: pointer;
} }
.modItem-add i { .modItem-add i {
font-size: 2.3rem; font-size: 2.3rem;
color: #999 !important; color: var(--el-color-info) !important;
} }
.modItem-add:hover, .modItem-add:hover,
.modItem-add:hover i { .modItem-add:hover i {
border-color: var(--na-color-primary); border-color: var(--el-color-primary);
color: var(--na-color-primary) !important; color: var(--el-color-primary) !important;
} }
.setMods { .setMods {
@ -202,7 +202,7 @@ export default {
height: 6rem; height: 6rem;
text-align: center; text-align: center;
margin: 0.4rem; margin: 0.4rem;
color: #fff; color: var(--el-color-white);
vertical-align: top; vertical-align: top;
padding: 1rem 0.3rem 0.3rem; padding: 1rem 0.3rem 0.3rem;
cursor: move; cursor: move;

View File

@ -77,7 +77,7 @@ import DEFAULT_CONFIG from '@/config'
export default { export default {
data() { data() {
return { return {
colorList: [DEFAULT_CONFIG.APP_SET_COLOR, '#009688', '#536dfe', '#ff5c93', '#c62f2f', '#fd726d'], colorList: [DEFAULT_CONFIG.APP_SET_COLOR, ...colorTool.colorSets],
config: { config: {
layout: this.$TOOL.data.get('APP_SET_LAYOUT') || this.$CONFIG.APP_SET_LAYOUT, layout: this.$TOOL.data.get('APP_SET_LAYOUT') || this.$CONFIG.APP_SET_LAYOUT,
menuIsCollapse: this.$TOOL.data.get('APP_SET_MENU_IS_COLLAPSE') || this.$CONFIG.APP_SET_MENU_IS_COLLAPSE, menuIsCollapse: this.$TOOL.data.get('APP_SET_MENU_IS_COLLAPSE') || this.$CONFIG.APP_SET_MENU_IS_COLLAPSE,