From 08f95b2f159b56fa3bd4f4b348855989de8aa456 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 18 十二月 2025 21:48:18 +0800
Subject: [PATCH] feat: vehicle
---
app/utils/wechat.js | 81 ++++++++++++++++++++++++++++++++--------
1 files changed, 64 insertions(+), 17 deletions(-)
diff --git a/app/utils/wechat.js b/app/utils/wechat.js
index afd572c..32802db 100644
--- a/app/utils/wechat.js
+++ b/app/utils/wechat.js
@@ -12,13 +12,24 @@
try {
// 鑾峰彇绯荤粺淇℃伅
const systemInfo = uni.getSystemInfoSync();
- console.log('绯荤粺淇℃伅:', systemInfo);
-
// 妫�鏌nvironment瀛楁鏄惁涓簑xwork
- resolve(systemInfo.environment === 'wxwork');
+ const isWxWork = systemInfo.environment === 'wxwork';
+ console.log('鐜妫�娴嬬粨鏋�:', isWxWork, systemInfo);
+ resolve(isWxWork);
} catch (e) {
console.error('鑾峰彇绯荤粺淇℃伅澶辫触:', e);
- resolve(false);
+ // fallback妫�娴嬶細灏濊瘯浣跨敤wx.qy瀵硅薄鍒ゆ柇
+ try {
+ if (typeof wx !== 'undefined' && wx.qy) {
+ console.log('閫氳繃wx.qy瀵硅薄妫�娴嬪埌浼佷笟寰俊鐜');
+ resolve(true);
+ } else {
+ resolve(false);
+ }
+ } catch (e2) {
+ console.error('fallback妫�娴嬩篃澶辫触:', e2);
+ resolve(false);
+ }
}
// #endif
@@ -62,41 +73,77 @@
if (isWxWork) {
console.log('妫�娴嬪埌浼佷笟寰俊鐜锛岃烦杞埌浼佷笟寰俊鍏嶇櫥椤甸潰');
// 鏋勯�犲甫鍙傛暟鐨刄RL
- redirectToQyLogin(options,tab);
+ redirectToQyLogin(options, tab);
return;
} else {
console.log('妫�娴嬪埌鏅�氬井淇$幆澧冿紝璺宠浆鍒板井淇$櫥褰曢〉闈�');
- redirectToLogin(options,tab);
+ redirectToLogin(options, tab);
return;
}
} catch (e) {
console.error('鐜妫�娴嬪け璐�:', e);
- redirectToLogin(options,tab);
+ redirectToLogin(options, tab);
}
// #endif
// #ifndef MP-WEIXIN
// 闈炲井淇″皬绋嬪簭鐜锛岃烦杞埌鏅�氱櫥褰曢〉闈�
console.log('闈炲井淇″皬绋嬪簭鐜锛岃烦杞埌鏅�氱櫥褰曢〉闈�');
- redirectToLogin(options,tab);
+ redirectToLogin(options, tab);
// #endif
}
-export function redirectToQyLogin(options,tab){
+export function redirectToQyLogin(options, tab) {
+ try {
let url = '/pages/qylogin';
- if (options && options.query) {
- url = buildUrlWithParams(url, options.query);
+ // 淇濆瓨鐩爣URL鐢ㄤ簬鐧诲綍鍚庤烦杞�
+ if (options && options.path && options.path !== 'pages/qylogin') {
+ // 鏋勯�犲畬鏁寸殑璺緞鍜屾煡璇㈠弬鏁�
+ let fullPath = '/' + options.path;
+ if (options.query) {
+ const queryString = Object.keys(options.query).map(key =>
+ `${key}=${encodeURIComponent(options.query[key])}`).join('&');
+ if (queryString) {
+ fullPath += '?' + queryString;
+ }
}
- tab.reLaunch(url);
+
+ // 娣诲姞redirect鍙傛暟
+ const separator = fullPath.includes('?') ? '&' : '?';
+ url += `${separator}redirect=${encodeURIComponent(fullPath)}`;
+ } else if (options && options.query) {
+ url = buildUrlWithParams(url, options.query);
+ }
+
+ console.log('璺宠浆鍒颁紒涓氬井淇$櫥褰曢〉闈�:', url);
+ tab.reLaunch(url);
+ } catch (e) {
+ console.error('璺宠浆鍒颁紒涓氬井淇$櫥褰曢〉闈㈠け璐�:', e);
+ // fallback鍒版櫘閫氱櫥褰曢〉闈�
+ redirectToLogin(options, tab);
+ }
}
-export function redirectToLogin(options,tab){
+
+export function redirectToLogin(options, tab) {
+ try {
let url = '/pages/login';
- if (options && options.query) {
- url = buildUrlWithParams(url, options.query);
- }
- tab.reLaunch(url);
+ if (options && options.query) {
+ url = buildUrlWithParams(url, options.query);
+ }
+ console.log('璺宠浆鍒版櫘閫氱櫥褰曢〉闈�:', url);
+ tab.reLaunch(url);
+ } catch (e) {
+ console.error('璺宠浆鍒版櫘閫氱櫥褰曢〉闈㈠け璐�:', e);
+ // 濡傛灉璺宠浆澶辫触锛岃嚦灏戠‘淇濅笉浼氬崱鍦ㄥ綋鍓嶉〉闈�
+ try {
+ tab.reLaunch('/pages/login');
+ } catch (fallbackError) {
+ console.error('fallback璺宠浆涔熷け璐ヤ簡:', fallbackError);
+ }
+ }
}
+
export default {
isWxWorkEnvironment,
buildUrlWithParams,
--
Gitblit v1.9.1