feat(web,installer): 更新下载源、升级资源缓存版本、本地化界面并新增管理功能

- 更新 update_machine.lua 和 installer.lua 中的远程资源下载地址,从旧云存储链接切换为 Gitea 仓库提交镜像地址
- 新增双向闸机专用安装脚本 installer_bi.lua
- 为所有网页HTML文件更新静态资源的缓存版本号,避免浏览器加载过期的静态文件缓存
- 修复登录页面的乱码文本,替换为标准简体中文内容,修正ICP备案标识文本
- 新增管理后台概览板块、快捷操作按钮,优化IC卡管理界面与响应式布局样式
This commit is contained in:
2026-06-21 10:37:25 +08:00
parent 108435e90d
commit 7fea8807b8
19 changed files with 2095 additions and 205 deletions
+208 -7
View File
@@ -28,6 +28,8 @@
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
body {
@@ -3727,6 +3729,31 @@ body.jr-admin-login-page {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
justify-content: flex-end;
}
.jr-admin-sync-meta {
min-width: 118px;
padding: 10px 12px;
border: 1px solid #d8e2d4;
background: #f8fbf7;
color: #385446;
}
.jr-admin-sync-meta strong {
display: block;
color: #143423;
font-size: 0.94rem;
}
.jr-admin-sync-label {
display: block;
margin-bottom: 4px;
color: #6a7d72;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.08em;
}
.jr-admin-header-pill {
@@ -3762,6 +3789,145 @@ body.jr-admin-login-page {
margin-bottom: 20px;
}
.jr-admin-overview-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 16px;
margin-bottom: 20px;
}
.jr-admin-overview-card {
padding: 20px;
border: 1px solid #d7e0d3;
background: #ffffff;
box-shadow: 0 10px 24px rgba(18, 50, 33, 0.04);
}
.jr-admin-overview-card.is-actions {
background: linear-gradient(180deg, #f8fbf7 0, #ffffff 100%);
}
.jr-admin-overview-label {
display: inline-block;
margin-bottom: 8px;
color: #0b6b3a;
font-size: 0.76rem;
font-weight: 800;
letter-spacing: 0.14em;
}
.jr-admin-overview-value {
display: block;
color: #143423;
font-size: 1.35rem;
line-height: 1.3;
}
.jr-admin-overview-note {
margin: 10px 0 0;
color: #627368;
line-height: 1.7;
font-size: 0.92rem;
}
.jr-admin-overview-actions,
.jr-admin-card-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.jr-admin-overview-actions {
margin-top: 14px;
}
.jr-admin-section-toolbar {
margin-bottom: 18px;
padding: 20px 22px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
border: 1px solid #d7e0d3;
background: linear-gradient(135deg, rgba(11, 107, 58, 0.05) 0, rgba(11, 107, 58, 0.015) 28%, #ffffff 28%, #ffffff 100%);
}
.jr-admin-section-toolbar-copy {
min-width: 0;
}
.jr-admin-section-toolbar-copy strong {
display: block;
color: #143423;
font-size: 1.1rem;
}
.jr-admin-section-toolbar-copy p {
margin: 8px 0 0;
color: #627368;
line-height: 1.7;
}
.jr-admin-card-note,
.jr-admin-list-meta {
color: #6a7c70;
font-size: 0.88rem;
line-height: 1.7;
}
.jr-admin-note-list {
display: grid;
gap: 10px;
margin-top: 14px;
color: #3c594a;
font-size: 0.92rem;
line-height: 1.65;
}
.jr-admin-list-card .jr-scroll-box {
padding-right: 4px;
}
.jr-admin-summary-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
margin-bottom: 16px;
}
.jr-admin-summary-item {
padding: 14px 16px;
border: 1px solid #dbe5d8;
background: #f8fbf7;
}
.jr-admin-summary-item span,
.jr-admin-summary-item small {
display: block;
color: #687a70;
}
.jr-admin-summary-item span {
margin-bottom: 6px;
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0.08em;
}
.jr-admin-summary-item strong {
display: block;
color: #143423;
font-size: 1.18rem;
line-height: 1.3;
word-break: break-word;
}
.jr-admin-summary-item small {
margin-top: 8px;
font-size: 0.84rem;
line-height: 1.6;
}
.jr-admin-page .card {
background: #ffffff;
border: 1px solid #d7e0d3;
@@ -3962,6 +4128,16 @@ body.jr-admin-login-page {
.jr-admin-login-panel {
grid-template-columns: 1fr;
}
.jr-admin-overview-grid,
.jr-admin-summary-grid {
grid-template-columns: 1fr 1fr;
}
.jr-admin-section-toolbar {
flex-direction: column;
align-items: flex-start;
}
}
@media (max-width: 768px) {
@@ -3979,7 +4155,39 @@ body.jr-admin-login-page {
width: min(100%, calc(100% - 24px));
padding-top: 20px;
}
.jr-admin-login-copy,
.jr-admin-login-card {
padding: 22px;
border-radius: 20px;
}
.jr-admin-header-side,
.jr-admin-overview-actions,
.jr-admin-card-actions {
width: 100%;
}
.jr-admin-sync-meta,
.jr-admin-overview-grid,
.jr-admin-summary-grid {
width: 100%;
}
.jr-admin-overview-grid,
.jr-admin-summary-grid {
grid-template-columns: 1fr;
}
.jr-admin-overview-card,
.jr-admin-section-toolbar {
padding: 18px;
}
.jr-admin-header-side .btn {
width: 100%;
}
}
/* --- Custom Dialog --- */
@@ -4102,10 +4310,3 @@ body.jr-admin-login-page {
width: 100%;
}
}
.jr-admin-login-copy,
.jr-admin-login-card {
padding: 22px;
border-radius: 20px;
}
}