266 lines
5.2 KiB
TypeScript
266 lines
5.2 KiB
TypeScript
import { reqCatchV2, type catchRt } from '@/utils/catch';
|
||
import request from '@/utils/request';
|
||
import * as types from '@/api/repo/types';
|
||
|
||
// 详情-获取版本信息
|
||
export function releaseInfo(params: { softwareId: string }): Promise<any> {
|
||
const { softwareId } = params;
|
||
return request({
|
||
url: `/api/v1/repo/release/info?softwareId=${softwareId}`,
|
||
method: 'get'
|
||
});
|
||
}
|
||
|
||
// 详情-搜索结果列表
|
||
export function releasePage(data): Promise<any> {
|
||
return request({
|
||
url: `/api/v1/repo/release/page`,
|
||
method: 'post',
|
||
data
|
||
});
|
||
}
|
||
|
||
// 获取邀请列表
|
||
export function getInviteListData(): catchRt<any> {
|
||
return reqCatchV2(() =>
|
||
request(
|
||
{
|
||
url: '/api/v1/group/member/invite/list',
|
||
method: 'get'
|
||
},
|
||
{
|
||
customError: true
|
||
}
|
||
)
|
||
);
|
||
}
|
||
|
||
// 处理邀请
|
||
export function acceptInvite(params): catchRt<any> {
|
||
return reqCatchV2(() =>
|
||
request(
|
||
{
|
||
url: '/api/v1/group/member/invite/accept',
|
||
method: 'post',
|
||
data: params
|
||
},
|
||
{
|
||
customError: true
|
||
}
|
||
)
|
||
);
|
||
}
|
||
|
||
// 发送订阅
|
||
export function subscribeSoftware(params): catchRt<any> {
|
||
return reqCatchV2(() =>
|
||
request(
|
||
{
|
||
url: '/api/v1/alert/subscribe',
|
||
method: 'post',
|
||
data: params
|
||
},
|
||
{
|
||
customError: true
|
||
}
|
||
)
|
||
);
|
||
}
|
||
|
||
// 获取高级筛选语言列表
|
||
export function searchLanguageList() {
|
||
return request({
|
||
url: `/api/v1/repo/lan/list`,
|
||
method: 'get'
|
||
});
|
||
}
|
||
|
||
// 获取首页公告列表
|
||
export function getHomeNoticeList() {
|
||
return request({
|
||
url: '/api/v1/home/notice/list',
|
||
method: 'get',
|
||
params: {}
|
||
});
|
||
}
|
||
|
||
// 获取依赖关系列表
|
||
export function getDepencyList(softwareId: string) {
|
||
return request({
|
||
url: '/api/v1/repo/dependency/info',
|
||
method: 'POST',
|
||
data: {
|
||
softwareId: 47,
|
||
current: 1,
|
||
size: 20
|
||
}
|
||
});
|
||
}
|
||
|
||
// 获取AI修复建议
|
||
export function getRepairInfo(data) {
|
||
return request({
|
||
url: '/api/v1/repo/repair/info',
|
||
method: 'POST',
|
||
data
|
||
});
|
||
}
|
||
// 可信软件详情-AI 修复建议接口
|
||
export const remediationSearchRemediations = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: '/api/v1/repo/repair/info',
|
||
method: 'POST',
|
||
data
|
||
})
|
||
);
|
||
};
|
||
|
||
// 获取许可证列表
|
||
export function getLicenseList(data) {
|
||
return request({
|
||
url: '/api/v1/repo/license/info',
|
||
method: 'POST',
|
||
data
|
||
});
|
||
}
|
||
|
||
// 获取详情漏洞列表
|
||
export function getVulnerabilityList() {
|
||
return request({
|
||
url: '/api/v1/repo/vulnerability/page',
|
||
method: 'GET',
|
||
params: {
|
||
current: 1,
|
||
size: 10,
|
||
softwareId: 47
|
||
}
|
||
});
|
||
}
|
||
|
||
// 获取漏洞数据
|
||
export const getVulnList = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/repo/vulnerability/page`,
|
||
method: 'post',
|
||
data
|
||
})
|
||
);
|
||
};
|
||
|
||
// 获取SBOM依赖树
|
||
export const dependencyTree = (data: any): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/repo/dependency/tree`,
|
||
method: 'POST',
|
||
data
|
||
})
|
||
);
|
||
};
|
||
// 获取开发者社区信息
|
||
export const communityInfo = (softwareId: any): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/repo/community/info`,
|
||
method: 'POST',
|
||
data: {
|
||
softwareId
|
||
}
|
||
})
|
||
);
|
||
};
|
||
|
||
// 编辑用户信息(包含订阅默认预警方式)
|
||
export const userEdit = (data: any): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/user/edit`,
|
||
method: 'POST',
|
||
data
|
||
})
|
||
);
|
||
};
|
||
|
||
// 获取漏洞数据
|
||
export const getVulnDetail = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/repo/vulnerability/info`,
|
||
method: 'POST',
|
||
data
|
||
})
|
||
);
|
||
};
|
||
|
||
// 迁移批量导入
|
||
export function repoImport(data: types.commonRepoReqType) {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/home/software/valid`,
|
||
method: 'post',
|
||
data,
|
||
headers: {
|
||
'Content-Type': 'multipart/form-data' // 设置请求头
|
||
}
|
||
})
|
||
);
|
||
}
|
||
|
||
// 个人中心-获取预警列表
|
||
export const getNoticeList = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/alert/notice/list`,
|
||
method: 'POST',
|
||
data
|
||
})
|
||
);
|
||
};
|
||
|
||
// 个人中心-获取组织级预警列表
|
||
export const getgroupNoticeList = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/alert/group/notice/list`,
|
||
method: 'POST',
|
||
data
|
||
})
|
||
);
|
||
};
|
||
|
||
// 个人中心-获取订阅列表
|
||
export const getSubscribeList = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/alert/subscribe/list`,
|
||
method: 'POST',
|
||
data,
|
||
})
|
||
);
|
||
}
|
||
|
||
// 个人中心-获取组织级订阅列表
|
||
export const getGroupSubscribeList = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/alert/group/subscribe/list`,
|
||
method: 'POST',
|
||
data,
|
||
})
|
||
);
|
||
}
|
||
|
||
// 搜索结果导出接口
|
||
export const getReleaseExport = (data): Promise<any> => {
|
||
return reqCatchV2(() =>
|
||
request({
|
||
url: `/api/v1/repo/release/export`,
|
||
method: 'POST',
|
||
data,
|
||
responseType: 'blob' // 关键:告诉axios这是二进制数据
|
||
})
|
||
);
|
||
}
|