lidie 1 yıl önce
ebeveyn
işleme
59384c3d9a

+ 52 - 0
src/business/platform/form/utils/custom/joinCURD.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+import { normal } from './requestType'
+import { encryptByAes } from '@/utils/encrypt'
+import { mapValues } from 'lodash'
+// 请求方式默认POST
+const post = (type, data, method = 'post', loading = false) => {
+  const requestUrl = `business/v3/sys/universal/${normal[type]}`
+  // 非sql类型要关闭loading动画需传参loading:true
+  const isLoading = type === 'sql' ? loading : !loading
+  return request({
+    url: requestUrl,
+    method,
+    data: dealData(data, type),
+    // 开启表单提交加载,查询接口除外
+    isLoading
+  })
+}
+
+const replaceNullWithEmpty = obj => {
+  function replaceValue(value) {
+    if (value === null) {
+      return ''
+    } else if (typeof value === 'object') {
+      if (Array.isArray(value)) {
+        return value.map(item => replaceValue(item))
+      } else {
+        return mapValues(value, v => replaceValue(v))
+      }
+    } else {
+      return value
+    }
+  }
+  return replaceValue(obj)
+}
+
+// 处理数据
+const dealData = (args, type) => {
+  // sql方法特殊处理
+  if (type === 'sql') {
+    args = {
+      sql: args.replace(/\n/g, ' ')
+    }
+  }
+  const data = typeof args === 'object' ? replaceNullWithEmpty(args) : args
+  const res = {
+    ciphertext: encryptByAes(data),
+    plaintext: data
+  }
+  return JSON.stringify(res)
+}
+
+export default post