Skip to content

Commit 42e775a

Browse files
committed
refactor: api data typing transform and cm editor
1 parent 96154e9 commit 42e775a

57 files changed

Lines changed: 1804 additions & 687 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,4 +134,4 @@
134134
"vite-tsconfig-paths": "5.1.4"
135135
},
136136
"packageManager": "pnpm@10.28.0"
137-
}
137+
}

src/api/auth.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export const authApi = {
2323
// === Token 管理 ===
2424

2525
// 获取 Token 列表
26-
getTokens: () => request.get<{ data: TokenModel[] }>('/auth/token'),
26+
getTokens: () => request.get<TokenModel[]>('/auth/token'),
2727

2828
// 获取单个 Token
2929
getToken: (id: string) =>

src/api/backup.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@ export interface BackupFile {
66
createdAt: string
77
}
88

9-
export interface BackupListResponse {
10-
data: BackupFile[]
11-
}
12-
139
export const backupApi = {
14-
// 获取备份列表
15-
getList: () => request.get<BackupListResponse>('/backups'),
10+
// 获取备份列表(响应会被自动解包)
11+
getList: () => request.get<BackupFile[]>('/backups'),
1612

1713
// 创建新备份
1814
createNew: () =>

src/api/categories.ts

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,17 @@ export interface CreateCategoryData {
1515

1616
export interface UpdateCategoryData extends Partial<CreateCategoryData> {}
1717

18-
export interface CategoryResponse {
19-
data: CategoryModel[]
20-
}
21-
22-
export interface TagResponse {
23-
data: TagModel[]
24-
}
25-
2618
export const categoriesApi = {
27-
// 获取分类列表
19+
// 获取分类列表(响应会被自动解包)
2820
getList: (params?: GetCategoriesParams) =>
29-
request.get<CategoryResponse>('/categories', { params }),
21+
request.get<CategoryModel[]>('/categories', { params }),
3022

31-
// 获取单个分类
32-
getById: (id: string) =>
33-
request.get<{ data: CategoryModel }>(`/categories/${id}`),
23+
// 获取单个分类(响应会被自动解包)
24+
getById: (id: string) => request.get<CategoryModel>(`/categories/${id}`),
3425

35-
// 创建分类
26+
// 创建分类(响应会被自动解包)
3627
create: (data: CreateCategoryData) =>
37-
request.post<{ data: CategoryModel }>('/categories', { data }),
28+
request.post<CategoryModel>('/categories', { data }),
3829

3930
// 更新分类
4031
update: (id: string, data: UpdateCategoryData) =>
@@ -43,13 +34,13 @@ export const categoriesApi = {
4334
// 删除分类
4435
delete: (id: string) => request.delete<void>(`/categories/${id}`),
4536

46-
// 获取标签列表
37+
// 获取标签列表(响应会被自动解包)
4738
getTags: () =>
48-
request.get<TagResponse>('/categories', { params: { type: 'tag' } }),
39+
request.get<TagModel[]>('/categories', { params: { type: 'tag' } }),
4940

50-
// 获取标签关联的文章
41+
// 获取标签关联的文章(响应会被自动解包)
5142
getPostsByTag: (tagName: string) =>
52-
request.get<{ data: PostModel[] }>(`/categories/${tagName}`, {
43+
request.get<PostModel[]>(`/categories/${tagName}`, {
5344
params: { tag: 'true' },
5445
}),
5546
}

src/api/comments.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ export const commentsApi = {
2121
request.get<CommentsResponse>('/comments', { params }),
2222

2323
// 获取单个评论
24-
getById: (id: string) =>
25-
request.get<{ data: CommentModel }>(`/comments/${id}`),
24+
getById: (id: string) => request.get<CommentModel>(`/comments/${id}`),
2625

2726
// 回复评论(普通)
2827
reply: (id: string, data: ReplyCommentData) =>

src/api/health.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ export interface LogFile {
2020
export const healthApi = {
2121
// === Cron 任务管理 ===
2222

23-
// 获取 Cron 任务列表
24-
getCronList: () => request.get<{ data: CronJob[] }>('/health/cron'),
23+
// 获取 Cron 任务列表(后端使用 @Bypass 直接返回对象)
24+
getCronList: () => request.get<Record<string, CronJob>>('/health/cron'),
2525

2626
// 手动运行 Cron 任务
2727
runCron: (name: string) => request.post<void>(`/health/cron/run/${name}`),
2828

2929
// === 日志管理 ===
3030

31-
// 获取日志文件列表
32-
getLogList: () => request.get<{ data: LogFile[] }>('/health/log'),
31+
// 获取日志文件列表(响应会被自动解包)
32+
getLogList: () => request.get<LogFile[]>('/health/log'),
3333

3434
// 获取日志文件内容
3535
getLogContent: (filename: string) =>

src/api/links.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export const linksApi = {
2828
getStateCount: () => request.get<LinkStateCount>('/links/state'),
2929

3030
// 获取单个友链
31-
getById: (id: string) => request.get<{ data: LinkModel }>(`/links/${id}`),
31+
getById: (id: string) => request.get<LinkModel>(`/links/${id}`),
3232

3333
// 创建友链
3434
create: (data: CreateLinkData) => request.post<LinkModel>('/links', { data }),

src/api/options.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,16 @@ export const optionsApi = {
1515
// 获取所有配置
1616
getAll: () => request.get<SystemOptions>('/options'),
1717

18-
// 获取指定配置
19-
get: <T = any>(key: string) => request.get<{ data: T }>(`/options/${key}`),
18+
// 获取指定配置(后端直接返回配置对象)
19+
get: <T = any>(key: string) => request.get<T>(`/options/${key}`),
2020

2121
// 获取 URL 配置
2222
getUrl: () =>
2323
request.get<{
24-
data: {
25-
webUrl: string
26-
adminUrl: string
27-
serverUrl: string
28-
wsUrl: string
29-
}
24+
webUrl: string
25+
adminUrl: string
26+
serverUrl: string
27+
wsUrl: string
3028
}>('/options/url'),
3129

3230
// 更新指定配置

src/api/pages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const pagesApi = {
2929
request.get<PaginateResult<PageModel>>('/pages', { params }),
3030

3131
// 获取单个页面
32-
getById: (id: string) => request.get<{ data: PageModel }>(`/pages/${id}`),
32+
getById: (id: string) => request.get<PageModel>(`/pages/${id}`),
3333

3434
// 创建页面
3535
create: (data: CreatePageData) => request.post<PageModel>('/pages', { data }),

src/api/posts.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const postsApi = {
3737
request.get<PaginateResult<PostModel>>('/posts', { params }),
3838

3939
// 获取单篇文章
40-
getById: (id: string) => request.get<{ data: PostModel }>(`/posts/${id}`),
40+
getById: (id: string) => request.get<PostModel>(`/posts/${id}`),
4141

4242
// 创建文章
4343
create: (data: CreatePostData) => request.post<PostModel>('/posts', { data }),

0 commit comments

Comments
 (0)