Quellcode durchsuchen

Merge branch 'beta' into HK

lsc vor 2 Wochen
Ursprung
Commit
5e5441bab0
5 geänderte Dateien mit 244 neuen und 43 gelöschten Zeilen
  1. 1 0
      js/Desktop/DeskTop.js
  2. 34 3
      js/Desktop/Onload.js
  3. 77 20
      js/liyuan/Onload.js
  4. 77 20
      js/liyuan/Onload2.js
  5. 55 0
      szdjg/Onload.js

+ 1 - 0
js/Desktop/DeskTop.js

@@ -783,6 +783,7 @@ U.MD.D.I.tycyStudentDeskIcon = [
     { "Name": "AI共創", "Url": "AIChat", "style": { "cssText": "background-image:url(/img/icon/AIChat.png)" } },
     { "Name": "AI協同", "Url": "ainew", "style": { "cssText": "background-image:url(/img/icon/AIChat.png)" } },
     { "Name": "協同建構", "Url": "futureClass", "style": { "cssText": "background-image:url(/img/icon/futureClass.png)" } },
+    { "Name": "CocoFlow", "Url": "appStore", "style": { "cssText": "background-image:url(/img/icon/appStore.png)" } },
 ];
 
 //hk

+ 34 - 3
js/Desktop/Onload.js

@@ -44,12 +44,12 @@ window.onload = function () {
     //     // window.location.reload();
     // })
 
-    window.addEventListener('beforeunload', function (event) { 
+    window.onbeforeunload = function (event) { 
         // 阻止默认行为 
         event.preventDefault(); 
         event.returnValue = ''; 
         // / 对某些浏览器有效 
-    });
+    }
 }
 
 US.Config = {
@@ -322,11 +322,12 @@ U.MD.D.error = function (errorMessage, scripturi, linenumber, columnnumber, erro
  * 用戶登錄處理
  */
 let LoginState = false
+let CookieS = ''
 U.MD.D.getuser = function () {
     // $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gif/longhuaBg.gif")'
     var userInfo = US.userInfo;
     var panId = userInfo && userInfo.accountNumber
-    if (!LoginState &&!panId && !U.UF.C.queryString('code') && !U.UF.C.queryString('tycode')) {
+    if (!LoginState && !panId && !U.UF.C.queryString('code') && !U.UF.C.queryString('tycode')) {
         LoginState = true
         var _cookie = U.UF.Cookie.get("cocorobo");
         try {
@@ -677,6 +678,36 @@ U.MD.D.getuser = function () {
             });
         }
     }
+    var _cookie = U.UF.Cookie.get("cocorobo");
+    if(LoginState && !_cookie){
+        window.onbeforeunload = null
+        window.location.reload();
+    }else if(LoginState && !CookieS){
+        CookieS = _cookie
+    }else if(LoginState && _cookie != CookieS){
+        US.userInfo = {}
+        U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
+            if (res.value && res.value[0] && res.value[0][0]) {
+                var _user = res.value[0][0];
+                U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
+                    if (res.value && res.value[0] && res.value[0][0]) {
+                        US.userInfo = res.value[0][0]; //记录用户数据
+                        US.userInfo.userid = _user.userid;
+
+                        selectUser(_user.userid, (res) => {
+                          loginSet(res.value[0][0], res);
+                        });
+                    }else {
+                        LoginState = false
+                    }
+
+                }, [], { "type": "GET", "withCredentials": true });
+            }else {
+                window.onbeforeunload = null
+                window.location.reload();
+            }
+        }, [], { "type": "GET", "withCredentials": true });
+    }
 }
 
 U.MD.D.addLoginTime = function(){

+ 77 - 20
js/liyuan/Onload.js

@@ -316,31 +316,43 @@ U.MD.D.error = function (errorMessage, scripturi, linenumber, columnnumber, erro
  * 用户登录处理
  */
 let LoginState = false
+let CookieS = ''
 U.MD.D.getuser = function () {
     // $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gif/longhuaBg.gif")'
     var userInfo = US.userInfo;
     var panId = userInfo && userInfo.accountNumber
-    if (!panId && !U.UF.C.queryString('code') && !U.UF.C.queryString('tycode')) {
+    if (!LoginState && !panId && !U.UF.C.queryString('code') && !U.UF.C.queryString('tycode')) {
+        LoginState = true
         var _cookie = U.UF.Cookie.get("cocorobo");
-        if (!panId && _cookie) {
-            U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
-                if (res.value && res.value[0] && res.value[0][0]) {
-                    var _user = res.value[0][0];
-                    U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
-                        if (res.value && res.value[0] && res.value[0][0]) {
-                            US.userInfo = res.value[0][0]; //记录用户数据
-                            US.userInfo.userid = _user.userid;
-                            if ($("#U_MD_HomeC_Pop")[0]) {
-                                $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆
+        try {
+            if (!panId && _cookie) {
+                U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
+                    if (res.value && res.value[0] && res.value[0][0]) {
+                        var _user = res.value[0][0];
+                        U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
+                            if (res.value && res.value[0] && res.value[0][0]) {
+                                US.userInfo = res.value[0][0]; //记录用户数据
+                                US.userInfo.userid = _user.userid;
+                                // if ($("#U_MD_HomeC_Pop")[0]) {
+                                //     $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆
+                                // }
+                                selectUser(_user.userid, (res) => {
+                                  loginSet(res.value[0][0], res);
+                                });
+                            }else {
+                                LoginState = false
                             }
-                            selectUser(_user.userid, (res) => {
-                              loginSet(res.value[0][0], res);
-                            });
-                        }
 
-                    }, [], { "type": "GET", "withCredentials": true });
-                }
-            }, [], { "type": "GET", "withCredentials": true });
+                        }, [], { "type": "GET", "withCredentials": true });
+                    }else {
+                        LoginState = false
+                    }
+                }, [], { "type": "GET", "withCredentials": true });
+            }else {
+                LoginState = false
+            }
+        } catch (error) {
+            LoginState = false
         }
     }else if(!LoginState && !panId && U.UF.C.queryString('code').length === 32){
         if($("#U_MD_HomeC_Pop")[0]){
@@ -660,6 +672,37 @@ U.MD.D.getuser = function () {
             });
         }
     }
+
+    var _cookie = U.UF.Cookie.get("cocorobo");
+    if(LoginState && !_cookie){
+        window.onbeforeunload = null
+        window.location.reload();
+    }else if(LoginState && !CookieS){
+        CookieS = _cookie
+    }else if(LoginState && _cookie != CookieS){
+        US.userInfo = {}
+        U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
+            if (res.value && res.value[0] && res.value[0][0]) {
+                var _user = res.value[0][0];
+                U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
+                    if (res.value && res.value[0] && res.value[0][0]) {
+                        US.userInfo = res.value[0][0]; //记录用户数据
+                        US.userInfo.userid = _user.userid;
+                        
+                        selectUser(_user.userid, (res) => {
+                          loginSet(res.value[0][0], res);
+                        });
+                    }else {
+                        LoginState = false
+                    }
+
+                }, [], { "type": "GET", "withCredentials": true });
+            }else {
+                window.onbeforeunload = null
+                window.location.reload();
+            }
+        }, [], { "type": "GET", "withCredentials": true });
+    }
 }
 
 U.MD.D.addLoginTime = function(){
@@ -1175,9 +1218,22 @@ function loginSet(userInfo, res){
 
 
 function selectUser(uid, callback) {
+    var userInfo = US.userInfo;
+    var panId = userInfo && userInfo.accountNumber
+    if(panId){
+        let res = {value:[[userInfo]]}
+        if (callback) callback(res);
+        return
+    }
     const requestUser = () => {
-        U.A.Request(US.Config.pbl + "selectUser?userid=" + uid, [], function (res) {
-            if (callback) callback(res);
+        U.A.Request(`${US.Config.pbl}selectUser?userid=${uid}`, [], function (res) {
+            if(res && res.value && res.value.length && res.value[0].length && res.value[0][0].userid){
+                if (callback) callback(res);
+            }else {
+                U.alert("获取用户信息失败,正在重试!")
+                LoginState = false
+                requestUser();
+            }
         }, [], { "type": "GET", "withCredentials": true });
     };
 
@@ -1185,6 +1241,7 @@ function selectUser(uid, callback) {
         requestUser();
     } catch (error) {
         U.alert("登录失败,正在重试!")
+        LoginState = false
         requestUser();
     }
 }

+ 77 - 20
js/liyuan/Onload2.js

@@ -316,31 +316,43 @@ U.MD.D.error = function (errorMessage, scripturi, linenumber, columnnumber, erro
  * 用户登录处理
  */
 let LoginState = false
+let CookieS = ''
 U.MD.D.getuser = function () {
     // $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gif/longhuaBg.gif")'
     var userInfo = US.userInfo;
     var panId = userInfo && userInfo.accountNumber
-    if (!panId && !U.UF.C.queryString('code') && !U.UF.C.queryString('tycode')) {
+    if (!LoginState && !panId && !U.UF.C.queryString('code') && !U.UF.C.queryString('tycode')) {
+        LoginState = true
         var _cookie = U.UF.Cookie.get("cocorobo");
-        if (!panId && _cookie) {
-            U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
-                if (res.value && res.value[0] && res.value[0][0]) {
-                    var _user = res.value[0][0];
-                    U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
-                        if (res.value && res.value[0] && res.value[0][0]) {
-                            US.userInfo = res.value[0][0]; //记录用户数据
-                            US.userInfo.userid = _user.userid;
-                            if ($("#U_MD_HomeC_Pop")[0]) {
-                                $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆
+        try {
+            if (!panId && _cookie) {
+                U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
+                    if (res.value && res.value[0] && res.value[0][0]) {
+                        var _user = res.value[0][0];
+                        U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
+                            if (res.value && res.value[0] && res.value[0][0]) {
+                                US.userInfo = res.value[0][0]; //记录用户数据
+                                US.userInfo.userid = _user.userid;
+                                // if ($("#U_MD_HomeC_Pop")[0]) {
+                                //     $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆
+                                // }
+                                selectUser(_user.userid, (res) => {
+                                  loginSet(res.value[0][0], res);
+                                });
+                            }else {
+                                LoginState = false
                             }
-                            selectUser(_user.userid, (res) => {
-                              loginSet(res.value[0][0], res);
-                            });
-                        }
 
-                    }, [], { "type": "GET", "withCredentials": true });
-                }
-            }, [], { "type": "GET", "withCredentials": true });
+                        }, [], { "type": "GET", "withCredentials": true });
+                    }else {
+                        LoginState = false
+                    }
+                }, [], { "type": "GET", "withCredentials": true });
+            }else {
+                LoginState = false
+            }
+        } catch (error) {
+            LoginState = false
         }
     }else if(!LoginState && !panId && U.UF.C.queryString('code').length === 32){
         if($("#U_MD_HomeC_Pop")[0]){
@@ -660,6 +672,37 @@ U.MD.D.getuser = function () {
             });
         }
     }
+
+    var _cookie = U.UF.Cookie.get("cocorobo");
+    if(LoginState && !_cookie){
+        window.onbeforeunload = null
+        window.location.reload();
+    }else if(LoginState && !CookieS){
+        CookieS = _cookie
+    }else if(LoginState && _cookie != CookieS){
+        US.userInfo = {}
+        U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
+            if (res.value && res.value[0] && res.value[0][0]) {
+                var _user = res.value[0][0];
+                U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
+                    if (res.value && res.value[0] && res.value[0][0]) {
+                        US.userInfo = res.value[0][0]; //记录用户数据
+                        US.userInfo.userid = _user.userid;
+                        
+                        selectUser(_user.userid, (res) => {
+                          loginSet(res.value[0][0], res);
+                        });
+                    }else {
+                        LoginState = false
+                    }
+
+                }, [], { "type": "GET", "withCredentials": true });
+            }else {
+                window.onbeforeunload = null
+                window.location.reload();
+            }
+        }, [], { "type": "GET", "withCredentials": true });
+    }
 }
 
 U.MD.D.addLoginTime = function(){
@@ -1175,9 +1218,22 @@ function loginSet(userInfo, res){
 
 
 function selectUser(uid, callback) {
+    var userInfo = US.userInfo;
+    var panId = userInfo && userInfo.accountNumber
+    if(panId){
+        let res = {value:[[userInfo]]}
+        if (callback) callback(res);
+        return
+    }
     const requestUser = () => {
-        U.A.Request(US.Config.pbl + "selectUser?userid=" + uid, [], function (res) {
-            if (callback) callback(res);
+        U.A.Request(`${US.Config.pbl}selectUser?userid=${uid}`, [], function (res) {
+            if(res && res.value && res.value.length && res.value[0].length && res.value[0][0].userid){
+                if (callback) callback(res);
+            }else {
+                U.alert("获取用户信息失败,正在重试!")
+                LoginState = false
+                requestUser();
+            }
         }, [], { "type": "GET", "withCredentials": true });
     };
 
@@ -1185,6 +1241,7 @@ function selectUser(uid, callback) {
         requestUser();
     } catch (error) {
         U.alert("登录失败,正在重试!")
+        LoginState = false
         requestUser();
     }
 }

+ 55 - 0
szdjg/Onload.js

@@ -314,6 +314,7 @@ U.MD.D.error = function (errorMessage, scripturi, linenumber, columnnumber, erro
 /**
  * 用户登录处理
  */
+let CookieS = ""
 U.MD.D.getuser = function () {
     // $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gif/longhuaBg.gif")'
     var userInfo = US.userInfo;
@@ -564,6 +565,33 @@ U.MD.D.getuser = function () {
             }
         }
     }
+
+    var _cookie = U.UF.Cookie.get("cocorobo");
+    if(!CookieS){
+        CookieS = _cookie
+    }else if(_cookie != CookieS){
+        US.userInfo = {}
+        U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
+            if (res.value && res.value[0] && res.value[0][0]) {
+                var _user = res.value[0][0];
+                U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
+                    if (res.value && res.value[0] && res.value[0][0]) {
+                        US.userInfo = res.value[0][0]; //记录用户数据
+                        US.userInfo.userid = _user.userid;
+                        
+                        selectUser(_user.userid, (res) => {
+                          loginSet(res.value[0][0], res);
+                        });
+                    }else {
+                        LoginState = false
+                    }
+
+                }, [], { "type": "GET", "withCredentials": true });
+            }else {
+                LoginState = false
+            }
+        }, [], { "type": "GET", "withCredentials": true });
+    }
 }
 
 U.MD.D.addLoginTime = function(){
@@ -947,7 +975,34 @@ U.MD.D.getNotice = function () {
 //  video.addEventListener("ended", () => {
 //    document.body.removeChild(video);
 //  });
+function detectBrowser() {
+  const ua = navigator.userAgent;
 
+  // 按优先级顺序检测
+  if (ua.includes("Edg/") || ua.includes("Edge/")) {
+      return "Microsoft Edge";
+  } else if (ua.includes("Firefox")) {
+      return "Mozilla Firefox";
+  } else if (ua.includes("Trident") || ua.includes("MSIE")) {
+      return "Internet Explorer";
+  } else if (ua.includes("360EE")) {
+      return "360 Browser (极速模式)";
+  } else if (ua.includes("360SE")) {
+      return "360 Browser (安全模式)";
+  } else if (ua.includes("SLBrowser")) {
+      return "QQ Browser";
+  } else if (ua.includes("UCBrowser")) {
+      return "UC Browser";
+  } else if (ua.includes("Opera") || ua.includes("OPR/")) {
+      return "Opera";
+  } else if (ua.includes("Chrome") && !ua.includes("Edg/")) {
+      return "Google Chrome";
+  } else if (ua.includes("Safari/") && !ua.includes("Chrome")) {
+      return "Safari";
+  } else {
+      return "Other Browser";
+  }
+}
 U.MD.D.addOp3 = async (userTime, loadTime, object, status) => {
   let browser = detectBrowser()
   let _time = new Date().toLocaleString('zh-CN', { hour12: false, timeZone: 'Asia/Shanghai' }).replace(/\//g, '-');