61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
import type { PageParam } from '@/api'
|
||
|
||
/** 通知类型枚举 */
|
||
export type NotificationType = 'ticket' | 'review' | 'system' | 'resource' | 'permission' | 'member' | 'payment'
|
||
|
||
/** 通知实体 */
|
||
export interface Notification {
|
||
/** 通知 ID */
|
||
id?: number
|
||
/** 接收用户 ID */
|
||
userId?: number
|
||
/** 通知类型 */
|
||
type?: NotificationType
|
||
/** 通知标题 */
|
||
title?: string
|
||
/** 通知内容摘要 */
|
||
content?: string
|
||
/** 是否已读:0 未读,1 已读 */
|
||
isRead?: number
|
||
/** 关联业务 ID(如工单ID、权限申请ID等) */
|
||
refId?: number
|
||
/** 关联业务类型(如 ticket、permission_request 等) */
|
||
refType?: string
|
||
/** 跳转链接 */
|
||
linkUrl?: string
|
||
/** 发送者 ID(系统通知为 0) */
|
||
senderId?: number
|
||
/** 发送者名称 */
|
||
senderName?: string
|
||
/** 发送者头像 */
|
||
senderAvatar?: string
|
||
/** 租户 ID */
|
||
tenantId?: number
|
||
/** 创建时间 */
|
||
createTime?: string
|
||
/** 更新时间(标记已读时间) */
|
||
updateTime?: string
|
||
}
|
||
|
||
/** 通知查询参数 */
|
||
export interface NotificationParam extends PageParam {
|
||
/** 通知类型筛选 */
|
||
type?: NotificationType | ''
|
||
/** 是否已读:0 未读,1 已读,不传查全部 */
|
||
isRead?: number
|
||
}
|
||
|
||
/** 未读统计 */
|
||
export interface UnreadCountResult {
|
||
/** 总未读数 */
|
||
total?: number
|
||
/** 各类型未读数 */
|
||
ticket?: number
|
||
review?: number
|
||
system?: number
|
||
resource?: number
|
||
permission?: number
|
||
member?: number
|
||
payment?: number
|
||
}
|