From 8f4ae6f3ba392e3eb84174d97fa48533f6b0fa72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?=
<1262327911@qq.com>
Date: Sun, 26 Jun 2022 15:11:52 +0800
Subject: [PATCH 01/29] docs: update README
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 05267c46..af7d5dc3 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@ GoView 是一个高效的拖拽式低代码数据可视化开发平台,将图
### 携带 **👻 后端** 请求分支: **`master-fetch`**
+### GoView **📚 文档** 地址:[http://www.mtruning.club:81/](http://www.mtruning.club:81/)
+
项目纯前端-Demo 地址:[https://www.mtruning.club](https://www.mtruning.club)
项目带后端-Demo 地址:[后端 Demo 地址](http://1.117.240.165:8080/goview/#/login)
From 5ed7374592dc01be4cf4e46f6dd6efb85a62f040 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?=
<1262327911@qq.com>
Date: Wed, 6 Jul 2022 21:42:24 +0800
Subject: [PATCH 02/29] =?UTF-8?q?build:=20=E5=8D=87=E7=BA=A7=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E5=88=B01.0.5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 98295f6f..a2becb4b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "go-view",
- "version": "1.0.4",
+ "version": "1.0.5",
"scripts": {
"dev": "vite --host",
"build": "vue-tsc --noEmit && vite build",
From 46f80ea9079437999dcce625810261d0605eda7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?=
<1262327911@qq.com>
Date: Mon, 11 Jul 2022 09:01:19 +0800
Subject: [PATCH 03/29] =?UTF-8?q?feat:=20=E7=BC=96=E5=86=99=E8=AF=B7?=
=?UTF-8?q?=E6=B1=82=E9=85=8D=E7=BD=AE=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Pages/ChartItemSetting/SettingItemBox.vue | 10 ++-
src/enums/httpEnum.ts | 75 +++++++++++++++++-
src/packages/public/publicConfig.ts | 6 +-
src/plugins/naive.ts | 4 +
src/settings/designSetting.ts | 4 +
.../chartEditStore/chartEditStore.d.ts | 45 ++++++-----
.../modules/chartEditStore/chartEditStore.ts | 16 +++-
.../components/ChartDataAjax/index.vue | 13 ++++
.../ChartDataMonacoEditor/index.vue | 2 +-
.../components/RequestGlobalConfig/index.ts | 3 +
.../components/RequestGlobalConfig/index.vue | 67 ++++++++++++++++
.../components/RequestHeader/index.ts | 3 +
.../components/RequestHeader/index.vue | 47 ++++++++++++
.../components/RequestHeaderTable/index.ts | 3 +
.../components/RequestHeaderTable/index.vue | 11 +++
.../components/RequestTargetConfig/index.ts | 3 +
.../components/RequestTargetConfig/index.vue | 75 ++++++++++++++++++
.../components/ChartDataRequest/index.ts | 3 +
.../components/ChartDataRequest/index.vue | 62 +++++++++++++++
.../components/ChartData/index.d.ts | 76 ++++++++++++++++++-
20 files changed, 497 insertions(+), 31 deletions(-)
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.ts
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.vue
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.ts
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.ts
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.vue
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.ts
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.ts
create mode 100644 src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue
diff --git a/src/components/Pages/ChartItemSetting/SettingItemBox.vue b/src/components/Pages/ChartItemSetting/SettingItemBox.vue
index 56b81c40..95893596 100644
--- a/src/components/Pages/ChartItemSetting/SettingItemBox.vue
+++ b/src/components/Pages/ChartItemSetting/SettingItemBox.vue
@@ -8,9 +8,9 @@
@@ -28,6 +28,11 @@ defineProps({
type: Boolean,
default: false,
required: false
+ },
+ itemRightStyle: {
+ type: Object,
+ default: () => {},
+ required: false
}
})
@@ -48,7 +53,6 @@ $leftWidth: 60px;
.item-right {
display: grid;
grid-column-gap: 10px;
- grid-template-columns: 1fr 1fr;
width: calc(100% - #{$leftWidth});
}
}
diff --git a/src/enums/httpEnum.ts b/src/enums/httpEnum.ts
index 165948f5..50dcbf7c 100644
--- a/src/enums/httpEnum.ts
+++ b/src/enums/httpEnum.ts
@@ -7,7 +7,7 @@ export enum ResultEnum {
SERVER_ERROR = 500,
SERVER_FORBIDDEN = 403,
NOT_FOUND = 404,
- TIMEOUT = 10042,
+ TIMEOUT = 10042
}
// 数据相关
@@ -15,7 +15,15 @@ export enum RequestDataTypeEnum {
// 静态数据
STATIC = 0,
// 请求数据
- AJAX = 1,
+ AJAX = 1
+}
+
+// 请求主体类型
+export enum RequestContentTypeEnum {
+ // 普通请求
+ DEFAULT = 0,
+ // SQL请求
+ SQL = 1
}
/**
@@ -26,7 +34,66 @@ export enum RequestHttpEnum {
POST = 'post',
PATCH = 'patch',
PUT = 'put',
- DELETE = 'delete',
+ DELETE = 'delete'
+}
+
+/**
+ * @description: 请求间隔
+ */
+export enum RequestHttpIntervalEnum {
+ // 秒
+ SECOND = 'second',
+ // 分
+ MINUTE = 'minute',
+ // 时
+ HOUR = 'hour',
+ // 天
+ DAY = 'day'
+}
+
+/**
+ * @description: 请求间隔名称
+ */
+export const SelectHttpTimeNameObj = {
+ [RequestHttpIntervalEnum.SECOND]: '秒',
+ [RequestHttpIntervalEnum.MINUTE]: '分',
+ [RequestHttpIntervalEnum.HOUR]: '时',
+ [RequestHttpIntervalEnum.DAY]: '天'
+}
+
+/**
+ * @description: 请求头部类型
+ */
+export enum RequestBodyEnum {
+ FORM_DATA = 'form-data',
+ X_WWW_FORM_URLENCODED = 'x-www-form-urlencoded',
+ JSON = 'json',
+ XML = 'xml'
+}
+
+/**
+ * @description: 请求参数类型
+ */
+export enum RequestParamsTypeEnum {
+ PARAMS = 'Params',
+ BODY = 'Body',
+ HEADER = 'Header',
+ COOKIE = 'Cookie'
+}
+
+/**
+ * @description: 请求参数主体
+ */
+export type RequestParams = {
+ [RequestParamsTypeEnum.PARAMS]: object,
+ [RequestParamsTypeEnum.COOKIE]: object,
+ [RequestParamsTypeEnum.HEADER]: object,
+ [RequestParamsTypeEnum.BODY]: {
+ [RequestBodyEnum.FORM_DATA]: object,
+ [RequestBodyEnum.X_WWW_FORM_URLENCODED]: object,
+ [RequestBodyEnum.JSON]: object,
+ [RequestBodyEnum.XML]: string,
+ }
}
/**
@@ -40,5 +107,5 @@ export enum ContentTypeEnum {
// form-data 一般配合qs
FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
// form-data 上传
- FORM_DATA = 'multipart/form-data;charset=UTF-8',
+ FORM_DATA = 'multipart/form-data;charset=UTF-8'
}
diff --git a/src/packages/public/publicConfig.ts b/src/packages/public/publicConfig.ts
index d4fde6be..cc7be730 100644
--- a/src/packages/public/publicConfig.ts
+++ b/src/packages/public/publicConfig.ts
@@ -1,14 +1,16 @@
import { getUUID } from '@/utils'
import { PublicConfigType } from '@/packages/index.d'
import { RequestConfigType } from '@/store/modules/chartEditStore/chartEditStore.d'
-import { RequestHttpEnum, RequestDataTypeEnum } from '@/enums/httpEnum'
+import { RequestHttpEnum, RequestDataTypeEnum, RequestHttpIntervalEnum, RequestContentTypeEnum } from '@/enums/httpEnum'
import { chartInitConfig } from '@/settings/designSetting'
const requestConfig: RequestConfigType = {
requestDataType: RequestDataTypeEnum.STATIC,
requestHttpType: RequestHttpEnum.GET,
requestUrl: '',
- requestInterval: undefined
+ requestInterval: undefined,
+ requestIntervalUnit: RequestHttpIntervalEnum.SECOND,
+ requestContentType: RequestContentTypeEnum.DEFAULT
}
export class publicConfig implements PublicConfigType {
diff --git a/src/plugins/naive.ts b/src/plugins/naive.ts
index 8e7e3dd6..a1e03c3a 100644
--- a/src/plugins/naive.ts
+++ b/src/plugins/naive.ts
@@ -37,6 +37,7 @@ import {
NTooltip,
NAvatar,
NTabs,
+ NTab,
NTabPane,
NCard,
NRow,
@@ -68,6 +69,7 @@ import {
NSteps,
NStep,
NInputGroup,
+ NInputGroupLabel,
NResult,
NDescriptions,
NDescriptionsItem,
@@ -136,6 +138,7 @@ const naive = create({
NTooltip,
NAvatar,
NTabs,
+ NTab,
NTabPane,
NCard,
NRow,
@@ -167,6 +170,7 @@ const naive = create({
NSteps,
NStep,
NInputGroup,
+ NInputGroupLabel,
NResult,
NDescriptions,
NDescriptionsItem,
diff --git a/src/settings/designSetting.ts b/src/settings/designSetting.ts
index fe10d8ff..dbb86da5 100644
--- a/src/settings/designSetting.ts
+++ b/src/settings/designSetting.ts
@@ -1,4 +1,5 @@
import { LangEnum, PreviewScaleEnum } from '@/enums/styleEnum'
+import { RequestHttpIntervalEnum } from '@/enums/httpEnum'
import designColor from './designColor.json'
// 默认语言
@@ -51,5 +52,8 @@ export const previewScaleType = PreviewScaleEnum.FIT
// 数据请求间隔
export const requestInterval = 30
+// 数据请求间隔单位
+export const requestIntervalUnit = RequestHttpIntervalEnum.SECOND
+
// 工作区域历史记录存储最大数量
export const editHistoryMax = 100
\ No newline at end of file
diff --git a/src/store/modules/chartEditStore/chartEditStore.d.ts b/src/store/modules/chartEditStore/chartEditStore.d.ts
index dab3a992..767ae4b7 100644
--- a/src/store/modules/chartEditStore/chartEditStore.d.ts
+++ b/src/store/modules/chartEditStore/chartEditStore.d.ts
@@ -1,11 +1,14 @@
-import { CreateComponentType, FilterEnum} from '@/packages/index.d'
+import { CreateComponentType, FilterEnum } from '@/packages/index.d'
import { HistoryActionTypeEnum } from '@/store/modules/chartHistoryStore/chartHistoryStore.d'
-import { RequestHttpEnum, RequestDataTypeEnum } from '@/enums/httpEnum'
-import { PreviewScaleEnum } from '@/enums/styleEnum'
-import type {
- ChartColorsNameType,
- GlobalThemeJsonType,
-} from '@/settings/chartThemes/index'
+import {
+ RequestHttpEnum,
+ RequestContentTypeEnum,
+ RequestDataTypeEnum,
+ RequestHttpIntervalEnum,
+ RequestParams
+} from '@/enums/httpEnum'
+import { PreviewScaleEnum, RequestBodyEnum } from '@/enums/styleEnum'
+import type { ChartColorsNameType, GlobalThemeJsonType } from '@/settings/chartThemes/index'
// 编辑画布属性
export enum EditCanvasTypeEnum {
@@ -16,7 +19,7 @@ export enum EditCanvasTypeEnum {
USER_SCALE = 'userScale',
LOCK_SCALE = 'lockScale',
IS_CREATE = 'isCreate',
- IS_DRAG = 'isDrag',
+ IS_DRAG = 'isDrag'
}
// 编辑区域
@@ -47,7 +50,7 @@ export enum EditCanvasConfigEnum {
BACKGROUND = 'background',
BACKGROUND_IMAGE = 'backgroundImage',
SELECT_COLOR = 'selectColor',
- PREVIEW_SCALE_TYPE = 'previewScaleType',
+ PREVIEW_SCALE_TYPE = 'previewScaleType'
}
export interface EditCanvasConfigType {
@@ -89,7 +92,7 @@ export enum EditCanvasTypeEnum {
START_X = 'startX',
START_Y = 'startY',
X = 'x',
- Y = 'y',
+ Y = 'y'
}
// 鼠标位置
@@ -127,27 +130,35 @@ export enum ChartEditStoreEnum {
// 以下需要存储
EDIT_CANVAS_CONFIG = 'editCanvasConfig',
REQUEST_GLOBAL_CONFIG = 'requestGlobalConfig',
- COMPONENT_LIST = 'componentList',
+ COMPONENT_LIST = 'componentList'
+}
+
+// 请求公共类型
+type RequestPublicConfigType = {
+ // 组件定制轮询时间
+ requestInterval?: number
+ // 时间单位(时分秒)
+ requestIntervalUnit: RequestHttpIntervalEnum
+ // 请求内容
+ requestParams: RequestParams
}
// 全局的图表请求配置
-export type RequestGlobalConfigType = {
+export interface RequestGlobalConfigType extends RequestPublicConfigType {
// 请求源地址
requestOriginUrl?: string
- // 全局默认轮询时间
- requestInterval: number
}
// 单个图表请求配置
-export type RequestConfigType = {
+export interface RequestConfigType extends RequestPublicConfigType {
// 获取数据的方式
requestDataType: RequestDataTypeEnum
// 请求方式 get/post/del/put/patch
requestHttpType: RequestHttpEnum
// 源后续的 url
requestUrl?: string
- // 组件定制轮询时间
- requestInterval?: number
+ // 请求内容主体方式 普通/sql
+ requestContentType: RequestContentTypeEnum
}
// Store 类型
diff --git a/src/store/modules/chartEditStore/chartEditStore.ts b/src/store/modules/chartEditStore/chartEditStore.ts
index 3803960d..0bfb310b 100644
--- a/src/store/modules/chartEditStore/chartEditStore.ts
+++ b/src/store/modules/chartEditStore/chartEditStore.ts
@@ -3,7 +3,7 @@ import { CreateComponentType } from '@/packages/index.d'
import debounce from 'lodash/debounce'
import cloneDeep from 'lodash/cloneDeep'
import { defaultTheme, globalThemeJson } from '@/settings/chartThemes/index'
-import { requestInterval, previewScaleType } from '@/settings/designSetting'
+import { requestInterval, previewScaleType, requestIntervalUnit } from '@/settings/designSetting'
// 记录记录
import { useChartHistoryStore } from '@/store/modules/chartHistoryStore/chartHistoryStore'
// 全局设置
@@ -109,7 +109,19 @@ export const useChartEditStore = defineStore({
// 数据请求处理(需存储给后端)
requestGlobalConfig: {
requestOriginUrl: '',
- requestInterval: requestInterval
+ requestInterval: requestInterval,
+ requestIntervalUnit: requestIntervalUnit,
+ requestParams: {
+ Body: {
+ "form-data": {},
+ "x-www-form-urlencoded": {},
+ json: {},
+ xml: ''
+ },
+ Cookie: {},
+ Header: {},
+ Params: {}
+ }
},
// 图表数组(需存储给后端)
componentList: []
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
index 488eefb0..d672891a 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
@@ -1,5 +1,6 @@
+ 配置请求
@@ -39,6 +40,7 @@
+
测试
@@ -63,8 +65,12 @@
+
+
+
+
@@ -72,6 +78,7 @@
import { ref, toRefs, onBeforeUnmount, watchEffect } from 'vue'
import { icon } from '@/plugins'
import { SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'
+import { ChartDataRequest } from '../ChartDataRequest/index'
import { RequestHttpEnum, ResultEnum } from '@/enums/httpEnum'
import { chartDataUrl, rankListUrl, scrollBoardUrl, numberFloatUrl, numberIntUrl, textUrl, imageUrl } from '@/api/mock'
import { http } from '@/api/http'
@@ -85,6 +92,7 @@ const { targetData, chartEditStore } = useTargetData()
const { requestOriginUrl } = toRefs(chartEditStore.getRequestGlobalConfig)
// 是否展示数据分析
const loading = ref(false)
+const requestShow = ref(false)
const showMatching = ref(false)
let lastFilter: any = undefined
@@ -124,6 +132,11 @@ const selectOptions: SelectHttpType[] = [
}
]
+// 请求配置 model
+const requestModelHandle = () => {
+ requestShow.value = true
+}
+
// 发送请求
const sendHandle = async () => {
loading.value = true
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue
index 00eef16e..d9435fe3 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue
@@ -88,7 +88,7 @@
取消
- 保存
+ 保存
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.ts b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.ts
new file mode 100644
index 00000000..a6efbcc2
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.ts
@@ -0,0 +1,3 @@
+import RequestGlobalConfig from './index.vue'
+
+export { RequestGlobalConfig }
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.vue
new file mode 100644
index 00000000..c8e5d7bb
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestGlobalConfig/index.vue
@@ -0,0 +1,67 @@
+
+
+
+ 全局配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑配置
+
+
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.ts b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.ts
new file mode 100644
index 00000000..71865c65
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.ts
@@ -0,0 +1,3 @@
+import RequestHeader from './index.vue'
+
+export { RequestHeader }
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue
new file mode 100644
index 00000000..849d6512
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.ts b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.ts
new file mode 100644
index 00000000..b016ea61
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.ts
@@ -0,0 +1,3 @@
+import RequestHeaderTable from './index.vue'
+
+export { RequestHeaderTable }
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.vue
new file mode 100644
index 00000000..e34ecb6e
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeaderTable/index.vue
@@ -0,0 +1,11 @@
+
+
+ 2321
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.ts b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.ts
new file mode 100644
index 00000000..d3242c60
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.ts
@@ -0,0 +1,3 @@
+import RequestTargetConfig from './index.vue'
+
+export { RequestTargetConfig }
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue
new file mode 100644
index 00000000..0c906b82
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestTargetConfig/index.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+ {{ requestOriginUrl }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 发送请求
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.ts b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.ts
new file mode 100644
index 00000000..d0c33687
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.ts
@@ -0,0 +1,3 @@
+import ChartDataRequest from './index.vue'
+
+export { ChartDataRequest }
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue
new file mode 100644
index 00000000..6097292a
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/index.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 「 柱状图 」
+ ——
+ {{requestContentTypeObj[requestContentType]}}
+
+ 关闭
+
+
+
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/index.d.ts b/src/views/chart/ContentConfigurations/components/ChartData/index.d.ts
index c6707bcb..fb70fe6d 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/index.d.ts
+++ b/src/views/chart/ContentConfigurations/components/ChartData/index.d.ts
@@ -1,4 +1,4 @@
-import { RequestHttpEnum, RequestDataTypeEnum } from '@/enums/httpEnum'
+import { RequestHttpEnum, RequestHttpIntervalEnum, RequestDataTypeEnum, SelectHttpTimeNameObj } from '@/enums/httpEnum'
// 匹配结果
export enum DataResultEnum {
@@ -24,9 +24,81 @@ export interface SelectCreateDataType {
disabled?: boolean
}
-// ajax 请求
+// ajax 请求类型
export interface SelectHttpType {
label: RequestHttpEnum
value: RequestHttpEnum
disabled?: boolean
+ style?: object
}
+
+// 类型选项
+export const selectTypeOptions: SelectHttpType[] = [
+ {
+ label: RequestHttpEnum.GET,
+ value: RequestHttpEnum.GET,
+ style: {
+ color: 'greenyellow',
+ fontWeight: 'bold'
+ }
+ },
+ {
+ label: RequestHttpEnum.POST,
+ value: RequestHttpEnum.POST,
+ style: {
+ color: 'skyblue',
+ fontWeight: 'bold'
+ }
+ },
+ {
+ label: RequestHttpEnum.PUT,
+ value: RequestHttpEnum.PUT,
+ style: {
+ color: 'goldenrod',
+ fontWeight: 'bold'
+ }
+ },
+ {
+ label: RequestHttpEnum.PATCH,
+ value: RequestHttpEnum.PATCH,
+ style: {
+ color: 'violet',
+ fontWeight: 'bold'
+ }
+ },
+ {
+ label: RequestHttpEnum.DELETE,
+ value: RequestHttpEnum.DELETE,
+ disabled: true,
+ style: {
+ fontWeight: 'bold'
+ }
+ },
+]
+
+// ajax 请求间隔
+export interface SelectHttpTimeType {
+ label: string
+ value: RequestHttpIntervalEnum
+ disabled?: boolean
+}
+
+// 时间选项
+export const selectTimeOptions: SelectHttpTimeType[] = [
+ {
+ label: SelectHttpTimeNameObj[RequestHttpIntervalEnum.SECOND],
+ value: RequestHttpIntervalEnum.SECOND
+ },
+ {
+ label: SelectHttpTimeNameObj[RequestHttpIntervalEnum.MINUTE],
+ value: RequestHttpIntervalEnum.MINUTE
+ },
+ {
+ label: SelectHttpTimeNameObj[RequestHttpIntervalEnum.HOUR],
+ value: RequestHttpIntervalEnum.HOUR
+ },
+ {
+ label: SelectHttpTimeNameObj[RequestHttpIntervalEnum.DAY],
+ value: RequestHttpIntervalEnum.DAY
+ },
+]
\ No newline at end of file
From 1c54bd836a4c02c4e72676cbd61fa8c81646bd3d Mon Sep 17 00:00:00 2001
From: wei <1196957227@qq.com>
Date: Wed, 13 Jul 2022 11:00:14 +0800
Subject: [PATCH 04/29] docs: update README
---
README.md | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index af7d5dc3..d51c220f 100644
--- a/README.md
+++ b/README.md
@@ -4,11 +4,11 @@
GoView 是一个高效的拖拽式低代码数据可视化开发平台,将图表或页面元素封装为基础组件,无需编写代码即可制作数据大屏,减少心智负担。
-### 纯 **😶 前端** 分支: **`master`**
+### 😶 纯 **前端** 分支: **`master`**
-### 携带 **👻 后端** 请求分支: **`master-fetch`**
+### 👻 携带 ** 后端** 请求分支: **`master-fetch`**
-### GoView **📚 文档** 地址:[http://www.mtruning.club:81/](http://www.mtruning.club:81/)
+### 📚 GoView ** 文档** 地址:[http://www.mtruning.club:81/](http://www.mtruning.club:81/)
项目纯前端-Demo 地址:[https://www.mtruning.club](https://www.mtruning.club)
@@ -18,6 +18,12 @@ GoView 是一个高效的拖拽式低代码数据可视化开发平台,将图
文档-源码地址:[https://gitee.com/MTrun/go-view-doc](https://gitee.com/MTrun/go-view-doc)
+### 🤯 后端项目
+
+后端项目gitee地址:[https://gitee.com/MTrun/go-view-serve](https://gitee.com/MTrun/go-view-serve)
+
+接口说明地址:[https://docs.apipost.cn/preview/5aa85d10a59d66ce/ddb813732007ad2b?target_id=84dbc5b0-158f-4bcb-8f74-793ac604ada3#3e053622-1e76-43f9-a039-756aee822dbb](https://docs.apipost.cn/preview/5aa85d10a59d66ce/ddb813732007ad2b?target_id=84dbc5b0-158f-4bcb-8f74-793ac604ada3#3e053622-1e76-43f9-a039-756aee822dbb)
+
技术点:
- 框架:基于 `Vue3` 框架编写,使用 `hooks` 写法抽离部分逻辑,使代码结构更加清晰;
From 5e502eed6d9a3ff40628b473f4f24f33322cad3f Mon Sep 17 00:00:00 2001
From: wei <1196957227@qq.com>
Date: Wed, 13 Jul 2022 11:06:42 +0800
Subject: [PATCH 05/29] docs: update README
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index d51c220f..9b194765 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@ GoView 是一个高效的拖拽式低代码数据可视化开发平台,将图
### 😶 纯 **前端** 分支: **`master`**
-### 👻 携带 ** 后端** 请求分支: **`master-fetch`**
+### 👻 携带 **后端** 请求分支: **`master-fetch`**
-### 📚 GoView ** 文档** 地址:[http://www.mtruning.club:81/](http://www.mtruning.club:81/)
+### 📚 GoView **文档** 地址:[http://www.mtruning.club:81/](http://www.mtruning.club:81/)
项目纯前端-Demo 地址:[https://www.mtruning.club](https://www.mtruning.club)
From 54555ece08254b35f8e540d21d249360c8d250ed Mon Sep 17 00:00:00 2001
From: wei <1196957227@qq.com>
Date: Wed, 13 Jul 2022 15:01:43 +0800
Subject: [PATCH 06/29] =?UTF-8?q?fix:=20=E5=B0=8F=E7=BB=84=E4=BB=B6?=
=?UTF-8?q?=E6=95=B0=E5=AD=97=E7=BF=BB=E7=89=8C=E9=A2=9C=E8=89=B2=E5=89=8D?=
=?UTF-8?q?=E7=BC=80=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/packages/components/Decorates/Mores/Number/config.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/packages/components/Decorates/Mores/Number/config.vue b/src/packages/components/Decorates/Mores/Number/config.vue
index 21736689..760fb14f 100644
--- a/src/packages/components/Decorates/Mores/Number/config.vue
+++ b/src/packages/components/Decorates/Mores/Number/config.vue
@@ -44,7 +44,7 @@
From 20b196a12a19327be00fb5fbad0fff25238314e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?=
<1262327911@qq.com>
Date: Fri, 15 Jul 2022 00:11:42 +0800
Subject: [PATCH 07/29] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E8=AF=B7?=
=?UTF-8?q?=E6=B1=82=E7=BC=96=E8=BE=91=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Pages/MonacoEditor/EditorWorker.vue | 4 +
src/enums/httpEnum.ts | 29 +++-
src/main.ts | 2 +
src/packages/public/publicConfig.ts | 27 ++-
.../chartEditStore/chartEditStore.d.ts | 12 +-
.../modules/chartEditStore/chartEditStore.ts | 4 +-
src/styles/pages/index.scss | 1 +
.../ChartDataMatchingAndShow/index.vue | 2 +-
.../components/RequestHeader/index.vue | 103 ++++++++++--
.../components/RequestHeaderTable/index.vue | 157 +++++++++++++++++-
.../components/RequestTargetConfig/index.vue | 5 +-
.../components/ChartDataRequest/index.vue | 5 +-
vite.config.ts | 2 +-
13 files changed, 318 insertions(+), 35 deletions(-)
create mode 100644 src/styles/pages/index.scss
diff --git a/src/components/Pages/MonacoEditor/EditorWorker.vue b/src/components/Pages/MonacoEditor/EditorWorker.vue
index 5e2a6350..a1689e68 100644
--- a/src/components/Pages/MonacoEditor/EditorWorker.vue
+++ b/src/components/Pages/MonacoEditor/EditorWorker.vue
@@ -5,6 +5,7 @@ import * as monaco from 'monaco-editor'
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'
+import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'
self.MonacoEnvironment = {
getWorker(workerId, label) {
@@ -14,6 +15,9 @@ self.MonacoEnvironment = {
if (label === 'typescript' || label === 'javascript') {
return new tsWorker()
}
+ if (label === 'html') {
+ return new htmlWorker()
+ }
return new editorWorker()
}
}
diff --git a/src/enums/httpEnum.ts b/src/enums/httpEnum.ts
index 50dcbf7c..100a0392 100644
--- a/src/enums/httpEnum.ts
+++ b/src/enums/httpEnum.ts
@@ -65,12 +65,24 @@ export const SelectHttpTimeNameObj = {
* @description: 请求头部类型
*/
export enum RequestBodyEnum {
+ NONE = 'none',
FORM_DATA = 'form-data',
X_WWW_FORM_URLENCODED = 'x-www-form-urlencoded',
JSON = 'json',
XML = 'xml'
}
+/**
+ * @description: 请求头部类型数组
+ */
+export const RequestBodyEnumList = [
+ RequestBodyEnum.NONE,
+ RequestBodyEnum.FORM_DATA,
+ RequestBodyEnum.X_WWW_FORM_URLENCODED,
+ RequestBodyEnum.JSON,
+ RequestBodyEnum.XML
+]
+
/**
* @description: 请求参数类型
*/
@@ -84,15 +96,18 @@ export enum RequestParamsTypeEnum {
/**
* @description: 请求参数主体
*/
+export type RequestParamsObjType = {
+ [T: string]: string
+}
export type RequestParams = {
- [RequestParamsTypeEnum.PARAMS]: object,
- [RequestParamsTypeEnum.COOKIE]: object,
- [RequestParamsTypeEnum.HEADER]: object,
+ [RequestParamsTypeEnum.PARAMS]: RequestParamsObjType
+ [RequestParamsTypeEnum.COOKIE]: RequestParamsObjType
+ [RequestParamsTypeEnum.HEADER]: RequestParamsObjType
[RequestParamsTypeEnum.BODY]: {
- [RequestBodyEnum.FORM_DATA]: object,
- [RequestBodyEnum.X_WWW_FORM_URLENCODED]: object,
- [RequestBodyEnum.JSON]: object,
- [RequestBodyEnum.XML]: string,
+ [RequestBodyEnum.FORM_DATA]: RequestParamsObjType
+ [RequestBodyEnum.X_WWW_FORM_URLENCODED]: RequestParamsObjType
+ [RequestBodyEnum.JSON]: string
+ [RequestBodyEnum.XML]: string
}
}
diff --git a/src/main.ts b/src/main.ts
index 30d5c836..cf9b86df 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -7,6 +7,8 @@ import { setupNaive, setupDirectives, setupCustomComponents } from '@/plugins'
import { GoAppProvider } from '@/components/GoAppProvider/index'
import { setHtmlTheme } from '@/utils'
+// 引入全局样式
+import '@/styles/pages/index.scss'
// 引入动画
import 'animate.css/animate.min.css'
// 引入标尺
diff --git a/src/packages/public/publicConfig.ts b/src/packages/public/publicConfig.ts
index cc7be730..0eff7f5e 100644
--- a/src/packages/public/publicConfig.ts
+++ b/src/packages/public/publicConfig.ts
@@ -1,7 +1,13 @@
import { getUUID } from '@/utils'
import { PublicConfigType } from '@/packages/index.d'
import { RequestConfigType } from '@/store/modules/chartEditStore/chartEditStore.d'
-import { RequestHttpEnum, RequestDataTypeEnum, RequestHttpIntervalEnum, RequestContentTypeEnum } from '@/enums/httpEnum'
+import {
+ RequestHttpEnum,
+ RequestDataTypeEnum,
+ RequestHttpIntervalEnum,
+ RequestContentTypeEnum,
+ RequestBodyEnum
+} from '@/enums/httpEnum'
import { chartInitConfig } from '@/settings/designSetting'
const requestConfig: RequestConfigType = {
@@ -10,7 +16,22 @@ const requestConfig: RequestConfigType = {
requestUrl: '',
requestInterval: undefined,
requestIntervalUnit: RequestHttpIntervalEnum.SECOND,
- requestContentType: RequestContentTypeEnum.DEFAULT
+ requestContentType: RequestContentTypeEnum.DEFAULT,
+ requestParamsBodyType: RequestBodyEnum.NONE,
+ requestSQLContent: {
+ sql: 'select * from where'
+ },
+ requestParams: {
+ Body: {
+ 'form-data': {},
+ 'x-www-form-urlencoded': {},
+ json: '',
+ xml: ''
+ },
+ Cookie: {},
+ Header: {},
+ Params: {}
+ }
}
export class publicConfig implements PublicConfigType {
@@ -40,7 +61,7 @@ export class publicConfig implements PublicConfigType {
// 倾斜
skewX: 0,
skewY: 0,
-
+
// 动画
animations: []
}
diff --git a/src/store/modules/chartEditStore/chartEditStore.d.ts b/src/store/modules/chartEditStore/chartEditStore.d.ts
index 767ae4b7..b544a64f 100644
--- a/src/store/modules/chartEditStore/chartEditStore.d.ts
+++ b/src/store/modules/chartEditStore/chartEditStore.d.ts
@@ -5,9 +5,11 @@ import {
RequestContentTypeEnum,
RequestDataTypeEnum,
RequestHttpIntervalEnum,
- RequestParams
+ RequestParams,
+ RequestBodyEnum,
+ RequestParamsObjType
} from '@/enums/httpEnum'
-import { PreviewScaleEnum, RequestBodyEnum } from '@/enums/styleEnum'
+import { PreviewScaleEnum } from '@/enums/styleEnum'
import type { ChartColorsNameType, GlobalThemeJsonType } from '@/settings/chartThemes/index'
// 编辑画布属性
@@ -141,6 +143,8 @@ type RequestPublicConfigType = {
requestIntervalUnit: RequestHttpIntervalEnum
// 请求内容
requestParams: RequestParams
+ // 请求体类型
+ requestParamsBodyType: RequestBodyEnum
}
// 全局的图表请求配置
@@ -159,6 +163,10 @@ export interface RequestConfigType extends RequestPublicConfigType {
requestUrl?: string
// 请求内容主体方式 普通/sql
requestContentType: RequestContentTypeEnum
+ // SQL 请求对象
+ requestSQLContent: {
+ sql: string
+ }
}
// Store 类型
diff --git a/src/store/modules/chartEditStore/chartEditStore.ts b/src/store/modules/chartEditStore/chartEditStore.ts
index 0bfb310b..2dd4026d 100644
--- a/src/store/modules/chartEditStore/chartEditStore.ts
+++ b/src/store/modules/chartEditStore/chartEditStore.ts
@@ -4,6 +4,7 @@ import debounce from 'lodash/debounce'
import cloneDeep from 'lodash/cloneDeep'
import { defaultTheme, globalThemeJson } from '@/settings/chartThemes/index'
import { requestInterval, previewScaleType, requestIntervalUnit } from '@/settings/designSetting'
+import { RequestBodyEnum } from '@/enums/httpEnum'
// 记录记录
import { useChartHistoryStore } from '@/store/modules/chartHistoryStore/chartHistoryStore'
// 全局设置
@@ -111,11 +112,12 @@ export const useChartEditStore = defineStore({
requestOriginUrl: '',
requestInterval: requestInterval,
requestIntervalUnit: requestIntervalUnit,
+ requestParamsBodyType: RequestBodyEnum.NONE,
requestParams: {
Body: {
"form-data": {},
"x-www-form-urlencoded": {},
- json: {},
+ json: '',
xml: ''
},
Cookie: {},
diff --git a/src/styles/pages/index.scss b/src/styles/pages/index.scss
new file mode 100644
index 00000000..3e1b45e5
--- /dev/null
+++ b/src/styles/pages/index.scss
@@ -0,0 +1 @@
+// 页面全局样式
\ No newline at end of file
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMatchingAndShow/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMatchingAndShow/index.vue
index c22b4429..5bb1ac2a 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMatchingAndShow/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMatchingAndShow/index.vue
@@ -166,7 +166,7 @@ const dimensionsAndSourceHandle = () => {
// 过滤结果
const filterRes = (data: any) => {
try {
- if(targetData.value.filter) {
+ if (targetData.value.filter) {
const fn = new Function('data', targetData.value.filter)
const res = fn(cloneDeep(data))
return toString(res)
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue
index 849d6512..c3b66bc5 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataRequest/components/RequestHeader/index.vue
@@ -7,16 +7,73 @@