feat: 赛事1.09
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* 公告管理 API
|
||||
*/
|
||||
import { get, post } from '@/utils/request';
|
||||
import type {
|
||||
NoticeListQueryParams,
|
||||
NoticeSaveParams,
|
||||
NoticeVO,
|
||||
PageData,
|
||||
ApiResult,
|
||||
} from './types';
|
||||
|
||||
export type {
|
||||
NoticeType,
|
||||
NoticeVO,
|
||||
NoticeListQueryParams,
|
||||
NoticeSaveParams,
|
||||
PageData,
|
||||
ApiResult,
|
||||
} from './types';
|
||||
|
||||
// ============================================================
|
||||
// URL 常量
|
||||
// ============================================================
|
||||
const ANNOUNCEMENT_PAGE = '/admin/sys/announcement/page';
|
||||
const ANNOUNCEMENT_SAVE = '/admin/sys/announcement/save';
|
||||
const ANNOUNCEMENT_UPDATE = '/admin/sys/announcement/update';
|
||||
const ANNOUNCEMENT_DELETE = '/admin/sys/announcement/delete';
|
||||
|
||||
// ============================================================
|
||||
// API 函数
|
||||
// ============================================================
|
||||
|
||||
/** 公告列表分页 — GET /admin/sys/announcement/page */
|
||||
export function getNoticeList(
|
||||
params: NoticeListQueryParams,
|
||||
): Promise<ApiResult<PageData<NoticeVO>>> {
|
||||
return get(ANNOUNCEMENT_PAGE, params as Record<string, any>);
|
||||
}
|
||||
|
||||
/** 新增公告 — POST /admin/sys/announcement/save */
|
||||
export function saveNotice(params: NoticeSaveParams): Promise<ApiResult<null>> {
|
||||
return post(ANNOUNCEMENT_SAVE, params);
|
||||
}
|
||||
|
||||
/** 修改公告 — POST /admin/sys/announcement/update */
|
||||
export function updateNotice(params: NoticeSaveParams): Promise<ApiResult<null>> {
|
||||
return post(ANNOUNCEMENT_UPDATE, params);
|
||||
}
|
||||
|
||||
/** 删除公告(物理删除,单个)— POST /admin/sys/announcement/delete?id=xxx */
|
||||
export function deleteNotice(id: number): Promise<ApiResult<null>> {
|
||||
return post(ANNOUNCEMENT_DELETE, undefined, { id: String(id) });
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* 公告管理 - 类型定义
|
||||
*/
|
||||
|
||||
/** 公告类型:1=首页公告提示,2=产品更新公告 */
|
||||
export type NoticeType = 1 | 2;
|
||||
|
||||
/** 公告 VO */
|
||||
export interface NoticeVO {
|
||||
/** 公告 ID */
|
||||
id: number;
|
||||
/** 标题(最多 30 字) */
|
||||
title: string;
|
||||
/** 公告类型:1=首页公告提示,2=产品更新公告 */
|
||||
type: number;
|
||||
/** 公告类型名称 */
|
||||
typeName: string;
|
||||
/** 生效开始时间(YYYY-MM-DD HH:mm:ss) */
|
||||
startTime: string;
|
||||
/** 生效结束时间(YYYY-MM-DD HH:mm:ss) */
|
||||
endTime: string;
|
||||
/** 公告内容(纯文本,最多 500 字) */
|
||||
context: string;
|
||||
/** 创建时间 */
|
||||
createDate: string;
|
||||
}
|
||||
|
||||
/** 公告列表分页查询参数 */
|
||||
export interface NoticeListQueryParams {
|
||||
page: string;
|
||||
limit: string;
|
||||
/** 标题,模糊搜索 */
|
||||
title?: string;
|
||||
/** 公告类型 */
|
||||
type?: number;
|
||||
}
|
||||
|
||||
/** 新增/修改公告参数(id:新增不传或为 0,修改必传) */
|
||||
export interface NoticeSaveParams {
|
||||
id?: number;
|
||||
title: string;
|
||||
type: number;
|
||||
startTime: string;
|
||||
endTime: string;
|
||||
context: string;
|
||||
}
|
||||
|
||||
/** 分页数据结构 */
|
||||
export interface PageData<T> {
|
||||
total: number;
|
||||
list: T[];
|
||||
exData?: Record<string, any>;
|
||||
}
|
||||
|
||||
/** 接口通用返回结构 */
|
||||
export interface ApiResult<T> {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: T;
|
||||
}
|
||||
Reference in New Issue
Block a user