From 9013fff804208177508b0a0151a5479f97e964fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=AE=97=E6=B4=8B?= Date: Tue, 18 Oct 2022 17:21:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20DBMS=20=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81redis=E7=AE=A1=E7=90=86=E3=80=81mong?= =?UTF-8?q?o=E7=AE=A1=E7=90=86=EF=BC=8C=E6=96=B0=E5=A2=9E=E3=80=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=93=8D=E4=BD=9C=E3=80=91=E5=BF=AB=E6=8D=B7?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mayfly_go_web/src/store/index.ts | 6 ++ mayfly_go_web/src/store/interface/index.ts | 13 ++++ .../src/store/modules/mongoDbOptInfo.ts | 31 ++++++++ .../src/store/modules/mysqlDbOptInfo.ts | 31 ++++++++ .../src/store/modules/redisDbOptInfo.ts | 31 ++++++++ .../views/ops/component/ProjectEnvSelect.vue | 22 +++++- mayfly_go_web/src/views/ops/db/DbList.vue | 70 ++++++++++++++++--- mayfly_go_web/src/views/ops/db/SqlExec.vue | 39 ++++++++++- .../src/views/ops/mongo/MongoDataOp.vue | 35 +++++++++- .../src/views/ops/mongo/MongoList.vue | 40 ++++++++++- .../src/views/ops/redis/DataOperation.vue | 48 +++++++++++-- .../src/views/ops/redis/HashValue.vue | 8 +-- .../src/views/ops/redis/ListValue.vue | 6 +- .../src/views/ops/redis/RedisList.vue | 30 ++++++-- .../src/views/ops/redis/SetValue.vue | 6 +- .../src/views/ops/redis/StringValue.vue | 6 +- 16 files changed, 377 insertions(+), 45 deletions(-) create mode 100644 mayfly_go_web/src/store/modules/mongoDbOptInfo.ts create mode 100644 mayfly_go_web/src/store/modules/mysqlDbOptInfo.ts create mode 100644 mayfly_go_web/src/store/modules/redisDbOptInfo.ts diff --git a/mayfly_go_web/src/store/index.ts b/mayfly_go_web/src/store/index.ts index 50e8e872..20b421d4 100644 --- a/mayfly_go_web/src/store/index.ts +++ b/mayfly_go_web/src/store/index.ts @@ -5,6 +5,9 @@ import themeConfig from '@/store/modules/themeConfig.ts'; import routesList from '@/store/modules/routesList.ts'; import keepAliveNames from '@/store/modules/keepAliveNames.ts'; import userInfos from '@/store/modules/userInfos.ts'; +import sqlExecInfo from '@/store/modules/mysqlDbOptInfo.ts'; +import redisDbOptInfo from '@/store/modules/redisDbOptInfo.ts'; +import mongoDbOptInfo from '@/store/modules/mongoDbOptInfo.ts'; export const key: InjectionKey> = Symbol(); @@ -14,6 +17,9 @@ export const store = createStore({ routesList, keepAliveNames, userInfos, + sqlExecInfo, + redisDbOptInfo, + mongoDbOptInfo, }, }); diff --git a/mayfly_go_web/src/store/interface/index.ts b/mayfly_go_web/src/store/interface/index.ts index adb25ec4..40a83c16 100644 --- a/mayfly_go_web/src/store/interface/index.ts +++ b/mayfly_go_web/src/store/interface/index.ts @@ -71,6 +71,16 @@ export interface UserInfosState { userInfos: object; } +// 数据操作信息 +export interface DbOptInfoState { + dbOptInfo: { + projectId?: number, + envId?: number, + dbId?: number, + db?: string, + } +} + // 后端返回原始路由(未处理时) // export interface RequestOldRoutesState { // requestOldRoutes: Array; @@ -82,5 +92,8 @@ export interface RootStateTypes { routesList: RoutesListState; keepAliveNames: KeepAliveNamesState; userInfos: UserInfosState; + sqlExecInfo: DbOptInfoState; + redisDbOptInfo: DbOptInfoState; + mongoDbOptInfo: DbOptInfoState; // requestOldRoutes: RequestOldRoutesState; } diff --git a/mayfly_go_web/src/store/modules/mongoDbOptInfo.ts b/mayfly_go_web/src/store/modules/mongoDbOptInfo.ts new file mode 100644 index 00000000..1245e7d2 --- /dev/null +++ b/mayfly_go_web/src/store/modules/mongoDbOptInfo.ts @@ -0,0 +1,31 @@ +import { Module } from 'vuex'; +// 此处加上 `.ts` 后缀报错,具体原因不详 +import {DbOptInfoState, RootStateTypes} from '@/store/interface'; + +const mongoDbOptInfoModule: Module = { + namespaced: true, + state: { + dbOptInfo: { + projectId: 0, + envId: 0, + dbId: 0, + db: '0', + }, + }, + mutations: { + // 设置用户信息 + getMongoDbOptInfo(state: any, data: object) { + state.dbOptInfo = data; + }, + }, + actions: { + // 设置用户信息 + async setMongoDbOptInfo({ commit }, data: object) { + if (data) { + commit('getMongoDbOptInfo', data); + } + }, + }, +}; + +export default mongoDbOptInfoModule; diff --git a/mayfly_go_web/src/store/modules/mysqlDbOptInfo.ts b/mayfly_go_web/src/store/modules/mysqlDbOptInfo.ts new file mode 100644 index 00000000..7f5590fc --- /dev/null +++ b/mayfly_go_web/src/store/modules/mysqlDbOptInfo.ts @@ -0,0 +1,31 @@ +import { Module } from 'vuex'; +// 此处加上 `.ts` 后缀报错,具体原因不详 +import { DbOptInfoState, RootStateTypes } from '@/store/interface'; + +const sqlExecInfoModule: Module = { + namespaced: true, + state: { + dbOptInfo: { + projectId: 0, + envId: 0, + dbId: 0, + db: '0', + } + }, + mutations: { + // 设置用户信息 + getSqlExecInfo(state: any, data: object) { + state.dbOptInfo = data; + }, + }, + actions: { + // 设置用户信息 + async setSqlExecInfo({ commit }, data: object) { + if (data) { + commit('getSqlExecInfo', data); + } + }, + }, +}; + +export default sqlExecInfoModule; diff --git a/mayfly_go_web/src/store/modules/redisDbOptInfo.ts b/mayfly_go_web/src/store/modules/redisDbOptInfo.ts new file mode 100644 index 00000000..045a2d07 --- /dev/null +++ b/mayfly_go_web/src/store/modules/redisDbOptInfo.ts @@ -0,0 +1,31 @@ +import { Module } from 'vuex'; +// 此处加上 `.ts` 后缀报错,具体原因不详 +import {DbOptInfoState, RootStateTypes} from '@/store/interface'; + +const redisDbOptInfoModule: Module = { + namespaced: true, + state: { + dbOptInfo: { + projectId: 0, + envId: 0, + dbId: 0, + db: '0', + }, + }, + mutations: { + // 设置用户信息 + getRedisDbOptInfo(state: any, data: object) { + state.dbOptInfo = data; + }, + }, + actions: { + // 设置用户信息 + async setRedisDbOptInfo({ commit }, data: object) { + if (data) { + commit('getRedisDbOptInfo', data); + } + }, + }, +}; + +export default redisDbOptInfoModule; diff --git a/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue b/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue index f747b719..bced6624 100644 --- a/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue +++ b/mayfly_go_web/src/views/ops/component/ProjectEnvSelect.vue @@ -22,7 +22,7 @@