瀏覽代碼

feat: 新增全局工具函数

zhangyuhan 3 年之前
父節點
當前提交
4f6868e823
共有 1 個文件被更改,包括 51 次插入0 次删除
  1. 51 0
      src/web/staticres/public-pc/js/header.js

+ 51 - 0
src/web/staticres/public-pc/js/header.js

@@ -2,3 +2,54 @@
 if (localStorage.getItem('env') !== 'development') {
   console.log = function () {}
 }
+/**
+ * 根据keys校验object必填项
+ * @param {Array} keys - 待校验字段keys
+ * @param {Object} target - 待校验object
+ * @returns {boolean} - 是否通过
+ */
+function checkRequiredKeys (keys, target) {
+  try {
+    return !keys.some(function (k) {
+      var tempValue = target[k]
+      var result = false
+      if (typeof tempValue === 'number') {
+        tempValue = tempValue.toString()
+      }
+      if (typeof tempValue === 'string') {
+        result = tempValue.trim() !== ''
+      }
+      if (typeof tempValue === 'boolean') {
+        result = true
+      }
+      return !result
+    })
+  } catch (e) {
+    console.warn(e)
+    return false
+  }
+}
+
+/**
+ * 根据keys覆盖object必填项
+ * @param {Object}target - 指定需替换的object
+ * @param {Object}now - 数据来源object
+ * @param {Array}[keys] - 指定需替换的keys
+ * @returns {Object} - 替换后的object,需注意target已被替换
+ */
+function echoRequiredValues (target, now, keys) {
+  try {
+    Object.keys(now).forEach(function (k) {
+      if (keys && keys.indexOf(k) === -1) {
+        return
+      }
+      if (target.hasOwnProperty(k)) {
+        target[k] = JSON.parse(JSON.stringify(now[k]))
+      }
+    })
+    return target
+  } catch (e) {
+    console.warn(e)
+    return {}
+  }
+}