<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<title>loginPC1</title>
		<link rel="stylesheet" href="/commons/css/awsui.css"/>
		<link rel="stylesheet" type="text/css" href="/vsharinglogin/css/allshow.css?v=0.1">
		<link rel="stylesheet" type="text/css" href="/vsharinglogin/css/logrig.css?v=1.6">
		<script type="text/javascript" src="/commons/js/jquery/scripts/jquery.js"></script>
		<script type="text/javascript" src="/commons/js/awsui.js"></script>
		<script type="text/javascript" src="/commons/js/public.js"></script>
		<style>
			.password-close,.password-open{
				position: absolute;
				right: 15px;
				top: 8px;
				cursor: pointer;
			}
			.passtishi{
				color:red;
				font-size:.8em;
				position:absolute;
				/*display:none;*/
				z-index: 2;
				line-height: 1.1;
    			margin-top: 6px;
			}
			.terpcont .hasinput.mtsp{
				/*margin-top: 30px;*/
			}
			.mian-right.has-regist{
				height: auto !important;
				min-height: 460px;
				padding-top: 12px;
				padding-bottom: 24px;
				box-sizing: border-box;
			}
			.mian-right .rigster1,
			.mian-right .rigster4{
				flex-direction: column !important;
				justify-content: flex-start !important;
				align-items: stretch !important;
			}
			.mian-right .rigster1 > div,
			.mian-right .rigster4 > div{
				width: 80%;
				margin: 0 auto 4px;
				text-align: center;
			}
			.mian-right .rigster1 .title,
			.mian-right .rigster4 .title{
				margin-top: 0 !important;
			}
			.mian-right .rigster .terpcont{
				margin-top: 8px;
			}
			.mian-right .rigster .terpcont li.yzm-row{
				display: flex;
				align-items: stretch;
				overflow: hidden;
			}
			.mian-right .rigster .terpcont input.rigPhonecode{
				width: auto !important;
				flex: 1;
				min-width: 0;
				float: none;
			}
			.mian-right .rigster .terpcont span.getcode{
				flex: none;
				float: none;
				width: 110px;
				height: 36px;
				line-height: 36px;
				background: #0163AE;
				color: #fff;
				text-align: center;
				border: none;
			}
			.mian-right .rigster .terpcont li.hasborder .wrongMsg{
				display: none !important;
			}
			.protocol-check-wrap{
				display: none;
				width: 100%;
				max-width: 100%;
				box-sizing: border-box;
				margin: 8px 0 0;
				padding: 0;
				line-height: 1.7;
				font-size: 13px;
				color: #666;
				text-align: left;
				list-style: none;
			}
			.protocol-check-wrap.protocol-on{
				display: list-item !important;
			}
			.protocol-check-wrap label{
				cursor: pointer;
				display: flex;
				align-items: flex-start;
				width: 100%;
				box-sizing: border-box;
				white-space: normal;
				word-break: break-word;
				font-weight: normal;
			}
			.protocol-check-wrap .protocol-agree{
				-webkit-appearance: checkbox !important;
				appearance: checkbox !important;
				width: 14px !important;
				height: 14px !important;
				min-width: 14px;
				margin: 4px 6px 0 0 !important;
				padding: 0 !important;
				flex: none;
				box-shadow: none !important;
				background: #fff !important;
				border: 1px solid #999;
				vertical-align: text-top;
			}
			.protocol-check-wrap .protocol-text{
				flex: 1;
				min-width: 0;
			}
			.protocol-check-wrap .protocol-names{
				display: inline;
			}
			.protocol-check-wrap .protocol-name{
				color: #1677ff;
				text-decoration: none;
				margin: 0 2px;
			}
			.protocol-check-wrap .protocol-name:hover{
				text-decoration: underline;
			}
			#protocolModal{
				display: none;
				position: fixed;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				z-index: 9999;
			}
			#protocolModalMask{
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				background: rgba(0,0,0,.45);
			}
			.protocol-modal-box{
				position: relative;
				width: 720px;
				max-width: 90%;
				max-height: 80%;
				margin: 8vh auto 0;
				background: #fff;
				border-radius: 6px;
				display: flex;
				flex-direction: column;
				overflow: hidden;
			}
			.protocol-modal-hd{
				padding: 12px 16px;
				border-bottom: 1px solid #eee;
				font-size: 16px;
				font-weight: 600;
			}
			#protocolModalClose{
				float: right;
				cursor: pointer;
				font-size: 20px;
				line-height: 20px;
				color: #999;
			}
			#protocolModalBody{
				padding: 16px;
				overflow: auto;
				flex: 1;
			}
			#protocolModalBody .protocol-pdf{
				display: block;
				width: 100%;
				height: 70vh;
				min-height: 360px;
				border: 0;
				background: #f5f5f5;
			}
			.login1.lgm-step .lgm-phone-row,
			.login1.lgm-step .forgetpwd{
				display: none !important;
			}
		</style>
		<script>
			// 检测页面是否被嵌入iframe
			if (window.top !== window.self) {
				// 方案1：跳转到自身顶级页面
				window.top.location.href = window.self.location.href;
				// 方案2：隐藏页面内容，提示风险
				// document.body.style.display = 'none';
				// document.write('<h1>检测到点击劫持风险，禁止嵌入访问！</h1>');
			}
		</script>
	</head>
	<body>
		<div hidden class="ssodiv" style="margin-left:auto;"></div>
		<div hidden class="loginbox" style="height:100%;">
			<div class="wrapper header" id="header">
				<a href="javascript:void(0)">
					<img class="logo" src="" >
				</a>
			</div>
			<div id="top_nav" class="frame_head">
				<div id="topNavLogo">
					<img class="imglogo" src="">
				</div>
				<div id="navtitle"></div>
			</div>
			<div class="minmax">
				<div class="containerHtml">
					<video class="bigvideo" id="v1" autoplay loop muted style="display: none;">
					  <source src="" type="video/mp4"  />
					</video>
					<div class="container_main">
						<div class="container_main_cont">
							<div class="mian-left">
								<div class="mleft_box" hidden>
									<div id="centernotice">
									
									</div>
								</div>
							</div>
							<div class="mian-right" style="position: relative;">
								<div class="logintab">
									<a href="javascript:;" class="zh curr lang_usernameLogin">账号登录</a>
									<a href="javascript:;" class="yzm lang_codeLogin">验证码登录</a>
									<a href="javascript:;" class="qrlogin lang_scanLogin" id='wxsm'>扫码登录</a>
								</div>
								<div class="login login2" >
									<ul class="terpcont">
										<li class="hasinput hasborder hasborder2">
											<span><img src="./vsharinglogin/img/login_user.png" ></span>
											<input id="USERID" type="text" onkeyup="value=value.replace(/[\u4e00-\u9fa5]/ig,'')" name="" class="logUserName lang_username" value="" placeholder="请输入手机号或账号"/>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<li class="hasinput hasborder hasborder2">
											<span><img src="./vsharinglogin/img/login_pwd.png" alt=""></span>
											<input id="PWD" type="password" autocomplete="off" name="" class="logUserPwd lang_password" value="" placeholder="请输入密码" />
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
											<svg class="logUserPwd-close password-close" onclick="$('#PWD').attr('type','text');$(this).hide();$('.logUserPwd-open').show();" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M6 16C6.63472 17.2193 7.59646 18.3504 8.82276 19.3554C12.261 22.1733 17.779 24 24 24C30.221 24 35.739 22.1733 39.1772 19.3554C40.4035 18.3504 41.3653 17.2193 42 16" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M28.9775 24L31.048 31.7274" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M37.3535 21.3536L43.0103 27.0104" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M5.00004 27.0103L10.6569 21.3534" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M16.9278 31.7276L18.9983 24.0001" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
											</svg>
											<svg class="logUserPwd-open password-open" onclick="$('#PWD').attr('type','password');$(this).hide();$('.logUserPwd-close').show();" style="display: none;" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M24 36C35.0457 36 44 24 44 24C44 24 35.0457 12 24 12C12.9543 12 4 24 4 24C4 24 12.9543 36 24 36Z" fill="#fff" stroke="#9b9b9b" stroke-width="2" stroke-linejoin="round"/>
												<path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="#9b9b9b" stroke="#FFF" stroke-width="2" stroke-linejoin="round"/>
											</svg>
										</li>
										<li>
											<div class="code">
												<input type="text" value="" placeholder="请输入校验码" class="jscode" style="width: 150px;height: 30px;border: 1px solid #ddd;box-sizing: border-box;">
												<canvas class="canvas" width="100" height="30" style="vertical-align: middle;box-sizing: border-box;border: 1px solid #ddd;cursor: pointer;"></canvas>
											</div>
										</li>
										<li style="margin-top: 40px;">
											<div id="loginbtn" class="surebtn sureLogin lang_login">登录</div>
										</li>
									</ul>
									<div style="margin-top: 10px;width: 80%;">
									    <label style="cursor: pointer; margin-right: 20px;">
									        <input type="checkbox" id="rememberUserId" name="rememberUserId" style="vertical-align: middle; margin-right: 5px;">
									        <span class="lang_remember">记住账号</span>
									    </label>
									    <label style="cursor: pointer;">
									        <input type="checkbox" id="rememberPwd" name="rememberPwd" style="vertical-align: middle; margin-right: 5px;">
									        <span class="lang_remember">记住密码</span>
									    </label>
									</div>
									<div class="zuidi">
										<p class="fl">
											<span class="ifR lang_noUserName">没有账号？</span>
											<a href="javascript:void(0)" class="torigster ifR lang_nowRegist">现在注册</a>
										</p>
										<p class="resetPwd ifCode fr">
											<span class="lang_forgetPassword">忘记密码？</span><a href="javascript:void(0)" class="lang_resetPassword">重置密码</a>
										</p>
									</div>
								</div>
								<div class="login login1" style="display: none;">
									<ul class="terpcont">
										<li class="hasinput hasborder lgm-phone-row">
											<span class="phoneState">+86</span>
											<input type="text" name="" class="logPhone" value="" onkeyup="this.value=this.value.replace(/\D/g,'')" />
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										
										<li class="hasinput hasborder hqyzm">
											<input type="text" name="" class="logCode" value="" placeholder="请输入验证码" onkeyup="this.value=this.value.replace(/\D/g,'')" />
											<span id="getmobilecode2" class="getcode lang_getCode">获取验证码</span>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<li>
											<div class="code">
												<input type="text" value="" placeholder="请输入校验码" class="jscode" style="width: 150px;height: 30px;border: 1px solid #ddd;box-sizing: border-box;">
												<canvas class="canvas" width="100" height="30" style="vertical-align: middle;box-sizing: border-box;border: 1px solid #ddd;cursor: pointer;"></canvas>
											</div>
										</li>
										<li style="margin-top: 40px;">
											<div id="loginbtn_code" class="surebtn sureLogin lang_login">登录</div>
										</li>
										<li class="forgetpwd" style="margin-top:10px;line-height:40px;height:40px;">
											<a href="javascript:void(0)" class="torigster ifR lang_nowRegist">现在注册</a><span class="ifR lang_noUserName">没有账号？</span>
										</li>
									</ul>
								</div>
								<div class="rigster rigster4" style="display: none;">
									<div><span class="title registtype lang_regist" hidden >注册</span><span class="title registtype lang_regist_email" >邮箱注册</span></div>
									<ul class="registForm terpcont terpcont2 terpcont_spc">

										<li class="hasinput hasborder">
											<input type="text" name="" class="phone4 lang_email" value="" placeholder="请输入邮箱"/>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<li class="hasinput hasborder">
											<input type="password" autocomplete="off" name="" class="PWD4 lang_password PWD_all" value="" placeholder="请输入密码"/>
											<div class="passtishi passtishi2"></div>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
											<svg class="PWD4-close password-close" onclick="$('.PWD4').attr('type','text');$(this).hide();$('.PWD4-open').show();" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M6 16C6.63472 17.2193 7.59646 18.3504 8.82276 19.3554C12.261 22.1733 17.779 24 24 24C30.221 24 35.739 22.1733 39.1772 19.3554C40.4035 18.3504 41.3653 17.2193 42 16" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M28.9775 24L31.048 31.7274" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M37.3535 21.3536L43.0103 27.0104" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M5.00004 27.0103L10.6569 21.3534" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M16.9278 31.7276L18.9983 24.0001" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
											</svg>
											<svg class="PWD4-open password-open" onclick="$('.PWD4').attr('type','password');$(this).hide();$('.PWD4-close').show();" style="display: none;" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M24 36C35.0457 36 44 24 44 24C44 24 35.0457 12 24 12C12.9543 12 4 24 4 24C4 24 12.9543 36 24 36Z" fill="#fff" stroke="#9b9b9b" stroke-width="2" stroke-linejoin="round"/>
												<path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="#9b9b9b" stroke="#FFF" stroke-width="2" stroke-linejoin="round"/>
											</svg>
										</li>
										<li class="hasinput hasborder">
											<input type="password" autocomplete="off" name="" class="PWD24 lang_confirmPassword2 PWD2_all" value="" placeholder="确认密码"/>
											<div class="passtishi passtishi1"></div>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
											<svg class="PWD24-close password-close" onclick="$('.PWD24').attr('type','text');$(this).hide();$('.PWD24-open').show();" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M6 16C6.63472 17.2193 7.59646 18.3504 8.82276 19.3554C12.261 22.1733 17.779 24 24 24C30.221 24 35.739 22.1733 39.1772 19.3554C40.4035 18.3504 41.3653 17.2193 42 16" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M28.9775 24L31.048 31.7274" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M37.3535 21.3536L43.0103 27.0104" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M5.00004 27.0103L10.6569 21.3534" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M16.9278 31.7276L18.9983 24.0001" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
											</svg>
											<svg class="PWD24-open password-open" onclick="$('.PWD24').attr('type','password');$(this).hide();$('.PWD24-close').show();" style="display: none;" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M24 36C35.0457 36 44 24 44 24C44 24 35.0457 12 24 12C12.9543 12 4 24 4 24C4 24 12.9543 36 24 36Z" fill="#fff" stroke="#9b9b9b" stroke-width="2" stroke-linejoin="round"/>
												<path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="#9b9b9b" stroke="#FFF" stroke-width="2" stroke-linejoin="round"/>
											</svg>
										</li>
										<li class="hasinput hasborder yzm-row">
											<input type="text" name="" class="rigPhonecode code4 lang_phoneCode" value="" placeholder="请输入验证码"/>
											<span id="getmobilecode4" class="getcode lang_getCode">获取验证码</span>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<li>
											<div class="code">
												<input type="text" value="" placeholder="请输入校验码" class="jscode" style="width: 150px;height: 30px;border: 1px solid #ddd;box-sizing: border-box;">
												<canvas class="canvas" width="100" height="30" style="vertical-align: middle;box-sizing: border-box;border: 1px solid #ddd;cursor: pointer;"></canvas>
											</div>
										</li>
										<li class="protocol-check-wrap">
											<label>
												<input type="checkbox" class="protocol-agree">
												<span class="protocol-text">我已阅读并同意<span class="protocol-names"><a href="javascript:;" class="protocol-name">《个人信息收集知情书》</a></span></span>
											</label>
										</li>
										<li>
											<input type="hidden" id="REGISTER_ROLE" name="REGISTER_ROLE" value=""/>
											<input type="hidden" id="REGISTER_DEPARTEMNT" name="REGISTER_DEPARTEMNT" value=""/>
											<div class="registerbtn surebtn sureRigster lang_regist" style="margin-top:20px;">注册</div>
										</li>
										<li class="forgetpwd">
											<a href="javascript:void(0)" class="tologin lang_goLogin">去登录</a>
										</li>
									</ul>
								</div>
								<div class="rigster rigster1" style="display: none;">
									<div><span class="title registtype lang_regist" >注册</span><span class="title registtype lang_regist_email" hidden>邮箱注册</span></div>
									<ul class="registForm terpcont terpcont2 terpcont_spc">

										<li class="hasinput hasborder">
											<input type="text" name="" class="phone lang_phone" value="" placeholder="请输入手机号"/>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<li class="hasinput hasborder">
											<input type="password" autocomplete="off" name="" class="PWD lang_password PWD_all" value="" placeholder="请输入密码"/>
											<div class="passtishi passtishi2"></div>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
											<svg class="PWD-close password-close" onclick="$('.PWD').attr('type','text');$(this).hide();$('.PWD-open').show();" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M6 16C6.63472 17.2193 7.59646 18.3504 8.82276 19.3554C12.261 22.1733 17.779 24 24 24C30.221 24 35.739 22.1733 39.1772 19.3554C40.4035 18.3504 41.3653 17.2193 42 16" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M28.9775 24L31.048 31.7274" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M37.3535 21.3536L43.0103 27.0104" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M5.00004 27.0103L10.6569 21.3534" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M16.9278 31.7276L18.9983 24.0001" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
											</svg>
											<svg class="PWD-open password-open" onclick="$('.PWD').attr('type','password');$(this).hide();$('.PWD-close').show();" style="display: none;" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M24 36C35.0457 36 44 24 44 24C44 24 35.0457 12 24 12C12.9543 12 4 24 4 24C4 24 12.9543 36 24 36Z" fill="#fff" stroke="#9b9b9b" stroke-width="2" stroke-linejoin="round"/>
												<path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="#9b9b9b" stroke="#FFF" stroke-width="2" stroke-linejoin="round"/>
											</svg>
										</li>
										<li class="hasinput hasborder mtsp">
											<input type="password" autocomplete="off" name="" class="PWD2 lang_confirmPassword2 PWD2_all" value="" placeholder="确认密码"/>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
											<svg class="PWD2-close password-close" onclick="$('.PWD2').attr('type','text');$(this).hide();$('.PWD2-open').show();" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M6 16C6.63472 17.2193 7.59646 18.3504 8.82276 19.3554C12.261 22.1733 17.779 24 24 24C30.221 24 35.739 22.1733 39.1772 19.3554C40.4035 18.3504 41.3653 17.2193 42 16" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M28.9775 24L31.048 31.7274" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M37.3535 21.3536L43.0103 27.0104" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M5.00004 27.0103L10.6569 21.3534" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M16.9278 31.7276L18.9983 24.0001" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
											</svg>
											<svg class="PWD2-open password-open" onclick="$('.PWD2').attr('type','password');$(this).hide();$('.PWD2-close').show();" style="display: none;" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M24 36C35.0457 36 44 24 44 24C44 24 35.0457 12 24 12C12.9543 12 4 24 4 24C4 24 12.9543 36 24 36Z" fill="#fff" stroke="#9b9b9b" stroke-width="2" stroke-linejoin="round"/>
												<path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="#9b9b9b" stroke="#FFF" stroke-width="2" stroke-linejoin="round"/>
											</svg>
										</li>
										<li class="hasinput hasborder yzm-row">
											<input type="text" name="" class="rigPhonecode code1 lang_phoneCode" value="" placeholder="请输入验证码"/>
											<span id="getmobilecode" class="getcode lang_getCode">获取验证码</span>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<li>
											<div class="code">
												<input type="text" value="" placeholder="请输入校验码" class="jscode" style="width: 150px;height: 30px;border: 1px solid #ddd;box-sizing: border-box;">
												<canvas class="canvas" width="100" height="30" style="vertical-align: middle;box-sizing: border-box;border: 1px solid #ddd;cursor: pointer;"></canvas>
											</div>
										</li>
										<li class="protocol-check-wrap">
											<label>
												<input type="checkbox" class="protocol-agree">
												<span class="protocol-text">我已阅读并同意<span class="protocol-names"><a href="javascript:;" class="protocol-name">《个人信息收集知情书》</a></span></span>
											</label>
										</li>
										<li>
											<input type="hidden" id="REGISTER_ROLE" name="REGISTER_ROLE" value=""/>
											<input type="hidden" id="REGISTER_DEPARTEMNT" name="REGISTER_DEPARTEMNT" value=""/>
											<div class="registerbtn surebtn sureRigster lang_regist" style="margin-top:20px;">注册</div>
										</li>
										<li class="forgetpwd">
											<a href="javascript:void(0)" class="tologin lang_goLogin">去登录</a>
										</li>
									</ul>
								</div>
								<div class="rigster rigster2" style="display: none;">
									<div class="title lang_reset">重置</div>
									<ul class="terpcont terpcont2">
										<li class="hasinput hasborder">
											<input id="MOBILE_Reset" type="text" name="" class="lang_phone" value="" placeholder="请输入手机号"/>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<!--<li class="hasinput hasborder">
											<input id="oldPassword" type="password" name="" class="" value="" placeholder="旧密码"/>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>-->
										<li class="hasinput hasborder">
											<input id="newPassword" type="password" autocomplete="off" name="" class="lang_newPassword" value="" placeholder="请输入新密码"/>
											<div class="passtishi passtishi1"></div>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
											<svg class="newPassword-close password-close" onclick="$('#newPassword').attr('type','text');$(this).hide();$('.newPassword-open').show();" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M6 16C6.63472 17.2193 7.59646 18.3504 8.82276 19.3554C12.261 22.1733 17.779 24 24 24C30.221 24 35.739 22.1733 39.1772 19.3554C40.4035 18.3504 41.3653 17.2193 42 16" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M28.9775 24L31.048 31.7274" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M37.3535 21.3536L43.0103 27.0104" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M5.00004 27.0103L10.6569 21.3534" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M16.9278 31.7276L18.9983 24.0001" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
											</svg>
											<svg class="newPassword-open password-open" onclick="$('#newPassword').attr('type','password');$(this).hide();$('.newPassword-close').show();" style="display: none;" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M24 36C35.0457 36 44 24 44 24C44 24 35.0457 12 24 12C12.9543 12 4 24 4 24C4 24 12.9543 36 24 36Z" fill="#fff" stroke="#9b9b9b" stroke-width="2" stroke-linejoin="round"/>
												<path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="#9b9b9b" stroke="#FFF" stroke-width="2" stroke-linejoin="round"/>
											</svg>
										</li>
										<li class="hasinput hasborder mtsp">
											<input id="newPassword2" type="password" autocomplete="off" name="" class="lang_confirmPassword" value="" placeholder="确认新密码"/>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
											<svg class="newPassword2-close password-close" onclick="$('#newPassword2').attr('type','text');$(this).hide();$('.newPassword2-open').show();" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M6 16C6.63472 17.2193 7.59646 18.3504 8.82276 19.3554C12.261 22.1733 17.779 24 24 24C30.221 24 35.739 22.1733 39.1772 19.3554C40.4035 18.3504 41.3653 17.2193 42 16" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M28.9775 24L31.048 31.7274" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M37.3535 21.3536L43.0103 27.0104" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M5.00004 27.0103L10.6569 21.3534" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
												<path d="M16.9278 31.7276L18.9983 24.0001" stroke="#9b9b9b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
											</svg>
											<svg class="newPassword2-open password-open" onclick="$('#newPassword2').attr('type','password');$(this).hide();$('.newPassword2-close').show();" style="display: none;" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M24 36C35.0457 36 44 24 44 24C44 24 35.0457 12 24 12C12.9543 12 4 24 4 24C4 24 12.9543 36 24 36Z" fill="#fff" stroke="#9b9b9b" stroke-width="2" stroke-linejoin="round"/>
												<path d="M24 29C26.7614 29 29 26.7614 29 24C29 21.2386 26.7614 19 24 19C21.2386 19 19 21.2386 19 24C19 26.7614 21.2386 29 24 29Z" fill="#9b9b9b" stroke="#FFF" stroke-width="2" stroke-linejoin="round"/>
											</svg>
										</li>
										<li class="hasinput hasborder">
											<input id="getResetCode" type="text" name="" class="rigPhonecode lang_phoneCode" value="" placeholder="请输入验证码"/>
											<span id="getmobilecode3" class="getcode lang_getCode">获取验证码</span>
											<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">
										</li>
										<li>
											<div>
												<input type="text" value="" placeholder="请输入校验码" class="jscode" style="width: 150px;height: 30px;border: 1px solid #ddd;box-sizing: border-box;">
												<canvas class="canvas" width="100" height="30" style="vertical-align: middle;box-sizing: border-box;border: 1px solid #ddd;cursor: pointer;"></canvas>
											</div>
										</li>
										<li style="margin-top: 30px;">
											<div id="goReset" class="surebtn sureRigster lang_reset">重置</div>
										</li>
										<li class="forgetpwd">
											<a href="javascript:void(0)" class="tologin lang_goLogin">去登录</a>
										</li>
									</ul>
								</div>
								<div id="wxsmdiv" class="smdl" style="display: none;text-align: center;">
								
								</div>
								<div style="text-align:left;position:absolute;left:37px;bottom: 15px;" id="extbtns">
										
								</div>
								<div style="text-align:right;position:absolute;right:37px;bottom: 15px;">
										<select class="aws-login-font" name="lang" id="lang" >
											<option value=cn>中文</option>
											<option value=en>English</option>
											<!-- <option value=big5>繁體</option> -->
										</select>
								</div>
							</div>
						</div>
					</div>
					<div class="zongfoot">
						<div id="footnotice" class="footer" hidden>
							
						</div>
						<div class="footer_two">
								
						</div>
					</div>
				</div>
			</div>
		</div>
		<div id="protocolModal">
			<div id="protocolModalMask"></div>
			<div class="protocol-modal-box">
				<div class="protocol-modal-hd">
					<span id="protocolModalTitle">协议</span>
					<span id="protocolModalClose">×</span>
				</div>
				<div id="protocolModalBody"></div>
			</div>
		</div>
	</body>
</html>
<script type="text/javascript" src="/vsharinglogin/js/wxsm.js"></script>
<script type="text/javascript" src="/vsharinglogin/js/vsharing_common.js?v=2026.3.30"></script>
<script type="text/javascript" src="/apps/com.awspaas.user.apps.magicportal/js/vsharing_at.js?v=1.0"></script>
<script type="text/javascript" src="/vsharinglogin/js/lang.js?v=0.2"></script>
<script type="text/javascript">
	var lgmLogin = null;
	function exitLgmStep(){
		lgmLogin = null;
		$(".login1").removeClass("lgm-step");
	}
(async () => {
	//localStorage账号密码，自动回填
	// ============ 开始 ============
	var saveUserId = localStorage.getItem("save_userid");        // 存储的账号
	var savePwd = localStorage.getItem("save_pwd");              // 存储的密码
	var isRemUserChecked = localStorage.getItem("rem_user_ck");  // 记住账号的勾选状态
	var isRemPwdChecked = localStorage.getItem("rem_pwd_ck");    // 记住密码的勾选状态

	if(saveUserId){
	    $("#USERID").val(saveUserId);
	}
	if(savePwd){
	    $("#PWD").val(savePwd);
	}

	if(isRemUserChecked == "true"){
	    $("#rememberUserId").prop("checked", true);
	}
	if(isRemPwdChecked == "true"){
	    $("#rememberPwd").prop("checked", true);
	}

	$("#rememberUserId").change(function(){
	    var isChecked = $(this).is(":checked");
	    if(isChecked){
	        localStorage.setItem("rem_user_ck", "true");
	    }else{
	        localStorage.removeItem("save_userid");
	        localStorage.setItem("rem_user_ck", "false");
	        //$("#USERID").val('');
	    }
	});

	$("#rememberPwd").change(function(){
	    var isChecked = $(this).is(":checked");
	    if(isChecked){
	        localStorage.setItem("rem_pwd_ck", "true");
	    }else{
	        localStorage.removeItem("save_pwd");
	        localStorage.setItem("rem_pwd_ck", "false");
	        //$("#PWD").val('');
	    }
	});
	// ============ 结束 ============ 
	
	
	//
	$(".zh").click(function(){
        exitLgmStep();
        $(this).addClass("curr")
        $(this).siblings("a").removeClass("curr")
        $(".login2").show()
        $(".login1,.smdl").hide()
    })
	$(".yzm").click(function(){
        exitLgmStep();
        $(this).addClass("curr")
        $(this).siblings("a").removeClass("curr")
        $(".login1").show()
        $(".login2,.smdl").hide()
    })
    $(".qrlogin").click(function(){
        $(this).addClass("curr")
        $(this).siblings("a").removeClass("curr")
        $(".login,.register").hide()
        $(".smdl").show()
    })
	var bh = $(window).height();
	var fh = $(".footer").height();
	var mh = bh-fh-136;
	
	// 环境  pc or mobile
	let uagent = VSUI.getUAgent();
		//uagent = 'welink';
	let userBrowser = VSUI.clientType();
	let	host = window.location.protocol+"//"+window.location.host; //当前根地址
		host += (window.location.href.indexOf("/portal?")<0)? "":"/portal";

	// 参数
	let urlParams = new URLSearchParams(window.location.search);
	let ext1 = urlParams.get('ext1') ?? "";
	let ext2 = urlParams.get('ext2') ?? "";
	let ext3 = urlParams.get('ext3') ?? "";
	let ext4 = urlParams.get('ext4') ?? "";
	let ext5 = urlParams.get('ext5') ?? "";

	let client_id = 	urlParams.get('client_id') ?? "";
	let response_type = urlParams.get('response_type') ?? "";
	let state = 		urlParams.get('state') ?? "";
	let redirect_uri = 	urlParams.get('redirect_uri') ?? "";
	if (client_id) ext1 = client_id;
	
	let scope = 					urlParams.get('scope') ?? "";
	let code_challenge = 			urlParams.get('code_challenge') ?? "";
	let code_challenge_method = 	urlParams.get('code_challenge_method') ?? "";
	
	$.ajax({
	   type : "get",async:false,url : "/vs/getlogin",
	   success : function(result) {
		   result = JSON.parse(result);
		   VSUI.setCookie("oauth_ticket",result.oauth_ticket,12*60*60*1000);
	   },
	   error : function(e){
		   console.log(e.status);
		   //$('body').append("error："+e.status)
	   }
	})
	
	debugger;
	// login规则
	var ext1Map = {};
	awsui.ajax.request({ //PORTALFRAME
		type: "POST", async: false,	url: "/r/jd?cmd=com.awspaas.user.apps.onlineoffice_getLogin&ext1="+ext1
			+"&client_id="+client_id+"&response_type="+response_type+"&state="+state+"&redirect_uri="+redirect_uri
			+"&codeChallenge="+code_challenge+"&codeMethod="+code_challenge_method,
		ok: function (res) {
			let code = res.data.code;
			if (code=='200') {
				ext1Map = res.data.data;	
				if(ext1Map.PORTALDATA){
					$("#header").css("display","none")
					$("#top_nav").css("display","flex")
					$(".frame_head").css('height',ext1Map.PORTALDATA.NAVHEIGHT) 
					$('.minmax').css({'height':'-webkit-calc(100% - '+ext1Map.PORTALDATA.NAVHEIGHT+'px)','height':'-moz-calc(100% - '+ext1Map.PORTALDATA.NAVHEIGHT+'px)','height':'calc(100% - '+ext1Map.PORTALDATA.NAVHEIGHT+'px)'})
					if (ext1Map.PORTALDATA.COLOR) {
						$(".frame_head").css('background',ext1Map.PORTALDATA.COLOR) //主题色
					}
					if (ext1Map.PORTALDATA.BGIMG) {
						$("#top_nav").css("background-image","url("+ext1Map.PORTALDATA.BGIMG.replace('..','')+")");//背景图
						$("#top_nav").css("background-size","cover").css("background-repeat","no-repeat").css("background-position","center center");
					} else {
						$("#top_nav").css("background-image","url()")//背景图
					}
					if (ext1Map.PORTALDATA.LOGO) {
						$('.imglogo').attr("src", ext1Map.PORTALDATA.LOGO.replace('..',''))
					}
					if(ext1Map.PORTALDATA.NAVTITLE=='1'){
						$("#navtitle").html(ext1Map.PORTALDATA.PORTALNAME)
						$("#navtitle").addClass("curs")
					}
					
				}else{
					$("#header").css("display","flex")
					$("#top_nav").css("display","none")
					// $('.minmax').css({'height':'-webkit-calc(100% - 100px)','height':'-moz-calc(100% - 100px)','height':'calc(100% - 100px)'})
					$('.minmax').css("height","100%")
				}
			} else if(code=='4030' || code=='4031' || code=='4032' || code=='4033'){
				$('body').html(''); $.simpleAlert(res.data.msg,'error');
			} else if (res.data.redirect_uri) {
				VSUI.setCookie("oauth_ticket",res.data.oauth_ticket,12*60*60*1000);
				location.href = res.data.redirect_uri;
			}
		}
	});
	// 短信限制参数
	var JSCODE2 = ext1Map.JSCODE2;
	VSUI.setCookie('ipCode',JSCODE2);
	
	// 参数重整
	host = ext1Map.DEFAULT_WWW? ext1Map.DEFAULT_WWW:host;
	let wxApiHome = ext1Map.wxApiHome? ext1Map.wxApiHome:"https://open.weixin.qq.com";
	
	// final url
	let skipurl = null;
	let skipId = urlParams.get('i') ?? ""; //中间页
	if (skipId) {
		skipurl = "cmd=com.awspaas.user.apps.datamanager_enter&appId=datamanager&html=cskip&ext1="+skipId;
	} else {
		skipurl = VSUI.getCookie("skipurl");	//缓存页
		if(skipurl){
			skipurl = skipurl.substring(skipurl.indexOf("?")+1);
		} else {
			if (ext1Map.USESKIP=='1') {	//规则中间页
				skipurl = "cmd=com.awspaas.user.apps.datamanager_enter&appId=magicportal&html=cdata&ext1="+ext1+"&ext2="+ext2+"&ext3="+ext3+"&ext4="+ext4+"&ext5="+ext5;
			} else {					//配置页
				if (userBrowser=='pc'){
					skipurl = (ext1Map.LOGIN_GO)?ext1Map.LOGIN_GO:ext1Map.LOGIN_GO2;	
				} else {
					skipurl = (ext1Map.LOGIN_GO2)?ext1Map.LOGIN_GO2:ext1Map.LOGIN_GO;
				}
				skipurl = skipurl.includes('?')? skipurl.substring(skipurl.indexOf('?')+1):skipurl;
				if (skipurl.includes("sid=")) {
					let tempu = skipurl.substring(skipurl.indexOf("sid="));
						tempu = tempu.includes('&')? tempu.substring(0,tempu.indexOf('&')):tempu;
					skipurl = skipurl.replace("&"+tempu, '').replace(tempu, '');
				}
			}
		}
	}
	
	// 页中公告 页尾公告
	if(ext1Map.CENTERNOTICE){
		$("#centernotice").html(ext1Map.CENTERNOTICE);
		$("#centernotice").show();
		$(".mleft_box").show();
	}
	if(ext1Map.FOOTNOTICE){
		$("#footnotice").html(ext1Map.FOOTNOTICE);
		$("#footnotice").show();
		var hh=$("#footnotice").height()
		var hhs=$("#top_nav").height()
		var h=hh
		$(".containerHtml").css({'height':'-webkit-calc(100% - '+h+'px)','height':'-moz-calc(100% - '+h+'px)','height':'calc(100% - '+h+'px)'})
		//$(".containerHtml").removeClass("curr")
	}else{
		//$(".containerHtml").addClass("curr")
	}
	// 判断中间内容高度小于最小高度值
	if(($(".container_main").height())<400){
		$(".mian-left").css("min-height","inherit");
		$(".mian-right").css("min-height","inherit");
	}else{
		$(".mian-left").css("min-height","400px;");
		$(".mian-right").css("min-height","400px;");
	}

	let ACCESS_LOGIN = ext1Map.ACCESS_LOGIN;//进入形式
	let LOGINTYPE = ext1Map.LOGINTYPE; 		//登录方式
	if (ACCESS_LOGIN=='0' || ext1Map.APPLOGINTYPE=='1'){
		//登录页
		//校验码
		var show_num = '';
		if (ext1Map.JSCODE=='1') {
			show_num = draws(100,30);
			$('.canvas').click(function(){
				show_num = draws(100,30);
			});
		} else {
			$('.jscode').parent().parent().hide();
		}
	
		//登录方式
		if (LOGINTYPE) {
			if (LOGINTYPE.indexOf('1')>=0) { //账号密码登录
			
			} else { //隐藏
				$(".zh").hide(); $(".login2").hide(); $(".login1").show(); 
			}
			if (LOGINTYPE.indexOf('2')>=0) { //短信验证码登录
			
			} else {  //隐藏
				$(".yzm").hide(); $(".login1").hide(); 
			}
			if (LOGINTYPE.indexOf('3')>=0) { //企业微信扫码登录
				//扫码登录
				if (ext1Map.CORPID && ext1Map.AGENTID) {
					$('#wxsm').show();
					$('#wxsm').click(function(){
						var backurl = host+"/r/back_qywx.html?corpId="+ext1Map.CORPID+"&agentId="+ext1Map.AGENTID+"&lang="+language+"&"+skipurl;
						var zh = language=='en'?'en':'zh';
						var wwLogin = new WwLogin({
							"id": "wxsmdiv",  
							"appid": ext1Map.CORPID,
							"agentid": ext1Map.AGENTID,
							"redirect_uri": encodeURIComponent(backurl),
							"state": "wx",
							"lang": zh
						});
					});
					if ($(".zh").is(':hidden') && $(".yzm").is(':hidden')) {
						 $(".qrlogin").click();
					}
				}
			} else {  //隐藏
				$(".qrlogin").hide();
			}
		}
		//注册扩展
		if (ext1Map.EXTCOLS2) {
			var EXTCOLS2 = JSON.parse(ext1Map.EXTCOLS2);
			console.log(EXTCOLS2);
			$.each(EXTCOLS2, function(k, v){
				if(v instanceof Object){
					var h = '<li class="hasinput hasborder">'
							h += '<select class="cardType extparam" id="'+k+'">'
							$.each(v, function(i,n){
								if (i!='shuoming2') h += '<option value="'+i+'">'+n+'</option>';
							});
							h += '</select>'
							h += '<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">'
						h += '</li>';
					$('.registForm').prepend(h);
				} else {
					$('.registForm').prepend('<li class="hasinput hasborder">'+
										'<input type="text" id="'+k+'" class="extparam" value="" placeholder="'+v+'" />'+
										'<img src="./vsharinglogin/img/wrong.png" class="wrongMsg">'+
									'</li>');
				}
			});
		}

		// 注册协议：登录规则 PROTOCOL。后台按 NOTUSED='1'（启用）查出后放入 PROTOCOL
		var protocolItems = [];
		var protocolList = ext1Map.PROTOCOL;
		if (typeof protocolList === 'string') {
			try { protocolList = JSON.parse(protocolList); } catch (e) { protocolList = []; }
		}
		if (protocolList && protocolList.length) {
			for (var pi = 0; pi < protocolList.length; pi++) {
				var p = protocolList[pi];
				if (!p) continue;
				// 后台 getLogin：select ... where NOTUSED='1'，1=启用
				if (p.NOTUSED == '0') continue;
				protocolItems.push(p);
			}
		}
		if (protocolItems.length) {
			var nameHtml = '';
			for (var ni = 0; ni < protocolItems.length; ni++) {
				var nTitle = protocolItems[ni].MC || ('协议' + (ni + 1));
				if (ni > 0) nameHtml += '<span>、</span>';
				nameHtml += '<a href="javascript:;" class="protocol-name" data-idx="' + ni + '">《' + nTitle + '》</a>';
			}
			$('.protocol-check-wrap .protocol-names').html(nameHtml);
			$('.protocol-check-wrap').addClass('protocol-on');
			// 附件拼链同本页 BGVIDEO / 其他项目：catalogue + magicportal + cata，后接 fileValue&fileName
			function buildCatalogueFileUrl(raw) {
				var s = (raw == null ? '' : String(raw)).trim();
				if (!s) return '';
				if (/^https?:\/\//i.test(s)) return s;
				if (/^(\.\/|\.\.\/)?\/?r\/df\?/i.test(s)) {
					return '/' + s.replace(/^\.\//, '').replace(/^\.\.\//, '').replace(/^\//, '');
				}
				var base = '/r/df?contentTokenId=vsharing&repositoryName=%21catalogue&appId=com.awspaas.user.apps.magicportal&groupValue=cata';
				var fv = '', fn = '';
				if (s.charAt(0) == '[' || s.charAt(0) == '{') {
					try {
						var fo = JSON.parse(s);
						if (fo && fo.length) fo = fo[0];
						fv = (fo && (fo.fileValue || fo.FILEVALUE)) || '';
						fn = (fo && (fo.fileName || fo.FILENAME)) || '';
					} catch (e2) {}
				} else if (s.indexOf('fileValue=') >= 0 || s.indexOf('fileName=') >= 0) {
					var q = s.replace(/^[?&]/, '');
					var parts = q.split('&');
					for (var i = 0; i < parts.length; i++) {
						var eq = parts[i].indexOf('=');
						if (eq < 0) continue;
						var k = parts[i].substring(0, eq);
						var v = parts[i].substring(eq + 1);
						try { v = decodeURIComponent(v); } catch (e3) {}
						if (k === 'fileValue') fv = v;
						if (k === 'fileName') fn = v;
					}
				} else {
					fv = s;
				}
				if (!fv && !fn) return '';
				return base + '&fileValue=' + encodeURIComponent(fv) + (fn ? ('&fileName=' + encodeURIComponent(fn)) : '');
			}
			$(document).on('click', '.protocol-name', function (e) {
				e.preventDefault();
				e.stopPropagation();
				var item = protocolItems[$(this).data('idx')];
				if (!item) return;
				var type = (item.TYPE || '').toString();
				var fileRaw = item.PDF || item.FILE || item.FILENAME || item.FILEVALUE || '';
				if (fileRaw && typeof fileRaw !== 'string') fileRaw = JSON.stringify(fileRaw);
				var fileUrl = buildCatalogueFileUrl(fileRaw);
				$('#protocolModalTitle').text(item.MC || '协议');
				var isPdf = type == '2' || String(type).toLowerCase().indexOf('pdf') >= 0 || (fileUrl && !(item.HTML && String(item.HTML).trim()));
				if (isPdf && fileUrl) {
					$('#protocolModalBody').html('<iframe class="protocol-pdf" src="' + fileUrl.replace(/"/g, '') + '"></iframe>');
				} else {
					$('#protocolModalBody').html(item.HTML || '');
				}
				$('#protocolModal').show();
			});
			$('#protocolModalClose, #protocolModalMask').on('click', function () {
				$('#protocolModal').hide();
				$('#protocolModalBody').empty();
			});
		}
		
		$(".loginbox").show();
		//扩展按钮
		if (ext1Map.EXTBTNS) {
			var bs =ext1Map.EXTBTNS.replace(/(\r\n)|\r|\n/g, '\n').split(/\n+/g);
			$.each(bs, function(i,n){
				if (n.trim()!='') {
					var ones = n.split('：');
					$('#extbtns').append('<a href="'+ones[1]+'">'+ones[0]+'</a>&nbsp&nbsp&nbsp');
				}
			});
		}
		
		$("title").html(getTitle(ext1Map.LOGIN_NAME));
		$("#lang").on('change',function(){
			setLangCookie(this.value, getTitle(ext1Map.LOGIN_NAME, this.value));
			language = this.value;
			if (!$('#wxsmdiv').is(":hidden")) {
				$('#wxsm').click();
			}
		});
		if (ext1Map.BGVIDEO) { //背景视频
			$("#header").hide();
			//fileName=mm.mp4&fileValue=20211125154540-admin||
			//./r/df?contentTokenId=vsharing&repositoryName=%21catalogue&appId=com.awspaas.user.apps.magicportal&groupValue=cata&fileName=mm.mp4&fileValue=20211125154540-admin
			var BGVIDEO = ext1Map.BGVIDEO.split("||")[0];
			if (BGVIDEO.indexOf("fileName")==0) {
				BGVIDEO = "/r/df?contentTokenId=vsharing&repositoryName=%21catalogue&appId=com.awspaas.user.apps.magicportal&groupValue=cata&"+BGVIDEO;
			}
			let player = document.querySelector('#v1');
			player.style.setProperty("display","");
			player.src = BGVIDEO
			player.play();
			$(".container_main").removeClass("aaa");
		} else {
			if (ext1Map.BACKGROUNDPIC) {
				$(".containerHtml").css({"background-image":"url("+ext1Map.BACKGROUNDPIC.replace('..','')+")"});
			}
			$(".container_main").addClass("aaa");
			if (ext1Map.LOGOPC) {
				$(".logo").attr("src", ext1Map.LOGOPC.replace('..',''));
			} else {
				$("#header").hide();
			}
			
		}
		

		$(".containerHtml").css({"background-size":"100% 100%"});
		$(".containerHtml").css({"background-position":"center center"});
		if(ext1Map.FOOTER){
			$(".footer_two").html(ext1Map.FOOTER);
			var hs=$(".footer_two").height()
			var hts=$("#top_nav").height()
			var h=hs
			$(".containerHtml").css({'height':'-webkit-calc(100% - '+h+'px)','height':'-moz-calc(100% - '+h+'px)','height':'calc(100% - '+h+'px)'})
		} else {
			$(".footer_two").hide();
		}
		if(ext1Map.FOOTER && ext1Map.FOOTNOTICE){
			var ht1=$("#footnotice").height()
			var ht2=$(".footer_two").height()
			var ht3=$("#top_nav").height()
			var htt=ht1+ht2
			$(".containerHtml").css({'height':'-webkit-calc(100% - '+htt+'px)','height':'-moz-calc(100% - '+htt+'px)','height':'calc(100% - '+htt+'px)'})
		}
		//账号密码登录
		$("#loginbtn").click(function () {
			var USERID = $("#USERID").val().trim();
			var PWD = $("#PWD").val().trim();
			if(USERID=='' || PWD==''){
				$.simpleAlert(getLanguage("fillInfo"));
			} else if (ext1Map.JSCODE=='1' && $('.jscode:visible').val()!=show_num.join("") ){
				$.simpleAlert('校验码不一致');
			} else {
				awsui.ajax.request({
					type: "POST", async: false,
					url: "/r/jd?cmd=com.awspaas.user.apps.onlineoffice_login",
					data: "loginid="+ext1+"&USERID="+USERID+"&PWD="+encodeURIComponent(rsaEncrypt(PWD))+"&types=PWD"+"&loginType="+userBrowser
						+"&client_id="+client_id+"&response_type="+response_type+"&state="+state+"&redirect_uri="+redirect_uri
						+"&codeChallenge="+code_challenge+"&codeMethod="+code_challenge_method,
					ok: function (res) {
						if (res.data.loginGroupMark) {
							if (res.data.mobile) {
								var smsOk = mobilecode("MOBILE="+res.data.mobile+"&LGM="+USERID+","+res.data.loginGroupMark, 'getmobilecode2');
								if (smsOk) {
									lgmLogin = { mobile: res.data.mobile, mark: res.data.loginGroupMark, userid: USERID };
									$(".login1").addClass("lgm-step");
									$(".zh").removeClass("curr");
									$(".yzm").addClass("curr");
									$(".login2,.smdl,.rigster,.resetpwd").hide();
									$(".login1").show();
								}
							} else {
								$.simpleAlert('用户信息缺失，请联系管理员');
							}
						} else if (res.data.code=='200'){
							//账号密码存入本地存储
							var isRememberUserId = $("#rememberUserId").is(":checked"); // 记住账号 是否勾选
							var isRememberPwd = $("#rememberPwd").is(":checked");       // 记住密码 是否勾选

							if(isRememberUserId){
							    localStorage.setItem("save_userid", USERID);       
							    localStorage.setItem("rem_user_ck", "true");       
							}else{
							    localStorage.removeItem("save_userid");            
							    localStorage.setItem("rem_user_ck", "false");      
							}

							if(isRememberPwd){
							    localStorage.setItem("save_pwd", PWD);            
							    localStorage.setItem("rem_pwd_ck", "true");        
							}else{
							    localStorage.removeItem("save_pwd");               
							    localStorage.setItem("rem_pwd_ck", "false");      
							}
							// ============  ============			
		                    //
							VSUI.setCookie("oauth_ticket",res.data.USERID,12*60*60*1000);
							if (client_id) {
								window.location.href = res.data.redirect_uri;
							} else {
								VSUI.loginOut();
								window.location.href = host+"/r/or?oauthName=token&uid="+res.data.USERID+"&lang="+language+"&"+skipurl;
							}
						} else if (res.data.code=='4000') {
								$.simpleAlert(res.data.msg);
						} else if (res.data.code=='4001'){
							if (res.data.msg) {
								$.simpleAlert(res.data.msg);
							} else {
								$.simpleAlert(getLanguage("userOrPasswoError"));
							}
						} else if (res.data.code=='4002'){
							$.simpleAlert(getLanguage("userOrPasswoError"));
						} else if (res.data.code=='4003'){
							$.simpleAlert(getLanguage("userCancel"));
						} else if(res.data.code=='4004'){
							$.simpleAlert(getLanguage("defPasswordNeedReset"),'info',3000);
						} else {
							$.simpleAlert(getLanguage("error"));
						}
					}
				});
			}
		});
		$('#PWD').keyup(function(e){
			if (e.keyCode==13) {
				$("#loginbtn").click();
			}
		});

		//手机号 验证码 登录
		$("#loginbtn_code").click(function(){
			var MOBILE = lgmLogin ? lgmLogin.mobile : $(".logPhone").val().trim();
			var USERID = lgmLogin ? lgmLogin.userid : $("#USERID").val().trim();
			var code = $(".logCode").val().trim();
			if((lgmLogin ? code=='' : (MOBILE=='' || code==''))){
				$.simpleAlert(getLanguage("fillInfo"));
			} else if (ext1Map.JSCODE=='1' && $('.jscode:visible').val()!=show_num.join("") ){
				$.simpleAlert('校验码不一致');
			} else {
				
				awsui.ajax.request({
					type: "POST", async: false,
					url: "/r/jd?cmd=com.awspaas.user.apps.onlineoffice_login",
					data: "loginid="+ext1+"&USERID="+USERID+"&MOBILE="+MOBILE+"&code="+code+"&types=MOBILE"+"&loginType="+userBrowser,
					ok: function (res) {
						if (res.data.code=='200'){
							VSUI.loginOut();
							window.location.href = host+"/r/or?oauthName=token&uid="+res.data.USERID+"&lang="+language+"&"+skipurl;
						} else if (res.data.code=='4002'){
							$.simpleAlert(getLanguage("userOrPasswoError"));
						} else if (res.data.code=='4005'){
							$.simpleAlert(getLanguage("codeError"));
						}else {
							$.simpleAlert(getLanguage("error"));
						}
					}
				});
			}
		});

		
		//手机号 验证码 注册  登录
		if(ext1Map.OPEN_REGISTER=='1' && ext1Map.REGISTER_DEPARTEMNT && ext1Map.REGISTER_ROLE) {
			//注册 效验密码格式 PWD
			$('.PWD_all').on('blur', function(e) {
				var pwdtype = ext1Map.PWDTYPE || '';
				var minLength = ext1Map.PWDLENGTH_BIG;
				var fixedLength = ext1Map.PWDLENGTH;
				var newPassword = $(this).val().trim();
				var specialCharRegex = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;  
				var lowerCaseRegex = /[a-z]/;  
				var upperCaseRegex = /[A-Z]/;  
				var errorMessages = []; 

				// 找到当前表单内部的提示框
				var $currentForm = $(this).closest('.registForm');
				var $passtishi = $currentForm.find('.passtishi2');

				// 长度检查
				if (newPassword) {
					if (fixedLength) {
						if (newPassword.length !== parseInt(fixedLength, 10)) {  
							errorMessages.push('密码必须为' + fixedLength + '位');  
						}  
					} else if (minLength) {
						if (newPassword.length < parseInt(minLength, 10)) {  
							errorMessages.push('密码至少为' + minLength + '位');  
						}  
					}  

					// 格式检查
					if (!lowerCaseRegex.test(newPassword) && pwdtype.includes('1'))
						errorMessages.push('请包含小写英文字母');
					if (!upperCaseRegex.test(newPassword) && pwdtype.includes('2'))
						errorMessages.push('请包含大写英文字母');
					if (!specialCharRegex.test(newPassword) && pwdtype.includes('3'))
						errorMessages.push('请包含特殊字符');
				}

				// 只更新当前表单的提示
				if (errorMessages.length > 0) {  
					$passtishi.text(errorMessages.join('，'));
					$(this).parent().next(".hasinput").css("margin-top","30px");
					isPasswordValid = false;
				} else {
					$passtishi.text('');
					$(this).parent().next(".hasinput").css("margin-top","20px");
					isPasswordValid = true;
				}  
			});

			// 注册 确认密码是否一致 PWD2
			$('.PWD2_all').on('blur', function(e) {
				var $currentForm = $(this).closest('.registForm');
				var newPassword = $currentForm.find(".PWD_all").val().trim();
				var newPassword2 = $(this).val().trim();
				
				if(newPassword && newPassword2 && newPassword != newPassword2){ 
					$.simpleAlert(getLanguage("passwordNotLike"));
				}
			});
			$(".registerbtn").click(function(){
				if (protocolItems.length) {
					var $form = $(this).closest('.registForm');
					if (!$form.find('.protocol-agree').is(':checked')) {
						$.simpleAlert('请先阅读并同意协议');
						return;
					}
				}
				//扩展参数
				var extparam = {}
				$.each($('.extparam'), function(i,n){
					var onep = $(n).val();
					if (onep && onep.trim()) {
						extparam[$(n).attr('id')] = onep.trim();
					}
				});
				console.log(extparam);
			
				//是否允许注册
				if (ext1Map.OPEN_REGISTER=='0'){

				} else if(ext1Map.OPEN_REGISTER=='1'){
					$("#REGISTER_ROLE").val(ext1Map.REGISTER_ROLE);
					$("#REGISTER_DEPARTEMNT").val(ext1Map.REGISTER_DEPARTEMNT);
				}
				
				var MOBILE = '';
				var PWD = '';
				var PWD2 = '';
				var code = '';
				var REGISTER_ROLE = $("#REGISTER_ROLE").val();
				var REGISTER_DEPARTEMNT = $("#REGISTER_DEPARTEMNT").val();
				
				var da = '';
				if ($(this).parent().parent().parent().hasClass('rigster4')) {
					var MOBILE = $(".phone4").val().trim();
					var PWD = $(".PWD4").val().trim();
					var PWD2 = $(".PWD24").val().trim();
					var code = $(".code4").val().trim();
					da = "USERID="+MOBILE+"&PWD="+encodeURIComponent(rsaEncrypt(PWD))+"&USERNAME="+MOBILE+"&code="+code+"&EMAIL="+MOBILE+"&types=EMAIL"
				} else {
					var MOBILE = $(".phone").val().trim();
					var PWD = $(".PWD").val().trim();
					var PWD2 = $(".PWD2").val().trim();
					var code = $(".code1").val().trim();
					da = "USERID="+MOBILE+"&PWD="+encodeURIComponent(rsaEncrypt(PWD))+"&USERNAME="+MOBILE+"&code="+code+"&MOBILE="+MOBILE+"&types=MOBILE";
				}
				
				if(MOBILE=='' || code=='' || REGISTER_ROLE=='' || REGISTER_DEPARTEMNT=='' || PWD==''){
					$.simpleAlert(getLanguage("fillInfo"));
				 } //else if(PWD!=PWD2){
				// 	$.simpleAlert(getLanguage("passwordNotLike"));
				// } 
				else if (ext1Map.JSCODE=='1' && $('.jscode:visible').val()!=show_num.join("") ){
					$.simpleAlert('校验码不一致');
				} else {
					da += "&loginType="+userBrowser+"&roleId="+REGISTER_ROLE+"&departmentId="+REGISTER_DEPARTEMNT+"&loginID="+ext1+"&param="+encodeURIComponent(JSON.stringify(extparam));
					awsui.ajax.request({
						type: "POST", async: false,
						url: "/r/jd?cmd=com.awspaas.user.apps.onlineoffice_regist",
						data: da,
						ok: function (res) {
							if (res.data.code=='200'){
								VSUI.loginOut();
								window.location.href = host+"/r/or?oauthName=token&uid="+res.data.USERID+"&lang="+language+"&"+skipurl;
							} else if (res.data.code=='4006'){
								$.simpleAlert(getLanguage("registFail"));
							} else if (res.data.code=='4007'){
								$.simpleAlert(getLanguage("userAlreadyExist"));
							} else if (res.data.code=='4008'){
								$.simpleAlert(getLanguage("userCancel2"));
							} else if (res.data.code=='4005'){
								$.simpleAlert(getLanguage("codeError"));
							} else if (res.data.msg) {
								$.simpleAlert(res.data.msg);
							} else {
								$.simpleAlert(getLanguage("error"));
							}
						}
					});
				}
			});
		} else {
			$(".ifR").hide();
		}
		
		$(".torigster").click(function(){
			
			$(".logintab").hide();
			$(".login").css({"display":"none"});
			$("input").val("");
			$(".mian-right").addClass("has-regist");
			if (LOGINTYPE.indexOf('2')>=0 && LOGINTYPE.indexOf('4')<0) {
				console.log(2);
				$(".rigster1").css({"display":"flex","flex-direction":"column"});
			} else if (LOGINTYPE.indexOf('4')>=0 && LOGINTYPE.indexOf('2')<0) {
				console.log(4);
				$(".rigster4").css({"display":"flex","flex-direction":"column"});
			} else if (LOGINTYPE.indexOf('4')>=0 && LOGINTYPE.indexOf('2')>=0) {
				console.log(24);
				$(".rigster1").css({"display":"flex","flex-direction":"column"});
				$('.registtype').show();
			}
		});
		if (window.location.href.indexOf('r=1')>0) $(".torigster").click();
		$(".registtype").click(function(){
			if ($(this).hasClass('lang_regist_email')) {
				$(".rigster1").css({"display":"none"});
				$(".rigster4").css({"display":"flex","flex-direction":"column"});
			} else if ($(this).hasClass('lang_regist')) {
				$(".rigster4").css({"display":"none"});
				$(".rigster1").css({"display":"flex","flex-direction":"column"});
			}
		});
		
		//发送验证码并保存
		var timer;
		// 全局变量，用于标记密码是否符合要求  
    	var isPasswordValid = false; 
		$(".getcode").click(function () {
			var codeid = $(this).attr("id");
			if (codeid=='getmobilecode2' && lgmLogin) {
				mobilecode("MOBILE="+lgmLogin.mobile+"&LGM="+lgmLogin.userid+","+lgmLogin.mark, codeid);
				return;
			}
			var MOBILE = '';
			var da = '';
			if ($(this).parent().parent().parent().hasClass('rigster4')) {
				MOBILE = $(".lang_email").val();
				da = "MOBILE="+MOBILE + "&type=R&sendType=email";
			} else {
				if(codeid=='getmobilecode2'){ //登录
					MOBILE = $(".logPhone").val();
					da = "MOBILE="+MOBILE;
				} else if(codeid=='getmobilecode'){ //注册
					MOBILE = $(".phone").val();
					da = "MOBILE="+MOBILE + "&type=R";
				} else if(codeid=='getmobilecode3'){  //重置
					MOBILE = $("#MOBILE_Reset").val();
					da = "MOBILE="+MOBILE + "&type=Reset";
				} else {
					return;
				}

				if(!(/^1[3456789]\d{9}$/.test(MOBILE))){
					$.simpleAlert(getLanguage("inputValidPhone"));
					return false;
				}
			}
			
			if(isPasswordValid==true || codeid=='getmobilecode2'){
				mobilecode(da, codeid);
			}else{
				$("#getmobilecode3").attr("disabled",true) //获取验证码按钮让点击
				if($("#newPassword").val()=='' && codeid=='getmobilecode3'){
					$.simpleAlert(getLanguage("password"));
				}else if($(".PWD").val()=='' && codeid=='getmobilecode'){
					$.simpleAlert(getLanguage("password"));
				}else{
					$.simpleAlert("请输入正确的密码");
				}
				return false;
			}
		});
		function mobilecode(params, btnId) {
			var sent = false;
			btnId = btnId || 'getmobilecode2';
			$("#getmobilecode3").attr("disabled",false);
			console.log("开始发送短信...");
			awsui.ajax.request({
				type: "POST",
				url: "/r/jd?cmd=com.awspaas.user.apps.onlineoffice_mobilecode",
				data: params+"&LOGIN_ID="+ext1Map.LOGIN_ID+"&JSCODE2="+JSCODE2,
				async: false,
				ok: function (res) {
					JSCODE2 = res.data.JSCODE2;
					if (res.data.code=='200'){
						$(".loginbtn").show();
						if(res.data.data=="1"){
							sent = true;
							$.simpleAlert(getLanguage("sendCodeSuccess"));
							if (timer) clearInterval(timer);
							var time = 60;
							$("#"+btnId).addClass("notclick").attr("disabled", true).text(time + "秒");
							timer = setInterval(function() {
								if (time <= 1) {
									clearInterval(timer);
									$("#"+btnId).attr("disabled", false).text("获取验证码").removeClass("notclick");
								} else {
									time--;
									$("#"+btnId).text(time + "秒");
								}
							}, 1000);
						} else if(res.data.data=="调用次数已达上限"){
							$.simpleAlert(getLanguage("sengDisable"));
						} else if(res.data.data=="验证有误"){
							$.simpleAlert("请重新尝试", "info", 2000);
						} else {
							$.simpleAlert(getLanguage("sendCodeFail"));
						}
					} else if (res.data.code=='4009') {
						$.simpleAlert("短信验证码获取过快，请60秒后再试",'info',3000);
					} else if(res.data.code=='4001'){
						$.simpleAlert(getLanguage("userOrPasswoError"));
					} else if(res.data.code=='4007'){
						$.simpleAlert(getLanguage("userAlreadyExist"));
					} else if(res.data.code=='4008'){
						$.simpleAlert(getLanguage("userCancel2"));
					} else if(res.data.code=='4003'){
						$.simpleAlert(getLanguage("userCancel"));
					} else if (res.data.code=='4002'){
						$.simpleAlert(getLanguage("userOrPasswoError"));
					} else {
						$.simpleAlert(getLanguage("sendCodeFail"));
					}
				}
			});
			return sent;
		}

		if(ext1Map.SEND_NOTICE){
			//效验密码格式 newPassword
			$('#newPassword').on('blur', function(e) {  
			    var pwdtype = ext1Map.PWDTYPE || ''; // 密码类型 1英文小写 2英文大写 3特殊字符
			    var minLength = ext1Map.PWDLENGTH_BIG; // 密码最小长度（如果配置了）  
			    var fixedLength = ext1Map.PWDLENGTH; // 密码固定长度（如果配置了，以固定长度为准）  
			    var newPassword = $("#newPassword").val().trim();  
			    var specialCharRegex = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;  
			    var lowerCaseRegex = /[a-z]/;  
			    var upperCaseRegex = /[A-Z]/;  
			    var errorMessages = []; // 用于存放错误消息的数组   
			    // 检查密码长度  
			    if (fixedLength) {  
			        if (newPassword.length !== parseInt(fixedLength, 10)) {  
			            errorMessages.push('密码必须为' + fixedLength + '位');  
			        }  
			    } else if (minLength) {  
			        if (newPassword.length < parseInt(minLength, 10)) {  
			            errorMessages.push('密码至少为' + minLength + '位');  
			        }  
			    }  
			    // 检查密码是否包含小写字母  
			    if (!lowerCaseRegex.test(newPassword) && pwdtype.includes('1')) {  
			        errorMessages.push('请包含小写英文字母');  
			    }    
			    // 检查密码是否包含大写字母  
			    if (!upperCaseRegex.test(newPassword) && pwdtype.includes('2')) {  
			        errorMessages.push('请包含大写英文字母');  
			    }   
			    // 检查密码是否包含特殊字符  
			    if (!specialCharRegex.test(newPassword) && pwdtype.includes('3')) {  
			        errorMessages.push('请包含特殊字符');  
			    }  
			    // 显示错误消息  
			    if (errorMessages.length > 0) {  
			        $('.passtishi1').empty().append(errorMessages.join('，'));
			        $(".terpcont .hasinput.mtsp").css("margin-top","30px")  
			        isPasswordValid = false
			    } else {  
			        $('.passtishi1').empty();  
			        isPasswordValid = true
			        $(".terpcont .hasinput.mtsp").css("margin-top","20px")
			    } 
			    var MOBILE = $("#MOBILE_Reset").val().trim();
				if(MOBILE==''){
					$.simpleAlert('请输入手机号');
				} 
			});
			
			//确认密码是否一致 newPassword2
			$('#newPassword2').on('blur', function(e) {
				var newPassword = $("#newPassword").val().trim();
				var newPassword2 = $("#newPassword2").val().trim();
				if(newPassword!=newPassword2){ 
					$.simpleAlert(getLanguage("passwordNotLike"));
				}
			})
			//效验手机号 MOBILE_Reset
			$('#MOBILE_Reset').on('blur', function(e) {
				var MOBILE = $("#MOBILE_Reset").val().trim();
				if(MOBILE==''){
					$.simpleAlert('请输入手机号');
				}else{
			        var regex = /^1[3-9]\d{9}$/;
			        if (!regex.test(MOBILE)) {
			        	$.simpleAlert('手机号格式不正确');
			        }
				}
			})
			//密码重置
			$("#goReset").click(function(){
				var MOBILE = $("#MOBILE_Reset").val().trim();
				//var oldPassword = $("#oldPassword").val().trim();
				var newPassword = $("#newPassword").val().trim();
				var newPassword2 = $("#newPassword2").val().trim();
				var code = $("#getResetCode").val().trim();
				if(MOBILE=='' || newPassword=='' || newPassword2=='' || code==''){
					$.simpleAlert(getLanguage("fillInfo"));
				} else if (ext1Map.JSCODE=='1' && $('.jscode:visible').val()!=show_num.join("") ){
					$.simpleAlert('校验码不一致');
				} else {
					awsui.ajax.request({
						type: "POST", async: false,
						url: "/r/jd?cmd=com.awspaas.user.apps.onlineoffice_changePWD",
						data: "loginID="+ext1+"&code="+code+"&MOBILE="+MOBILE+"&newPassword="+encodeURIComponent(rsaEncrypt(newPassword)),
						ok: function (res) {
							if (res.data.code=='200'){
								$.simpleAlert(getLanguage("resetPasswordSuccess"));
							} else if (res.data.code=='4010'){
								$.simpleAlert(getLanguage("resetPasswordFail"));
							} else if (res.data.code=='4002'){
								$.simpleAlert(getLanguage("userOrPasswoError"));
							} else if (res.data.code=='4003'){
								$.simpleAlert(getLanguage("userCancel2"));
							} else if (res.data.code=='4005'){
								$.simpleAlert(getLanguage("codeError"));
							} else if (res.data.msg) {
								$.simpleAlert(res.data.msg);
							} else {
								$.simpleAlert(getLanguage("error"));
							}
						}
					});
				}
			});

		} else {
			$(".ifCode").hide();
		}


	} else if(ACCESS_LOGIN=='1'){
		//第三方认证
		$(".ssodiv").show();
		//OAUTH|CAS|wechat:服务号|qyweixin:企业微信|dd:钉钉|welink:welink
		let authentication = userBrowser=='pc'? ext1Map.THIRDTYPE:ext1Map.MOBILETYPE;
		if (uagent=="weixin" && authentication.includes('qyweixin')) {
		
			//企业微信
			VSUI.setCookie("LOGIN_ID", ext1, 5*60*1000);
			let corpId_agentId = ext1Map.OAUTH.split(",");
			let backurl = host+"/r/back_qywx.html?corpId="+corpId_agentId[0]+"&agentId="+corpId_agentId[1]+"&lang="+language+"&"+skipurl;
			window.location.href = wxApiHome+"/connect/oauth2/authorize?appid="+corpId_agentId[0]+"&redirect_uri="+encodeURIComponent(backurl)+"&response_type=code&scope=snsapi_base&state=v#wechat_redirect";
			
		} else if (uagent=="weixin" && authentication.includes('wechat')) {
		
			//服务号
			let wxcodeurl = wxApiHome+'/connect/oauth2/authorize?appid='+ext1Map.WECHATAPPID+'&redirect_uri='+encodeURIComponent(host+'/r/wxSA.html?ext1='+ext1+'&ext2='+ext2+'&ext3='+ext3+'&ext4='+ext4+'&ext5='+ext5)+'&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect';
			location.href = wxcodeurl;
			
		} else if (uagent=="dd" && authentication.includes('dd')) {
		
			//钉钉 DD_CORPID,DD_CLIENTID
			VSUI.loadJS('https://g.alicdn.com/dingding/dingtalk-jsapi/3.1.0/dingtalk.open.js', 'dd', async () => {
				let dcode = await VSUI.getDDCodeSync(ext1Map.DD_CORPID, ext1Map.DD_CLIENTID);
				let h = host+"/r/or?oauthName=d&f=" +ext1Map.OAUTH_DEF+"&host=&lang="+language+"&code="+dcode+"&"+skipurl;
				const absoluteH = VSUI.toAbsoluteUrl(h)
				window.history.replaceState(null, document.title, absoluteH);
				window.location.replace(absoluteH);
			});
			
		} else if (uagent=="feishu" && authentication.includes('feishu')) {
		
			//飞书
			let h = host+"/r/or?oauthName=feishu&f="+ext1Map.OAUTH_DEF+"&host=&lang="+language+"&"+skipurl;
			window.location.href = h;
			
		} else if (uagent=="welink" && authentication.includes('welink')) {
		
			//welink
			VSUI.loadJS('https://open-doc.welink.huaweicloud.com/docs/jsapi/2.0.12/hwh5-cloudonline.js', 'welink', () => {
				HWH5.getAuthorizationCode().then(code => {
					let h = host+"/r/or?oauthName=wl&f="+ext1Map.OAUTH_DEF+"&host=&lang="+language+"&code="+code.code+"&"+skipurl;
					window.location.href = h;
				}).catch(error => {
					console.log('获取异常', error);
				});
			});	
			
		} else if (authentication.includes('dd')) {
		
			//钉钉
			let h = host+"/r/or?oauthName=dd&f="+ext1Map.OAUTH_DEF+ "&host=&lang="+language+"&"+skipurl;
			window.location.href = h;
			
		} else if (authentication.includes('feishu')) {
		
			//飞书
			let h = host+"/r/or?oauthName=feishu&f="+ext1Map.OAUTH_DEF+"&host=&lang="+language+"&"+skipurl;
			window.location.href = h;
			
		} else if (authentication.includes('OAUTH')) {
		
			//OAUTH
			let h = host+"/r/or?oauthName=ssologins&f="+ext1Map.OAUTH_DEF+"&lang="+language+"&"+skipurl;
			window.location.href = h;
		
		} else if (authentication.includes('CAS')) {
			let u = host + "/r/w?"+skipurl;
			VSUI.setCookie("ssourl", u, 2*60*60*1000);
			window.location.href = "./index.jsp";
		} else {
			$.simpleAlert("no authentication", 'error');
		}

	} else if(ACCESS_LOGIN=='2'){
		//直接进入页面
		$(".ssodiv").show();
		window.location.href = ext1Map.LOGIN_GO;
	}
})();
	$(function(){
		var time=new Date();
		var year=time.getFullYear();
		$(".year").text(year);
		$(".tologin").click(function(){
			exitLgmStep();
			$(".login1").css({"display":"none"});
			$(".login2").css({"display":"flex"});
			$(".logintab").show();
			$(".yzm").removeClass("curr");
			$(".zh").addClass("curr");
			$(".rigster").css({"display":"none"});
			$(".mian-right").removeClass("has-regist");
			$("input").val("");
			$("#extbtns").css({"display":"block"});
		})
		
		$(".resetPwd>a").click(function(){//重置密码
			$(".logintab").css({"display":"none"});
			$(".rigster2").css({"display":"flex"});
			$(".login").css({"display":"none"});
			$("input").val("");
			$("#extbtns").css({"display":"none"});
		})
		
		//点击账户登录
		$(".zh_login").click(function(){
			exitLgmStep();
			$(".login1").find("input").val("");
			$(".login1").css({"display":"none"});
			$(".login2").css({"display":"flex"});
			$("#extbtns").css({"display":"block"});
		})
		//点击验证码登录
		$(".yzm_login").click(function(){
			exitLgmStep();
			$(".login2").find("input").val("");
			$(".login1").css({"display":"flex"});
			$(".login2").css({"display":"none"});
			$("#extbtns").css({"display":"block"});
		})
		
		//点击去登录
		$(".sureLogin").click(function(){
			judgewrong("logNum");
			judgewrong("logName");
		})

		//点击去注册
		/*$(".sureRigster").click(function(){
			judgewrong("selfcode");
			judgewrong("rigName");
			judgewrong("phone");
			judgewrong("rigImgcode");
			judgewrong("rigPhonecode");
			judgewrong("rigPwd");
			judgewrong("rigRePwd");

		})*/

	})
	
	function judgewrong(canshu){
		var text=$("."+canshu).val();
		if(text==""){
			$("."+canshu).css({"border":"1px solid red"});
			$("."+canshu).parent().find(".wrongMsg").css({"display":"block"});
		}else{
			$("."+canshu).css({"border":"1px solid grey"});
			$("."+canshu).parent().find(".wrongMsg").css({"display":"none"});
		}
		
	}

	//VSUI.setCookie("loginurl",window.location.href)
	
</script>