From f9316f01e74209fd538d65d6fe977a79a335b97c Mon Sep 17 00:00:00 2001 From: fangxiang Date: Fri, 22 Jul 2022 14:50:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=82=B9=E5=87=BB=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8C=89=E9=92=AE=E5=90=8E=E4=B8=8D=E4=BC=9A=E7=AB=8B?= =?UTF-8?q?=E5=8D=B3=E8=BF=9B=E5=85=A5loading=E6=A8=A1=E5=BC=8F=E7=9A=84BU?= =?UTF-8?q?G=20PAD=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/en-US/index.ts | 2 + src/pad/Login.vue | 248 +++++++++++++++++++++------------------- src/pages/Login.vue | 6 +- 3 files changed, 134 insertions(+), 122 deletions(-) diff --git a/src/i18n/en-US/index.ts b/src/i18n/en-US/index.ts index 2aa66fb..efd16a8 100644 --- a/src/i18n/en-US/index.ts +++ b/src/i18n/en-US/index.ts @@ -318,4 +318,6 @@ export default { http: "Http", control: "Control", "restart now": "Restart Now", + _SOFT_PAD_LOGIN_TITLE_: "LEDPLAYER", + welcome: "Welcome", }; diff --git a/src/pad/Login.vue b/src/pad/Login.vue index 4ecc3a1..b5d21fe 100644 --- a/src/pad/Login.vue +++ b/src/pad/Login.vue @@ -11,7 +11,7 @@ class="full-height text-h4 text-white text-center text-weight-bold" style="position: fixed; writing-mode: vertical-lr; left: 56.5%" > - {{ $t("welcome") }}{{ $t("login") }} + {{ $t("welcome") }}{{ $t(" ") }}{{ $t("login") }}
- + { - data.loading = true; try { let global_data = GlobalData.getInstance(); - const url = - "ws://" + - data.ip_address + - ":" + - GlobalData.kDefaultWebsocektPort.toString() + - GlobalData.kWebsocketResource; - web_socket = new ClientConnection( - url, - data.user_name, - data.password == cache_password - ? data.password - : Md5.hashStr(data.password ?? "admin") - ); - let timer = setTimeout(() => { - web_socket?.destory(); - web_socket = null; - $q.notify({ - color: "negative", - icon: "warning", - message: - $t.t("login fail!") + - $t.t("connect time out!") + - $t.t( - "please check server state, or check server ip address!" - ), - position: "center", - timeout: 1500, - }); - SessionStorage.set("auth", PermissionLevel.None); - resolve(false); - data.loading = false; - }, 5000); - web_socket.login_callback = (is_login) => { - clearTimeout(timer); - if (is_login && web_socket) { - global_data.addClient(data.ip_address, web_socket); - global_data.setCurrentClientName(data.ip_address); - - SessionStorage.set("auth", PermissionLevel.Root); - SessionStorage.set("url", url); - SessionStorage.set("name", data.ip_address); - SessionStorage.set("user_name", data.user_name); - SessionStorage.set( - "password", - data.password == cache_password - ? data.password - : Md5.hashStr(data.password ?? "admin") - ); - - // TODO add self to setConnects - - if (remember_password.value) { - { - Cookies.set("remember_password", JSON.stringify(true), { - expires: 15, - }); - Cookies.set( - "auto_login", - JSON.stringify(auto_login.value), - { - expires: 15, - } - ); - Cookies.set("name", data.ip_address, { - expires: 15, - }); - Cookies.set("user_name", data.user_name ?? "admin", { - expires: 15, - }); - Cookies.set( - "password", - data.password == cache_password - ? data.password ?? Md5.hashStr("admin") - : Md5.hashStr(data.password ?? "admin"), - { - expires: 15, - } - ); + api + .get("/get_websocket_port") + .then((response) => { + let final_ws_port = GlobalData.kDefaultWebsocektPort; + if (response && typeof response.data != "undefined") { + if (typeof response.data != "number") { + const temp_port = parseInt(response.data); + if (!isNaN(temp_port) && temp_port != Infinity) { + final_ws_port = temp_port; + } + } else { + final_ws_port = response.data; } - } else { - Cookies.remove("remember_password"); - Cookies.remove("auto_login"); - Cookies.remove("name"); - Cookies.remove("user_name"); - Cookies.remove("password"); - } - - $store.commit("setDeviceIpAddress", data.ip_address); - - setTimeout(() => { - new Initializer({ - $t, - $store, - $q, - }) - .initialize() - .then(() => { - $store.commit("setInitialized"); + const url = + "ws://" + + data.ip_address + + ":" + + final_ws_port.toString() + + GlobalData.kWebsocketResource; + web_socket = new ClientConnection( + url, + data.user_name, + data.password == cache_password + ? data.password + : Md5.hashStr(data.password ?? "admin") + ); + let timer = setTimeout(() => { + web_socket?.destory(); + web_socket = null; + $q.notify({ + color: "negative", + icon: "warning", + message: + $t.t("login fail!") + + $t.t("connect time out!") + + $t.t( + "please check server state, or check server ip address!" + ), + position: "center", + timeout: 1500, }); - }, 0); + SessionStorage.set("auth", PermissionLevel.None); + resolve(false); + data.loading = false; + }, 5000); + web_socket.login_callback = (is_login) => { + clearTimeout(timer); + if (is_login && web_socket) { + global_data.addClient(data.ip_address, web_socket); + global_data.setCurrentClientName(data.ip_address); - $route.push("/"); - } else { - $q.notify({ - color: "negative", - icon: "warning", - message: - $t.t("login fail!") + $t.t("user or password error!"), - position: "center", - timeout: 1500, - }); - SessionStorage.set("auth", PermissionLevel.None); - } - resolve(true); - data.loading = false; - }; + SessionStorage.set("auth", PermissionLevel.Root); + SessionStorage.set("url", url); + SessionStorage.set("name", data.ip_address); + SessionStorage.set("user_name", data.user_name); + SessionStorage.set( + "password", + data.password == cache_password + ? data.password + : Md5.hashStr(data.password ?? "admin") + ); + + // TODO add self to setConnects + + if (remember_password.value) { + Cookies.set("remember_password", JSON.stringify(true), { + expires: 15, + }); + Cookies.set( + "auto_login", + JSON.stringify(auto_login.value), + { + expires: 15, + } + ); + Cookies.set("user_name", data.user_name ?? "admin", { + expires: 15, + }); + Cookies.set( + "password", + data.password == cache_password + ? data.password ?? Md5.hashStr("admin") + : Md5.hashStr(data.password ?? "admin"), + { + expires: 15, + } + ); + } else { + Cookies.remove("remember_password"); + Cookies.remove("auto_login"); + Cookies.remove("name"); + Cookies.remove("user_name"); + Cookies.remove("password"); + } + + $store.commit("setDeviceIpAddress", data.ip_address); + + setTimeout(() => { + new Initializer({ + $t, + $store, + $q, + }) + .initialize() + .then(() => { + $store.commit("setInitialized"); + }); + }, 0); + + $route.push("/"); + } else { + $q.notify({ + color: "negative", + icon: "warning", + message: + $t.t("login fail!") + $t.t("user or password error!"), + position: "center", + timeout: 1500, + }); + SessionStorage.set("auth", PermissionLevel.None); + } + resolve(true); + data.loading = false; + }; + } + }) + .catch(() => { + resolve(true); + data.loading = false; + }); } catch { resolve(true); data.loading = false; diff --git a/src/pages/Login.vue b/src/pages/Login.vue index 496953e..59182fa 100644 --- a/src/pages/Login.vue +++ b/src/pages/Login.vue @@ -314,8 +314,8 @@ export default defineComponent({ landspace, is_pwa, async onSubmit() { + data.loading = true; return new Promise((resolve) => { - data.loading = true; try { let global_data = GlobalData.getInstance(); api @@ -447,10 +447,6 @@ export default defineComponent({ .catch(() => { resolve(true); data.loading = false; - }) - .finally(() => { - resolve(true); - data.loading = false; }); } catch { resolve(true);