fix: 修改展示bug
This commit is contained in:
parent
2b1d722a5d
commit
7a3d893797
@ -78,8 +78,8 @@ const GAP = rpx2px(16)
|
||||
const BORDER_W = rpx2px(2)
|
||||
const SCALE = 0.9
|
||||
const ROWS = 4
|
||||
const AUTO_SCROLL_SPEED = 0.5
|
||||
const AUTO_RESUME_DELAY = 2500
|
||||
const AUTO_SCROLL_SPEED = 0.1
|
||||
const AUTO_RESUME_DELAY = 1000
|
||||
const PRELOAD_THRESHOLD = rpx2px(300)
|
||||
|
||||
// ========== 状态 ==========
|
||||
@ -466,21 +466,52 @@ const loadUsers = async () => {
|
||||
try {
|
||||
let items
|
||||
|
||||
if (props.useMockData) {
|
||||
// 使用分类对应的模拟数据
|
||||
|
||||
const mockData = getMockDataByCategory(props.category)
|
||||
items = mockData.items
|
||||
// 更新偏移量
|
||||
mockDataOffset = items.length
|
||||
|
||||
// 使用真实API
|
||||
const res = await getInspirationFlowApi({ limit: 20, type: props.category })
|
||||
if (!isComponentMounted) return
|
||||
if (res.code === 200 && res.data?.items && res.data.items.length > 0) {
|
||||
items = res.data.items
|
||||
// 真实接口根据 has_more 决定是否继续加载,has_more 为 false 时追加模拟数据兜底
|
||||
if (!res.data.has_more) {
|
||||
appendFailed = true
|
||||
if (USE_MOCK_DATA) {
|
||||
const mockData = getMockDataByCategory(props.category)
|
||||
const allItems = mockData.items
|
||||
const batchSize = 20
|
||||
const itemsToAdd = []
|
||||
for (let i = 0; i < batchSize; i++) {
|
||||
const sourceIndex = (mockDataOffset + i) % allItems.length
|
||||
const sourceItem = allItems[sourceIndex]
|
||||
const newItem = {
|
||||
...sourceItem,
|
||||
asset_id: sourceItem.asset_id * 100 + mockDataOffset + i,
|
||||
likes: sourceItem.like_count,
|
||||
}
|
||||
itemsToAdd.push(newItem)
|
||||
}
|
||||
mockDataOffset = mockDataOffset + batchSize
|
||||
items = [...items, ...itemsToAdd]
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 使用真实API
|
||||
const res = await getInspirationFlowApi({ limit: 20, type: props.category })
|
||||
|
||||
if (!isComponentMounted) return
|
||||
if (res.code === 200 && res.data?.items) {
|
||||
items = res.data.items
|
||||
// 接口没数据时,使用模拟数据兜底
|
||||
if (USE_MOCK_DATA) {
|
||||
const mockData = getMockDataByCategory(props.category)
|
||||
const allItems = mockData.items
|
||||
const batchSize = 20
|
||||
const itemsToAdd = []
|
||||
for (let i = 0; i < batchSize; i++) {
|
||||
const sourceIndex = (mockDataOffset + i) % allItems.length
|
||||
const sourceItem = allItems[sourceIndex]
|
||||
const newItem = {
|
||||
...sourceItem,
|
||||
asset_id: sourceItem.asset_id * 100 + mockDataOffset + i,
|
||||
likes: sourceItem.like_count,
|
||||
}
|
||||
itemsToAdd.push(newItem)
|
||||
}
|
||||
mockDataOffset = mockDataOffset + batchSize
|
||||
items = itemsToAdd
|
||||
}
|
||||
}
|
||||
|
||||
@ -518,41 +549,52 @@ const appendMore = async () => {
|
||||
try {
|
||||
let items
|
||||
|
||||
if (props.useMockData) {
|
||||
// 使用模拟数据:循环原始数据
|
||||
const mockData = getMockDataByCategory(props.category)
|
||||
const allItems = mockData.items
|
||||
const batchSize = 20
|
||||
|
||||
// 从 mockDataOffset 位置开始取 batchSize 个
|
||||
const itemsToAdd = []
|
||||
for (let i = 0; i < batchSize; i++) {
|
||||
const sourceIndex = (mockDataOffset + i) % allItems.length
|
||||
const sourceItem = allItems[sourceIndex]
|
||||
// 创建新对象,确保每次都有唯一的 asset_id
|
||||
const newItem = {
|
||||
...sourceItem,
|
||||
asset_id: sourceItem.asset_id * 100 + mockDataOffset + i, // 确保唯一
|
||||
likes: sourceItem.like_count, // 使用原始点赞数
|
||||
// 使用真实API
|
||||
const res = await getInspirationFlowApi({ limit: 20, type: props.category })
|
||||
if (!isComponentMounted) return
|
||||
if (res.code === 200 && res.data?.items && res.data.items.length > 0) {
|
||||
items = res.data.items
|
||||
// 真实接口根据 has_more 决定是否继续加载,has_more 为 false 时追加模拟数据兜底
|
||||
if (!res.data.has_more) {
|
||||
appendFailed = true
|
||||
if (USE_MOCK_DATA) {
|
||||
const mockData = getMockDataByCategory(props.category)
|
||||
const allItems = mockData.items
|
||||
const batchSize = 20
|
||||
const itemsToAdd = []
|
||||
for (let i = 0; i < batchSize; i++) {
|
||||
const sourceIndex = (mockDataOffset + i) % allItems.length
|
||||
const sourceItem = allItems[sourceIndex]
|
||||
const newItem = {
|
||||
...sourceItem,
|
||||
asset_id: sourceItem.asset_id * 100 + mockDataOffset + i,
|
||||
likes: sourceItem.like_count,
|
||||
}
|
||||
itemsToAdd.push(newItem)
|
||||
}
|
||||
mockDataOffset = mockDataOffset + batchSize
|
||||
items = [...items, ...itemsToAdd]
|
||||
}
|
||||
itemsToAdd.push(newItem)
|
||||
}
|
||||
|
||||
// 更新偏移量
|
||||
mockDataOffset = mockDataOffset + batchSize
|
||||
|
||||
items = itemsToAdd
|
||||
|
||||
} else {
|
||||
// 使用真实API
|
||||
const res = await getInspirationFlowApi({ limit: 20, type: props.category })
|
||||
if (!isComponentMounted) return
|
||||
if (res.code === 200 && res.data?.items) {
|
||||
items = res.data.items
|
||||
// 真实接口根据 has_more 决定是否继续加载
|
||||
if (!res.data.has_more) {
|
||||
appendFailed = true
|
||||
// 接口没数据时,使用模拟数据兜底
|
||||
if (USE_MOCK_DATA) {
|
||||
const mockData = getMockDataByCategory(props.category)
|
||||
const allItems = mockData.items
|
||||
const batchSize = 20
|
||||
const itemsToAdd = []
|
||||
for (let i = 0; i < batchSize; i++) {
|
||||
const sourceIndex = (mockDataOffset + i) % allItems.length
|
||||
const sourceItem = allItems[sourceIndex]
|
||||
const newItem = {
|
||||
...sourceItem,
|
||||
asset_id: sourceItem.asset_id * 100 + mockDataOffset + i,
|
||||
likes: sourceItem.like_count,
|
||||
}
|
||||
itemsToAdd.push(newItem)
|
||||
}
|
||||
mockDataOffset = mockDataOffset + batchSize
|
||||
items = itemsToAdd
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// ========== 模拟数据配置 ==========
|
||||
|
||||
// 是否使用模拟数据(开发调试时设为 true,上线后改为 false)
|
||||
export const USE_MOCK_DATA = false
|
||||
export const USE_MOCK_DATA = true
|
||||
|
||||
// 模拟图片列表
|
||||
const MOCK_IMAGES = [
|
||||
|
||||
Loading…
Reference in New Issue
Block a user