地址路径修改
This commit is contained in:
85
dist/utils/roleUtils.js
vendored
Normal file
85
dist/utils/roleUtils.js
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
"use strict";
|
||||
/**
|
||||
* 角色工具类 - 处理角色枚举的转换和验证
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RoleMapping = exports.Role = void 0;
|
||||
exports.normalizeRole = normalizeRole;
|
||||
exports.getRoleText = getRoleText;
|
||||
exports.isValidRole = isValidRole;
|
||||
exports.getRoleOptions = getRoleOptions;
|
||||
/**
|
||||
* 角色枚举定义
|
||||
* 服务器可能返回数字角色值,前端使用字符串枚举
|
||||
*/
|
||||
var Role;
|
||||
(function (Role) {
|
||||
Role["DELIVERY_PERSON"] = "DELIVERY_PERSON";
|
||||
Role["ADMIN"] = "ADMIN"; // 管理员
|
||||
})(Role || (exports.Role = Role = {}));
|
||||
/**
|
||||
* 角色值映射
|
||||
* 服务器返回的数字角色值到前端字符串枚举的映射
|
||||
*/
|
||||
exports.RoleMapping = {
|
||||
0: Role.DELIVERY_PERSON, // 0对应配送员
|
||||
1: Role.ADMIN // 1对应管理员
|
||||
};
|
||||
/**
|
||||
* 将服务器返回的角色值转换为前端枚举
|
||||
* @param roleValue 服务器返回的角色值(可能是数字或字符串)
|
||||
* @returns 标准化的角色枚举值
|
||||
*/
|
||||
function normalizeRole(roleValue) {
|
||||
if (typeof roleValue === 'number') {
|
||||
// 如果是数字,使用映射表转换
|
||||
return exports.RoleMapping[roleValue] || Role.DELIVERY_PERSON;
|
||||
}
|
||||
// 如果是字符串,直接转换为大写进行比较
|
||||
const normalizedRole = roleValue.toUpperCase();
|
||||
// 检查是否是有效的角色值
|
||||
if (normalizedRole === Role.ADMIN) {
|
||||
return Role.ADMIN;
|
||||
}
|
||||
// 默认返回配送员
|
||||
return Role.DELIVERY_PERSON;
|
||||
}
|
||||
/**
|
||||
* 获取角色显示文本
|
||||
* @param role 角色枚举值
|
||||
* @returns 对应的中文显示文本
|
||||
*/
|
||||
function getRoleText(role) {
|
||||
switch (role) {
|
||||
case Role.ADMIN:
|
||||
return '管理员';
|
||||
case Role.DELIVERY_PERSON:
|
||||
return '配送员';
|
||||
default:
|
||||
return '未知角色';
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 验证角色值是否有效
|
||||
* @param roleValue 角色值
|
||||
* @returns 是否有效
|
||||
*/
|
||||
function isValidRole(roleValue) {
|
||||
try {
|
||||
const normalized = normalizeRole(roleValue);
|
||||
return normalized === Role.ADMIN || normalized === Role.DELIVERY_PERSON;
|
||||
}
|
||||
catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 获取角色选项列表(用于下拉选择器)
|
||||
* @returns 角色选项数组
|
||||
*/
|
||||
function getRoleOptions() {
|
||||
return [
|
||||
{ value: Role.DELIVERY_PERSON, label: '配送员' },
|
||||
{ value: Role.ADMIN, label: '管理员' }
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user