Selaa lähdekoodia

Merge branch 'dev-4.9.1' into uat

heyang 3 vuotta sitten
vanhempi
commit
596847a83d

+ 24 - 9
microserviceUserH5/static/css/doubleElevenActivity.css

@@ -97,9 +97,10 @@ ul, li {
   height: 100%;
 }
 .money{
+  width: 2rem;
   position: absolute;
   top: 0.34rem;
-  left: 0.3rem;
+  text-align: center;
   font-size: 0.14rem;
   color: #AC6C23;
 }
@@ -194,6 +195,7 @@ ul, li {
 .rule-content{
   width: 6.9rem;
   height: 6.2rem;
+  padding: 0.2rem 0;
   border-radius: 0.1rem;
   background-color: #ffffff;
   overflow-y: scroll;
@@ -201,9 +203,9 @@ ul, li {
   z-index: 99;
 }
 .rule-point{
-  margin: 0.2rem;
+  margin: 0 0.2rem;
   font-size: 0.24rem;
-  line-height: 0.4rem;
+  line-height: 0.48rem;
 }
 .packet-block{
   width: 6.9rem;
@@ -225,7 +227,7 @@ ul, li {
 .packet-times{
   position: absolute;
   top: 0.64rem;
-  right: 1.58rem;
+  right: 1.68rem;
   font-size: 0.24rem;
   color: #FEF1C4;
 }
@@ -267,10 +269,10 @@ ul, li {
   width: 5.72rem;
   max-height: 5.68rem;
   margin: 0 auto;
-  /* background: #FFFFFF; */
+  margin-bottom: 0.2rem;
+  background: #FFFFFF;
   border-radius: 0.2rem;
   border: 0.02rem solid #FFE4E3;
-  background-color: #FEF1C4;
   padding: 0.3rem 0.3rem 0 0.3rem;
   overflow-y: scroll;
   display: none;
@@ -285,8 +287,8 @@ ul, li {
   display: flex;
 }
 .head-img{
-  width: 0.52rem;
-  height: 0.52rem;
+  width: 0.68rem;
+  height: 0.68rem;
   padding-top: 0.06rem;
   border-radius: 50%;
 }
@@ -381,7 +383,7 @@ ul, li {
 }
 .bottom-share-row{
   display: flex;
-  justify-content: space-between;
+  justify-content: center;
   align-items: center;
   padding-top: 0.18rem;
   margin: 0 0.2rem;
@@ -443,4 +445,17 @@ ul, li {
     min-width: 80px !important;
     width: auto;
   }
+}
+
+.no-user{
+  background-color: #F16902;
+}
+
+.usered{
+  background-color: #E3E7EE;
+  color: #AAADB3;
+}
+
+.gray{
+  color: #F5E7E7;
 }

BIN
microserviceUserH5/static/img/doubleElevenActivity/no-share.png


BIN
microserviceUserH5/static/img/doubleElevenActivity/pic.jpg


BIN
microserviceUserH5/static/img/doubleElevenActivity/touxiang_da_icon.png


+ 282 - 290
microserviceUserH5/vcloud/doubleElevenActivity.html

@@ -4,7 +4,7 @@
 <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>
+	<title>双十一活动</title>
 	<link rel="icon" href="../static/img/favicon2.ico" type="img/x-ico">
 	<link rel="stylesheet" href="../static/js/vender/toastr/toastr.min.css">
 	<link rel="stylesheet" href="../static/css/doubleElevenActivity.css">
@@ -46,11 +46,7 @@
 			<img class="top-banner" src="../static/img/doubleElevenActivity/top-banner.png" />
 			<div class="get-award-container">
 				<div class="award-list">
-					<div class="award-text"></div>
-					<div class="award-text"></div>
-					<div class="award-text"></div>
-					<div class="award-text"></div>
-					<div class="award-text"></div>
+				
 				</div>
 			</div>
 		</div>
@@ -75,15 +71,7 @@
 							<span class="step-text">获得云机</span>
 						</div>
 					</div>
-					<div class="red-packet">
-						<div class="packet">
-							<img class="fxhb" src="../static/img/doubleElevenActivity/fxhb.png" />
-							<div class="money"><span class="money-mark">¥</span><span class="money-val">1111</span></div>
-							<div class="packet-title">云手机无门槛抵扣券</div>
-							<div class="packet-time">11月11-11月31日有效</div>
-						</div>
-						<div class="account">优惠券已放入您的账户130****6315</div>
-					</div>
+					<div class="red-packet"></div>
 				</div>
 				<div class="join-activity-btn">
 					<img class="join-activity" src="../static/img/doubleElevenActivity/button-join-activity.png" />
@@ -97,125 +85,22 @@
 			<div class="packet-container">
 			    <img class="rule-tips" src="../static/img/doubleElevenActivity/packet-tip.png" />
 				<div class="packet-block">
-					<div class="red-packet-next">
-						<!-- <div class="packet">
-							<img class="fxhb" src="../static/img/doubleElevenActivity/fxhb.png" />
-							<div class="money"><span class="money-mark">¥</span><span class="money-val">1111</span></div>
-							<div class="packet-titles">无门槛</div>
-							<div class="packet-times">11月11-11月31日有效</div>
-							<div class="share-btn">
-							    <img class="share" src="../static/img/doubleElevenActivity/share.png" />
-								<div class="share-num">3/6</div>
-							</div>
-							<div class="packet-info">尚未有用户领取红包购买云机</div>
-							<img class="icon" src="../static/img/doubleElevenActivity/icon_down.png" />
-						</div> -->
-						<!-- <div class="user-list" flag="1">
-							<div class="user-item">
-								<div class="user-left">
-									<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-									<div class="user-info">
-										<div class="user-name">用户名</div>
-										<div class="user-time">11月20日10:32:13</div>
-									</div>
-								</div>
-								<div class="meal">星动/30天云手机套餐</div>
-							    <div class="receive">领取</div>
-							</div>
-							<div class="user-item">
-								<div class="user-left">
-									<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-									<div class="user-info">
-										<div class="user-name">用户名</div>
-										<div class="user-time">11月20日10:32:13</div>
-									</div>
-								</div>
-								<div class="meal">星动/30天云手机套餐</div>
-							    <div class="receive">领取</div>
-							</div>
-							<div class="user-item">
-								<div class="user-left">
-									<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-									<div class="user-info">
-										<div class="user-name">用户名</div>
-										<div class="user-time">11月20日10:32:13</div>
-									</div>
-								</div>
-								<div class="meal">星动/30天云手机套餐</div>
-							    <div class="receive">领取</div>
-							</div>
-							<div class="user-item">
-								<div class="user-left">
-									<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-									<div class="user-info">
-										<div class="user-name">用户名</div>
-										<div class="user-time">11月20日10:32:13</div>
-									</div>
-								</div>
-								<div class="meal">星动/30天云手机套餐</div>
-							    <div class="receive">领取</div>
-							</div>
-							<div class="user-item">
-								<div class="user-left">
-									<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-									<div class="user-info">
-										<div class="user-name">用户名</div>
-										<div class="user-time">11月20日10:32:13</div>
-									</div>
-								</div>
-								<div class="meal">星动/30天云手机套餐</div>
-							    <div class="receive">领取</div>
-							</div>
-							<div class="user-item">
-								<div class="user-left">
-									<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-									<div class="user-info">
-										<div class="user-name">用户名</div>
-										<div class="user-time">11月20日10:32:13</div>
-									</div>
-								</div>
-								<div class="meal">星动/30天云手机套餐</div>
-							    <div class="receive">领取</div>
-							</div>
-							<div class="user-item">
-								<div class="user-left">
-									<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-									<div class="user-info">
-										<div class="user-name">用户名</div>
-										<div class="user-time">11月20日10:32:13</div>
-									</div>
-								</div>
-								<div class="meal">星动/30天云手机套餐</div>
-							    <div class="receive">领取</div>
-							</div>
-						</div> -->
-					</div>
+					<div class="red-packet-next"></div>
 				</div>
 			</div>
 			<div class="rule-container">
 			    <img class="rule-tips" src="../static/img/doubleElevenActivity/rule.png" />
 				<div class="rule-content">
 					<div class="rule-point">红包规则:</div>
-
 					<div class="rule-point">1.红包可以自用或者分享给好友(好友可以是双子星新/老用户)</div>
-
 					<div class="rule-point">2.同一个红包一人限领一次,共计6个红包</div>
-
 					<div class="rule-point">3.红包可以无门槛抵押任何套餐,但是一个订单只能使用一个</div>
-
 					<div class="rule-point">4.分享者分享的红包被领取后,如果领取红包的人购买了任意套餐,分享者都可领取一份相同的套餐</div>
-
 					<div class="rule-point">5.若分享者自己领取自己的红包购买套餐,自己可获得两份相同的套餐</div>
-
 					<div class="rule-point">其它说明:</div>
-
 					<div class="rule-point">1.活动中获得的活动红包,不具备现金价值,仅限于在本活动中使用,不可用于双子星的其他活动(不可和新人7.5折优惠券一同使用),也不可用于在双子星兑换、交易。</div>
-
-					<div class="rule-point">2.任务奖励发放条件由平台根据活动需要设定,用户已获得的任务奖励(如体力、星星等)仅限用于兑换相应活动资格或用于领取优惠券、体验套餐,该部分任务奖励不能用于在本活动所述平台进行现金/商品等的兑换、交易等其他事项。</div>
-
 					<div class="rule-point">2.任务奖励发放条件由平台根据活动需要设定,用户已获得的任务奖励(如体力、星星等)仅限用于兑换相应活动资格或用于领取优惠券、体验套餐,该部分任务奖励不能用于在本活动所述平台进行现金/商品等的兑换、交易等其他事项。</div>
 					<div class="rule-point">3.优惠券的可使用范围有限制,请以券面提示为准,用户可在下单时选择该订单的可用优惠券,的卡券页面中查看已领取的优惠券的详细情况。具体适用范围以商品详情页提示内容为准。无法使用优惠券的商品,在商品详情页将不展示优惠券;同一笔订单中,不同类型的券可以叠加,同一类型的券,仅可选择一张使用。</div>
-
 					<div class="rule-point">4.活动平台有权对用户订单进行审核。如活动平台认定订单存在异常(包括任何形式的用户作弊行为),有权取消订单,订单取消后优惠券自动失效。</div>
 					<div class="rule-point">法律声明</div>
 					<div class="rule-point">
@@ -276,7 +161,7 @@
 			<div class="pop">
 			    <img class="pop-bg" src="../static/img/doubleElevenActivity/pop_share.png" />
 			    <div class="top-title">恭喜你</div>
-			    <div class="share-num-text">还有*张优惠券可以分享</div>
+			    <div class="share-num-text"></div>
 				<div class="bottom">
 					<div class="bottom-title-row">
 						<span class="line"></span>
@@ -284,10 +169,10 @@
 						<span class="line"></span>
 					</div>
 					<div class="bottom-share-row">
-						<div class="left-friend_share">
+						<!-- <div class="left-friend_share">
 							<img class="friend_share" src="../static/img/doubleElevenActivity/icon_wechat_friend_share.png" />
 							<div class="share-text">朋友圈</div>
-						</div>
+						</div> -->
 						<div class="right-wechat">
 							<img class="wechat" src="../static/img/doubleElevenActivity/wechat.png" />
 							<div class="share-text">微信好友</div>
@@ -300,6 +185,7 @@
 			</div>
 		</div>
 	</div>
+	<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
 	<script>
 		toastr.options.positionClass = 'toast-center-center';
 		toastr.options.timeOut = '1500';
@@ -307,13 +193,17 @@
 	<script type="text/javascript">
 	    let timer,flag = true;
 		var url = window.location.href;
+		var startTime,endTime,money,couponRandomId,goodId,shareOrder,shareUser,phoneNumber,awardData;
+		let dataObj = {
+				'VIP': '星动',
+				'SVIP': '星曜',
+				'STAR': '唔即'
+			}
 		url = url.split('/');
 		var topVal = -0.5;
-		var baseUrl = 'http://192.168.211.34:8044'
+		let obj = {};
+		// var baseUrl = 'https://test.androidscloud.com'
 		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/),
@@ -321,37 +211,137 @@
 		(function(){
 			awardHandle();
 			headerAward();
-			getList();
+			getAwardData();
 		})()
+		let s = loc.substr(1,loc.length-1);//取得=号的位置
+		let parms = s.split('&');
+			
+		parms.map((item) =>{
+			let arr = item.split('=');
+			let key = arr[0];
+			obj[key] = arr[1];
+		})
+		// if(!obj.money){ //从app过来
+			getActivityTime();
+		// }
+		if(obj.money){ //从小程序过来
+		    receiveRedEnvelope();
+		}
+		// window.onload = function(){
+		// 	if (isAndroid && window.native) {
+		// 		window.native.enableSharePage(
+		// 			'您的好友送你一台免费云机',
+		// 			'您的好友送你一台免费云机',
+		// 			`${baseUrl}/h5/microserviceUserH5/vcloud/downApp.html`,
+		// 			'https://test.androidscloud.com/file-center/fileOperate/getImage?id=215553'
+		// 		);
+		// 	}
+		// }
 		//轮播
 		function headerAward(){
 			setInterval(() =>{
 				awardHandle();
 			},3000);
 		}
+		// 轮播数据
+		function getAwardData(){
+			$.ajax({
+				url: baseUrl + `/api/user/v1/activity/receivedData`,
+				type: 'post',
+				contentType:"application/json",
+				dataType: 'json',
+				cache: false,
+				success: function (res) {
+					awardData = res.data;
+				},
+			})
+		}
 		function awardHandle(){
-			let index = (topVal/0.5) + 1;
-				if(topVal < 2){
-					topVal+=0.5;
-				}else{
-					topVal = 0;
-				    $('.award-list').eq(0).css('top','0.5rem');
-				}
-				$('.award-text').eq(index).text(`恭喜1${[3,5,7,8,3,5,7,8,3,5][getRandom()]}${getRandom()}****${getRandom()}${getRandom()}${getRandom()}${getRandom()}用户免费获得唔即年卡`);
-				$('.award-list').eq(0).animate({top: -(topVal) + 'rem'},"fast");
+			let index = (topVal/0.5) + 1,awardString;
+			let awardLen = Array.from($('.award-text')).length;
+			if(awardLen < 20){
+				let node = document.createElement('div');
+				node.className = "award-text";
+				$('.award-list')[0].appendChild(node);
+			}
+			if(topVal < 9.5){
+				topVal+=0.5;
+			}else{
+				topVal = 0;
+				$('.award-list').eq(0).css('top','0.5rem');
+			}
+			let numberType = Math.floor(getRandom()/4);
+			if(awardData && awardData[index] && topVal < awardData.length/2){
+				awardString = `恭喜${getPhoneNumber(awardData[index].receiveUserPhone)}用户免费获得${dataObj[awardData[index].receivePhoneType]}${awardData[index].receivePhoneDuration===30?'月卡':awardData[index].receivePhoneDuration===120?'季卡':awardData[index].receivePhoneDuration===365?'年卡':awardData[index].receivePhoneDuration+'天卡'}`;
+			}else{
+				awardString = `恭喜1${[3,5,7,8,3,5,7,8,3,5][getRandom()]}${getRandom()}****${getRandom()}${getRandom()}${getRandom()}${getRandom()}用户免费获得${['星动','星曜','唔即'][numberType]}${['月卡','季卡','年卡'][numberType]}`
+			}
+			$('.award-text').eq(index).text(awardString);
+			$('.award-list').eq(0).animate({top: -(topVal) + 'rem'},"fast");
+		}
+		//获取时间
+		function getActivityTime(){
+			$.ajax({
+				url: baseUrl + `/api/user/v1/activity/getActivityTime?name=双十一活动`,
+				type: 'get',
+				contentType:"application/json",
+				dataType: 'json',
+				cache: false,
+				success: function (res) {
+					startTime = res.data.startTime;
+					endTime = res.data.endTime;
+					getList();
+				},
+			})
+		}
+		// 双十一活动
+		function receiveRedEnvelope(){
+			console.log(obj.token)
+			$.ajax({
+				url: baseUrl + `/api/user/v1/activity/receiveRedEnvelope`,
+				type: 'post',
+				headers: {
+					'Authorization': obj.token //id
+				},
+				data:JSON.stringify({
+					couponRandomId: obj.couponRandomId,
+					goodId: obj.goodId,
+					originalOrder: obj.originalOrder,
+					shareUser: obj.shareUser
+				}),
+				contentType:"application/json",
+				dataType: 'json',
+				cache: false,
+				success: function (res) {
+					if (res.status == 0 || res.status == 4106) {
+						operate('dt_双11_mp_领取红包');
+						phoneNumber = res.data;
+						let node = `<div class="packet">
+							<img class="fxhb" src="../static/img/doubleElevenActivity/fxhb.png" />
+							<div class="money"><span class="money-mark">¥</span><span class="money-val">${parseInt(obj.money)}</span></div>
+							<div class="packet-title">云手机无门槛抵扣券</div>
+							<div class="packet-time">${obj.startTime.substring(5,7)}月${obj.startTime.substring(8,10)}-${obj.endTime.substring(5,7)}月${obj.endTime.substring(8,10)}日有效</div>
+						</div>
+						<div class="account">优惠券已放入您的账户${getPhoneNumber(phoneNumber)}</div>`
+						$('.red-packet').eq(0).append(node);
+						$('.activity-btn-text').eq(0).text('在双子星APP使用红包');
+						$('.icon-left').eq(0).hide();
+					} else {
+						stopManyClick(() => {
+							toastr.error(res.msg);
+						})
+					}
+					
+				},
+			})
 		}
 		//调用获取数据列表接口
 		function getList(){
-			if(!id){
-				stopManyClick(() => {
-					toastr.error('不支持当前环境!');
-				})
-			}
 			$.ajax({
-				url: baseUrl + '/v1/activity/orderRedEnvelopeSharing',
+				url: baseUrl + '/api/user/v1/activity/orderRedEnvelopeSharing',
 				type: 'post',
 				headers: {
-					'Authorization': id //id
+					'Authorization': obj.token //id
 				},
 				contentType: "application/json",
 				dataType: 'json',
@@ -362,36 +352,70 @@
 							$('.invite-text').eq(0).show();
 							$('.packet-container').eq(0).show();
 							var str = '',
+							    list = '',
 							    len = res.data.length;
 							for (var i = 0; i < len; i++) {
 								var totalMoney = res.data[i].totalMoney,
 								    shareCount = res.data[i].shareCount,
+								    couponRandomId = res.data[i].couponRandomId,
+								    goodId = res.data[i].goodId,
+								    shareOrder = res.data[i].shareOrder,
+								    shareUser = res.data[i].shareUser,
+									dataList = res.data[i].list,
 								    quantity = res.data[i].quantity;
-								str += `<div class="packet">
-											<img class="fxhb" src="../static/img/doubleElevenActivity/fxhb.png" />
-											<div class="money"><span class="money-mark">¥</span><span class="money-val">${totalMoney}</span></div>
-											<div class="packet-titles">无门槛</div>
-											<div class="packet-times">${quantity}</div>
+									function getReceivePhoneDuration(item){
+										let res = item.receivePhoneDuration===30?'月卡':item.receivePhoneDuration===120?'季卡':item.receivePhoneDuration===365?'年卡':item.receivePhoneDuration+'天卡';
+										return dataObj[item.receivePhoneType] + res
+									}
+									dataList.map((item) => {
+										list += `<div class="user-item">
+											<div class="user-left">
+												<img class="head-img" src="../static/img/doubleElevenActivity/touxiang_da_icon.png" />
+												<div class="user-info">
+													<div class="user-name">${getPhoneNumber(item.receiveUserPhone)}</div>
+													<div class="user-time">${item.createTime.substring(5,7)}月${item.createTime.substring(8,11)}日${item.createTime.substring(11,19)}</div>
+												</div>
+											</div>
+											<div class="meal">${item.state === 0?totalMoney/quantity+'元红包':getReceivePhoneDuration(item)}</div>
+											<div class="${['receive no-user','receive',' receive usered'][item.state]}" data-type=${item.receivePhoneType} data-state=${item.state} data-id=${item.id}>${['未使用','领取','已领取'][item.state]}</div>
+										</div>`
+									})
+								    str += `<div class="packet">
+											<img class="fxhb" data-index=${i} data-dataList=${JSON.stringify(dataList)} src="../static/img/doubleElevenActivity/fxhb.png" />
+											<div class="money" data-index=${i} data-dataList=${JSON.stringify(dataList)}><span class="money-mark">¥</span><span class="money-val">${parseInt(totalMoney)}</span></div>
+											<div class="packet-titles" data-index=${i} data-dataList=${JSON.stringify(dataList)}>无门槛</div>
+											<div class="packet-times" data-index=${i} data-dataList=${JSON.stringify(dataList)}>${startTime.substring(5,7)}月${startTime.substring(8,10)}-${endTime.substring(5,7)}月${endTime.substring(8,10)}日有效</div>
 											<div class="share-btn">
-												<img class="share" src="../static/img/doubleElevenActivity/share.png" />
-												<div class="share-num">${shareCount}/${quantity}</div>
+												<img class="share" data-obj=${
+													JSON.stringify({
+														totalMoney: totalMoney,
+														couponRandomId: couponRandomId,
+														goodId: goodId,
+														shareOrder: shareOrder,
+														shareUser: shareUser,
+														shareCount: shareCount,
+														quantity: quantity
+													})
+												} src="../static/img/doubleElevenActivity/${shareCount === quantity?'no-share':'share'}.png" />
+												<div class="share-num ${shareCount === quantity?'gray':''}" data-obj=${
+													JSON.stringify({
+														totalMoney: totalMoney,
+														couponRandomId: couponRandomId,
+														goodId: goodId,
+														shareOrder: shareOrder,
+														shareUser: shareUser,
+														shareCount: shareCount,
+														quantity: quantity
+													})
+												}>${shareCount}/${quantity}</div>
 											</div>
-											<div class="packet-info">尚未有用户领取红包购买云机</div>
-											<img class="icon" src="../static/img/doubleElevenActivity/icon_down.png" />
+											<div class="packet-info">${dataList.length !== 0?'':'尚未有用户领取红包购买云机'}</div>
+											<img class="icon" src="../static/img/doubleElevenActivity/icon_up.png" />
 										</div>
-										<div class="user-list" flag="1">
-											<div class="user-item">
-												<div class="user-left">
-													<img class="head-img" src="../static/img/doubleElevenActivity/head-img.png" />
-													<div class="user-info">
-														<div class="user-name">用户名</div>
-														<div class="user-time">11月20日10:32:13</div>
-													</div>
-												</div>
-												<div class="meal">星动/30天云手机套餐</div>
-												<div class="receive">领取</div>
-											</div>
+										<div class="list ${dataList.length !== 0?'user-list':''}" flag="2">
+											${dataList.length !== 0?list:''}
 									    </div>`
+										list = ''
 							}
 							$('.red-packet-next').eq(0).append(str);
 						}
@@ -404,7 +428,7 @@
 			})
 		}
 		//埋点
-		operate('dt_yhs_活动页面浏览');
+		operate('dt_双11_h5_活动页面');
 		function operate(pointName,type){
 			$.ajax({
 				url: baseUrl + '/api/public/v1/systemBuriedPoint/stat',
@@ -416,160 +440,125 @@
 				dataType: 'json',
 				cache: false,
 				success: function (res) {
-					if(type === 'click'){
-						changePhone();
-					}
+					
 				},
 			})
 		}
-		$('.red-packet-next')[0].addEventListener('click',() => {
-			$('.user-list').eq(0).toggle();
-			const flag = $('.user-list').eq(0).attr('flag');
-			if(flag === '1'){
-				$('.icon').eq(0).attr('src','../static/img/doubleElevenActivity/icon_up.png');
-				$('.user-list').eq(0).attr('flag','2');
-			}else{
-				$('.icon').eq(0).attr('src','../static/img/doubleElevenActivity/icon_down.png');
-				$('.user-list').eq(0).attr('flag','1');
+		//点击红包
+		$('.red-packet-next')[0].addEventListener('click',(e) => {
+			if(['fxhb','packet-titles','money','packet-times'].includes(e.target.className)){
+				let index = e.target.dataset.index;
+				$('.list').eq(index).toggle();
+				const flag = $('.user-list').eq(index).attr('flag');
+				if(flag === '1'){
+					$('.icon').eq(index).attr('src','../static/img/doubleElevenActivity/icon_up.png');
+					$('.user-list').eq(index).attr('flag','2');
+				}else{
+					$('.icon').eq(index).attr('src','../static/img/doubleElevenActivity/icon_down.png');
+					$('.user-list').eq(index).attr('flag','1');
+				}
 			}
 		})
 		//点击参加按钮
 		$('.join-activity-btn')[0].addEventListener('click',()=>{
-			window.native.startPurchase();
+			if(obj.money){ // 小程序
+				window.location.href = `${baseUrl}/h5/microserviceUserH5/vcloud/downApp.html`
+			}else{
+				// if (isAndroid) {
+					window.native.startPurchase();
+					operate('dt_双11_h5_快来参加双11');
+				// }
+			}
+		});
+		//点击领取
+		$('.red-packet-next')[0].addEventListener('click',(e)=>{
+			var state = e.target.dataset.state;
+			let id = e.target.dataset.id;
+			let type = e.target.dataset.type;
+			if(state == 0){
+				stopManyClick(() => {
+					toastr.error('赶紧让你的好友使用红包购买云机吧!');
+				})
+			}else if(state == 1){
+				if(e.target.className === 'receive'){
+					e.stopPropagation();
+					// if (isAndroid) {
+						window.native.activatePhone(id, type);
+					// }
+				}
+			}
 		});
 		//点击分享
 		$('.red-packet-next')[0].addEventListener('click',(e) => {
 			if(e.target.className === 'share' || e.target.className === 'share-num'){
-				e.stopPropagation();
+				if(obj.money){
+					return
+				}
+				var dataObj = JSON.parse(e.target.dataset.obj);
+				if(dataObj.shareCount === dataObj.quantity){
+					stopManyClick(() => {
+						toastr.error('没有剩余红包可以分享!');
+					})
+					return
+				}else{
+					$('.share-num-text').eq(0).text(`还有${dataObj.quantity - dataObj.shareCount}张优惠券可以分享`);
+				}
+				operate('dt_双11_h5_弹窗按钮');
+				money = dataObj.totalMoney;
+				couponRandomId = dataObj.couponRandomId;
+				goodId = dataObj.goodId;
+				shareOrder = dataObj.shareOrder;
+				shareUser = dataObj.shareUser;
 				$('.pop').animate({top: '48vh'},"fast");
 				$('.mask').show();
 				document.documentElement.style.overflow='auto';
 			}
 		});
-		//点击分享朋友圈
-		$('.left-friend_share')[0].addEventListener('click',()=>{
-			shareHandle('shareToWechatCircle');
-		});
+		// //点击分享朋友圈
+		// $('.left-friend_share')[0].addEventListener('click',()=>{
+		// 	shareHandle('shareToWechatCircle');
+		// });
 		//点击分享微信
 		$('.right-wechat')[0].addEventListener('click',()=>{
-			shareHandle('shareToWechat');
-		});
-		//点击领取
-		$('.receive')[0].addEventListener('click',()=>{
-			window.native.activatePhone(112);
+			shareHandle('shareToWechatMin');
 		});
 		function shareHandle(type) {
-			if (isAndroid) {
+			// if (isAndroid) {
 					if(window.native){
-						window.native[type](
-							'111',
-							'111',
-							'pages/home/home?AppID=wxe7a691bd1cd74958',
-							'https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/18fe2f6bb3c843c0b6fc3935a7411c51~tplv-k3u1fbpfcp-zoom-mark-crop-v2:240:240:0:0.awebp'
-						);
+				        operate('dt_双11_h5_分享红包');
+						if(type === 'shareToWechatMin'){
+							window.native[type](
+								'您的好友送你一台免费云机',
+								'您的好友送你一台免费云机',
+								`pages/home/home?money=${money}&startTime=${startTime}&endTime=${endTime}&couponRandomId=${couponRandomId}&goodId=${goodId}&shareOrder=${shareOrder}&shareUser=${shareUser}`,
+								'https://test.androidscloud.com/file-center/fileOperate/getImage?id=215553',
+								2
+							);
+						}else{
+							window.native[type](
+								'您的好友送你一台免费云机',
+								'您的好友送你一台免费云机',
+								`pages/home/home?money=${money}&startTime=${startTime}&endTime=${endTime}&couponRandomId=${couponRandomId}&goodId=${goodId}&shareOrder=${shareOrder}&shareUser=${shareUser}`,
+								'https://test.androidscloud.com/file-center/fileOperate/getImage?id=215553'
+							);
+						}
 					}else{
 			            stopManyClick(() => {
 				            toastr.error('不支持当前环境!');
 						})
 					}
-			}else{
-				stopManyClick(() => {
-					toastr.error('不支持当前环境!');
-				})
-			}
+			// }else{
+			// 	stopManyClick(() => {
+			// 		toastr.error('不支持当前环境!');
+			// 	})
+			// }
 		}
 		//点击关闭弹窗
-		$('.red-packet-next')[0].addEventListener('click',(e)=>{
-			console.log(e.target.className)
-			if(e.target.className === 'el'){
-				$('.pop').animate({top: '-6.96rem'},"fast");
-				$('.mask').hide();
-				document.documentElement.style.overflow='auto';
-			}
-			
+		$('.del')[0].addEventListener('click',(e)=>{
+			$('.pop').animate({top: '-6.96rem'},"fast");
+			$('.mask').hide();
+			document.documentElement.style.overflow='auto';
 		});
-		// //点击分享
-		// $('.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 changePhone(){
-			let data = {
-				inviteTime: entryPageTime,
-				type: fromType,
-				account: account,
-				password: password
-			}
-			if(!id){
-				delete data.inviteTime
-			}
-			let ajaxObj = {
-				url: baseUrl + '/v1/activity/orderRedEnvelopeSharing',
-				type: 'post',
-				headers: {
-					'Authorization': id  //id
-				},
-				data:JSON.stringify(data),
-				contentType: "application/json",
-				dataType: 'json',
-				cache: false,
-				success: function (res) {
-					if(res.status === 0){
-						$('.dialog').animate({top: '46vh'},"fast");
-						$('.mask').show();
-						$('.tip').animate({top: '-6.96rem'},"fast");
-						document.documentElement.style.overflow='hidden';
-					}else{
-						$('#tip-text').text(res.msg);
-						$('.tip').animate({top: '48vh'},"fast");
-						$('.mask').show();
-						$('.dialog').animate({top: '-6.96rem'},"fast");
-						document.documentElement.style.overflow='hidden';
-					}
-				}
-			}
-			if(!id){
-				delete ajaxObj.headers
-			}
-			$.ajax(ajaxObj)
-		}
 		//防止提示一秒内重复显示
 		function stopManyClick(fn) {
 		if (flag) {
@@ -583,6 +572,9 @@
 		function getRandom(){
 			return Math.floor(Math.random()*10);
 		}
+		function getPhoneNumber(phoneNumber){
+			return `${phoneNumber.substring(0,3)}****${phoneNumber.substring(7,11)}`
+		}
 	</script>
 </body>
 

+ 83 - 38
microserviceUserH5/vcloud/downApp.html

@@ -31,14 +31,19 @@
 		ul, li {
 			list-style: none;
 		}
+		body{
+			background-color: #190D50;
+			padding-bottom: 1rem;
+		}
 		.container{
 			width: 7.5rem;
-			height: 116vh;
+			height: 14.82rem;
 			position: relative;
 		}
 		.down-bg{
 			width: 100%;
 			height: 100%;
+			position: relative;
 		}
 		.down-row{
 			width: 6.7rem;
@@ -62,13 +67,17 @@
 		} */
 		.address{
 			text-align: center;
-			width: 4.16rem;
+			width: 4rem;
 			height: 0.6rem;
 			line-height: 0.6rem;
 			background-color: #ffffff;
 			color: #333333;
 			border-radius: 0.1rem;
 			z-index: 999;
+			overflow: hidden;
+			padding: 0 0.08rem;
+            text-overflow:ellipsis;
+            white-space: nowrap;
 		}
 		.right-btn{
 			width: 1.1rem;
@@ -80,59 +89,95 @@
 			border-radius: 0.1rem;
 			background-color: #6048D8;
 		}
+		.down-pic{
+			width: 4.74rem;
+			height: 4.74rem;
+			position: absolute;
+			bottom: 2.2rem;
+			left: 50%;
+			transform: translateX(-50%);
+		}
+
+		#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;
+		}
+
+		#toast-container {
+			min-width: 100px;
+			top: 50%;
+			left: 50%;
+			text-align: center;
+			transform: translate(-50%,-50%);
+		}
+
+		@media (max-width: 480px) and (min-width: 241px) {
+		#toast-container>div {
+			min-width: 80px !important;
+			width: auto;
+		}
+		}
 	</style>
 </head>
 
 <body>
 	<div class="container">
+		<div class="ipt"></div>
 		<img class="down-bg" src="../static/img/down-bg.png" />
+		<img class="down-pic" src="../static/img/doubleElevenActivity/pic.jpg" />
 		<div class="down-row">
 			<div class="left">下载链接</div>
-			<div class="address">下载链接</div>
+			<div class="address">http://www.androidscloud.com/suanchou</div>
 			<div class="right-btn">复制</div>
 		</div>
 	</div>
-	<script>
-		toastr.options.positionClass = 'toast-center-center';
-		toastr.options.timeOut = '1500';
-	</script>
 	<script type="text/javascript">
 	    let timer,flag = true;
-		var url = window.location.href;
-		url = url.split('/')
-		// var baseUrl = 'https://test.androidscloud.com/'
-		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终端
-		//埋点
-		if(isAndroid){
-			operate('中秋活动落地页');
-		}
-		function operate(pointName,type){
-			$.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(isAndroid && type === 'click'){
-						getAppDownload();
-					}
-				},
+		//点击复制按钮
+		$('.right-btn')[0].addEventListener('click',copyUrl);
+		//复制
+		function copyUrl(){
+			stopManyClick(() => {
+				var oInput = document.createElement('input'); //创建一个input
+				oInput.setAttribute("readonly", "readonly");//设置只读,否则移动端使用复制功能时可能会造成软件盘弹出
+				oInput.value = 'http://www.androidscloud.com/suanchou';
+				$('.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();
+			}
+		}
 		//防止提示一秒内重复显示
 		function stopManyClick(fn) {
-			if (flag) {
+		if (flag) {
 				fn();
 			}
 			flag = false;