bricks/bricks/message.js
yumoqing f2f9893bac fix(bricks): 非用户主动登录(401自动弹窗)成功后不刷新页面
- withLoginInfo 弹登录窗带 login_source=auto 标记被动登录
- Message 类读 refresh=false 设 _login_no_reload,跳过 dispatch user_logined
- 用户主动点击登录仍正常刷新
2026-08-20 14:41:18 +08:00

56 lines
1.2 KiB
JavaScript

var bricks = window.bricks || {};
bricks.Message = class extends bricks.PopupWindow {
/*
{
title:
message:
}
*/
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');
}
create_message_widget(){
var w = new bricks.Filler();
this.add_widget(w);
var w1 = new bricks.VScrollPanel({});
w.add_widget(w1);
var t = new bricks.Text({otext:this.opts.message,
wrap:true,
halign:'middle',
i18n:true});
w1.add_widget(t);
}
}
bricks.Error = class extends bricks.Message {
constructor(opts){
super(opts);
this.set_css('error');
}
}
bricks.show_error = function(opts){
opts.cheight = opts.cheight || 9;
opts.cwidth = opts.cwidth || 16;
var w = new bricks.Error(opts);
w.open();
}
bricks.show_message = function(opts){
opts.cheight = opts.cheight || 9;
opts.cwidth = opts.cwidth || 16;
var w = new bricks.Message(opts);
w.open();
}
bricks.Factory.register('Message', bricks.Message);
bricks.Factory.register('Error', bricks.Error);