// api/modules/home.ts import { createRequestClient } from '../request' import { SERVICE_MAP } from '../config' import type { IMyBooksResponse, IRecommendBooksResponse, ILabelListResponse, IBookListResponse, IVipInfoResponse, ISearchResponse } from '@/types/book' const client = createRequestClient({ baseURL: SERVICE_MAP.MAIN }) /** * 首页相关API */ export const homeApi = { /** * 获取VIP信息 */ getVipInfo() { return client.request({ url: 'bookAbroad/home/getVipInfo', method: 'POST', data: {} }) }, /** * 获取我的书单 * @param current 当前页码 * @param limit 每页数量 */ getMyBooks(current: number, limit: number) { return client.request({ url: 'bookAbroad/home/getMyBooks', method: 'POST', data: { current, limit } }) }, /** * 获取推荐图书 */ getRecommendBooks() { return client.request({ url: 'bookAbroad/home/getRecommendBooks', method: 'POST', data: {} }) }, /** * 获取标签列表 * @param type 0: 分类标签, 1: 活动标签 */ getBookLabelList(type: number) { return client.request({ url: 'bookAbroad/home/getBookAbroadLableList', method: 'POST', data: { type } }) }, /** * 根据父级ID获取子标签列表 * @param pid 父级标签ID */ getSubLabelList(pid: number) { return client.request({ url: 'bookAbroad/home/getBookAbroadLableListByPid', method: 'POST', data: { pid } }) }, /** * 根据标签ID获取图书列表 * @param lableId 标签ID(注意:原接口参数名为 lableId) */ getBooksByLabel(lableId: number) { return client.request({ url: 'bookAbroad/home/getAbroadBookListByLable', method: 'POST', data: { lableId } }) }, /** * 搜索图书 * @param keyword 搜索关键字 */ searchBooks(data: { key: string, page: number, limit: number, }) { return client.request({ url: 'bookAbroad/home/searchBook', method: 'POST', data }) } }