No Description

index.js 7.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. //获取地址栏参数
  2. function parseQueryString(url) {
  3. var urlObj = {};
  4. var reg = /([^?=&]+)=([^?=&]+)/g;
  5. url.replace(reg, ($0, $1, $2) => {
  6. urlObj[$1] = decodeURIComponent($2);
  7. })
  8. return urlObj;
  9. }
  10. var qs = parseQueryString(window.location.href);
  11. var tkl = ''; //淘口令
  12. var describe = '';//描述的内容
  13. var dataList = [] ;
  14. //var start_time = []; //开始时间
  15. //var end_time = [] ; //结束时间
  16. //var timenum = 0 ; //第几个定时器
  17. var currentTime = ''; //当前时间
  18. var serverTime = 1000; //服务器时间,毫秒数
  19. var goTaobaoUrl,tkl;
  20. $().ready(function() {
  21. getDate();
  22. setInterval("getDate()",1000)
  23. activeTbkPassword();//获取淘口令,淘宝链接
  24. writeLogH5({action:'redRain_home',channel:'H5',url:window.location.href});//H5页面埋点
  25. })
  26. //获取淘口令,淘宝链接
  27. function activeTbkPassword () {
  28. $.ajax({
  29. type:'post',
  30. url:'/api/v2/goods/activeTbkPassword',
  31. data:{
  32. flag:'redRain'
  33. },
  34. dataType:'json',
  35. success:function (res) {
  36. // console.log(res)
  37. if(res && res.errno == 0){
  38. dataList = res.rst.list;
  39. if(dataList.length > 0){
  40. if( new Date(currentTime.replace(/-/ig,'/')).getTime() < new Date((dataList[0].start_time).replace(/-/ig,'/')).getTime() ){
  41. //红包倒计时
  42. count_down(dataList[0].start_time)
  43. return;
  44. }else if(new Date(currentTime.replace(/-/ig,'/')).getTime() >= new Date((dataList[0].start_time).replace(/-/ig,'/')).getTime() && new Date(currentTime.replace(/-/ig,'/')).getTime() < new Date((dataList[0].end_time).replace(/-/ig,'/')).getTime() ){
  45. //红包进行时
  46. count_down(dataList[0].start_time )
  47. goTaobaoUrl = dataList[0].url;
  48. tkl = dataList[0].tbk_password;
  49. return;
  50. }
  51. // else if(new Date(currentTime.replace(/-/ig,'/')).getTime() >= new Date((dataList[0].end_time).replace(/-/ig,'/')).getTime()){
  52. // window.location.reload()
  53. // }
  54. // console.log(currentTime == dataList[0].end_time)
  55. // if(currentTime == dataList[0].end_time){ window.location.reload() }
  56. }else{
  57. console.log('暂无')
  58. }
  59. }
  60. }
  61. })
  62. }
  63. function aa(){
  64. if(new Date(currentTime.replace(/-/ig,'/')).getTime() >= new Date((dataList[0].end_time).replace(/-/ig,'/')).getTime()){
  65. window.location.reload()
  66. }
  67. }
  68. //领取红包
  69. function collarRed () {
  70. var url = dataList[0].url;
  71. var tkl = dataList[0].tbk_password;
  72. openTaobao(url,tkl)
  73. writeLogH5({action:'redRain_collarRed',channel:'H5',url:window.location.href}); //H5页面领取红包埋点
  74. }
  75. // 打开淘宝
  76. function openTaobao (url,tkl) {
  77. var param = {"taobaoUrl" : url}
  78. param = JSON.stringify(param)
  79. try{
  80. if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)){
  81. window.webkit.messageHandlers.app_h5_open_taobao_url.postMessage(param);
  82. }
  83. if(navigator.userAgent.match(/android/i)){
  84. obj4H5.app_h5_open_taobao_url(param);
  85. }
  86. }catch(e){
  87. //TODO handle the exception
  88. copyPassword(tkl)
  89. }
  90. }
  91. //复制淘口令
  92. function copyPassword(tkl) {
  93. var data=tkl;
  94. copy_2.innerHTML = data;
  95. copy_1.setAttribute('value',data)
  96. if(Boolean(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i))){
  97. //区分iPhone设备
  98. window.getSelection().removeAllRanges();//这段代码必须放在前面否则无效
  99. var Url2=document.getElementById("copy_2");//要复制的节点
  100. var range = document.createRange();
  101. //选中需要复制的节点
  102. range.selectNode(Url2);
  103. //执行选中元素
  104. window.getSelection().addRange(range);
  105. //执行copy操作
  106. var successful = document.execCommand("copy");
  107. //移除选中的元素
  108. window.getSelection().removeAllRanges();
  109. }else{
  110. var Url2=document.getElementById("copy_1");//要复制的节点
  111. Url2.select();//选择对象
  112. document.execCommand("Copy");//执行浏览器复制命令
  113. }
  114. showMsg('复制淘口令成功,请打开淘宝参与活动')
  115. }
  116. function getDate(){
  117. var date = new Date();
  118. var Y = date.getFullYear(); //年
  119. var M = date.getMonth() + 1;//月
  120. var D = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
  121. var W = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")[date.getDay()]; //周
  122. var H = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
  123. var Fen = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
  124. var S = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
  125. currentTime = Y + "-" + M + "-" + D + " " + H + ":" + Fen + ":" + S ;
  126. }
  127. //倒计时
  128. function count_down(o){
  129. var html = null;//页面
  130. var time = null;
  131. time = setTimeout(function(){count_down(o)},1000);
  132. var datatime=/^[\d]{4}-[\d]{1,2}-[\d]{1,2}( [\d]{1,2}:[\d]{1,2}(:[\d]{1,2})?)?$/ig,str='',conn,s;
  133. if(!o.match(datatime)){
  134. // alert('参数格式为2020-01-01[ 01:01[:01]].\r其中[]内的内容可省略');
  135. return false;
  136. }
  137. var sec=(new Date(o.replace(/-/ig,'/')).getTime() - new Date().getTime())/1000;
  138. var t = dataList[0].start_time;
  139. var describe = t.substring(5,16).replace('-','月').replace(' ','日 ')
  140. var b = dataList[0].end_time;
  141. if(sec == 0 || sec < 0){
  142. //倒计时结束时----都为0
  143. time = setTimeout(function(){count_down(o)},1000);
  144. if(currentTime == dataList[0].end_time){ window.location.reload() }
  145. $('.receive_time span').text(describe);//描述时间
  146. $('.container').css({'padding-top':'1.93rem'})
  147. $('.daojishi').css({'height':'2.315rem','background':'url(./imgs/line.png) no-repeat 0.565rem 0.155rem','background-size':'2.935rem 1.665rem'})
  148. html = `<div class="first"><p class="time" id="firstTime">11-10 22:00</p><img src="./imgs/hongbaoB.png" class="hongbaoImg"/> </div><div class="second"><p class="time" id="secondTime">11-11 11:11</p><img src="./imgs/hongbaoA.png" class="hongbaoImg"/> </div><img src="./imgs/tianmao.png" alt="天猫精灵" class="tianmaoImg" /><img src="./imgs/weizhi.png" class="weizhi"/>`
  149. $('.daojishi').html(html);
  150. //红包换图
  151. if(currentTime >= '2018-11-11 11:11:00'){ $('.second .hongbaoImg').attr('src','./imgs/hongbaoB.png') }
  152. $(".button").addClass('buttonActive');
  153. $('.buttonActive').css({'margin-top':'0rem'})
  154. $(".button").click(function () {
  155. collarRed ();//领取红包
  156. })
  157. clearTimeout(time); //清除定时器
  158. }else{
  159. //倒计时运行
  160. $('.receive_time span').text(describe);//描述时间
  161. s={'天':parseInt(sec/24/3600),'时':Math.floor(sec/3600%24),'分':Math.floor(sec/60%60),'秒':Math.floor(sec%60)};
  162. for(i in s){
  163. if(s[i] < 10){s[i] = '0' + s[i]};
  164. if(i != '天'){
  165. str += '<span>' + s[i] + '</span>' + i;
  166. }
  167. }
  168. html = `<div class="count_down"><img src="./imgs/daojishi.png" alt="" /></div><div id="endtime">${str}</div>`;
  169. $('.daojishi').html(html);
  170. $(".button").removeClass('buttonActive');
  171. $(".button").click(function () {
  172. showMsg('下一波红包正在准备中~')
  173. })
  174. }
  175. }
  176. //H5页面埋点
  177. function writeLogH5 (data) {
  178. $.ajax({
  179. type:'post',
  180. url:'/api/v2/channel/writeLogH5',
  181. dataType:'json',
  182. data:data,
  183. success:function (res) {
  184. // console.log(res)
  185. }
  186. })
  187. }
  188. //提示弹框
  189. function showMsg(msg) {
  190. var msgBox = $('.alert-info');
  191. msgBox.children('p').text(msg);
  192. msgBox.show();
  193. setTimeout(function() {
  194. msgBox.hide();
  195. }, 3000);
  196. }