codecamp

五、接口API设计

因为使用MOCK数据的关系,我们可以同步吐出接口数据,但这里希望能更接近于AJAX访问的异步效果,所以所有接口均返回setTimeout处理的Promise对象。

整理出所需功能的所有数据请求如下:

  • 拉取聊天列表页的聊天列表(用户头像,用户名称,最后一条聊天信息)
  • 拉取聊天页面的聊天记录 (用户头像,自己头像,聊天记录)
  • 发送聊天信息
  • 拉取tab我下的个人头像以及用户昵称等信息

因为涉及到的数据接口并不多,所以单独放在src/common/api模块下。代码结构大致如下:

import m_contacts from '../mocks/contact';
import m_history from '../mocks/history';

export default {
    
    // 拉取用户信息
    getUserInfo () {},
    
    // 拉取与某个用户的聊天历史记录
    getHistory (id) {},
    
    // 拉取首页聊天列表
    getMessageList () {},

    // 发送聊天信息
    sendMsg (to, msg, type = 'text') {}
}


四、MOCK数据设计
六、逻辑代码开发
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }