| 123456789101112131415161718192021222324252627282930313233343536373839 |
- 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({
- content: `这是历史记录的第${i+1}条消息,第${page}页,[微笑][NO][下雨][OK]`,
- userType: Math.random() > 0.5 ? 'self' : 'friend',
- avatar: '/static/logo.jpg',
- msgType:'text',
- list:[],
- messageId: Date.now(),
- timestamp: Date.now()
- })
- }
- /*
- 颠倒数组中元素的顺序。将最新的数据排在本次接口返回数据的最后面。
- 后端接口按 消息的时间降序查找出当前页的数据后,再将本页数据按消息时间降序排序返回。
- 这是数据的重点,因为页面滚动条和上拉加载历史的问题。
- */
- // arr.reverse();
- return arr;
- }
- // 此处用到 ES6 的 Promise 知识,不懂的请自行学习。
- return new Promise((done,fail)=>{
- // 无数据请求接口,由 setTimeout 模拟,正式项目替换为 ajax 即可。
- setTimeout(()=>{
- let data = join();
- done(data);
- },1000);
- })
- }
|