mirror of
https://github.com/kuaifan/dootask.git
synced 2026-03-18 03:33:24 +00:00
perf: 优化ws重连规则
This commit is contained in:
parent
1bc614abd2
commit
150462354f
@ -14,6 +14,7 @@ use App\Models\UserDelete;
|
|||||||
use App\Models\UserDepartment;
|
use App\Models\UserDepartment;
|
||||||
use App\Models\UserEmailVerification;
|
use App\Models\UserEmailVerification;
|
||||||
use App\Models\UserTransfer;
|
use App\Models\UserTransfer;
|
||||||
|
use App\Models\WebSocket;
|
||||||
use App\Models\WebSocketDialog;
|
use App\Models\WebSocketDialog;
|
||||||
use App\Models\WebSocketDialogMsg;
|
use App\Models\WebSocketDialogMsg;
|
||||||
use App\Module\AgoraIO\AgoraTokenGenerator;
|
use App\Module\AgoraIO\AgoraTokenGenerator;
|
||||||
@ -1532,4 +1533,28 @@ class UsersController extends AbstractController
|
|||||||
//
|
//
|
||||||
return Base::retSuccess('success', $array);
|
return Base::retSuccess('success', $array);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @api {get} api/users/socket/status 27. 获取socket状态
|
||||||
|
*
|
||||||
|
* @apiDescription 需要token身份
|
||||||
|
* @apiVersion 1.0.0
|
||||||
|
* @apiGroup users
|
||||||
|
* @apiName socket__status
|
||||||
|
*
|
||||||
|
* @apiParam {String} [fd]
|
||||||
|
*
|
||||||
|
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||||
|
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||||
|
* @apiSuccess {Object} data 返回数据
|
||||||
|
*/
|
||||||
|
public function socket__status()
|
||||||
|
{
|
||||||
|
$fd = Request::exists('fd') ? Request::input('fd') : Request::header('fd');
|
||||||
|
$row = WebSocket::select(['id', 'fd', 'userid', 'updated_at'])->whereFd($fd)->first();
|
||||||
|
if (empty($row)) {
|
||||||
|
return Base::retError('error');
|
||||||
|
}
|
||||||
|
return Base::retSuccess('suceess', $row);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,10 +149,16 @@ export default {
|
|||||||
if (active) {
|
if (active) {
|
||||||
this.__windowTimer && clearTimeout(this.__windowTimer)
|
this.__windowTimer && clearTimeout(this.__windowTimer)
|
||||||
this.__windowTimer = setTimeout(_ => {
|
this.__windowTimer = setTimeout(_ => {
|
||||||
this.$store.dispatch("websocketSend", {
|
this.$store.dispatch("call", {
|
||||||
type: 'handshake',
|
url: "users/socket/status",
|
||||||
|
}).then(_ => {
|
||||||
|
this.$store.dispatch("websocketSend", {
|
||||||
|
type: 'handshake',
|
||||||
|
}).catch(_ => {
|
||||||
|
this.$store.dispatch("websocketConnection")
|
||||||
|
})
|
||||||
}).catch(_ => {
|
}).catch(_ => {
|
||||||
this.$store.dispatch("websocketConnection");
|
this.$store.dispatch("websocketConnection")
|
||||||
})
|
})
|
||||||
if (this.themeMode === "auto") {
|
if (this.themeMode === "auto") {
|
||||||
$A.dark.autoDarkMode()
|
$A.dark.autoDarkMode()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user