Explorar o código

feat: 添加调试日志环境变量配置

- 在开发环境和生产环境中添加 VITE_DEBUG_LOG 变量
- 开发环境默认开启调试日志,生产环境默认关闭
- 支持控制台输出解密数据、请求参数、上传返回等调试信息

refactor(hooks): 优化上传文件钩子函数调试信息输出

- 将上传文件返回的调试信息用 VITE_DEBUG_LOG 变量控制
- 只有在调试日志开启时才输出上传文件返回数据

refactor(interceptors): 优化请求拦截器调试信息输出

- 将请求参数的调试信息用 VITE_DEBUG_LOG 变量控制
- 只有在调试日志开启时才输出请求参数信息

refactor(pages): 优化优惠券审核列表查询参数构建逻辑

- 重构 filterForm 表单验证逻辑,提高代码可读性
- 修复查询条件为空时的处理逻辑
- 优化手机号、姓名、状态等不同类型的查询条件构建

refactor(service): 优化优惠券API查询参数处理逻辑

- 修改 getCoupon2AuditListApi 方法的参数处理逻辑
- 区分带操作符后缀的参数(如.Like、.Sort)和普通参数
- 带后缀的参数直接使用,普通参数自动添加.value后缀

refactor(utils): 优化HTTP工具类调试信息输出

- 将解密后数据的调试信息用 VITE_DEBUG_LOG 变量控制
- 只有在调试日志开启时才输出解密后数据信息
laiqi hai 1 mes
pai
achega
e0bf3c1dfa

+ 2 - 0
env/.env.development

@@ -6,3 +6,5 @@ VITE_APP_VERSION=1.4.6
 VITE_DELETE_CONSOLE=false
 # 是否开启sourcemap
 VITE_SHOW_SOURCEMAP=true
+# 是否开启调试日志(解密数据、请求参数、上传返回等)
+VITE_DEBUG_LOG=true

+ 2 - 0
env/.env.production

@@ -6,3 +6,5 @@ VITE_APP_VERSION=1.4.6
 VITE_DELETE_CONSOLE=true
 # 是否开启sourcemap
 VITE_SHOW_SOURCEMAP=false
+# 是否开启调试日志(解密数据、请求参数、上传返回等)
+VITE_DEBUG_LOG=false

+ 3 - 1
src/hooks/useUpload.ts

@@ -64,7 +64,9 @@ export function uploadFile<T>({ tempFilePath, formData, data, error, loading })
       },
       success: (uploadFileRes) => {
         const decryptedRes = decryptResponse(uploadFileRes)
-        // console.log('decryptedRes uploadFileRes->', decryptedRes)
+        if (import.meta.env.VITE_DEBUG_LOG === 'true') {
+          console.log('上传文件返回:', decryptedRes)
+        }
         data.value = decryptedRes.data as T
         resolve(data.value)
       },

+ 3 - 1
src/interceptors/request.ts

@@ -18,7 +18,9 @@ const httpInterceptor = {
   // 拦截前触发
   invoke(options: CustomRequestOptions) {
     // 接口请求支持通过 query 参数配置 queryString
-    console.log('请求参数:', options)
+    if (import.meta.env.VITE_DEBUG_LOG === 'true') {
+      console.log('请求参数:', options)
+    }
 
     if (options.query) {
       const queryStr = qs.stringify(options.query)

+ 16 - 9
src/pages/coupon/audit-list.vue

@@ -260,19 +260,26 @@ const onFilterTypeChange = () => {
 // 构建查询参数
 const buildQueryParams = () => {
   const params: any = {}
+  const { type, value } = filterForm.value
 
-  if (filterForm.value.type && filterForm.value.value) {
-    if (filterForm.value.type === 'phone') {
-      params['coupon2phone.Like'] = filterForm.value.value
-    } else if (filterForm.value.type === 'name') {
-      params['usersname.Like'] = filterForm.value.value
-    } else if (filterForm.value.type === 'status') {
-      if (filterForm.value.value !== '') {
-        params.coupon2sype = filterForm.value.value
-      }
+  if (!type) {
+    return params
+  }
+
+  if (type === 'phone' && value) {
+    // 手机号模糊查询
+    params['coupon2phone.Like'] = value
+  } else if (type === 'name' && value) {
+    // 姓名模糊查询
+    params['usersname.Like'] = value
+  } else if (type === 'status') {
+    // 审核状态筛选(空字符串表示"全部",不添加条件)
+    if (value !== '' && value !== undefined && value !== null) {
+      params.coupon2sype = value
     }
   }
 
+  // console.log('buildQueryParams:', { type, value, params })
   return params
 }
 

+ 13 - 1
src/service/coupon2/index.ts

@@ -33,9 +33,21 @@ export const getCoupon2ModifyApi = (params: Partial<Coupon2Type>) => {
 
 /** 优惠劵审核_列表 **/
 export const getCoupon2AuditListApi = (params: Partial<any>, page: Partial<ListType>) => {
+  // 处理查询参数:带 .Like 等后缀的不加 .value,普通参数加 .value
+  const processedParams: Record<string, any> = {}
+  for (const key in params) {
+    // 如果 key 已经包含 .Like、.Sort 等操作符后缀,直接使用
+    if (key.includes('.Like') || key.includes('.Sort') || key.includes('.')) {
+      processedParams[key] = params[key]
+    } else {
+      // 普通参数添加 .value 后缀
+      processedParams[`${key}.value`] = params[key]
+    }
+  }
+
   return http.get<any>('/api/query/list?pagevalue=109', {
     ...page,
-    ...parseQueryValues(params),
+    ...processedParams,
     'coupon2adddatetime.Sort': '1', // desc
   })
 }

+ 3 - 1
src/utils/http.ts

@@ -46,7 +46,9 @@ export const http = <T>(options: CustomRequestOptions & { formatData?: boolean }
           return
         }
 
-        // console.log('解密后数据:', decryptedRes)
+        if (import.meta.env.VITE_DEBUG_LOG === 'true') {
+          console.log('解密后数据:', decryptedRes)
+        }
 
         const { Status, Message, Data } = decryptedRes.data as any