From e1c6878915658fd0b9d7c04e89702301c868110c Mon Sep 17 00:00:00 2001
From: dminyi <1301963064@qq.com>
Date: Mon, 09 Sep 2024 17:07:53 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master

---
 gz-wxparty/utils/util.js |  762 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 384 insertions(+), 378 deletions(-)

diff --git a/gz-wxparty/utils/util.js b/gz-wxparty/utils/util.js
index 492cb22..175157e 100644
--- a/gz-wxparty/utils/util.js
+++ b/gz-wxparty/utils/util.js
@@ -5,7 +5,7 @@
 const url = api.url;
 
 // 是否是开发环境
-const isDebug = true;
+const isDebug = false;
 
 const baseUrl = isDebug ? api.url.debug : api.url.web;
 
@@ -17,479 +17,485 @@
 
 // request
 const request = ({
-    url,
-    type,
-    submitData,
-    service,
-    v1,
-    noToken
+  url,
+  type,
+  submitData,
+  service,
+  v1,
+  ai,
+  noToken
 }) => {
-    const app = getApp();
+  const app = getApp();
 
-    let token = app.globalData.token;
-    if (!token && !noToken) {
-        console.log(typeof app.globalData.access_token, 'app.globalData.access_token1111111111111')
-        if (!app.globalData.access_token) {
-            showModal({
+  let token = app.globalData.token;
+  if (!token && !noToken) {
+    console.log(typeof app.globalData.access_token, 'app.globalData.access_token1111111111111')
+    if (!app.globalData.access_token) {
+      showModal({
+        title: '提示信息',
+        content: '抱歉!登录状态已失效,请重新登录',
+        confirmText: '重新登录',
+        showCancel: false,
+        success: (res) => {
+          if (res.confirm) {
+            loginOutClearData();
+            wx.navigateTo({
+              url: '../../pages/login/index',
+            });
+          }
+        },
+      });
+      return false;
+    }
+  }
+
+  let baseUrl = isDebug ? api.url.debug : api.url.web;
+
+  let visitUrl = `${baseUrl}${api.url[service] || ''}/api/${v1 ? 'v1' :ai ? 'ai' : 'wechat'}/${url}`;
+
+  return new Promise((resolve, reject) => {
+    wx.request({
+      url: visitUrl,
+      data: submitData,
+      method: type,
+      header: {
+        Authorization: token,
+      },
+      success: (res) => {
+        if (res.errMsg === 'request:ok') {
+          const {
+            statusCode
+          } = res;
+          if (statusCode >= 400) {
+            errorModal({
+              content: '抱歉!请求失败,稍后重试'
+            });
+            resolve({
+              type: false
+            });
+            return false;
+          }
+          const {
+            code,
+            data,
+            msg
+          } = res.data;
+          let obj = {};
+          if (code === '0' || code === 0) {
+            obj = {
+              type: true,
+              data
+            };
+          } else if (code === 401 || code === '401') {
+            if (app.globalData.access_token !== 1) {
+              errorModal({
                 title: '提示信息',
                 content: '抱歉!登录状态已失效,请重新登录',
                 confirmText: '重新登录',
-                showCancel: false,
-                success: (res) => {
-                    if (res.confirm) {
-                        loginOutClearData();
-                        wx.navigateTo({
-                            url: '../../pages/login/index',
-                        });
-                    }
+                success: () => {
+                  loginOutClearData();
+                  wx.navigateTo({
+                    url: '../../pages/login/index'
+                  });
                 },
+              });
+
+            }
+            obj = {
+              type: false
+            };
+          } else {
+            errorModal({
+              content: msg
             });
-            return false;
+            obj = {
+              type: false
+            };
+          }
+          resolve(obj);
+        } else {
+          errorModal({
+            content: '抱歉!请求失败,稍后重试'
+          });
+          resolve({
+            type: false
+          });
         }
-    }
-
-    let baseUrl = isDebug ? api.url.debug : api.url.web;
-
-    let visitUrl = `${baseUrl}${api.url[service] || ''}/api/${v1 ? 'v1' : 'wechat'}/${url}`;
-
-    return new Promise((resolve, reject) => {
-        wx.request({
-            url: visitUrl,
-            data: submitData,
-            method: type,
-            header: {
-                Authorization: token,
-            },
-            success: (res) => {
-                if (res.errMsg === 'request:ok') {
-                    const {
-                        statusCode
-                    } = res;
-                    if (statusCode >= 400) {
-                        errorModal({
-                            content: '抱歉!请求失败,稍后重试'
-                        });
-                        resolve({
-                            type: false
-                        });
-                        return false;
-                    }
-                    const {
-                        code,
-                        data,
-                        msg
-                    } = res.data;
-                    let obj = {};
-                    if (code === '0' || code === 0) {
-                        obj = {
-                            type: true,
-                            data
-                        };
-                    } else if (code === 401 || code === '401') {
-                        if (app.globalData.access_token !== 1) {
-                            errorModal({
-                                title: '提示信息',
-                                content: '抱歉!登录状态已失效,请重新登录',
-                                confirmText: '重新登录',
-                                success: () => {
-                                    loginOutClearData();
-                                    wx.navigateTo({
-                                        url: '../../pages/login/index'
-                                    });
-                                },
-                            });
-
-                        }
-                        obj = {
-                            type: false
-                        };
-                    } else {
-                        errorModal({
-                            content: msg
-                        });
-                        obj = {
-                            type: false
-                        };
-                    }
-                    resolve(obj);
-                } else {
-                    errorModal({
-                        content: '抱歉!请求失败,稍后重试'
-                    });
-                    resolve({
-                        type: false
-                    });
-                }
-            },
-            fail: () => {
-                errorModal({
-                    content: '抱歉!服务器出现错误,稍后重试'
-                });
-                resolve({
-                    type: false
-                });
-            },
+      },
+      fail: () => {
+        errorModal({
+          content: '抱歉!服务器出现错误,稍后重试'
         });
+        resolve({
+          type: false
+        });
+      },
     });
+  });
 };
 
 //
 const commonRequest = ({
-    url,
-    submitData,
-    type
+  url,
+  submitData,
+  type
 }) => {
-    return new Promise((resolve, reject) => {
-        wx.request({
-            url: url,
-            data: submitData,
-            method: type,
-            header: {
-                'content-type': 'application/json; charset=utf-8', // 默认值
-            },
-            scriptCharset: 'utf-8',
-            success: (res) => {
-                const {
-                    statusCode,
-                    errMsg,
-                    data
-                } = res;
-                if (statusCode >= 400) {
-                    errorModal({
-                        content: '抱歉!请求错误,稍后重试'
-                    });
-                    resolve(false);
-                    return false;
-                }
-                if (errMsg === 'request:ok') {
-                    resolve(data);
-                } else {
-                    resolve(false);
-                }
-            },
-            fail: () => {
-                resolve(false);
-            },
-        });
+  return new Promise((resolve, reject) => {
+    wx.request({
+      url: url,
+      data: submitData,
+      method: type,
+      header: {
+        'content-type': 'application/json; charset=utf-8', // 默认值
+      },
+      scriptCharset: 'utf-8',
+      success: (res) => {
+        const {
+          statusCode,
+          errMsg,
+          data
+        } = res;
+        if (statusCode >= 400) {
+          errorModal({
+            content: '抱歉!请求错误,稍后重试'
+          });
+          resolve(false);
+          return false;
+        }
+        if (errMsg === 'request:ok') {
+          resolve(data);
+        } else {
+          resolve(false);
+        }
+      },
+      fail: () => {
+        resolve(false);
+      },
     });
+  });
 };
 
 // 消息提示框
 const showToast = ({
-    title,
-    icon = 'none',
-    mask = true,
-    duration = 2000,
-    success
+  title,
+  icon = 'none',
+  mask = true,
+  duration = 2000,
+  success
 }) => {
-    return wx.showToast({
-        title: title,
-        icon: icon,
-        mask: mask,
-        duration: duration,
-        success: (res) => {
-            success && success(res);
-        },
-    });
+  return wx.showToast({
+    title: title,
+    icon: icon,
+    mask: mask,
+    duration: duration,
+    success: (res) => {
+      success && success(res);
+    },
+  });
+};
+
+const ellipsis = ({
+  value,
+  len
+}) => {
+  if (!value) return '';
+
+  if (value.length > len) {
+    return value.slice(0, len) + '...';
+  }
+  return value;
 };
 
 //api错误modal框消息提示
 let errorNum = false; //控制报错信息不会重复弹出
 const errorModal = ({
-    title,
-    content,
-    confirmText,
-    success,
-    className
+  title,
+  content,
+  confirmText,
+  success,
+  className
 }) => {
-    if (errorNum) {
-        return false;
-    }
-    errorNum = true;
-    return wx.showModal({
-        title: title || '错误提示',
-        content: content,
-        className: className,
-        showCancel: false,
-        confirmColor: '#d10202',
-        confirmText: confirmText || '知道了',
-        success: (res) => {
-            if (res.confirm) {
-                errorNum = false;
-                success && success(res);
-            }
-        },
-    });
+  if (errorNum) {
+    return false;
+  }
+  errorNum = true;
+  return wx.showModal({
+    title: title || '错误提示',
+    content: content,
+    className: className,
+    showCancel: false,
+    confirmColor: '#d10202',
+    confirmText: confirmText || '知道了',
+    success: (res) => {
+      if (res.confirm) {
+        errorNum = false;
+        success && success(res);
+      }
+    },
+  });
 };
 
 //modal提示操作
 const showModal = ({
-    title = '温馨提示',
-    content,
-    showCancel = true,
-    cancelText = '取消',
-    confirmText = '确定',
-    success
+  title = '温馨提示',
+  content,
+  showCancel = true,
+  cancelText = '取消',
+  confirmText = '确定',
+  success
 }) => {
-    return wx.showModal({
-        content: content,
-        showCancel: showCancel,
-        confirmColor: '#1A6FB8',
-        title: title,
-        cancelText: cancelText,
-        confirmText: confirmText,
-        success: (res) => {
-            success && success(res);
-        },
-    });
+  return wx.showModal({
+    content: content,
+    showCancel: showCancel,
+    confirmColor: '#1A6FB8',
+    title: title,
+    cancelText: cancelText,
+    confirmText: confirmText,
+    success: (res) => {
+      success && success(res);
+    },
+  });
 };
 
 //loading
 let loadingVisible = 0;
 const showLoading = (title = '加载中...', mask = true) => {
-    if (loadingVisible) {
-        loadingVisible = loadingVisible + 1;
-        return;
-    }
-    loadingVisible = 1;
-    return wx.showLoading({
-        title: title,
-        mask: mask,
-    });
+  if (loadingVisible) {
+    loadingVisible = loadingVisible + 1;
+    return;
+  }
+  loadingVisible = 1;
+  return wx.showLoading({
+    title: title,
+    mask: mask,
+  });
 };
 
 const hideLoading = () => {
-    loadingVisible = loadingVisible - 1;
-    if (loadingVisible) return;
-    return wx.hideLoading();
+  loadingVisible = loadingVisible - 1;
+  if (loadingVisible) return;
+  return wx.hideLoading();
 };
 
 // 时间格式化
 const timeFormat = (time, type) => {
-    let formatType = type ? type : 'YYYY-MM-DD HH:mm';
-    return time ? moment(time).format(formatType) : '';
+  let formatType = type ? type : 'YYYY-MM-DD HH:mm';
+  return time ? moment(time).format(formatType) : '';
 };
 
 // 计算消息时间距离当前时间
 const getMsgTime = (endTime, startTime = new Date()) => {
-    let end = moment(endTime),
-        start = moment(startTime),
-        minDiff = end.diff(start, 'minute');
-    if (minDiff < 60) {
-        return `${minDiff}分钟`;
-    }
-    let hoursDiff = minDiff / 60;
-    if (hoursDiff < 24) {
-        return `${hoursDiff}小时`;
-    }
-    let dayDiff = hoursDiff / 24;
-    return `${dayDiff}天`;
+  let end = moment(endTime),
+    start = moment(startTime),
+    minDiff = end.diff(start, 'minute');
+  if (minDiff < 60) {
+    return `${minDiff}分钟`;
+  }
+  let hoursDiff = minDiff / 60;
+  if (hoursDiff < 24) {
+    return `${hoursDiff}小时`;
+  }
+  let dayDiff = hoursDiff / 24;
+  return `${dayDiff}天`;
 };
 
 // 退出登录清除数据
 const loginOutClearData = () => {
-    const app = getApp();
-    app.globalData.token = '';
-    wx.removeStorage({
-        key: 'userInfo'
-    });
+  const app = getApp();
+  app.globalData.token = '';
+  wx.removeStorage({
+    key: 'userInfo'
+  });
 };
 
 // 手机号码正则
 const mobileRegExp = (value) => {
-    return /^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9]|9[0-9])\d{8}$/g.test(value);
+  return /^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9]|9[0-9])\d{8}$/g.test(value);
 };
 
 // 睡眠
 const sleep = (timeout = 500) => {
-    return new Promise((resolve) => setTimeout(resolve, timeout));
+  return new Promise((resolve) => setTimeout(resolve, timeout));
 };
 
 // 获取唯一的key
 const getBusinessId = () => {
-    let four = `${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}`;
-    let result = `${moment().format('YYYYMMDDHHmmss')}${four}`;
-    return result;
+  let four = `${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}${parseInt(Math.random() * 10)}`;
+  let result = `${moment().format('YYYYMMDDHHmmss')}${four}`;
+  return result;
 };
 
 // 省市区选择
 const changeLocation = (e, location, selectData) => {
-    const {
-        value,
-        index
-    } = e.detail.detail;
-    let value_id = value[index].value;
-    let faterArr = location;
-    for (let i = 0; i < index; i++) {
-        faterArr = faterArr[selectData[i].defaultIndex].children || [];
-    }
-    faterForEach: for (let i = 0; i <= faterArr.length - 1; i++) {
-        if (faterArr[i].value === value_id) {
-            selectData[index].defaultIndex = i;
-            let arr = faterArr[i];
-            for (let y = index + 1; y < value.length; y++) {
-                selectData[y].values = JSON.parse(JSON.stringify(arr.children)) || [];
-                selectData[y].defaultIndex = 0;
-                // 当children不存在时赋值
-                if (arr.children) {
-                    arr = arr.children[0];
-                }
-                selectData[y].values.forEach((x) => {
-                    delete x.children;
-                });
-            }
-            break faterForEach;
+  const {
+    value,
+    index
+  } = e.detail.detail;
+  let value_id = value[index].value;
+  let faterArr = location;
+  for (let i = 0; i < index; i++) {
+    faterArr = faterArr[selectData[i].defaultIndex].children || [];
+  }
+  faterForEach: for (let i = 0; i <= faterArr.length - 1; i++) {
+    if (faterArr[i].value === value_id) {
+      selectData[index].defaultIndex = i;
+      let arr = faterArr[i];
+      for (let y = index + 1; y < value.length; y++) {
+        selectData[y].values = JSON.parse(JSON.stringify(arr.children)) || [];
+        selectData[y].defaultIndex = 0;
+        // 当children不存在时赋值
+        if (arr.children) {
+          arr = arr.children[0];
         }
+        selectData[y].values.forEach((x) => {
+          delete x.children;
+        });
+      }
+      break faterForEach;
     }
-    return selectData;
+  }
+  return selectData;
 };
 
 // 计算默认的省市区下标
 const getLocationIndex = (data, currentData) => {
-    let selectOption = JSON.parse(JSON.stringify(data));
-    let submitData = currentData;
-    let arr = [0, 0, 0, 0];
-    if (submitData.prov) {
-        forEach: for (let i = 0; i < selectOption.length; i++) {
-            if (selectOption[i].value === submitData.prov) {
-                arr[0] = i;
-                break forEach;
-            }
-        }
+  let selectOption = JSON.parse(JSON.stringify(data));
+  let submitData = currentData;
+  let arr = [0, 0, 0];
+  if (submitData.city) {
+    forEach: for (let i = 0; i < selectOption[arr[0]].children.length; i++) {
+      if (selectOption[arr[0]].children[i].value === submitData.city) {
+        arr[1] = i;
+        break forEach;
+      }
     }
-    if (submitData.city) {
-        forEach: for (let i = 0; i < selectOption[arr[0]].children.length; i++) {
-            if (selectOption[arr[0]].children[i].value === submitData.city) {
-                arr[1] = i;
-                break forEach;
-            }
-        }
+  }
+  if (submitData.area) {
+    forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children.length; i++) {
+      if (selectOption[arr[0]].children[arr[1]].children[i].value === submitData.area) {
+        arr[2] = i;
+        break forEach;
+      }
     }
-    if (submitData.area) {
-        forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children.length; i++) {
-            if (selectOption[arr[0]].children[arr[1]].children[i].value === submitData.area) {
-                arr[2] = i;
-                break forEach;
-            }
-        }
-    }
-    if (submitData.road) {
-        forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children[arr[2]].children.length; i++) {
-            if (selectOption[arr[0]].children[arr[1]].children[arr[2]].children[i].value === submitData.road) {
-                arr[3] = i;
-                break forEach;
-            }
-        }
-    }
-    return arr;
+  }
+  // if (submitData.road) {
+  //   forEach: for (let i = 0; i < selectOption[arr[0]].children[arr[1]].children[arr[2]].children.length; i++) {
+  //     if (selectOption[arr[0]].children[arr[1]].children[arr[2]].children[i].value === submitData.road) {
+  //       arr[3] = i;
+  //       break forEach;
+  //     }
+  //   }
+  // }
+  return arr;
 };
 
 // 判断附件打开形式
 const openFiles = (type, url, urls) => {
-    let visible = false;
-    if (type === '22_00017-3') {
-        wx.previewImage({
-            current: url,
-            urls: urls,
+  let visible = false;
+  if (type === '22_00017-3') {
+    wx.previewImage({
+      current: url,
+      urls: urls,
+    });
+    visible = true;
+  } else if (['22_00017-4', '22_00017-5', '22_00017-6', '22_00017-9'].includes(type)) {
+    showLoading();
+    wx.downloadFile({
+      url: url,
+      success: function (res) {
+        const filePath = res.tempFilePath;
+        wx.openDocument({
+          filePath: filePath,
+          complete: () => {
+            hideLoading();
+          },
         });
-        visible = true;
-    } else if (['22_00017-4', '22_00017-5', '22_00017-6', '22_00017-9'].includes(type)) {
-        showLoading();
-        wx.downloadFile({
-            url: url,
-            success: function (res) {
-                const filePath = res.tempFilePath;
-                wx.openDocument({
-                    filePath: filePath,
-                    complete: () => {
-                        hideLoading();
-                    },
-                });
-            },
-        });
-        visible = true;
-    } else {
-        showToast({
-            title: '抱歉!您所点击的附件暂不支持查看'
-        });
-        visible = false;
-    }
-    return visible;
+      },
+    });
+    visible = true;
+  } else {
+    showToast({
+      title: '抱歉!您所点击的附件暂不支持查看'
+    });
+    visible = false;
+  }
+  return visible;
 };
 
 // 校验登录'login' and 实名'realName' and 'all'
 const userTest = (type, direction) => {
-    const app = getApp();
-    if (!app.globalData.token && (type === 'login' || type === 'all')) {
-        showModal({
-            content: '抱歉您未登录,是否前往登录?',
-            success: (res) => {
-                if (res.confirm) {
-                    wx.navigateTo({
-                        url: '../../pages/login/index',
-                    });
-                }
-            },
-        });
-        return false;
-    }
-    let realStatus = wx.getStorageSync('userInfo')?.realStatus;
-    if (realStatus !== 1 && (type === 'realName' || type === 'all')) {
-        if (direction !== 'bottom') {
-            showModal({
-                content: '检测到您未进行实名认证,该操作需先进行实名认证,是否前往认证?',
-                success: (res) => {
-                    if (res.confirm) {
-                        wx.navigateTo({
-                            url: '../../pages/realNameAuthentication/index',
-                        });
-                    }
-                },
-            });
+  const app = getApp();
+  if (!app.globalData.token && (type === 'login' || type === 'all')) {
+    showModal({
+      content: '抱歉您未登录,是否前往登录?',
+      success: (res) => {
+        if (res.confirm) {
+          wx.navigateTo({
+            url: '../../pages/login/index',
+          });
         }
-        return false;
+      },
+    });
+    return false;
+  }
+  let realStatus = wx.getStorageSync('userInfo')?.realStatus;
+  if (realStatus !== 1 && (type === 'realName' || type === 'all')) {
+    if (direction !== 'bottom') {
+      showModal({
+        content: '检测到您未进行实名认证,该操作需先进行实名认证,是否前往认证?',
+        success: (res) => {
+          if (res.confirm) {
+            wx.navigateTo({
+              url: '../../pages/realNameAuthentication/index',
+            });
+          }
+        },
+      });
     }
-    return true;
+    return false;
+  }
+  return true;
 };
 
 // 地址栏截取
 function getQueryString(href, name) {
-    let result = href.match(new RegExp('[?&]' + name + '=([^&]+)', 'i'));
-    if (!result || result.length < 1) {
-        return null;
-    }
-    return decodeURI(result[1]);
+  let result = href.match(new RegExp('[?&]' + name + '=([^&]+)', 'i'));
+  if (!result || result.length < 1) {
+    return null;
+  }
+  return decodeURI(result[1]);
 }
 
 // 清除字符串中的空格,用于判断是否为空
 function verifyEmpty(value) {
-    return value?.replace(/\s+/g, '');
+  return value?.replace(/\s+/g, '');
 }
 
 module.exports = {
-    moment,
-    url,
-    request,
-    commonRequest,
-    isDebug,
-    baseUrl,
-    version,
-    province,
-    showToast,
-    errorModal,
-    showModal,
-    showLoading,
-    hideLoading,
-    timeFormat,
-    getMsgTime,
-    loginOutClearData,
-    mobileRegExp,
-    sleep,
-    getBusinessId,
-    changeLocation,
-    getLocationIndex,
-    openFiles,
-    userTest,
-    getQueryString,
-    verifyEmpty,
+  moment,
+  url,
+  request,
+  commonRequest,
+  isDebug,
+  baseUrl,
+  version,
+  province,
+  showToast,
+  errorModal,
+  showModal,
+  ellipsis,
+  showLoading,
+  hideLoading,
+  timeFormat,
+  getMsgTime,
+  loginOutClearData,
+  mobileRegExp,
+  sleep,
+  getBusinessId,
+  changeLocation,
+  getLocationIndex,
+  openFiles,
+  userTest,
+  getQueryString,
+  verifyEmpty,
 };
\ No newline at end of file

--
Gitblit v1.8.0