heyang 3 年之前
父节点
当前提交
ca6fd155ac

+ 1 - 1
microserviceUserH5/vcloud/exchangePhoneActivity.html

@@ -382,7 +382,7 @@
 				}else{
 					operate('cp_h5_立即体验Android');
 				}
-				location.href = `./channelDownApp.html?code=h8v320gxzb2W&platform=1`;
+				location.href = `./exchangePhoneDownApp.html?code=h8v320gxzb2W&platform=1`;
             } else if (isIOS) {
 				if(type == 1){
 					operate('cp_h5_立即领取iOS');

+ 388 - 125
microserviceUserH5/vcloud/invite3.html

@@ -3,152 +3,415 @@
 
 <head>
 	<meta charset="UTF-8">
-	<title>双子星</title>
 	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+	<title>免费换机</title>
 	<link rel="icon" href="../static/img/favicon2.ico" type="img/x-ico">
 	<link rel="stylesheet" href="../static/js/vender/bootstrap/css/bootstrap.min.css">
-	<link rel="stylesheet" href="../static/css/normalize2.css">
-	<link rel="stylesheet" href="../static/css/experience2.css">
+	<link rel="stylesheet" href="../static/css/verify.css">
 	<link rel="stylesheet" href="../static/js/vender/toastr/toastr.min.css">
+	<link rel="stylesheet" href="../static/css/changePhoneActivity.css">
+	<script>
+		(function () {
+			if (!window.Promise) {
+				document.writeln('<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js"><' + '/' + 'script>');
+			}
+		})();
+	</script>
 	<script src="../static/js/vender/jquery-3.4.1.min.js"></script>
-	<script src="../static/js/vender/bootstrap/js/bootstrap.min.js"></script>
 	<script src="../static/js/vender/toastr/toastr.min.js"></script>
 	<script src="../static/js/vender/config.js"></script>
-	<script>
-		toastr.options.positionClass = 'toast-center-center';
-	</script>
+	<script src="../static/js/vender/crypto-js.js"></script>
+	<script src="../static/js/vender/ase.js"></script>
+	<script src="../static/js/vender/verify.js"></script>
 </head>
-<div class="top free-code-con" style="position:relative;background: #169af2;">
-	<div class="bottom-img">
-		<div class="center-pic">
-			<div class="recv-cont" id="recv_cont">
-				<div onclick="handleClick2()" style="position: relative">
-					<div class="recv-btn" id="recv_btn">
-						<img src="../static/img/experienceBtn.png" alt="" style="width: 100%">
-						<div class="btn-bg-style">
-							<span>下载双子星APP</span>
-							<img src="../static/img/xing_icon.png" alt="">
-						</div>
-					</div>
+
+<body>
+	<div>
+		<div class="header">
+			<img class="bg_img" src="../static/img/changePhoneActivity/bg.png" />
+			<div class="share-node"><img class="share" src="../static/img/changePhoneActivity/share.png" /></div>
+			<img class="logo" src="../static/img/changePhoneActivity/logo.png" />
+			<img class="theme" src="../static/img/changePhoneActivity/theme.png" />
+			<img class="activity-bg" src="../static/img/changePhoneActivity/activity-bg.png" />
+			<img class="time" src="../static/img/changePhoneActivity/time.png" />
+			<div class="login-container">
+			   <div class="ipt"></div>
+			   <img class="login-bg" src="../static/img/changePhoneActivity/login-bg.png" />
+			   <div class="login-row-select">
+				   <div class="login-row-title">平台:</div>
+					<input class="login-row-ipt" id="select" placeholder="请选择平台" disabled="true" />
+				   <img class="icon-down-img" src="../static/img/changePhoneActivity/icon-down.png" />
+			   </div>
+			   <div class="options">
+				   <div class="icon-down-first">
+					   <span class="first-text">多多云</span>
+				   </div>
+				   <div class="icon-down-second">
+					<span class="second-text">红手指</span>
+				</div>
+			   </div>
+			   <div class="login-row-account">
+					<div class="login-row-title">账号:</div>
+					<input class="login-row-ipt" id="account" placeholder="请输入账号" />
 				</div>
+				<div class="login-row-password">
+					<div class="login-row-title">密码:</div>
+					<input class="login-row-ipt" type="password" id="password" placeholder="请输入密码" />
+				</div>
+				<div id="login-btn">
+					<img class="login-btn" src="../static/img/changePhoneActivity/login-btn.png" />
+					<img class="login-btn-text" src="../static/img/changePhoneActivity/login-btn-text.png" />
+				</div>
+				<div id="mpanel2"></div>
+			</div>
+			<div class="read-rule">
+				<img class="selected" src="../static/img/changePhoneActivity/selected.png" />
+				<img class="no-selected" src="../static/img/changePhoneActivity/no-selected.png" />
+				<img class="rule-text" src="../static/img/changePhoneActivity/rule-text.png" />
+			</div>
+			<div class="entry-QQ">
+				<img class="entry-QQ-btn" src="../static/img/changePhoneActivity/entry-QQ-btn.png" />
+			</div>
+		</div>
+		<div class="middle">
+			<img class="middle_bg_img" src="../static/img/changePhoneActivity/middle_bg_img.png" />
+			<div class="activity-rule">
+				<img class="activity-rule-btn" src="../static/img/changePhoneActivity/activity-rule-btn.png" />
+				<img class="activity-rule-text" src="../static/img/changePhoneActivity/activity-rule-text.png" />
+			</div>
+		</div>
+		<div class="footer">
+			<img class="footer_bg_img" src="../static/img/changePhoneActivity/footer_bg_img.png" />
+			<img class="rule4" src="../static/img/changePhoneActivity/rule4.png" />
+			<img class="rule5" src="../static/img/changePhoneActivity/rule5.png" />
+		</div>
+		<div class="mask1">
+			<div class="dialog1">
+			    <img class="dialog1-bg" src="../static/img/changePhoneActivity/dialog1.png" />
+			    <img class="title" src="../static/img/changePhoneActivity/title.png" />
+			    <img class="content" src="../static/img/changePhoneActivity/content.png" />
+			    <img class="register-btn" src="../static/img/changePhoneActivity/register-btn.png" />
+			    <img class="register-text" src="../static/img/changePhoneActivity/register-text.png" />
+			</div>
+			<div class="tip">
+			    <img class="tip-bg" src="../static/img/changePhoneActivity/tip-bg.png" />
+			    <div class="tip-title" id="tip-text"></div>
+			    <img class="sure-btn" src="../static/img/changePhoneActivity/sure-btn.png" />
+			    <img class="sure-text" src="../static/img/changePhoneActivity/sure-text.png" />
 			</div>
 		</div>
 	</div>
-
-</div>
-<script type="text/javascript">
-	// var baseUrl = 'https://per.cs.se.androidscloud.com';
-	let code = '', downloadId = '', platform = '', version = '';
-	goAppDownload();
-	function goAppDownload() {
-		const data = {
-			code: GetRequest().code,
-			platform: GetRequest().platform
+	<script>
+		toastr.options.positionClass = 'toast-center-center';
+		toastr.options.timeOut = '1500';
+	</script>
+	<script type="text/javascript">
+	    Date.prototype.Format = function (fmt) { // author: meizz
+			var o = {
+				"M+": this.getMonth() + 1, // 月份
+				"d+": this.getDate(), // 日
+				"h+": this.getHours(), // 小时
+				"m+": this.getMinutes(), // 分
+				"s+": this.getSeconds(), // 秒
+				"q+": Math.floor((this.getMonth() + 3) / 3), // 季度
+				"S": this.getMilliseconds() // 毫秒
+			};
+			if (/(y+)/.test(fmt))
+				fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+			for (var k in o)
+				if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+				return fmt;
 		}
-		$.ajax({
-			url: baseUrl + `/api/user/goPhoneAppDownload?code=${data.code}&platform=${data.platform}`,
-			type: 'get',
-			contentType: "application/json",
-			dataType: 'json',
-			cache: false,
-			success: function (res) {
-				if (res.status === 0) {
-					code = res.data.code;
-					downloadId = res.data.downloadId;
-					platform = res.data.platform;
-					version = res.data.version;
-				} else {
-					toastr.error(res.msg)
-				}
+	    let timer,flag = true;
+		let isShow = true;
+		let entryPageTime = new Date().Format("yyyy-MM-dd hh:mm:ss");
+		let fromType = 0,
+		    account = '',
+			password = '';
+		var url = window.location.href;
+		url = url.split('/')
+		// var baseUrl = 'http://192.168.31.198'
+		var loc = window.location.search,
+		    n1 = loc.length,//地址的总长度
+		    n2 = loc.indexOf("="),//取得=号的位置
+		    id = loc.substr(n2 + 1, n1 - n2),//从=号后面的内容
+			u = navigator.userAgent,
+			ua = navigator.userAgent.toLowerCase(),
+			isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
+			isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
+			imgs = [[1,'../static/img/changePhoneActivity/rule1.png'],[6,'../static/img/changePhoneActivity/rule6.png'],[2,'../static/img/changePhoneActivity/rule2.png'],[3,'../static/img/changePhoneActivity/rule3.png']];
+		//埋点
+		operate('dt_yhs_活动页面浏览');
+		function operate(pointName,type,captchaVerification){
+			$.ajax({
+				url: baseUrl + '/api/public/v1/systemBuriedPoint/stat',
+				type: 'post',
+				data:JSON.stringify({
+					pointName: pointName
+				}),
+				contentType:"application/json",
+				dataType: 'json',
+				cache: false,
+				success: function (res) {
+					if(type === 'click'){
+						changePhone(captchaVerification);
+					}
+				},
+			})
+		}
+		//异步加载图片
+		async function loadAsync() {
+			let promise = function(index,url) {
+				return new Promise((resolve, reject) => {
+				const image = new Image();
+				image.src = url;
+				image.className = 'rule'+index;
+				image.onload = function() {
+					$('.middle')[0].appendChild(image);
+					resolve('ok');
+				}        
+				})      
+			}
+			for(let [index,url] of imgs) {
+				await promise(index,url);
 			}
-		})
-	}
-	function handleClick2() {
-		const data = {
-			code: code,
-			platform: platform,
-			version: version,
-			type: 5
 		}
-		$.ajax({
-			url: baseUrl + '/api/user/v1/ditchClient/addChannelAppDownload',
-			data: JSON.stringify(data),
-			type: 'post',
-			contentType: "application/json",
-			dataType: 'json',
-			cache: false,
-			success: function (res) {
-				if (res.status === 0) {
-					if(baseUrl == 'https://per.cs.se.androidscloud.com'){
-						window.location.href = `https://per.cs.se.androidscloud.com/file-center/fileOperate/downloadFile?id=${downloadId}`;
-					}else{
-						window.location.href = `https://wjzx.androidscloud.com:9091/file-center/fileOperate/downloadFile?id=${downloadId}`;
+        loadAsync();
+		//点击分享
+		$('.share-node')[0].addEventListener('click',()=>{
+			if(!id){
+				copyUrl();
+			} else if (isiOS) {
+				$.ajax({
+					url: baseUrl + '/api/user/v1/promote',
+					type: 'get',
+					headers: {
+						'Authorization': id  //id
+					},
+					contentType: "application/json",
+					dataType: 'json',
+					cache: false,
+					success: function (res) {
+						var jsonStr = JSON.stringify(res.data)
+						var jsonObj = JSON.parse(jsonStr)
+						// WKWebView使用
+						// 使用下方方法,会报错,为使界面执行逻辑通畅,因此使用try-catch
+						try {
+							getMessage(jsonObj);
+						} catch (error) {
+							console.log(error)
+						}
+						try {
+							window.webkit.messageHandlers.getMessage.postMessage(jsonObj)
+						} catch (error) {
+							copyUrl();
+						}
 					}
-				} else {
-					toastr.error(res.msg)
+				})
+			} else if (isAndroid) {
+				if(window.native){
+					window.native.onClikWebView()
+				}else{
+					copyUrl();
 				}
+			}else{
+				copyUrl();
 			}
-		})
-	}
-</script>
-</body>
-<style>
-	#toast-container>.toast-error {
-		background-image: none !important;
-	}
-
-	.toast-error {
-		background-color: rgba(0, 0, 0, 0.8);
-	}
-
-	#toast-container>div {
-		font-size: 14px;
-		min-width: 80px !important;
-		padding: 12px !important;
-		box-shadow: none;
-	}
-
-	@media (max-width: 480px) and (min-width: 241px) {
-		#toast-container>div {
-			min-width: 80px !important;
-			width: auto;
+		},false);
+		//复制
+		function copyUrl(){
+			stopManyClick(() => {
+				var oInput = document.createElement('input'); //创建一个input
+				oInput.setAttribute("readonly", "readonly");//设置只读,否则移动端使用复制功能时可能会造成软件盘弹出
+				oInput.value = window.location.href || 'https://client.androidscloud.com/h5/microserviceUserH5/vcloud/invite.html';
+				$('.ipt')[0].appendChild(oInput);//将input插入到body
+				// oInput.select(); // 选择对象 ios不支持
+				selectText(oInput, 0, oInput.value.length);
+				document.execCommand("Copy"); // 执行浏览器复制命令
+				toastr.error('复制当前网址成功!');
+				oInput.style.display='none'; // 将input隐藏
+				oInput.blur();
+				oInput.remove(); // 将input销毁
+			})
 		}
-	}
-
-	@media only screen and (min-width: 640px) {
-		.toast-center-center {
-			top: 50%;
-			left: 50%;
-			transform: translate(-50%, -50%);
+		// input自带的select()方法在苹果端无法进行选择,所以需要自己去写一个类似的方法
+		// 选择文本。createTextRange(setSelectionRange)是input方法
+		function selectText(textbox, startIndex, stopIndex) {
+			if (textbox.createTextRange) {//ie
+				const range = textbox.createTextRange();
+				range.collapse(true);
+				range.moveStart('character', startIndex);//起始光标
+				range.moveEnd('character', stopIndex - startIndex);//结束光标
+				range.select();//不兼容苹果
+			} else {//firefox/chrome
+				textbox.setSelectionRange(startIndex, stopIndex);
+				textbox.focus();
+			}
 		}
-	}
-
-	@media only screen and (max-width: 640px) {
-		.toast-center-center {
-			top: 50%;
-			left: 50%;
-			transform: translate(-50%, -50%);
+		//点击选择框
+		$('.login-row-select')[0].addEventListener('click',()=>{
+			$('.options')[0].className = 'options show';
+		},false);
+		//点击多多云
+		$('.icon-down-first')[0].addEventListener('click',()=>{
+			$('.options')[0].className = 'options';
+			$('#select').val('多多云');
+			fromType = 1;
+		},false);
+		//点击红手指
+		$('.icon-down-second')[0].addEventListener('click',()=>{
+			$('.options')[0].className = 'options';
+			$('#select').val('红手指');
+			fromType = 2;
+		},false);
+		//点击协议
+		$('.read-rule')[0].addEventListener('click',()=>{
+			if(isShow){
+				$('.selected')[0].className = 'selected hidden';
+			}else{
+				$('.selected')[0].className = 'selected show';
+			}
+			isShow = !isShow;
+		},false);
+		//点击提示弹窗确定
+		$('.sure-btn')[0].addEventListener('click',handleClose,false);
+		$('.sure-text')[0].addEventListener('click',handleClose,false);
+		function handleClose() {
+			$('.tip').animate({top: '-6.96rem'},"fast");
+			$('.mask1').hide();
+			document.documentElement.style.overflow='auto';
+		}
+		//点击立即注册
+		$('.register-text')[0].addEventListener('click',registerHandle,false);
+	    $('.register-btn')[0].addEventListener('click',registerHandle,false);
+		function registerHandle(){
+			$('.dialog1').animate({top: '-6.96rem'},"fast");
+			$('.mask1').hide();
+			document.documentElement.style.overflow='auto';
+			$('#select').val('');
+			$('#account').val('');
+			$('#password').val('');
+			window.location.href = 'https://www.androidscloud.com';
 		}
-	}
-
-	input::-webkit-input-placeholder {
-		color: #BBBBBB;
-	}
-
-	input::-moz-placeholder {
-		/* Mozilla Firefox 19+ */
-		color: #BBBBBB;
-	}
-
-	input:-moz-placeholder {
-		/* Mozilla Firefox 4 to 18 */
-		color: #BBBBBB;
-	}
 
-	input:-ms-input-placeholder {
-		/* Internet Explorer 10-11 */
-		color: #BBBBBB;
-	}
-</style>
+		var html = document.documentElement;
+		var imgWidth = html.getBoundingClientRect().width / 750 * 400 + 'px';
+		var imgHeight = html.getBoundingClientRect().width / 750 * 200 + 'px';
+		var barHeight = html.getBoundingClientRect().width / 750 * 70 + 'px';
+		$('#mpanel2').slideVerify({
+			baseUrl: baseUrl + '/api/user',  //服务器请求地址, 默认地址为安吉服务器;
+			mode: 'pop',     //展示模式
+			containerId: 'login-btn', //pop模式 必填 被点击之后出现行为验证码的元素id
+			imgSize: { //图片的大小对象,有默认值{ width: '310px',height: '155px'},可省略
+				width: imgWidth,
+				height: imgHeight
+			},
+			barSize: {//下方滑块的大小对象,有默认值{ width: '310px',height: '50px'},可省略
+				width: imgWidth,
+				height: barHeight
+			},
+			beforeCheck: function () {
+				account = $('#account').val();
+				account = account.replace(/\s+/g,"");
+				password = $('#password').val();
+				password = password.replace(/\s+/g,"");
+				if(!account){
+					$('#tip-text').text('请输入账号');
+			        $('#account').val('');
+					$('.tip').animate({top: '48vh'},"fast");
+					$('.mask1').show();
+					$('.dialog1').animate({top: '-6.96rem'},"fast");
+					document.documentElement.style.overflow='hidden';
+					toastr.error('请输入账号');
+					return false
+				}
+				if(/[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f\u2026\u2022\u20ac\r\n]/g.test(account)){
+					$('#tip-text').text('账号不支持表情,请重新输入');
+					$('.tip').animate({top: '48vh'},"fast");
+					$('.mask1').show();
+					$('.dialog1').animate({top: '-6.96rem'},"fast");
+					document.documentElement.style.overflow='hidden';
+					return false
+				} 
+				if(password === ''){
+					$('#tip-text').text('请输入密码');
+			        $('#password').val('');
+					$('.tip').animate({top: '48vh'},"fast");
+					$('.mask1').show();
+					$('.dialog1').animate({top: '-6.96rem'},"fast");
+					document.documentElement.style.overflow='hidden';
+					return false
+				}
+				if(!isShow){
+					$('#tip-text').text('请勾选阅读规则按钮');
+					$('.tip').animate({top: '48vh'},"fast");
+					$('.mask1').show();
+					document.documentElement.style.overflow='hidden';
+					return false
+				} else {
+					return true
+				}
+			},
+			ready: function () {},  //加载完毕的回调
+			success: function (params) { //成功的回调
+				operate('dt_yhs_点击免费换机按钮', 'click', params.captchaVerification);
+			},
+			error: function () {
+				console.log('error');
+			}        //失败的回调
+		});
+		//调用免费换机接口
+		function changePhone(captchaVerification){
+			let data = {
+				inviteTime: entryPageTime,
+				type: fromType,
+				account: account,
+				password: password,
+				captchaVerification: captchaVerification
+			}
+			if(!id){
+				delete data.inviteTime
+			}
+			let ajaxObj = {
+				url: baseUrl + '/api/public/v1/activity/change/phone',
+				type: 'post',
+				headers: {
+					'Authorization': id  //id
+				},
+				data:JSON.stringify(data),
+				contentType: "application/json",
+				dataType: 'json',
+				cache: false,
+				success: function (res) {
+					if(res.status === 0){
+						$('.dialog1').animate({top: '46vh'},"fast");
+						$('.mask1').show();
+						$('.tip').animate({top: '-6.96rem'},"fast");
+						document.documentElement.style.overflow='hidden';
+					}else{
+						$('#tip-text').text(res.msg);
+						$('.tip').animate({top: '48vh'},"fast");
+						$('.mask1').show();
+						$('.dialog1').animate({top: '-6.96rem'},"fast");
+						document.documentElement.style.overflow='hidden';
+					}
+				}
+			}
+			if(!id){
+				delete ajaxObj.headers
+			}
+			$.ajax(ajaxObj)
+		}
+		//防止提示一秒内重复显示
+		function stopManyClick(fn) {
+		if (flag) {
+				fn();
+			}
+			flag = false;
+			if(timer){clearTimeout(timer);}
+			timer = setTimeout(() => {flag = true}, 1500);
+		}
+	</script>
+</body>
 
 </html>

+ 0 - 417
microserviceUserH5/vcloud/invite4.html

@@ -1,417 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh-CN">
-
-<head>
-	<meta charset="UTF-8">
-	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
-	<title>免费换机</title>
-	<link rel="icon" href="../static/img/favicon2.ico" type="img/x-ico">
-	<link rel="stylesheet" href="../static/js/vender/bootstrap/css/bootstrap.min.css">
-	<link rel="stylesheet" href="../static/css/verify.css">
-	<link rel="stylesheet" href="../static/js/vender/toastr/toastr.min.css">
-	<link rel="stylesheet" href="../static/css/changePhoneActivity.css">
-	<script>
-		(function () {
-			if (!window.Promise) {
-				document.writeln('<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js"><' + '/' + 'script>');
-			}
-		})();
-	</script>
-	<script src="../static/js/vender/jquery-3.4.1.min.js"></script>
-	<script src="../static/js/vender/toastr/toastr.min.js"></script>
-	<script src="../static/js/vender/config.js"></script>
-	<script src="../static/js/vender/crypto-js.js"></script>
-	<script src="../static/js/vender/ase.js"></script>
-	<script src="../static/js/vender/verify.js"></script>
-</head>
-
-<body>
-	<div>
-		<div class="header">
-			<img class="bg_img" src="../static/img/changePhoneActivity/bg.png" />
-			<div class="share-node"><img class="share" src="../static/img/changePhoneActivity/share.png" /></div>
-			<img class="logo" src="../static/img/changePhoneActivity/logo.png" />
-			<img class="theme" src="../static/img/changePhoneActivity/theme.png" />
-			<img class="activity-bg" src="../static/img/changePhoneActivity/activity-bg.png" />
-			<img class="time" src="../static/img/changePhoneActivity/time.png" />
-			<div class="login-container">
-			   <div class="ipt"></div>
-			   <img class="login-bg" src="../static/img/changePhoneActivity/login-bg.png" />
-			   <div class="login-row-select">
-				   <div class="login-row-title">平台:</div>
-					<input class="login-row-ipt" id="select" placeholder="请选择平台" disabled="true" />
-				   <img class="icon-down-img" src="../static/img/changePhoneActivity/icon-down.png" />
-			   </div>
-			   <div class="options">
-				   <div class="icon-down-first">
-					   <span class="first-text">多多云</span>
-				   </div>
-				   <div class="icon-down-second">
-					<span class="second-text">红手指</span>
-				</div>
-			   </div>
-			   <div class="login-row-account">
-					<div class="login-row-title">账号:</div>
-					<input class="login-row-ipt" id="account" placeholder="请输入账号" />
-				</div>
-				<div class="login-row-password">
-					<div class="login-row-title">密码:</div>
-					<input class="login-row-ipt" type="password" id="password" placeholder="请输入密码" />
-				</div>
-				<div id="login-btn">
-					<img class="login-btn" src="../static/img/changePhoneActivity/login-btn.png" />
-					<img class="login-btn-text" src="../static/img/changePhoneActivity/login-btn-text.png" />
-				</div>
-				<div id="mpanel2"></div>
-			</div>
-			<div class="read-rule">
-				<img class="selected" src="../static/img/changePhoneActivity/selected.png" />
-				<img class="no-selected" src="../static/img/changePhoneActivity/no-selected.png" />
-				<img class="rule-text" src="../static/img/changePhoneActivity/rule-text.png" />
-			</div>
-			<div class="entry-QQ">
-				<img class="entry-QQ-btn" src="../static/img/changePhoneActivity/entry-QQ-btn.png" />
-			</div>
-		</div>
-		<div class="middle">
-			<img class="middle_bg_img" src="../static/img/changePhoneActivity/middle_bg_img.png" />
-			<div class="activity-rule">
-				<img class="activity-rule-btn" src="../static/img/changePhoneActivity/activity-rule-btn.png" />
-				<img class="activity-rule-text" src="../static/img/changePhoneActivity/activity-rule-text.png" />
-			</div>
-		</div>
-		<div class="footer">
-			<img class="footer_bg_img" src="../static/img/changePhoneActivity/footer_bg_img.png" />
-			<img class="rule4" src="../static/img/changePhoneActivity/rule4.png" />
-			<img class="rule5" src="../static/img/changePhoneActivity/rule5.png" />
-		</div>
-		<div class="mask1">
-			<div class="dialog1">
-			    <img class="dialog1-bg" src="../static/img/changePhoneActivity/dialog1.png" />
-			    <img class="title" src="../static/img/changePhoneActivity/title.png" />
-			    <img class="content" src="../static/img/changePhoneActivity/content.png" />
-			    <img class="register-btn" src="../static/img/changePhoneActivity/register-btn.png" />
-			    <img class="register-text" src="../static/img/changePhoneActivity/register-text.png" />
-			</div>
-			<div class="tip">
-			    <img class="tip-bg" src="../static/img/changePhoneActivity/tip-bg.png" />
-			    <div class="tip-title" id="tip-text"></div>
-			    <img class="sure-btn" src="../static/img/changePhoneActivity/sure-btn.png" />
-			    <img class="sure-text" src="../static/img/changePhoneActivity/sure-text.png" />
-			</div>
-		</div>
-	</div>
-	<script>
-		toastr.options.positionClass = 'toast-center-center';
-		toastr.options.timeOut = '1500';
-	</script>
-	<script type="text/javascript">
-	    Date.prototype.Format = function (fmt) { // author: meizz
-			var o = {
-				"M+": this.getMonth() + 1, // 月份
-				"d+": this.getDate(), // 日
-				"h+": this.getHours(), // 小时
-				"m+": this.getMinutes(), // 分
-				"s+": this.getSeconds(), // 秒
-				"q+": Math.floor((this.getMonth() + 3) / 3), // 季度
-				"S": this.getMilliseconds() // 毫秒
-			};
-			if (/(y+)/.test(fmt))
-				fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
-			for (var k in o)
-				if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
-				return fmt;
-		}
-	    let timer,flag = true;
-		let isShow = true;
-		let entryPageTime = new Date().Format("yyyy-MM-dd hh:mm:ss");
-		let fromType = 0,
-		    account = '',
-			password = '';
-		var url = window.location.href;
-		url = url.split('/')
-		// var baseUrl = 'http://192.168.31.198'
-		var loc = window.location.search,
-		    n1 = loc.length,//地址的总长度
-		    n2 = loc.indexOf("="),//取得=号的位置
-		    id = loc.substr(n2 + 1, n1 - n2),//从=号后面的内容
-			u = navigator.userAgent,
-			ua = navigator.userAgent.toLowerCase(),
-			isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
-			isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
-			imgs = [[1,'../static/img/changePhoneActivity/rule1.png'],[6,'../static/img/changePhoneActivity/rule6.png'],[2,'../static/img/changePhoneActivity/rule2.png'],[3,'../static/img/changePhoneActivity/rule3.png']];
-		//埋点
-		operate('dt_yhs_活动页面浏览');
-		function operate(pointName,type,captchaVerification){
-			$.ajax({
-				url: baseUrl + '/api/public/v1/systemBuriedPoint/stat',
-				type: 'post',
-				data:JSON.stringify({
-					pointName: pointName
-				}),
-				contentType:"application/json",
-				dataType: 'json',
-				cache: false,
-				success: function (res) {
-					if(type === 'click'){
-						changePhone(captchaVerification);
-					}
-				},
-			})
-		}
-		//异步加载图片
-		async function loadAsync() {
-			let promise = function(index,url) {
-				return new Promise((resolve, reject) => {
-				const image = new Image();
-				image.src = url;
-				image.className = 'rule'+index;
-				image.onload = function() {
-					$('.middle')[0].appendChild(image);
-					resolve('ok');
-				}        
-				})      
-			}
-			for(let [index,url] of imgs) {
-				await promise(index,url);
-			}
-		}
-        loadAsync();
-		//点击分享
-		$('.share-node')[0].addEventListener('click',()=>{
-			if(!id){
-				copyUrl();
-			} else if (isiOS) {
-				$.ajax({
-					url: baseUrl + '/api/user/v1/promote',
-					type: 'get',
-					headers: {
-						'Authorization': id  //id
-					},
-					contentType: "application/json",
-					dataType: 'json',
-					cache: false,
-					success: function (res) {
-						var jsonStr = JSON.stringify(res.data)
-						var jsonObj = JSON.parse(jsonStr)
-						// WKWebView使用
-						// 使用下方方法,会报错,为使界面执行逻辑通畅,因此使用try-catch
-						try {
-							getMessage(jsonObj);
-						} catch (error) {
-							console.log(error)
-						}
-						try {
-							window.webkit.messageHandlers.getMessage.postMessage(jsonObj)
-						} catch (error) {
-							copyUrl();
-						}
-					}
-				})
-			} else if (isAndroid) {
-				if(window.native){
-					window.native.onClikWebView()
-				}else{
-					copyUrl();
-				}
-			}else{
-				copyUrl();
-			}
-		},false);
-		//复制
-		function copyUrl(){
-			stopManyClick(() => {
-				var oInput = document.createElement('input'); //创建一个input
-				oInput.setAttribute("readonly", "readonly");//设置只读,否则移动端使用复制功能时可能会造成软件盘弹出
-				oInput.value = window.location.href || 'https://client.androidscloud.com/h5/microserviceUserH5/vcloud/invite.html';
-				$('.ipt')[0].appendChild(oInput);//将input插入到body
-				// oInput.select(); // 选择对象 ios不支持
-				selectText(oInput, 0, oInput.value.length);
-				document.execCommand("Copy"); // 执行浏览器复制命令
-				toastr.error('复制当前网址成功!');
-				oInput.style.display='none'; // 将input隐藏
-				oInput.blur();
-				oInput.remove(); // 将input销毁
-			})
-		}
-		// input自带的select()方法在苹果端无法进行选择,所以需要自己去写一个类似的方法
-		// 选择文本。createTextRange(setSelectionRange)是input方法
-		function selectText(textbox, startIndex, stopIndex) {
-			if (textbox.createTextRange) {//ie
-				const range = textbox.createTextRange();
-				range.collapse(true);
-				range.moveStart('character', startIndex);//起始光标
-				range.moveEnd('character', stopIndex - startIndex);//结束光标
-				range.select();//不兼容苹果
-			} else {//firefox/chrome
-				textbox.setSelectionRange(startIndex, stopIndex);
-				textbox.focus();
-			}
-		}
-		//点击选择框
-		$('.login-row-select')[0].addEventListener('click',()=>{
-			$('.options')[0].className = 'options show';
-		},false);
-		//点击多多云
-		$('.icon-down-first')[0].addEventListener('click',()=>{
-			$('.options')[0].className = 'options';
-			$('#select').val('多多云');
-			fromType = 1;
-		},false);
-		//点击红手指
-		$('.icon-down-second')[0].addEventListener('click',()=>{
-			$('.options')[0].className = 'options';
-			$('#select').val('红手指');
-			fromType = 2;
-		},false);
-		//点击协议
-		$('.read-rule')[0].addEventListener('click',()=>{
-			if(isShow){
-				$('.selected')[0].className = 'selected hidden';
-			}else{
-				$('.selected')[0].className = 'selected show';
-			}
-			isShow = !isShow;
-		},false);
-		//点击提示弹窗确定
-		$('.sure-btn')[0].addEventListener('click',handleClose,false);
-		$('.sure-text')[0].addEventListener('click',handleClose,false);
-		function handleClose() {
-			$('.tip').animate({top: '-6.96rem'},"fast");
-			$('.mask1').hide();
-			document.documentElement.style.overflow='auto';
-		}
-		//点击立即注册
-		$('.register-text')[0].addEventListener('click',registerHandle,false);
-	    $('.register-btn')[0].addEventListener('click',registerHandle,false);
-		function registerHandle(){
-			$('.dialog1').animate({top: '-6.96rem'},"fast");
-			$('.mask1').hide();
-			document.documentElement.style.overflow='auto';
-			$('#select').val('');
-			$('#account').val('');
-			$('#password').val('');
-			window.location.href = 'https://www.androidscloud.com';
-		}
-
-		var html = document.documentElement;
-		var imgWidth = html.getBoundingClientRect().width / 750 * 400 + 'px';
-		var imgHeight = html.getBoundingClientRect().width / 750 * 200 + 'px';
-		var barHeight = html.getBoundingClientRect().width / 750 * 70 + 'px';
-		$('#mpanel2').slideVerify({
-			baseUrl: baseUrl + '/api/user',  //服务器请求地址, 默认地址为安吉服务器;
-			mode: 'pop',     //展示模式
-			containerId: 'login-btn', //pop模式 必填 被点击之后出现行为验证码的元素id
-			imgSize: { //图片的大小对象,有默认值{ width: '310px',height: '155px'},可省略
-				width: imgWidth,
-				height: imgHeight
-			},
-			barSize: {//下方滑块的大小对象,有默认值{ width: '310px',height: '50px'},可省略
-				width: imgWidth,
-				height: barHeight
-			},
-			beforeCheck: function () {
-				account = $('#account').val();
-				account = account.replace(/\s+/g,"");
-				password = $('#password').val();
-				password = password.replace(/\s+/g,"");
-				if(!account){
-					$('#tip-text').text('请输入账号');
-			        $('#account').val('');
-					$('.tip').animate({top: '48vh'},"fast");
-					$('.mask1').show();
-					$('.dialog1').animate({top: '-6.96rem'},"fast");
-					document.documentElement.style.overflow='hidden';
-					toastr.error('请输入账号');
-					return false
-				}
-				if(/[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f\u2026\u2022\u20ac\r\n]/g.test(account)){
-					$('#tip-text').text('账号不支持表情,请重新输入');
-					$('.tip').animate({top: '48vh'},"fast");
-					$('.mask1').show();
-					$('.dialog1').animate({top: '-6.96rem'},"fast");
-					document.documentElement.style.overflow='hidden';
-					return false
-				} 
-				if(password === ''){
-					$('#tip-text').text('请输入密码');
-			        $('#password').val('');
-					$('.tip').animate({top: '48vh'},"fast");
-					$('.mask1').show();
-					$('.dialog1').animate({top: '-6.96rem'},"fast");
-					document.documentElement.style.overflow='hidden';
-					return false
-				}
-				if(!isShow){
-					$('#tip-text').text('请勾选阅读规则按钮');
-					$('.tip').animate({top: '48vh'},"fast");
-					$('.mask1').show();
-					document.documentElement.style.overflow='hidden';
-					return false
-				} else {
-					return true
-				}
-			},
-			ready: function () {},  //加载完毕的回调
-			success: function (params) { //成功的回调
-				operate('dt_yhs_点击免费换机按钮', 'click', params.captchaVerification);
-			},
-			error: function () {
-				console.log('error');
-			}        //失败的回调
-		});
-		//调用免费换机接口
-		function changePhone(captchaVerification){
-			let data = {
-				inviteTime: entryPageTime,
-				type: fromType,
-				account: account,
-				password: password,
-				captchaVerification: captchaVerification
-			}
-			if(!id){
-				delete data.inviteTime
-			}
-			let ajaxObj = {
-				url: baseUrl + '/api/public/v1/activity/change/phone',
-				type: 'post',
-				headers: {
-					'Authorization': id  //id
-				},
-				data:JSON.stringify(data),
-				contentType: "application/json",
-				dataType: 'json',
-				cache: false,
-				success: function (res) {
-					if(res.status === 0){
-						$('.dialog1').animate({top: '46vh'},"fast");
-						$('.mask1').show();
-						$('.tip').animate({top: '-6.96rem'},"fast");
-						document.documentElement.style.overflow='hidden';
-					}else{
-						$('#tip-text').text(res.msg);
-						$('.tip').animate({top: '48vh'},"fast");
-						$('.mask1').show();
-						$('.dialog1').animate({top: '-6.96rem'},"fast");
-						document.documentElement.style.overflow='hidden';
-					}
-				}
-			}
-			if(!id){
-				delete ajaxObj.headers
-			}
-			$.ajax(ajaxObj)
-		}
-		//防止提示一秒内重复显示
-		function stopManyClick(fn) {
-		if (flag) {
-				fn();
-			}
-			flag = false;
-			if(timer){clearTimeout(timer);}
-			timer = setTimeout(() => {flag = true}, 1500);
-		}
-	</script>
-</body>
-
-</html>