activationCode.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  6. <title>激活码领取页</title>
  7. <link rel="icon" href="../static/img/favicon2.ico" type="img/x-ico">
  8. <link rel="stylesheet" href="../static/js/vender/toastr/toastr.min.css">
  9. <link rel="stylesheet" href="../static/css/activationCode.css">
  10. <script src="../static/js/vender/jquery-3.4.1.min.js"></script>
  11. <script src="../static/js/vender/toastr/toastr.min.js"></script>
  12. <script src="../static/js/vender/config.js"></script>
  13. </head>
  14. <body>
  15. <div class="code-container">
  16. <div class="bottom-content">
  17. <img class="img-container" src="../static/img/gifContent.png" />
  18. <div class="btn-content">
  19. <img class="get-gif" src="../static/img/getGif.png" />
  20. <img class="try-play" src="../static/img/tryPlay.png" />
  21. </div>
  22. </div>
  23. <div class="mask">
  24. <div class="dialog">
  25. <div class="head-list">
  26. <div class="head-title">提示信息</div>
  27. <div class="close"></div>
  28. </div>
  29. <div class="content">恭喜您,激活码领取成功!</div>
  30. <div id="copy-code">P005242s5c</div>
  31. <div class="btn-list">
  32. <div class="close-text">关闭</div>
  33. <img class="copy-btn" src="../static/img/copy.png" />
  34. </div>
  35. </div>
  36. </div>
  37. <div class="copy-success">
  38. <img class="success-img" src="../static/img/success.png" />
  39. <div class="success-text">复制成功</div>
  40. </div>
  41. <input type="text" style="opacity: 0;z-index: -10;position: fixed;" id="codeCopy" value="">
  42. </div>
  43. <script>
  44. toastr.options.positionClass = 'toast-center-center';
  45. toastr.options.timeOut = '1500';
  46. </script>
  47. <script type="text/javascript">
  48. // var baseUrl = 'http://14.215.128.96/'
  49. let timer,flag = true;
  50. var url = window.location.href;
  51. url = url.split('/')
  52. var loc = window.location.search,
  53. n1 = loc.length,//地址的总长度
  54. n2 = loc.indexOf("="),//取得=号的位置
  55. id = loc.substr(n2 + 1, n1 - n2),//从=号后面的内容
  56. u = navigator.userAgent,
  57. isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
  58. isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
  59. if(id !== ''){
  60. operate(3);
  61. }
  62. //点击试玩
  63. $('.try-play')[0].addEventListener('click',()=>{
  64. //是否有token
  65. let type = id === ''? 'noToken': 'com.xjro.yy';
  66. if (isAndroid) {
  67. window.native.toGame(type);
  68. }else if(isiOS){
  69. window.webkit.messageHandlers.getPackageName.postMessage(type);
  70. }else{
  71. stopManyClick(() =>{
  72. toastr.error('暂不支持当前系统')
  73. })
  74. }
  75. if(id !== ''){
  76. operate(5);
  77. }
  78. },false);
  79. //埋点
  80. function operate(accessType){
  81. $.ajax({
  82. url: baseUrl + '/api/public/v1/game/user/operate',
  83. type: 'post',
  84. headers: {
  85. 'Authorization': id //id
  86. },
  87. data:JSON.stringify({
  88. accessType: accessType,
  89. entrance: 3,
  90. url: window.location.href
  91. }),
  92. contentType:"application/json",
  93. dataType: 'json',
  94. cache: false,
  95. success: function (res) {
  96. console.log(res)
  97. },
  98. })
  99. }
  100. $('.get-gif')[0].addEventListener('click',getActivationCode,false);
  101. function handleShow(data) {
  102. $('#copy-code').text(data)
  103. $('.dialog').animate({top: '4.36rem'},"fast");
  104. $('.mask').show();
  105. document.documentElement.style.overflow='hidden';
  106. }
  107. //点击领取激活码
  108. function getActivationCode(){
  109. //是否有token
  110. if (isAndroid && id === '') {
  111. window.native.toGame('noToken');
  112. return
  113. }else if(isiOS && id === ''){
  114. window.webkit.messageHandlers.getPackageName.postMessage('noToken');
  115. return
  116. }
  117. $.ajax({
  118. url: baseUrl + '/api/public/v1/game/activationCode',
  119. type: 'get',
  120. headers: {
  121. 'Authorization': id //id
  122. },
  123. contentType: "application/json",
  124. dataType: 'json',
  125. cache: false,
  126. success: function (res) {
  127. if(res.status === 0){
  128. handleShow(res.data);
  129. }else{
  130. stopManyClick(() =>{
  131. toastr.error(res.msg)
  132. })
  133. }
  134. },
  135. })
  136. }
  137. $('.close')[0].addEventListener('click',handleClose,false);
  138. $('.close-text')[0].addEventListener('click',handleClose,false);
  139. function handleClose() {
  140. $('.dialog').animate({top: '-6.96rem'},"fast");
  141. $('.mask').hide();
  142. document.documentElement.style.overflow='auto';
  143. }
  144. $('.copy-btn')[0].addEventListener('click',copyCode,false);
  145. //复制按钮
  146. function copyCode() {
  147. stopManyClick(() =>{
  148. //加载数据
  149. $('#codeCopy').val($('#copy-code').text());
  150. var input = document.getElementById("codeCopy");
  151. // 选中文本
  152. input.select();
  153. // 执行浏览器复制命令
  154. document.execCommand("copy");
  155. $('.copy-success').addClass('on');
  156. operate(4);
  157. setTimeout(() => {
  158. $('.copy-success').removeClass('on');
  159. },1500)
  160. })
  161. }
  162. //防止提示一秒内重复显示
  163. function stopManyClick(fn) {
  164. if (flag) {
  165. fn();
  166. }
  167. flag = false;
  168. if(timer){clearTimeout(timer);}
  169. timer = setTimeout(() => {flag = true}, 1500);
  170. }
  171. </script>
  172. </body>
  173. </html>