FastMovieAI AI短剧创作平台 二开基线
- 源码: xhadmincn/FastMovieAI (Apache 2.0) - 二开: Docker部署, Swoole改Select, route.php修复, 补update/VERSION - vendor/示例资源已gitignore
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
|
||||
namespace plugin\user\app\api\controller;
|
||||
|
||||
use app\Basic;
|
||||
use app\expose\enum\ResponseCode;
|
||||
use app\expose\enum\ResponseEvent;
|
||||
use app\expose\exception\Exception;
|
||||
use plugin\control\expose\helper\Wechat;
|
||||
use plugin\user\app\model\PluginUserWechat;
|
||||
use support\Redis;
|
||||
use support\Request;
|
||||
|
||||
class BindThirdPartyController extends Basic
|
||||
{
|
||||
public function wechat(Request $request)
|
||||
{
|
||||
if ($request->twofa_state) {
|
||||
$time = time() - (10 * 60);
|
||||
if ($request->twofa['time'] < $time) {
|
||||
return $this->fail('请验证你的身份', [
|
||||
'code' => ResponseCode::NEED_TWOFA,
|
||||
'action' => 'stop'
|
||||
]);
|
||||
}
|
||||
}
|
||||
if ($request->isWehcatBrowser) {
|
||||
} else {
|
||||
try {
|
||||
$res = Wechat::createQrCode(Wechat::QR_STR_SCENE, 600, [
|
||||
'plugin\user\expose\helper\WechatOfficialAccount',
|
||||
'bind',
|
||||
[
|
||||
'uid' => $request->uid,
|
||||
'channels_uid' => $request->channels_uid,
|
||||
]
|
||||
]);
|
||||
return $this->resData(['qrcode' => $res['url'], 'id' => $res['id'], 'expire' => strtotime("+" . $res['expire_seconds'] . " seconds")]);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Throwable $th) {
|
||||
return $this->exception($th);
|
||||
}
|
||||
try {
|
||||
$res = Wechat::createQrCode(Wechat::QR_SCENE, 600, [
|
||||
'plugin\user\expose\helper\WechatOfficialAccount',
|
||||
'scan',
|
||||
[
|
||||
'uid' => $request->uid,
|
||||
'channels_uid' => $request->channels_uid,
|
||||
]
|
||||
]);
|
||||
return $this->resData(['qrcode' => $res['url'], 'id' => $res['id'], 'expire' => strtotime("+" . $res['expire_seconds'] . " seconds")]);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Throwable $th) {
|
||||
return $this->exception($th);
|
||||
}
|
||||
/* $auth_url='';
|
||||
return $this->code(ResponseCode::OPEN_NEW_WINDOW, '请在微信中打开', [
|
||||
'url' => $auth_url
|
||||
]); */
|
||||
return $this->fail('无可用的微信服务,请联系客服');
|
||||
}
|
||||
}
|
||||
public function checkWechat(Request $request)
|
||||
{
|
||||
$PluginUserWechat = PluginUserWechat::where('uid', $request->uid)->find();
|
||||
if ($PluginUserWechat) {
|
||||
return $this->code(ResponseCode::SUCCESS_EVENT_PUSH, '绑定成功', [
|
||||
'event' => ResponseEvent::UPDATE_USERINFO
|
||||
]);
|
||||
}
|
||||
$id = $request->post('id');
|
||||
if(!$id){
|
||||
return $this->fail('参数错误');
|
||||
}
|
||||
$Scene = Redis::get($id);
|
||||
if (!$Scene) {
|
||||
return $this->fail('二维码已过期');
|
||||
}
|
||||
$res = Redis::get($id.'.bind');
|
||||
if($res){
|
||||
$res = json_decode($res,true);
|
||||
if($res['status'] == 'fail'){
|
||||
return $this->fail($res['message']);
|
||||
}
|
||||
}
|
||||
return $this->code(ResponseCode::WAIT,'等待微信扫码');
|
||||
}
|
||||
public function unbindWechat(Request $request)
|
||||
{
|
||||
if ($request->twofa_state) {
|
||||
$time = time() - (10 * 60);
|
||||
if ($request->twofa['time'] < $time) {
|
||||
return $this->fail('请验证你的身份', [
|
||||
'code' => ResponseCode::NEED_TWOFA,
|
||||
'action' => 'stop'
|
||||
]);
|
||||
}
|
||||
}
|
||||
$PluginUserWechat = PluginUserWechat::where('uid', $request->uid)->find();
|
||||
if ($PluginUserWechat) {
|
||||
$PluginUserWechat->uid=null;
|
||||
$PluginUserWechat->save();
|
||||
}
|
||||
return $this->code(ResponseCode::SUCCESS_EVENT_PUSH, '解绑成功', [
|
||||
'event' => ResponseEvent::UPDATE_USERINFO
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user