Commit b8eca71afc27641dd49d2e2126ecf972db6e6f18

Authored by xp.Huang
2 parents 80bae5f4 6fee05ff

Merge branch 'ft' into 'main_dev'

pref:修改测试接口,切换为普通请求,websocket的值还存在的问题

See merge request yunteng/thingskit-front!526
... ... @@ -220,7 +220,7 @@
220 220 >
221 221 <div>
222 222 <span class="masker-text-org"
223   - >所属组织:{{ item.organizationDTO.name }}</span
  223 + >所属组织:{{ item?.organizationDTO?.name }}</span
224 224 >
225 225 </div>
226 226 <div>
... ...
... ... @@ -73,7 +73,7 @@
73 73 const jsonEditorValue = jsonEditorRef.value?.getJsonValue();
74 74 getRequestBody.content['form-data'] = valuesFormData as any;
75 75 getRequestBody.content['x-www-form-urlencoded'] = valuesXWww as any;
76   - getRequestBody.content['json'] = jsonEditorValue;
  76 + getRequestBody.content['json'] = jsonEditorValue as any;
77 77 if (type === 'none') getRequestBody.content = {} as any;
78 78 return getRequestBody.content;
79 79 };
... ... @@ -87,7 +87,7 @@
87 87 await nextTick();
88 88 bodyCellFormDataTableRef.value?.setValue(isEmpty(data) ? [pushObj] : data['form-data']);
89 89 bodyCellXwwwTableRef.value?.setValue(isEmpty(data) ? [pushObj] : data['x-www-form-urlencoded']);
90   - jsonEditorRef.value?.setJsonValue(data['json']);
  90 + jsonEditorRef.value?.setJsonValue(data['json'] || '{}');
91 91 getRequestBody.content.xml = data['xml'];
92 92 };
93 93
... ...
... ... @@ -16,7 +16,6 @@
16 16 forceRender
17 17 key="Body"
18 18 tab="Body"
19   - disabled
20 19 >
21 20 <Body ref="bodyRef" />
22 21 <BodyTest
... ... @@ -58,6 +57,9 @@
58 57 requestOriginUrl: {
59 58 type: String,
60 59 },
  60 + originUrlType: {
  61 + type: String,
  62 + },
61 63 });
62 64
63 65 const emits = defineEmits(['activeKey']);
... ... @@ -89,7 +91,7 @@
89 91 });
90 92
91 93 const handleChange = () => {
92   - // excuteTestRef.value?.resetValue();
  94 + excuteTestRef.value?.resetValue();
93 95 };
94 96
95 97 const handleClickReset = () => {
... ... @@ -107,7 +109,31 @@
107 109 ];
108 110
109 111 const handleEmitExcute = () => {
  112 + let apiGetUrl = '';
  113 + if (props?.method === '2') {
  114 + if (props?.originUrlType === 'server_url') {
  115 + const pathUrl = window.location.host;
  116 + const protocol = window.location.protocol;
  117 + apiGetUrl = `${
  118 + protocol === 'http' ? 'ws:' : protocol === 'https' ? 'wss:' : 'ws:'
  119 + }//${pathUrl}${props?.requestTypeAndUrl?.requestUrl}`;
  120 + } else {
  121 + apiGetUrl = `${props?.requestOriginUrl}${props?.requestTypeAndUrl?.requestUrl}`;
  122 + }
  123 + } else {
  124 + if (props?.originUrlType === 'server_url') {
  125 + const pathUrl = window.location.host;
  126 + const protocol = window.location.protocol;
  127 + apiGetUrl = `${protocol}//${pathUrl}${props?.requestTypeAndUrl?.requestUrl}`;
  128 + } else {
  129 + apiGetUrl = `${props?.requestOriginUrl}${props?.requestTypeAndUrl?.requestUrl}`;
  130 + }
  131 + }
110 132 excuteData.value = {
  133 + apiGetUrl,
  134 + method: props?.method,
  135 + apiType: props?.requestTypeAndUrl?.requestHttpType,
  136 + Type: activeKey.value,
111 137 Params: testParamsRequestRef.value?.getTestValue(),
112 138 Header: testHeaderRequestRef.value?.getTestValue(),
113 139 Body: testBodyRequestRef.value?.getTestValue(),
... ... @@ -120,6 +146,7 @@
120 146 requestTypeAndUrl: props.requestTypeAndUrl,
121 147 method: props.method,
122 148 activeKey: activeKey.value,
  149 + originUrlType: props.originUrlType,
123 150 };
124 151 };
125 152
... ... @@ -136,12 +163,11 @@
136 163 excuteTestRef.value?.showTest();
137 164 let value = getValue(false) as any;
138 165 const type = value?.Body?.requestParamsBodyType;
139   - console.log(type);
140   - console.log(value?.Body);
141   - //取出对应的类型
142   -
  166 + //取出对应的类型的值
  167 + let values = [];
  168 + for (let i in value?.Body) if (i === type) values = value?.Body[i];
143 169 dataMap.mapBodyObj = {
144   - list: value?.Body,
  170 + list: values,
145 171 ...getCompose(),
146 172 };
147 173 };
... ...
... ... @@ -100,13 +100,21 @@
100 100 const getTestValue = () => {
101 101 const getTable = getTestTableKeyValue();
102 102 //源地址
103   - const apiGetUrl = `${props.data?.requestOriginUrl}${props.data?.requestTypeAndUrl?.requestUrl}`;
  103 + let apiGetUrl = '';
  104 + if (props.data?.originUrlType === 'server_url') {
  105 + const pathUrl = window.location.host;
  106 + const protocol = window.location.protocol;
  107 + apiGetUrl = `${protocol}//${pathUrl}`;
  108 + } else {
  109 + apiGetUrl = `${props.data?.requestOriginUrl}${props.data?.requestTypeAndUrl?.requestUrl}`;
  110 + }
104 111 //请求类型
105 112 const apiType = props.data?.requestTypeAndUrl?.requestHttpType;
106 113 //替换key value
107 114 const params: any = {};
108 115 getTable?.map((it) => (params[it.key!] = it.value!));
109 116 excuteData.value = {
  117 + method: props.data?.method,
110 118 apiGetUrl,
111 119 apiType,
112 120 params,
... ...
... ... @@ -8,12 +8,21 @@
8 8 <a-col :span="2"> 测试结果 </a-col>
9 9 <a-col :span="22">
10 10 <a-textarea
  11 + v-if="ifWebSocket === '2'"
11 12 allow-clear
12 13 show-count
13 14 v-model:value="testResult"
14 15 placeholder="测试结果为:"
15 16 :rows="8"
16 17 />
  18 + <a-textarea
  19 + v-else
  20 + allow-clear
  21 + show-count
  22 + v-model:value="httpResult"
  23 + placeholder="测试结果为:"
  24 + :rows="8"
  25 + />
17 26 </a-col>
18 27 </a-row>
19 28 </div>
... ... @@ -27,7 +36,7 @@
27 36 import { JWT_TOKEN_KEY } from '/@/enums/cacheEnum';
28 37 import { getAuthCache } from '/@/utils/auth';
29 38 import { useMessage } from '/@/hooks/web/useMessage';
30   - import { useGlobSetting } from '/@/hooks/setting';
  39 + // import { useGlobSetting } from '/@/hooks/setting';
31 40
32 41 const emits = defineEmits(['emitExcute']);
33 42
... ... @@ -39,14 +48,18 @@
39 48
40 49 const showTestFlag = ref(false);
41 50
  51 + const ifWebSocket = ref('');
  52 +
42 53 const { createMessage } = useMessage();
43 54
44 55 const token = getAuthCache(JWT_TOKEN_KEY);
45 56
46   - const { socketUrl } = useGlobSetting();
  57 + const socketUrls = ref('');
  58 +
  59 + // const { socketUrl } = useGlobSetting();
47 60
48 61 const socketMessage: any = reactive({
49   - server: `${socketUrl}${token}`,
  62 + server: ``,
50 63 sendValue: {
51 64 tsSubCmds: [],
52 65 },
... ... @@ -74,6 +87,8 @@
74 87
75 88 const testResult = ref('');
76 89
  90 + const httpResult = ref('');
  91 +
77 92 //执行测试接口
78 93 const handleExcute = () => {
79 94 emits('emitExcute');
... ... @@ -84,18 +99,22 @@
84 99 await nextTick();
85 100 //获取Params和Header和Body
86 101 const Objects = props.data;
87   - console.log(Objects);
88   - const apiType = Objects?.Params?.apiType;
89   - const url = Objects?.Params?.apiGetUrl;
  102 + const isWebSocketType = Objects?.method;
  103 + const apiType = Objects?.apiType;
  104 + const url = Objects?.apiGetUrl;
90 105 const headers = Objects?.Header?.params;
91 106 const params = Objects?.Params?.params;
92   - const apiUrl = url.restfulFormat(params);
93   - if (url.startsWith('ws') || url.startsWith('wss')) {
  107 + const body = Objects?.Body?.params;
  108 + const apiUrl = url?.restfulFormat(params);
  109 + ifWebSocket.value = isWebSocketType;
  110 + if (isWebSocketType === '2') {
  111 + socketUrls.value = url;
  112 + socketMessage.server = `${socketUrls.value}?token=${token}`;
94 113 websocketRequest(params);
95 114 } else {
96   - const resp = await otherHttpRequest(apiType, apiUrl.split('{?')[0], headers, params);
  115 + const resp = await otherHttpRequest(apiType, apiUrl?.split('{?')[0], headers, params, body);
97 116 if (!resp) return;
98   - testResult.value = JSON.stringify(resp);
  117 + httpResult.value = JSON.stringify(resp);
99 118 }
100 119 };
101 120
... ... @@ -133,6 +152,7 @@
133 152 apiUrl,
134 153 headers = {},
135 154 params = {},
  155 + body,
136 156 joinPrefix = false
137 157 ) => {
138 158 switch (apiType) {
... ... @@ -144,12 +164,30 @@
144 164 joinPrefix,
145 165 }
146 166 );
  167 + case 'POST':
  168 + return await otherHttp.post(
  169 + { url: apiUrl, data: body, headers, params },
  170 + {
  171 + apiUrl: '',
  172 + joinPrefix,
  173 + }
  174 + );
  175 + case 'PUT':
  176 + return await otherHttp.put(
  177 + { url: apiUrl, data: body, headers, params },
  178 + {
  179 + apiUrl: '',
  180 + joinPrefix,
  181 + }
  182 + );
147 183 }
148 184 };
149 185
150 186 const resetValue = () => {
151 187 showTestFlag.value = false;
  188 + httpResult.value = '测试结果为:';
152 189 testResult.value = '测试结果为:';
  190 + ifWebSocket.value = '0';
153 191 };
154 192
155 193 const showTest = () => (showTestFlag.value = true);
... ...
... ... @@ -60,13 +60,21 @@
60 60 const getTestValue = () => {
61 61 const getTable = getTestTableKeyValue();
62 62 //源地址
63   - const apiGetUrl = `${props.data?.requestOriginUrl}${props.data?.requestTypeAndUrl?.requestUrl}`;
  63 + let apiGetUrl = '';
  64 + if (props.data?.originUrlType === 'server_url') {
  65 + const pathUrl = window.location.host;
  66 + const protocol = window.location.protocol;
  67 + apiGetUrl = `${protocol}//${pathUrl}`;
  68 + } else {
  69 + apiGetUrl = `${props.data?.requestOriginUrl}${props.data?.requestTypeAndUrl?.requestUrl}`;
  70 + }
64 71 //请求类型
65 72 const apiType = props.data?.requestTypeAndUrl?.requestHttpType;
66 73 //替换key value
67 74 const params: any = {};
68 75 getTable?.map((it: any) => (params[it.key!] = it.value!));
69 76 excuteData.value = {
  77 + method: props.data?.method,
70 78 apiGetUrl,
71 79 apiType,
72 80 params,
... ...
... ... @@ -100,13 +100,21 @@
100 100 const getTestValue = () => {
101 101 const getTable = getTestTableKeyValue();
102 102 //源地址
103   - const apiGetUrl = `${props.data?.requestOriginUrl}${props.data?.requestTypeAndUrl?.requestUrl}`;
  103 + let apiGetUrl = '';
  104 + if (props.data?.originUrlType === 'server_url') {
  105 + const pathUrl = window.location.host;
  106 + const protocol = window.location.protocol;
  107 + apiGetUrl = `${protocol}//${pathUrl}`;
  108 + } else {
  109 + apiGetUrl = `${props.data?.requestOriginUrl}${props.data?.requestTypeAndUrl?.requestUrl}`;
  110 + }
104 111 //请求类型
105 112 const apiType = props.data?.requestTypeAndUrl?.requestHttpType;
106 113 //替换key value
107 114 const params: any = {};
108 115 getTable?.map((it) => (params[it.key!] = it.value!));
109 116 excuteData.value = {
  117 + method: props.data?.method,
110 118 apiGetUrl,
111 119 apiType,
112 120 params,
... ...
... ... @@ -15,6 +15,7 @@
15 15 :requestTypeAndUrl="model['requestHttpTypeAndUrl']"
16 16 :method="model['requestContentType']"
17 17 :requestOriginUrl="model['requestOriginUrl']"
  18 + :originUrlType="model['originUrlType']"
18 19 />
19 20 </template>
20 21 <template #testSql="{ model }">
... ...