3
This commit is contained in:
@@ -120,6 +120,11 @@ class Auth implements MiddlewareInterface
|
||||
'user' => session('admin'),
|
||||
'config' => $config
|
||||
]);
|
||||
$IM = new \support\OpenImSdk\Client([
|
||||
'host' => 'http://127.0.0.1:10002', // OpenIM API地址
|
||||
'secret' => 'openIM123', // OpenIM密钥
|
||||
]);
|
||||
$request->IM = $IM;
|
||||
$response = $next($request);
|
||||
$headers = [
|
||||
'Access-Control-Allow-Credentials' => 'true',
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace app\command;
|
||||
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use support\think\Db;
|
||||
|
||||
class OpenIm extends Command
|
||||
{
|
||||
protected static $defaultName = 'openim';
|
||||
protected static $defaultDescription = 'OpenIm';
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
protected function configure()
|
||||
{
|
||||
$this->addOption('action','a', InputArgument::OPTIONAL, '操作类型');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param InputInterface $input
|
||||
* @param OutputInterface $output
|
||||
* @return int
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
$action = $input->getOption('action');
|
||||
if(!$action){
|
||||
$output->writeln('空操作');
|
||||
return self::FAILURE;
|
||||
}
|
||||
if(method_exists($this, $action)){
|
||||
return $this->$action($input, $output);
|
||||
}
|
||||
return self::FAILURE;
|
||||
}
|
||||
private function sync_users(InputInterface $input, OutputInterface $output):int{
|
||||
$im = new \support\OpenImSdk\Client([
|
||||
'host' => 'http://127.0.0.1:10002', // OpenIM API地址
|
||||
'secret' => 'openIM123', // OpenIM密钥
|
||||
]);
|
||||
$data = $im->user->getAllUsersUid(1,1000);
|
||||
$exsit_user_ids = Db::name('user')->whereIn('id',$data['userIDs'])->column('id');
|
||||
$not_exsit_user_ids =array_diff($data['userIDs'],$exsit_user_ids);
|
||||
if(count($not_exsit_user_ids)> 0){
|
||||
//同步用户
|
||||
$res = $im->user->getUsersInfo($not_exsit_user_ids);
|
||||
$save_data = [];
|
||||
foreach($res['usersInfo'] as $k=>$_user){
|
||||
array_push($save_data,[
|
||||
'id' => $_user['userID'],
|
||||
'nickname' => $_user['nickname'],
|
||||
'password' => '123456',
|
||||
'avatar' => $_user['faceURL']
|
||||
]);
|
||||
|
||||
// "ex": "",
|
||||
// "createTime": 1688454168302,
|
||||
// "appMangerLevel": 18,
|
||||
// "globalRecvMsgOpt": 0
|
||||
}
|
||||
if(!empty($save_data)){
|
||||
Db::name('user')->insertAll($save_data);
|
||||
}
|
||||
}
|
||||
return self::SUCCESS;
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ class Otop extends Command
|
||||
*/
|
||||
protected function configure()
|
||||
{
|
||||
$this->addOption('user_id','uid', InputArgument::OPTIONAL, 'user_id');
|
||||
$this->addOption('user_id','u', InputArgument::OPTIONAL, 'user_id');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -36,6 +36,7 @@ class ActionHook implements MiddlewareInterface
|
||||
return $after_response;
|
||||
}
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
return $next($request);
|
||||
|
||||
@@ -75,6 +75,38 @@ use support\think\Db;
|
||||
*/
|
||||
class User extends Base
|
||||
{
|
||||
use \think\model\concern\SoftDelete;
|
||||
public static function onAfterInsert($row){
|
||||
$res = request()->IM->user->userRegister($row->id,$row->nickname,cdnurl($row->avatar));
|
||||
}
|
||||
public static function onAfterUpdate($row){
|
||||
$changeData = $row->getChangedData();
|
||||
$orgData = $row->getOrigin();
|
||||
//cp($changeData);
|
||||
if(isset($changeData['avatar']) || isset($changeData['nickname'])){
|
||||
request()->IM->user->updateUserInfo($row->id,[
|
||||
'nickname' => $row->nickname,
|
||||
'faceURL' => cdnurl($row->avatar)
|
||||
]);
|
||||
}
|
||||
if(isset($changeData['status']) || $changeData['status'] == '0'){
|
||||
request()->IM->user->forceLogout($row->id);
|
||||
}
|
||||
}
|
||||
public static function onAfterDelete($row)
|
||||
{
|
||||
Db::name('address')->where('user_id',$row->id)->delete();
|
||||
Db::name('recharge')->where('user_id',$row->id)->delete();
|
||||
Db::name('record')->where('user_id',$row->id)->delete();
|
||||
Db::name('withdrawl')->where('user_id',$row->id)->delete();
|
||||
Db::name('user_extend')->where('user_id',$row->id)->delete();
|
||||
Db::name('user_team')->where('descendant_id|ancestor_id','=',$row->id)->delete();
|
||||
Db::name('withdrawl')->where('user_id',$row->id)->delete();
|
||||
foreach(Config('site.allow_currencys') as $currency){
|
||||
(new \app\model\BalanceLog)->setSuffix('_'.$currency)->where('user_id',(int)$row->id)->delete();
|
||||
}
|
||||
request()->IM->user->forceLogout($row->id);
|
||||
}
|
||||
public function role()
|
||||
{
|
||||
return $this->belongsTo('\\app\\model\\UserRole', 'role_id', 'id');//->bind(['name']);
|
||||
|
||||
Reference in New Issue
Block a user