- Add MongoDB type manager implementation (TypeManagerMongo) - Update environment variables configuration to support MongoDB connection - Add chat functionality - Integrate Azure OpenAI API support - Update dependencies and startup script
207 lines
3.2 KiB
CSS
207 lines
3.2 KiB
CSS
/* 全局样式 */
|
|
body {
|
|
background-color: #f8f9fa;
|
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
|
}
|
|
|
|
.container {
|
|
max-width: 1200px;
|
|
}
|
|
|
|
/* 标题样式 */
|
|
header h1 {
|
|
color: #343a40;
|
|
font-weight: 600;
|
|
}
|
|
|
|
header .lead {
|
|
color: #6c757d;
|
|
}
|
|
|
|
/* 卡片样式 */
|
|
.card {
|
|
border: none;
|
|
border-radius: 10px;
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
transition: transform 0.3s ease;
|
|
}
|
|
|
|
.card:hover {
|
|
transform: translateY(-5px);
|
|
}
|
|
|
|
.card-title {
|
|
color: #343a40;
|
|
font-weight: 600;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
/* 表单样式 */
|
|
.form-control {
|
|
border-radius: 5px;
|
|
padding: 10px 15px;
|
|
}
|
|
|
|
.form-control:focus {
|
|
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
|
}
|
|
|
|
.form-text {
|
|
color: #6c757d;
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
/* 按钮样式 */
|
|
.btn {
|
|
border-radius: 5px;
|
|
padding: 8px 20px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.btn-primary {
|
|
background-color: #0d6efd;
|
|
border-color: #0d6efd;
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background-color: #0b5ed7;
|
|
border-color: #0a58ca;
|
|
}
|
|
|
|
/* 图片预览 */
|
|
.img-preview {
|
|
max-width: 100%;
|
|
max-height: 200px;
|
|
border-radius: 5px;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.upload-preview-container,
|
|
.search-preview-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
justify-content: flex-start;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.preview-item {
|
|
width: 150px;
|
|
height: 150px;
|
|
margin-bottom: 10px;
|
|
border: 1px solid #dee2e6;
|
|
border-radius: 5px;
|
|
padding: 5px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #f8f9fa;
|
|
}
|
|
|
|
.preview-item img {
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* 搜索结果样式 */
|
|
.result-item {
|
|
margin-bottom: 20px;
|
|
transition: transform 0.3s ease;
|
|
}
|
|
|
|
.result-item:hover {
|
|
transform: scale(1.03);
|
|
}
|
|
|
|
.result-card {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.result-img-container {
|
|
height: 200px;
|
|
overflow: hidden;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #f8f9fa;
|
|
border-radius: 5px;
|
|
position: relative;
|
|
}
|
|
|
|
.result-img {
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.result-info {
|
|
padding: 15px;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.result-score {
|
|
font-weight: bold;
|
|
color: #0d6efd;
|
|
}
|
|
|
|
.result-actions {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
/* 标签页样式 */
|
|
.nav-tabs .nav-link {
|
|
color: #6c757d;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.nav-tabs .nav-link.active {
|
|
color: #0d6efd;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* 加载动画 */
|
|
.spinner-border {
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
margin-right: 0.5rem;
|
|
}
|
|
|
|
/* 复选框样式 */
|
|
.select-checkbox {
|
|
position: absolute;
|
|
top: 10px;
|
|
left: 10px;
|
|
z-index: 10;
|
|
background-color: rgba(255, 255, 255, 0.7);
|
|
border-radius: 3px;
|
|
padding: 2px;
|
|
}
|
|
|
|
.select-checkbox input[type="checkbox"] {
|
|
width: 18px;
|
|
height: 18px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.batch-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
/* 响应式调整 */
|
|
@media (max-width: 768px) {
|
|
.result-item {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.result-img-container {
|
|
height: 150px;
|
|
}
|
|
}
|