Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-fe
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-fe
Commits
e660b9f5
Commit
e660b9f5
authored
Apr 27, 2025
by
nick zheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore(数据库): 更新参数定义
parent
54997e8b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
61 additions
and
60 deletions
+61
-60
columns.tsx
src/views/personal-space/personal-database/columns.tsx
+2
-2
create-database-modal.vue
...ce/personal-database/components/create-database-modal.vue
+32
-32
edit-database-modal.vue
...pace/personal-database/components/edit-database-modal.vue
+21
-20
personal-database.vue
...ws/personal-space/personal-database/personal-database.vue
+4
-4
type.d.ts
src/views/personal-space/personal-database/type.d.ts
+2
-2
No files found.
src/views/personal-space/personal-database/columns.tsx
View file @
e660b9f5
...
@@ -15,7 +15,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
...
@@ -15,7 +15,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
width
:
210
,
width
:
210
,
fixed
:
'left'
,
fixed
:
'left'
,
render
(
row
:
DatabaseItemInterface
)
{
render
(
row
:
DatabaseItemInterface
)
{
return
row
.
databaseNam
e
||
'--'
return
row
.
titl
e
||
'--'
},
},
},
},
{
{
...
@@ -27,7 +27,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
...
@@ -27,7 +27,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
},
},
width
:
380
,
width
:
380
,
render
(
row
:
DatabaseItemInterface
)
{
render
(
row
:
DatabaseItemInterface
)
{
return
row
.
d
atabaseD
esc
||
'--'
return
row
.
desc
||
'--'
},
},
},
},
{
{
...
...
src/views/personal-space/personal-database/components/create-database-modal.vue
View file @
e660b9f5
...
@@ -10,20 +10,20 @@ const databaseFormRef = ref<FormInst | null>(null)
...
@@ -10,20 +10,20 @@ const databaseFormRef = ref<FormInst | null>(null)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
const
databaseFormData
=
reactive
({
const
databaseFormData
=
reactive
({
nam
e
:
''
,
titl
e
:
''
,
d
atabaseD
esc
:
''
,
desc
:
''
,
d
atabaseSourceType
:
'My
SQL'
,
d
bType
:
'MY
SQL'
,
d
atabase
Host
:
''
,
d
b
Host
:
''
,
d
atabase
Port
:
''
,
d
b
Port
:
''
,
d
atabase
Name
:
''
,
d
b
Name
:
''
,
d
atabase
UserName
:
''
,
d
b
UserName
:
''
,
d
atabase
Password
:
''
,
d
b
Password
:
''
,
})
})
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
nam
e
:
[
titl
e
:
[
{
{
key
:
'
nam
e'
,
key
:
'
titl
e'
,
required
:
true
,
required
:
true
,
validator
:
(
_rule
:
FormItemRule
,
value
:
string
)
=>
{
validator
:
(
_rule
:
FormItemRule
,
value
:
string
)
=>
{
const
pattern
=
/^
[\u
4e00-
\u
9fa5a-zA-Z0-9_
\-\\
.
]
+$/
const
pattern
=
/^
[\u
4e00-
\u
9fa5a-zA-Z0-9_
\-\\
.
]
+$/
...
@@ -39,12 +39,12 @@ const databaseFormRules = shallowReadonly<FormRules>({
...
@@ -39,12 +39,12 @@ const databaseFormRules = shallowReadonly<FormRules>({
trigger
:
'blur'
,
trigger
:
'blur'
,
},
},
],
],
d
atabaseSource
Type
:
[{
required
:
true
,
message
:
'请选择数据源类型'
,
trigger
:
'blur'
}],
d
b
Type
:
[{
required
:
true
,
message
:
'请选择数据源类型'
,
trigger
:
'blur'
}],
d
atabase
Host
:
[{
required
:
true
,
message
:
'请输入IP地址或域名'
,
trigger
:
'blur'
}],
d
b
Host
:
[{
required
:
true
,
message
:
'请输入IP地址或域名'
,
trigger
:
'blur'
}],
d
atabase
Port
:
[{
required
:
true
,
message
:
'请输入端口号'
,
trigger
:
'blur'
}],
d
b
Port
:
[{
required
:
true
,
message
:
'请输入端口号'
,
trigger
:
'blur'
}],
d
atabase
Name
:
[{
required
:
true
,
message
:
'请输入数据库名'
,
trigger
:
'blur'
}],
d
b
Name
:
[{
required
:
true
,
message
:
'请输入数据库名'
,
trigger
:
'blur'
}],
d
atabase
UserName
:
[{
required
:
true
,
message
:
'请输入用户名'
,
trigger
:
'blur'
}],
d
b
UserName
:
[{
required
:
true
,
message
:
'请输入用户名'
,
trigger
:
'blur'
}],
d
atabase
Password
:
[{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
}],
d
b
Password
:
[{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
}],
})
})
const
databaseTypeList
=
readonly
([
const
databaseTypeList
=
readonly
([
...
@@ -78,7 +78,7 @@ function handleConnectDatabase() {
...
@@ -78,7 +78,7 @@ function handleConnectDatabase() {
}
}
},
},
(
rule
)
=>
{
(
rule
)
=>
{
return
rule
?.
key
!==
'
nam
e'
return
rule
?.
key
!==
'
titl
e'
},
},
)
)
}
}
...
@@ -113,10 +113,10 @@ function handleCreateDatabase() {
...
@@ -113,10 +113,10 @@ function handleCreateDatabase() {
<span>
{{
databaseTypeItem
.
name
}}
</span>
<span>
{{
databaseTypeItem
.
name
}}
</span>
</div>
</div>
</n-form-item>
</n-form-item>
<n-form-item
label=
"数据库名称"
path=
"
nam
e"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据库名称"
path=
"
titl
e"
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"flex w-full flex-col"
>
<div
class=
"flex w-full flex-col"
>
<n-input
<n-input
v-model:value=
"databaseFormData.
nam
e"
v-model:value=
"databaseFormData.
titl
e"
placeholder=
"请输入数据库名称"
placeholder=
"请输入数据库名称"
show-count
show-count
:maxlength=
"50"
:maxlength=
"50"
...
@@ -129,7 +129,7 @@ function handleCreateDatabase() {
...
@@ -129,7 +129,7 @@ function handleCreateDatabase() {
<n-form-item
label=
"数据库描述"
>
<n-form-item
label=
"数据库描述"
>
<n-input
<n-input
v-model:value=
"databaseFormData.d
atabaseD
esc"
v-model:value=
"databaseFormData.desc"
placeholder=
"请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用"
placeholder=
"请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用"
show-count
show-count
:maxlength=
"100"
:maxlength=
"100"
...
@@ -140,38 +140,38 @@ function handleCreateDatabase() {
...
@@ -140,38 +140,38 @@ function handleCreateDatabase() {
<h3
class=
"font-family-medium mb-4 text-[18px]"
>
数据源信息
</h3>
<h3
class=
"font-family-medium mb-4 text-[18px]"
>
数据源信息
</h3>
<n-form-item
label=
"数据源类型"
path=
"d
atabaseSource
Type"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据源类型"
path=
"d
b
Type"
:feedback-style=
"
{ fontSize: '13px' }">
<n-select
<n-select
v-model:value=
"databaseFormData.d
atabaseSource
Type"
v-model:value=
"databaseFormData.d
b
Type"
placeholder=
"请选择数据源类型"
placeholder=
"请选择数据源类型"
:options=
"databaseSourceTypeOptions"
:options=
"databaseSourceTypeOptions"
/>
/>
</n-form-item>
</n-form-item>
<n-form-item
label=
"数据库地址host"
path=
"d
atabase
Host"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据库地址host"
path=
"d
b
Host"
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"flex w-full flex-col"
>
<div
class=
"flex w-full flex-col"
>
<n-input
v-model:value=
"databaseFormData.d
atabase
Host"
placeholder=
"请输入IP地址或域名"
/>
<n-input
v-model:value=
"databaseFormData.d
b
Host"
placeholder=
"请输入IP地址或域名"
/>
<span
class=
"mt-1 px-2.5 text-[13px] text-[#6F77FF]"
>
<span
class=
"mt-1 px-2.5 text-[13px] text-[#6F77FF]"
>
输入的数据源Host必须是公网地址,以百度云GaiaDB数据库为例,请参考文档进行配置
输入的数据源Host必须是公网地址,以百度云GaiaDB数据库为例,请参考文档进行配置
</span>
</span>
</div>
</div>
</n-form-item>
</n-form-item>
<n-form-item
label=
"端口号"
path=
"d
atabase
Port"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"端口号"
path=
"d
b
Port"
:feedback-style=
"
{ fontSize: '13px' }">
<n-input
v-model:value=
"databaseFormData.d
atabase
Port"
placeholder=
"请输入端口号"
/>
<n-input
v-model:value=
"databaseFormData.d
b
Port"
placeholder=
"请输入端口号"
/>
</n-form-item>
</n-form-item>
<n-form-item
label=
"数据库名"
path=
"d
atabase
Name"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据库名"
path=
"d
b
Name"
:feedback-style=
"
{ fontSize: '13px' }">
<n-input
v-model:value=
"databaseFormData.d
atabase
Name"
placeholder=
"请输入数据库名"
/>
<n-input
v-model:value=
"databaseFormData.d
b
Name"
placeholder=
"请输入数据库名"
/>
</n-form-item>
</n-form-item>
<n-form-item
label=
"用户名"
path=
"d
atabase
UserName"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"用户名"
path=
"d
b
UserName"
:feedback-style=
"
{ fontSize: '13px' }">
<n-input
v-model:value=
"databaseFormData.d
atabase
UserName"
placeholder=
"请输入用户名"
/>
<n-input
v-model:value=
"databaseFormData.d
b
UserName"
placeholder=
"请输入用户名"
/>
</n-form-item>
</n-form-item>
<n-form-item
label=
"密码"
path=
"d
atabase
Password"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"密码"
path=
"d
b
Password"
:feedback-style=
"
{ fontSize: '13px' }">
<n-input
<n-input
v-model:value=
"databaseFormData.d
atabase
Password"
v-model:value=
"databaseFormData.d
b
Password"
type=
"password"
type=
"password"
show-password-on=
"click"
show-password-on=
"click"
placeholder=
"请输入密码"
placeholder=
"请输入密码"
...
...
src/views/personal-space/personal-database/components/edit-database-modal.vue
View file @
e660b9f5
...
@@ -9,18 +9,19 @@ const databaseFormRef = ref<FormInst | null>(null)
...
@@ -9,18 +9,19 @@ const databaseFormRef = ref<FormInst | null>(null)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
const
databaseFormData
=
reactive
({
const
databaseFormData
=
reactive
({
databaseName
:
'test'
,
title
:
'test'
,
databaseDesc
:
''
,
desc
:
''
,
databaseSourceType
:
'MySQL'
,
dbType
:
'MySQL'
,
databaseHost
:
'125.88.205.65'
,
dbHost
:
'125.88.205.65'
,
databasePort
:
'8080'
,
dbPort
:
'8080'
,
databaseUserName
:
'root'
,
dbName
:
'xxxx'
,
databasePassword
:
'88888'
,
dbUserName
:
'root'
,
dbPassword
:
'88888'
,
})
})
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
databaseNam
e
:
[{
required
:
true
,
message
:
'请输入数据库名称'
,
trigger
:
'blur'
}],
titl
e
:
[{
required
:
true
,
message
:
'请输入数据库名称'
,
trigger
:
'blur'
}],
d
atabase
Password
:
[{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
}],
d
b
Password
:
[{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
}],
})
})
const
isConnectDatabaseSuccess
=
ref
(
false
)
const
isConnectDatabaseSuccess
=
ref
(
false
)
...
@@ -38,7 +39,7 @@ function handleConnectDatabase() {
...
@@ -38,7 +39,7 @@ function handleConnectDatabase() {
}
}
},
},
(
rule
)
=>
{
(
rule
)
=>
{
return
rule
?.
key
!==
'
nam
e'
return
rule
?.
key
!==
'
titl
e'
},
},
)
)
}
}
...
@@ -49,10 +50,10 @@ function handleConnectDatabase() {
...
@@ -49,10 +50,10 @@ function handleConnectDatabase() {
<template
#
content
>
<template
#
content
>
<n-scrollbar
ref=
"scrollbarRef"
style=
"max-height: 550px"
>
<n-scrollbar
ref=
"scrollbarRef"
style=
"max-height: 550px"
>
<n-form
ref=
"databaseFormRef"
:model=
"databaseFormData"
:rules=
"databaseFormRules"
>
<n-form
ref=
"databaseFormRef"
:model=
"databaseFormData"
:rules=
"databaseFormRules"
>
<n-form-item
label=
"数据库名称"
path=
"
databaseNam
e"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据库名称"
path=
"
titl
e"
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"flex w-full flex-col"
>
<div
class=
"flex w-full flex-col"
>
<n-input
<n-input
v-model:value=
"databaseFormData.
databaseNam
e"
v-model:value=
"databaseFormData.
titl
e"
placeholder=
"请输入数据库名称"
placeholder=
"请输入数据库名称"
show-count
show-count
:maxlength=
"50"
:maxlength=
"50"
...
@@ -65,7 +66,7 @@ function handleConnectDatabase() {
...
@@ -65,7 +66,7 @@ function handleConnectDatabase() {
<n-form-item
label=
"数据库描述"
>
<n-form-item
label=
"数据库描述"
>
<n-input
<n-input
v-model:value=
"databaseFormData.d
atabaseD
esc"
v-model:value=
"databaseFormData.desc"
placeholder=
"请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用"
placeholder=
"请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用"
show-count
show-count
:maxlength=
"100"
:maxlength=
"100"
...
@@ -78,37 +79,37 @@ function handleConnectDatabase() {
...
@@ -78,37 +79,37 @@ function handleConnectDatabase() {
<n-form-item
label=
"数据源类型"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据源类型"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
{{
databaseFormData
.
d
atabaseSource
Type
}}
{{
databaseFormData
.
d
b
Type
}}
</div>
</div>
</n-form-item>
</n-form-item>
<n-form-item
label=
"数据库地址host"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据库地址host"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
{{
databaseFormData
.
d
atabase
Host
}}
{{
databaseFormData
.
d
b
Host
}}
</div>
</div>
</n-form-item>
</n-form-item>
<n-form-item
label=
"端口号"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"端口号"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
{{
databaseFormData
.
d
atabase
Port
}}
{{
databaseFormData
.
d
b
Port
}}
</div>
</div>
</n-form-item>
</n-form-item>
<n-form-item
label=
"数据库名称"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"数据库名称"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
{{
databaseFormData
.
d
atabase
Name
}}
{{
databaseFormData
.
d
b
Name
}}
</div>
</div>
</n-form-item>
</n-form-item>
<n-form-item
label=
"用户名"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"用户名"
show-require-mark
:feedback-style=
"
{ fontSize: '13px' }">
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
<div
class=
"rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"
>
{{
databaseFormData
.
d
atabase
UserName
}}
{{
databaseFormData
.
d
b
UserName
}}
</div>
</div>
</n-form-item>
</n-form-item>
<n-form-item
label=
"密码"
path=
"d
atabase
Password"
:feedback-style=
"
{ fontSize: '13px' }">
<n-form-item
label=
"密码"
path=
"d
b
Password"
:feedback-style=
"
{ fontSize: '13px' }">
<n-input
<n-input
v-model:value=
"databaseFormData.d
atabase
Password"
v-model:value=
"databaseFormData.d
b
Password"
type=
"password"
type=
"password"
show-password-on=
"click"
show-password-on=
"click"
placeholder=
"请输入密码"
placeholder=
"请输入密码"
...
...
src/views/personal-space/personal-database/personal-database.vue
View file @
e660b9f5
...
@@ -20,14 +20,14 @@ const showEditDatabaseModal = ref(false)
...
@@ -20,14 +20,14 @@ const showEditDatabaseModal = ref(false)
const
databaseList
=
ref
<
DatabaseItemInterface
[]
>
([
const
databaseList
=
ref
<
DatabaseItemInterface
[]
>
([
{
{
id
:
1
,
id
:
1
,
databaseNam
e
:
'数据库1'
,
titl
e
:
'数据库1'
,
d
atabaseD
esc
:
'描述1'
,
desc
:
'描述1'
,
updateTime
:
new
Date
(),
updateTime
:
new
Date
(),
},
},
{
{
id
:
2
,
id
:
2
,
databaseNam
e
:
'数据库2'
,
titl
e
:
'数据库2'
,
d
atabaseD
esc
:
'描述2'
,
desc
:
'描述2'
,
updateTime
:
new
Date
(),
updateTime
:
new
Date
(),
},
},
])
])
...
...
src/views/personal-space/personal-database/type.d.ts
View file @
e660b9f5
export
interface
DatabaseItemInterface
{
export
interface
DatabaseItemInterface
{
id
:
number
id
:
number
databaseNam
e
:
string
titl
e
:
string
d
atabaseD
esc
:
string
desc
:
string
updateTime
:
Date
updateTime
:
Date
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment