触客宝部分功能提交

This commit is contained in:
wong
2025-09-13 17:20:34 +08:00
parent cc432ba18f
commit 410a43e6a1
6 changed files with 91 additions and 13 deletions

View File

@@ -0,0 +1,29 @@
<?php
namespace app\chukebao\controller;
use think\Controller;
/**
* 基础控制器
*/
class BaseController extends Controller
{
/**
* 获取用户信息
*
* @param string $column
* @return mixed
* @throws \Exception
*/
protected function getUserInfo(?string $column = null)
{
$user = $this->request->userInfo;
if (!$user) {
throw new \Exception('未授权访问,缺少有效的身份凭证', 401);
}
return $column ? $user[$column] : $user;
}
}

View File

@@ -2,18 +2,16 @@
namespace app\chukebao\controller;
use app\common\controller\BaseController;
use app\common\util\JwtUtil;
use Exception;
use library\ResponseHelper;
use app\api\controller\UserController;
use think\Db;
use think\Controller;
/**
* 认证控制器
* 处理用户登录和身份验证
*/
class LoginController extends BaseController
class LoginController extends Controller
{
@@ -58,17 +56,17 @@ class LoginController extends BaseController
'password' => !empty($user['passwordLocal']) ? localDecrypt($user['passwordLocal']) : $password
];
try {
// 调用登录接口获取token
$headerData = ['client:kefu-client'];
if (!empty($verifySessionId) && !empty($verifyCode)){
$headerData[] = 'verifysessionid:'.$verifySessionId;
$headerData[] = 'verifycode:'.$verifyCode;
$headerData[] = 'verifycode:'.$verifyCode;
}
$header = setHeader($headerData, '', 'plain');
$result = requestCurl('https://s2.siyuguanli.com:9991/token', $params, 'POST', $header);
$result = handleApiResponse($result);
if (isset($result['access_token']) && !empty($result['access_token'])) {
$userData['kefuData']['token'] = $result;
$headerData = ['client:kefu-client'];
@@ -76,6 +74,9 @@ class LoginController extends BaseController
$result2 = requestCurl('https://s2.siyuguanli.com:9991/api/account/self', [], 'GET', $header, 'json');
$self = handleApiResponse($result2);
$userData['kefuData']['self'] = $self;
Db::name('users')->where('id', $user['id'])->update(['passwordLocal' => localEncrypt($password),'updateTime' => time()]);
}else{
return ResponseHelper::error($result['error_description']);
}

View File

@@ -0,0 +1,21 @@
<?php
namespace app\chukebao\controller;
use library\ResponseHelper;
use think\Db;
class WechatChatroomController extends BaseController
{
public function getList(){
$page = $this->request->param('page', 1);
$limit = $this->request->param('limit', 10);
$accountId = $this->getUserInfo('s2_accountId');
if (empty($accountId)){
return ResponseHelper::error('请先登录');
}
$list = Db::table('s2_wechat_chatroom')->where('accountId',$accountId)->order('id desc')->page($page, $limit)->select();
return ResponseHelper::success($list);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace app\chukebao\controller;
use library\ResponseHelper;
use think\Db;
class WechatFriendController extends BaseController
{
public function getList(){
$page = $this->request->param('page', 1);
$limit = $this->request->param('limit', 10);
$accountId = $this->getUserInfo('s2_accountId');
if (empty($accountId)){
return ResponseHelper::error('请先登录');
}
$list = Db::table('s2_wechat_friend')->where('accountId',$accountId)->order('id desc')->page($page, $limit)->select();
return ResponseHelper::success($list);
}
}