钩子【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