mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 02:12:53 +00:00
fix: 无法打包文件加载的情况
This commit is contained in:
parent
3f733ce857
commit
8597705a77
@ -1097,17 +1097,18 @@ class FileController extends AbstractController
|
||||
return Base::retError('创建压缩文件失败');
|
||||
}
|
||||
|
||||
go(function () use ($zipPath, $fileUrl, $zip, $files, $fileName, $botUser, $dialog) {
|
||||
$userid = $user->userid;
|
||||
go(function () use ($userid, $zipPath, $fileUrl, $zip, $files, $fileName, $botUser, $dialog) {
|
||||
Coroutine::sleep(0.1);
|
||||
// 压缩进度
|
||||
$progress = 0;
|
||||
$zip->registerProgressCallback(0.05, function ($ratio) use ($fileUrl, $fileName, &$progress) {
|
||||
$zip->registerProgressCallback(0.05, function ($ratio) use ($userid, $fileUrl, $fileName, &$progress) {
|
||||
$progress = round($ratio * 100);
|
||||
File::filePushMsg('compress', [
|
||||
File::pushMsgSimple('compress', [
|
||||
'name' => $fileName,
|
||||
'url' => $fileUrl,
|
||||
'progress' => $progress
|
||||
]);
|
||||
], $userid);
|
||||
});
|
||||
//
|
||||
foreach ($files as $file) {
|
||||
@ -1116,11 +1117,11 @@ class FileController extends AbstractController
|
||||
$zip->close();
|
||||
//
|
||||
if ($progress < 100) {
|
||||
File::filePushMsg('compress', [
|
||||
File::pushMsgSimple('compress', [
|
||||
'name' => $fileName,
|
||||
'url' => $fileUrl,
|
||||
'progress' => 100
|
||||
]);
|
||||
], $userid);
|
||||
}
|
||||
//
|
||||
WebSocketDialogMsg::sendMsg(null, $dialog->id, 'template', [
|
||||
|
||||
@ -642,6 +642,29 @@ class File extends AbstractModel
|
||||
Task::deliver($task);
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件推送消息
|
||||
* @param $action
|
||||
* @param array|null $data 发送内容
|
||||
* @param int $userid 会员ID
|
||||
*/
|
||||
public static function pushMsgSimple($action, $data, $userid)
|
||||
{
|
||||
if (empty($data) || empty($userid)) {
|
||||
return;
|
||||
}
|
||||
$msg = [
|
||||
'type' => 'file',
|
||||
'action' => $action,
|
||||
'data' => $data,
|
||||
];
|
||||
$params = [
|
||||
'userid' => $userid,
|
||||
'msg' => $msg
|
||||
];
|
||||
Task::deliver(new PushTask($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取推送会员
|
||||
* @param $action
|
||||
@ -956,30 +979,6 @@ class File extends AbstractModel
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件推送消息
|
||||
* @param $action
|
||||
* @param array|null $data 发送内容
|
||||
* @param array $userid 会员ID
|
||||
*/
|
||||
public static function filePushMsg($action, $data = null, $userid = null)
|
||||
{
|
||||
$userid = User::userid();
|
||||
if (empty($userid)) {
|
||||
return;
|
||||
}
|
||||
$msg = [
|
||||
'type' => 'file',
|
||||
'action' => $action,
|
||||
'data' => $data,
|
||||
];
|
||||
$params = [
|
||||
'userid' => $userid,
|
||||
'msg' => $msg
|
||||
];
|
||||
Task::deliver(new PushTask($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文件类型判断是否需要安装应用
|
||||
* @param $type
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
|
||||
use App\Exceptions\ApiException;
|
||||
use App\Module\Base;
|
||||
use App\Module\Doo;
|
||||
@ -10,7 +9,6 @@ use App\Module\Table\OnlineData;
|
||||
use App\Services\RequestContext;
|
||||
use Cache;
|
||||
use Carbon\Carbon;
|
||||
use Request;
|
||||
|
||||
/**
|
||||
* App\Models\User
|
||||
@ -435,19 +433,6 @@ class User extends AbstractModel
|
||||
return $user->nickname;
|
||||
}
|
||||
|
||||
/**
|
||||
* 临时日志记录
|
||||
* @param $message
|
||||
* @return void
|
||||
*/
|
||||
private static function tmpLog($message)
|
||||
{
|
||||
if (Request::input('log') !== 'yes') {
|
||||
return;
|
||||
}
|
||||
info("[User] [" . date("Y-m-d H:i:s") . "] " . $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户身份认证(获取用户信息)
|
||||
* @param null $identity 判断身份
|
||||
@ -457,20 +442,11 @@ class User extends AbstractModel
|
||||
{
|
||||
$user = self::authInfo();
|
||||
if (!$user) {
|
||||
self::tmpLog('auth failed');
|
||||
$token = Base::token();
|
||||
if ($token) {
|
||||
UserDevice::forget($token);
|
||||
self::tmpLog('auth token found: ' . Base::array2json([
|
||||
'header' => Request::header(),
|
||||
'input' => Request::input(),
|
||||
]));
|
||||
throw new ApiException('身份已失效,请重新登录', [], -1);
|
||||
} else {
|
||||
self::tmpLog('auth no token found: ' . Base::array2json([
|
||||
'header' => Request::header(),
|
||||
'input' => Request::input(),
|
||||
]));
|
||||
throw new ApiException('请登录后继续...', [], -1);
|
||||
}
|
||||
}
|
||||
@ -489,31 +465,25 @@ class User extends AbstractModel
|
||||
*/
|
||||
private static function authInfo()
|
||||
{
|
||||
self::tmpLog('auth start');
|
||||
if (RequestContext::has('auth')) {
|
||||
// 缓存
|
||||
self::tmpLog('auth from cache');
|
||||
return RequestContext::get('auth');
|
||||
}
|
||||
if (Doo::userId() <= 0) {
|
||||
// 没有登录
|
||||
self::tmpLog('auth no login');
|
||||
return RequestContext::save('auth', false);
|
||||
}
|
||||
if (Doo::userExpired()) {
|
||||
// 登录过期
|
||||
self::tmpLog('auth expired');
|
||||
return RequestContext::save('auth', false);
|
||||
}
|
||||
if (!UserDevice::check()) {
|
||||
// token 不存在
|
||||
self::tmpLog('auth token not found');
|
||||
return RequestContext::save('auth', false);
|
||||
}
|
||||
$user = self::whereUserid(Doo::userId())->whereEmail(Doo::userEmail())->whereEncrypt(Doo::userEncrypt())->first();
|
||||
if (!$user) {
|
||||
// 登录信息不匹配
|
||||
self::tmpLog('auth user not found');
|
||||
return RequestContext::save('auth', false);
|
||||
}
|
||||
|
||||
@ -535,7 +505,6 @@ class User extends AbstractModel
|
||||
$user->updateInstance($upArray);
|
||||
$user->save();
|
||||
}
|
||||
self::tmpLog('auth success: ' . $user->userid . ' - ' . $user->email);
|
||||
return RequestContext::save('auth', $user);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user