数据操作与页面操作分离

    1. const socket = io.connect();
    2. /**
    3. * 页面触发登录
    4. * @param {*} name
    5. */
    6. page.onLogin = function (name) {
    7. socket.emit('login', name);
    8. };
    9. /**
    10. * 页面触发发送信息
    11. * @param {*} from
    12. * @param {*} msg
    13. * @param {*} to
    14. */
    15. page.onSendMsg = function (from, msg, to) {
    16. socket.emit('msg', {
    17. msg,
    18. to
    19. })
    20. page.addMsg(from, msg, to);
    21. page.clearInput();
    22. }
    23. /**
    24. * 用户登录
    25. */
    26. socket.on('login', (result) => {
    27. if(result) {
    28. page.switchPage();
    29. socket.emit('users', '')
    30. }else {
    31. alert('用户名不可用')
    32. }
    33. });
    34. /**
    35. * 新登录的用户
    36. */
    37. socket.on('userin', (res) => {
    38. page.addUser(res)
    39. });
    40. /**
    41. * 获取用户列表
    42. */
    43. socket.on('users', res => {
    44. page.initChatRoom();
    45. res.forEach(e => {
    46. page.addUser(e)
    47. });
    48. /**
    49. * 发送给所用人的信息
    50. */
    51. socket.on('newmsg', ({form, msg, to}) => {
    52. page.addMsg(form, msg, to);
    53. });
    54. /**
    55. * 用户退出
    56. */
    57. socket.on('userout', res => {
    58. console.log(res, 'out')
    59. page.removeUser(res)
    60. });
    61. });