import { getEnumTypeName } from './index'

/**
 * 权限类型
 */
export enum AuthType {
    Menu = 1, // 菜单
    Component = 2, // 组件
    Operate = 3, // 操作
}

/**
 * 链接类型
 */
export enum UrlType {
    None = 0,
    Path = 1, // 路由
    Link = 2, // 外链
    Iframe = 3, // 内联框架
}

/**
 * 获取权限类型列表
 * @returns 
 */
export function getAuthTypeList() {
    return [
        { label: '菜单', value: AuthType.Menu },
        { label: '组件', value: AuthType.Component },
        { label: '按钮', value: AuthType.Operate },
    ]
}

/**
 * 获取链接类型列表
 * @returns 
 */
export function getUrlTypeList() {
    return [
        { label: '路由', value: UrlType.Path },
        { label: '外链', value: UrlType.Link },
        { label: '内联框架', value: UrlType.Iframe },
    ]
}

/**
 * 获取权限类型名称
 * @param value 
 * @returns 
 */
export function getAuthTypeName(value: number) {
    return getEnumTypeName(getAuthTypeList(), value);
}

/**
 * 获取链接类型名称
 * @param value 
 * @returns 
 */
export function getUrlTypeName(value: number) {
    return getEnumTypeName(getUrlTypeList(), value);
}