FastMovieAI 二开基线 v1.0 (完整源码)

This commit is contained in:
李建琦
2026-08-26 18:41:02 +08:00
parent fad7690c0c
commit d54584f70d
888 changed files with 105571 additions and 1 deletions
@@ -0,0 +1,69 @@
<?php
namespace plugin\control\event;
use app\expose\enum\EventName;
use app\expose\helper\Uploads;
use app\expose\utils\wechat\modules\Reply;
use plugin\control\app\model\PluginChannelsUser;
use plugin\control\app\model\PluginChannelsWechat;
use support\Log;
use support\Redis;
use think\facade\Db;
use Webman\Event\Event;
class WechatOfficialAccount
{
use Reply;
public function login($data)
{
Db::startTrans();
try {
$UserWechat = PluginChannelsWechat::where(['openid' => $data['FromUserName']])->find();
if ($UserWechat) {
if ($UserWechat->uid) {
$User = PluginChannelsUser::where('id', $UserWechat->uid)->find();
Redis::set($data['EventKey'] . '_callback', $User->id, 'EX', 60);
Db::commit();
Event::emit(EventName::USER_LOGIN['value'], $User);
return $this->replyText($data, '欢迎登录:' . $User->nickname);
}
$User = new PluginChannelsUser();
if ($UserWechat->nickname) {
$User->nickname = $UserWechat->nickname;
}
if ($UserWechat->headimg) {
try {
$User->headimg = Uploads::download($UserWechat->headimg);
} catch (\Throwable $th) {
}
}
if (isset($data['params']) && isset($data['params']['puid'])) {
$User->puid = $data['params']['puid'];
}
$User->activation_time = date('Y-m-d H:i:s');
$User->save();
} else {
$User = new PluginChannelsUser();
if (isset($data['params']) && isset($data['params']['puid'])) {
$User->puid = $data['params']['puid'];
}
$User->activation_time = date('Y-m-d H:i:s');
$User->save();
$UserWechat = new PluginChannelsWechat();
$UserWechat->openid = $data['FromUserName'];
}
$UserWechat->subscribe = 1;
$UserWechat->uid = $User->id;
$UserWechat->save();
Redis::set($data['EventKey'] . '_callback', $User->id, 'EX', 60);
Db::commit();
} catch (\Throwable $th) {
Db::rollback();
Log::error('微信扫码登录失败:' . $th->getMessage(), $th->getTrace());
return $this->replyText($data, '登录失败');
}
// Event::emit(EventName::USER_REGISTER['value'], $User);
return $this->replyText($data, '注册成功');
}
}