Appearance
辅助操作
本章节介绍权限管理相关的辅助功能和工具方法。
用户信息获取
javascript
// 获取当前登录用户ID
var userId = getCurrentUserId();
// 获取当前登录用户名称
var userName = getCurrentUserName();
// 获取当前用户部门ID
var deptId = getCurrentUserDeptId();
// 获取当前用户部门名称
var deptName = getCurrentUserDeptName();
// 获取用户完整信息
var userInfo = getCurrentUserInfo();
// 返回:{ id, name, dept_id, dept_name, roles: [...] }角色相关操作
javascript
// 获取当前用户的角色列表
var roles = getUserRoles();
// 检查用户是否拥有指定角色
if (hasRole('admin')) {
// 是管理员
}
// 检查用户是否拥有任意一个角色
if (hasAnyRole(['admin', 'manager'])) {
// 拥有其中一个角色
}
// 检查用户是否拥有所有指定角色
if (hasAllRoles(['finance', 'manager'])) {
// 同时拥有两个角色
}部门相关操作
javascript
// 获取当前用户部门及下级部门ID
var deptIds = getUserDeptAndChildren();
// 检查两个部门是否存在上下级关系
var isParent = isParentDept(parentDeptId, childDeptId);
// 获取部门路径(从根部门到当前部门的路径)
var deptPath = getDeptPath(deptId);
// 返回:"总公司/分公司/部门"数据权限辅助
javascript
// 获取当前用户在指定功能上的数据范围
var dataScope = getDataScope('customer');
// 返回:'all' | 'dept' | 'dept_and_children' | 'self' | 'custom'
// 获取数据过滤条件(可直接拼接到SQL)
var filterCondition = getDataFilterCondition('customer', 't');
// 返回:"t.create_user = '张三'" 或 "t.dept_id IN (1,2,3)"
// 检查是否可以操作某条数据
var canOperate = canOperateData('t_customer', 123);常用工具方法
javascript
// 生成唯一ID
var id = generateId();
// 格式化日期
var dateStr = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss');
// 金额格式化
var amountStr = formatAmount(12345.67, '#,##0.00');
// 深拷贝对象
var newObj = deepCopy(oldObj);
// 获取URL参数
var paramValue = getUrlParam('id');
// 设置URL参数(不刷新页面)
setUrlParam('tab', 'detail');调试辅助
javascript
// 输出调试日志
log('debug', '用户点击了按钮', { userId: 123 });
log('info', '保存成功');
log('error', '保存失败', error);
// 打开调试面板
showDebugPanel();
// 查看当前页面所有控件
var controls = getAllControls();
// 查看控件属性
var props = getControlProps('textbox1');