Files
Situation-Awareness-Platfor…/src/api/jyh/index.ts

501 lines
10 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { reqCatchV2, type catchRt } from '@/utils/catch';
import request from '@/utils/request';
import * as types from '@/api/repo/types';
import axios from 'axios';
// 详情-获取版本信息
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这是二进制数据
})
);
}
// 获取AI修复建议
export function getVulSuggestion(data) {
return request({
url: `/ai/vul_suggestion`,
method: 'POST',
data,
});
// return axios.request({
// url: '/gateway/detect' + `/ai/vul_suggestion`,
// method: 'POST',
// data,
// headers: {
// Authorization: 'Bearer ' + localStorage.getItem('op_access_token'),
// },
// });
}
// 许可证信息详情
export const getLicenseDetail = ({ id }): Promise<any> => {
return reqCatchV2(() =>
request({
url: `/api/v1/repo/license/detail/${id}`,
method: 'get',
})
);
};
// 是否订阅
export const alertIsSubscribe = (data): Promise<any> => {
return reqCatchV2(() =>
request({
url: `/api/v1/alert/isSubscribe`,
method: 'POST',
data,
})
);
};
// 获取邀请历史
export function getInviteHistoryData(): catchRt<any> {
return reqCatchV2(() =>
request(
{
url: `/api/v1/group/member/invite/history`,
method: 'get'
},
{
customError: true
}
)
);
}
// 删除个人邀请历史记录
export function acceptHistoryDelete(params): catchRt<any> {
return reqCatchV2(() =>
request(
{
url: '/api/v1/group/member/invite/history/delete',
method: 'post',
data: params
},
{
customError: true
}
)
);
}
export function addEnterprise(params) {
return request({
url: `enterprise/add`,
method: 'post',
data: params,
});
}
export function uploadImage(file: File) {
const formData = new FormData();
formData.append('file', file);
return request({
url: `enterprise/uploadPackage`,
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data',
Authorization: 'Bearer ' + localStorage.getItem('op_access_token')
}
});
// return axios.request({
// url: '/gateway/detect' + `/enterprise/uploadPackage`,
// method: 'POST',
// data: formData,
// headers: {
// 'Content-Type': 'multipart/form-data',
// Authorization: 'Bearer ' + localStorage.getItem('op_access_token')
// }
// });
}
// 获取字典
export function basicDict(data) {
return request({
url: `dict/children/list`,
method: 'post',
data: data,
});
}
/*AI大模型接口*/
// 1. 创建对话
export function fetchCreateConversation(data) {
return request({
url: `/agentHelper/api/createConversation`,
method: 'post',
data: data,
});
}
// 2. 对话
export function fetchChatUseSql(data) {
return request({
url: `/agentHelper/api/v0/chat_use_sql`,
method: 'post',
data: data,
});
}
// 3. 查询会话列表
export function fetchConversationList(data) {
return request({
url: `/agentHelper/api/conversationList`,
method: 'post',
data: data,
});
}
// 4. 查询会话详情
export function fetchConversationDetail(params) {
return request({
url: `/agentHelper/api/conversationDetail`,
method: 'get',
params: params,
});
}
// 5. 获取推荐问题
export function FetchFollowupQuestions(data) {
return request({
url: `/agentHelper/api/v0/provide_followup_questions`,
method: 'post',
data: data,
});
}
// 6. 修改会话标题
export function fetchChangeConversationTitle(data) {
return request({
url: `/agentHelper/api/changeConversationTitle`,
method: 'post',
data: data,
});
}
// 7. 修改会话的收藏状态
export function fetchToggleConversationCollect(data) {
return request({
url: `/agentHelper/api/toggleConversationCollect`,
method: 'post',
data: data,
});
}
// 8. 删除对话
export function fetchDeleteConversation(data) {
return request({
url: `/agentHelper/api/deleteConversation`,
method: 'post',
data: data,
});
}
// 9. 首页推荐问题
export function fetchUpdateRecommendQuestions(data) {
return request({
url: `/agentHelper/api/v0/update_recommend_questions`,
method: 'post',
data: data,
});
}
export function qualityTaskOverview(data) {
const {softwareId} = data;
return axios.request({
url: `/gateway/quality/task-overview/software` + `/${softwareId}`,
method: 'GET',
// headers: {
// Authorization: 'Bearer ' + localStorage.getItem('op_access_token'),
// }
});
}
export function qualityDefectPage(data) {
const {pageNum,pageSize,softwareId} = data;
return axios.request({
url: `/gateway/quality/defect/page` + `?pageNum=${pageNum}&pageSize=${pageSize}&softwareId=${softwareId}`,
method: 'GET',
// headers: {
// Authorization: 'Bearer ' + localStorage.getItem('op_access_token'),
// }
});
}
export function loginAccess() {
return axios.request({
url: `/gateway/u-auth/login-access`,
method: 'POST',
data: {},
headers: {
Authorization: 'Bearer ' + localStorage.getItem('op_access_token'),
}
});
}
// 查询用户是否认证
export function fetchCheckAuthenticate(data) {
return request({
url: `/api/v1/user/checkAuthenticate`,
method: 'post',
data: data,
});
}