feat: 添加当前连接数据库信息
This commit is contained in:
parent
4ee723cce1
commit
9dfe5d6b3e
|
@ -1,6 +1,11 @@
|
|||
import request from '@/api/server/request';
|
||||
import type { BaseResult } from '@/types/request';
|
||||
|
||||
/* 当前数据库信息 */
|
||||
export const getDatabaseInfoMetaData = () => {
|
||||
return request<any, any>({ url: '/table/databaseInfoMetaData', method: 'GET' });
|
||||
};
|
||||
|
||||
/* 当前配置的数据库 */
|
||||
export const getCurrentDatabaseName = () => {
|
||||
return request<any, any>({ url: '/table/currentDatabaseName', method: 'GET' });
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { defineStore } from 'pinia';
|
||||
|
||||
import {
|
||||
getDatabaseInfoMetaData,
|
||||
getDatabaseList,
|
||||
getDatabaseTableList,
|
||||
getTableColumnInfo,
|
||||
|
@ -11,6 +12,7 @@ export const useTableStore = defineStore('tableStore', {
|
|||
state: () => ({
|
||||
// 当前的数据库名称
|
||||
currentDatabaseName: undefined,
|
||||
databaseInfoMeta: undefined,
|
||||
// 数据库所有的表
|
||||
tableList: [],
|
||||
tableListLoading: false,
|
||||
|
@ -19,6 +21,14 @@ export const useTableStore = defineStore('tableStore', {
|
|||
}),
|
||||
getters: {},
|
||||
actions: {
|
||||
/* 当前数据库信息 */
|
||||
async getDatabaseInfoMeta() {
|
||||
const result = await getDatabaseInfoMetaData();
|
||||
if (result.code === 200) {
|
||||
this.databaseInfoMeta = result.data;
|
||||
}
|
||||
},
|
||||
|
||||
/* 所有的数据库 */
|
||||
async getDatabaseList() {
|
||||
this.tableListLoading = true;
|
||||
|
|
|
@ -22,11 +22,11 @@ export const columns: any = [
|
|||
},
|
||||
{
|
||||
title: '字段名称',
|
||||
key: 'fieldName',
|
||||
key: 'lowercaseName',
|
||||
titleAlign: 'center',
|
||||
align: 'center',
|
||||
render(row: any): JSX.Element {
|
||||
return <NTag>{row.fieldName}</NTag>;
|
||||
return <NTag>{row.lowercaseName}</NTag>;
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<script lang="tsx" setup>
|
||||
import { NCard, NDataTable, NSelect, NTag } from 'naive-ui';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { onMounted } from 'vue';
|
||||
|
||||
import { getCurrentDatabaseName } from '@/api/table';
|
||||
|
@ -7,6 +8,8 @@ import { useTableStore } from '@/store/modules/table';
|
|||
import { columns, renderOptions } from '@/views/home/columns';
|
||||
|
||||
const tableStore = useTableStore();
|
||||
const { databaseInfoMeta, tableList, dbList, tableListLoading, currentDatabaseName } =
|
||||
storeToRefs(tableStore);
|
||||
|
||||
/* 更新数据库名称 */
|
||||
const onUpdateCurrentDatabaseName = (databaseName: string) => {
|
||||
|
@ -26,6 +29,7 @@ const initDatabaseTables = async () => {
|
|||
onMounted(() => {
|
||||
initDatabaseTables();
|
||||
|
||||
tableStore.getDatabaseInfoMeta();
|
||||
tableStore.getDatabaseList();
|
||||
});
|
||||
</script>
|
||||
|
@ -39,18 +43,40 @@ onMounted(() => {
|
|||
<n-tag>注释内容</n-tag>
|
||||
跳转
|
||||
</p>
|
||||
|
||||
<p>
|
||||
数据库产品名称:
|
||||
<n-tag type="primary">{{ databaseInfoMeta.databaseProductName }}</n-tag>
|
||||
</p>
|
||||
<p>
|
||||
数据库产品版本:
|
||||
<n-tag type="primary">{{ databaseInfoMeta.databaseProductVersion }}</n-tag>
|
||||
</p>
|
||||
<p>
|
||||
驱动名称:
|
||||
<n-tag type="primary">{{ databaseInfoMeta.driverName }}</n-tag>
|
||||
</p>
|
||||
<p>
|
||||
数据库驱动版本:
|
||||
<n-tag type="primary">{{ databaseInfoMeta.driverVersion }}</n-tag>
|
||||
</p>
|
||||
<p>
|
||||
数据库用户:
|
||||
<n-tag type="primary">{{ databaseInfoMeta.username }}</n-tag>
|
||||
</p>
|
||||
|
||||
<p class="mt-2">
|
||||
数据库共
|
||||
<n-tag type="info">{{ tableStore.tableList.length }}</n-tag>
|
||||
<n-tag type="info">{{ tableList.length }}</n-tag>
|
||||
张表
|
||||
</p>
|
||||
|
||||
<!-- 选择数据库 -->
|
||||
<n-select
|
||||
:on-update-value="onUpdateCurrentDatabaseName"
|
||||
:options="tableStore.dbList"
|
||||
:options="dbList"
|
||||
:render-option="renderOptions"
|
||||
:value="tableStore.currentDatabaseName"
|
||||
:value="currentDatabaseName"
|
||||
class="mt-2 w-[200px]"
|
||||
clear-filter-after-select
|
||||
clearable
|
||||
|
@ -61,7 +87,7 @@ onMounted(() => {
|
|||
<n-data-table
|
||||
:bordered="true"
|
||||
:columns="columns()"
|
||||
:data="tableStore.tableList"
|
||||
:loading="tableStore.tableListLoading"
|
||||
:data="tableList"
|
||||
:loading="tableListLoading"
|
||||
/>
|
||||
</template>
|
||||
|
|
Loading…
Reference in New Issue