更新:增加“图书首页”功能

This commit is contained in:
2025-11-10 17:38:23 +08:00
parent 577e782cd8
commit e39f47855b
18 changed files with 1634 additions and 430 deletions

73
types/book.d.ts vendored
View File

@@ -89,3 +89,76 @@ export interface IReaderSettings {
theme: 'default' | 'blue' | 'green' | 'purple' | 'night'
readMode: 'scroll' | 'page'
}
/** 标签数据 */
export interface ILabel {
id: number
title: string
type: number // 0: 分类标签, 1: 活动标签
pid?: number // 父级ID用于二级分类
}
/** 带统计的图书数据 */
export interface IBookWithStats extends IBook {
bookId: number // 图书ID部分接口返回的字段名
readCount?: number // 阅读次数
listenCount?: number // 听书次数
buyCount?: number // 购买人数
isVip?: string // VIP专享标识 '2'表示VIP专享
sysDictData?: {
dictValue: string // 价格数值
}
}
/** VIP信息 */
export interface IVipInfo {
id: number
endTime: string
vipType: number
}
/** 分页数据 */
export interface IPageData<T> {
records: T[]
total: number
current: number
size: number
}
/** API响应基础结构 */
export interface IApiResponse<T = any> {
code: number
msg?: string
info?: string
[key: string]: any
}
/** 我的书单响应 */
export interface IMyBooksResponse extends IApiResponse {
page: IPageData<IBook>
}
/** 推荐图书响应 */
export interface IRecommendBooksResponse extends IApiResponse {
books: IBook[]
}
/** 标签列表响应 */
export interface ILabelListResponse extends IApiResponse {
lableList: ILabel[] // 注意:原接口拼写为 lableList
}
/** 图书列表响应 */
export interface IBookListResponse extends IApiResponse {
bookList: IBookWithStats[]
}
/** VIP信息响应 */
export interface IVipInfoResponse extends IApiResponse {
vipInfo: IVipInfo | null
}
/** 搜索结果响应 */
export interface ISearchResponse extends IApiResponse {
bookList: IBookWithStats[]
}