Skip to content

1.可以把接口的封装的Service服务放在model文件里面,而不需要放在单独的service文件里面

image-20231020115130712

并且还可以为Service设置抽象类,然后具体的Impl实现(主要是接口的封装构建)

image-20231020163037816

image-20231020163059992

2.可以把一些常量放在model文件里面

image-20231020162657072

构造对象常量比较高级的写法:

js
//资产类型
export enum ASSET_TYPE {
    HOST = 1,
    WEB = 2,
    IP_RANGE = 3,
    UNKNOWN = 4,
}

export const ASSET_TYPE_CN_MAP = {
    [ASSET_TYPE.HOST]: '主机资产',
    [ASSET_TYPE.WEB]: '应用资产',
    [ASSET_TYPE.IP_RANGE]: '网段资产',
    [ASSET_TYPE.UNKNOWN]: '未知类型',
};
js
export enum IMPORT_ASSET_STATUS {
    ADD = 1,
    MODIFY = 2,
    DECREASE = 3,
    NOACCESS = 4,
    ERROR = 5,
}
export enum IMPORT_ASSET_POLICY {
    INSERT = 1,
    IGNORE = 2,
    COVER = 3,
    MERGE_FILE = 4,
    DELETE = 5,
    BLOCK = 6,
    MERGE_SYSTEM = 7,
}

export const IMPORT_ASSET_POLICY_CN_MAP = {
    [IMPORT_ASSET_POLICY.INSERT]: '插入',
    [IMPORT_ASSET_POLICY.IGNORE]: '忽略',
    [IMPORT_ASSET_POLICY.COVER]: '覆盖',
    [IMPORT_ASSET_POLICY.MERGE_FILE]: '合并文件优先',
    [IMPORT_ASSET_POLICY.BLOCK]: '阻塞',
    [IMPORT_ASSET_POLICY.DELETE]: '删除',
    [IMPORT_ASSET_POLICY.MERGE_SYSTEM]: '合并资产库优先',
};

//针对不同状态得资产
export const IMPORT_ASSET_STATUS_POLICY_MAP = {
    [IMPORT_ASSET_STATUS.ADD]: [
        {
            id: IMPORT_ASSET_POLICY.INSERT,
            checked: false,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.INSERT],
        },
        {
            id: IMPORT_ASSET_POLICY.IGNORE,
            checked: true,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.IGNORE],
        },
    ],
    [IMPORT_ASSET_STATUS.MODIFY]: [
        {
            id: IMPORT_ASSET_POLICY.COVER,
            checked: false,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.COVER],
        },
        {
            id: IMPORT_ASSET_POLICY.IGNORE,
            checked: false,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.IGNORE],
        },
        {
            id: IMPORT_ASSET_POLICY.MERGE_FILE,
            checked: true,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.MERGE_FILE],
        },
        {
            id: IMPORT_ASSET_POLICY.MERGE_SYSTEM,
            checked: false,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.MERGE_SYSTEM],
        },
    ],
    [IMPORT_ASSET_STATUS.DECREASE]: [
        {
            id: IMPORT_ASSET_POLICY.IGNORE,
            checked: false,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.IGNORE],
        },
        {
            id: IMPORT_ASSET_POLICY.DELETE,
            checked: true,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.DELETE],
        },
    ],
    [IMPORT_ASSET_STATUS.NOACCESS]: [
        {
            id: IMPORT_ASSET_POLICY.IGNORE,
            checked: true,
            label: IMPORT_ASSET_POLICY_CN_MAP[IMPORT_ASSET_POLICY.IGNORE],
        },
    ],
};

3.还可以把一些管道pipe放在里面

image-20231020162926974