单页WEB应用(三),Chat聊天模块

本文详细介绍了Chat聊天模块的实现,包括配置、事件处理和初始化。通过hash值变化管理窗口显示和隐藏,展示了单页应用从开发到上线的过程。内容涵盖了模块配置、状态管理及窗口缩放应对策略,为后续数据模型和数据管理打下基础。
摘要由CSDN通过智能技术生成

Chat 聊天模块

这个模块应该就是该书全篇的唯一一个模块吧,后面几乎所有的篇章都围绕这个模块去实现的,不过就通过这一个模块的实现和上线,也能体现单页应用开发到发布上线的整个过程,毕竟后面的数据,通信,发布什么的都是通用的东西,应用其他部分完全可以参照这个‘聊天模块’去实现。跟着作者的思路走一遍,也能熟知个大概。

先看下成型图吧,会不会有种很老旧XP时代的感觉,囧!!

Chat聊天模块UI图

chat 内容

该聊天模块整体分以下几块:其实都是跟着模版去实现的,差在具体实现上而已

  1. 配置;
  2. 事件处理;
  3. 初始化;

涉及行为处理:
1. 点击标题栏,显示或隐藏窗口;
2. hash 值的变化触发聊天窗口的状态变化;

重点在 通过 hash 值(锚)的变化来管理聊天窗口显示和隐藏,前面在shell里面实现过,这里主要拎出来作为一个单独模块来讲

配置

配置三大块:

之前chat 模块是直接在shell模块中实现的,为了实现模块化,减少依赖,从而把该模块分离出来单独创建模块文件:spa.chat.js 和相应的样式和辅助文件等

  • configMap

    这里包含了chat模块的基本配置,和所用到的模块变量,来看下里面具体都有些啥

    var configMap = {
    
        // 模块的文档结构部分,通过动态加载到其父容器中
        main_html: '' 
            + '<div class="spa-chat">'
                + '<div class="spa-chat-head">'
                    + '<div class="spa-chat-head-toggle">+</div>'
                    + '<div class="spa-chat-head-title">Chat</div>'
                + '</div>'
                + '<div class="spa-chat-closer">x</div>'
                + '<div class="spa-chat-sizer">'
                    + '<div class="spa-chat-msgs"></div>'
                    + '<div class="spa-chat-box">'
                        + '<input type="text" />'
                        + '<div>send</div>'
                    + '</div>'
                + '</div>'
            + '</div>',
    
    
        // 这个映射表,对应配置里面的变量,从对象名便可知,是用来
        // 保存配置是否可设置状态,true:表示该变量值可以改变,反之不能修改
        settable_map: { 
    
            slider_open_time    : true,
            slider_close_time   : true,
            slider_opened_em    : true,
            slider_closed_em    : true,
            slider_opened_title : true,
            slider_closed_title : 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若叶岂知秋vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值