Skip to content

辅助操作

本章节介绍权限管理相关的辅助功能和工具方法。

用户信息获取

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');

基于 MIT 许可发布