<?php /** * Created by PhpStorm. * User: zhoutao * Date: 2018/1/15 * Time: 下午5:45 */ namespace Api\Controller\Im; use Api\Controller\AbstractController; use Com\IM\TLSSigAPI; use Com\PackageValidate; use Common\Model\RoleModel; use Common\Service\ImService; use Common\Service\RoleService; class GetUserInfoController extends AbstractController { /** * GetUserInfo * @author zhoutao * @desc 直播聊天室获取用户详情接口 * @param Int lm_id:true:1 直播活动ID * @return array|bool 直播列表 array( 'sdkAppId' => 1400061964, // sdkAppId 'identifier' => 'XXXXXXXXXXXXX', // 标识 'identifierNick' => '开发人员', // 昵称 'userSig' => 'XXXXXXXXXXXX', // 签名 'headUrl' => 'XXXXXXXXXXXX', // 头像 'groupId' => '@TGS#aBPNWZAFJ' // 群组 ID 'isLecturer' => true // 是否讲师本人 true 是 false 否 ) * @throws \Exception */ public function index() { $postData = (new PackageValidate( [ 'lm_id' => 'require' ], [ 'lm_id.require' => '_EMPTY_LIVE_ID', ], ['lm_id'] ))->postData; // 获取聊天室数据 $imServ = new ImService(); $imDetail = $imServ->get_by_conds(['lm_id' => $postData['lm_id']]); // 获取用户签名 $userSig = TLSSigAPI::instance()->genSig($this->uid); // 获取角色数据 $roleServ = new RoleService(); $roleDetail = $roleServ->get_by_conds(['lm_id' => $postData['lm_id']]); $this->_result = [ 'sdkAppId' => cfg('TENCENT_IM_SDK_APPID'), 'identifier' => $this->uid, 'identifierNick' => $this->_login->user['memUsername'], 'userSig' => $userSig, 'headUrl' => $this->_login->user['memFace'], 'groupId' => $imDetail['group_id'], 'isLecturer' => ($roleDetail['obj_id'] == $this->uid && $roleDetail['type'] == RoleModel::ROLE_LECTURER), 'lecturer' => $roleDetail['obj_id'] ]; return true; } }