import request from '@/utils/request'; import qs from 'qs' const hhbangBookApi = { // 首页获取推荐列表 getRecommendListApi(params = {}) { return request({ url: '/hyb/artArtworks/index/page', method: 'get', params: { pageNo: Math.floor(Math.random() * 10) + 1, // 随机页码 pageSize: 60, ...params } }) }, // 获取文物列表 - 用于收藏页面和详情页上下页切换 getArtifactListApi(params = {}) { return request({ url: '/hyb/artArtworks/list', method: 'get', params: { agetype: params.era || '', // 年代 category: params.category || '', // 分类 grade: params.level || '', // 级别 searchText: params.keyword || '', // 关键词 texture: params.material || '', // 材质 ...params }, //序列化 paramsSerializer: { serialize: params => qs.stringify(params, {indices: false}), } }) }, // 获取字典数据列表 getDictionaryListApi() { return request({ url: '/hyb/artArtworks/dictionary', method: 'get' }) }, // 获取文物详情 getArtifactDetailApi(id) { return request({ url: `/hyb/artArtworks/${id}`, method: 'get' }) }, // 获取公告资讯列表 getNewsListApi(params = {}) { return request({ url: '/hyb/newsPublish/page', method: 'get', params: { searchText: params.searchText || '', // 关键词 pageNo: params.pageNo || 1, // 页码 pageSize: params.pageSize || 20, // 每页数量 ...params } }) }, // 提文物征集 submitCollectionClues(data, options = {}) { const config = { url: '/hyb/collCollectionClues/add', method: 'post', data } // 如果传入了自定义headers,添加到配置中 if (options.headers) { config.customHeaders = options.headers } // 如果是FormData但后台不支持multipart/form-data,转换为application/x-www-form-urlencoded if (data instanceof FormData && options.useUrlEncoded) { const urlEncodedData = new URLSearchParams() for (const [key, value] of data.entries()) { urlEncodedData.append(key, value) } config.data = urlEncodedData config.customHeaders = { 'Content-Type': 'application/x-www-form-urlencoded', ...options.headers } } return request(config) } } export default hhbangBookApi;