From 648904d076ae6e17892b40675598b1c8dc474277 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 24 Apr 2026 16:21:12 +0800
Subject: [PATCH] Merge branch 'feature/v9.0/9.0.3' into feature/v9.0/9.0.4

---
 src/utils/common/index.js |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/src/utils/common/index.js b/src/utils/common/index.js
index cb4f733..a2bb1d8 100644
--- a/src/utils/common/index.js
+++ b/src/utils/common/index.js
@@ -1,5 +1,17 @@
+/*
+ * @Author       : yuan
+ * @Date         : 2025-10-15 15:52:12
+ * @LastEditors  : yuan
+ * @LastEditTime : 2025-12-17 14:09:14
+ * @FilePath     : \src\utils\common\index.js
+ * @Description  :
+ * Copyright 2025 OBKoro1, All Rights Reserved.
+ * 2025-10-15 15:52:12
+ */
 // 小程序更新检测
-import {useUserStore} from "@/store/index.js";
+import { useUserStore } from "@/store/index.js"
+import configEnv from "@/config/env.js"
+import process from "node:process"
 
 export function mpUpdate () {
   const updateManager = uni.getUpdateManager()
@@ -28,18 +40,54 @@
     })
   })
 }
+export function getStatusBarHeight () {
+  try {
+    const systemInfo = uni.getWindowInfo()
 
-export function getWebViewUrl(targetUrl,otherParams){
+    // #ifdef APP-PLUS
+    return systemInfo.statusBarHeight || 0
+    // #endif
+
+    // #ifdef MP-WEIXIN
+    return 0
+    // #endif
+
+    // #ifdef H5
+    return systemInfo.statusBarHeight || 0
+    // #endif
+    return systemInfo.statusBarHeight || 0
+  } catch (error) {
+    return 0
+  }
+}
+export function getEnvObj () {
+  return configEnv[__APP_ENV__?.ENV_NAME] || {}
+}
+
+export function getWebViewUrl (targetUrl, otherParams) {
   const userStore = useUserStore()
-  const url = import.meta.env.VITE_APP_WEBVIEW_URL
-  // 构建查询参数
-  const params = new URLSearchParams()
-  params.append('params', JSON.stringify(userStore?.userInfo))
-  // 处理 otherParams 对象
+  const url = getEnvObj().VITE_APP_WEBVIEW_URL
+  const uniPlatform = __APP_ENV__.UNI_PLATFORM
+  const statusBarHeight = getStatusBarHeight()
+  // 1. 处理用户参数
+  const userParams = userStore?.userInfo ? JSON.stringify(userStore.userInfo) : '{}'
+  // 2. 构建查询参数字符串
+  let queryString = `params=${encodeURIComponent(userParams)}&topMargin=${statusBarHeight}&uniPlatform=${uniPlatform}`
+
+  // 3. 处理 otherParams 对象
   if (otherParams && typeof otherParams === 'object') {
     Object.keys(otherParams).forEach(key => {
-      params.append(key, otherParams[key])
+      const value = otherParams[key]
+      if (value !== undefined && value !== null) {
+        queryString += `&${key}=${encodeURIComponent(value)}`
+      }
     })
   }
-  return `${url}/${targetUrl}?params=${JSON.stringify(userStore?.userInfo)}&${params.toString()}`
+  // 4. 拼接完整 URL
+  return `${url}${targetUrl}?${queryString}`
 }
+
+export function getAssetsImage (targetUrl) {
+  const url = getEnvObj().VITE_APP_ASSETS_URL
+  return `${url}${targetUrl}`
+}
\ No newline at end of file

--
Gitblit v1.9.3