From e1b028d486713eaf55aaf35fbf334aa568059c0d Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期二, 14 四月 2026 15:46:54 +0800
Subject: [PATCH] 项目复制
---
src/utils/UA.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/src/utils/UA.js b/src/utils/UA.js
new file mode 100644
index 0000000..d27de0f
--- /dev/null
+++ b/src/utils/UA.js
@@ -0,0 +1,57 @@
+const ua = window.navigator.userAgent
+const mobileAgents = ['Android', 'iPhone', 'qxyiOSApp', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod', 'OpenHarmony']
+
+const isWeixin = ua.match(/MicroMessenger/i) == 'MicroMessenger'
+const isWeixinWork = ua.match(/wxwork/i) == 'wxwork'
+const isTBSX5 = ua.match(/MQQBrowser/i) == 'MQQBrowser' || ua.match(/TBS/i) == 'TBS'
+
+const isHarmony = ua.indexOf('OpenHarmony') > -1
+const isHarmonyApp = ua.indexOf('qxyHarmony') > -1
+const isAndroid = ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1
+const isAndroidApp = ua.indexOf('qxyAndroidApp') > -1
+const isiOSApp = ua.indexOf('qxyiOSApp') > -1
+const isiOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) || isiOSApp
+const isApp = isAndroidApp || isiOSApp
+const isOldVerApp = (isApp) && ua.indexOf('qxyEcpt') < 0
+
+let isMobile = false
+for (let v = 0; v < mobileAgents.length; v++) {
+ if (ua.includes(mobileAgents[v])) {
+ isMobile = true
+ break
+ }
+}
+
+let iosInputBlur = function () { // 鍏煎ios杈撳叆妗�
+ if(isiOS) { // 鍒ゆ柇鏄惁涓篒OS绯荤粺
+ setTimeout(() => {
+ const scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0
+ window.scrollTo(0, Math.max(scrollHeight - 1, 0))
+ }, 100)
+ }
+}
+
+let wxWorkIosScrollToTop = function() {
+ if (isWeixinWork && isiOS) {
+ setTimeout(() => {
+ window.scrollTo(1, 0)
+ }, 1000)
+ }
+}
+
+export {
+ isWeixin,
+ isWeixinWork,
+ isMobile,
+ isTBSX5,
+ isiOS,
+ isiOSApp,
+ isAndroid,
+ isAndroidApp,
+ isApp,
+ isOldVerApp,
+ iosInputBlur,
+ wxWorkIosScrollToTop,
+ isHarmony,
+ isHarmonyApp
+}
\ No newline at end of file
--
Gitblit v1.8.0