测试宏代码输入

浏览次数:538 最新更新:打工人的一天 于 2022-12-16

(本文档仅供参考)

问题

如何在客户端宏获取当前登录用户的角色

解决方案

可参考如下宏示例:

var userService =  jsloader.imports("bof.usermanager.UserService").getInstance();
var currentUser = userService.getCurrentUser();
var allRoles = userService.getAllRolesOfUser(currentUser.id); //用户角色可能有多个,返回的是用户的全部角色
//alert(allRoles[0].name)  //打印获取的角色名称

若是v97以上版本,在自助仪表盘宏代码中获取当前登录用户的角色可以参考如下示例:

function main(page: IPage) { 
    let jsloader;
    let xhr=new XMLHttpRequest();
    xhr.open('GET','../vision/js/freequery/lang/JSLoader.js', false);
    xhr.onreadystatechange = function (data) {
        if(xhr.readyState==4){
            if (xhr.status == 200 || xhr.status == 304) { debugger
                try {
                    (window.execScript || function (data) {
                        window['eval'](data);
                    })(xhr.response);
                    jsloader = new JSLoader({ 'baseURL': '../vision/' });
                } catch (e) { 
                    top.window.eval(xhr.response)
                    jsloader = new JSLoader({ 'baseURL': '../vision/' });
                }  
            }
        }
    }
    xhr.send();
    if (!jsloader) { 
        alert('jsloader is undefined.');
    }
    let userService =  jsloader.imports("bof.usermanager.UserService").getInstance();
    let currentUser = userService.getCurrentUser();
    let allRoles = userService.getAllRolesOfUser(currentUser.id); //用户角色可能有多个,返回的是用户的全部角色
    //alert('当前角色:' + allRoles[0].name); //打印获取的角色名称
}

 

 

Demo体验

返回顶层