1.可以把接口的封装的Service服务放在model文件里面,而不需要放在单独的service文件里面
并且还可以为Service设置抽象类,然后具体的Impl实现(主要是接口的封装构建)
2.可以把一些常量放在model文件里面
构造对象常量比较高级的写法:
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],
},
],
};