更新
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | 企业微信客服桌面端认证接口
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\common\enum\user\UserTerminalEnum;
|
||||
use app\common\enum\YesNoEnum;
|
||||
use app\common\model\user\User;
|
||||
|
||||
/**
|
||||
* 桌面端只通过这里确认一个 token 是否属于企业微信客服终端。
|
||||
*
|
||||
* 登录仍复用 LoginController::account;这个接口只返回建立外部账号映射所需的
|
||||
* 最小身份信息,避免客服后台依赖面向普通 PC 页面的完整个人资料结构。
|
||||
*/
|
||||
class DesktopController extends BaseApiController
|
||||
{
|
||||
public function session()
|
||||
{
|
||||
if ((int)($this->userInfo['terminal'] ?? 0) !== UserTerminalEnum::WECOM_RPA) {
|
||||
return $this->fail('当前登录令牌不属于企业微信客服桌面端');
|
||||
}
|
||||
|
||||
$user = User::where(['id' => $this->userId])
|
||||
->field('id,sn,nickname,mobile,avatar,is_disable')
|
||||
->findOrEmpty();
|
||||
if ($user->isEmpty() || (int)$user['is_disable'] === YesNoEnum::YES) {
|
||||
return $this->fail('用户不存在或已禁用');
|
||||
}
|
||||
|
||||
return $this->data([
|
||||
'user_id' => (int)$user['id'],
|
||||
'sn' => (string)$user['sn'],
|
||||
'nickname' => (string)$user['nickname'],
|
||||
'mobile' => (string)$user['mobile'],
|
||||
'avatar' => (string)$user['avatar'],
|
||||
'terminal' => UserTerminalEnum::WECOM_RPA,
|
||||
'expire_time' => (int)($this->userInfo['expire_time'] ?? 0),
|
||||
'status' => 'active',
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user