综合说明

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