From 44dd9c4eb8a2489c63a5eb53fd4254bbb3510e95 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 18 Jun 2026 09:14:57 +0800
Subject: [PATCH] Merge branch 'feature/v9.0/9.0.4'

---
 src/utils/common/index.js |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 insertions(+), 2 deletions(-)

diff --git a/src/utils/common/index.js b/src/utils/common/index.js
index 964f1f1..a2bb1d8 100644
--- a/src/utils/common/index.js
+++ b/src/utils/common/index.js
@@ -1,5 +1,19 @@
+/*
+ * @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
+ */
 // 小程序更新检测
-export function mpUpdate() {
+import { useUserStore } from "@/store/index.js"
+import configEnv from "@/config/env.js"
+import process from "node:process"
+
+export function mpUpdate () {
   const updateManager = uni.getUpdateManager()
   updateManager.onCheckForUpdate(res => {
     // 请求完新版本信息的回调
@@ -9,7 +23,7 @@
     uni.showModal({
       title: "更新提示",
       content: "检测到新版本,是否下载新版本并重启小程序?",
-      success(res) {
+      success (res) {
         if (res.confirm) {
           // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
           updateManager.applyUpdate()
@@ -26,3 +40,54 @@
     })
   })
 }
+export function getStatusBarHeight () {
+  try {
+    const systemInfo = uni.getWindowInfo()
+
+    // #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 = 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 => {
+      const value = otherParams[key]
+      if (value !== undefined && value !== null) {
+        queryString += `&${key}=${encodeURIComponent(value)}`
+      }
+    })
+  }
+  // 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