maJiaBaoGoApp.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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>下载APP</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/maJiaBaoGoApp.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. <style>
  14. .code-container {
  15. background: url(../static/img/maJiaBaoGoAppBag.png);
  16. background-repeat: no-repeat;
  17. background-size: 7.5rem 100vh;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <div class="code-container">
  23. <div class="btn-content">
  24. <img class="download-app" src="../static/img/downLoadApp.png" />
  25. <img class="download-text" src="../static/img/downLoadText.png" />
  26. </div>
  27. <div class="mask">
  28. <div class="point">
  29. <img class="point-img" src="../static/img/point.png" />
  30. </div>
  31. <div class="dialog">
  32. <img class="border" src="../static/img/border.png" />
  33. <img class="border-close" src="../static/img/border-close.png" />
  34. <img class="border-text" src="../static/img/border-text.png" />
  35. <img class="border-btn" src="../static/img/border-btn.png" />
  36. <img class="small-routine" src="../static/img/snail.png" id="picurl" />
  37. <img class="btn-text" src="../static/img/btn-text.png" />
  38. </div>
  39. </div>
  40. </div>
  41. <script>
  42. toastr.options.positionClass = 'toast-center-center';
  43. toastr.options.timeOut = '1500';
  44. </script>
  45. <script type="text/javascript">
  46. let timer,flag = true;
  47. var url = window.location.href;
  48. url = url.split('/')
  49. var loc = window.location.search,
  50. n1 = loc.length,//地址的总长度
  51. n2 = loc.indexOf("="),//取得=号的位置
  52. id = loc.substr(n2 + 1, n1 - n2),//从=号后面的内容
  53. u = navigator.userAgent,
  54. isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
  55. isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
  56. //埋点
  57. if(isAndroid){
  58. operate(id);
  59. }
  60. if(isiOS){
  61. const pointName = id + '_IOS'
  62. operate(pointName);
  63. }
  64. function operate(pointName,type){
  65. $.ajax({
  66. url: baseUrl + '/api/public/v1/systemBuriedPoint/stat',
  67. type: 'post',
  68. data:JSON.stringify({
  69. pointName: pointName
  70. }),
  71. contentType:"application/json",
  72. dataType: 'json',
  73. cache: false,
  74. success: function (res) {
  75. if(isAndroid && type === 'click'){
  76. getAppDownload();
  77. }
  78. },
  79. })
  80. }
  81. //点击下载APP
  82. $('.btn-content')[0].addEventListener('click',()=>{
  83. var ua = navigator.userAgent.toLowerCase();
  84. if(ua.match(/MicroMessenger/i)=="micromessenger" || ua.match(/QQ\/[0-9]/i)){
  85. $('.point').animate({top: '0.1rem'},"fast");
  86. $('.mask').css('background','rgba(0,0,0,0.7)');
  87. $('.mask').show();
  88. document.documentElement.style.overflow='hidden';
  89. }else if(isAndroid){
  90. const pointName = id + '_click'
  91. operate(pointName,'click');
  92. }else if(isiOS){
  93. const pointName = id + '_IOS_click'
  94. operate(pointName);
  95. $('.dialog').animate({top: '4.36rem'},"fast");
  96. $('.mask').show();
  97. document.documentElement.style.overflow='hidden';
  98. }
  99. },false);
  100. //关闭
  101. $('.border-close')[0].addEventListener('click',handleClose,false);
  102. function handleClose() {
  103. $('.dialog').animate({top: '-6.96rem'},"fast");
  104. $('.mask').hide();
  105. document.documentElement.style.overflow='auto';
  106. }
  107. //调用下载接口
  108. function getAppDownload(){
  109. $.ajax({
  110. url: baseUrl + '/api/user/v1/ditchClient/addChannelAppDownload',
  111. type: 'post',
  112. data:JSON.stringify({
  113. code:"Q4796f4k26ST",
  114. type: "5",
  115. platform:"1",
  116. version:""
  117. }),
  118. contentType: "application/json",
  119. dataType: 'json',
  120. cache: false,
  121. success: function (res) {
  122. if(res.status === 0){
  123. window.location.href = baseUrl + '/file-center/fileOperate/downloadFile?id=173497';
  124. }else{
  125. stopManyClick(() =>{
  126. toastr.error(res.msg)
  127. })
  128. }
  129. },
  130. })
  131. }
  132. //保存到相册
  133. $('.btn-text')[0].addEventListener('click',savePic,false);
  134. function savePic(){
  135. var picurl= $("#picurl").attr("src");
  136. savePicture(picurl);
  137. }
  138. //保存图片
  139. function savePicture(Url){
  140. var blob=new Blob([''], {type:'application/octet-stream'});
  141. var url = URL.createObjectURL(blob);
  142. var a = document.createElement('a');
  143. a.href = Url;
  144. a.download = Url.replace(/(.*\/)*([^.]+.*)/ig,"$2").split("?")[0];
  145. var e = document.createEvent('MouseEvents');
  146. e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  147. a.dispatchEvent(e);
  148. URL.revokeObjectURL(url);
  149. stopManyClick(() =>{
  150. toastr.error('保存成功!')
  151. })
  152. }
  153. //防止提示一秒内重复显示
  154. function stopManyClick(fn) {
  155. if (flag) {
  156. fn();
  157. }
  158. flag = false;
  159. if(timer){clearTimeout(timer);}
  160. timer = setTimeout(() => {flag = true}, 1500);
  161. }
  162. </script>
  163. </body>
  164. </html>