集成 PPMESSAGE 到单页应用

本文描述在单页应用中集成 PPMESSAGE 应该注意的事项。

首先来了解一下什么是单页应用,SINGLE PAGE APP 简称 SPA,是指整个网页程序,从开始到结束仅进行一次页面加载。PPMESSAGE 的后台系统就是一个典型的单页程序,无论您点击什么按钮链接,PPMESSAGE 的后台不会离开这个页面,所有的请求都是通过 AJAX 的接口调用完成,一旦通过浏览器加载,不会再去请求页面。如果您在使用 Angular JS 那么基本上您就在做单页应用。(这也不是绝对的,曾经遇到一个小家伙使用 Angular JS 但是每次都加载页面,真是极具突破精神)

在单页应用中,由于不重新加载页面,那么 PPMESSAGE 将会被“硬”的初始化一次伴随这加载过程,而当您要更新 PPMESSAGE的配置信息的时候需要“软”初始化 PPMESSAGE。

PPMESSAGE 硬初始化成功后 会有 window.PP 的对象,执行其他任何操作的时候需要判断它的存在。

window.PP.boot(settings, function(success, reason) {
});

这是软初始化,这个初始化动作能够通过 CODE 初始化 PPMESSAGE。一定要检查回调,如果成功 success 为 true,如果失败,可以检查 reason,当成功后可以执行 window.PP.shutdown() 软销毁。

window.PP.shutdown();

如果没有确认成功的情况下执行了 shutdown,实际上并没有 shutdown,这时候再 boot 就会产生不可预测的现象。

在 SPA 中,用户如果切换了,那么往往要 shutdown 然后 boot,shutdown 之前一定要确保是在 init 的回调返回之后,不然可能多重 boot,PPMESSAGE 无法正常工作。

透过 ppSettings 可以传递指定的用户信息:

window.ppSettings = {
                ent_user_id: null,
                ent_user_name: null,
                ent_user_icon: null,
                ent_user_create_time: null
}

这样座席就能看到您设定的用户信息,当然在 PPMESSAGE 还可以传递更多的数据,只是名称头像更加通用。其中ent_uer_id 是指企业用户标识,这个ID的来自您的系统,您用这个标识来分辨每个不同的客户;ent_user_icon必须要用绝对的 URL 地址,因为 PPMESSAGE 和您的应用系统是分离的,如果在 PPMESSAGE 系统中也能显示您客户的头像,这个链接必须是绝对的 URL;ent_user_create_time 这个数据用来标识用户转化,因为这是一个注册用户(您都有 ID 标识了),那么创建时间就意味着您成功获取这个客户的时间。

在 SPA 中可能您会多次切换这个值。从而为不同的客户准备 PPMESSAGE。

你可能感兴趣的:(集成 PPMESSAGE 到单页应用)