mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-14 12:42:51 +00:00
fix: 无法打包文件加载的情况
This commit is contained in:
parent
3f733ce857
commit
8597705a77
@ -1097,17 +1097,18 @@ class FileController extends AbstractController
|
|||||||
return Base::retError('创建压缩文件失败');
|
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);
|
Coroutine::sleep(0.1);
|
||||||
// 压缩进度
|
// 压缩进度
|
||||||
$progress = 0;
|
$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);
|
$progress = round($ratio * 100);
|
||||||
File::filePushMsg('compress', [
|
File::pushMsgSimple('compress', [
|
||||||
'name' => $fileName,
|
'name' => $fileName,
|
||||||
'url' => $fileUrl,
|
'url' => $fileUrl,
|
||||||
'progress' => $progress
|
'progress' => $progress
|
||||||
]);
|
], $userid);
|
||||||
});
|
});
|
||||||
//
|
//
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
@ -1116,11 +1117,11 @@ class FileController extends AbstractController
|
|||||||
$zip->close();
|
$zip->close();
|
||||||
//
|
//
|
||||||
if ($progress < 100) {
|
if ($progress < 100) {
|
||||||
File::filePushMsg('compress', [
|
File::pushMsgSimple('compress', [
|
||||||
'name' => $fileName,
|
'name' => $fileName,
|
||||||
'url' => $fileUrl,
|
'url' => $fileUrl,
|
||||||
'progress' => 100
|
'progress' => 100
|
||||||
]);
|
], $userid);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
WebSocketDialogMsg::sendMsg(null, $dialog->id, 'template', [
|
WebSocketDialogMsg::sendMsg(null, $dialog->id, 'template', [
|
||||||
|
|||||||
@ -642,6 +642,29 @@ class File extends AbstractModel
|
|||||||
Task::deliver($task);
|
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
|
* @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
|
* @param $type
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
|
||||||
use App\Exceptions\ApiException;
|
use App\Exceptions\ApiException;
|
||||||
use App\Module\Base;
|
use App\Module\Base;
|
||||||
use App\Module\Doo;
|
use App\Module\Doo;
|
||||||
@ -10,7 +9,6 @@ use App\Module\Table\OnlineData;
|
|||||||
use App\Services\RequestContext;
|
use App\Services\RequestContext;
|
||||||
use Cache;
|
use Cache;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Request;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* App\Models\User
|
* App\Models\User
|
||||||
@ -435,19 +433,6 @@ class User extends AbstractModel
|
|||||||
return $user->nickname;
|
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 判断身份
|
* @param null $identity 判断身份
|
||||||
@ -457,20 +442,11 @@ class User extends AbstractModel
|
|||||||
{
|
{
|
||||||
$user = self::authInfo();
|
$user = self::authInfo();
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
self::tmpLog('auth failed');
|
|
||||||
$token = Base::token();
|
$token = Base::token();
|
||||||
if ($token) {
|
if ($token) {
|
||||||
UserDevice::forget($token);
|
UserDevice::forget($token);
|
||||||
self::tmpLog('auth token found: ' . Base::array2json([
|
|
||||||
'header' => Request::header(),
|
|
||||||
'input' => Request::input(),
|
|
||||||
]));
|
|
||||||
throw new ApiException('身份已失效,请重新登录', [], -1);
|
throw new ApiException('身份已失效,请重新登录', [], -1);
|
||||||
} else {
|
} else {
|
||||||
self::tmpLog('auth no token found: ' . Base::array2json([
|
|
||||||
'header' => Request::header(),
|
|
||||||
'input' => Request::input(),
|
|
||||||
]));
|
|
||||||
throw new ApiException('请登录后继续...', [], -1);
|
throw new ApiException('请登录后继续...', [], -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -489,31 +465,25 @@ class User extends AbstractModel
|
|||||||
*/
|
*/
|
||||||
private static function authInfo()
|
private static function authInfo()
|
||||||
{
|
{
|
||||||
self::tmpLog('auth start');
|
|
||||||
if (RequestContext::has('auth')) {
|
if (RequestContext::has('auth')) {
|
||||||
// 缓存
|
// 缓存
|
||||||
self::tmpLog('auth from cache');
|
|
||||||
return RequestContext::get('auth');
|
return RequestContext::get('auth');
|
||||||
}
|
}
|
||||||
if (Doo::userId() <= 0) {
|
if (Doo::userId() <= 0) {
|
||||||
// 没有登录
|
// 没有登录
|
||||||
self::tmpLog('auth no login');
|
|
||||||
return RequestContext::save('auth', false);
|
return RequestContext::save('auth', false);
|
||||||
}
|
}
|
||||||
if (Doo::userExpired()) {
|
if (Doo::userExpired()) {
|
||||||
// 登录过期
|
// 登录过期
|
||||||
self::tmpLog('auth expired');
|
|
||||||
return RequestContext::save('auth', false);
|
return RequestContext::save('auth', false);
|
||||||
}
|
}
|
||||||
if (!UserDevice::check()) {
|
if (!UserDevice::check()) {
|
||||||
// token 不存在
|
// token 不存在
|
||||||
self::tmpLog('auth token not found');
|
|
||||||
return RequestContext::save('auth', false);
|
return RequestContext::save('auth', false);
|
||||||
}
|
}
|
||||||
$user = self::whereUserid(Doo::userId())->whereEmail(Doo::userEmail())->whereEncrypt(Doo::userEncrypt())->first();
|
$user = self::whereUserid(Doo::userId())->whereEmail(Doo::userEmail())->whereEncrypt(Doo::userEncrypt())->first();
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
// 登录信息不匹配
|
// 登录信息不匹配
|
||||||
self::tmpLog('auth user not found');
|
|
||||||
return RequestContext::save('auth', false);
|
return RequestContext::save('auth', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -535,7 +505,6 @@ class User extends AbstractModel
|
|||||||
$user->updateInstance($upArray);
|
$user->updateInstance($upArray);
|
||||||
$user->save();
|
$user->save();
|
||||||
}
|
}
|
||||||
self::tmpLog('auth success: ' . $user->userid . ' - ' . $user->email);
|
|
||||||
return RequestContext::save('auth', $user);
|
return RequestContext::save('auth', $user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user