整理框架和新建基础模块

This commit is contained in:
linxd
2025-06-17 18:32:33 +08:00
parent 08424ecdb8
commit ebc4dfe1f9
51 changed files with 2200 additions and 2850 deletions

64
src/servers/api/policy.ts Normal file
View File

@ -0,0 +1,64 @@
import request from '@/utils/request';
// 新增政策法规
export async function addPolicy(data: API.PolicyRequest): Promise<API.Response<string>> {
return request('/portals/regulations', {
method: 'POST',
data,
});
}
// 更新政策法规
export async function updatePolicy(id: string, data: API.PolicyRequest): Promise<API.Response<string>> {
return request(`/portals/regulations`, {
method: 'PUT',
data: {
...data,
id,
},
});
}
// 获取政策法规列表
export async function getPolicyList(params: Partial<API.PolicyRequest>): Promise<API.Response<API.PolicyRecord[]>> {
return request('/portals/regulations', {
method: 'GET',
params,
});
}
// 获取政策法规分页列表
export async function getPolicyPage(params: API.PageRequest): Promise<API.Response<API.PageResponse<API.PolicyRecord>>> {
return request('/portals/regulations/getPage', {
method: 'POST',
data: params,
});
}
// 获取政策法规详情
export async function getPolicyDetail(id: string): Promise<API.Response<API.PolicyRecord>> {
return request(`/portals/regulations/${id}`, {
method: 'GET',
});
}
// 删除政策法规
export async function deletePolicy(id: string): Promise<API.Response<string>> {
return request(`/portals/regulations/${id}`, {
method: 'DELETE',
});
}
// 发布(上架)政策法规
export async function publishPolicy(id: string): Promise<API.Response<string>> {
return request(`/portals/regulations/up/${id}`, {
method: 'POST',
});
}
// 下架政策法规
export async function unpublishPolicy(id: string): Promise<API.Response<string>> {
return request(`/portals/regulations/down/${id}`, {
method: 'POST',
});
}

View File

@ -6,6 +6,34 @@ declare namespace API {
data: T;
}
export type PolicyRequest = {
/**
* 内容
*/
content: string;
/**
* 内容_英文版
*/
contentEn: string;
/**
* 是否置顶(0.否、1.是)
*/
isTop: string;
/**
* 是否设置英文内容(0.否、1.是)
*/
settingEn: number;
/**
* 标题
*/
title: string;
/**
* 标题英文
*/
titleEn: string;
[property: string]: any;
}
export type RegisterRequest = {
coscoSupplierBank: CoscoSupplierBank[];
coscoSupplierBase: CoscoSupplierBase;
@ -112,4 +140,120 @@ declare namespace API {
optionName: string;
}[];
}[]
// 基础分页请求参数
export interface BasePageRequest {
pageNo: number;
pageSize: number;
[property: string]: unknown;
}
// 分页请求参数
export interface PageRequest {
basePageRequest: BasePageRequest;
title?: string;
status?: string;
[property: string]: unknown;
}
// 基础响应格式
export interface Response<T = unknown> {
code: number;
data: T;
message: string;
success: boolean;
[property: string]: unknown;
}
// 分页数据响应
export interface PageResponse<T> {
countId: null;
current: number;
hitCount: boolean;
maxLimit: null;
optimizeCountSql: boolean;
orders: string[];
pages: number;
records: T[];
searchCount: boolean;
size: number;
total: number;
[property: string]: unknown;
}
// 政策法规数据项
export interface PolicyRecord {
basePageRequest: null;
content: string;
contentEn: string;
createBy: string;
createDate: null;
createTime: string;
deleteFlag: null;
delFlag: string;
id: string;
isTop: string;
lastUpdateTime: null;
publishBy: string | null;
publishTime: string | null;
settingEn: string;
status: string;
tenantId: string | null;
tenantName: string | null;
title: string;
titleEn: string | null;
updateBy: string | null;
updateDate: string | null;
updateTime: string;
}
// 政策法规请求参数
export interface PolicyRequest {
id?: string;
title: string;
titleEn: string;
content: string;
contentEn: string;
isTop: string;
settingEn: number;
}
// 下载中心数据项
export interface DownloadRecord {
id: string;
name: string;
category: string;
keyword: string;
createTime: string;
createBy: string;
status: string; // 状态0-草稿1-已发布
thumbnail?: string; // 缩略图URL
fileUrl?: string; // 文件URL
}
// 下载中心请求参数
export interface DownloadRequest {
id?: string;
name: string;
category: string;
keyword: string;
fileId?: string;
thumbnailId?: string;
}
// 下载中心查询参数
export interface DownloadSearchParams {
name?: string;
category?: string;
status?: string;
}
// 文件上传响应
export interface UploadResponse {
id: string;
fileName: string;
fileSize: number;
fileType: string;
fileUrl: string;
}
}