项目接入即时聊天客服系统(环信系统)PHP后端操作

环信工作原理:

一、由于环信没有直接的接口来主动调取本项目中的用户数据,所有用户信息必须在环信服务器上注册对应信息成为环信的用户;(这样才能当用户进入聊天时显示其基本信息,如:名称、昵称、电话、邮箱等);

二、客服工作台登录可以显示用户信息,可以查看用户访问轨迹,可以主动接入访客咨询等诸多功能(这些基本都不需要后端程序员编写)

下面开始后端程序员(app程序员请自行查看环信开发文档)需要接入的代码编写:

一、用户信息传递

1、先下载环信开发demo文件,提取statics、easemob.js等文件放置到项目指定目录下便于调用

如图:图片


2、编写用户信息提供接口,将本站用户基本信息return出,如下:


class  GetUser 
{
public function get()
{

//给予状态初始值
        $res = [
            'status' =>0
        ];

//判断本站用户是否登录
        $user_id = Yii::$app->user->id;
        if ($user_id >0)
        {

            $user_one = User::Redis_getOne($user_id);

//easemob_id为用户数据中是否有注册环信的账号id
            if (empty($user_one['easemob_id']))
            {
                //配置文件中写入的环信参数(是公司在环信官网注册得到的信息,详情见环信文档)
                $option = [
                    'client_id' => yii::$app->params['easemob']['client_id'],
                    'client_secret' => yii::$app->params['easemob']['client_secret'],
                    'org_name' => yii::$app->params['easemob']['org_name'],
                    'app_name' => yii::$app->params['easemob']['app_name'],
                    'base_url'=> "https://a1.easemob.com/".yii::$app->params['easemob']['org_name']."/".yii::$app->params['easemob']['app_name']."/"
                ];

//实例化环信类

                $h = new Easemob($option);

                //在环信端注册用户信息
                $re = $h->createUser($user_one['phone'], yii::$app->params['easemob']['default_password']); 

 //获取环信上用户的信息到本站上
                $easemob_id = $h->getUser($user_one['phone']);

                //添加用户相关字段值(将用户在环信上注册好的id再存入用户数据)
                User::updateOne_NoRedis(['id'=>$user_one['id'], 'easemob_id'=>$easemob_id['entities'][0]['username']]);

//判断注册信息是否有,如果有则注册成功,状态改为1,信息存入结果集;反之则已被注册,将用户信息直接存入结果集即可;
                if ($re)
                {
                    $res['status'] = 1;
                    $res['msg'] = '环信用户生成';
                    $res['data'] = [
                        'username'=>$user_one['phone'],
                        'password'=>yii::$app->params['easemob']['default_password'],
                        'nickname'=>$user_one['nickname'],
                        'realname'=>$user_one['realname'],
                        'qq'=>$user_one['qq'],
                        'head'=>File::getFileUrl($user_one['portrait'],100,100),
                        'phone'=>$user_one['phone'],
                        'wx'=>$user_one['wx_openid'],
                    ];
                }
            }else{
                $res['status'] = 1;
                $res['msg'] = '环信用户找到';
                $res['data'] = [
                    'username'=>$user_one['phone'],
                    'password'=>yii::$app->params['easemob']['default_password'],
                    'nickname'=>$user_one['nickname'],
                    'realname'=>$user_one['realname'],
                    'qq'=>$user_one['qq'],
                    'head'=>File::getFileUrl($user_one['portrait'],100,100),
                    'phone'=>$user_one['phone'],
                    'wx'=>$user_one['wx_openid'],
                ];
            }
        }
        return $res;
}
}


2、在用户点击联系客服按钮事件时,调用上述接口,获取用户信息传到客服工作台

h5页面代码:< a href=" " οnclick="easemobim.bind({tenantId:‘注册的租户id’'})"><i class="icon"></i><span class="a_txt">在线客服</span></ a>

其中onclick为自定义按钮事件,点击启用传值动作

//打开环信客服窗口

var easemob =function(){

$.ajax({

    type:'POST',
    url:ajax_url_config.my.easemob+'?access-token='+token,
    success:function (User) {
        var jsondata = eval("("+User+")");
       }

return jsondata;

} ;
var easemobUser = easemob ();

window.easemobim = window.easemobim || {};
easemobim.config = {
    //是否隐藏小的悬浮按钮
    hide: true,
    //自动连接
    autoConnect: true,
    //环信移动客服域,固定值,请按照示例配置
    domain: '//kefu.easemob.com',
    //您网站上im.html文件的完整路径
    path: '//你项目的域名地址/huanxin',
    //访客插件static的路径
    staticPath: '//你项目的域名地址/huanxin/static',
    //orgName#appName
    appKey: '  ',
    //手机App绑定的IM号
    to: ' ',
    //集成用户体系,验证的方式二选一,必填,另一项为空即可
    user: {
        //指定用户名,集成时必填
        username: easemobUser['username'],
        //password验证方式
        password: easemobUser['password'],
        //token验证方式
        token: ''
    },
    visitor:{
        trueName: easemobUser['realname'],
        qq: easemobUser['qq'],
        phone: easemobUser['phone'],
        companyName: '',
        userNickname: easemobUser['nickname'],
        description: ''
    }
};

在这之前,请记得要引入之前放置在指定目录下的环信js文件:

<script type="text/javascript" src="/sea-modules/huanxin/easemob.js"></script>

自此,用户信息传递完毕,客服可以看到是哪位用户在咨询。


二、用户访问轨迹传递

1、由于文件已放置,可以省略

2、商品信息得提取接口,我就不提供代码了,与上面的第二部一样;

3、商品信息的传递,也是一样,通过ajax请求得到商品数据,传递到环信平台:

var easemobgoods = (function () {
    var res ;
    $.ajax({
        type:'GET',
        url:ajax_url_config.goods.get_attribute_url+goods_item_id,
        async:false,
        success:function (data) {
            res = data;
        }

    });
    return res;
});

var goods = easemobgoods();


 //提取环信客服传递商品数据


window.easemobim = window.easemobim || {};
easemobim.config = {
    tenantId: ' ',//写入注册时得到的租户id
    //orgName#appName
    appKey: ' ',
    //手机App绑定的IM号
    to: ‘ ’,
    satisfaction: true,
    // //是否隐藏小的悬浮按钮
    hide: true,
    //自动连接
    autoConnect: true,
    //环信移动客服域,固定值,请按照示例配置
    domain: '//kefu.easemob.com',
    //您网站上im.html文件的完整路径
    path: '//你项目的域名地址/huanxin',
    //访客插件static的路径
    staticPath: '//你项目的域名地址/huanxin/static',
    //移动端点击联系客服按钮自动发送订单消息demo
    extMsg: {
        "imageName": goods['goods_name'],
        //custom代表自定义消息,无需修改
        "type": "custom",
        "msgtype": {
            "track": {
                "title": "我正在看:",
                "price": goods['price'],
                "desc": goods['goods_name']+goods['color'],
                "img_url": goods['goods_thumb'],
                "item_url":"http://你项目的域名地址/goods/detail/"+goods['goods_item_id']
            }
        }
    },
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
80%的用户流量网页时不会通过电话联系,一款用户体验良好的客服系统 customer service system (俗称商务通)能帮您抓住每一位客户。最常用的有QQ在线客服等,有的需要安装客户端、有的数据库不在本地第三方可看到聊天记录、有的又需要按每年收取上千大洋的服务费。一款基于B/S架构的网站在线客服软件或许能解决上述问题!获得最新版本与技术支持联系电话:15559697913 。 Me客服系统特点: 1、通过浏览器就能聊天,兼容市面上所有浏览器,Socket优化主机负载小,Pdo防御性能良好; 2、提供多套界面风格和4个客服坐席满足不同网站需求,并且未绑定域名可部署在多个网站上; 3、系统数据库配置本地放心、附带部分OA功能2次加密更安全、类似QQ微信界面的左右分离式聊天更美观; 4、含有丰富的表情功能、消息提示音、客户下线通知功能,让您的聊天声情并茂~ 管理员可查看任何一个客服聊天记录、修改客服名称与密码; 如何安装Me客服系统? 1、将整个客服系统文件拷贝到网站根目录下,打开default.php文件,将里边的CSS、DIV和JS客服代码拷贝到网站首页; 2、找到 /Me/msdb.sql 文件,导入到数据库,之后删除msdb.sql文件; 3、找到 /Me/base.php 文件,配置数据库用户名与密码; 4、登陆后台为 /Me/000000/index.html,建议修改为其他文件名。4个客服与1个管理员的用户名分别为:webu1、webu2、webu3、webu4、adminot,密码都是123456,建议管理员登陆后修改密码; PS:软件经过长期算法调优性能更加卓越,演示版本与说明文档参看官网 www.05090.net 手机端正在开发中敬请期待。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值