From f2f9893bac7025786f04c6c2ec5bb1f0cdcb6f4d Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 20 Aug 2026 14:41:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(bricks):=20=E9=9D=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=B8=BB=E5=8A=A8=E7=99=BB=E5=BD=95(401=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=BC=B9=E7=AA=97)=E6=88=90=E5=8A=9F=E5=90=8E=E4=B8=8D?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - withLoginInfo 弹登录窗带 login_source=auto 标记被动登录 - Message 类读 refresh=false 设 _login_no_reload,跳过 dispatch user_logined - 用户主动点击登录仍正常刷新 --- bricks/jsoncall.js | 12 ++++++++++-- bricks/message.js | 4 ++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/bricks/jsoncall.js b/bricks/jsoncall.js index 02d1bcc..6e9e2c0 100644 --- a/bricks/jsoncall.js +++ b/bricks/jsoncall.js @@ -171,7 +171,10 @@ bricks.HttpText = class { var login_window = await bricks.widgetBuild({ "widgettype":"urlwidget", "options":{ - "url":bricks.app.login_url + "url":bricks.app.login_url, + "params":{ + "login_source":"auto" + } } }); @@ -208,7 +211,12 @@ bricks.HttpText = class { console.log('withLoginInfo: retry successful'); // Dispatch user_logined event so shell can reload menu if (bricks.app && bricks.app.dispatch) { - bricks.app.dispatch('user_logined'); + if (bricks.app._login_no_reload) { + bricks.app._login_no_reload = false; + console.log('withLoginInfo: non-user login, skip menu reload'); + } else { + bricks.app.dispatch('user_logined'); + } } return await this.get_result_data(retryResult); } diff --git a/bricks/message.js b/bricks/message.js index 5f9ee08..48acb01 100644 --- a/bricks/message.js +++ b/bricks/message.js @@ -9,6 +9,10 @@ bricks.Message = class extends bricks.PopupWindow { */ constructor(opts){ opts.auto_open = true; + // 登录消息带 refresh=false 时,标记不刷新(非用户主动登录) + if (opts.refresh === false && bricks.app){ + bricks.app._login_no_reload = true; + } super(opts); this.create_message_widget(); this.set_css('message');