feat(签名展示): OFDGo WebUI支持签名展示
build.yaml / build (push) Successful in 35s

This commit is contained in:
2026-07-08 11:02:20 +08:00
parent 98b37d865a
commit 61da0f3f5d
8 changed files with 671 additions and 18 deletions
+118 -7
View File
@@ -519,6 +519,23 @@ body[data-hide-meta] .meta-panel {
display: none;
}
.stamp-highlight {
position: absolute;
z-index: 4;
border: 2px solid var(--accent);
background: rgba(15, 123, 104, 0.08);
box-shadow: 0 0 0 3px rgba(15, 123, 104, 0.16);
pointer-events: none;
animation: stampPulse 0.9s ease-in-out 2;
}
@keyframes stampPulse {
50% {
border-color: var(--accent-strong);
box-shadow: 0 0 0 5px rgba(15, 123, 104, 0.18);
}
}
.ofd-svg {
display: block;
max-width: none;
@@ -548,7 +565,8 @@ body[data-hide-meta] .meta-panel {
}
.font-panel,
.doc-font-panel {
.doc-font-panel,
.signature-panel {
margin-top: 18px;
padding-top: 12px;
border-top: 1px solid var(--line);
@@ -569,12 +587,14 @@ body[data-hide-meta] .meta-panel {
white-space: nowrap;
}
.doc-font-list {
.doc-font-list,
.signature-list {
display: grid;
gap: 8px;
}
.doc-font-row {
.doc-font-row,
.signature-row {
display: grid;
gap: 6px;
padding: 9px;
@@ -585,6 +605,7 @@ body[data-hide-meta] .meta-panel {
.page-list-item:not(:disabled):hover,
.doc-font-row:hover,
.signature-row:hover,
.font-row:hover {
border-color: var(--line-strong);
background: #ffffff;
@@ -600,14 +621,26 @@ body[data-hide-meta] .meta-panel {
background: #fffdf7;
}
.doc-font-head {
.signature-row.valid {
border-color: #bdd8cc;
background: #fbfefd;
}
.signature-row.invalid {
border-color: #e2c7c4;
background: #fffdfc;
}
.doc-font-head,
.signature-head {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
gap: 8px;
}
.doc-font-name {
.doc-font-name,
.signature-name {
overflow: hidden;
color: #1f2428;
font-size: 13px;
@@ -616,7 +649,51 @@ body[data-hide-meta] .meta-panel {
white-space: nowrap;
}
.doc-font-badges {
.signature-name-button {
display: inline;
padding: 0;
border: 0;
background: transparent;
color: inherit;
font: inherit;
font-weight: inherit;
cursor: pointer;
text-align: left;
}
.signature-name-button:not(:disabled):hover {
background: transparent;
color: var(--accent-strong);
text-decoration: underline;
}
.signature-name-with-stamps {
white-space: normal;
}
.signature-stamp-group {
color: var(--text-muted);
font-weight: 400;
}
.signature-stamp-link {
padding: 0;
border: 0;
background: transparent;
color: var(--accent-strong);
font: inherit;
font-weight: 400;
line-height: inherit;
cursor: pointer;
}
.signature-stamp-link:not(:disabled):hover {
background: transparent;
text-decoration: underline;
}
.doc-font-badges,
.signature-badges {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
@@ -647,11 +724,45 @@ body[data-hide-meta] .meta-panel {
color: #705719;
}
.font-badge.missing {
.font-badge.missing,
.font-badge.invalid {
background: #f9e8e5;
color: #803f38;
}
.font-badge.valid {
background: #e4f3ef;
color: var(--accent-strong);
}
.signature-line {
display: grid;
grid-template-columns: 30px minmax(0, 1fr);
align-items: start;
gap: 7px;
color: var(--text-muted);
font-size: 11px;
line-height: 1.35;
}
.signature-label {
color: #7b8791;
white-space: nowrap;
}
.signature-value {
min-width: 0;
overflow-wrap: anywhere;
}
.signature-line.ok .signature-value {
color: var(--accent-strong);
}
.signature-line.fail .signature-value {
color: #803f38;
}
.doc-font-detail {
color: var(--text-muted);
font-size: 11px;