style: 插件导入卡片 CSS — 等高 / 文件按钮 / 纵向布局

This commit is contained in:
qinglong
2026-06-13 18:43:30 +08:00
parent b2021a45ce
commit e16250c7e7
4 changed files with 49 additions and 12 deletions
+22
View File
@@ -438,5 +438,27 @@
"framework.command.execute" "framework.command.execute"
], ],
"timestamp": 29119.62760988 "timestamp": 29119.62760988
},
"4a860528": {
"plugin_name": "example_plugin",
"permissions": [
"plugin.example.read",
"plugin.example.write",
"plugin.example.execute",
"framework.event.subscribe",
"framework.command.execute"
],
"timestamp": 29166.970752102
},
"57820181": {
"plugin_name": "sentinel",
"permissions": [
"plugin.sentinel.read",
"plugin.sentinel.write",
"plugin.network.access",
"framework.event.subscribe",
"framework.command.execute"
],
"timestamp": 29166.973069289
} }
} }
+1 -1
View File
@@ -101,7 +101,7 @@ commands:
permissions: permissions:
- framework.command.test - framework.command.test
source: internal source: internal
last_updated: 29119.596258526 last_updated: 29166.959137102
plugin_commands: plugin_commands:
example_plugin: example_plugin:
echo: *id001 echo: *id001
+1 -1
View File
@@ -1,5 +1,5 @@
http_port: 4200 http_port: 4200
last_updated: 29119.62443889 last_updated: 29166.971388508
plugin_routes: plugin_routes:
example_plugin: example_plugin:
- methods: - methods:
+23 -8
View File
@@ -11,17 +11,22 @@
<!-- ── 导入区域 ── --> <!-- ── 导入区域 ── -->
<div style="display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:flex-start"> <div style="display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:flex-start">
<div class="card" style="flex:1;min-width:280px;padding:12px"> <div class="import-card">
<div style="font-weight:600;margin-bottom:8px">📦 导入 ZIP 包</div> <div class="card-title">📦 导入 ZIP 包</div>
<input type="file" id="zip-file" accept=".zip" style="margin-bottom:8px;color:var(--text)"> <label class="file-label" for="zip-file">选择 .zip 文件</label>
<input type="file" id="zip-file" accept=".zip" class="file-input">
<div class="card-actions">
<button class="btn btn-sm btn-filled" onclick="importZip()">上传安装</button> <button class="btn btn-sm btn-filled" onclick="importZip()">上传安装</button>
<span id="zip-status" style="margin-left:8px;font-size:.8rem"></span> <span id="zip-status" class="status-text"></span>
</div> </div>
<div class="card" style="flex:1;min-width:280px;padding:12px"> </div>
<div style="font-weight:600;margin-bottom:8px">📥 Git Clone 安装</div> <div class="import-card">
<input id="git-url" placeholder="https://github.com/user/repo.git" style="width:100%;padding:6px 8px;margin-bottom:8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--shape-xs)"> <div class="card-title">📥 Git Clone 安装</div>
<input id="git-url" class="text-input" placeholder="https://github.com/user/repo.git">
<div class="card-actions">
<button class="btn btn-sm btn-filled" onclick="importGit()">Clone 安装</button> <button class="btn btn-sm btn-filled" onclick="importGit()">Clone 安装</button>
<span id="git-status" style="margin-left:8px;font-size:.8rem"></span> <span id="git-status" class="status-text"></span>
</div>
</div> </div>
</div> </div>
@@ -41,6 +46,16 @@
.plugin-row .info { flex:1;min-width:0 } .plugin-row .info { flex:1;min-width:0 }
.plugin-row .name { font-weight:600 } .plugin-row .ver { font-size:.75rem;color:var(--text-dim) } .plugin-row .name { font-weight:600 } .plugin-row .ver { font-size:.75rem;color:var(--text-dim) }
.plugin-row .error-tag { font-size:.75rem;color:var(--error) } .plugin-row .error-tag { font-size:.75rem;color:var(--error) }
.import-card { flex:1;min-width:280px;padding:14px;background:var(--md-sys-color-surface-container);border-radius:var(--shape-sm);display:flex;flex-direction:column;gap:8px }
.import-card .card-title { font-weight:600 }
.import-card .card-actions { display:flex;align-items:center;gap:8px;margin-top:auto }
.import-card .status-text { font-size:.8rem;white-space:nowrap }
.import-card .text-input { width:100%;padding:6px 8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--shape-xs);box-sizing:border-box }
.import-card .text-input:focus { outline:1px solid var(--primary) }
.file-input { color:var(--text);font-size:.85rem }
.file-input::file-selector-button { padding:5px 12px;background:var(--md-sys-color-surface-container-lowest);color:var(--text);border:1px solid var(--border);border-radius:var(--shape-xs);cursor:pointer;margin-right:8px }
.file-input::file-selector-button:hover { background:var(--md-sys-color-surface-container-highest) }
.file-label { font-size:.8rem;color:var(--text-dim) }
</style> </style>
<script> <script>