进行了一些优化
This commit is contained in:
@@ -114,38 +114,10 @@
|
||||
|
||||
/* ============================================================
|
||||
* 主题化下载视图(成功 / 错误 / 扫码共用外壳)
|
||||
* 色彩一律继承运行时「色彩方案」:InlineStyleBuilder 注入
|
||||
* :root 的 --focus-color / --color-primary-*,配置暗色主色时
|
||||
* 会自动切换到 html.dark 下的暗色主题色,无需本地另设配色。
|
||||
* ============================================================ */
|
||||
.aksrt-dl-view {
|
||||
/* 配色变量:按 dlv-* 修饰符整体换肤,按钮与阴影自动跟随 */
|
||||
--dl-from: var(--color-primary, #f04494);
|
||||
--dl-to: var(--color-accent, #18a058);
|
||||
--dl-text: #fff;
|
||||
}
|
||||
|
||||
.aksrt-dl-view.dlv-brand {
|
||||
--dl-to: var(--aksrt-purple, #8b5cf6);
|
||||
}
|
||||
|
||||
.aksrt-dl-view.dlv-info {
|
||||
--dl-from: var(--aksrt-blue, #3b82f6);
|
||||
--dl-to: var(--aksrt-cyan, #06b6d4);
|
||||
}
|
||||
|
||||
.aksrt-dl-view.dlv-warn {
|
||||
--dl-from: var(--color-warning, #f59e0b);
|
||||
--dl-to: var(--aksrt-orange, #f97316);
|
||||
}
|
||||
|
||||
.aksrt-dl-view.dlv-error {
|
||||
--dl-from: var(--color-error, #ef4444);
|
||||
--dl-to: #dc2626;
|
||||
}
|
||||
|
||||
.aksrt-dl-view.dlv-vip {
|
||||
--dl-from: var(--aksrt-vip-gold-2, #fda085);
|
||||
--dl-to: var(--aksrt-vip-gold-1, #f6d365);
|
||||
--dl-text: #6b4a12;
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__hero {
|
||||
position: relative;
|
||||
@@ -155,9 +127,9 @@
|
||||
gap: 10px;
|
||||
padding: 26px 52px 22px;
|
||||
overflow: hidden;
|
||||
color: var(--dl-text);
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
background: linear-gradient(135deg, var(--dl-from), var(--dl-to));
|
||||
background: var(--focus-color, #f04494);
|
||||
}
|
||||
|
||||
/* 装饰光斑(对应 pay-widget 的 orb 语言) */
|
||||
@@ -263,7 +235,7 @@
|
||||
display: block;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
color: var(--color-primary, #f04494);
|
||||
color: var(--focus-color, #f04494);
|
||||
font: 800 20px/1.25 var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
|
||||
letter-spacing: 0.12em;
|
||||
text-overflow: ellipsis;
|
||||
@@ -286,12 +258,12 @@
|
||||
flex: 0 0 auto;
|
||||
height: 30px;
|
||||
padding: 0 14px;
|
||||
color: var(--color-primary, #f04494);
|
||||
color: var(--focus-color, #f04494);
|
||||
font-family: inherit;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
background: var(--color-primary-soft, rgba(240, 68, 148, 0.1));
|
||||
background: var(--focus-color-opacity1, rgba(240, 68, 148, 0.1));
|
||||
border: 0;
|
||||
border-radius: 999px;
|
||||
cursor: pointer;
|
||||
@@ -302,7 +274,7 @@
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__copy:focus-visible {
|
||||
outline: 2px solid var(--color-primary, #f04494);
|
||||
outline: 2px solid var(--focus-color, #f04494);
|
||||
outline-offset: 1px;
|
||||
}
|
||||
|
||||
@@ -332,7 +304,7 @@
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__chip i {
|
||||
color: var(--color-primary, #f04494);
|
||||
color: var(--focus-color, #f04494);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@@ -353,40 +325,41 @@
|
||||
width: 100%;
|
||||
min-height: 42px;
|
||||
padding: 0 18px;
|
||||
color: var(--dl-text, #fff);
|
||||
color: #fff;
|
||||
font-family: inherit;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
background: linear-gradient(135deg, var(--dl-from, var(--color-primary, #f04494)), var(--dl-to, var(--color-accent, #18a058)));
|
||||
background: var(--focus-color, #f04494);
|
||||
border: 0;
|
||||
border-radius: 10px;
|
||||
cursor: pointer;
|
||||
transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
|
||||
transition: transform 0.15s ease, background 0.2s ease, box-shadow 0.2s ease;
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__btn:hover {
|
||||
background: var(--color-primary-hover, #e0307e);
|
||||
transform: translateY(-1px);
|
||||
filter: brightness(1.05);
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__btn:active {
|
||||
background: var(--color-primary-active, #c9206d);
|
||||
transform: scale(0.98);
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__btn:focus-visible {
|
||||
outline: 2px solid var(--color-primary, #f04494);
|
||||
outline: 2px solid var(--focus-color, #f04494);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__download {
|
||||
min-height: 48px;
|
||||
font-size: 15px;
|
||||
box-shadow: 0 10px 20px -8px var(--dl-from, var(--color-primary, #f04494));
|
||||
box-shadow: 0 10px 20px -8px rgba(var(--color-primary-rgb, 240, 68, 148), 0.55);
|
||||
}
|
||||
|
||||
.aksrt-dl-modal__download:hover {
|
||||
box-shadow: 0 12px 24px -8px var(--dl-from, var(--color-primary, #f04494));
|
||||
box-shadow: 0 12px 24px -8px rgba(var(--color-primary-rgb, 240, 68, 148), 0.65);
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
|
||||
+11
-11
@@ -138,17 +138,17 @@
|
||||
}
|
||||
|
||||
// ===== 统一视图壳(下载 / 错误 / 扫码共用主题化外观) =====
|
||||
// variant 决定 hero 渐变配色(对应 CSS 的 .dlv-* 修饰符)。
|
||||
// 头部与按钮统一继承运行时主题色(--focus-color),状态用图标 + 标题区分。
|
||||
const DL_VIEWS = {
|
||||
success: { variant: 'success', icon: 'fa-cloud-download-alt', title: '下载已就绪' },
|
||||
login: { variant: 'info', icon: 'fa-user-lock', title: '请先登录' },
|
||||
purchase: { variant: 'brand', icon: 'fa-shopping-cart', title: '请先购买' },
|
||||
vip: { variant: 'vip', icon: 'fa-gem', title: '会员专属' },
|
||||
credits: { variant: 'warn', icon: 'fa-coins', title: '积分不足' },
|
||||
quota: { variant: 'warn', icon: 'fa-hourglass-half', title: '今日免费额度已用完' },
|
||||
captcha: { variant: 'error', icon: 'fa-shield-alt', title: '验证失败' },
|
||||
error: { variant: 'error', icon: 'fa-exclamation-circle', title: '下载失败' },
|
||||
pay: { variant: 'info', icon: 'fa-qrcode', title: '扫码支付' },
|
||||
success: { icon: 'fa-cloud-download-alt', title: '下载已就绪' },
|
||||
login: { icon: 'fa-user-lock', title: '请先登录' },
|
||||
purchase: { icon: 'fa-shopping-cart', title: '请先购买' },
|
||||
vip: { icon: 'fa-gem', title: '会员专属' },
|
||||
credits: { icon: 'fa-coins', title: '积分不足' },
|
||||
quota: { icon: 'fa-hourglass-half', title: '今日免费额度已用完' },
|
||||
captcha: { icon: 'fa-shield-alt', title: '验证失败' },
|
||||
error: { icon: 'fa-exclamation-circle', title: '下载失败' },
|
||||
pay: { icon: 'fa-qrcode', title: '扫码支付' },
|
||||
};
|
||||
|
||||
function dlActionButton(action) {
|
||||
@@ -169,7 +169,7 @@
|
||||
function dlView(viewKey, options) {
|
||||
const meta = DL_VIEWS[viewKey] || DL_VIEWS.error;
|
||||
options = options || {};
|
||||
let html = '<div class="aksrt-dl-view dlv-' + meta.variant + '">';
|
||||
let html = '<div class="aksrt-dl-view">';
|
||||
html += '<div class="aksrt-dl-modal__hero">';
|
||||
html += '<div class="aksrt-dl-modal__hero-icon"><i class="fa fas ' + meta.icon + '" aria-hidden="true"></i></div>';
|
||||
html += '<h3 class="aksrt-dl-modal__title">' + (options.title || meta.title) + '</h3>';
|
||||
|
||||
Reference in New Issue
Block a user