fdb2 1.0.17 → 1.0.19

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.
Files changed (98) hide show
  1. package/dist/package.json +139 -0
  2. package/dist/pnpm-lock.yaml +7332 -0
  3. package/dist/public/.vite/manifest.json +102 -0
  4. package/dist/public/bootstrap-icons.woff +0 -0
  5. package/dist/public/bootstrap-icons.woff2 +0 -0
  6. package/dist/public/bootstrap.css +14152 -0
  7. package/dist/public/bootstrap.js +4717 -0
  8. package/dist/public/explorer.css +2542 -0
  9. package/dist/public/explorer.js +59311 -0
  10. package/dist/public/favicon.ico +0 -0
  11. package/dist/public/index.css +1099 -0
  12. package/dist/public/index.js +5533 -0
  13. package/dist/public/layout.css +318 -0
  14. package/dist/public/layout.js +35 -0
  15. package/dist/public/rolldown-runtime.js +38 -0
  16. package/dist/public/vconsole.min.js +10355 -0
  17. package/dist/public/vue.js +6542 -0
  18. package/dist/scripts/nw-build.js +136 -0
  19. package/dist/scripts/nw-dev.js +67 -0
  20. package/dist/scripts/preinstall.js +112 -0
  21. package/dist/server/index.d.ts +2 -0
  22. package/dist/server/index.d.ts.map +1 -0
  23. package/dist/server/index.js +607 -0
  24. package/dist/server/index.js.map +1 -0
  25. package/dist/server/index.ts +685 -0
  26. package/dist/server/model/connection.entity.d.ts +55 -0
  27. package/dist/server/model/connection.entity.d.ts.map +1 -0
  28. package/dist/server/model/connection.entity.js +59 -0
  29. package/dist/server/model/connection.entity.js.map +1 -0
  30. package/dist/server/model/connection.entity.ts +66 -0
  31. package/dist/server/model/database.entity.d.ts +203 -0
  32. package/dist/server/model/database.entity.d.ts.map +1 -0
  33. package/dist/server/model/database.entity.js +211 -0
  34. package/dist/server/model/database.entity.js.map +1 -0
  35. package/dist/server/model/database.entity.ts +246 -0
  36. package/dist/server/service/connection.service.d.ts +84 -0
  37. package/dist/server/service/connection.service.d.ts.map +1 -0
  38. package/dist/server/service/connection.service.js +369 -0
  39. package/dist/server/service/connection.service.js.map +1 -0
  40. package/dist/server/service/connection.service.ts +359 -0
  41. package/dist/server/service/database/base.service.d.ts +183 -0
  42. package/dist/server/service/database/base.service.d.ts.map +1 -0
  43. package/dist/server/service/database/base.service.js +253 -0
  44. package/dist/server/service/database/base.service.js.map +1 -0
  45. package/dist/server/service/database/base.service.ts +407 -0
  46. package/dist/server/service/database/cockroachdb.service.d.ts +116 -0
  47. package/dist/server/service/database/cockroachdb.service.d.ts.map +1 -0
  48. package/dist/server/service/database/cockroachdb.service.js +812 -0
  49. package/dist/server/service/database/cockroachdb.service.js.map +1 -0
  50. package/dist/server/service/database/cockroachdb.service.ts +871 -0
  51. package/dist/server/service/database/database.service.d.ts +495 -0
  52. package/dist/server/service/database/database.service.d.ts.map +1 -0
  53. package/dist/server/service/database/database.service.js +711 -0
  54. package/dist/server/service/database/database.service.js.map +1 -0
  55. package/dist/server/service/database/database.service.ts +776 -0
  56. package/dist/server/service/database/index.d.ts +8 -0
  57. package/dist/server/service/database/index.d.ts.map +1 -0
  58. package/dist/server/service/database/index.js +18 -0
  59. package/dist/server/service/database/index.js.map +1 -0
  60. package/dist/server/service/database/index.ts +7 -0
  61. package/dist/server/service/database/mongodb.service.d.ts +121 -0
  62. package/dist/server/service/database/mongodb.service.d.ts.map +1 -0
  63. package/dist/server/service/database/mongodb.service.js +502 -0
  64. package/dist/server/service/database/mongodb.service.js.map +1 -0
  65. package/dist/server/service/database/mongodb.service.ts +501 -0
  66. package/dist/server/service/database/mssql.service.d.ts +118 -0
  67. package/dist/server/service/database/mssql.service.d.ts.map +1 -0
  68. package/dist/server/service/database/mssql.service.js +871 -0
  69. package/dist/server/service/database/mssql.service.js.map +1 -0
  70. package/dist/server/service/database/mssql.service.ts +932 -0
  71. package/dist/server/service/database/mysql.service.d.ts +114 -0
  72. package/dist/server/service/database/mysql.service.d.ts.map +1 -0
  73. package/dist/server/service/database/mysql.service.js +960 -0
  74. package/dist/server/service/database/mysql.service.js.map +1 -0
  75. package/dist/server/service/database/mysql.service.ts +1026 -0
  76. package/dist/server/service/database/oracle.service.d.ts +126 -0
  77. package/dist/server/service/database/oracle.service.d.ts.map +1 -0
  78. package/dist/server/service/database/oracle.service.js +963 -0
  79. package/dist/server/service/database/oracle.service.js.map +1 -0
  80. package/dist/server/service/database/oracle.service.ts +1036 -0
  81. package/dist/server/service/database/postgres.service.d.ts +122 -0
  82. package/dist/server/service/database/postgres.service.d.ts.map +1 -0
  83. package/dist/server/service/database/postgres.service.js +882 -0
  84. package/dist/server/service/database/postgres.service.js.map +1 -0
  85. package/dist/server/service/database/postgres.service.ts +961 -0
  86. package/dist/server/service/database/sap.service.d.ts +115 -0
  87. package/dist/server/service/database/sap.service.d.ts.map +1 -0
  88. package/dist/server/service/database/sap.service.js +868 -0
  89. package/dist/server/service/database/sap.service.js.map +1 -0
  90. package/dist/server/service/database/sap.service.ts +922 -0
  91. package/dist/server/service/database/sqlite.service.d.ts +112 -0
  92. package/dist/server/service/database/sqlite.service.d.ts.map +1 -0
  93. package/dist/server/service/database/sqlite.service.js +723 -0
  94. package/dist/server/service/database/sqlite.service.js.map +1 -0
  95. package/dist/server/service/database/sqlite.service.ts +787 -0
  96. package/dist/server/service/session.service.ts +158 -0
  97. package/dist/view/index.html +45 -0
  98. package/package.json +9 -8
@@ -0,0 +1,318 @@
1
+
2
+ /* 主布局样式 */
3
+ .database-layout[data-v-e9cb9298] {
4
+ height: 100vh;
5
+ display: flex;
6
+ flex-direction: column;
7
+ background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
8
+ }
9
+
10
+ /* 现代导航栏样式 */
11
+ .navbar-modern[data-v-e9cb9298] {
12
+ background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
13
+ border-bottom: 1px solid #e2e8f0;
14
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
15
+ padding: 0.75rem 0;
16
+ position: sticky;
17
+ top: 0;
18
+ z-index: 1030;
19
+ backdrop-filter: blur(10px);
20
+ }
21
+
22
+ /* 品牌区域 */
23
+ .navbar-brand-wrapper[data-v-e9cb9298] {
24
+ margin-right: 2rem;
25
+ }
26
+ .navbar-brand-modern[data-v-e9cb9298] {
27
+ display: flex;
28
+ align-items: center;
29
+ gap: 1rem;
30
+ text-decoration: none;
31
+ color: #1e293b;
32
+ transition: all 0.3s ease;
33
+ }
34
+ .navbar-brand-modern[data-v-e9cb9298]:hover {
35
+ color: #667eea;
36
+ transform: translateX(2px);
37
+ }
38
+ .brand-icon[data-v-e9cb9298] {
39
+ width: 45px;
40
+ height: 45px;
41
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
42
+ border-radius: 12px;
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ color: white;
47
+ font-size: 1.5rem;
48
+ box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
49
+ transition: all 0.3s ease;
50
+ }
51
+ .brand-icon[data-v-e9cb9298]:hover {
52
+ transform: rotate(5deg) scale(1.05);
53
+ box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
54
+ }
55
+ .brand-text[data-v-e9cb9298] {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: 2px;
59
+ }
60
+ .brand-name[data-v-e9cb9298] {
61
+ font-size: 1.25rem;
62
+ font-weight: 700;
63
+ color: #1e293b;
64
+ letter-spacing: -0.025em;
65
+ }
66
+ .brand-subtitle[data-v-e9cb9298] {
67
+ font-size: 0.75rem;
68
+ color: #64748b;
69
+ font-weight: 500;
70
+ letter-spacing: 0.05em;
71
+ text-transform: uppercase;
72
+ }
73
+
74
+ /* 移动端切换按钮 */
75
+ .navbar-toggler-modern[data-v-e9cb9298] {
76
+ background: none;
77
+ border: none;
78
+ padding: 0.5rem;
79
+ cursor: pointer;
80
+ display: none;
81
+ flex-direction: column;
82
+ gap: 4px;
83
+ }
84
+ .navbar-toggler-line[data-v-e9cb9298] {
85
+ width: 25px;
86
+ height: 3px;
87
+ background: linear-gradient(90deg, #667eea, #764ba2);
88
+ border-radius: 2px;
89
+ transition: all 0.3s ease;
90
+ }
91
+
92
+ /* 导航折叠区域 */
93
+ .navbar-collapse-modern[data-v-e9cb9298] {
94
+ background: transparent;
95
+ }
96
+
97
+ /* 主导航样式 */
98
+ .navbar-nav-modern[data-v-e9cb9298] {
99
+ display: flex;
100
+ align-items: center;
101
+ gap: 0.5rem;
102
+ }
103
+ .nav-item-modern[data-v-e9cb9298] {
104
+ position: relative;
105
+ }
106
+ .nav-link-modern[data-v-e9cb9298] {
107
+ display: flex;
108
+ align-items: center;
109
+ gap: 0.75rem;
110
+ padding: 0.75rem 1.25rem;
111
+ border-radius: 12px;
112
+ color: #64748b;
113
+ text-decoration: none;
114
+ font-weight: 500;
115
+ transition: all 0.3s ease;
116
+ position: relative;
117
+ overflow: hidden;
118
+ }
119
+ .nav-link-modern[data-v-e9cb9298]:hover {
120
+ background: rgba(102, 126, 234, 0.1);
121
+ color: #667eea;
122
+ transform: translateY(-1px);
123
+ }
124
+ .nav-link-modern.active[data-v-e9cb9298] {
125
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
126
+ color: white;
127
+ box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
128
+ }
129
+ .nav-icon[data-v-e9cb9298] {
130
+ font-size: 1.25rem;
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ min-width: 24px;
135
+ }
136
+ .nav-text[data-v-e9cb9298] {
137
+ font-size: 0.95rem;
138
+ font-weight: 600;
139
+ letter-spacing: 0.025em;
140
+ }
141
+ .nav-indicator[data-v-e9cb9298] {
142
+ position: absolute;
143
+ bottom: 0;
144
+ left: 50%;
145
+ transform: translateX(-50%);
146
+ width: 4px;
147
+ height: 4px;
148
+ background: white;
149
+ border-radius: 50%;
150
+ opacity: 0;
151
+ transition: all 0.3s ease;
152
+ }
153
+ .nav-link-modern.active .nav-indicator[data-v-e9cb9298] {
154
+ opacity: 1;
155
+ }
156
+
157
+ /* 用户菜单样式 */
158
+ .nav-icon-only[data-v-e9cb9298] {
159
+ padding: 0.75rem;
160
+ min-width: auto;
161
+ }
162
+ .notification-dot[data-v-e9cb9298] {
163
+ position: absolute;
164
+ top: 8px;
165
+ right: 8px;
166
+ width: 8px;
167
+ height: 8px;
168
+ background: #ef4444;
169
+ border-radius: 50%;
170
+ border: 2px solid white;
171
+ animation: pulse-e9cb9298 2s ease-in-out infinite;
172
+ }
173
+ .user-menu-toggle[data-v-e9cb9298] {
174
+ display: flex;
175
+ align-items: center;
176
+ gap: 0.75rem;
177
+ padding: 0.5rem;
178
+ border-radius: 12px;
179
+ transition: all 0.3s ease;
180
+ }
181
+ .user-menu-toggle[data-v-e9cb9298]:hover {
182
+ background: rgba(102, 126, 234, 0.1);
183
+ }
184
+ .user-avatar[data-v-e9cb9298] {
185
+ width: 40px;
186
+ height: 40px;
187
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
188
+ border-radius: 50%;
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ color: white;
193
+ font-size: 1.25rem;
194
+ box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
195
+ }
196
+ .user-info[data-v-e9cb9298] {
197
+ display: flex;
198
+ flex-direction: column;
199
+ gap: 2px;
200
+ }
201
+ .user-name[data-v-e9cb9298] {
202
+ font-size: 0.9rem;
203
+ font-weight: 600;
204
+ color: #1e293b;
205
+ }
206
+ .user-role[data-v-e9cb9298] {
207
+ font-size: 0.75rem;
208
+ color: #64748b;
209
+ font-weight: 500;
210
+ }
211
+ .dropdown-arrow[data-v-e9cb9298] {
212
+ color: #94a3b8;
213
+ font-size: 0.75rem;
214
+ transition: all 0.3s ease;
215
+ }
216
+ .user-menu-toggle:hover .dropdown-arrow[data-v-e9cb9298] {
217
+ color: #667eea;
218
+ transform: translateY(1px);
219
+ }
220
+
221
+ /* 现代下拉菜单样式 */
222
+ .dropdown-menu-modern[data-v-e9cb9298] {
223
+ background: white;
224
+ border: 1px solid #e2e8f0;
225
+ border-radius: 16px;
226
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.05);
227
+ padding: 0.75rem;
228
+ min-width: 280px;
229
+ backdrop-filter: blur(10px);
230
+ margin-top: 0.75rem;
231
+ }
232
+ .dropdown-header[data-v-e9cb9298] {
233
+ padding: 0.5rem 0.75rem;
234
+ font-size: 0.75rem;
235
+ font-weight: 700;
236
+ color: #94a3b8;
237
+ text-transform: uppercase;
238
+ letter-spacing: 0.05em;
239
+ border-bottom: 1px solid #f1f5f9;
240
+ margin-bottom: 0.5rem;
241
+ }
242
+ .dropdown-item-modern[data-v-e9cb9298] {
243
+ display: flex;
244
+ align-items: center;
245
+ gap: 0.75rem;
246
+ padding: 0.75rem;
247
+ border-radius: 8px;
248
+ color: #374151;
249
+ text-decoration: none;
250
+ transition: all 0.2s ease;
251
+ margin-bottom: 2px;
252
+ }
253
+ .dropdown-item-modern[data-v-e9cb9298]:hover {
254
+ background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
255
+ color: #667eea;
256
+ transform: translateX(4px);
257
+ }
258
+ .dropdown-item-modern.text-danger[data-v-e9cb9298]:hover {
259
+ background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
260
+ color: #dc2626;
261
+ }
262
+ .dropdown-item-content[data-v-e9cb9298] {
263
+ display: flex;
264
+ flex-direction: column;
265
+ gap: 2px;
266
+ }
267
+ .dropdown-item-title[data-v-e9cb9298] {
268
+ font-size: 0.9rem;
269
+ font-weight: 600;
270
+ color: inherit;
271
+ }
272
+ .dropdown-item-desc[data-v-e9cb9298] {
273
+ font-size: 0.75rem;
274
+ color: #94a3b8;
275
+ }
276
+ .dropdown-divider-modern[data-v-e9cb9298] {
277
+ margin: 0.75rem -0.75rem;
278
+ border: none;
279
+ border-top: 1px solid #f1f5f9;
280
+ }
281
+
282
+ /* 主要内容区域 */
283
+ .main-content-modern[data-v-e9cb9298] {
284
+ flex: 1;
285
+ display: flex;
286
+ flex-direction: column;
287
+ background: transparent;
288
+ overflow: hidden;
289
+ }
290
+ .content-wrapper[data-v-e9cb9298] {
291
+ flex: 1;
292
+ background: rgba(255, 255, 255, 0.3);
293
+ backdrop-filter: blur(8px);
294
+ overflow-y: auto;
295
+ height: 100%;
296
+ }
297
+
298
+
299
+
300
+ /* 动画效果 */
301
+ @keyframes pulse-e9cb9298 {
302
+ 0%, 100% { opacity: 1; transform: scale(1);
303
+ }
304
+ 50% { opacity: 0.6; transform: scale(1.2);
305
+ }
306
+ }
307
+
308
+ /* 响应式设计 */
309
+ @media (max-width: 768px) {
310
+ .content-wrapper[data-v-e9cb9298] {
311
+ padding: 0.5rem;
312
+ }
313
+ }
314
+ @media (max-width: 480px) {
315
+ .content-wrapper[data-v-e9cb9298] {
316
+ padding: 0.25rem;
317
+ }
318
+ }
@@ -0,0 +1,35 @@
1
+ import { n as __esmMin } from "./rolldown-runtime.js";
2
+ import { I as resolveComponent, N as openBlock, T as defineComponent, _ as createBaseVNode, b as createElementBlock, c as init_vue_runtime_esm_bundler, w as createVNode } from "./vue.js";
3
+ import { v as _plugin_vue_export_helper_default, y as init__plugin_vue_export_helper } from "./index.js";
4
+ //#region src/platform/database/layout.vue?vue&type=script&setup=true&lang.ts
5
+ var _hoisted_1, _hoisted_2, _hoisted_3, layout_vue_vue_type_script_setup_true_lang_default;
6
+ var init_layout_vue_vue_type_script_setup_true_lang = __esmMin((() => {
7
+ init_vue_runtime_esm_bundler();
8
+ _hoisted_1 = { class: "database-layout" };
9
+ _hoisted_2 = { class: "main-content-modern" };
10
+ _hoisted_3 = { class: "content-wrapper" };
11
+ layout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12
+ __name: "layout",
13
+ setup(__props) {
14
+ return (_ctx, _cache) => {
15
+ const _component_router_view = resolveComponent("router-view");
16
+ return openBlock(), createElementBlock("div", _hoisted_1, [createBaseVNode("main", _hoisted_2, [createBaseVNode("div", _hoisted_3, [createVNode(_component_router_view)])])]);
17
+ };
18
+ }
19
+ });
20
+ }));
21
+ //#endregion
22
+ //#region src/platform/database/layout.vue?vue&type=style&index=0&scoped=e9cb9298&lang.css
23
+ var init_layout_vue_vue_type_style_index_0_scoped_e9cb9298_lang = __esmMin((() => {}));
24
+ //#endregion
25
+ //#region src/platform/database/layout.vue
26
+ var layout_default;
27
+ //#endregion
28
+ __esmMin((() => {
29
+ init_layout_vue_vue_type_script_setup_true_lang();
30
+ init_layout_vue_vue_type_script_setup_true_lang();
31
+ init_layout_vue_vue_type_style_index_0_scoped_e9cb9298_lang();
32
+ init__plugin_vue_export_helper();
33
+ layout_default = /* @__PURE__ */ _plugin_vue_export_helper_default(layout_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e9cb9298"]]);
34
+ }))();
35
+ export { layout_default as default };
@@ -0,0 +1,38 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
9
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
10
+ var __exportAll = (all, no_symbols) => {
11
+ let target = {};
12
+ for (var name in all) __defProp(target, name, {
13
+ get: all[name],
14
+ enumerable: true
15
+ });
16
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
17
+ return target;
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
21
+ key = keys[i];
22
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
23
+ get: ((k) => from[k]).bind(null, key),
24
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
25
+ });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
34
+ if (typeof require !== "undefined") return require.apply(this, arguments);
35
+ throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
36
+ });
37
+ //#endregion
38
+ export { __toESM as a, __require as i, __esmMin as n, __exportAll as r, __commonJSMin as t };