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

60 lines
1.6 KiB
TypeScript
Raw Normal View History

2025-03-12 18:41:20 +08:00
import request from '@/utils/request';
import type { AxiosResponse } from 'axios';
import type { MessageListData } from '@/views/Notice/components/types';
// 获取用户未读消息数
export function getUnreadCount(params: { [propName: string]: any }): Promise<AxiosResponse<{ all: number; issue: number; mr: number; }>> {
return request({
url: '/api/v1/internal/messages/count_unread',
method: 'get',
params
});
}
// 设置消息为已读
export function setRead(data: { message_ids: number[] }): Promise<AxiosResponse<any>> {
return request({
url: '/api/v1/internal/messages/set_read',
method: 'put',
data
});
}
// 获取用户消息列表
type MessageListQuery = {
page?: number;
pageSize?: number;
status?: string;
message_type?: string;
reason?: string;
creator_id?: number;
search?: string;
project_id?: number;
[propName: string]: any;
}
export function getMessageList(params: MessageListQuery): Promise<AxiosResponse<MessageListData[]>> {
return request({
url: '/api/v1/internal/messages',
method: 'get',
params
});
}
// 获取项目列表
export function getMessageRepoList(params: { page_num?: number; page_size?: number; search?: string; }): Promise<AxiosResponse<{ project_full_path: string; project_id: number; unread_count?: number; }[]>> {
return request({
url: '/api/v1/internal/messages/projects',
method: 'get',
params
});
}
/** 获取邀请相关未读信息 */
export function getMessageCount() {
return request({
url: '/api/v1/user/notify/targetInfo',
method: 'get',
params: {}
});
}