From c10b1e130ccbc94e6481a43e8e2d35cfc8fcf83b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期五, 26 十二月 2025 18:05:06 +0800
Subject: [PATCH] feat:显示问题
---
app/pages/qylogin.vue | 139 +++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 123 insertions(+), 16 deletions(-)
diff --git a/app/pages/qylogin.vue b/app/pages/qylogin.vue
index 0d47648..2e47b30 100644
--- a/app/pages/qylogin.vue
+++ b/app/pages/qylogin.vue
@@ -38,6 +38,10 @@
try {
// 淇濆瓨椤甸潰鍙傛暟
this.pageOptions = options || {};
+
+ // 鎵撳嵃鐜淇℃伅
+ this.logEnvironmentInfo();
+
// 椤甸潰鍔犺浇鏃舵墽琛屽厤鐧绘祦绋�
this.qyWechatAutoLogin();
} catch (e) {
@@ -49,6 +53,49 @@
},
methods: {
+ /**
+ * 鎵撳嵃鐜淇℃伅锛堣皟璇曠敤锛�
+ */
+ logEnvironmentInfo() {
+ // #ifdef MP-WEIXIN
+ console.log('========== 鐜淇℃伅 ==========');
+ console.log('wx 鏄惁瀛樺湪:', typeof wx !== 'undefined');
+ console.log('wx.qy 鏄惁瀛樺湪:', typeof wx !== 'undefined' && typeof wx.qy !== 'undefined');
+
+ if (typeof wx !== 'undefined') {
+ console.log('wx.login 鏄惁瀛樺湪:', typeof wx.login === 'function');
+
+ if (typeof wx.qy !== 'undefined') {
+ console.log('wx.qy.login 鏄惁瀛樺湪:', typeof wx.qy.login === 'function');
+ console.log('wx.qy 瀵硅薄:', wx.qy);
+ } else {
+ console.warn('鈿狅笍 wx.qy 涓嶅瓨鍦紒');
+ console.warn('鍙兘鍘熷洜锛�');
+ console.warn('1. 褰撳墠鍦ㄥ紑鍙戣�呭伐鍏蜂腑锛寃x.qy API 鍙兘涓嶅彲鐢�');
+ console.warn('2. 闇�瑕佸湪鐪熸満涓婅皟璇�');
+ console.warn('3. appid 閰嶇疆鍙兘涓嶆纭�');
+ }
+
+ // 鑾峰彇绯荤粺淇℃伅
+ try {
+ const systemInfo = wx.getSystemInfoSync();
+ console.log('绯荤粺淇℃伅:', systemInfo);
+ } catch (e) {
+ console.error('鑾峰彇绯荤粺淇℃伅澶辫触:', e);
+ }
+
+ // 鑾峰彇璐﹀彿淇℃伅
+ try {
+ const accountInfo = wx.getAccountInfoSync();
+ console.log('璐﹀彿淇℃伅:', accountInfo);
+ } catch (e) {
+ console.error('鑾峰彇璐﹀彿淇℃伅澶辫触:', e);
+ }
+ }
+ console.log('==============================');
+ // #endif
+ },
+
/**
* 浼佷笟寰俊鍏嶇櫥娴佺▼
*/
@@ -135,26 +182,80 @@
},
/**
+ * 绛夊緟 wx.qy 瀵硅薄鍒濆鍖�
+ */
+ waitForWxQy(timeout = 5000) {
+ return new Promise((resolve, reject) => {
+ const startTime = Date.now();
+ let checkCount = 0;
+
+ const checkWxQy = () => {
+ checkCount++;
+ const elapsed = Date.now() - startTime;
+
+ if (typeof wx !== 'undefined' && typeof wx.qy !== 'undefined' && typeof wx.qy.login === 'function') {
+ console.log(`鉁� wx.qy 宸插垵濮嬪寲 (鑰楁椂: ${elapsed}ms, 妫�鏌ユ鏁�: ${checkCount})`);
+ resolve(true);
+ } else if (elapsed > timeout) {
+ console.error(`鉂� 绛夊緟 wx.qy 鍒濆鍖栬秴鏃� (${timeout}ms)`);
+ console.error('褰撳墠鐘舵��:', {
+ wx瀛樺湪: typeof wx !== 'undefined',
+ 'wx.qy瀛樺湪': typeof wx !== 'undefined' && typeof wx.qy !== 'undefined',
+ 妫�鏌ユ鏁�: checkCount
+ });
+
+ // 鎻愪緵鏇磋缁嗙殑閿欒淇℃伅
+ const errorMsg = '浼佷笟寰俊鐜鍒濆鍖栬秴鏃躲�俓n\n' +
+ '鍙兘鐨勫師鍥狅細\n' +
+ '1. 褰撳墠鍦ㄥ紑鍙戣�呭伐鍏蜂腑锛寃x.qy API 涓嶅彲鐢╘n' +
+ '2. 璇蜂娇鐢ㄧ湡鏈洪瑙堟垨鐪熸満璋冭瘯\n' +
+ '3. 妫�鏌ュ皬绋嬪簭 appid 鏄惁閰嶇疆姝g‘';
+ reject(new Error(errorMsg));
+ } else {
+ if (checkCount % 10 === 1) {
+ console.log(`鈴� 绛夊緟 wx.qy 鍒濆鍖�... (${elapsed}ms, 绗�${checkCount}娆℃鏌�)`);
+ }
+ setTimeout(checkWxQy, 100);
+ }
+ };
+
+ checkWxQy();
+ });
+ },
+
+ /**
* 鑾峰彇浼佷笟寰俊鐧诲綍code
*/
getLoginCode() {
- return new Promise((resolve, reject) => {
+ return new Promise(async (resolve, reject) => {
// #ifdef MP-WEIXIN
- // 浣跨敤浼佷笟寰俊灏忕▼搴廇PI鑾峰彇code
- wx.qy.login({
- success: (res) => {
- if (res.code) {
- console.log("浼佷笟寰俊灏忕▼搴� ---> code锛�", res.code);
- resolve(res.code);
- } else {
- reject(new Error("鑾峰彇code澶辫触锛�" + res.errMsg));
- }
- },
- fail: (err) => {
- console.error("wx.qy.login璋冪敤澶辫触锛�", err);
- reject(new Error("浼佷笟寰俊鐧诲綍鎺ュ彛璋冪敤澶辫触锛�" + err.errMsg));
- },
- });
+ try {
+ // 妫�鏌ユ槸鍚﹀湪浼佷笟寰俊灏忕▼搴忕幆澧�
+ console.log('妫�鏌ヤ紒涓氬井淇$幆澧冿紝wx.qy 鏄惁瀛樺湪:', typeof wx !== 'undefined' && typeof wx.qy !== 'undefined');
+
+ // 绛夊緟 wx.qy 鍒濆鍖栧畬鎴�
+ await this.waitForWxQy();
+
+ // 浣跨敤浼佷笟寰俊灏忕▼搴廇PI鑾峰彇code
+ console.log('浣跨敤 wx.qy.login 鑾峰彇code');
+ wx.qy.login({
+ success: (res) => {
+ if (res.code) {
+ console.log("浼佷笟寰俊灏忕▼搴� ---> code锛�", res.code);
+ resolve(res.code);
+ } else {
+ reject(new Error("鑾峰彇code澶辫触锛�" + (res.errMsg || '鏈煡閿欒')));
+ }
+ },
+ fail: (err) => {
+ console.error("wx.qy.login璋冪敤澶辫触锛�", err);
+ reject(new Error("浼佷笟寰俊鐧诲綍鎺ュ彛璋冪敤澶辫触锛�" + (err.errMsg || '鏈煡閿欒')));
+ },
+ });
+ } catch (error) {
+ console.error('鑾峰彇鐧诲綍code寮傚父:', error);
+ reject(error);
+ }
// #endif
// #ifndef MP-WEIXIN
@@ -223,6 +324,12 @@
// 妫�鏌ユ槸鍚︽湁redirect鍙傛暟鎸囧畾璺宠浆椤甸潰
let redirectUrl = this.getUrlParam("redirect");
+ // 濡傛灉娌℃湁redirect鍙傛暟锛屾鏌ユ槸鍚︽湁淇濆瓨鐨勭洰鏍囬〉闈�
+ if (!redirectUrl) {
+ const { getTargetUrl } = require('@/utils/auth')
+ redirectUrl = getTargetUrl()
+ }
+
if (redirectUrl) {
// 瑙g爜redirect鍙傛暟
redirectUrl = decodeURIComponent(redirectUrl);
--
Gitblit v1.9.1