36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
export const getHistoryMsg = (params)=>{
|
||
const { page = 1,rows = 10 } = params ?? {};
|
||
let join = ()=>{
|
||
let arr = [];
|
||
|
||
//通过当前页码及页数,模拟数据内容
|
||
let startIndex = (page-1) * rows;
|
||
let endIndex = startIndex + rows;
|
||
for(let i = startIndex; i < endIndex; i++){
|
||
arr.push({
|
||
"id":i, // 消息的ID
|
||
"content":`这是历史记录的第${i+1}条消息,第${page}页`, // 消息内容
|
||
"type":Math.random() > 0.5 ? 1 : 0 ,// 此为消息类别,设 1 为发出去的消息,0 为收到对方的消息,
|
||
"pic":"/static/logo.png" // 头像
|
||
})
|
||
}
|
||
|
||
/*
|
||
颠倒数组中元素的顺序。将最新的数据排在本次接口返回数据的最后面。
|
||
后端接口按 消息的时间降序查找出当前页的数据后,再将本页数据按消息时间降序排序返回。
|
||
这是数据的重点,因为页面滚动条和上拉加载历史的问题。
|
||
*/
|
||
// arr.reverse();
|
||
|
||
return arr;
|
||
}
|
||
|
||
// 此处用到 ES6 的 Promise 知识,不懂的请自行学习。
|
||
return new Promise((done,fail)=>{
|
||
// 无数据请求接口,由 setTimeout 模拟,正式项目替换为 ajax 即可。
|
||
setTimeout(()=>{
|
||
let data = join();
|
||
done(data);
|
||
},1000);
|
||
})
|
||
} |