activationCode.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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.xlwy.yy';
  66. sendParm(type);
  67. if(id !== ''){
  68. operate(5);
  69. }
  70. },false);
  71. //埋点
  72. function operate(accessType){
  73. $.ajax({
  74. url: baseUrl + '/api/public/v1/game/user/operate',
  75. type: 'post',
  76. headers: {
  77. 'Authorization': id //id
  78. },
  79. data:JSON.stringify({
  80. accessType: accessType,
  81. entrance: 3,
  82. url: window.location.href
  83. }),
  84. contentType:"application/json",
  85. dataType: 'json',
  86. cache: false,
  87. success: function (res) {
  88. console.log(res)
  89. },
  90. })
  91. }
  92. $('.get-gif')[0].addEventListener('click',getActivationCode,false);
  93. function handleShow(data) {
  94. $('#copy-code').text(data)
  95. $('.dialog').animate({top: '4.36rem'},"fast");
  96. $('.mask').show();
  97. document.documentElement.style.overflow='hidden';
  98. }
  99. //点击领取激活码
  100. function getActivationCode(){
  101. //是否有token
  102. if(id === ''){
  103. sendParm('noToken');
  104. return
  105. }
  106. $.ajax({
  107. url: baseUrl + '/api/public/v1/game/activationCode',
  108. type: 'get',
  109. headers: {
  110. 'Authorization': id //id
  111. },
  112. contentType: "application/json",
  113. dataType: 'json',
  114. cache: false,
  115. success: function (res) {
  116. if(res.status === 0){
  117. handleShow(res.data);
  118. }else{
  119. stopManyClick(() =>{
  120. toastr.error(res.msg)
  121. })
  122. }
  123. },
  124. })
  125. }
  126. $('.close')[0].addEventListener('click',handleClose,false);
  127. $('.close-text')[0].addEventListener('click',handleClose,false);
  128. function handleClose() {
  129. $('.dialog').animate({top: '-6.96rem'},"fast");
  130. $('.mask').hide();
  131. document.documentElement.style.overflow='auto';
  132. }
  133. $('.copy-btn')[0].addEventListener('click',copyCode,false);
  134. //复制按钮
  135. function copyCode() {
  136. stopManyClick(() =>{
  137. //加载数据
  138. $('#codeCopy').val($('#copy-code').text());
  139. var input = document.getElementById("codeCopy");
  140. // 选中文本
  141. input.select();
  142. // 执行浏览器复制命令
  143. document.execCommand("copy");
  144. $('.copy-success').addClass('on');
  145. operate(4);
  146. setTimeout(() => {
  147. $('.copy-success').removeClass('on');
  148. },1500)
  149. })
  150. }
  151. //传递参数给app
  152. function sendParm(type) {
  153. if (isAndroid) {
  154. window.native.toGame(type);
  155. }else if(isiOS){
  156. window.webkit.messageHandlers.getPackageName.postMessage(type);
  157. }else{
  158. stopManyClick(() =>{
  159. toastr.error('暂不支持当前系统')
  160. })
  161. }
  162. }
  163. //防止提示一秒内重复显示
  164. function stopManyClick(fn) {
  165. if (flag) {
  166. fn();
  167. }
  168. flag = false;
  169. if(timer){clearTimeout(timer);}
  170. timer = setTimeout(() => {flag = true}, 1500);
  171. }
  172. </script>
  173. </body>
  174. </html>