前端配置迁至 config/local.js,完善支付、模板库与部署脚本
- 页面直接引用 local.js 设置 SOON_DEPLOY_CONFIG,移除 deploy-config - Docker sync-config 生成 local.js;更新 README 与 agent-core 说明 - 模板库自动扫描 .soon;新增后端部署/种子/排查脚本 - 完善支付配置、订阅弹窗与后台支付管理页 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -719,26 +719,117 @@ body.soon-admin-page .soon-admin-date-wrap input[type="date"].soon-input::-webki
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.soon-admin-key-form-row {
|
||||
display: grid;
|
||||
grid-template-columns: 140px 1fr auto;
|
||||
gap: var(--soon-space-sm);
|
||||
align-items: start;
|
||||
padding: var(--soon-space-md) 0;
|
||||
border-bottom: 1px solid var(--soon-border);
|
||||
.soon-admin-form--pay { padding: 0; }
|
||||
.soon-admin-form-panel--pay {
|
||||
padding: var(--soon-space-md) var(--soon-space-lg);
|
||||
}
|
||||
.soon-admin-key-form-row:last-child { border-bottom: none; }
|
||||
.soon-admin-key-form-row__label {
|
||||
font-size: var(--soon-font-sm);
|
||||
color: var(--soon-text);
|
||||
padding-top: 8px;
|
||||
.soon-admin-form--pay .soon-admin-tabs {
|
||||
margin-top: var(--soon-space-md);
|
||||
padding-top: var(--soon-space-md);
|
||||
border-top: 1px solid var(--soon-border);
|
||||
}
|
||||
.soon-admin-key-form-row__status {
|
||||
.soon-admin-form--pay .soon-admin-form__actions {
|
||||
margin-top: var(--soon-space-sm);
|
||||
padding: var(--soon-space-sm) 0 0;
|
||||
background: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.soon-admin-pay-status {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
margin-bottom: var(--soon-space-md);
|
||||
}
|
||||
.soon-admin-pay-status__item {
|
||||
padding: 2px 10px;
|
||||
border-radius: 999px;
|
||||
font-size: var(--soon-font-xs);
|
||||
margin-top: 4px;
|
||||
border: 1px solid var(--soon-border);
|
||||
color: var(--soon-text-muted);
|
||||
}
|
||||
.soon-admin-pay-status__item.is-ok {
|
||||
color: var(--soon-accent);
|
||||
border-color: rgba(0, 150, 136, 0.35);
|
||||
background: rgba(0, 150, 136, 0.08);
|
||||
}
|
||||
.soon-admin-pay-status__item.is-miss {
|
||||
color: var(--soon-danger);
|
||||
border-color: rgba(244, 67, 54, 0.35);
|
||||
background: rgba(244, 67, 54, 0.08);
|
||||
}
|
||||
|
||||
.soon-admin-pay-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 12px 20px;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.soon-admin-pay-grid { grid-template-columns: 1fr; }
|
||||
}
|
||||
|
||||
.soon-admin-pay-field { min-width: 0; }
|
||||
.soon-admin-pay-field--wide { grid-column: 1 / -1; }
|
||||
.soon-admin-pay-field__label {
|
||||
display: block;
|
||||
margin-bottom: 4px;
|
||||
font-size: var(--soon-font-xs);
|
||||
color: var(--soon-text-muted);
|
||||
}
|
||||
.soon-admin-pay-field__control { min-width: 0; }
|
||||
.soon-admin-pay-field__control > .soon-input { width: 100%; }
|
||||
|
||||
.soon-admin-pay-checks {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px 20px;
|
||||
min-height: 32px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.soon-input--readonly {
|
||||
opacity: 0.8;
|
||||
cursor: default;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
font-size: var(--soon-font-xs);
|
||||
}
|
||||
|
||||
.soon-admin-pay-key {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
.soon-admin-pay-key__badge {
|
||||
min-width: 48px;
|
||||
padding: 1px 6px;
|
||||
border-radius: 4px;
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
}
|
||||
.soon-admin-pay-key__badge.is-ok {
|
||||
color: var(--soon-accent);
|
||||
background: rgba(0, 150, 136, 0.12);
|
||||
}
|
||||
.soon-admin-pay-key__badge.is-miss {
|
||||
color: var(--soon-danger);
|
||||
background: rgba(244, 67, 54, 0.1);
|
||||
}
|
||||
.soon-admin-pay-key__text { flex: 1; min-width: 0; }
|
||||
.soon-admin-pay-key__file { cursor: pointer; margin: 0; }
|
||||
.soon-admin-pay-key__paste {
|
||||
display: none;
|
||||
width: 100%;
|
||||
margin-top: 6px;
|
||||
}
|
||||
.soon-admin-pay-key__paste.is-open { display: block; }
|
||||
.soon-admin-pay-key__paste .soon-input { width: 100%; margin-bottom: 4px; }
|
||||
|
||||
.soon-admin-form-checks--inline {
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
border-top: none;
|
||||
}
|
||||
.soon-admin-key-form-row__status--ok { color: var(--soon-accent); }
|
||||
.soon-admin-key-form-row__status--miss { color: var(--soon-danger); }
|
||||
|
||||
.soon-admin-btn-group {
|
||||
display: flex;
|
||||
|
||||
Reference in New Issue
Block a user