fdb2 1.0.36 → 1.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/dist/public/explorer.css +533 -485
- package/dist/public/explorer.js +1277 -868
- package/dist/public/index.css +172 -34
- package/dist/public/index.js +103 -49
- package/dist/public/layout.js +3 -3
- package/dist/public/vue.js +1 -1
- package/dist/server/core/schema/__tests__/canonical.test.ts +195 -0
- package/dist/server/core/schema/__tests__/ddl-emitter.test.ts +456 -0
- package/dist/server/core/schema/__tests__/diff.test.ts +242 -0
- package/dist/server/core/schema/__tests__/roundtrip.property.test.ts +403 -0
- package/dist/server/core/schema/canonical.d.ts +50 -0
- package/dist/server/core/schema/canonical.d.ts.map +1 -0
- package/dist/server/core/schema/canonical.js +212 -0
- package/dist/server/core/schema/canonical.js.map +1 -0
- package/dist/server/core/schema/canonical.ts +223 -0
- package/dist/server/core/schema/ddl-emitter.d.ts +68 -0
- package/dist/server/core/schema/ddl-emitter.d.ts.map +1 -0
- package/dist/server/core/schema/ddl-emitter.js +813 -0
- package/dist/server/core/schema/ddl-emitter.js.map +1 -0
- package/dist/server/core/schema/ddl-emitter.ts +925 -0
- package/dist/server/core/schema/diff.d.ts +16 -0
- package/dist/server/core/schema/diff.d.ts.map +1 -0
- package/dist/server/core/schema/diff.js +115 -0
- package/dist/server/core/schema/diff.js.map +1 -0
- package/dist/server/core/schema/diff.ts +134 -0
- package/dist/server/core/schema/type-defaults.d.ts +27 -0
- package/dist/server/core/schema/type-defaults.d.ts.map +1 -0
- package/dist/server/core/schema/type-defaults.js +61 -0
- package/dist/server/core/schema/type-defaults.js.map +1 -0
- package/dist/server/core/schema/type-defaults.ts +79 -0
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +347 -124
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.ts +336 -161
- package/dist/server/model/ddl-spec.d.ts +163 -0
- package/dist/server/model/ddl-spec.d.ts.map +1 -0
- package/dist/server/model/ddl-spec.js +32 -0
- package/dist/server/model/ddl-spec.js.map +1 -0
- package/dist/server/model/ddl-spec.ts +175 -0
- package/dist/server/service/connection.service.d.ts +20 -0
- package/dist/server/service/connection.service.d.ts.map +1 -1
- package/dist/server/service/connection.service.js +99 -25
- package/dist/server/service/connection.service.js.map +1 -1
- package/dist/server/service/connection.service.ts +104 -25
- package/dist/server/service/database/base.service.d.ts +0 -4
- package/dist/server/service/database/base.service.d.ts.map +1 -1
- package/dist/server/service/database/base.service.js.map +1 -1
- package/dist/server/service/database/base.service.ts +0 -5
- package/dist/server/service/database/clickhouse.service.d.ts +0 -5
- package/dist/server/service/database/clickhouse.service.d.ts.map +1 -1
- package/dist/server/service/database/clickhouse.service.js +0 -49
- package/dist/server/service/database/clickhouse.service.js.map +1 -1
- package/dist/server/service/database/clickhouse.service.ts +0 -52
- package/dist/server/service/database/cockroachdb.service.d.ts +0 -5
- package/dist/server/service/database/cockroachdb.service.d.ts.map +1 -1
- package/dist/server/service/database/cockroachdb.service.js +11 -142
- package/dist/server/service/database/cockroachdb.service.js.map +1 -1
- package/dist/server/service/database/cockroachdb.service.ts +11 -161
- package/dist/server/service/database/database.service.d.ts +55 -2
- package/dist/server/service/database/database.service.d.ts.map +1 -1
- package/dist/server/service/database/database.service.js +246 -4
- package/dist/server/service/database/database.service.js.map +1 -1
- package/dist/server/service/database/database.service.ts +295 -7
- package/dist/server/service/database/mongodb.service.d.ts +0 -6
- package/dist/server/service/database/mongodb.service.d.ts.map +1 -1
- package/dist/server/service/database/mongodb.service.js +0 -8
- package/dist/server/service/database/mongodb.service.js.map +1 -1
- package/dist/server/service/database/mongodb.service.ts +0 -8
- package/dist/server/service/database/mssql.service.d.ts +8 -4
- package/dist/server/service/database/mssql.service.d.ts.map +1 -1
- package/dist/server/service/database/mssql.service.js +27 -132
- package/dist/server/service/database/mssql.service.js.map +1 -1
- package/dist/server/service/database/mssql.service.ts +34 -156
- package/dist/server/service/database/mysql.service.d.ts +0 -4
- package/dist/server/service/database/mysql.service.d.ts.map +1 -1
- package/dist/server/service/database/mysql.service.js +11 -155
- package/dist/server/service/database/mysql.service.js.map +1 -1
- package/dist/server/service/database/mysql.service.ts +17 -184
- package/dist/server/service/database/oracle.service.d.ts +0 -4
- package/dist/server/service/database/oracle.service.d.ts.map +1 -1
- package/dist/server/service/database/oracle.service.js +11 -141
- package/dist/server/service/database/oracle.service.js.map +1 -1
- package/dist/server/service/database/oracle.service.ts +17 -166
- package/dist/server/service/database/postgres.service.d.ts +0 -4
- package/dist/server/service/database/postgres.service.d.ts.map +1 -1
- package/dist/server/service/database/postgres.service.js +11 -150
- package/dist/server/service/database/postgres.service.js.map +1 -1
- package/dist/server/service/database/postgres.service.ts +17 -174
- package/dist/server/service/database/sap.service.d.ts +0 -4
- package/dist/server/service/database/sap.service.d.ts.map +1 -1
- package/dist/server/service/database/sap.service.js +11 -137
- package/dist/server/service/database/sap.service.js.map +1 -1
- package/dist/server/service/database/sap.service.ts +11 -158
- package/dist/server/service/database/sql-type.helper.d.ts +28 -0
- package/dist/server/service/database/sql-type.helper.d.ts.map +1 -0
- package/dist/server/service/database/sql-type.helper.js +113 -0
- package/dist/server/service/database/sql-type.helper.js.map +1 -0
- package/dist/server/service/database/sql-type.helper.ts +115 -0
- package/dist/server/service/database/sqlite.service.d.ts +0 -5
- package/dist/server/service/database/sqlite.service.d.ts.map +1 -1
- package/dist/server/service/database/sqlite.service.js +11 -156
- package/dist/server/service/database/sqlite.service.js.map +1 -1
- package/dist/server/service/database/sqlite.service.ts +17 -183
- package/package.json +1 -1
- package/server.js +1 -1
package/dist/public/explorer.css
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
|
|
2
2
|
/* 继承原有的样式,这里可以添加组件特定的样式 */
|
|
3
|
-
.connection-form-modern[data-v-
|
|
3
|
+
.connection-form-modern[data-v-c314aadc] {
|
|
4
4
|
padding: 0;
|
|
5
5
|
}
|
|
6
|
-
.form-section[data-v-
|
|
6
|
+
.form-section[data-v-c314aadc] {
|
|
7
7
|
margin-bottom: 1.25rem;
|
|
8
8
|
}
|
|
9
|
-
.section-header[data-v-
|
|
9
|
+
.section-header[data-v-c314aadc] {
|
|
10
10
|
display: flex;
|
|
11
11
|
align-items: center;
|
|
12
12
|
margin-bottom: 0.75rem;
|
|
13
13
|
padding-bottom: 0.5rem;
|
|
14
14
|
border-bottom: 1px solid var(--db-border);
|
|
15
15
|
}
|
|
16
|
-
.section-icon[data-v-
|
|
16
|
+
.section-icon[data-v-c314aadc] {
|
|
17
17
|
width: 26px;
|
|
18
18
|
height: 26px;
|
|
19
19
|
border-radius: 5px;
|
|
@@ -26,24 +26,24 @@
|
|
|
26
26
|
margin-right: 0.5rem;
|
|
27
27
|
flex-shrink: 0;
|
|
28
28
|
}
|
|
29
|
-
.section-title[data-v-
|
|
29
|
+
.section-title[data-v-c314aadc] {
|
|
30
30
|
font-size: 0.875rem;
|
|
31
31
|
font-weight: 600;
|
|
32
32
|
margin: 0;
|
|
33
33
|
color: var(--db-dark-color);
|
|
34
34
|
}
|
|
35
|
-
.section-content[data-v-
|
|
35
|
+
.section-content[data-v-c314aadc] {
|
|
36
36
|
padding-left: 0;
|
|
37
37
|
}
|
|
38
|
-
.form-grid[data-v-
|
|
38
|
+
.form-grid[data-v-c314aadc] {
|
|
39
39
|
display: grid;
|
|
40
40
|
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
41
41
|
gap: 0.75rem;
|
|
42
42
|
}
|
|
43
|
-
.form-group-modern[data-v-
|
|
43
|
+
.form-group-modern[data-v-c314aadc] {
|
|
44
44
|
margin-bottom: 0.625rem;
|
|
45
45
|
}
|
|
46
|
-
.form-label-modern[data-v-
|
|
46
|
+
.form-label-modern[data-v-c314aadc] {
|
|
47
47
|
display: flex;
|
|
48
48
|
align-items: center;
|
|
49
49
|
font-weight: 600;
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
margin-bottom: 0.25rem;
|
|
52
52
|
font-size: 0.75rem;
|
|
53
53
|
}
|
|
54
|
-
.form-control-modern[data-v-
|
|
55
|
-
.form-select-modern[data-v-
|
|
54
|
+
.form-control-modern[data-v-c314aadc],
|
|
55
|
+
.form-select-modern[data-v-c314aadc] {
|
|
56
56
|
width: 100%;
|
|
57
57
|
padding: 0.3rem 0.5rem;
|
|
58
58
|
border: 1px solid var(--db-border-light);
|
|
@@ -62,41 +62,41 @@
|
|
|
62
62
|
color: var(--db-text-body);
|
|
63
63
|
background-color: var(--db-bg-soft);
|
|
64
64
|
}
|
|
65
|
-
.form-control-modern[data-v-
|
|
66
|
-
.form-select-modern[data-v-
|
|
65
|
+
.form-control-modern[data-v-c314aadc]:focus,
|
|
66
|
+
.form-select-modern[data-v-c314aadc]:focus {
|
|
67
67
|
outline: none;
|
|
68
68
|
border-color: var(--db-primary-color);
|
|
69
69
|
box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.25);
|
|
70
70
|
}
|
|
71
|
-
.form-check-modern[data-v-
|
|
71
|
+
.form-check-modern[data-v-c314aadc] {
|
|
72
72
|
display: flex;
|
|
73
73
|
align-items: flex-start;
|
|
74
74
|
padding: 0;
|
|
75
75
|
}
|
|
76
|
-
.form-check-input-modern[data-v-
|
|
76
|
+
.form-check-input-modern[data-v-c314aadc] {
|
|
77
77
|
margin-right: 0.5rem;
|
|
78
78
|
margin-top: 0.2rem;
|
|
79
79
|
}
|
|
80
|
-
.form-check-label-modern[data-v-
|
|
80
|
+
.form-check-label-modern[data-v-c314aadc] {
|
|
81
81
|
display: flex;
|
|
82
82
|
flex-direction: column;
|
|
83
83
|
cursor: pointer;
|
|
84
84
|
}
|
|
85
|
-
.check-text[data-v-
|
|
85
|
+
.check-text[data-v-c314aadc] {
|
|
86
86
|
font-weight: 500;
|
|
87
87
|
font-size: 0.8125rem;
|
|
88
88
|
color: var(--db-text-body);
|
|
89
89
|
margin-bottom: 0.125rem;
|
|
90
90
|
}
|
|
91
|
-
.check-description[data-v-
|
|
91
|
+
.check-description[data-v-c314aadc] {
|
|
92
92
|
font-size: 0.6875rem;
|
|
93
93
|
color: var(--db-text-muted);
|
|
94
94
|
}
|
|
95
|
-
.required[data-v-
|
|
95
|
+
.required[data-v-c314aadc] {
|
|
96
96
|
color: var(--db-danger-color);
|
|
97
97
|
margin-left: 0.25rem;
|
|
98
98
|
}
|
|
99
|
-
.error-content[data-v-
|
|
99
|
+
.error-content[data-v-c314aadc] {
|
|
100
100
|
display: flex;
|
|
101
101
|
align-items: center;
|
|
102
102
|
padding: 0.75rem;
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
border: 1px solid rgba(239, 68, 68, 0.35);
|
|
106
106
|
border-radius: 4px;
|
|
107
107
|
}
|
|
108
|
-
.error-icon[data-v-
|
|
108
|
+
.error-icon[data-v-c314aadc] {
|
|
109
109
|
width: 28px;
|
|
110
110
|
height: 28px;
|
|
111
111
|
border-radius: 50%;
|
|
@@ -117,21 +117,28 @@
|
|
|
117
117
|
font-size: 0.9375rem;
|
|
118
118
|
flex-shrink: 0;
|
|
119
119
|
}
|
|
120
|
-
.error-message[data-v-
|
|
120
|
+
.error-message[data-v-c314aadc] {
|
|
121
121
|
flex: 1;
|
|
122
122
|
color: var(--db-text-body);
|
|
123
123
|
font-size: 0.8125rem;
|
|
124
124
|
line-height: 1.6;
|
|
125
125
|
}
|
|
126
|
+
.form-hint[data-v-c314aadc] {
|
|
127
|
+
grid-column: 1 / -1;
|
|
128
|
+
margin: 0.25rem 0 0;
|
|
129
|
+
font-size: 0.75rem;
|
|
130
|
+
color: var(--db-text-muted);
|
|
131
|
+
line-height: 1.5;
|
|
132
|
+
}
|
|
126
133
|
|
|
127
|
-
.sql-executor[data-v-
|
|
134
|
+
.sql-executor[data-v-601319e8] {
|
|
128
135
|
width: 100%;
|
|
129
136
|
flex: 1;
|
|
130
137
|
display: flex;
|
|
131
138
|
flex-direction: column;
|
|
132
139
|
gap: 8px;
|
|
133
140
|
}
|
|
134
|
-
.sql-toolbar[data-v-
|
|
141
|
+
.sql-toolbar[data-v-601319e8] {
|
|
135
142
|
display: flex;
|
|
136
143
|
justify-content: space-between;
|
|
137
144
|
align-items: center;
|
|
@@ -140,12 +147,12 @@
|
|
|
140
147
|
background-color: var(--db-bg-soft2);
|
|
141
148
|
border-radius: 4px;
|
|
142
149
|
}
|
|
143
|
-
.toolbar-left[data-v-
|
|
144
|
-
.toolbar-right[data-v-
|
|
150
|
+
.toolbar-left[data-v-601319e8],
|
|
151
|
+
.toolbar-right[data-v-601319e8] {
|
|
145
152
|
display: flex;
|
|
146
153
|
gap: 6px;
|
|
147
154
|
}
|
|
148
|
-
.sql-container[data-v-
|
|
155
|
+
.sql-container[data-v-601319e8] {
|
|
149
156
|
position: relative;
|
|
150
157
|
border: 1px solid var(--db-border);
|
|
151
158
|
border-radius: 4px;
|
|
@@ -154,23 +161,23 @@
|
|
|
154
161
|
display: flex;
|
|
155
162
|
flex-direction: column;
|
|
156
163
|
}
|
|
157
|
-
.sql-editor[data-v-
|
|
164
|
+
.sql-editor[data-v-601319e8] {
|
|
158
165
|
position: relative;
|
|
159
166
|
overflow: auto;
|
|
160
167
|
flex: 0 1 260px;
|
|
161
168
|
min-height: 160px;
|
|
162
169
|
}
|
|
163
|
-
.sql-result[data-v-
|
|
170
|
+
.sql-result[data-v-601319e8] {
|
|
164
171
|
position: relative;
|
|
165
172
|
overflow: auto;
|
|
166
173
|
border-top: 1px solid var(--db-border-lighter);
|
|
167
174
|
flex: 1;
|
|
168
175
|
}
|
|
169
|
-
.codemirror-editor[data-v-
|
|
176
|
+
.codemirror-editor[data-v-601319e8] {
|
|
170
177
|
height: 100%;
|
|
171
178
|
width: 100%;
|
|
172
179
|
}
|
|
173
|
-
.resizer[data-v-
|
|
180
|
+
.resizer[data-v-601319e8] {
|
|
174
181
|
height: 8px;
|
|
175
182
|
background-color: var(--db-border-soft);
|
|
176
183
|
cursor: ns-resize;
|
|
@@ -178,33 +185,33 @@
|
|
|
178
185
|
align-items: center;
|
|
179
186
|
justify-content: center;
|
|
180
187
|
}
|
|
181
|
-
.resizer[data-v-
|
|
188
|
+
.resizer[data-v-601319e8]:hover {
|
|
182
189
|
background-color: var(--db-border-lighter);
|
|
183
190
|
}
|
|
184
|
-
.resizer[data-v-
|
|
191
|
+
.resizer[data-v-601319e8]::before {
|
|
185
192
|
content: '';
|
|
186
193
|
width: 40px;
|
|
187
194
|
height: 2px;
|
|
188
195
|
background-color: var(--db-border-light);
|
|
189
196
|
border-radius: 1px;
|
|
190
197
|
}
|
|
191
|
-
.resizer.resizing[data-v-
|
|
198
|
+
.resizer.resizing[data-v-601319e8] {
|
|
192
199
|
background-color: var(--db-border-lighter);
|
|
193
200
|
}
|
|
194
|
-
.resizer.resizing[data-v-
|
|
201
|
+
.resizer.resizing[data-v-601319e8]::before {
|
|
195
202
|
background-color: var(--db-text-muted);
|
|
196
203
|
}
|
|
197
|
-
.sql-result[data-v-
|
|
204
|
+
.sql-result[data-v-601319e8] {
|
|
198
205
|
position: relative;
|
|
199
206
|
overflow: auto;
|
|
200
207
|
border-top: 1px solid var(--db-border-lighter);
|
|
201
208
|
}
|
|
202
|
-
.result-content[data-v-
|
|
209
|
+
.result-content[data-v-601319e8] {
|
|
203
210
|
height: 100%;
|
|
204
211
|
display: flex;
|
|
205
212
|
flex-direction: column;
|
|
206
213
|
}
|
|
207
|
-
.result-header[data-v-
|
|
214
|
+
.result-header[data-v-601319e8] {
|
|
208
215
|
display: flex;
|
|
209
216
|
justify-content: space-between;
|
|
210
217
|
align-items: center;
|
|
@@ -212,7 +219,7 @@
|
|
|
212
219
|
background-color: var(--db-bg-soft2);
|
|
213
220
|
border-bottom: 1px solid var(--db-border);
|
|
214
221
|
}
|
|
215
|
-
.result-title[data-v-
|
|
222
|
+
.result-title[data-v-601319e8] {
|
|
216
223
|
margin: 0;
|
|
217
224
|
font-size: 13px;
|
|
218
225
|
font-weight: 600;
|
|
@@ -220,16 +227,16 @@
|
|
|
220
227
|
align-items: center;
|
|
221
228
|
gap: 8px;
|
|
222
229
|
}
|
|
223
|
-
.sql-loading[data-v-
|
|
230
|
+
.sql-loading[data-v-601319e8] {
|
|
224
231
|
display: flex;
|
|
225
232
|
align-items: center;
|
|
226
233
|
gap: 8px;
|
|
227
234
|
}
|
|
228
|
-
.result-stats[data-v-
|
|
235
|
+
.result-stats[data-v-601319e8] {
|
|
229
236
|
display: flex;
|
|
230
237
|
gap: 8px;
|
|
231
238
|
}
|
|
232
|
-
.result-info[data-v-
|
|
239
|
+
.result-info[data-v-601319e8] {
|
|
233
240
|
display: flex;
|
|
234
241
|
justify-content: space-between;
|
|
235
242
|
align-items: center;
|
|
@@ -237,49 +244,49 @@
|
|
|
237
244
|
background-color: var(--db-bg-soft2);
|
|
238
245
|
border-bottom: 1px solid var(--db-border);
|
|
239
246
|
}
|
|
240
|
-
.result-actions[data-v-
|
|
247
|
+
.result-actions[data-v-601319e8] {
|
|
241
248
|
display: flex;
|
|
242
249
|
gap: 6px;
|
|
243
250
|
}
|
|
244
|
-
.result-table-container[data-v-
|
|
251
|
+
.result-table-container[data-v-601319e8] {
|
|
245
252
|
flex: 1;
|
|
246
253
|
overflow: auto;
|
|
247
254
|
}
|
|
248
255
|
|
|
249
256
|
/* 对象结果样式 */
|
|
250
|
-
.result-object[data-v-
|
|
257
|
+
.result-object[data-v-601319e8] {
|
|
251
258
|
display: flex;
|
|
252
259
|
flex-direction: column;
|
|
253
260
|
height: 100%;
|
|
254
261
|
}
|
|
255
|
-
.object-container[data-v-
|
|
262
|
+
.object-container[data-v-601319e8] {
|
|
256
263
|
flex: 1;
|
|
257
264
|
overflow: auto;
|
|
258
265
|
}
|
|
259
|
-
.object-container table[data-v-
|
|
266
|
+
.object-container table[data-v-601319e8] {
|
|
260
267
|
width: 100%;
|
|
261
268
|
}
|
|
262
|
-
.object-container th[data-v-
|
|
269
|
+
.object-container th[data-v-601319e8]:first-child {
|
|
263
270
|
width: 20%;
|
|
264
271
|
min-width: 100px;
|
|
265
272
|
}
|
|
266
|
-
.object-container td[data-v-
|
|
273
|
+
.object-container td[data-v-601319e8]:first-child {
|
|
267
274
|
font-weight: 500;
|
|
268
275
|
background-color: var(--db-bg-soft2);
|
|
269
276
|
}
|
|
270
|
-
.sql-loading-state[data-v-
|
|
277
|
+
.sql-loading-state[data-v-601319e8] {
|
|
271
278
|
display: flex;
|
|
272
279
|
align-items: center;
|
|
273
280
|
justify-content: center;
|
|
274
281
|
height: 100%;
|
|
275
282
|
flex: 1;
|
|
276
283
|
}
|
|
277
|
-
.sql-empty-result[data-v-
|
|
278
|
-
.sql-error[data-v-
|
|
284
|
+
.sql-empty-result[data-v-601319e8],
|
|
285
|
+
.sql-error[data-v-601319e8] {
|
|
279
286
|
padding: 12px;
|
|
280
287
|
flex: 1;
|
|
281
288
|
}
|
|
282
|
-
.result-empty[data-v-
|
|
289
|
+
.result-empty[data-v-601319e8] {
|
|
283
290
|
display: flex;
|
|
284
291
|
flex-direction: column;
|
|
285
292
|
align-items: center;
|
|
@@ -288,40 +295,40 @@
|
|
|
288
295
|
color: var(--db-text-muted);
|
|
289
296
|
gap: 10px;
|
|
290
297
|
}
|
|
291
|
-
.result-empty i[data-v-
|
|
298
|
+
.result-empty i[data-v-601319e8] {
|
|
292
299
|
font-size: 24px;
|
|
293
300
|
opacity: 0.4;
|
|
294
301
|
}
|
|
295
|
-
.json-result[data-v-
|
|
302
|
+
.json-result[data-v-601319e8] {
|
|
296
303
|
flex: 1;
|
|
297
304
|
overflow: hidden;
|
|
298
305
|
}
|
|
299
|
-
.json-result .codemirror-editor[data-v-
|
|
306
|
+
.json-result .codemirror-editor[data-v-601319e8] {
|
|
300
307
|
height: 100%;
|
|
301
308
|
width: 100%;
|
|
302
309
|
}
|
|
303
310
|
|
|
304
311
|
/* 响应式设计 */
|
|
305
312
|
@media (max-width: 768px) {
|
|
306
|
-
.sql-toolbar[data-v-
|
|
313
|
+
.sql-toolbar[data-v-601319e8] {
|
|
307
314
|
flex-direction: column;
|
|
308
315
|
align-items: stretch;
|
|
309
316
|
gap: 8px;
|
|
310
317
|
}
|
|
311
|
-
.toolbar-left[data-v-
|
|
312
|
-
.toolbar-right[data-v-
|
|
318
|
+
.toolbar-left[data-v-601319e8],
|
|
319
|
+
.toolbar-right[data-v-601319e8] {
|
|
313
320
|
justify-content: center;
|
|
314
321
|
}
|
|
315
322
|
}
|
|
316
323
|
|
|
317
|
-
.connection-detail[data-v-
|
|
324
|
+
.connection-detail[data-v-0f93f920] {
|
|
318
325
|
padding: 10px;
|
|
319
326
|
display: flex;
|
|
320
327
|
flex-direction: column;
|
|
321
328
|
height: 100%;
|
|
322
329
|
gap: 10px;
|
|
323
330
|
}
|
|
324
|
-
.connection-header[data-v-
|
|
331
|
+
.connection-header[data-v-0f93f920] {
|
|
325
332
|
display: flex;
|
|
326
333
|
justify-content: space-between;
|
|
327
334
|
align-items: center;
|
|
@@ -331,12 +338,12 @@
|
|
|
331
338
|
border-radius: 6px;
|
|
332
339
|
border: 1px solid var(--db-border);
|
|
333
340
|
}
|
|
334
|
-
.connection-info[data-v-
|
|
341
|
+
.connection-info[data-v-0f93f920] {
|
|
335
342
|
display: flex;
|
|
336
343
|
align-items: center;
|
|
337
344
|
gap: 12px;
|
|
338
345
|
}
|
|
339
|
-
.connection-avatar[data-v-
|
|
346
|
+
.connection-avatar[data-v-0f93f920] {
|
|
340
347
|
width: 34px;
|
|
341
348
|
height: 34px;
|
|
342
349
|
display: flex;
|
|
@@ -347,48 +354,48 @@
|
|
|
347
354
|
border: 1px solid var(--db-border);
|
|
348
355
|
flex-shrink: 0;
|
|
349
356
|
}
|
|
350
|
-
.db-logo[data-v-
|
|
357
|
+
.db-logo[data-v-0f93f920] {
|
|
351
358
|
font-size: 13px;
|
|
352
359
|
font-weight: 700;
|
|
353
360
|
letter-spacing: 0.02em;
|
|
354
361
|
color: var(--db-gray-dark);
|
|
355
362
|
}
|
|
356
|
-
.db-mysql[data-v-
|
|
363
|
+
.db-mysql[data-v-0f93f920] {
|
|
357
364
|
background-color: #4CAF50;
|
|
358
365
|
color: var(--db-on-accent);
|
|
359
366
|
}
|
|
360
|
-
.db-postgres[data-v-
|
|
367
|
+
.db-postgres[data-v-0f93f920] {
|
|
361
368
|
background-color: #336791;
|
|
362
369
|
color: var(--db-on-accent);
|
|
363
370
|
}
|
|
364
|
-
.db-mssql[data-v-
|
|
371
|
+
.db-mssql[data-v-0f93f920] {
|
|
365
372
|
background-color: #0078d4;
|
|
366
373
|
color: var(--db-on-accent);
|
|
367
374
|
}
|
|
368
|
-
.db-sqlite[data-v-
|
|
375
|
+
.db-sqlite[data-v-0f93f920] {
|
|
369
376
|
background-color: #003B57;
|
|
370
377
|
color: var(--db-on-accent);
|
|
371
378
|
}
|
|
372
|
-
.db-oracle[data-v-
|
|
379
|
+
.db-oracle[data-v-0f93f920] {
|
|
373
380
|
background-color: #F80000;
|
|
374
381
|
color: var(--db-on-accent);
|
|
375
382
|
}
|
|
376
|
-
.connection-meta[data-v-
|
|
383
|
+
.connection-meta[data-v-0f93f920] {
|
|
377
384
|
display: flex;
|
|
378
385
|
flex-direction: column;
|
|
379
386
|
gap: 4px;
|
|
380
387
|
}
|
|
381
|
-
.connection-name[data-v-
|
|
388
|
+
.connection-name[data-v-0f93f920] {
|
|
382
389
|
margin: 0;
|
|
383
390
|
font-size: 15px;
|
|
384
391
|
font-weight: 600;
|
|
385
392
|
}
|
|
386
|
-
.connection-type-info[data-v-
|
|
393
|
+
.connection-type-info[data-v-0f93f920] {
|
|
387
394
|
display: flex;
|
|
388
395
|
align-items: center;
|
|
389
396
|
gap: 8px;
|
|
390
397
|
}
|
|
391
|
-
.db-type[data-v-
|
|
398
|
+
.db-type[data-v-0f93f920] {
|
|
392
399
|
padding: 1px 7px;
|
|
393
400
|
border-radius: 999px;
|
|
394
401
|
background-color: var(--db-primary-bg);
|
|
@@ -396,30 +403,30 @@
|
|
|
396
403
|
font-weight: 500;
|
|
397
404
|
color: var(--db-primary-color);
|
|
398
405
|
}
|
|
399
|
-
.connection-status[data-v-
|
|
406
|
+
.connection-status[data-v-0f93f920] {
|
|
400
407
|
display: flex;
|
|
401
408
|
align-items: center;
|
|
402
409
|
gap: 6px;
|
|
403
410
|
font-size: 12px;
|
|
404
411
|
color: var(--db-text-muted);
|
|
405
412
|
}
|
|
406
|
-
.status-dot[data-v-
|
|
413
|
+
.status-dot[data-v-0f93f920] {
|
|
407
414
|
width: 7px;
|
|
408
415
|
height: 7px;
|
|
409
416
|
border-radius: 50%;
|
|
410
417
|
background-color: var(--db-gray-dark);
|
|
411
418
|
}
|
|
412
|
-
.status-online .status-dot[data-v-
|
|
419
|
+
.status-online .status-dot[data-v-0f93f920] {
|
|
413
420
|
background-color: #28a745;
|
|
414
421
|
}
|
|
415
|
-
.status-offline .status-dot[data-v-
|
|
422
|
+
.status-offline .status-dot[data-v-0f93f920] {
|
|
416
423
|
background-color: #dc3545;
|
|
417
424
|
}
|
|
418
|
-
.status-testing .status-dot[data-v-
|
|
425
|
+
.status-testing .status-dot[data-v-0f93f920] {
|
|
419
426
|
background-color: #ffc107;
|
|
420
|
-
animation: pulse-
|
|
427
|
+
animation: pulse-0f93f920 1s infinite;
|
|
421
428
|
}
|
|
422
|
-
@keyframes pulse-
|
|
429
|
+
@keyframes pulse-0f93f920 {
|
|
423
430
|
0%, 100% {
|
|
424
431
|
opacity: 1;
|
|
425
432
|
}
|
|
@@ -427,15 +434,15 @@
|
|
|
427
434
|
opacity: 0.5;
|
|
428
435
|
}
|
|
429
436
|
}
|
|
430
|
-
.connection-actions[data-v-
|
|
437
|
+
.connection-actions[data-v-0f93f920] {
|
|
431
438
|
display: flex;
|
|
432
439
|
gap: 8px;
|
|
433
440
|
}
|
|
434
|
-
.connection-details-panel[data-v-
|
|
441
|
+
.connection-details-panel[data-v-0f93f920] {
|
|
435
442
|
margin-bottom: 0;
|
|
436
|
-
animation: fadeIn-
|
|
443
|
+
animation: fadeIn-0f93f920 0.3s ease;
|
|
437
444
|
}
|
|
438
|
-
.section-title[data-v-
|
|
445
|
+
.section-title[data-v-0f93f920] {
|
|
439
446
|
margin: 0 0 10px 0;
|
|
440
447
|
font-size: 13px;
|
|
441
448
|
font-weight: 600;
|
|
@@ -446,7 +453,7 @@
|
|
|
446
453
|
padding-bottom: 6px;
|
|
447
454
|
border-bottom: 1px solid var(--db-border);
|
|
448
455
|
}
|
|
449
|
-
@keyframes fadeIn-
|
|
456
|
+
@keyframes fadeIn-0f93f920 {
|
|
450
457
|
from {
|
|
451
458
|
opacity: 0;
|
|
452
459
|
transform: translateY(-10px);
|
|
@@ -456,17 +463,17 @@ to {
|
|
|
456
463
|
transform: translateY(0);
|
|
457
464
|
}
|
|
458
465
|
}
|
|
459
|
-
.detail-card[data-v-
|
|
466
|
+
.detail-card[data-v-0f93f920] {
|
|
460
467
|
border: 1px solid var(--db-border);
|
|
461
468
|
border-radius: 6px;
|
|
462
469
|
overflow: hidden;
|
|
463
470
|
}
|
|
464
|
-
.card-header[data-v-
|
|
471
|
+
.card-header[data-v-0f93f920] {
|
|
465
472
|
padding: 10px;
|
|
466
473
|
background-color: var(--db-bg-soft);
|
|
467
474
|
border-bottom: 1px solid var(--db-border);
|
|
468
475
|
}
|
|
469
|
-
.card-title[data-v-
|
|
476
|
+
.card-title[data-v-0f93f920] {
|
|
470
477
|
margin: 0;
|
|
471
478
|
font-size: 13px;
|
|
472
479
|
font-weight: 600;
|
|
@@ -474,16 +481,16 @@ to {
|
|
|
474
481
|
align-items: center;
|
|
475
482
|
gap: 8px;
|
|
476
483
|
}
|
|
477
|
-
.card-body[data-v-
|
|
484
|
+
.card-body[data-v-0f93f920] {
|
|
478
485
|
padding: 10px;
|
|
479
486
|
}
|
|
480
|
-
.info-grid[data-v-
|
|
487
|
+
.info-grid[data-v-0f93f920] {
|
|
481
488
|
display: grid;
|
|
482
489
|
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
|
|
483
490
|
gap: 8px;
|
|
484
491
|
margin-bottom: 0;
|
|
485
492
|
}
|
|
486
|
-
.info-item[data-v-
|
|
493
|
+
.info-item[data-v-0f93f920] {
|
|
487
494
|
display: flex;
|
|
488
495
|
flex-direction: column;
|
|
489
496
|
gap: 2px;
|
|
@@ -493,33 +500,33 @@ to {
|
|
|
493
500
|
transition: background-color 0.15s ease;
|
|
494
501
|
border: 1px solid var(--db-border);
|
|
495
502
|
}
|
|
496
|
-
.info-item[data-v-
|
|
503
|
+
.info-item[data-v-0f93f920]:hover {
|
|
497
504
|
background-color: var(--db-bg-soft2);
|
|
498
505
|
}
|
|
499
|
-
.info-label[data-v-
|
|
506
|
+
.info-label[data-v-0f93f920] {
|
|
500
507
|
font-size: 10px;
|
|
501
508
|
font-weight: 600;
|
|
502
509
|
color: var(--db-text-muted);
|
|
503
510
|
text-transform: uppercase;
|
|
504
511
|
letter-spacing: 0.04em;
|
|
505
512
|
}
|
|
506
|
-
.info-value[data-v-
|
|
513
|
+
.info-value[data-v-0f93f920] {
|
|
507
514
|
font-size: 12px;
|
|
508
515
|
font-weight: 500;
|
|
509
516
|
color: var(--db-dark-color);
|
|
510
517
|
}
|
|
511
|
-
.db-type-badge[data-v-
|
|
518
|
+
.db-type-badge[data-v-0f93f920] {
|
|
512
519
|
padding: 1px 7px;
|
|
513
520
|
border-radius: 999px;
|
|
514
521
|
font-size: 11px;
|
|
515
522
|
font-weight: 500;
|
|
516
523
|
}
|
|
517
|
-
.stats-grid[data-v-
|
|
524
|
+
.stats-grid[data-v-0f93f920] {
|
|
518
525
|
display: grid;
|
|
519
526
|
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
|
|
520
527
|
gap: 8px;
|
|
521
528
|
}
|
|
522
|
-
.stat-item[data-v-
|
|
529
|
+
.stat-item[data-v-0f93f920] {
|
|
523
530
|
text-align: left;
|
|
524
531
|
padding: 8px;
|
|
525
532
|
background-color: var(--db-bg-soft);
|
|
@@ -527,31 +534,31 @@ to {
|
|
|
527
534
|
transition: background-color 0.15s ease;
|
|
528
535
|
border: 1px solid var(--db-border);
|
|
529
536
|
}
|
|
530
|
-
.stat-item[data-v-
|
|
537
|
+
.stat-item[data-v-0f93f920]:hover {
|
|
531
538
|
background-color: var(--db-bg-soft2);
|
|
532
539
|
}
|
|
533
|
-
.stat-value[data-v-
|
|
540
|
+
.stat-value[data-v-0f93f920] {
|
|
534
541
|
font-size: 15px;
|
|
535
542
|
font-weight: 600;
|
|
536
543
|
line-height: 1.25;
|
|
537
544
|
color: var(--db-dark-color);
|
|
538
545
|
}
|
|
539
|
-
.stat-label[data-v-
|
|
546
|
+
.stat-label[data-v-0f93f920] {
|
|
540
547
|
font-size: 11px;
|
|
541
548
|
color: var(--db-text-muted);
|
|
542
549
|
margin-top: 2px;
|
|
543
550
|
}
|
|
544
|
-
.quick-actions[data-v-
|
|
551
|
+
.quick-actions[data-v-0f93f920] {
|
|
545
552
|
margin-bottom: 0;
|
|
546
553
|
padding: 10px 12px;
|
|
547
554
|
background-color: var(--db-bg-soft2);
|
|
548
555
|
border-radius: 6px;
|
|
549
556
|
border: 1px solid var(--db-border);
|
|
550
557
|
}
|
|
551
|
-
.actions-header[data-v-
|
|
558
|
+
.actions-header[data-v-0f93f920] {
|
|
552
559
|
margin-bottom: 8px;
|
|
553
560
|
}
|
|
554
|
-
.actions-title[data-v-
|
|
561
|
+
.actions-title[data-v-0f93f920] {
|
|
555
562
|
margin: 0;
|
|
556
563
|
font-size: 13px;
|
|
557
564
|
font-weight: 600;
|
|
@@ -559,12 +566,12 @@ to {
|
|
|
559
566
|
align-items: center;
|
|
560
567
|
gap: 8px;
|
|
561
568
|
}
|
|
562
|
-
.actions-grid[data-v-
|
|
569
|
+
.actions-grid[data-v-0f93f920] {
|
|
563
570
|
display: grid;
|
|
564
571
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
565
572
|
gap: 6px;
|
|
566
573
|
}
|
|
567
|
-
.action-btn[data-v-
|
|
574
|
+
.action-btn[data-v-0f93f920] {
|
|
568
575
|
display: flex;
|
|
569
576
|
flex-direction: row;
|
|
570
577
|
align-items: center;
|
|
@@ -578,20 +585,20 @@ to {
|
|
|
578
585
|
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
579
586
|
color: var(--db-text-body);
|
|
580
587
|
}
|
|
581
|
-
.action-btn[data-v-
|
|
588
|
+
.action-btn[data-v-0f93f920]:hover {
|
|
582
589
|
background-color: var(--db-bg-soft2);
|
|
583
590
|
border-color: var(--db-primary-color);
|
|
584
591
|
}
|
|
585
|
-
.action-icon[data-v-
|
|
592
|
+
.action-icon[data-v-0f93f920] {
|
|
586
593
|
font-size: 14px;
|
|
587
594
|
color: var(--db-primary-color);
|
|
588
595
|
}
|
|
589
|
-
.action-text[data-v-
|
|
596
|
+
.action-text[data-v-0f93f920] {
|
|
590
597
|
font-size: 12px;
|
|
591
598
|
font-weight: 500;
|
|
592
599
|
color: var(--db-text-body);
|
|
593
600
|
}
|
|
594
|
-
.connection-tabs[data-v-
|
|
601
|
+
.connection-tabs[data-v-0f93f920] {
|
|
595
602
|
border: 1px solid var(--db-border);
|
|
596
603
|
border-radius: 6px;
|
|
597
604
|
flex: 1;
|
|
@@ -601,13 +608,13 @@ to {
|
|
|
601
608
|
overflow:hidden 裁掉且不出现滚动条,必须显式允许收缩 */
|
|
602
609
|
min-height: 0;
|
|
603
610
|
}
|
|
604
|
-
.nav-tabs[data-v-
|
|
611
|
+
.nav-tabs[data-v-0f93f920] {
|
|
605
612
|
border-bottom: 1px solid var(--db-border);
|
|
606
613
|
background-color: var(--db-gray-light);
|
|
607
614
|
padding: 0 4px;
|
|
608
615
|
gap: 0;
|
|
609
616
|
}
|
|
610
|
-
.nav-link[data-v-
|
|
617
|
+
.nav-link[data-v-0f93f920] {
|
|
611
618
|
border: none;
|
|
612
619
|
border-radius: 0;
|
|
613
620
|
padding: 6px 12px;
|
|
@@ -616,23 +623,23 @@ to {
|
|
|
616
623
|
transition: color 0.15s ease, background-color 0.15s ease;
|
|
617
624
|
color: var(--db-text-muted);
|
|
618
625
|
}
|
|
619
|
-
.nav-link[data-v-
|
|
626
|
+
.nav-link[data-v-0f93f920]:hover {
|
|
620
627
|
background-color: var(--db-bg-soft);
|
|
621
628
|
color: var(--db-dark-color);
|
|
622
629
|
}
|
|
623
|
-
.nav-link.active[data-v-
|
|
630
|
+
.nav-link.active[data-v-0f93f920] {
|
|
624
631
|
background-color: transparent;
|
|
625
632
|
color: var(--db-primary-color);
|
|
626
633
|
border-bottom: 2px solid var(--db-primary-color);
|
|
627
634
|
}
|
|
628
|
-
.tab-content[data-v-
|
|
635
|
+
.tab-content[data-v-0f93f920] {
|
|
629
636
|
flex: 1;
|
|
630
637
|
display: flex;
|
|
631
638
|
flex-direction: column;
|
|
632
639
|
overflow: hidden;
|
|
633
640
|
min-height: 0;
|
|
634
641
|
}
|
|
635
|
-
.tab-panel[data-v-
|
|
642
|
+
.tab-panel[data-v-0f93f920] {
|
|
636
643
|
padding: 0;
|
|
637
644
|
flex: 1;
|
|
638
645
|
display: flex;
|
|
@@ -640,7 +647,7 @@ to {
|
|
|
640
647
|
overflow: hidden;
|
|
641
648
|
min-height: 0;
|
|
642
649
|
}
|
|
643
|
-
.databases-section[data-v-
|
|
650
|
+
.databases-section[data-v-0f93f920] {
|
|
644
651
|
display: flex;
|
|
645
652
|
flex-direction: column;
|
|
646
653
|
gap: 10px;
|
|
@@ -648,13 +655,13 @@ to {
|
|
|
648
655
|
overflow: hidden;
|
|
649
656
|
min-height: 0;
|
|
650
657
|
}
|
|
651
|
-
.section-header[data-v-
|
|
658
|
+
.section-header[data-v-0f93f920] {
|
|
652
659
|
display: flex;
|
|
653
660
|
justify-content: flex-end;
|
|
654
661
|
align-items: center;
|
|
655
662
|
gap: 8px;
|
|
656
663
|
}
|
|
657
|
-
.db-search[data-v-
|
|
664
|
+
.db-search[data-v-0f93f920] {
|
|
658
665
|
display: flex;
|
|
659
666
|
align-items: center;
|
|
660
667
|
gap: 6px;
|
|
@@ -665,16 +672,16 @@ to {
|
|
|
665
672
|
background: var(--db-bg-soft);
|
|
666
673
|
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
667
674
|
}
|
|
668
|
-
.db-search[data-v-
|
|
675
|
+
.db-search[data-v-0f93f920]:focus-within {
|
|
669
676
|
border-color: var(--db-primary-color);
|
|
670
677
|
box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.15);
|
|
671
678
|
}
|
|
672
|
-
.db-search > i[data-v-
|
|
679
|
+
.db-search > i[data-v-0f93f920] {
|
|
673
680
|
font-size: 12px;
|
|
674
681
|
color: var(--db-gray-dark);
|
|
675
682
|
flex-shrink: 0;
|
|
676
683
|
}
|
|
677
|
-
.db-search-input[data-v-
|
|
684
|
+
.db-search-input[data-v-0f93f920] {
|
|
678
685
|
border: none;
|
|
679
686
|
outline: none;
|
|
680
687
|
background: transparent;
|
|
@@ -684,11 +691,11 @@ to {
|
|
|
684
691
|
width: 150px;
|
|
685
692
|
padding: 0;
|
|
686
693
|
}
|
|
687
|
-
.db-search-input[data-v-
|
|
694
|
+
.db-search-input[data-v-0f93f920]::placeholder {
|
|
688
695
|
color: var(--db-gray-dark);
|
|
689
696
|
opacity: 0.8;
|
|
690
697
|
}
|
|
691
|
-
.db-refresh-btn[data-v-
|
|
698
|
+
.db-refresh-btn[data-v-0f93f920] {
|
|
692
699
|
display: inline-flex;
|
|
693
700
|
align-items: center;
|
|
694
701
|
justify-content: center;
|
|
@@ -702,22 +709,22 @@ to {
|
|
|
702
709
|
cursor: pointer;
|
|
703
710
|
transition: all 0.15s ease;
|
|
704
711
|
}
|
|
705
|
-
.db-refresh-btn[data-v-
|
|
712
|
+
.db-refresh-btn[data-v-0f93f920]:hover:not(:disabled) {
|
|
706
713
|
color: var(--db-primary-color);
|
|
707
714
|
border-color: var(--db-primary-color);
|
|
708
715
|
background: var(--db-primary-bg);
|
|
709
716
|
}
|
|
710
|
-
.db-refresh-btn[data-v-
|
|
717
|
+
.db-refresh-btn[data-v-0f93f920]:disabled {
|
|
711
718
|
opacity: 0.6;
|
|
712
719
|
cursor: default;
|
|
713
720
|
}
|
|
714
|
-
.databases-list[data-v-
|
|
721
|
+
.databases-list[data-v-0f93f920] {
|
|
715
722
|
flex: 1;
|
|
716
723
|
min-height: 0;
|
|
717
724
|
overflow-y: auto;
|
|
718
725
|
padding-right: 8px;
|
|
719
726
|
}
|
|
720
|
-
.loading-state[data-v-
|
|
727
|
+
.loading-state[data-v-0f93f920] {
|
|
721
728
|
display: flex;
|
|
722
729
|
flex-direction: column;
|
|
723
730
|
align-items: center;
|
|
@@ -725,7 +732,7 @@ to {
|
|
|
725
732
|
padding: 28px 16px;
|
|
726
733
|
gap: 10px;
|
|
727
734
|
}
|
|
728
|
-
.empty-state[data-v-
|
|
735
|
+
.empty-state[data-v-0f93f920] {
|
|
729
736
|
display: flex;
|
|
730
737
|
flex-direction: column;
|
|
731
738
|
align-items: center;
|
|
@@ -734,21 +741,21 @@ to {
|
|
|
734
741
|
gap: 10px;
|
|
735
742
|
text-align: center;
|
|
736
743
|
}
|
|
737
|
-
.empty-state i[data-v-
|
|
744
|
+
.empty-state i[data-v-0f93f920] {
|
|
738
745
|
font-size: 28px;
|
|
739
746
|
color: var(--db-text-faint);
|
|
740
747
|
}
|
|
741
|
-
.empty-state p[data-v-
|
|
748
|
+
.empty-state p[data-v-0f93f920] {
|
|
742
749
|
margin: 0;
|
|
743
750
|
color: var(--db-text-muted);
|
|
744
751
|
font-size: 12px;
|
|
745
752
|
}
|
|
746
|
-
.databases-list-simple[data-v-
|
|
753
|
+
.databases-list-simple[data-v-0f93f920] {
|
|
747
754
|
display: grid;
|
|
748
755
|
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
749
756
|
gap: 6px;
|
|
750
757
|
}
|
|
751
|
-
.database-item[data-v-
|
|
758
|
+
.database-item[data-v-0f93f920] {
|
|
752
759
|
display: flex;
|
|
753
760
|
flex-direction: row;
|
|
754
761
|
align-items: center;
|
|
@@ -761,16 +768,16 @@ to {
|
|
|
761
768
|
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
762
769
|
text-align: left;
|
|
763
770
|
}
|
|
764
|
-
.database-item[data-v-
|
|
771
|
+
.database-item[data-v-0f93f920]:hover {
|
|
765
772
|
background: var(--db-bg-soft2);
|
|
766
773
|
border-color: var(--db-primary-color);
|
|
767
774
|
}
|
|
768
|
-
.database-item-icon[data-v-
|
|
775
|
+
.database-item-icon[data-v-0f93f920] {
|
|
769
776
|
font-size: 12px;
|
|
770
777
|
color: var(--db-primary-color);
|
|
771
778
|
flex-shrink: 0;
|
|
772
779
|
}
|
|
773
|
-
.database-item-name[data-v-
|
|
780
|
+
.database-item-name[data-v-0f93f920] {
|
|
774
781
|
flex: 1;
|
|
775
782
|
font-size: 12px;
|
|
776
783
|
font-weight: 500;
|
|
@@ -780,17 +787,17 @@ to {
|
|
|
780
787
|
white-space: nowrap;
|
|
781
788
|
min-width: 0;
|
|
782
789
|
}
|
|
783
|
-
.database-item-actions[data-v-
|
|
790
|
+
.database-item-actions[data-v-0f93f920] {
|
|
784
791
|
display: flex;
|
|
785
792
|
gap: 4px;
|
|
786
793
|
flex-shrink: 0;
|
|
787
794
|
opacity: 0.55;
|
|
788
795
|
transition: opacity 0.15s ease;
|
|
789
796
|
}
|
|
790
|
-
.database-item:hover .database-item-actions[data-v-
|
|
797
|
+
.database-item:hover .database-item-actions[data-v-0f93f920] {
|
|
791
798
|
opacity: 1;
|
|
792
799
|
}
|
|
793
|
-
.database-item-actions .btn[data-v-
|
|
800
|
+
.database-item-actions .btn[data-v-0f93f920] {
|
|
794
801
|
padding: 1px 5px;
|
|
795
802
|
font-size: 12px;
|
|
796
803
|
line-height: 1.3;
|
|
@@ -798,11 +805,11 @@ to {
|
|
|
798
805
|
background: transparent;
|
|
799
806
|
color: var(--db-darker-color);
|
|
800
807
|
}
|
|
801
|
-
.database-item-actions .btn[data-v-
|
|
808
|
+
.database-item-actions .btn[data-v-0f93f920]:hover {
|
|
802
809
|
color: var(--db-primary-color);
|
|
803
810
|
background: var(--db-bg-soft2);
|
|
804
811
|
}
|
|
805
|
-
.sql-section[data-v-
|
|
812
|
+
.sql-section[data-v-0f93f920] {
|
|
806
813
|
display: flex;
|
|
807
814
|
flex-direction: column;
|
|
808
815
|
gap: 16px;
|
|
@@ -810,12 +817,12 @@ to {
|
|
|
810
817
|
overflow: hidden;
|
|
811
818
|
min-height: 0;
|
|
812
819
|
}
|
|
813
|
-
.sql-header[data-v-
|
|
820
|
+
.sql-header[data-v-0f93f920] {
|
|
814
821
|
display: flex;
|
|
815
822
|
justify-content: space-between;
|
|
816
823
|
align-items: center;
|
|
817
824
|
}
|
|
818
|
-
.sql-title[data-v-
|
|
825
|
+
.sql-title[data-v-0f93f920] {
|
|
819
826
|
margin: 0;
|
|
820
827
|
font-size: 16px;
|
|
821
828
|
font-weight: 600;
|
|
@@ -823,7 +830,7 @@ to {
|
|
|
823
830
|
align-items: center;
|
|
824
831
|
gap: 8px;
|
|
825
832
|
}
|
|
826
|
-
.sql-db-info[data-v-
|
|
833
|
+
.sql-db-info[data-v-0f93f920] {
|
|
827
834
|
display: flex;
|
|
828
835
|
align-items: center;
|
|
829
836
|
gap: 8px;
|
|
@@ -831,106 +838,133 @@ to {
|
|
|
831
838
|
|
|
832
839
|
/* 响应式设计 */
|
|
833
840
|
@media (max-width: 768px) {
|
|
834
|
-
.connection-header[data-v-
|
|
841
|
+
.connection-header[data-v-0f93f920] {
|
|
835
842
|
flex-direction: column;
|
|
836
843
|
align-items: flex-start;
|
|
837
844
|
gap: 16px;
|
|
838
845
|
}
|
|
839
|
-
.connection-actions[data-v-
|
|
846
|
+
.connection-actions[data-v-0f93f920] {
|
|
840
847
|
align-self: flex-end;
|
|
841
848
|
}
|
|
842
|
-
.connection-cards[data-v-
|
|
849
|
+
.connection-cards[data-v-0f93f920] {
|
|
843
850
|
grid-template-columns: 1fr;
|
|
844
851
|
}
|
|
845
|
-
.info-grid[data-v-
|
|
852
|
+
.info-grid[data-v-0f93f920] {
|
|
846
853
|
grid-template-columns: 1fr;
|
|
847
854
|
}
|
|
848
|
-
.stats-grid[data-v-
|
|
855
|
+
.stats-grid[data-v-0f93f920] {
|
|
849
856
|
grid-template-columns: repeat(2, 1fr);
|
|
850
857
|
}
|
|
851
|
-
.actions-grid[data-v-
|
|
858
|
+
.actions-grid[data-v-0f93f920] {
|
|
852
859
|
grid-template-columns: repeat(2, 1fr);
|
|
853
860
|
}
|
|
854
|
-
.databases-list-simple[data-v-
|
|
861
|
+
.databases-list-simple[data-v-0f93f920] {
|
|
855
862
|
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
|
|
856
863
|
gap: 6px;
|
|
857
864
|
}
|
|
858
|
-
.database-item[data-v-
|
|
865
|
+
.database-item[data-v-0f93f920] {
|
|
859
866
|
padding: 6px 8px;
|
|
860
867
|
}
|
|
861
|
-
.database-item-icon[data-v-
|
|
868
|
+
.database-item-icon[data-v-0f93f920] {
|
|
862
869
|
font-size: 14px;
|
|
863
870
|
}
|
|
864
|
-
.database-item-name[data-v-
|
|
871
|
+
.database-item-name[data-v-0f93f920] {
|
|
865
872
|
font-size: 12px;
|
|
866
873
|
}
|
|
867
|
-
.nav-link[data-v-
|
|
874
|
+
.nav-link[data-v-0f93f920] {
|
|
868
875
|
padding: 10px 16px;
|
|
869
876
|
font-size: 13px;
|
|
870
877
|
}
|
|
871
878
|
}
|
|
872
879
|
|
|
873
|
-
|
|
880
|
+
/* 日志弹窗 */
|
|
881
|
+
.logs-state[data-v-0f93f920] {
|
|
882
|
+
padding: 24px;
|
|
883
|
+
text-align: center;
|
|
884
|
+
color: var(--db-text-muted);
|
|
885
|
+
}
|
|
886
|
+
.logs-table-wrap[data-v-0f93f920] {
|
|
887
|
+
max-height: 60vh;
|
|
888
|
+
overflow: auto;
|
|
889
|
+
}
|
|
890
|
+
.logs-table-wrap td[data-v-0f93f920] {
|
|
891
|
+
max-width: 320px;
|
|
892
|
+
white-space: nowrap;
|
|
893
|
+
overflow: hidden;
|
|
894
|
+
text-overflow: ellipsis;
|
|
895
|
+
font-size: 12px;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
.section-title[data-v-5fb24ab7] {
|
|
874
899
|
color: var(--db-text-body);
|
|
875
900
|
font-weight: 600;
|
|
876
901
|
border-bottom: 2px solid var(--db-border-soft);
|
|
877
902
|
padding-bottom: 0.5rem;
|
|
878
903
|
margin-bottom: 1rem;
|
|
879
904
|
}
|
|
880
|
-
.sql-preview[data-v-
|
|
881
|
-
font-family: 'Courier New', monospace;
|
|
905
|
+
.sql-preview[data-v-5fb24ab7] {
|
|
906
|
+
font-family: 'Courier New', Consolas, monospace;
|
|
882
907
|
font-size: 0.875rem;
|
|
908
|
+
line-height: 1.5;
|
|
883
909
|
max-height: 200px;
|
|
884
910
|
overflow-y: auto;
|
|
885
|
-
|
|
911
|
+
margin: 0;
|
|
912
|
+
padding: 0.75rem;
|
|
913
|
+
border-radius: var(--db-radius-sm);
|
|
914
|
+
/* 深色代码块:与全局 pre / SQL 编辑器一致,跟随主题令牌,不使用 Bootstrap bg-light */
|
|
915
|
+
background-color: var(--db-code-bg);
|
|
916
|
+
color: var(--db-code-fg);
|
|
917
|
+
border: 1px solid var(--db-border);
|
|
918
|
+
white-space: pre-wrap;
|
|
919
|
+
word-break: break-all;
|
|
886
920
|
}
|
|
887
|
-
.table th[data-v-
|
|
921
|
+
.table th[data-v-5fb24ab7] {
|
|
888
922
|
font-size: 0.875rem;
|
|
889
923
|
font-weight: 600;
|
|
890
924
|
}
|
|
891
|
-
.table td[data-v-
|
|
925
|
+
.table td[data-v-5fb24ab7] {
|
|
892
926
|
padding: 0!important;
|
|
893
927
|
}
|
|
894
|
-
.table .form-control[data-v-
|
|
928
|
+
.table .form-control[data-v-5fb24ab7], .table .form-select[data-v-5fb24ab7] {
|
|
895
929
|
border: none;
|
|
896
930
|
border-radius: 0;
|
|
897
931
|
box-shadow: none;
|
|
898
932
|
}
|
|
899
|
-
.form-control-sm[data-v-
|
|
933
|
+
.form-control-sm[data-v-5fb24ab7], .form-select-sm[data-v-5fb24ab7] {
|
|
900
934
|
font-size: 0.875rem;
|
|
901
935
|
}
|
|
902
|
-
.modal-content[data-v-
|
|
936
|
+
.modal-content[data-v-5fb24ab7] {
|
|
903
937
|
max-height: 90vh;
|
|
904
938
|
overflow-y: auto;
|
|
905
939
|
}
|
|
906
|
-
.modal-body[data-v-
|
|
940
|
+
.modal-body[data-v-5fb24ab7] {
|
|
907
941
|
max-height: calc(90vh - 120px);
|
|
908
942
|
overflow-y: auto;
|
|
909
943
|
}
|
|
910
|
-
.input-group-sm .form-control[data-v-
|
|
944
|
+
.input-group-sm .form-control[data-v-5fb24ab7] {
|
|
911
945
|
border-radius: 0;
|
|
912
946
|
}
|
|
913
|
-
.input-group-sm .form-control[data-v-
|
|
947
|
+
.input-group-sm .form-control[data-v-5fb24ab7]:first-child {
|
|
914
948
|
border-top-left-radius: 0.25rem;
|
|
915
949
|
border-bottom-left-radius: 0.25rem;
|
|
916
950
|
}
|
|
917
|
-
.input-group-sm .form-control[data-v-
|
|
951
|
+
.input-group-sm .form-control[data-v-5fb24ab7]:last-child {
|
|
918
952
|
border-top-right-radius: 0.25rem;
|
|
919
953
|
border-bottom-right-radius: 0.25rem;
|
|
920
954
|
}
|
|
921
|
-
.text-muted[data-v-
|
|
955
|
+
.text-muted[data-v-5fb24ab7] {
|
|
922
956
|
color: var(--db-text-muted) !important;
|
|
923
957
|
}
|
|
924
958
|
|
|
925
|
-
.db-tools[data-v-
|
|
959
|
+
.db-tools[data-v-4c55e089] {
|
|
926
960
|
background: var(--db-surface);
|
|
927
961
|
border-radius: 8px;
|
|
928
962
|
}
|
|
929
|
-
.tools-header[data-v-
|
|
963
|
+
.tools-header[data-v-4c55e089] {
|
|
930
964
|
padding: 6px 12px;
|
|
931
965
|
border-bottom: 1px solid var(--db-border);
|
|
932
966
|
}
|
|
933
|
-
.tools-title[data-v-
|
|
967
|
+
.tools-title[data-v-4c55e089] {
|
|
934
968
|
margin: 0;
|
|
935
969
|
font-size: 0.875rem;
|
|
936
970
|
font-weight: 600;
|
|
@@ -939,17 +973,17 @@ to {
|
|
|
939
973
|
align-items: center;
|
|
940
974
|
gap: 0.375rem;
|
|
941
975
|
}
|
|
942
|
-
.tools-content[data-v-
|
|
976
|
+
.tools-content[data-v-4c55e089] {
|
|
943
977
|
padding: 12px;
|
|
944
978
|
overflow-y: auto;
|
|
945
979
|
}
|
|
946
|
-
.tool-section[data-v-
|
|
980
|
+
.tool-section[data-v-4c55e089] {
|
|
947
981
|
margin-bottom: 1rem;
|
|
948
982
|
}
|
|
949
|
-
.tool-section[data-v-
|
|
983
|
+
.tool-section[data-v-4c55e089]:last-child {
|
|
950
984
|
margin-bottom: 0;
|
|
951
985
|
}
|
|
952
|
-
.section-title[data-v-
|
|
986
|
+
.section-title[data-v-4c55e089] {
|
|
953
987
|
font-size: 0.75rem;
|
|
954
988
|
font-weight: 600;
|
|
955
989
|
letter-spacing: 0.04em;
|
|
@@ -960,42 +994,42 @@ to {
|
|
|
960
994
|
align-items: center;
|
|
961
995
|
gap: 0.375rem;
|
|
962
996
|
}
|
|
963
|
-
.tool-actions[data-v-
|
|
997
|
+
.tool-actions[data-v-4c55e089] {
|
|
964
998
|
display: flex;
|
|
965
999
|
flex-wrap: wrap;
|
|
966
1000
|
gap: 0.375rem;
|
|
967
1001
|
}
|
|
968
|
-
.tool-actions .btn[data-v-
|
|
1002
|
+
.tool-actions .btn[data-v-4c55e089] {
|
|
969
1003
|
min-width: 108px;
|
|
970
1004
|
display: flex;
|
|
971
1005
|
align-items: center;
|
|
972
1006
|
gap: 0.375rem;
|
|
973
1007
|
}
|
|
974
|
-
.modal[data-v-
|
|
1008
|
+
.modal[data-v-4c55e089] {
|
|
975
1009
|
background-color: rgba(0, 0, 0, 0.5);
|
|
976
1010
|
}
|
|
977
|
-
.modal-dialog[data-v-
|
|
1011
|
+
.modal-dialog[data-v-4c55e089] {
|
|
978
1012
|
max-width: 600px;
|
|
979
1013
|
}
|
|
980
|
-
.modal-header[data-v-
|
|
1014
|
+
.modal-header[data-v-4c55e089] {
|
|
981
1015
|
background: var(--db-light-color);
|
|
982
1016
|
border-bottom: 1px solid var(--db-gray-medium);
|
|
983
1017
|
}
|
|
984
|
-
.modal-title[data-v-
|
|
1018
|
+
.modal-title[data-v-4c55e089] {
|
|
985
1019
|
color: var(--db-dark-color);
|
|
986
1020
|
font-weight: 600;
|
|
987
1021
|
}
|
|
988
|
-
.modal-footer[data-v-
|
|
1022
|
+
.modal-footer[data-v-4c55e089] {
|
|
989
1023
|
background: var(--db-light-color);
|
|
990
1024
|
border-top: 1px solid var(--db-gray-medium);
|
|
991
1025
|
}
|
|
992
1026
|
|
|
993
1027
|
/* 工具组件区域 */
|
|
994
|
-
.tool-component-area[data-v-
|
|
1028
|
+
.tool-component-area[data-v-4c55e089] {
|
|
995
1029
|
border-top: 1px solid var(--db-gray-medium);
|
|
996
1030
|
background: var(--db-light-color);
|
|
997
1031
|
}
|
|
998
|
-
.component-header[data-v-
|
|
1032
|
+
.component-header[data-v-4c55e089] {
|
|
999
1033
|
display: flex;
|
|
1000
1034
|
justify-content: space-between;
|
|
1001
1035
|
align-items: center;
|
|
@@ -1003,7 +1037,7 @@ to {
|
|
|
1003
1037
|
background: var(--db-bg-soft);
|
|
1004
1038
|
border-bottom: 1px solid var(--db-border);
|
|
1005
1039
|
}
|
|
1006
|
-
.component-title[data-v-
|
|
1040
|
+
.component-title[data-v-4c55e089] {
|
|
1007
1041
|
margin: 0;
|
|
1008
1042
|
font-size: 0.875rem;
|
|
1009
1043
|
font-weight: 600;
|
|
@@ -1012,20 +1046,20 @@ to {
|
|
|
1012
1046
|
align-items: center;
|
|
1013
1047
|
gap: 0.375rem;
|
|
1014
1048
|
}
|
|
1015
|
-
.tool-component[data-v-
|
|
1049
|
+
.tool-component[data-v-4c55e089] {
|
|
1016
1050
|
padding: 12px;
|
|
1017
1051
|
}
|
|
1018
|
-
.sync-component[data-v-
|
|
1052
|
+
.sync-component[data-v-4c55e089] {
|
|
1019
1053
|
background: var(--db-surface);
|
|
1020
1054
|
border-radius: 4px;
|
|
1021
1055
|
}
|
|
1022
1056
|
|
|
1023
1057
|
/* 执行结果区域 */
|
|
1024
|
-
.execution-results[data-v-
|
|
1058
|
+
.execution-results[data-v-4c55e089] {
|
|
1025
1059
|
border-top: 1px solid var(--db-border);
|
|
1026
1060
|
background: var(--db-bg-soft);
|
|
1027
1061
|
}
|
|
1028
|
-
.results-header[data-v-
|
|
1062
|
+
.results-header[data-v-4c55e089] {
|
|
1029
1063
|
display: flex;
|
|
1030
1064
|
justify-content: space-between;
|
|
1031
1065
|
align-items: center;
|
|
@@ -1033,7 +1067,7 @@ to {
|
|
|
1033
1067
|
background: var(--db-bg-soft);
|
|
1034
1068
|
border-bottom: 1px solid var(--db-border);
|
|
1035
1069
|
}
|
|
1036
|
-
.results-title[data-v-
|
|
1070
|
+
.results-title[data-v-4c55e089] {
|
|
1037
1071
|
margin: 0;
|
|
1038
1072
|
font-size: 0.875rem;
|
|
1039
1073
|
font-weight: 600;
|
|
@@ -1042,12 +1076,12 @@ to {
|
|
|
1042
1076
|
align-items: center;
|
|
1043
1077
|
gap: 0.375rem;
|
|
1044
1078
|
}
|
|
1045
|
-
.results-content[data-v-
|
|
1079
|
+
.results-content[data-v-4c55e089] {
|
|
1046
1080
|
max-height: 400px;
|
|
1047
1081
|
overflow-y: auto;
|
|
1048
1082
|
padding: 8px;
|
|
1049
1083
|
}
|
|
1050
|
-
.no-results[data-v-
|
|
1084
|
+
.no-results[data-v-4c55e089] {
|
|
1051
1085
|
display: flex;
|
|
1052
1086
|
flex-direction: column;
|
|
1053
1087
|
align-items: center;
|
|
@@ -1056,16 +1090,16 @@ to {
|
|
|
1056
1090
|
padding: 32px 16px;
|
|
1057
1091
|
color: var(--db-text-muted);
|
|
1058
1092
|
}
|
|
1059
|
-
.no-results i[data-v-
|
|
1093
|
+
.no-results i[data-v-4c55e089] {
|
|
1060
1094
|
font-size: 1.5rem;
|
|
1061
1095
|
margin-bottom: 0;
|
|
1062
1096
|
opacity: 0.5;
|
|
1063
1097
|
}
|
|
1064
|
-
.no-results p[data-v-
|
|
1098
|
+
.no-results p[data-v-4c55e089] {
|
|
1065
1099
|
margin: 0;
|
|
1066
1100
|
font-size: 0.8125rem;
|
|
1067
1101
|
}
|
|
1068
|
-
.result-item[data-v-
|
|
1102
|
+
.result-item[data-v-4c55e089] {
|
|
1069
1103
|
margin-bottom: 0.5rem;
|
|
1070
1104
|
border: 1px solid var(--db-border);
|
|
1071
1105
|
border-radius: 6px;
|
|
@@ -1073,19 +1107,19 @@ to {
|
|
|
1073
1107
|
overflow: hidden;
|
|
1074
1108
|
transition: box-shadow 0.2s;
|
|
1075
1109
|
}
|
|
1076
|
-
.result-item[data-v-
|
|
1110
|
+
.result-item[data-v-4c55e089]:hover {
|
|
1077
1111
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
1078
1112
|
}
|
|
1079
|
-
.result-item.result-success[data-v-
|
|
1113
|
+
.result-item.result-success[data-v-4c55e089] {
|
|
1080
1114
|
border-left: 4px solid #22c55e;
|
|
1081
1115
|
}
|
|
1082
|
-
.result-item.result-error[data-v-
|
|
1116
|
+
.result-item.result-error[data-v-4c55e089] {
|
|
1083
1117
|
border-left: 4px solid #ef4444;
|
|
1084
1118
|
}
|
|
1085
|
-
.result-item.result-info[data-v-
|
|
1119
|
+
.result-item.result-info[data-v-4c55e089] {
|
|
1086
1120
|
border-left: 4px solid #3b82f6;
|
|
1087
1121
|
}
|
|
1088
|
-
.result-header[data-v-
|
|
1122
|
+
.result-header[data-v-4c55e089] {
|
|
1089
1123
|
display: flex;
|
|
1090
1124
|
justify-content: space-between;
|
|
1091
1125
|
align-items: center;
|
|
@@ -1094,92 +1128,92 @@ to {
|
|
|
1094
1128
|
background: var(--db-surface);
|
|
1095
1129
|
transition: background 0.2s;
|
|
1096
1130
|
}
|
|
1097
|
-
.result-header[data-v-
|
|
1131
|
+
.result-header[data-v-4c55e089]:hover {
|
|
1098
1132
|
background: var(--db-light-color);
|
|
1099
1133
|
}
|
|
1100
|
-
.result-title[data-v-
|
|
1134
|
+
.result-title[data-v-4c55e089] {
|
|
1101
1135
|
display: flex;
|
|
1102
1136
|
align-items: center;
|
|
1103
1137
|
gap: 0.75rem;
|
|
1104
1138
|
flex: 1;
|
|
1105
1139
|
}
|
|
1106
|
-
.result-title i[data-v-
|
|
1140
|
+
.result-title i[data-v-4c55e089] {
|
|
1107
1141
|
font-size: 1.1rem;
|
|
1108
1142
|
}
|
|
1109
|
-
.operation-name[data-v-
|
|
1143
|
+
.operation-name[data-v-4c55e089] {
|
|
1110
1144
|
font-weight: 600;
|
|
1111
1145
|
color: var(--db-dark-color);
|
|
1112
1146
|
font-size: 0.95rem;
|
|
1113
1147
|
}
|
|
1114
|
-
.operation-time[data-v-
|
|
1148
|
+
.operation-time[data-v-4c55e089] {
|
|
1115
1149
|
color: var(--db-darker-color);
|
|
1116
1150
|
font-size: 0.85rem;
|
|
1117
1151
|
margin-left: auto;
|
|
1118
1152
|
}
|
|
1119
|
-
.toggle-icon[data-v-
|
|
1153
|
+
.toggle-icon[data-v-4c55e089] {
|
|
1120
1154
|
transition: transform 0.2s;
|
|
1121
1155
|
color: var(--db-gray-dark);
|
|
1122
1156
|
font-size: 0.9rem;
|
|
1123
1157
|
}
|
|
1124
|
-
.toggle-icon.expanded[data-v-
|
|
1158
|
+
.toggle-icon.expanded[data-v-4c55e089] {
|
|
1125
1159
|
transform: rotate(180deg);
|
|
1126
1160
|
}
|
|
1127
|
-
.result-body[data-v-
|
|
1161
|
+
.result-body[data-v-4c55e089] {
|
|
1128
1162
|
padding: 1rem;
|
|
1129
1163
|
background: var(--db-bg-soft4);
|
|
1130
1164
|
border-top: 1px solid var(--db-gray-medium);
|
|
1131
1165
|
}
|
|
1132
|
-
.result-body pre[data-v-
|
|
1166
|
+
.result-body pre[data-v-4c55e089] {
|
|
1133
1167
|
margin: 0;
|
|
1134
1168
|
font-size: 0.85rem;
|
|
1135
1169
|
line-height: 1.5;
|
|
1136
1170
|
max-height: 300px;
|
|
1137
1171
|
overflow: auto;
|
|
1138
1172
|
}
|
|
1139
|
-
.result-body code[data-v-
|
|
1173
|
+
.result-body code[data-v-4c55e089] {
|
|
1140
1174
|
font-family: 'Fira Code', 'Consolas', 'Monaco', monospace;
|
|
1141
1175
|
}
|
|
1142
1176
|
|
|
1143
1177
|
/* JSON 语法高亮 - 不使用 scoped 以确保 v-html 内容能应用样式 */
|
|
1144
|
-
[data-v-
|
|
1145
|
-
color:
|
|
1178
|
+
[data-v-4c55e089] .json-key {
|
|
1179
|
+
color: var(--db-json-key);
|
|
1146
1180
|
font-weight: 500;
|
|
1147
1181
|
}
|
|
1148
|
-
[data-v-
|
|
1149
|
-
color:
|
|
1182
|
+
[data-v-4c55e089] .json-string {
|
|
1183
|
+
color: var(--db-json-string);
|
|
1150
1184
|
}
|
|
1151
|
-
[data-v-
|
|
1152
|
-
color:
|
|
1185
|
+
[data-v-4c55e089] .json-number {
|
|
1186
|
+
color: var(--db-json-number);
|
|
1153
1187
|
}
|
|
1154
|
-
[data-v-
|
|
1155
|
-
color:
|
|
1188
|
+
[data-v-4c55e089] .json-boolean {
|
|
1189
|
+
color: var(--db-json-boolean);
|
|
1156
1190
|
}
|
|
1157
|
-
[data-v-
|
|
1158
|
-
color:
|
|
1191
|
+
[data-v-4c55e089] .json-null {
|
|
1192
|
+
color: var(--db-json-null);
|
|
1159
1193
|
}
|
|
1160
1194
|
|
|
1161
1195
|
/* 滚动条样式 */
|
|
1162
|
-
.results-content[data-v-
|
|
1163
|
-
.result-body pre[data-v-
|
|
1196
|
+
.results-content[data-v-4c55e089]::-webkit-scrollbar,
|
|
1197
|
+
.result-body pre[data-v-4c55e089]::-webkit-scrollbar {
|
|
1164
1198
|
width: 8px;
|
|
1165
1199
|
height: 8px;
|
|
1166
1200
|
}
|
|
1167
|
-
.results-content[data-v-
|
|
1168
|
-
.result-body pre[data-v-
|
|
1201
|
+
.results-content[data-v-4c55e089]::-webkit-scrollbar-track,
|
|
1202
|
+
.result-body pre[data-v-4c55e089]::-webkit-scrollbar-track {
|
|
1169
1203
|
background: var(--db-gray-light);
|
|
1170
1204
|
border-radius: 4px;
|
|
1171
1205
|
}
|
|
1172
|
-
.results-content[data-v-
|
|
1173
|
-
.result-body pre[data-v-
|
|
1206
|
+
.results-content[data-v-4c55e089]::-webkit-scrollbar-thumb,
|
|
1207
|
+
.result-body pre[data-v-4c55e089]::-webkit-scrollbar-thumb {
|
|
1174
1208
|
background: var(--db-gray-medium);
|
|
1175
1209
|
border-radius: 4px;
|
|
1176
1210
|
}
|
|
1177
|
-
.results-content[data-v-
|
|
1178
|
-
.result-body pre[data-v-
|
|
1211
|
+
.results-content[data-v-4c55e089]::-webkit-scrollbar-thumb:hover,
|
|
1212
|
+
.result-body pre[data-v-4c55e089]::-webkit-scrollbar-thumb:hover {
|
|
1179
1213
|
background: var(--db-text-faint);
|
|
1180
1214
|
}
|
|
1181
1215
|
|
|
1182
|
-
.database-detail[data-v-
|
|
1216
|
+
.database-detail[data-v-82eeefa1] {
|
|
1183
1217
|
width: 100%;
|
|
1184
1218
|
height: 100%;
|
|
1185
1219
|
display: flex;
|
|
@@ -1187,7 +1221,7 @@ to {
|
|
|
1187
1221
|
}
|
|
1188
1222
|
|
|
1189
1223
|
/* SQL 面板直接铺满 tab 内容区(内边距由 .tab-content 统一提供) */
|
|
1190
|
-
.sql-executor-section[data-v-
|
|
1224
|
+
.sql-executor-section[data-v-82eeefa1] {
|
|
1191
1225
|
margin: 0;
|
|
1192
1226
|
padding: 0;
|
|
1193
1227
|
background-color: transparent;
|
|
@@ -1198,7 +1232,7 @@ to {
|
|
|
1198
1232
|
}
|
|
1199
1233
|
|
|
1200
1234
|
/* 加载状态样式 */
|
|
1201
|
-
.loading-state[data-v-
|
|
1235
|
+
.loading-state[data-v-82eeefa1] {
|
|
1202
1236
|
display: flex;
|
|
1203
1237
|
flex-direction: column;
|
|
1204
1238
|
align-items: center;
|
|
@@ -1206,31 +1240,31 @@ to {
|
|
|
1206
1240
|
padding: 24px 0;
|
|
1207
1241
|
color: var(--db-text-muted);
|
|
1208
1242
|
}
|
|
1209
|
-
.loading-state .spinner-border[data-v-
|
|
1243
|
+
.loading-state .spinner-border[data-v-82eeefa1] {
|
|
1210
1244
|
margin-bottom: 10px;
|
|
1211
1245
|
color: var(--db-primary-color);
|
|
1212
1246
|
}
|
|
1213
|
-
.loading-state p[data-v-
|
|
1247
|
+
.loading-state p[data-v-82eeefa1] {
|
|
1214
1248
|
margin: 0;
|
|
1215
1249
|
font-size: 12px;
|
|
1216
1250
|
}
|
|
1217
|
-
.database-header[data-v-
|
|
1251
|
+
.database-header[data-v-82eeefa1] {
|
|
1218
1252
|
padding: 8px 12px;
|
|
1219
1253
|
background: var(--db-bg-soft2);
|
|
1220
1254
|
border-bottom: 1px solid var(--db-border);
|
|
1221
1255
|
}
|
|
1222
|
-
.database-header-content[data-v-
|
|
1256
|
+
.database-header-content[data-v-82eeefa1] {
|
|
1223
1257
|
display: flex;
|
|
1224
1258
|
justify-content: space-between;
|
|
1225
1259
|
align-items: center;
|
|
1226
1260
|
gap: 1rem;
|
|
1227
1261
|
}
|
|
1228
|
-
.database-info[data-v-
|
|
1262
|
+
.database-info[data-v-82eeefa1] {
|
|
1229
1263
|
display: flex;
|
|
1230
1264
|
align-items: center;
|
|
1231
1265
|
gap: 0.625rem;
|
|
1232
1266
|
}
|
|
1233
|
-
.database-icon[data-v-
|
|
1267
|
+
.database-icon[data-v-82eeefa1] {
|
|
1234
1268
|
width: 34px;
|
|
1235
1269
|
height: 34px;
|
|
1236
1270
|
background: var(--db-primary-bg);
|
|
@@ -1243,19 +1277,19 @@ to {
|
|
|
1243
1277
|
font-size: 1rem;
|
|
1244
1278
|
flex-shrink: 0;
|
|
1245
1279
|
}
|
|
1246
|
-
.database-meta h4[data-v-
|
|
1280
|
+
.database-meta h4[data-v-82eeefa1] {
|
|
1247
1281
|
margin: 0 0 0.25rem 0;
|
|
1248
1282
|
font-size: 0.9375rem;
|
|
1249
1283
|
color: var(--db-dark-color);
|
|
1250
1284
|
font-weight: 600;
|
|
1251
1285
|
}
|
|
1252
|
-
.connection-info[data-v-
|
|
1286
|
+
.connection-info[data-v-82eeefa1] {
|
|
1253
1287
|
display: flex;
|
|
1254
1288
|
align-items: center;
|
|
1255
1289
|
gap: 0.375rem;
|
|
1256
1290
|
font-size: 0.75rem;
|
|
1257
1291
|
}
|
|
1258
|
-
.connection-info .crumb[data-v-
|
|
1292
|
+
.connection-info .crumb[data-v-82eeefa1] {
|
|
1259
1293
|
display: inline-flex;
|
|
1260
1294
|
align-items: center;
|
|
1261
1295
|
padding: 0;
|
|
@@ -1263,20 +1297,20 @@ to {
|
|
|
1263
1297
|
font-size: 0.75rem;
|
|
1264
1298
|
transition: color 0.15s ease;
|
|
1265
1299
|
}
|
|
1266
|
-
.connection-info .crumb-link[data-v-
|
|
1300
|
+
.connection-info .crumb-link[data-v-82eeefa1] {
|
|
1267
1301
|
cursor: pointer;
|
|
1268
1302
|
background: transparent;
|
|
1269
1303
|
color: var(--db-primary-color);
|
|
1270
1304
|
}
|
|
1271
|
-
.connection-info .crumb-link[data-v-
|
|
1305
|
+
.connection-info .crumb-link[data-v-82eeefa1]:hover {
|
|
1272
1306
|
color: var(--db-primary-light);
|
|
1273
1307
|
text-decoration: underline;
|
|
1274
1308
|
}
|
|
1275
|
-
.connection-info .crumb-current[data-v-
|
|
1309
|
+
.connection-info .crumb-current[data-v-82eeefa1] {
|
|
1276
1310
|
font-weight: 500;
|
|
1277
1311
|
color: var(--db-text-muted);
|
|
1278
1312
|
}
|
|
1279
|
-
.connection-name[data-v-
|
|
1313
|
+
.connection-name[data-v-82eeefa1] {
|
|
1280
1314
|
background: transparent;
|
|
1281
1315
|
color: var(--db-primary-color);
|
|
1282
1316
|
padding: 0;
|
|
@@ -1284,7 +1318,7 @@ to {
|
|
|
1284
1318
|
font-size: 0.75rem;
|
|
1285
1319
|
font-weight: 500;
|
|
1286
1320
|
}
|
|
1287
|
-
.connection-type[data-v-
|
|
1321
|
+
.connection-type[data-v-82eeefa1] {
|
|
1288
1322
|
background: var(--db-primary-bg);
|
|
1289
1323
|
color: var(--db-primary-color);
|
|
1290
1324
|
padding: 1px 7px;
|
|
@@ -1292,39 +1326,39 @@ to {
|
|
|
1292
1326
|
font-size: 0.6875rem;
|
|
1293
1327
|
font-weight: 500;
|
|
1294
1328
|
}
|
|
1295
|
-
.database-stats[data-v-
|
|
1329
|
+
.database-stats[data-v-82eeefa1] {
|
|
1296
1330
|
display: flex;
|
|
1297
1331
|
gap: 1.5rem;
|
|
1298
1332
|
}
|
|
1299
|
-
.stat-item[data-v-
|
|
1333
|
+
.stat-item[data-v-82eeefa1] {
|
|
1300
1334
|
text-align: right;
|
|
1301
1335
|
}
|
|
1302
|
-
.stat-value[data-v-
|
|
1336
|
+
.stat-value[data-v-82eeefa1] {
|
|
1303
1337
|
font-size: 1rem;
|
|
1304
1338
|
font-weight: 700;
|
|
1305
1339
|
line-height: 1.2;
|
|
1306
1340
|
color: var(--db-dark-color);
|
|
1307
1341
|
margin-bottom: 0;
|
|
1308
1342
|
}
|
|
1309
|
-
.stat-label[data-v-
|
|
1343
|
+
.stat-label[data-v-82eeefa1] {
|
|
1310
1344
|
font-size: 0.6875rem;
|
|
1311
1345
|
color: var(--db-text-muted);
|
|
1312
1346
|
font-weight: 400;
|
|
1313
1347
|
}
|
|
1314
|
-
.database-tabs[data-v-
|
|
1348
|
+
.database-tabs[data-v-82eeefa1] {
|
|
1315
1349
|
flex: 1;
|
|
1316
1350
|
overflow: hidden;
|
|
1317
1351
|
display: flex;
|
|
1318
1352
|
flex-direction: column;
|
|
1319
1353
|
min-height: 0;
|
|
1320
1354
|
}
|
|
1321
|
-
.nav-tabs[data-v-
|
|
1355
|
+
.nav-tabs[data-v-82eeefa1] {
|
|
1322
1356
|
background: var(--db-gray-light);
|
|
1323
1357
|
border-bottom: 1px solid var(--db-border);
|
|
1324
1358
|
padding: 0 0.5rem;
|
|
1325
1359
|
gap: 0;
|
|
1326
1360
|
}
|
|
1327
|
-
.nav-link[data-v-
|
|
1361
|
+
.nav-link[data-v-82eeefa1] {
|
|
1328
1362
|
border: none;
|
|
1329
1363
|
background: transparent;
|
|
1330
1364
|
color: var(--db-text-muted);
|
|
@@ -1333,35 +1367,36 @@ to {
|
|
|
1333
1367
|
font-weight: 500;
|
|
1334
1368
|
transition: color 0.15s ease, background-color 0.15s ease;
|
|
1335
1369
|
}
|
|
1336
|
-
.nav-link[data-v-
|
|
1370
|
+
.nav-link[data-v-82eeefa1]:hover {
|
|
1337
1371
|
color: var(--db-dark-color);
|
|
1338
1372
|
background: var(--db-bg-soft);
|
|
1339
1373
|
}
|
|
1340
|
-
.nav-link.active[data-v-
|
|
1374
|
+
.nav-link.active[data-v-82eeefa1] {
|
|
1341
1375
|
color: var(--db-primary-color);
|
|
1342
1376
|
background: transparent;
|
|
1343
1377
|
border-bottom: 2px solid var(--db-primary-color);
|
|
1344
1378
|
}
|
|
1345
|
-
.tab-content[data-v-
|
|
1379
|
+
.tab-content[data-v-82eeefa1] {
|
|
1346
1380
|
overflow-y: auto;
|
|
1347
1381
|
flex: 1;
|
|
1348
1382
|
display: flex;
|
|
1349
1383
|
flex-direction: column;
|
|
1350
1384
|
min-height: 0;
|
|
1351
1385
|
}
|
|
1352
|
-
.tab-panel[data-v-
|
|
1386
|
+
.tab-panel[data-v-82eeefa1] {
|
|
1353
1387
|
flex: 1;
|
|
1354
1388
|
overflow-y: auto;
|
|
1355
1389
|
display: flex;
|
|
1356
1390
|
flex-direction: column;
|
|
1357
1391
|
min-height: 0;
|
|
1358
1392
|
}
|
|
1359
|
-
.table-grid[data-v-
|
|
1393
|
+
.table-grid[data-v-82eeefa1] {
|
|
1360
1394
|
display: grid;
|
|
1361
|
-
|
|
1362
|
-
|
|
1395
|
+
/* 最小列宽 240px + 12px 间距:避免窄卡片把表名挤成「t_ai_agent_...」这类过度截断 */
|
|
1396
|
+
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
|
1397
|
+
gap: 12px;
|
|
1363
1398
|
}
|
|
1364
|
-
.table-card[data-v-
|
|
1399
|
+
.table-card[data-v-82eeefa1] {
|
|
1365
1400
|
background: var(--db-bg-soft2);
|
|
1366
1401
|
border: 1px solid var(--db-border);
|
|
1367
1402
|
border-radius: 6px;
|
|
@@ -1369,41 +1404,48 @@ to {
|
|
|
1369
1404
|
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
1370
1405
|
cursor: pointer;
|
|
1371
1406
|
}
|
|
1372
|
-
.table-card[data-v-
|
|
1407
|
+
.table-card[data-v-82eeefa1]:hover {
|
|
1373
1408
|
border-color: var(--db-primary-color);
|
|
1374
1409
|
background: var(--db-bg-soft);
|
|
1375
1410
|
box-shadow: none;
|
|
1376
1411
|
}
|
|
1377
|
-
.card-header[data-v-
|
|
1412
|
+
.card-header[data-v-82eeefa1] {
|
|
1378
1413
|
background: var(--db-bg-soft);
|
|
1379
|
-
|
|
1414
|
+
/* 右侧预留编辑按钮的常驻空间(约 32px):按钮绝对定位不占 flex 位,
|
|
1415
|
+
用 padding 留白让表名/引擎名不会被按钮盖住,也不必为按钮压缩表名宽度 */
|
|
1416
|
+
padding: 6px 32px 6px 8px;
|
|
1380
1417
|
display: flex;
|
|
1381
1418
|
align-items: center;
|
|
1382
1419
|
gap: 0.5rem;
|
|
1420
|
+
position: relative;
|
|
1383
1421
|
}
|
|
1384
|
-
|
|
1422
|
+
|
|
1423
|
+
/* 卡片图标与引擎徽标统一收敛为中性灰:
|
|
1424
|
+
密集网格里高饱和的绿/蓝会互相干扰,改为描边+浅灰后表名才是视觉主角 */
|
|
1425
|
+
.table-icon[data-v-82eeefa1] {
|
|
1385
1426
|
width: 22px;
|
|
1386
1427
|
height: 22px;
|
|
1387
1428
|
font-size: 0.75rem;
|
|
1388
|
-
background:
|
|
1429
|
+
background: transparent;
|
|
1430
|
+
border: 1px solid var(--db-border);
|
|
1389
1431
|
border-radius: 4px;
|
|
1390
1432
|
display: flex;
|
|
1391
1433
|
align-items: center;
|
|
1392
1434
|
justify-content: center;
|
|
1393
|
-
color: var(--db-
|
|
1435
|
+
color: var(--db-text-faint);
|
|
1394
1436
|
flex-shrink: 0;
|
|
1395
1437
|
}
|
|
1396
|
-
.table-info[data-v-
|
|
1438
|
+
.table-info[data-v-82eeefa1] {
|
|
1397
1439
|
flex: 1;
|
|
1398
1440
|
min-width: 0; /* 允许子元素截断 */
|
|
1399
1441
|
}
|
|
1400
|
-
.table-name-wrapper[data-v-
|
|
1442
|
+
.table-name-wrapper[data-v-82eeefa1] {
|
|
1401
1443
|
display: flex;
|
|
1402
1444
|
align-items: center;
|
|
1403
1445
|
gap: 0.375rem;
|
|
1404
1446
|
margin-bottom: 0;
|
|
1405
1447
|
}
|
|
1406
|
-
.table-name[data-v-
|
|
1448
|
+
.table-name[data-v-82eeefa1] {
|
|
1407
1449
|
font-size: 0.8125rem;
|
|
1408
1450
|
font-weight: 500;
|
|
1409
1451
|
color: var(--db-dark-color);
|
|
@@ -1412,15 +1454,16 @@ to {
|
|
|
1412
1454
|
text-overflow: ellipsis;
|
|
1413
1455
|
min-width: 0;
|
|
1414
1456
|
}
|
|
1415
|
-
.table-engine[data-v-
|
|
1457
|
+
.table-engine[data-v-82eeefa1] {
|
|
1416
1458
|
font-size: 0.625rem;
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1459
|
+
/* 引擎名是次要信息:去掉高饱和底色,仅留浅灰文字 */
|
|
1460
|
+
color: var(--db-text-faint);
|
|
1461
|
+
background: transparent;
|
|
1462
|
+
padding: 0;
|
|
1420
1463
|
border-radius: 999px;
|
|
1421
1464
|
flex-shrink: 0;
|
|
1422
1465
|
}
|
|
1423
|
-
.table-comment-header[data-v-
|
|
1466
|
+
.table-comment-header[data-v-82eeefa1] {
|
|
1424
1467
|
font-size: 0.6875rem;
|
|
1425
1468
|
color: var(--db-text-muted);
|
|
1426
1469
|
white-space: nowrap;
|
|
@@ -1428,15 +1471,15 @@ to {
|
|
|
1428
1471
|
text-overflow: ellipsis;
|
|
1429
1472
|
}
|
|
1430
1473
|
|
|
1431
|
-
/*
|
|
1432
|
-
.card-body[data-v-
|
|
1474
|
+
/* 卡片正文:标签在上、数值在下 */
|
|
1475
|
+
.card-body[data-v-82eeefa1] {
|
|
1433
1476
|
padding: 8px;
|
|
1434
1477
|
display: flex;
|
|
1435
1478
|
flex-direction: column;
|
|
1436
1479
|
align-items: stretch;
|
|
1437
1480
|
gap: 8px;
|
|
1438
1481
|
}
|
|
1439
|
-
.table-stats[data-v-
|
|
1482
|
+
.table-stats[data-v-82eeefa1] {
|
|
1440
1483
|
display: flex;
|
|
1441
1484
|
align-items: flex-start;
|
|
1442
1485
|
gap: 1.25rem;
|
|
@@ -1444,7 +1487,7 @@ to {
|
|
|
1444
1487
|
flex-wrap: wrap;
|
|
1445
1488
|
min-width: 0;
|
|
1446
1489
|
}
|
|
1447
|
-
.stat[data-v-
|
|
1490
|
+
.stat[data-v-82eeefa1] {
|
|
1448
1491
|
display: flex;
|
|
1449
1492
|
flex-direction: column;
|
|
1450
1493
|
align-items: flex-start;
|
|
@@ -1452,28 +1495,33 @@ to {
|
|
|
1452
1495
|
}
|
|
1453
1496
|
|
|
1454
1497
|
/* 卡片内的统计字号覆盖(不影响顶部数据库统计的大号数字) */
|
|
1455
|
-
.table-card .stat-label[data-v-
|
|
1498
|
+
.table-card .stat-label[data-v-82eeefa1] {
|
|
1456
1499
|
font-size: 0.6875rem;
|
|
1457
1500
|
color: var(--db-text-muted);
|
|
1458
1501
|
}
|
|
1459
|
-
.table-card .stat-value[data-v-
|
|
1502
|
+
.table-card .stat-value[data-v-82eeefa1] {
|
|
1460
1503
|
font-size: 0.9375rem;
|
|
1461
1504
|
font-weight: 600;
|
|
1462
1505
|
color: var(--db-dark-color);
|
|
1463
1506
|
}
|
|
1464
|
-
.table-comment[data-v-
|
|
1507
|
+
.table-comment[data-v-82eeefa1] {
|
|
1465
1508
|
font-size: 0.8125rem;
|
|
1466
1509
|
color: var(--db-text-muted);
|
|
1467
1510
|
font-style: italic;
|
|
1468
1511
|
margin-bottom: 0.5rem;
|
|
1469
1512
|
line-height: 1.4;
|
|
1470
1513
|
}
|
|
1471
|
-
|
|
1514
|
+
|
|
1515
|
+
/* 编辑按钮常驻右上角:绝对定位,不参与 flex 排版,
|
|
1516
|
+
因此不会像内联那样挤压表名(表名可用满 header 内容区宽度)。 */
|
|
1517
|
+
.table-actions[data-v-82eeefa1] {
|
|
1518
|
+
position: absolute;
|
|
1519
|
+
top: 4px;
|
|
1520
|
+
right: 4px;
|
|
1472
1521
|
display: flex;
|
|
1473
1522
|
gap: 0.375rem;
|
|
1474
|
-
flex-shrink: 0;
|
|
1475
1523
|
}
|
|
1476
|
-
.table-actions .btn[data-v-
|
|
1524
|
+
.table-actions .btn[data-v-82eeefa1] {
|
|
1477
1525
|
width: 22px;
|
|
1478
1526
|
height: 22px;
|
|
1479
1527
|
padding: 0;
|
|
@@ -1487,12 +1535,12 @@ to {
|
|
|
1487
1535
|
background: transparent;
|
|
1488
1536
|
color: var(--db-primary-color);
|
|
1489
1537
|
}
|
|
1490
|
-
.table-actions .btn[data-v-
|
|
1538
|
+
.table-actions .btn[data-v-82eeefa1]:hover {
|
|
1491
1539
|
background: var(--db-primary-bg);
|
|
1492
1540
|
color: var(--db-primary-color);
|
|
1493
1541
|
border-color: var(--db-primary-color);
|
|
1494
1542
|
}
|
|
1495
|
-
.empty-state[data-v-
|
|
1543
|
+
.empty-state[data-v-82eeefa1] {
|
|
1496
1544
|
display: flex;
|
|
1497
1545
|
flex-direction: column;
|
|
1498
1546
|
align-items: center;
|
|
@@ -1503,39 +1551,39 @@ to {
|
|
|
1503
1551
|
text-align: center;
|
|
1504
1552
|
font-size: 0.8125rem;
|
|
1505
1553
|
}
|
|
1506
|
-
.empty-state i[data-v-
|
|
1554
|
+
.empty-state i[data-v-82eeefa1] {
|
|
1507
1555
|
font-size: 1.5rem;
|
|
1508
1556
|
margin-bottom: 0;
|
|
1509
1557
|
opacity: 0.5;
|
|
1510
1558
|
}
|
|
1511
1559
|
|
|
1512
1560
|
/* 视图和存储过程卡片样式 */
|
|
1513
|
-
.views-grid[data-v-
|
|
1561
|
+
.views-grid[data-v-82eeefa1], .procedures-grid[data-v-82eeefa1] {
|
|
1514
1562
|
display: grid;
|
|
1515
1563
|
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
|
1516
1564
|
gap: 8px;
|
|
1517
1565
|
}
|
|
1518
|
-
.view-card[data-v-
|
|
1566
|
+
.view-card[data-v-82eeefa1], .procedure-card[data-v-82eeefa1] {
|
|
1519
1567
|
background: var(--db-bg-soft2);
|
|
1520
1568
|
border: 1px solid var(--db-border);
|
|
1521
1569
|
border-radius: 6px;
|
|
1522
1570
|
overflow: hidden;
|
|
1523
1571
|
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
1524
1572
|
}
|
|
1525
|
-
.view-card[data-v-
|
|
1573
|
+
.view-card[data-v-82eeefa1]:hover, .procedure-card[data-v-82eeefa1]:hover {
|
|
1526
1574
|
border-color: var(--db-primary-color);
|
|
1527
1575
|
background: var(--db-bg-soft);
|
|
1528
1576
|
box-shadow: none;
|
|
1529
1577
|
transform: none;
|
|
1530
1578
|
}
|
|
1531
|
-
.view-card .card-header[data-v-
|
|
1579
|
+
.view-card .card-header[data-v-82eeefa1], .procedure-card .card-header[data-v-82eeefa1] {
|
|
1532
1580
|
background: var(--db-bg-soft);
|
|
1533
1581
|
padding: 8px 10px;
|
|
1534
1582
|
display: flex;
|
|
1535
1583
|
align-items: center;
|
|
1536
1584
|
gap: 0.5rem;
|
|
1537
1585
|
}
|
|
1538
|
-
.view-icon[data-v-
|
|
1586
|
+
.view-icon[data-v-82eeefa1], .procedure-icon[data-v-82eeefa1] {
|
|
1539
1587
|
width: 26px;
|
|
1540
1588
|
height: 26px;
|
|
1541
1589
|
font-size: 0.8125rem;
|
|
@@ -1547,37 +1595,37 @@ to {
|
|
|
1547
1595
|
color: var(--db-info-color);
|
|
1548
1596
|
flex-shrink: 0;
|
|
1549
1597
|
}
|
|
1550
|
-
.procedure-icon[data-v-
|
|
1598
|
+
.procedure-icon[data-v-82eeefa1] {
|
|
1551
1599
|
background: var(--db-warning-bg);
|
|
1552
1600
|
color: var(--db-warning-color);
|
|
1553
1601
|
}
|
|
1554
|
-
.view-name[data-v-
|
|
1602
|
+
.view-name[data-v-82eeefa1], .procedure-name[data-v-82eeefa1] {
|
|
1555
1603
|
font-size: 0.8125rem;
|
|
1556
1604
|
font-weight: 500;
|
|
1557
1605
|
color: var(--db-dark-color);
|
|
1558
1606
|
margin-bottom: 0.125rem;
|
|
1559
1607
|
}
|
|
1560
|
-
.view-comment[data-v-
|
|
1608
|
+
.view-comment[data-v-82eeefa1], .procedure-comment[data-v-82eeefa1] {
|
|
1561
1609
|
font-size: 0.6875rem;
|
|
1562
1610
|
color: var(--db-text-muted);
|
|
1563
1611
|
margin-bottom: 0.375rem;
|
|
1564
1612
|
line-height: 1.4;
|
|
1565
1613
|
}
|
|
1566
|
-
.procedure-type[data-v-
|
|
1614
|
+
.procedure-type[data-v-82eeefa1] {
|
|
1567
1615
|
display: flex;
|
|
1568
1616
|
gap: 0.25rem;
|
|
1569
1617
|
flex-wrap: wrap;
|
|
1570
1618
|
}
|
|
1571
|
-
.view-card .card-body[data-v-
|
|
1619
|
+
.view-card .card-body[data-v-82eeefa1], .procedure-card .card-body[data-v-82eeefa1] {
|
|
1572
1620
|
padding: 8px 10px;
|
|
1573
1621
|
}
|
|
1574
|
-
.view-actions[data-v-
|
|
1622
|
+
.view-actions[data-v-82eeefa1], .procedure-actions[data-v-82eeefa1] {
|
|
1575
1623
|
display: flex;
|
|
1576
1624
|
gap: 0.375rem;
|
|
1577
1625
|
}
|
|
1578
1626
|
|
|
1579
1627
|
/* 操作栏:无底色无边框,只是一行工具按钮(对齐 VSCode 插件的 Create Table / Refresh) */
|
|
1580
|
-
.views-actions[data-v-
|
|
1628
|
+
.views-actions[data-v-82eeefa1], .procedures-actions[data-v-82eeefa1], .tables-actions[data-v-82eeefa1] {
|
|
1581
1629
|
display: flex;
|
|
1582
1630
|
gap: 0.375rem;
|
|
1583
1631
|
margin-bottom: 10px;
|
|
@@ -1587,27 +1635,27 @@ to {
|
|
|
1587
1635
|
}
|
|
1588
1636
|
|
|
1589
1637
|
/* 模态框样式 */
|
|
1590
|
-
.modal-dialog[data-v-
|
|
1638
|
+
.modal-dialog[data-v-82eeefa1] {
|
|
1591
1639
|
margin-top: 10vh;
|
|
1592
1640
|
}
|
|
1593
|
-
.modal-content[data-v-
|
|
1641
|
+
.modal-content[data-v-82eeefa1] {
|
|
1594
1642
|
border-radius: 12px;
|
|
1595
1643
|
border: none;
|
|
1596
1644
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
|
|
1597
1645
|
}
|
|
1598
|
-
.modal-header[data-v-
|
|
1646
|
+
.modal-header[data-v-82eeefa1] {
|
|
1599
1647
|
border-bottom: 1px solid var(--db-gray-medium);
|
|
1600
1648
|
padding: 1rem 1.5rem;
|
|
1601
1649
|
}
|
|
1602
|
-
.modal-title[data-v-
|
|
1650
|
+
.modal-title[data-v-82eeefa1] {
|
|
1603
1651
|
margin: 0;
|
|
1604
1652
|
font-weight: 600;
|
|
1605
1653
|
color: var(--db-dark-color);
|
|
1606
1654
|
}
|
|
1607
|
-
.modal-body[data-v-
|
|
1655
|
+
.modal-body[data-v-82eeefa1] {
|
|
1608
1656
|
padding: 1.5rem;
|
|
1609
1657
|
}
|
|
1610
|
-
.modal-footer[data-v-
|
|
1658
|
+
.modal-footer[data-v-82eeefa1] {
|
|
1611
1659
|
border-top: 1px solid var(--db-gray-medium);
|
|
1612
1660
|
padding: 1rem 1.5rem;
|
|
1613
1661
|
display: flex;
|
|
@@ -1716,89 +1764,89 @@ to {
|
|
|
1716
1764
|
margin-bottom: 0;
|
|
1717
1765
|
}
|
|
1718
1766
|
|
|
1719
|
-
.table-detail[data-v-
|
|
1767
|
+
.table-detail[data-v-aefb7a86] {
|
|
1720
1768
|
width: 100%;
|
|
1721
1769
|
height: 100%;
|
|
1722
1770
|
display: flex;
|
|
1723
1771
|
flex-direction: column;
|
|
1724
1772
|
}
|
|
1725
|
-
.table-header[data-v-
|
|
1773
|
+
.table-header[data-v-aefb7a86] {
|
|
1726
1774
|
background-color: var(--db-bg-soft2);
|
|
1727
1775
|
border-bottom: 1px solid var(--db-border);
|
|
1728
1776
|
padding: 8px 12px;
|
|
1729
1777
|
}
|
|
1730
|
-
.table-header-content[data-v-
|
|
1778
|
+
.table-header-content[data-v-aefb7a86] {
|
|
1731
1779
|
display: flex;
|
|
1732
1780
|
justify-content: space-between;
|
|
1733
1781
|
align-items: center;
|
|
1734
1782
|
}
|
|
1735
|
-
.table-info[data-v-
|
|
1783
|
+
.table-info[data-v-aefb7a86] {
|
|
1736
1784
|
display: flex;
|
|
1737
1785
|
align-items: center;
|
|
1738
1786
|
gap: 10px;
|
|
1739
1787
|
}
|
|
1740
|
-
.table-icon[data-v-
|
|
1788
|
+
.table-icon[data-v-aefb7a86] {
|
|
1741
1789
|
font-size: 20px;
|
|
1742
1790
|
color: var(--db-primary-color);
|
|
1743
1791
|
}
|
|
1744
|
-
.table-meta[data-v-
|
|
1792
|
+
.table-meta[data-v-aefb7a86] {
|
|
1745
1793
|
display: flex;
|
|
1746
1794
|
flex-direction: column;
|
|
1747
1795
|
gap: 2px;
|
|
1748
1796
|
}
|
|
1749
|
-
.table-name[data-v-
|
|
1797
|
+
.table-name[data-v-aefb7a86] {
|
|
1750
1798
|
margin: 0;
|
|
1751
1799
|
font-size: 0.9375rem;
|
|
1752
1800
|
font-weight: 600;
|
|
1753
1801
|
}
|
|
1754
|
-
.table-breadcrumb[data-v-
|
|
1802
|
+
.table-breadcrumb[data-v-aefb7a86] {
|
|
1755
1803
|
display: flex;
|
|
1756
1804
|
align-items: center;
|
|
1757
1805
|
gap: 6px;
|
|
1758
1806
|
font-size: 0.75rem;
|
|
1759
1807
|
color: var(--db-text-muted);
|
|
1760
1808
|
}
|
|
1761
|
-
.table-breadcrumb .crumb[data-v-
|
|
1809
|
+
.table-breadcrumb .crumb[data-v-aefb7a86] {
|
|
1762
1810
|
display: inline-flex;
|
|
1763
1811
|
align-items: center;
|
|
1764
1812
|
padding: 0;
|
|
1765
1813
|
border-radius: 0;
|
|
1766
1814
|
transition: color 0.15s ease;
|
|
1767
1815
|
}
|
|
1768
|
-
.table-breadcrumb .crumb-link[data-v-
|
|
1816
|
+
.table-breadcrumb .crumb-link[data-v-aefb7a86] {
|
|
1769
1817
|
cursor: pointer;
|
|
1770
1818
|
color: var(--db-primary-color);
|
|
1771
1819
|
}
|
|
1772
|
-
.table-breadcrumb .crumb-link[data-v-
|
|
1820
|
+
.table-breadcrumb .crumb-link[data-v-aefb7a86]:hover {
|
|
1773
1821
|
background-color: transparent;
|
|
1774
1822
|
color: var(--db-primary-light);
|
|
1775
1823
|
text-decoration: underline;
|
|
1776
1824
|
}
|
|
1777
|
-
.table-breadcrumb .crumb-current[data-v-
|
|
1825
|
+
.table-breadcrumb .crumb-current[data-v-aefb7a86] {
|
|
1778
1826
|
font-weight: 500;
|
|
1779
1827
|
color: var(--db-text-muted);
|
|
1780
1828
|
}
|
|
1781
|
-
.table-stats[data-v-
|
|
1829
|
+
.table-stats[data-v-aefb7a86] {
|
|
1782
1830
|
display: flex;
|
|
1783
1831
|
gap: 14px;
|
|
1784
1832
|
}
|
|
1785
|
-
.stat-item[data-v-
|
|
1833
|
+
.stat-item[data-v-aefb7a86] {
|
|
1786
1834
|
display: flex;
|
|
1787
1835
|
flex-direction: column;
|
|
1788
1836
|
align-items: flex-end;
|
|
1789
1837
|
gap: 0;
|
|
1790
1838
|
}
|
|
1791
|
-
.stat-value[data-v-
|
|
1839
|
+
.stat-value[data-v-aefb7a86] {
|
|
1792
1840
|
font-size: 0.9375rem;
|
|
1793
1841
|
font-weight: 600;
|
|
1794
1842
|
line-height: 1.25;
|
|
1795
1843
|
color: var(--db-dark-color);
|
|
1796
1844
|
}
|
|
1797
|
-
.stat-label[data-v-
|
|
1845
|
+
.stat-label[data-v-aefb7a86] {
|
|
1798
1846
|
font-size: 0.6875rem;
|
|
1799
1847
|
color: var(--db-text-muted);
|
|
1800
1848
|
}
|
|
1801
|
-
.table-toolbar[data-v-
|
|
1849
|
+
.table-toolbar[data-v-aefb7a86] {
|
|
1802
1850
|
display: flex;
|
|
1803
1851
|
justify-content: space-between;
|
|
1804
1852
|
align-items: center;
|
|
@@ -1806,29 +1854,29 @@ to {
|
|
|
1806
1854
|
background-color: var(--db-bg-soft2);
|
|
1807
1855
|
border-bottom: 1px solid var(--db-border);
|
|
1808
1856
|
}
|
|
1809
|
-
.toolbar-left[data-v-
|
|
1857
|
+
.toolbar-left[data-v-aefb7a86] {
|
|
1810
1858
|
display: flex;
|
|
1811
1859
|
gap: 6px;
|
|
1812
1860
|
align-items: center;
|
|
1813
1861
|
}
|
|
1814
|
-
.toolbar-right[data-v-
|
|
1862
|
+
.toolbar-right[data-v-aefb7a86] {
|
|
1815
1863
|
display: flex;
|
|
1816
1864
|
gap: 6px;
|
|
1817
1865
|
align-items: center;
|
|
1818
1866
|
}
|
|
1819
|
-
.table-tabs[data-v-
|
|
1867
|
+
.table-tabs[data-v-aefb7a86] {
|
|
1820
1868
|
flex: 1;
|
|
1821
1869
|
display: flex;
|
|
1822
1870
|
flex-direction: column;
|
|
1823
1871
|
overflow: hidden;
|
|
1824
1872
|
}
|
|
1825
|
-
.nav-tabs[data-v-
|
|
1873
|
+
.nav-tabs[data-v-aefb7a86] {
|
|
1826
1874
|
border-bottom: 1px solid var(--db-border);
|
|
1827
1875
|
background-color: var(--db-gray-light);
|
|
1828
1876
|
flex-shrink: 0;
|
|
1829
1877
|
padding: 0 6px;
|
|
1830
1878
|
}
|
|
1831
|
-
.nav-tabs .nav-link[data-v-
|
|
1879
|
+
.nav-tabs .nav-link[data-v-aefb7a86] {
|
|
1832
1880
|
color: var(--db-text-muted);
|
|
1833
1881
|
border: none;
|
|
1834
1882
|
border-bottom: 2px solid transparent;
|
|
@@ -1837,17 +1885,17 @@ to {
|
|
|
1837
1885
|
font-size: 12px;
|
|
1838
1886
|
font-weight: 500;
|
|
1839
1887
|
}
|
|
1840
|
-
.nav-tabs .nav-link[data-v-
|
|
1888
|
+
.nav-tabs .nav-link[data-v-aefb7a86]:hover {
|
|
1841
1889
|
background-color: var(--db-bg-soft);
|
|
1842
1890
|
border-bottom-color: var(--db-border-light);
|
|
1843
1891
|
color: var(--db-dark-color);
|
|
1844
1892
|
}
|
|
1845
|
-
.nav-tabs .nav-link.active[data-v-
|
|
1893
|
+
.nav-tabs .nav-link.active[data-v-aefb7a86] {
|
|
1846
1894
|
background-color: transparent;
|
|
1847
1895
|
border-bottom-color: var(--db-primary-color);
|
|
1848
1896
|
color: var(--db-primary-color);
|
|
1849
1897
|
}
|
|
1850
|
-
.tab-content[data-v-
|
|
1898
|
+
.tab-content[data-v-aefb7a86] {
|
|
1851
1899
|
flex: 1;
|
|
1852
1900
|
overflow: auto;
|
|
1853
1901
|
padding: 10px 12px;
|
|
@@ -1855,43 +1903,43 @@ to {
|
|
|
1855
1903
|
display: flex;
|
|
1856
1904
|
flex-direction: column;
|
|
1857
1905
|
}
|
|
1858
|
-
.tab-panel[data-v-
|
|
1906
|
+
.tab-panel[data-v-aefb7a86] {
|
|
1859
1907
|
flex: 1;
|
|
1860
1908
|
display: flex;
|
|
1861
1909
|
flex-direction: column;
|
|
1862
1910
|
height: 100%;
|
|
1863
1911
|
overflow: auto;
|
|
1864
1912
|
}
|
|
1865
|
-
.data-content[data-v-
|
|
1913
|
+
.data-content[data-v-aefb7a86] {
|
|
1866
1914
|
height: 100%;
|
|
1867
1915
|
display: flex;
|
|
1868
1916
|
flex-direction: column;
|
|
1869
1917
|
}
|
|
1870
|
-
.data-content.loading[data-v-
|
|
1918
|
+
.data-content.loading[data-v-aefb7a86] {
|
|
1871
1919
|
opacity: 0.7;
|
|
1872
1920
|
pointer-events: none;
|
|
1873
1921
|
}
|
|
1874
|
-
.table-responsive[data-v-
|
|
1922
|
+
.table-responsive[data-v-aefb7a86] {
|
|
1875
1923
|
flex: 1;
|
|
1876
1924
|
overflow: auto;
|
|
1877
1925
|
}
|
|
1878
|
-
.column-header[data-v-
|
|
1926
|
+
.column-header[data-v-aefb7a86] {
|
|
1879
1927
|
position: relative;
|
|
1880
1928
|
}
|
|
1881
|
-
.column-key[data-v-
|
|
1929
|
+
.column-key[data-v-aefb7a86] {
|
|
1882
1930
|
position: absolute;
|
|
1883
1931
|
top: -5px;
|
|
1884
1932
|
right: -15px;
|
|
1885
1933
|
color: var(--db-primary-color);
|
|
1886
1934
|
font-size: 0.75rem;
|
|
1887
1935
|
}
|
|
1888
|
-
.cell-value[data-v-
|
|
1936
|
+
.cell-value[data-v-aefb7a86] {
|
|
1889
1937
|
max-width: 200px;
|
|
1890
1938
|
overflow: hidden;
|
|
1891
1939
|
text-overflow: ellipsis;
|
|
1892
1940
|
white-space: nowrap;
|
|
1893
1941
|
}
|
|
1894
|
-
.loading-state[data-v-
|
|
1942
|
+
.loading-state[data-v-aefb7a86] {
|
|
1895
1943
|
display: flex;
|
|
1896
1944
|
flex-direction: column;
|
|
1897
1945
|
align-items: center;
|
|
@@ -1899,7 +1947,7 @@ to {
|
|
|
1899
1947
|
height: 200px;
|
|
1900
1948
|
gap: 10px;
|
|
1901
1949
|
}
|
|
1902
|
-
.empty-state[data-v-
|
|
1950
|
+
.empty-state[data-v-aefb7a86] {
|
|
1903
1951
|
display: flex;
|
|
1904
1952
|
flex-direction: column;
|
|
1905
1953
|
align-items: center;
|
|
@@ -1908,86 +1956,86 @@ to {
|
|
|
1908
1956
|
gap: 10px;
|
|
1909
1957
|
color: var(--db-text-muted);
|
|
1910
1958
|
}
|
|
1911
|
-
.empty-state i[data-v-
|
|
1959
|
+
.empty-state i[data-v-aefb7a86] {
|
|
1912
1960
|
font-size: 28px;
|
|
1913
1961
|
opacity: 0.5;
|
|
1914
1962
|
}
|
|
1915
|
-
.pagination-nav[data-v-
|
|
1963
|
+
.pagination-nav[data-v-aefb7a86] {
|
|
1916
1964
|
margin-top: 10px;
|
|
1917
1965
|
border-top: 1px solid var(--db-border);
|
|
1918
1966
|
padding-top: 10px;
|
|
1919
1967
|
}
|
|
1920
|
-
.pagination-container[data-v-
|
|
1968
|
+
.pagination-container[data-v-aefb7a86] {
|
|
1921
1969
|
display: flex;
|
|
1922
1970
|
align-items: center;
|
|
1923
1971
|
justify-content: space-between;
|
|
1924
1972
|
flex-wrap: wrap;
|
|
1925
1973
|
gap: 10px;
|
|
1926
1974
|
}
|
|
1927
|
-
.pagination-info[data-v-
|
|
1975
|
+
.pagination-info[data-v-aefb7a86] {
|
|
1928
1976
|
font-size: 0.75rem;
|
|
1929
1977
|
color: var(--db-text-muted);
|
|
1930
1978
|
}
|
|
1931
|
-
.page-size-selector[data-v-
|
|
1979
|
+
.page-size-selector[data-v-aefb7a86] {
|
|
1932
1980
|
display: flex;
|
|
1933
1981
|
align-items: center;
|
|
1934
1982
|
gap: 5px;
|
|
1935
1983
|
}
|
|
1936
|
-
.page-jump[data-v-
|
|
1984
|
+
.page-jump[data-v-aefb7a86] {
|
|
1937
1985
|
display: flex;
|
|
1938
1986
|
align-items: center;
|
|
1939
1987
|
gap: 5px;
|
|
1940
1988
|
}
|
|
1941
|
-
.structure-actions[data-v-
|
|
1989
|
+
.structure-actions[data-v-aefb7a86] {
|
|
1942
1990
|
display: flex;
|
|
1943
1991
|
gap: 6px;
|
|
1944
1992
|
margin-bottom: 10px;
|
|
1945
1993
|
}
|
|
1946
|
-
.structure-table[data-v-
|
|
1994
|
+
.structure-table[data-v-aefb7a86], .indexes-table[data-v-aefb7a86], .relations-table[data-v-aefb7a86] {
|
|
1947
1995
|
overflow: auto;
|
|
1948
1996
|
}
|
|
1949
|
-
.structure-table table[data-v-
|
|
1997
|
+
.structure-table table[data-v-aefb7a86], .indexes-table table[data-v-aefb7a86], .relations-table table[data-v-aefb7a86] {
|
|
1950
1998
|
width: 100%;
|
|
1951
1999
|
}
|
|
1952
|
-
.sql-section[data-v-
|
|
2000
|
+
.sql-section[data-v-aefb7a86] {
|
|
1953
2001
|
height: 100%;
|
|
1954
2002
|
}
|
|
1955
2003
|
|
|
1956
2004
|
/* 响应式设计 */
|
|
1957
2005
|
@media (max-width: 768px) {
|
|
1958
|
-
.table-header-content[data-v-
|
|
2006
|
+
.table-header-content[data-v-aefb7a86] {
|
|
1959
2007
|
flex-direction: column;
|
|
1960
2008
|
align-items: flex-start;
|
|
1961
2009
|
gap: 15px;
|
|
1962
2010
|
}
|
|
1963
|
-
.table-stats[data-v-
|
|
2011
|
+
.table-stats[data-v-aefb7a86] {
|
|
1964
2012
|
width: 100%;
|
|
1965
2013
|
justify-content: space-around;
|
|
1966
2014
|
}
|
|
1967
|
-
.table-toolbar[data-v-
|
|
2015
|
+
.table-toolbar[data-v-aefb7a86] {
|
|
1968
2016
|
flex-direction: column;
|
|
1969
2017
|
align-items: stretch;
|
|
1970
2018
|
gap: 10px;
|
|
1971
2019
|
}
|
|
1972
|
-
.toolbar-left[data-v-
|
|
2020
|
+
.toolbar-left[data-v-aefb7a86], .toolbar-right[data-v-aefb7a86] {
|
|
1973
2021
|
justify-content: center;
|
|
1974
2022
|
}
|
|
1975
|
-
.pagination-container[data-v-
|
|
2023
|
+
.pagination-container[data-v-aefb7a86] {
|
|
1976
2024
|
flex-direction: column;
|
|
1977
2025
|
align-items: flex-start;
|
|
1978
2026
|
gap: 15px;
|
|
1979
2027
|
}
|
|
1980
|
-
.pagination[data-v-
|
|
2028
|
+
.pagination[data-v-aefb7a86] {
|
|
1981
2029
|
width: 100%;
|
|
1982
2030
|
justify-content: center;
|
|
1983
2031
|
}
|
|
1984
2032
|
}
|
|
1985
2033
|
|
|
1986
|
-
.database-explorer[data-v-
|
|
2034
|
+
.database-explorer[data-v-e2c2b105] {
|
|
1987
2035
|
height: 100vh;
|
|
1988
2036
|
min-height: 600px;
|
|
1989
2037
|
}
|
|
1990
|
-
.explorer-layout[data-v-
|
|
2038
|
+
.explorer-layout[data-v-e2c2b105] {
|
|
1991
2039
|
display: flex;
|
|
1992
2040
|
height: 100%;
|
|
1993
2041
|
background: var(--db-surface);
|
|
@@ -1995,7 +2043,7 @@ to {
|
|
|
1995
2043
|
}
|
|
1996
2044
|
|
|
1997
2045
|
/* 左侧边栏 */
|
|
1998
|
-
.explorer-sidebar[data-v-
|
|
2046
|
+
.explorer-sidebar[data-v-e2c2b105] {
|
|
1999
2047
|
width: 264px;
|
|
2000
2048
|
flex-shrink: 0;
|
|
2001
2049
|
border-right: 1px solid var(--db-border);
|
|
@@ -2003,19 +2051,19 @@ to {
|
|
|
2003
2051
|
flex-direction: column;
|
|
2004
2052
|
background: var(--db-gray-light);
|
|
2005
2053
|
}
|
|
2006
|
-
.sidebar-content[data-v-
|
|
2054
|
+
.sidebar-content[data-v-e2c2b105] {
|
|
2007
2055
|
flex: 1;
|
|
2008
2056
|
overflow-y: auto;
|
|
2009
2057
|
padding: 0.5rem 0;
|
|
2010
2058
|
display: flex;
|
|
2011
2059
|
flex-direction: column;
|
|
2012
2060
|
}
|
|
2013
|
-
.tree-container[data-v-
|
|
2061
|
+
.tree-container[data-v-e2c2b105] {
|
|
2014
2062
|
flex: 1;
|
|
2015
2063
|
}
|
|
2016
2064
|
|
|
2017
2065
|
/* 工具信息样式 - 固定在左下角 */
|
|
2018
|
-
.sidebar-tool-info[data-v-
|
|
2066
|
+
.sidebar-tool-info[data-v-e2c2b105] {
|
|
2019
2067
|
padding: 0.5rem 0.625rem;
|
|
2020
2068
|
border-top: 1px solid var(--db-border);
|
|
2021
2069
|
background: transparent;
|
|
@@ -2025,10 +2073,10 @@ to {
|
|
|
2025
2073
|
cursor: pointer;
|
|
2026
2074
|
transition: background-color 0.15s ease;
|
|
2027
2075
|
}
|
|
2028
|
-
.sidebar-tool-info[data-v-
|
|
2076
|
+
.sidebar-tool-info[data-v-e2c2b105]:hover {
|
|
2029
2077
|
background: var(--db-bg-soft);
|
|
2030
2078
|
}
|
|
2031
|
-
.tool-logo[data-v-
|
|
2079
|
+
.tool-logo[data-v-e2c2b105] {
|
|
2032
2080
|
width: 24px;
|
|
2033
2081
|
height: 24px;
|
|
2034
2082
|
border-radius: 4px;
|
|
@@ -2040,22 +2088,22 @@ to {
|
|
|
2040
2088
|
font-size: 0.8125rem;
|
|
2041
2089
|
flex-shrink: 0;
|
|
2042
2090
|
}
|
|
2043
|
-
.tool-details[data-v-
|
|
2091
|
+
.tool-details[data-v-e2c2b105] {
|
|
2044
2092
|
flex: 1;
|
|
2045
2093
|
display: flex;
|
|
2046
2094
|
flex-direction: column;
|
|
2047
2095
|
gap: 0.125rem;
|
|
2048
2096
|
}
|
|
2049
|
-
.tool-name[data-v-
|
|
2097
|
+
.tool-name[data-v-e2c2b105] {
|
|
2050
2098
|
font-size: 0.875rem;
|
|
2051
2099
|
font-weight: 600;
|
|
2052
2100
|
color: var(--db-black);
|
|
2053
2101
|
}
|
|
2054
|
-
.tool-description[data-v-
|
|
2102
|
+
.tool-description[data-v-e2c2b105] {
|
|
2055
2103
|
font-size: 0.75rem;
|
|
2056
2104
|
color: var(--db-darker-color);
|
|
2057
2105
|
}
|
|
2058
|
-
.sidebar-header[data-v-
|
|
2106
|
+
.sidebar-header[data-v-e2c2b105] {
|
|
2059
2107
|
padding: 0.5rem 0.625rem;
|
|
2060
2108
|
border-bottom: 1px solid var(--db-border);
|
|
2061
2109
|
background: transparent;
|
|
@@ -2063,7 +2111,7 @@ to {
|
|
|
2063
2111
|
justify-content: space-between;
|
|
2064
2112
|
align-items: center;
|
|
2065
2113
|
}
|
|
2066
|
-
.sidebar-title[data-v-
|
|
2114
|
+
.sidebar-title[data-v-e2c2b105] {
|
|
2067
2115
|
margin: 0;
|
|
2068
2116
|
font-size: 0.6875rem;
|
|
2069
2117
|
font-weight: 600;
|
|
@@ -2074,14 +2122,14 @@ to {
|
|
|
2074
2122
|
align-items: center;
|
|
2075
2123
|
gap: 0.375rem;
|
|
2076
2124
|
}
|
|
2077
|
-
.sidebar-title i[data-v-
|
|
2125
|
+
.sidebar-title i[data-v-e2c2b105] {
|
|
2078
2126
|
color: var(--db-text-muted);
|
|
2079
2127
|
}
|
|
2080
|
-
.sidebar-actions[data-v-
|
|
2128
|
+
.sidebar-actions[data-v-e2c2b105] {
|
|
2081
2129
|
display: flex;
|
|
2082
2130
|
gap: 0.25rem;
|
|
2083
2131
|
}
|
|
2084
|
-
.sidebar-actions .btn[data-v-
|
|
2132
|
+
.sidebar-actions .btn[data-v-e2c2b105] {
|
|
2085
2133
|
padding: 0.15rem 0.4rem;
|
|
2086
2134
|
font-size: 0.75rem;
|
|
2087
2135
|
border: 1px solid var(--db-border);
|
|
@@ -2090,49 +2138,49 @@ to {
|
|
|
2090
2138
|
border-radius: 4px;
|
|
2091
2139
|
transition: all 0.15s ease;
|
|
2092
2140
|
}
|
|
2093
|
-
.sidebar-actions .btn[data-v-
|
|
2141
|
+
.sidebar-actions .btn[data-v-e2c2b105]:hover {
|
|
2094
2142
|
background-color: var(--db-bg-soft);
|
|
2095
2143
|
border-color: var(--db-border-light);
|
|
2096
2144
|
color: var(--db-dark-color);
|
|
2097
2145
|
}
|
|
2098
|
-
.sidebar-actions .btn-outline-primary[data-v-
|
|
2146
|
+
.sidebar-actions .btn-outline-primary[data-v-e2c2b105] {
|
|
2099
2147
|
border-color: var(--db-border);
|
|
2100
2148
|
color: var(--db-text-muted);
|
|
2101
2149
|
}
|
|
2102
|
-
.sidebar-actions .btn-outline-primary[data-v-
|
|
2150
|
+
.sidebar-actions .btn-outline-primary[data-v-e2c2b105]:hover {
|
|
2103
2151
|
background-color: var(--db-primary-bg);
|
|
2104
2152
|
border-color: var(--db-primary-color);
|
|
2105
2153
|
color: var(--db-primary-color);
|
|
2106
2154
|
}
|
|
2107
|
-
.sidebar-actions .btn-outline-success[data-v-
|
|
2155
|
+
.sidebar-actions .btn-outline-success[data-v-e2c2b105] {
|
|
2108
2156
|
border-color: var(--db-border);
|
|
2109
2157
|
color: var(--db-text-muted);
|
|
2110
2158
|
}
|
|
2111
|
-
.sidebar-actions .btn-outline-success[data-v-
|
|
2159
|
+
.sidebar-actions .btn-outline-success[data-v-e2c2b105]:hover {
|
|
2112
2160
|
background-color: var(--db-success-bg);
|
|
2113
2161
|
border-color: var(--db-accent-color);
|
|
2114
2162
|
color: var(--db-accent-color);
|
|
2115
2163
|
}
|
|
2116
|
-
.sidebar-content[data-v-
|
|
2164
|
+
.sidebar-content[data-v-e2c2b105] {
|
|
2117
2165
|
flex: 1;
|
|
2118
2166
|
overflow-y: auto;
|
|
2119
2167
|
padding: 0.25rem 0;
|
|
2120
2168
|
}
|
|
2121
2169
|
|
|
2122
2170
|
/* 树形结构 */
|
|
2123
|
-
.tree-container[data-v-
|
|
2171
|
+
.tree-container[data-v-e2c2b105] {
|
|
2124
2172
|
font-size: 0.8125rem;
|
|
2125
2173
|
user-select: none;
|
|
2126
2174
|
}
|
|
2127
|
-
.tree-node[data-v-
|
|
2175
|
+
.tree-node[data-v-e2c2b105] {
|
|
2128
2176
|
margin-bottom: 0;
|
|
2129
2177
|
}
|
|
2130
|
-
.tree-children[data-v-
|
|
2178
|
+
.tree-children[data-v-e2c2b105] {
|
|
2131
2179
|
margin-left: 0.5rem;
|
|
2132
2180
|
border-left: 1px solid var(--db-border);
|
|
2133
2181
|
padding-left: 0.375rem;
|
|
2134
2182
|
}
|
|
2135
|
-
.node-content[data-v-
|
|
2183
|
+
.node-content[data-v-e2c2b105] {
|
|
2136
2184
|
display: flex;
|
|
2137
2185
|
align-items: center;
|
|
2138
2186
|
padding: 0.175rem 0.5rem;
|
|
@@ -2143,7 +2191,7 @@ to {
|
|
|
2143
2191
|
border-radius: 4px;
|
|
2144
2192
|
gap: 0.125rem;
|
|
2145
2193
|
}
|
|
2146
|
-
.node-expand[data-v-
|
|
2194
|
+
.node-expand[data-v-e2c2b105] {
|
|
2147
2195
|
width: 14px;
|
|
2148
2196
|
height: 14px;
|
|
2149
2197
|
display: flex;
|
|
@@ -2152,29 +2200,29 @@ to {
|
|
|
2152
2200
|
flex-shrink: 0;
|
|
2153
2201
|
margin-right: 0.125rem;
|
|
2154
2202
|
}
|
|
2155
|
-
.node-expand i[data-v-
|
|
2203
|
+
.node-expand i[data-v-e2c2b105] {
|
|
2156
2204
|
font-size: 0.625rem;
|
|
2157
2205
|
color: var(--db-text-muted);
|
|
2158
2206
|
transition: transform 0.15s ease;
|
|
2159
2207
|
}
|
|
2160
|
-
.node-expand i.expanded[data-v-
|
|
2208
|
+
.node-expand i.expanded[data-v-e2c2b105] {
|
|
2161
2209
|
transform: rotate(90deg);
|
|
2162
2210
|
}
|
|
2163
|
-
.node-main[data-v-
|
|
2211
|
+
.node-main[data-v-e2c2b105] {
|
|
2164
2212
|
display: flex;
|
|
2165
2213
|
align-items: center;
|
|
2166
2214
|
flex: 1;
|
|
2167
2215
|
min-width: 0;
|
|
2168
2216
|
}
|
|
2169
|
-
.node-content[data-v-
|
|
2217
|
+
.node-content[data-v-e2c2b105]:hover {
|
|
2170
2218
|
background-color: var(--db-bg-soft);
|
|
2171
2219
|
}
|
|
2172
|
-
.tree-node.selected .node-content[data-v-
|
|
2220
|
+
.tree-node.selected .node-content[data-v-e2c2b105] {
|
|
2173
2221
|
background-color: var(--db-primary-bg);
|
|
2174
2222
|
color: var(--db-dark-color);
|
|
2175
2223
|
box-shadow: none;
|
|
2176
2224
|
}
|
|
2177
|
-
.tree-node.selected .node-content[data-v-
|
|
2225
|
+
.tree-node.selected .node-content[data-v-e2c2b105]::before {
|
|
2178
2226
|
content: '';
|
|
2179
2227
|
position: absolute;
|
|
2180
2228
|
left: 0;
|
|
@@ -2184,42 +2232,42 @@ to {
|
|
|
2184
2232
|
background: var(--db-primary-color);
|
|
2185
2233
|
border-radius: 2px 0 0 2px;
|
|
2186
2234
|
}
|
|
2187
|
-
.node-icon[data-v-
|
|
2235
|
+
.node-icon[data-v-e2c2b105] {
|
|
2188
2236
|
width: 16px;
|
|
2189
2237
|
display: flex;
|
|
2190
2238
|
justify-content: center;
|
|
2191
2239
|
flex-shrink: 0;
|
|
2192
2240
|
margin-right: 0.375rem;
|
|
2193
2241
|
}
|
|
2194
|
-
.node-icon i[data-v-
|
|
2242
|
+
.node-icon i[data-v-e2c2b105] {
|
|
2195
2243
|
font-size: 0.8125rem;
|
|
2196
2244
|
color: var(--db-text-muted);
|
|
2197
2245
|
}
|
|
2198
|
-
.node-label[data-v-
|
|
2246
|
+
.node-label[data-v-e2c2b105] {
|
|
2199
2247
|
flex: 1;
|
|
2200
2248
|
display: flex;
|
|
2201
2249
|
align-items: center;
|
|
2202
2250
|
gap: 0.375rem;
|
|
2203
2251
|
min-width: 0;
|
|
2204
2252
|
}
|
|
2205
|
-
.connection-name[data-v-
|
|
2206
|
-
.database-name[data-v-
|
|
2207
|
-
.table-name[data-v-
|
|
2253
|
+
.connection-name[data-v-e2c2b105],
|
|
2254
|
+
.database-name[data-v-e2c2b105],
|
|
2255
|
+
.table-name[data-v-e2c2b105] {
|
|
2208
2256
|
font-weight: 400;
|
|
2209
2257
|
white-space: nowrap;
|
|
2210
2258
|
overflow: hidden;
|
|
2211
2259
|
text-overflow: ellipsis;
|
|
2212
2260
|
line-height: 1.4;
|
|
2213
2261
|
}
|
|
2214
|
-
.tree-node.selected .connection-name[data-v-
|
|
2215
|
-
.tree-node.selected .database-name[data-v-
|
|
2216
|
-
.tree-node.selected .table-name[data-v-
|
|
2262
|
+
.tree-node.selected .connection-name[data-v-e2c2b105],
|
|
2263
|
+
.tree-node.selected .database-name[data-v-e2c2b105],
|
|
2264
|
+
.tree-node.selected .table-name[data-v-e2c2b105] {
|
|
2217
2265
|
font-weight: 500;
|
|
2218
2266
|
}
|
|
2219
2267
|
|
|
2220
2268
|
/* 类型 / 行数说明:走 VSCode 树的「描述文字」样式,浅灰无底色,减少噪声 */
|
|
2221
|
-
.connection-type[data-v-
|
|
2222
|
-
.table-info[data-v-
|
|
2269
|
+
.connection-type[data-v-e2c2b105],
|
|
2270
|
+
.table-info[data-v-e2c2b105] {
|
|
2223
2271
|
font-size: 0.6875rem;
|
|
2224
2272
|
color: var(--db-text-faint);
|
|
2225
2273
|
background-color: transparent;
|
|
@@ -2228,21 +2276,21 @@ to {
|
|
|
2228
2276
|
font-weight: 400;
|
|
2229
2277
|
white-space: nowrap;
|
|
2230
2278
|
}
|
|
2231
|
-
.tree-node.selected .connection-type[data-v-
|
|
2232
|
-
.tree-node.selected .table-info[data-v-
|
|
2279
|
+
.tree-node.selected .connection-type[data-v-e2c2b105],
|
|
2280
|
+
.tree-node.selected .table-info[data-v-e2c2b105] {
|
|
2233
2281
|
background-color: transparent;
|
|
2234
2282
|
color: var(--db-text-muted);
|
|
2235
2283
|
}
|
|
2236
|
-
.node-actions[data-v-
|
|
2284
|
+
.node-actions[data-v-e2c2b105] {
|
|
2237
2285
|
display: flex;
|
|
2238
2286
|
gap: 0.125rem;
|
|
2239
2287
|
opacity: 0;
|
|
2240
2288
|
transition: opacity 0.15s ease;
|
|
2241
2289
|
}
|
|
2242
|
-
.node-content:hover .node-actions[data-v-
|
|
2290
|
+
.node-content:hover .node-actions[data-v-e2c2b105] {
|
|
2243
2291
|
opacity: 1;
|
|
2244
2292
|
}
|
|
2245
|
-
.btn-icon[data-v-
|
|
2293
|
+
.btn-icon[data-v-e2c2b105] {
|
|
2246
2294
|
padding: 0;
|
|
2247
2295
|
background: transparent;
|
|
2248
2296
|
border: none;
|
|
@@ -2254,138 +2302,138 @@ to {
|
|
|
2254
2302
|
width: 18px;
|
|
2255
2303
|
height: 18px;
|
|
2256
2304
|
}
|
|
2257
|
-
.btn-icon[data-v-
|
|
2305
|
+
.btn-icon[data-v-e2c2b105]:hover {
|
|
2258
2306
|
background-color: var(--db-bg-soft);
|
|
2259
2307
|
}
|
|
2260
|
-
.btn-icon i[data-v-
|
|
2308
|
+
.btn-icon i[data-v-e2c2b105] {
|
|
2261
2309
|
font-size: 0.6875rem;
|
|
2262
2310
|
color: var(--db-text-muted);
|
|
2263
2311
|
}
|
|
2264
|
-
.tree-node.selected .btn-icon[data-v-
|
|
2312
|
+
.tree-node.selected .btn-icon[data-v-e2c2b105]:hover {
|
|
2265
2313
|
background-color: var(--db-bg-soft);
|
|
2266
2314
|
}
|
|
2267
|
-
.tree-node.selected .btn-icon i[data-v-
|
|
2315
|
+
.tree-node.selected .btn-icon i[data-v-e2c2b105] {
|
|
2268
2316
|
color: var(--db-text-muted);
|
|
2269
2317
|
}
|
|
2270
|
-
.tree-node.selected .btn-icon:hover i[data-v-
|
|
2318
|
+
.tree-node.selected .btn-icon:hover i[data-v-e2c2b105] {
|
|
2271
2319
|
color: var(--db-dark-color);
|
|
2272
2320
|
}
|
|
2273
|
-
.btn-icon-danger[data-v-
|
|
2321
|
+
.btn-icon-danger[data-v-e2c2b105]:hover {
|
|
2274
2322
|
background-color: var(--db-danger-bg);
|
|
2275
2323
|
}
|
|
2276
|
-
.btn-icon-danger:hover i[data-v-
|
|
2324
|
+
.btn-icon-danger:hover i[data-v-e2c2b105] {
|
|
2277
2325
|
color: #dc2626;
|
|
2278
2326
|
}
|
|
2279
|
-
.node-spinner[data-v-
|
|
2327
|
+
.node-spinner[data-v-e2c2b105] {
|
|
2280
2328
|
display: flex;
|
|
2281
2329
|
align-items: center;
|
|
2282
2330
|
justify-content: center;
|
|
2283
2331
|
}
|
|
2284
|
-
.spinner-border-sm[data-v-
|
|
2332
|
+
.spinner-border-sm[data-v-e2c2b105] {
|
|
2285
2333
|
width: 1rem;
|
|
2286
2334
|
height: 1rem;
|
|
2287
2335
|
border-width: 0.15em;
|
|
2288
2336
|
}
|
|
2289
2337
|
|
|
2290
2338
|
/* 连接节点样式 */
|
|
2291
|
-
.connection-content[data-v-
|
|
2339
|
+
.connection-content[data-v-e2c2b105] {
|
|
2292
2340
|
font-weight: 500;
|
|
2293
2341
|
color: var(--db-text-body);
|
|
2294
2342
|
}
|
|
2295
|
-
.connection-content[data-v-
|
|
2343
|
+
.connection-content[data-v-e2c2b105]:hover {
|
|
2296
2344
|
background-color: var(--db-bg-soft);
|
|
2297
2345
|
}
|
|
2298
|
-
.tree-node.selected .connection-content[data-v-
|
|
2346
|
+
.tree-node.selected .connection-content[data-v-e2c2b105] {
|
|
2299
2347
|
background-color: var(--db-primary-bg);
|
|
2300
2348
|
color: var(--db-dark-color);
|
|
2301
2349
|
}
|
|
2302
2350
|
|
|
2303
2351
|
/* 数据库节点样式 */
|
|
2304
|
-
.database-content[data-v-
|
|
2352
|
+
.database-content[data-v-e2c2b105] {
|
|
2305
2353
|
color: var(--db-text-body);
|
|
2306
2354
|
}
|
|
2307
|
-
.database-content[data-v-
|
|
2355
|
+
.database-content[data-v-e2c2b105]:hover {
|
|
2308
2356
|
background-color: var(--db-bg-soft);
|
|
2309
2357
|
}
|
|
2310
|
-
.tree-node.selected .database-content[data-v-
|
|
2358
|
+
.tree-node.selected .database-content[data-v-e2c2b105] {
|
|
2311
2359
|
background-color: var(--db-primary-bg);
|
|
2312
2360
|
color: var(--db-dark-color);
|
|
2313
2361
|
}
|
|
2314
2362
|
|
|
2315
2363
|
/* 表节点样式 */
|
|
2316
|
-
.table-content[data-v-
|
|
2364
|
+
.table-content[data-v-e2c2b105] {
|
|
2317
2365
|
color: var(--db-text-body);
|
|
2318
2366
|
}
|
|
2319
|
-
.table-content[data-v-
|
|
2367
|
+
.table-content[data-v-e2c2b105]:hover {
|
|
2320
2368
|
background-color: var(--db-bg-soft);
|
|
2321
2369
|
}
|
|
2322
|
-
.tree-node.selected .table-content[data-v-
|
|
2370
|
+
.tree-node.selected .table-content[data-v-e2c2b105] {
|
|
2323
2371
|
background-color: var(--db-primary-bg);
|
|
2324
2372
|
color: var(--db-dark-color);
|
|
2325
2373
|
}
|
|
2326
2374
|
|
|
2327
2375
|
/* 数据库品牌色彩 */
|
|
2328
|
-
.db-mysql[data-v-
|
|
2376
|
+
.db-mysql[data-v-e2c2b105] {
|
|
2329
2377
|
color: #00758f !important;
|
|
2330
2378
|
background: #00758f;
|
|
2331
2379
|
-webkit-background-clip: text;
|
|
2332
2380
|
-webkit-text-fill-color: transparent;
|
|
2333
2381
|
}
|
|
2334
|
-
.db-mysql-bg[data-v-
|
|
2382
|
+
.db-mysql-bg[data-v-e2c2b105] { background: #00758f;
|
|
2335
2383
|
}
|
|
2336
|
-
.db-postgres[data-v-
|
|
2384
|
+
.db-postgres[data-v-e2c2b105] {
|
|
2337
2385
|
color: #336791 !important;
|
|
2338
2386
|
background: #336791;
|
|
2339
2387
|
-webkit-background-clip: text;
|
|
2340
2388
|
-webkit-text-fill-color: transparent;
|
|
2341
2389
|
}
|
|
2342
|
-
.db-postgres-bg[data-v-
|
|
2390
|
+
.db-postgres-bg[data-v-e2c2b105] { background: #336791;
|
|
2343
2391
|
}
|
|
2344
|
-
.db-sqlite[data-v-
|
|
2392
|
+
.db-sqlite[data-v-e2c2b105] {
|
|
2345
2393
|
color: #003b57 !important;
|
|
2346
2394
|
background: #003b57;
|
|
2347
2395
|
-webkit-background-clip: text;
|
|
2348
2396
|
-webkit-text-fill-color: transparent;
|
|
2349
2397
|
}
|
|
2350
|
-
.db-sqlite-bg[data-v-
|
|
2398
|
+
.db-sqlite-bg[data-v-e2c2b105] { background: #003b57;
|
|
2351
2399
|
}
|
|
2352
|
-
.db-mssql[data-v-
|
|
2400
|
+
.db-mssql[data-v-e2c2b105] {
|
|
2353
2401
|
color: #cc2927 !important;
|
|
2354
2402
|
background: #cc2927;
|
|
2355
2403
|
-webkit-background-clip: text;
|
|
2356
2404
|
-webkit-text-fill-color: transparent;
|
|
2357
2405
|
}
|
|
2358
|
-
.db-mssql-bg[data-v-
|
|
2406
|
+
.db-mssql-bg[data-v-e2c2b105] { background: #cc2927;
|
|
2359
2407
|
}
|
|
2360
|
-
.db-oracle[data-v-
|
|
2408
|
+
.db-oracle[data-v-e2c2b105] {
|
|
2361
2409
|
color: #f80000 !important;
|
|
2362
2410
|
background: #f80000;
|
|
2363
2411
|
-webkit-background-clip: text;
|
|
2364
2412
|
-webkit-text-fill-color: transparent;
|
|
2365
2413
|
}
|
|
2366
|
-
.db-oracle-bg[data-v-
|
|
2414
|
+
.db-oracle-bg[data-v-e2c2b105] { background: #f80000;
|
|
2367
2415
|
}
|
|
2368
|
-
.db-default[data-v-
|
|
2416
|
+
.db-default[data-v-e2c2b105] {
|
|
2369
2417
|
color: var(--db-text-muted) !important;
|
|
2370
2418
|
background: linear-gradient(135deg, var(--db-text-muted), var(--db-gray-dark));
|
|
2371
2419
|
-webkit-background-clip: text;
|
|
2372
2420
|
-webkit-text-fill-color: transparent;
|
|
2373
2421
|
}
|
|
2374
|
-
.db-default-bg[data-v-
|
|
2422
|
+
.db-default-bg[data-v-e2c2b105] { background: linear-gradient(135deg, var(--db-text-muted), var(--db-gray-dark));
|
|
2375
2423
|
}
|
|
2376
|
-
.tree-node.selected .db-mysql[data-v-
|
|
2377
|
-
.tree-node.selected .db-postgres[data-v-
|
|
2378
|
-
.tree-node.selected .db-sqlite[data-v-
|
|
2379
|
-
.tree-node.selected .db-mssql[data-v-
|
|
2380
|
-
.tree-node.selected .db-oracle[data-v-
|
|
2381
|
-
.tree-node.selected .db-default[data-v-
|
|
2424
|
+
.tree-node.selected .db-mysql[data-v-e2c2b105],
|
|
2425
|
+
.tree-node.selected .db-postgres[data-v-e2c2b105],
|
|
2426
|
+
.tree-node.selected .db-sqlite[data-v-e2c2b105],
|
|
2427
|
+
.tree-node.selected .db-mssql[data-v-e2c2b105],
|
|
2428
|
+
.tree-node.selected .db-oracle[data-v-e2c2b105],
|
|
2429
|
+
.tree-node.selected .db-default[data-v-e2c2b105] {
|
|
2382
2430
|
color: var(--db-on-accent) !important;
|
|
2383
2431
|
background: none;
|
|
2384
2432
|
-webkit-text-fill-color: var(--db-on-accent);
|
|
2385
2433
|
}
|
|
2386
2434
|
|
|
2387
2435
|
/* 数据库Logo图标 */
|
|
2388
|
-
.db-logo[data-v-
|
|
2436
|
+
.db-logo[data-v-e2c2b105] {
|
|
2389
2437
|
width: 16px;
|
|
2390
2438
|
height: 16px;
|
|
2391
2439
|
border-radius: 3px;
|
|
@@ -2397,33 +2445,33 @@ to {
|
|
|
2397
2445
|
line-height: 1;
|
|
2398
2446
|
color: var(--db-on-accent);
|
|
2399
2447
|
}
|
|
2400
|
-
.db-logo-mysql[data-v-
|
|
2448
|
+
.db-logo-mysql[data-v-e2c2b105] {
|
|
2401
2449
|
background: #00758f;
|
|
2402
2450
|
border: 1px solid #004d61;
|
|
2403
2451
|
}
|
|
2404
|
-
.db-logo-postgres[data-v-
|
|
2452
|
+
.db-logo-postgres[data-v-e2c2b105] {
|
|
2405
2453
|
background: #336791;
|
|
2406
2454
|
border: 1px solid #244566;
|
|
2407
2455
|
}
|
|
2408
|
-
.db-logo-sqlite[data-v-
|
|
2456
|
+
.db-logo-sqlite[data-v-e2c2b105] {
|
|
2409
2457
|
background: #003b57;
|
|
2410
2458
|
border: 1px solid #002939;
|
|
2411
2459
|
}
|
|
2412
|
-
.db-logo-mssql[data-v-
|
|
2460
|
+
.db-logo-mssql[data-v-e2c2b105] {
|
|
2413
2461
|
background: #cc2927;
|
|
2414
2462
|
border: 1px solid #8b1f1d;
|
|
2415
2463
|
}
|
|
2416
|
-
.db-logo-oracle[data-v-
|
|
2464
|
+
.db-logo-oracle[data-v-e2c2b105] {
|
|
2417
2465
|
background: #f80000;
|
|
2418
2466
|
border: 1px solid #b30000;
|
|
2419
2467
|
}
|
|
2420
|
-
.db-logo-default[data-v-
|
|
2468
|
+
.db-logo-default[data-v-e2c2b105] {
|
|
2421
2469
|
background: linear-gradient(135deg, var(--db-text-muted), var(--db-gray-dark));
|
|
2422
2470
|
border: 1px solid var(--db-darker-color);
|
|
2423
2471
|
}
|
|
2424
2472
|
|
|
2425
2473
|
/* 右侧主内容 */
|
|
2426
|
-
.explorer-main[data-v-
|
|
2474
|
+
.explorer-main[data-v-e2c2b105] {
|
|
2427
2475
|
flex: 1;
|
|
2428
2476
|
display: flex;
|
|
2429
2477
|
flex-direction: column;
|
|
@@ -2432,24 +2480,24 @@ to {
|
|
|
2432
2480
|
}
|
|
2433
2481
|
|
|
2434
2482
|
/* 详情组件容器 */
|
|
2435
|
-
.explorer-main[data-v-
|
|
2483
|
+
.explorer-main[data-v-e2c2b105] > * {
|
|
2436
2484
|
flex: 1;
|
|
2437
2485
|
display: flex;
|
|
2438
2486
|
flex-direction: column;
|
|
2439
2487
|
height: 100%;
|
|
2440
2488
|
}
|
|
2441
|
-
.content-tabs[data-v-
|
|
2489
|
+
.content-tabs[data-v-e2c2b105] {
|
|
2442
2490
|
flex: 1;
|
|
2443
2491
|
display: flex;
|
|
2444
2492
|
flex-direction: column;
|
|
2445
2493
|
height: 100%;
|
|
2446
2494
|
}
|
|
2447
|
-
.nav-tabs[data-v-
|
|
2495
|
+
.nav-tabs[data-v-e2c2b105] {
|
|
2448
2496
|
background: var(--db-light-color);
|
|
2449
2497
|
border-bottom: 1px solid var(--db-gray-medium);
|
|
2450
2498
|
padding: 0 1rem;
|
|
2451
2499
|
}
|
|
2452
|
-
.nav-link[data-v-
|
|
2500
|
+
.nav-link[data-v-e2c2b105] {
|
|
2453
2501
|
border: none;
|
|
2454
2502
|
background: transparent;
|
|
2455
2503
|
color: var(--db-darker-color);
|
|
@@ -2457,16 +2505,16 @@ to {
|
|
|
2457
2505
|
font-weight: 500;
|
|
2458
2506
|
transition: all 0.2s ease;
|
|
2459
2507
|
}
|
|
2460
|
-
.nav-link[data-v-
|
|
2508
|
+
.nav-link[data-v-e2c2b105]:hover {
|
|
2461
2509
|
color: #667eea;
|
|
2462
2510
|
background: rgba(102, 126, 234, 0.1);
|
|
2463
2511
|
}
|
|
2464
|
-
.nav-link.active[data-v-
|
|
2512
|
+
.nav-link.active[data-v-e2c2b105] {
|
|
2465
2513
|
color: #667eea;
|
|
2466
2514
|
background: var(--db-surface);
|
|
2467
2515
|
border-bottom: 2px solid #667eea;
|
|
2468
2516
|
}
|
|
2469
|
-
.tab-content[data-v-
|
|
2517
|
+
.tab-content[data-v-e2c2b105] {
|
|
2470
2518
|
flex: 1;
|
|
2471
2519
|
overflow-y: auto;
|
|
2472
2520
|
padding: 1.25rem;
|
|
@@ -2474,15 +2522,15 @@ to {
|
|
|
2474
2522
|
}
|
|
2475
2523
|
|
|
2476
2524
|
/* 概览样式 */
|
|
2477
|
-
.overview-section[data-v-
|
|
2525
|
+
.overview-section[data-v-e2c2b105] {
|
|
2478
2526
|
padding: 1rem 0;
|
|
2479
2527
|
}
|
|
2480
|
-
.info-cards[data-v-
|
|
2528
|
+
.info-cards[data-v-e2c2b105] {
|
|
2481
2529
|
display: grid;
|
|
2482
2530
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
2483
2531
|
gap: 0.75rem;
|
|
2484
2532
|
}
|
|
2485
|
-
.info-card[data-v-
|
|
2533
|
+
.info-card[data-v-e2c2b105] {
|
|
2486
2534
|
background: linear-gradient(135deg, var(--db-light-color) 0%, var(--db-border) 100%);
|
|
2487
2535
|
border-radius: 8px;
|
|
2488
2536
|
padding: 0.875rem;
|
|
@@ -2491,7 +2539,7 @@ to {
|
|
|
2491
2539
|
gap: 0.75rem;
|
|
2492
2540
|
border: 1px solid var(--db-gray-medium);
|
|
2493
2541
|
}
|
|
2494
|
-
.card-icon[data-v-
|
|
2542
|
+
.card-icon[data-v-e2c2b105] {
|
|
2495
2543
|
width: 36px;
|
|
2496
2544
|
height: 36px;
|
|
2497
2545
|
background: var(--db-primary-color);
|
|
@@ -2502,13 +2550,13 @@ to {
|
|
|
2502
2550
|
color: var(--db-on-accent);
|
|
2503
2551
|
font-size: 1rem;
|
|
2504
2552
|
}
|
|
2505
|
-
.card-content h6[data-v-
|
|
2553
|
+
.card-content h6[data-v-e2c2b105] {
|
|
2506
2554
|
margin: 0 0 0.25rem 0;
|
|
2507
2555
|
color: var(--db-darker-color);
|
|
2508
2556
|
font-size: 0.8125rem;
|
|
2509
2557
|
font-weight: 500;
|
|
2510
2558
|
}
|
|
2511
|
-
.card-value[data-v-
|
|
2559
|
+
.card-value[data-v-e2c2b105] {
|
|
2512
2560
|
margin: 0;
|
|
2513
2561
|
color: var(--db-dark-color);
|
|
2514
2562
|
font-weight: 600;
|
|
@@ -2516,12 +2564,12 @@ to {
|
|
|
2516
2564
|
}
|
|
2517
2565
|
|
|
2518
2566
|
/* 表格网格 */
|
|
2519
|
-
.table-grid[data-v-
|
|
2567
|
+
.table-grid[data-v-e2c2b105] {
|
|
2520
2568
|
display: grid;
|
|
2521
2569
|
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
|
2522
2570
|
gap: 0.75rem;
|
|
2523
2571
|
}
|
|
2524
|
-
.table-card[data-v-
|
|
2572
|
+
.table-card[data-v-e2c2b105] {
|
|
2525
2573
|
background: var(--db-surface);
|
|
2526
2574
|
border: 1px solid var(--db-gray-medium);
|
|
2527
2575
|
border-radius: 8px;
|
|
@@ -2529,18 +2577,18 @@ to {
|
|
|
2529
2577
|
cursor: pointer;
|
|
2530
2578
|
transition: all 0.2s ease;
|
|
2531
2579
|
}
|
|
2532
|
-
.table-card[data-v-
|
|
2580
|
+
.table-card[data-v-e2c2b105]:hover {
|
|
2533
2581
|
border-color: var(--db-primary-color);
|
|
2534
2582
|
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.15);
|
|
2535
2583
|
transform: translateY(-2px);
|
|
2536
2584
|
}
|
|
2537
|
-
.table-card .card-header[data-v-
|
|
2585
|
+
.table-card .card-header[data-v-e2c2b105] {
|
|
2538
2586
|
display: flex;
|
|
2539
2587
|
align-items: center;
|
|
2540
2588
|
gap: 0.5rem;
|
|
2541
2589
|
margin-bottom: 0.5rem;
|
|
2542
2590
|
}
|
|
2543
|
-
.table-icon[data-v-
|
|
2591
|
+
.table-icon[data-v-e2c2b105] {
|
|
2544
2592
|
width: 28px;
|
|
2545
2593
|
height: 28px;
|
|
2546
2594
|
background: var(--db-accent-color);
|
|
@@ -2550,37 +2598,37 @@ to {
|
|
|
2550
2598
|
justify-content: center;
|
|
2551
2599
|
color: var(--db-on-accent);
|
|
2552
2600
|
}
|
|
2553
|
-
.table-name[data-v-
|
|
2601
|
+
.table-name[data-v-e2c2b105] {
|
|
2554
2602
|
font-weight: 600;
|
|
2555
2603
|
color: var(--db-dark-color);
|
|
2556
2604
|
}
|
|
2557
|
-
.table-stats[data-v-
|
|
2605
|
+
.table-stats[data-v-e2c2b105] {
|
|
2558
2606
|
display: flex;
|
|
2559
2607
|
gap: 0.75rem;
|
|
2560
2608
|
margin-bottom: 0.5rem;
|
|
2561
2609
|
}
|
|
2562
|
-
.stat[data-v-
|
|
2610
|
+
.stat[data-v-e2c2b105] {
|
|
2563
2611
|
display: flex;
|
|
2564
2612
|
flex-direction: column;
|
|
2565
2613
|
gap: 0.25rem;
|
|
2566
2614
|
}
|
|
2567
|
-
.stat-label[data-v-
|
|
2615
|
+
.stat-label[data-v-e2c2b105] {
|
|
2568
2616
|
font-size: 0.75rem;
|
|
2569
2617
|
color: var(--db-darker-color);
|
|
2570
2618
|
}
|
|
2571
|
-
.stat-value[data-v-
|
|
2619
|
+
.stat-value[data-v-e2c2b105] {
|
|
2572
2620
|
font-size: 0.875rem;
|
|
2573
2621
|
font-weight: 600;
|
|
2574
2622
|
color: var(--db-black);
|
|
2575
2623
|
}
|
|
2576
|
-
.table-comment[data-v-
|
|
2624
|
+
.table-comment[data-v-e2c2b105] {
|
|
2577
2625
|
font-size: 0.75rem;
|
|
2578
2626
|
color: var(--db-darker-color);
|
|
2579
2627
|
font-style: italic;
|
|
2580
2628
|
}
|
|
2581
2629
|
|
|
2582
2630
|
/* 数据工具栏 */
|
|
2583
|
-
.data-toolbar[data-v-
|
|
2631
|
+
.data-toolbar[data-v-e2c2b105] {
|
|
2584
2632
|
display: flex;
|
|
2585
2633
|
justify-content: space-between;
|
|
2586
2634
|
align-items: center;
|
|
@@ -2589,16 +2637,16 @@ to {
|
|
|
2589
2637
|
background: var(--db-light-color);
|
|
2590
2638
|
border-radius: 8px;
|
|
2591
2639
|
}
|
|
2592
|
-
.toolbar-left[data-v-
|
|
2593
|
-
.toolbar-right[data-v-
|
|
2640
|
+
.toolbar-left[data-v-e2c2b105],
|
|
2641
|
+
.toolbar-right[data-v-e2c2b105] {
|
|
2594
2642
|
display: flex;
|
|
2595
2643
|
gap: 0.5rem;
|
|
2596
2644
|
align-items: center;
|
|
2597
2645
|
}
|
|
2598
2646
|
|
|
2599
2647
|
/* 空状态 */
|
|
2600
|
-
.empty-state[data-v-
|
|
2601
|
-
.default-state[data-v-
|
|
2648
|
+
.empty-state[data-v-e2c2b105],
|
|
2649
|
+
.default-state[data-v-e2c2b105] {
|
|
2602
2650
|
display: flex;
|
|
2603
2651
|
flex-direction: column;
|
|
2604
2652
|
align-items: center;
|
|
@@ -2607,33 +2655,33 @@ to {
|
|
|
2607
2655
|
color: var(--db-darker-color);
|
|
2608
2656
|
text-align: center;
|
|
2609
2657
|
}
|
|
2610
|
-
.empty-icon[data-v-
|
|
2611
|
-
.default-icon[data-v-
|
|
2658
|
+
.empty-icon[data-v-e2c2b105],
|
|
2659
|
+
.default-icon[data-v-e2c2b105] {
|
|
2612
2660
|
font-size: 1.75rem;
|
|
2613
2661
|
margin-bottom: 0.5rem;
|
|
2614
2662
|
opacity: 0.4;
|
|
2615
2663
|
}
|
|
2616
|
-
.empty-text h5[data-v-
|
|
2617
|
-
.default-content h5[data-v-
|
|
2664
|
+
.empty-text h5[data-v-e2c2b105],
|
|
2665
|
+
.default-content h5[data-v-e2c2b105] {
|
|
2618
2666
|
color: var(--db-dark-color);
|
|
2619
2667
|
margin-bottom: 0.5rem;
|
|
2620
2668
|
}
|
|
2621
2669
|
|
|
2622
2670
|
/* 响应式 */
|
|
2623
2671
|
@media (max-width: 768px) {
|
|
2624
|
-
.explorer-layout[data-v-
|
|
2672
|
+
.explorer-layout[data-v-e2c2b105] {
|
|
2625
2673
|
flex-direction: column;
|
|
2626
2674
|
}
|
|
2627
|
-
.explorer-sidebar[data-v-
|
|
2675
|
+
.explorer-sidebar[data-v-e2c2b105] {
|
|
2628
2676
|
width: 100%;
|
|
2629
2677
|
height: 40vh;
|
|
2630
2678
|
border-right: none;
|
|
2631
2679
|
border-bottom: 1px solid var(--db-gray-medium);
|
|
2632
2680
|
}
|
|
2633
|
-
.info-cards[data-v-
|
|
2681
|
+
.info-cards[data-v-e2c2b105] {
|
|
2634
2682
|
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
|
2635
2683
|
}
|
|
2636
|
-
.table-grid[data-v-
|
|
2684
|
+
.table-grid[data-v-e2c2b105] {
|
|
2637
2685
|
grid-template-columns: 1fr;
|
|
2638
2686
|
}
|
|
2639
2687
|
}
|