SanHQin 3 giorni fa
parent
commit
eac64ea091

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.78ab0b4cb125d95bee658ef1fd040eab.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.8f06678bae73713256f1.js></script><script type=text/javascript src=./static/js/app.a52d2bf7de342f3bb501.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.30cc4cbdc7c7f405593e20ea01db49e6.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.8f06678bae73713256f1.js></script><script type=text/javascript src=./static/js/app.5fb9aca3dc88195500f8.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.30cc4cbdc7c7f405593e20ea01db49e6.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.30cc4cbdc7c7f405593e20ea01db49e6.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.78ab0b4cb125d95bee658ef1fd040eab.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.5fb9aca3dc88195500f8.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.5fb9aca3dc88195500f8.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.a52d2bf7de342f3bb501.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.a52d2bf7de342f3bb501.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


+ 175 - 168
src/components/pages/inviteLoginST/inviteLogin.vue

@@ -1,229 +1,236 @@
 <template>
-    <div class="container" v-loading="loading">
-				<div class="loginOut" v-show="showLoadingOut">
-					<span @click="loginOut">退出登录</span>
-				</div>
-				<div class="c-box">
-					<div class="c-b-left"></div>
-					<div class="c-b-right">
-						<!-- <div class="c-b-r-closeArea">
-							<span class="el-icon-close c-b-r-ca-btn"></span>
-						</div> -->
-						<div class="c-b-r-main">
-							<div class="c-b-r-m-title">欢迎登录!</div>
-							<div class="c-b-r-m-smallTitle">请选择登录角色</div>
-							<div class="c-b-r-m-identity">
-								<div class="c-b-r-m-i-item" @click.stop="clickIdentity(0)">
-									<div class="c-b-r-m-i-itemSvg">
-										<svg width="48" height="48" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M20.2969 5.57812C26.3288 5.57812 31.2188 10.468 31.2188 16.5C31.2188 20.3947 29.1802 23.8133 26.1118 25.7469V25.7464C29.8475 27.3133 32.8847 30.2153 34.6266 33.8555L41.5929 23.8744C42.0671 23.1951 43.0021 23.0288 43.6815 23.5028C44.354 23.9722 44.5238 24.8934 44.067 25.571L44.053 25.5914L36.0582 37.046C35.9913 37.1419 35.9136 37.2297 35.8264 37.3075C36.0935 38.485 36.2344 39.7104 36.2344 40.9688C36.2344 41.7972 35.5628 42.4688 34.7344 42.4688C33.9142 42.4688 33.2478 41.8105 33.2346 40.9936L33.2344 40.9688C33.2344 33.5129 27.1902 27.4688 19.7344 27.4688C12.3531 27.4688 6.35541 33.3926 6.2362 40.7455L6.23438 40.9688C6.23438 41.7972 5.5628 42.4688 4.73438 42.4688C3.90595 42.4688 3.23438 41.7972 3.23438 40.9688C3.23438 33.8485 7.74441 27.7817 14.0636 25.4691L14.0634 25.4695C11.2296 23.4965 9.375 20.2148 9.375 16.5C9.375 10.468 14.2649 5.57812 20.2969 5.57812ZM20.2969 8.57812C15.9218 8.57812 12.375 12.1249 12.375 16.5C12.375 20.8751 15.9218 24.4219 20.2969 24.4219C24.672 24.4219 28.2188 20.8751 28.2188 16.5C28.2188 12.1249 24.672 8.57812 20.2969 8.57812ZM43.2188 13.1719C44.0472 13.1719 44.7188 13.8435 44.7188 14.6719C44.7188 15.492 44.0605 16.1584 43.2436 16.1717L43.2188 16.1719H37.5938C36.7653 16.1719 36.0938 15.5003 36.0938 14.6719C36.0938 13.8518 36.752 13.1853 37.5689 13.1721L37.5938 13.1719H43.2188ZM43.2188 6.5625C44.0472 6.5625 44.7188 7.23408 44.7188 8.0625C44.7188 8.88263 44.0605 9.54905 43.2436 9.56231L43.2188 9.5625H33.6562C32.8278 9.5625 32.1562 8.89092 32.1562 8.0625C32.1562 7.24238 32.8145 6.57595 33.6314 6.56269L33.6562 6.5625H43.2188Z"></path></svg>
-									</div>
-									<span>教师</span>
-								</div>
-
-								<div class="c-b-r-m-i-item" @click.stop="clickIdentity(1)">
-									<div class="c-b-r-m-i-itemSvg">
-										<svg width="48" height="48" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.23171 34.3357C7.77909 34.1786 6.48177 34.0663 5.60693 34.0038C4.78061 33.9448 4.0629 34.5668 4.00388 35.3931C3.94485 36.2195 4.56687 36.9372 5.39319 36.9962C6.40933 37.0688 8.04552 37.2134 9.82611 37.4213C12.0643 37.6826 14.4587 38.0358 16.1363 38.4552C19.2155 39.225 22.9257 40.7195 24.3909 41.3707C24.7457 41.5284 25.1478 41.5424 25.5127 41.4097C27.3234 40.7512 31.8193 39.2434 35.3255 38.4643C36.9179 38.1104 38.6493 37.8077 40.2266 37.5667C42.1198 37.2775 43.7672 37.0808 44.6493 36.9926C45.4736 36.9101 46.0751 36.1751 45.9926 35.3507C45.9102 34.5264 45.1751 33.925 44.3508 34.0074C43.5761 34.0849 42.2795 34.2375 40.7553 34.4559C39.6545 32.7924 37.8888 30.7004 35.5826 28.9093C32.8401 26.7793 29.233 25 25.0001 25C20.7743 25 17.1703 26.7481 14.4267 28.845C12.1067 30.6182 10.3326 32.6918 9.23171 34.3357ZM12.6405 34.7614C14.157 34.98 15.6523 35.2419 16.8639 35.5448C19.8372 36.2881 23.2666 37.6262 25.0535 38.3878C27.1705 37.6408 31.3133 36.2827 34.6747 35.5357C35.5779 35.335 36.5165 35.1514 37.4428 34.986C36.5202 33.7997 35.2683 32.4637 33.7425 31.2787C31.3434 29.4154 28.3671 28 25.0001 28C21.6258 28 18.6465 29.3957 16.2484 31.2286C14.7721 32.3569 13.5528 33.6239 12.6405 34.7614Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M25 25C28.866 25 32 21.866 32 18C32 14.134 28.866 11 25 11C21.134 11 18 14.134 18 18C18 21.866 21.134 25 25 25ZM25 28C30.5228 28 35 23.5228 35 18C35 12.4772 30.5228 8 25 8C19.4772 8 15 12.4772 15 18C15 23.5228 19.4772 28 25 28Z"></path></svg>
-									</div>
-									<span>学生</span>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-    </div>
+  <div class="container" v-loading="loading">
+      <div class="loginOut" v-show="showLoadingOut">
+        <span @click="loginOut">退出登录</span>
+      </div>
+      <div class="c-box">
+        <div class="c-b-left"></div>
+        <div class="c-b-right">
+          <!-- <div class="c-b-r-closeArea">
+            <span class="el-icon-close c-b-r-ca-btn"></span>
+          </div> -->
+          <div class="c-b-r-main">
+            <div class="c-b-r-m-title">欢迎登录!</div>
+            <div class="c-b-r-m-smallTitle">请选择登录角色</div>
+            <div class="c-b-r-m-identity">
+              <!-- <div class="c-b-r-m-i-item" @click.stop="clickIdentity(0)">
+                <div class="c-b-r-m-i-itemSvg">
+                  <svg width="48" height="48" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M20.2969 5.57812C26.3288 5.57812 31.2188 10.468 31.2188 16.5C31.2188 20.3947 29.1802 23.8133 26.1118 25.7469V25.7464C29.8475 27.3133 32.8847 30.2153 34.6266 33.8555L41.5929 23.8744C42.0671 23.1951 43.0021 23.0288 43.6815 23.5028C44.354 23.9722 44.5238 24.8934 44.067 25.571L44.053 25.5914L36.0582 37.046C35.9913 37.1419 35.9136 37.2297 35.8264 37.3075C36.0935 38.485 36.2344 39.7104 36.2344 40.9688C36.2344 41.7972 35.5628 42.4688 34.7344 42.4688C33.9142 42.4688 33.2478 41.8105 33.2346 40.9936L33.2344 40.9688C33.2344 33.5129 27.1902 27.4688 19.7344 27.4688C12.3531 27.4688 6.35541 33.3926 6.2362 40.7455L6.23438 40.9688C6.23438 41.7972 5.5628 42.4688 4.73438 42.4688C3.90595 42.4688 3.23438 41.7972 3.23438 40.9688C3.23438 33.8485 7.74441 27.7817 14.0636 25.4691L14.0634 25.4695C11.2296 23.4965 9.375 20.2148 9.375 16.5C9.375 10.468 14.2649 5.57812 20.2969 5.57812ZM20.2969 8.57812C15.9218 8.57812 12.375 12.1249 12.375 16.5C12.375 20.8751 15.9218 24.4219 20.2969 24.4219C24.672 24.4219 28.2188 20.8751 28.2188 16.5C28.2188 12.1249 24.672 8.57812 20.2969 8.57812ZM43.2188 13.1719C44.0472 13.1719 44.7188 13.8435 44.7188 14.6719C44.7188 15.492 44.0605 16.1584 43.2436 16.1717L43.2188 16.1719H37.5938C36.7653 16.1719 36.0938 15.5003 36.0938 14.6719C36.0938 13.8518 36.752 13.1853 37.5689 13.1721L37.5938 13.1719H43.2188ZM43.2188 6.5625C44.0472 6.5625 44.7188 7.23408 44.7188 8.0625C44.7188 8.88263 44.0605 9.54905 43.2436 9.56231L43.2188 9.5625H33.6562C32.8278 9.5625 32.1562 8.89092 32.1562 8.0625C32.1562 7.24238 32.8145 6.57595 33.6314 6.56269L33.6562 6.5625H43.2188Z"></path></svg>
+                </div>
+                <span>教师</span>
+              </div> -->
+
+              <div class="c-b-r-m-i-item" @click.stop="clickIdentity(1)">
+                <div class="c-b-r-m-i-itemSvg">
+                  <svg width="48" height="48" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.23171 34.3357C7.77909 34.1786 6.48177 34.0663 5.60693 34.0038C4.78061 33.9448 4.0629 34.5668 4.00388 35.3931C3.94485 36.2195 4.56687 36.9372 5.39319 36.9962C6.40933 37.0688 8.04552 37.2134 9.82611 37.4213C12.0643 37.6826 14.4587 38.0358 16.1363 38.4552C19.2155 39.225 22.9257 40.7195 24.3909 41.3707C24.7457 41.5284 25.1478 41.5424 25.5127 41.4097C27.3234 40.7512 31.8193 39.2434 35.3255 38.4643C36.9179 38.1104 38.6493 37.8077 40.2266 37.5667C42.1198 37.2775 43.7672 37.0808 44.6493 36.9926C45.4736 36.9101 46.0751 36.1751 45.9926 35.3507C45.9102 34.5264 45.1751 33.925 44.3508 34.0074C43.5761 34.0849 42.2795 34.2375 40.7553 34.4559C39.6545 32.7924 37.8888 30.7004 35.5826 28.9093C32.8401 26.7793 29.233 25 25.0001 25C20.7743 25 17.1703 26.7481 14.4267 28.845C12.1067 30.6182 10.3326 32.6918 9.23171 34.3357ZM12.6405 34.7614C14.157 34.98 15.6523 35.2419 16.8639 35.5448C19.8372 36.2881 23.2666 37.6262 25.0535 38.3878C27.1705 37.6408 31.3133 36.2827 34.6747 35.5357C35.5779 35.335 36.5165 35.1514 37.4428 34.986C36.5202 33.7997 35.2683 32.4637 33.7425 31.2787C31.3434 29.4154 28.3671 28 25.0001 28C21.6258 28 18.6465 29.3957 16.2484 31.2286C14.7721 32.3569 13.5528 33.6239 12.6405 34.7614Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M25 25C28.866 25 32 21.866 32 18C32 14.134 28.866 11 25 11C21.134 11 18 14.134 18 18C18 21.866 21.134 25 25 25ZM25 28C30.5228 28 35 23.5228 35 18C35 12.4772 30.5228 8 25 8C19.4772 8 15 12.4772 15 18C15 23.5228 19.4772 28 25 28Z"></path></svg>
+                </div>
+                <span>学生</span>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+  </div>
 </template>
 
 <script>
 export default {
-    data() {
-        return {
-            userid: "",
-            options: [],
-            loading: false,
-            res: {},
-            classJuri: [],
-            code: this.$route.query.code,
-            courseId:"",
-						chooseData:{},
-						showLoadingOut:false,
-        }
+  data() {
+      return {
+          userid: "",
+          options: [],
+          loading: false,
+          res: {},
+          classJuri: [],
+          code: this.$route.query.code,
+          courseId:"",
+          chooseData:{},
+          showLoadingOut:false,
+      }
+  },
+  methods: {
+    clickIdentity(type){
+      if(type==0){//教师
+         window.topU.postMessage(
+            {
+                tools: "loginSz",
+            },
+            "*"
+        );
+      }else if(type==1){//学生
+         window.topU.postMessage(
+            {
+                tools: "inviteLoginSz",
+                cid:"16ace517-b5c7-4168-a9bb-a9e0035df840"
+            },
+            "*"
+        );
+      }
+    },
+    loginOut(){
+       window.topU.postMessage({
+        tools:"logout"
+      },"*")
     },
-    methods: {
-			clickIdentity(type){
-				if(type==0){//教师
-					window.topU.postMessage(
-              {
-                  tools: "loginSz",
-              },
-              "*"
-          );
-				}else if(type==1){//学生
-					window.topU.postMessage(
-              {
-                  tools: "inviteLoginSz",
-									cid:"16ace517-b5c7-4168-a9bb-a9e0035df840"
-              },
-              "*"
-          );
-				}
-			},
-			loginOut(){
-				window.topU.postMessage({
-					tools:"logout"
-				},"*")
-			},
-		},
-		mounted() {
-			setInterval(() => {
-				window.topU.postMessage({
-					tools:"getLogin"
-				},"*")
-				console.log("获取getLogin")
-			}, 2000);
-			window.addEventListener("message",(e)=>{
-				let data = e.data;
-				console.log("message",e)
-				if(data.tools && data.tools=='getLogin'){
-					if(data.type===2){
-						this.showLoadingOut = false;
-					}else if(data.type===1){
-						this.showLoadingOut = true;
-					}
-				}
-			})
-		},
+  },
+  mounted() {
+    this.$router.push({
+      name:"inviteLoginSZ",
+      query:{
+        code:this.code,
+      }
+    })
+    setInterval(() => {
+       window.topU.postMessage({
+        tools:"getLogin"
+      },"*")
+      console.log("获取getLogin")
+    }, 2000);
+    window.addEventListener("message",(e)=>{
+      let data = e.data;
+      console.log("message",e)
+      if(data.tools && data.tools=='getLogin'){
+        if(data.type===2){
+          this.showLoadingOut = false;
+        }else if(data.type===1){
+          this.showLoadingOut = true;
+        }
+      }
+    })
+
+  },
 }
 </script>
 
 <style scoped>
 .container {
-    width: 100vw;
-    height: 100vh;
-    overflow: hidden;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		background: url("../../../assets/inviteLoginSZBG.png") no-repeat;
-		background-size: 100% 100%;
-		position: relative;
+  width: 100vw;
+  height: 100vh;
+  overflow: hidden;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  background: url("../../../assets/inviteLoginSZBG.png") no-repeat;
+  background-size: 100% 100%;
+  position: relative;
 }
 
 .loginOut{
-	position: absolute;
-	right: 30px;
-	top: 30px;
-	width: auto;
-	height: auto;
-	display: flex;
-	justify-content: center;
-	align-items: center;
+position: absolute;
+right: 30px;
+top: 30px;
+width: auto;
+height: auto;
+display: flex;
+justify-content: center;
+align-items: center;
 }
 
 .loginOut>span{
-	font-size: 24px;
-	color: #fff;
-	font-weight: bold;
-	cursor: pointer;
+font-size: 24px;
+color: #fff;
+font-weight: bold;
+cursor: pointer;
 }
 
 .c-box{
-	width: 75%;
-	height: 75%;
-	border-radius: 12px;
-	background-color: #4B88F5;
-	overflow: hidden;
-	display: flex;
+width: 75%;
+height: 75%;
+border-radius: 12px;
+background-color: #4B88F5;
+overflow: hidden;
+display: flex;
 }
 
 .c-b-left{
-	flex: 1;
-	height: 100%;
-	background: url("../../../assets/inviteLoginSZImage.png") no-repeat;
-	background-size: cover;
-	background-position: center;
+flex: 1;
+height: 100%;
+background: url("../../../assets/inviteLoginSZImage.png") no-repeat;
+background-size: cover;
+background-position: center;
 }
 
 .c-b-right{
-	flex: 1;
-	height: 100%;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	background-color: white;
-	position: relative;
+flex: 1;
+height: 100%;
+display: flex;
+justify-content: center;
+align-items: center;
+background-color: white;
+position: relative;
 }
 
 .c-b-r-closeArea{
-	width: 120px;
-	height: 120px;
-	position: absolute;
-	right: -45px;
-	top: -45px;
-	border-radius: 50%;
-	background-color: #3681FC;
-	
+width: 120px;
+height: 120px;
+position: absolute;
+right: -45px;
+top: -45px;
+border-radius: 50%;
+background-color: #3681FC;
+
 }
 
 .c-b-r-ca-btn{
-	position: absolute;
-	bottom: 30px;
-	left: 30px;
-	color: white;
-	cursor: pointer;
-	font-size: 1.5em;
+position: absolute;
+bottom: 30px;
+left: 30px;
+color: white;
+cursor: pointer;
+font-size: 1.5em;
 }
 
 .c-b-r-main{
-	width: 60%;
-	height: 60%;
+width: 60%;
+height: 60%;
 }
 
 .c-b-r-m-title{
-	font-size: 28px;
-	font-weight: bold;
+font-size: 28px;
+font-weight: bold;
 }
 
 .c-b-r-m-smallTitle{
-	font-size: 16px;
-	margin: 20px 0;
+font-size: 16px;
+margin: 20px 0;
 }
 
 .c-b-r-m-identity{
-	width: 100%;
-	height: auto;
-	display: flex;
+width: 100%;
+height: auto;
+display: flex;
 }
 
 .c-b-r-m-i-item{
-	padding: 20px 40px;
-	background-color: #F0F2F5;
-	border-radius: 10px;
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	margin-right: 20px;
-	cursor: pointer;
+padding: 20px 40px;
+background-color: #F0F2F5;
+border-radius: 10px;
+display: flex;
+flex-direction: column;
+align-items: center;
+margin-right: 20px;
+cursor: pointer;
 }
 
 .c-b-r-m-i-item:hover{
-	border: solid 1px #3681fc;
-	background-color: #E0EAFB;
-	box-shadow: 4px 4px 8px 0 rgba(54,115,232,.12);
+border: solid 1px #3681fc;
+background-color: #E0EAFB;
+box-shadow: 4px 4px 8px 0 rgba(54,115,232,.12);
 }
 
 .c-b-r-m-i-item:hover>.c-b-r-m-i-itemSvg{
-	stroke: #3681fc;
-	color:#3681fc;
+stroke: #3681fc;
+color:#3681fc;
 }
 
 .c-b-r-m-i-itemSvg{
-	font-size: 2.2em;
-	stroke: black;
-	color: black;
+font-size: 2.2em;
+stroke: black;
+color: black;
 }
 
 .c-b-r-m-i-item>span{
-	font-size: 18px;
+font-size: 18px;
 }
 
-</style>
+</style>

+ 398 - 348
src/components/pages/inviteLoginSZ/inviteLogin.vue

@@ -1,460 +1,510 @@
 <template>
-    <div class="container" v-loading="loading">
-        <!-- <div class="i_box" v-if="steps == 1">
-            <div class="i_box_top">
-                <div><span>请输入随机码进入项目课程</span></div>
-                <div><span>账号登陆</span></div>
-                <img src="../../../assets/icon/inviteLogin/password.png" alt="">
+  <div class="container" v-loading="loading">
+    <div class="loginOut" v-show="showLoadingOut">
+        <span @click="loginOut">退出登录</span>
+      </div>
+      <!-- <div class="i_box" v-if="steps == 1">
+          <div class="i_box_top">
+              <div><span>请输入随机码进入项目课程</span></div>
+              <div><span>账号登陆</span></div>
+              <img src="../../../assets/icon/inviteLogin/password.png" alt="">
+          </div>
+          <div class="i_box_login">
+              <el-input v-model="icode" placeholder="请输入随机码" class="input"></el-input>
+              <div @click="nextSteps" class="button">确 定</div>
+          </div>
+      </div>
+      <div class="i_box" v-if="steps == 2">
+          <div class="i_box_top">
+              <div><span>{{ res.school }}</span></div>
+              <div><span>欢迎回来!</span></div>
+              <img src="../../../assets/icon/inviteLogin/school.png" style="bottom: -40px;" alt="">
+          </div>
+          <div class="i_box_login2">
+              <div v-for="item in classJuri" @click="login(item.userid,(item.name ? item.name : item.username))" :key="item.userid">{{ item.name ? item.name :
+                  item.username }}</div>
+              <div v-if="!classJuri.length" class="none">此班级暂无学生</div>
+              <el-select v-model="userid" placeholder="选择姓名" filterable class="select">
+                  <el-option v-for="item in classJuri" :key="item.userid" :label="item.name ? item.name : item.username"
+                      :value="item.userid">
+                  </el-option>
+              </el-select>
+
+              <div @click="login" class="button">登 录</div>
+          </div>
+      </div> -->
+      <div class="c-box">
+        <div class="c-b-left"></div>
+        <div class="c-b-right">
+          <div class="c-b-r-closeArea" v-if="steps == 2" @click.stop="steps = 1">
+            <span class="el-icon-back c-b-r-ca-btn"></span>
+          </div>
+          <div class="c-b-r-main" v-if="steps == 1">
+            <div class="c-b-r-m-title">欢迎登录!</div>
+
+            <div class="c-b-r-m-form">
+              <div class="c-b-r-m-f-label">课程识别码</div>
+              <div class="c-b-r-m-f-input">
+                <el-input v-model="icode" placeholder="请输入课程识别码"  append="这是个测试" :class="[showErrMsg?'showErrMsg':'']"></el-input>
+                <div class="c-b-r-m-f-i-errMsg" v-if="showErrMsg">
+                  <span class="el-icon-warning-outline"></span>
+                  {{ errMsg }}
+                </div>
+              </div>
             </div>
-            <div class="i_box_login">
-                <el-input v-model="icode" placeholder="请输入随机码" class="input"></el-input>
-                <div @click="nextSteps" class="button">确 定</div>
+
+            <div :class="['c-b-r-m-btn',btnActive?'c-b-r-m-btnActive':'']" @click.stop="nextSteps">下一步</div>
+
+          </div>
+          <div class="c-b-r-main" v-if="steps == 2">
+            <div class="c-b-r-m-title">请选择您的姓名</div>
+            <div class="c-b-r-m-chooseNameArea">
+              <!-- <div class="c-b-r-m-cna-none">此班级暂无学生</div> -->
+              <div v-if="!classJuri.length" class="c-b-r-m-cna-none">此班级暂无学生</div>
+              <div v-for="item in classJuri" :class="['c-b-r-m-cna-item',chooseData.userid==item.userid?'c-b-r-m-cna-itemActive':'']" @click="choose(item.userid,(item.name ? item.name : item.username))" :key="item.userid">{{ item.name ? item.name :item.username }}</div>
             </div>
+            <!--  -->
+            <el-button class="c-b-r-m-loginBtn" type="primary" v-if="classJuri.length" @click.stop="login(chooseData.userid,chooseData.username)">确认登录</el-button>
+          </div>
         </div>
-        <div class="i_box" v-if="steps == 2">
-            <div class="i_box_top">
-                <div><span>{{ res.school }}</span></div>
-                <div><span>欢迎回来!</span></div>
-                <img src="../../../assets/icon/inviteLogin/school.png" style="bottom: -40px;" alt="">
-            </div>
-            <div class="i_box_login2">
-                <div v-for="item in classJuri" @click="login(item.userid,(item.name ? item.name : item.username))" :key="item.userid">{{ item.name ? item.name :
-                    item.username }}</div>
-                <div v-if="!classJuri.length" class="none">此班级暂无学生</div>
-                <el-select v-model="userid" placeholder="选择姓名" filterable class="select">
-                    <el-option v-for="item in classJuri" :key="item.userid" :label="item.name ? item.name : item.username"
-                        :value="item.userid">
-                    </el-option>
-                </el-select>
-
-                <div @click="login" class="button">登 录</div>
-            </div>
-        </div> -->
-				<div class="c-box">
-					<div class="c-b-left"></div>
-					<div class="c-b-right">
-						<div class="c-b-r-closeArea" v-if="steps == 2" @click.stop="steps = 1">
-							<span class="el-icon-back c-b-r-ca-btn"></span>
-						</div>
-						<div class="c-b-r-main" v-if="steps == 1">
-							<div class="c-b-r-m-title">欢迎登录!</div>
-
-							<div class="c-b-r-m-form">
-								<div class="c-b-r-m-f-label">课程识别码</div>
-								<div class="c-b-r-m-f-input">
-									<el-input v-model="icode" placeholder="请输入课程识别码"  append="这是个测试" :class="[showErrMsg?'showErrMsg':'']"></el-input>
-									<div class="c-b-r-m-f-i-errMsg" v-if="showErrMsg">
-										<span class="el-icon-warning-outline"></span>
-										{{ errMsg }}
-									</div>
-								</div>
-							</div>
-
-							<div :class="['c-b-r-m-btn',btnActive?'c-b-r-m-btnActive':'']" @click.stop="nextSteps">下一步</div>
-						
-						</div>
-						<div class="c-b-r-main" v-if="steps == 2">
-							<div class="c-b-r-m-title">请选择您的姓名</div>
-							<div class="c-b-r-m-chooseNameArea">
-								<!-- <div class="c-b-r-m-cna-none">此班级暂无学生</div> -->
-								<div v-if="!classJuri.length" class="c-b-r-m-cna-none">此班级暂无学生</div>
-								<div v-for="item in classJuri" :class="['c-b-r-m-cna-item',chooseData.userid==item.userid?'c-b-r-m-cna-itemActive':'']" @click="choose(item.userid,(item.name ? item.name : item.username))" :key="item.userid">{{ item.name ? item.name :item.username }}</div>
-							</div>
-							<el-button class="c-b-r-m-loginBtn" type="primary" v-if="classJuri.length" @click.stop="login(chooseData.userid,chooseData.username)">确认登录</el-button>
-						</div>
-					</div>
-				</div>
-    </div>
+      </div>
+  </div>
 </template>
 
 <script>
 export default {
-    data() {
-        return {
-            steps: 1,
-            icode: "",
-            userid: "",
-            options: [],
-            loading: false,
-            res: {},
-            classJuri: [],
-            code: this.$route.query.code,
-            courseId:"",
-						showErrMsg:false,
-						errMsg:"",
-						chooseData:{}
-        }
+  data() {
+      return {
+          steps: 1,
+          icode: "",
+          userid: "",
+          options: [],
+          loading: false,
+          res: {},
+          classJuri: [],
+          code: this.$route.query.code,
+          courseId:"",
+          showErrMsg:false,
+          errMsg:"",
+          chooseData:{},
+          showLoadingOut:false,
+      }
+  },
+  computed:{
+    btnActive(){
+      // return this.icode!='';
+      return /^\d+$/.test(this.icode);
     },
-		computed:{
-			btnActive(){
-				// return this.icode!='';
-				return /^\d+$/.test(this.icode);
-			},
-		},
-		watch:{
-			icode(newValue,oldValue){
-				this.showErrMsg = false;
-				this.errMsg = "";
-			}
-		},
-    methods: {
-        //       selectSnameByCid
-        nextSteps() {
-            // let reg = /^[A-Za-z0-9]{2,}$/
-            // let reg = /^[0-9]{2,}$/
-						if(!this.btnActive || this.showErrMsg)return;
-            let reg = /^\d+$/
-            if (!reg.test(this.icode)) {
-								this.setErrMsg("请正确填写识别码")
-                // this.$message.error("请正确填写随机码")
-                return;
-            }
-            let params = {
-                code: this.icode,
-                oid: this.code,
-								// oid:"16ace517-b5c7-4168-a9bb-a9e0035df840"
-								// oid:"0fec3a8a-ad04-11ed-b13d-005056b86db5" //测试
-            };
-            this.loading = true
-            this.ajax
-                // .get(this.$store.state.api + "selectCourseByIc2", params)
-								.get(this.$store.state.api + "selectCourseByIc2SZ", params)
-                .then(res => {
-                    this.loading = false;
-                    if (res.data.length && res.data[0].length) {
-                        this.res = res.data[0][0]
-                        this.courseId = res.data[0][0].courseId
-                        this.getClass(res.data[0][0].classid)
-                    } else {
-											this.setErrMsg("不存在此识别码")
-                        // this.$message.error("不存在此随机码")
-                    }
-                })
-                .catch(err => {
-                    console.error(err);
-                });
-        },
-        getClass(classId) {
-            let params = {
-                cid: classId,
-            };
-            this.ajax
-                .get(this.$store.state.api + "selectSnameByCid", params)
-                .then((res) => {
-                    this.classJuri = res.data[0];
-                    this.steps = 2
-                })
-                .catch((err) => {
-                    console.error(err);
-                });
-        },
-        login(userid,username) {
-            let courseid = this.courseId
-            this.$confirm(`确定登录${username}的账号吗?`, "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    window.topU.postMessage(
-                        {
-                            tools: "inviteLogin",
-                            userid: userid,
-                            courseId: courseid
-                        },
-                        "*"
-                    );
-                })
-                .catch(() => { });
-
-        },
-				// 选择学生
-				choose(userid,username){
-					this.chooseData = {
-						userid: userid,
-						username: username
-					}
-				},
-				// 设置错误信息
-				setErrMsg(msg){
-					this.showErrMsg = true;
-					this.errMsg = msg;
-				}
+  },
+  watch:{
+    icode(newValue,oldValue){
+      this.showErrMsg = false;
+      this.errMsg = "";
+    }
+  },
+  methods: {
+      //       selectSnameByCid
+      nextSteps() {
+          // let reg = /^[A-Za-z0-9]{2,}$/
+          // let reg = /^[0-9]{2,}$/
+          if(!this.btnActive || this.showErrMsg)return;
+          let reg = /^\d+$/
+          if (!reg.test(this.icode)) {
+              this.setErrMsg("请正确填写识别码")
+              // this.$message.error("请正确填写随机码")
+              return;
+          }
+          let params = {
+              code: this.icode,
+              oid: this.code,
+              // oid:"16ace517-b5c7-4168-a9bb-a9e0035df840"
+              // oid:"0fec3a8a-ad04-11ed-b13d-005056b86db5" //测试
+          };
+          this.loading = true
+          this.ajax
+              // .get(this.$store.state.api + "selectCourseByIc2", params)
+              .get(this.$store.state.api + "selectCourseByIc2SZ", params)
+              .then(res => {
+                  this.loading = false;
+                  if (res.data.length && res.data[0].length) {
+                      this.res = res.data[0][0]
+                      this.courseId = res.data[0][0].courseId
+                      this.getClass(res.data[0][0].classid)
+                  } else {
+                    this.setErrMsg("不存在此识别码")
+                      // this.$message.error("不存在此随机码")
+                  }
+              })
+              .catch(err => {
+                  console.error(err);
+              });
+      },
+      getClass(classId) {
+          let params = {
+              cid: classId,
+          };
+          this.ajax
+              .get(this.$store.state.api + "selectSnameByCid", params)
+              .then((res) => {
+                  this.classJuri = res.data[0];
+                  this.steps = 2
+              })
+              .catch((err) => {
+                  console.error(err);
+              });
+      },
+      login(userid,username) {
+          let courseid = this.courseId
+          this.$confirm(`确定登录${username}的账号吗?`, "提示", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning",
+          })
+              .then(() => {
+                   window.topU.postMessage(
+                      {
+                          tools: "inviteLogin",
+                          userid: userid,
+                          courseId: courseid
+                      },
+                      "*"
+                  );
+              })
+              .catch(() => { });
+
+      },
+      // 选择学生
+      choose(userid,username){
+        this.chooseData = {
+          userid: userid,
+          username: username
+        }
+      },
+      // 设置错误信息
+      setErrMsg(msg){
+        this.showErrMsg = true;
+        this.errMsg = msg;
+      },
+      loginOut(){
+       window.topU.postMessage({
+        tools:"logout"
+      },"*")
     },
+  },
+  mounted(){
+    setInterval(() => {
+       window.topU.postMessage({
+        tools:"getLogin"
+      },"*")
+      console.log("获取getLogin")
+    }, 2000);
+    window.addEventListener("message",(e)=>{
+      let data = e.data;
+      console.log("message",e)
+      if(data.tools && data.tools=='getLogin'){
+        if(data.type===2){
+          this.showLoadingOut = false;
+        }else if(data.type===1){
+          this.showLoadingOut = true;
+        }
+      }
+    })
+  }
 }
 </script>
 
 <style scoped>
 .container {
-    width: 100vw;
-    height: 100vh;
-    overflow: hidden;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		background: url("../../../assets/inviteLoginSZBG.png") no-repeat;
-		background-size: 100% 100%;
-		position: relative;
+  width: 100vw;
+  height: 100vh;
+  overflow: hidden;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  background: url("../../../assets/inviteLoginSZBG.png") no-repeat;
+  background-size: 100% 100%;
+  position: relative;
 }
 
 .c-box{
-	width: 75%;
-	height: 75%;
-	border-radius: 12px;
-	background-color: #4B88F5;
-	overflow: hidden;
-	display: flex;
+width: 75%;
+height: 75%;
+border-radius: 12px;
+background-color: #4B88F5;
+overflow: hidden;
+display: flex;
 }
 
 .c-b-left{
-	flex: 1;
-	height: 100%;
-	background: url("../../../assets/inviteLoginSZImage.png") no-repeat;
-	background-size: cover;
-	background-position: center;
+flex: 1;
+height: 100%;
+background: url("../../../assets/inviteLoginSZImage.png") no-repeat;
+background-size: cover;
+background-position: center;
 }
 
 .c-b-right{
-	flex: 1;
-	height: 100%;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	background-color: white;
-	position: relative;
+flex: 1;
+height: 100%;
+display: flex;
+justify-content: center;
+align-items: center;
+background-color: white;
+position: relative;
+overflow-x:hidden ;
 }
 
 .c-b-r-closeArea{
-	width: 120px;
-	height: 120px;
-	position: absolute;
-	right: -45px;
-	top: -45px;
-	border-radius: 50%;
-	background-color: #3681FC;
-	
+width: 120px;
+height: 120px;
+position: absolute;
+right: -45px;
+top: -45px;
+border-radius: 50%;
+background-color: #3681FC;
+
 }
 
 .c-b-r-ca-btn{
-	position: absolute;
-	bottom: 30px;
-	left: 30px;
-	color: white;
-	cursor: pointer;
-	font-size: 1.5em;
+position: absolute;
+bottom: 30px;
+left: 30px;
+color: white;
+cursor: pointer;
+font-size: 1.5em;
 }
 
 .c-b-r-main{
-	width: 80%;
-	height: 80%;
+width: 80%;
+height: 80%;
+overflow: auto;;
 }
 
 .c-b-r-m-title{
-	font-size: 28px;
-	font-weight: bold;
+font-size: 28px;
+font-weight: bold;
 }
 
 .c-b-r-m-form{
-	width: 100%;
-	height: auto;
-	margin-top: 40px;
+width: 100%;
+height: auto;
+margin-top: 40px;
 }
 
 .c-b-r-m-f-label{
-	font-size: 14px;
-	font-weight: bold;
-	margin-bottom: 5px;
+font-size: 14px;
+font-weight: bold;
+margin-bottom: 5px;
 }
 .c-b-r-m-f-input{
-	position: relative;
+position: relative;
 }
 
 .c-b-r-m-f-input>>>.el-input__inner{
-	background-color: #F0F2F5 !important;
-	height: 52px;
-	border-radius: 6px;
+background-color: #F0F2F5 !important;
+height: 52px;
+border-radius: 6px;
 }
 .showErrMsg>>>.el-input__inner{
-  color: #EE3E3E !important;
+color: #EE3E3E !important;
 }
 
 .c-b-r-m-f-i-errMsg{
-	position: absolute;
-	right: 10px;
-	color: #EE3E3E;
-	font-size: 14px;
-	height: 100%;
-	display: flex;
-	align-items: center;
-	top: 0;
+position: absolute;
+right: 10px;
+color: #EE3E3E;
+font-size: 14px;
+height: 100%;
+display: flex;
+align-items: center;
+top: 0;
 }
 
 .el-icon-warning-outline>span{
-	margin-right: 10px !important;
+margin-right: 10px !important;
 }
 
 .c-b-r-m-btn{
-	width: 92px;
-	height: 36px;
-	box-sizing: border-box;
-	border-radius: 6px;
-	border: solid 1px #C2D9FE;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	font-size: 20px;
-	color: #C2D9FE;
-	transition: .3s;
-	margin-top: 10px;
-	cursor:not-allowed;
+width: 92px;
+height: 36px;
+box-sizing: border-box;
+border-radius: 6px;
+border: solid 1px #C2D9FE;
+display: flex;
+justify-content: center;
+align-items: center;
+font-size: 20px;
+color: #C2D9FE;
+transition: .3s;
+margin-top: 10px;
+cursor:not-allowed;
 }
 
 .c-b-r-m-btnActive{
-	border-color: #68A1FD;
-	color: #68A1FD;
-	cursor: pointer;
+border-color: #68A1FD;
+color: #68A1FD;
+cursor: pointer;
 }
 
 .c-b-r-m-chooseNameArea{
-	width: 100%;
-	height: auto;
-	max-height: 300px;
-	margin-top: 20px;
-	display: flex;
-	flex-wrap: wrap;
-
+width: 100%;
+max-height: 70%;
+height: auto;
+/* max-height: 300px; */
+margin-top: 20px;
+display: flex;
+flex-wrap: wrap;
+overflow: auto;
 }
 
 .c-b-r-m-cna-none{
-	font-size: 20px;
-	margin-top: 30px;
-	font-weight: bold;
+font-size: 20px;
+margin-top: 30px;
+font-weight: bold;
 }
 
 .c-b-r-m-cna-item{
-	width: auto;
-	padding: 4px 6px;
-	background-color: #F0F2F5;
-	color: #000000;
-	box-sizing: border-box;
-	border:solid 1px #E7E7E7;
-	border-radius: 3px;
-	font-size: 14px;
-	transition: .3s;
-	cursor: pointer;
-	margin-right: 10px;
-	margin-bottom: 10px;
+width: auto;
+padding: 4px 6px;
+background-color: #F0F2F5;
+color: #000000;
+box-sizing: border-box;
+border:solid 1px #E7E7E7;
+border-radius: 3px;
+font-size: 14px;
+transition: .3s;
+cursor: pointer;
+margin-right: 10px;
+margin-bottom: 10px;
 }
 
 .c-b-r-m-cna-itemActive{
-  background-color: #E0EAFB;
-	color:#3681FC;
-	border-color: #3681FC;
-	
+background-color: #E0EAFB;
+color:#3681FC;
+border-color: #3681FC;
+
 }
 
 
 .c-b-r-m-loginBtn{
-	width: 100%;
-	height: 56px;
-	font-size: 20px;
-	margin-top: 20px;
+width: 100%;
+height: 56px;
+font-size: 20px;
+margin-top: 20px;
 }
 /* .i_box {
-    height: 100%;
-    width: 100%;
+  height: 100%;
+  width: 100%;
 }
 
 .i_box_top {
-    height: 145px;
-    width: 100%;
-    overflow: hidden;
-    position: relative;
-    background: #fff;
-    box-sizing: border-box;
-    padding: 20px;
+  height: 145px;
+  width: 100%;
+  overflow: hidden;
+  position: relative;
+  background: #fff;
+  box-sizing: border-box;
+  padding: 20px;
 }
 
 .i_box_top>div:nth-child(1) {
-    color: rgb(147, 147, 147);
+  color: rgb(147, 147, 147);
 }
 
 .i_box_top>div:nth-child(2) {
-    font-size: 28px;
-    color: rgb(78, 138, 218);
-    margin-top: 5px;
+  font-size: 28px;
+  color: rgb(78, 138, 218);
+  margin-top: 5px;
 }
 
 .i_box_top>img {
-    position: absolute;
-    right: 30px;
-    bottom: -60px;
-    width: 150px;
+  position: absolute;
+  right: 30px;
+  bottom: -60px;
+  width: 150px;
 }
 
 .i_box_login {
-    height: calc(100% - 145px);
-    width: 100%;
-    background: linear-gradient(90deg, #477cd7, #65b9fc);
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    padding: 50px 20px;
-    box-sizing: border-box;
-    align-content: flex-start;
+  height: calc(100% - 145px);
+  width: 100%;
+  background: linear-gradient(90deg, #477cd7, #65b9fc);
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  padding: 50px 20px;
+  box-sizing: border-box;
+  align-content: flex-start;
 }
 
 .i_box_login2 {
-    height: calc(100% - 145px);
-    background: linear-gradient(90deg, #477cd7, #65b9fc);
-    width: 100%;
-    display: flex;
-    flex-wrap: wrap;
-    overflow: auto;
-    padding-bottom: 10px;
-    box-sizing: border-box;
-    align-content: flex-start;
+  height: calc(100% - 145px);
+  background: linear-gradient(90deg, #477cd7, #65b9fc);
+  width: 100%;
+  display: flex;
+  flex-wrap: wrap;
+  overflow: auto;
+  padding-bottom: 10px;
+  box-sizing: border-box;
+  align-content: flex-start;
 }
 
 .i_box_login2 div{
-    cursor: pointer;
-    width: 80px;
-    text-align: center;
-    height: 30px;
-    line-height: 30px;
-    padding: 0 5px;
-    overflow: hidden;
-    background: rgb(225, 237, 255);
-    margin: 10px 9px 0;
-    color: rgb(37 124 255);
-    border-radius: 5px;
-    box-sizing: border-box;
-    text-overflow: ellipsis;
+  cursor: pointer;
+  width: 80px;
+  text-align: center;
+  height: 30px;
+  line-height: 30px;
+  padding: 0 5px;
+  overflow: hidden;
+  background: rgb(225, 237, 255);
+  margin: 10px 9px 0;
+  color: rgb(37 124 255);
+  border-radius: 5px;
+  box-sizing: border-box;
+  text-overflow: ellipsis;
 }
 
 .i_box_login .input {}
 
 .i_box_login .select {
-    width: 100%;
+  width: 100%;
 }
 
 .i_box_login .button {
-    margin-top: 30px;
-    background: rgb(100, 100, 100);
-    cursor: pointer;
-    color: #fff;
-    padding: 10px 50px;
-    border-radius: 5px;
+  margin-top: 30px;
+  background: rgb(100, 100, 100);
+  cursor: pointer;
+  color: #fff;
+  padding: 10px 50px;
+  border-radius: 5px;
 }
 
 .none{
-    width: 100% !important;
-    height: 100% !important;
-    background: unset !important;
-    color: #fff !important;
-    display: flex !important;
-    align-items: center !important;
-    justify-content: center !important;
-    margin: 0 !important;
+  width: 100% !important;
+  height: 100% !important;
+  background: unset !important;
+  color: #fff !important;
+  display: flex !important;
+  align-items: center !important;
+  justify-content: center !important;
+  margin: 0 !important;
 } */
-</style>
+
+.loginOut{
+position: absolute;
+right: 30px;
+top: 30px;
+width: auto;
+height: auto;
+display: flex;
+justify-content: center;
+align-items: center;
+}
+
+.loginOut>span{
+font-size: 24px;
+color: #fff;
+font-weight: bold;
+cursor: pointer;
+}
+</style>

Some files were not shown because too many files changed in this diff