Commit 52a4ad6cfe625b729f063100c5bc8a319823e25a

Authored by fengwotao
1 parent 6c850986

pref: 优化公共接口管理部分代码

... ... @@ -71,7 +71,13 @@
71 71 import { Tag } from 'ant-design-vue';
72 72 import { RequestMethodTypeEnum, RequestOriginTypeEnum } from './config/enum';
73 73
74   - const { resetReqHttpType, isServerUrl, resetUpdateSchema } = useUtils();
  74 + const {
  75 + resetReqHttpType,
  76 + isServerUrl,
  77 + resetUpdateSchema,
  78 + validateRequestTypeAndUrl,
  79 + getOriginUrlType,
  80 + } = useUtils();
75 81
76 82 const emits = defineEmits(['success', 'register']);
77 83
... ... @@ -81,6 +87,8 @@
81 87
82 88 const putId = ref('');
83 89
  90 + const editSetFilter = ref('');
  91 +
84 92 const simpleRequestRef = ref<InstanceType<typeof SimpleRequest>>();
85 93
86 94 const templateFillAddress = (method, type) => {
... ... @@ -127,6 +135,7 @@
127 135 updateSchema(resetUpdateSchema);
128 136 isUpdate.value = data.isUpdate;
129 137 !isUpdate.value ? (putId.value = '') : (putId.value = data.record.id);
  138 + editSetFilter.value = data.record?.filter;
130 139 simpleRequestRef.value?.resetValue();
131 140 if (isUpdate.value) {
132 141 await setFieldsValue({
... ... @@ -152,31 +161,14 @@
152 161 });
153 162
154 163 const handleSubmit = async () => {
155   - setDrawerProps({ loading: true });
156 164 try {
  165 + setDrawerProps({ loading: true });
157 166 const values = await validate();
158 167 if (!values) return;
159   - const isRequestHttpTypeAndUrlEmpty = values?.requestHttpTypeAndUrl;
160   - if (values.requestContentType === RequestMethodTypeEnum.COMMOM) {
161   - if (
162   - !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestHttpType') ||
163   - !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl')
164   - ) {
165   - createMessage.error('请填写请求类型&地址');
166   - throw Error('请填写请求类型&地址');
167   - }
168   - } else if (values.requestContentType === RequestMethodTypeEnum.WEBSOCKET) {
169   - if (!Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl')) {
170   - createMessage.error('请填写请求类型&地址');
171   - throw Error('请填写请求类型&地址');
172   - }
173   - }
  168 + validateRequestTypeAndUrl(values);
174 169 const Objects = simpleRequestRef.value?.getValue(true);
175 170 const filter = simpleRequestRef.value?.getFilterValue();
176   - const requestOriginUrl =
177   - values['originUrlType'] === RequestOriginTypeEnum.SERVER_URL
178   - ? 'localhost'
179   - : values['requestOriginUrl'];
  171 + const requestOriginUrl = getOriginUrlType(values);
180 172 const data = {
181 173 ...values,
182 174 id: !putId.value ? null : putId.value,
... ... @@ -186,7 +178,7 @@
186 178 },
187 179 ...Objects,
188 180 }),
189   - filter: !filter ? null : filter,
  181 + filter: !putId.value ? filter : filter ? filter : editSetFilter.value,
190 182 requestOriginUrl,
191 183 requestHttpType: values['requestHttpTypeAndUrl']?.requestHttpType,
192 184 requestUrl: values['requestHttpTypeAndUrl']?.requestUrl,
... ...
1 1 import { commonHttpPlaceHolder, websocketPlaceHolder } from '../config/constants';
2   -import { RequestMethodTypeEnum } from '../config/enum';
  2 +import { RequestMethodTypeEnum, RequestOriginTypeEnum } from '../config/enum';
3 3 import { otherHttp } from '/@/utils/http/axios';
4 4 import { tableItems } from '../config/types';
  5 +import { useMessage } from '/@/hooks/web/useMessage';
5 6
6 7 export const useUtils = () => {
  8 + const { createMessage } = useMessage();
7 9 //获取多个key
8 10 const getMultipleKeys = (list) => {
9 11 let temps = [];
... ... @@ -231,6 +233,34 @@ export const useUtils = () => {
231 233 }
232 234 }
233 235
  236 + //验证请求类型&地址
  237 + const errorMsg = () => {
  238 + createMessage.error('请填写请求类型&地址');
  239 + throw Error('请填写请求类型&地址');
  240 + };
  241 + const validateRequestTypeAndUrl = (values) => {
  242 + const isRequestHttpTypeAndUrlEmpty = values?.requestHttpTypeAndUrl;
  243 + if (values.requestContentType === RequestMethodTypeEnum.COMMOM) {
  244 + if (
  245 + !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestHttpType') ||
  246 + !Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl')
  247 + ) {
  248 + return errorMsg();
  249 + }
  250 + } else if (values.requestContentType === RequestMethodTypeEnum.WEBSOCKET) {
  251 + if (!Reflect.get(isRequestHttpTypeAndUrlEmpty, 'requestUrl')) {
  252 + return errorMsg();
  253 + }
  254 + }
  255 + };
  256 +
  257 + //获取originUrlType
  258 + const getOriginUrlType = (values) => {
  259 + return values['originUrlType'] === RequestOriginTypeEnum.SERVER_URL
  260 + ? 'localhost'
  261 + : values['requestOriginUrl'];
  262 + };
  263 +
234 264 return {
235 265 getMultipleKeys,
236 266 pushObj,
... ... @@ -246,5 +276,7 @@ export const useUtils = () => {
246 276 commonParams,
247 277 CommonFuncValue,
248 278 ParamsFuncValue,
  279 + validateRequestTypeAndUrl,
  280 + getOriginUrlType,
249 281 };
250 282 };
... ...