钩子【im_relation_name】 关联组ID的名称
****************************************************************************************************************************************************
默认:无
其它:建议都关闭
开发参数:id (客服组的关联ID)
开发返回:字符串(如商家的名称)
钩子【im_user_id】 获得用户ID
****************************************************************************************************************************************************
默认:app\im\model\Hook::getId
其它:建议其它都关闭
开发参数:无
开发返回:用户ID 正常
null 运行下个一个钩子,如果是最一个,直接返回错误提示
false 直接返回错误提示
array 参考:['你还没登录,请先登录!',APP_YM.'/user.php']
错误提示内容,和跳转的路径
钩子【im_user_info】 读取用户信息
****************************************************************************************************************************************************
默认:app\im\model\Hook::getInfo
其它:建议其它都关闭
开发参数:id (用户的ID)
开发返回: 数组 ['nickname'=>'匿名用户-'.$id,'user_name'=>'匿名用户-'.$id,'avatar'=> 'app/im/static/face/face_5.jpg']
钩子【kefu_login】 客服登录前的钩子
****************************************************************************************************************************************************
默认:无
其它:建议都关闭
开发参数:数组 ('username'=>'登录名称','password'=>'登录密码')
开发返回:无
主要用于关联第三方网站,对客服进行自动注册。
开发说明
****************************************************************************************************************************************************
新建一个文件 放在 app/im/model/****.php 目录下
namespace app\im\model;
use \Base\Model;
class **** extends Model
{
// 来源的处理
public static function getPageInfo($page)
{
return ' '.$page.'';
}
// 获得用户id
public static function getId()
{
$id = empty($_COOKIE['ECS']['user_id']) ? 0 : $_COOKIE['ECS']['user_id'];
return $id>0 ? $id : null;//['你还没登录,请先登录!',APP_YM.'/user.php'];
}
/**
* 小京东商家登录
* 商家不存在自动插入一条商家和分组信息
* @author 周志华 <124861234@qq.com>
* @return html代码
*/
public static function kefuLoginXjd($param)
{
if(is_email($param['username'])){
$row = self::$db->table("supplier_admin_user")->where(['email'=>$param['username']],'*')->getRow();
}
elseif(is_mobile($param['username'])){
$row = self::$db->table("supplier_admin_user")->where(['mobile_phone'=>$param['username']],'*')->getRow();
}
else {
$row = self::$db->table("supplier_admin_user")->where(['user_name'=>$param['username']],'*')->getRow();
}
if( $row ) {
if( !empty($row['ec_salt']) ){
$db_password = md5(md5($param['password']) . $row['ec_salt']) ;
}
else {
$db_password = md5($param['password']);
}
if( $db_password==$row['password'] ) {
$group_id = self::$db->table("ym_im_service_group")->where(['relation'=>$row['supplier_id']],'id')->getOne();
if( empty($group_id) ) {
$group_id = self::$db->table("ym_im_service_group")->insert(array('id'=>$row['supplier_id'],'name'=>"商家_".$row['user_name'],'relation'=>$row['supplier_id']));
}
$im_id = self::$db->table("ym_im_service")->where(['user_name'=>$row['user_name']],'im_id')->getOne();
if( empty($im_id) ) {
$info = array('user_name'=>$row['user_name'],'password'=>$param['password'],'mobile'=>$row['mobile_phone'],'status'=>1,'group_id'=>$group_id);
\app\im\model\User::update($info,0);
}
return true;
}
}
return false;
}
}
在指定的钩子中增加一个标记,请注意排序 app\im\model\****::getPageInfo