fix(bricks): 非用户主动登录(401自动弹窗)成功后不刷新页面
- withLoginInfo 弹登录窗带 login_source=auto 标记被动登录 - Message 类读 refresh=false 设 _login_no_reload,跳过 dispatch user_logined - 用户主动点击登录仍正常刷新
This commit is contained in:
parent
3c8eb4bb3d
commit
f2f9893bac
@ -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);
|
||||
}
|
||||
|
||||
@ -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');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user