import { get, post } from '../../utils/request' import { PostData } from './index' import { showMessage } from '../../common/toast/toast' export function getPostListByFile(activityId: string, postsShowId: number): Promise { // return get('//nei.hz.netease.com/api/apimock-v2/c6da9202198a943efec7f11c8a937f16/spread/common/getItems.json?activityId=&postsShowId', { return get('//www.lofter.com/spread/common/getItems.json', { activityId, postsShowId }).then(res => { if (res.code === 200) { let result = res.data.itemList // 原本接口没有type信息 result.forEach(item => { item.type = item?.ext?.postType ?? 2 }) return result } else { showMessage({ text: res.msg }) Promise.reject() } }) } export function getPostListByApi({ tag, type, limit }: { tag: string; /** 类型(new、date、week、month、total) */ type: string; limit: number; }): Promise { return get('//www.lofter.com/spread/tag/tagList.json', { limit, offset: 0, tag, type }).then(res => { if (res.meta.status === 200) { let result: PostData[] = [] // 还必须得过滤一下,不然会返回 null 的数据 result = res.response?.items?.filter(item => !!item).map(item => { const { post } = item return { title: post.type !== 1 ? post.title || post.digest || post.longInfo?.title : post.title, imageUrl: (post.firstImageUrl && JSON.parse(post.firstImageUrl)[0]), link: `//${post.blogInfo.blogName}.lofter.com/post/${post.permalink}`, type: post.type, blogInfo: post.blogInfo, digest: post.digest, extraData: { duration: (post.embed ? Number(JSON.parse(post.embed)?.duration) : 0) } } }) return result } else { showMessage(res.meta.msg) } }) }