testShare.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf8">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  7. <title>测测你国庆该去哪里玩</title>
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
  9. <!-- <link rel="shortcut icon" href="favicon.ico"> -->
  10. <meta name="apple-mobile-web-app-capable" content="yes">
  11. <meta content="yes" name="apple-touch-fullscreen">
  12. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  13. <meta http-equiv="Expires" content="0">
  14. <meta http-equiv="Pragma" content="no-cache">
  15. <meta http-equiv="Cache-control" content="no-cache">
  16. <meta http-equiv="Cache" content="no-cache">
  17. <link rel="stylesheet" href="css/bske.css">
  18. <script type="text/javascript" src='js/jquery.js'></script>
  19. <script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>
  20. <script type="text/javascript" src='js/test.js'></script>
  21. <script type="text/javascript" src='js/es6-promise.js'></script>
  22. <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
  23. </head>
  24. <body>
  25. <div class="content">
  26. <div class="share" id="canvas">
  27. <div class="shareBox">
  28. <div class="shareTop">
  29. <span>赵铁柱</span>在国庆该去的目的地是
  30. </div>
  31. <div class="shareInfor">
  32. <div class="infor inforBg"></div>
  33. <div class="infor inforBox">
  34. <div class="inforAdress">火星的奥林匹山</div>
  35. <div class="inforLabel">
  36. <div class="colLabel">
  37. <div class="titLabel">性格<br />特征</div>
  38. <div class="Label">豪迈、沧桑</div>
  39. </div>
  40. <div class="colLabel">
  41. <div class="titLabel">气质<br />速写</div>
  42. <div class="Label">自然的崇拜者</div>
  43. </div>
  44. </div>
  45. <div class="explain">
  46. <p><span>赵铁柱</span>乘坐探险者一号飞船顺利着陆,跨出舱的第一步激起了飘扬的火星尘,这是整个太阳系最高的山脉,能看到远处蓝宝石般的地球。</p>
  47. <p>这次旅行费用需要<span>赵铁柱</span><br/><em>在山西挖煤挖到300000斤</em>方可成行。</p>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. <script>
  55. $(function(){
  56. function getUrlParms(name){
  57. var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  58. var r = window.location.search.substr(1).match(reg);
  59. if(r!=null) return unescape(r[2]); return null;
  60. };
  61. var pick = getUrlParms("pick");
  62. if( !pick ){
  63. window.location.href='index.html';
  64. return
  65. };
  66. init.showIndicator();
  67. $.ajax({
  68. type:'get',
  69. url : 'http://wx.yingyinglicai.com/question/pick?pick='+pick,
  70. dataType:'JSON',
  71. contentType:"application/json; charset=utf-8",
  72. success:function(data) {
  73. if(data.success){
  74. var imgSrc = "";
  75. getCanvasBase64(imgSrc).then(function (base64) {
  76. console.log("方式二》》》》》》》》》",base64);
  77. getImg();
  78. }, function (err) {
  79. console.log(err);
  80. });
  81. }
  82. },
  83. error:function() {
  84. init.hideIndicator();
  85. }
  86. });
  87. function getBase64Image(img, width, height) {
  88. var canvas = document.createElement("canvas");
  89. canvas.width = width ? width : img.width;
  90. canvas.height = height ? height : img.height;
  91. var ctx = canvas.getContext("2d");
  92. ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
  93. var dataURL = canvas.toDataURL();
  94. return dataURL;
  95. }
  96. function getCanvasBase64(img) {
  97. var image = new Image();
  98. //至关重要
  99. image.crossOrigin = '';
  100. image.src = img;
  101. //至关重要
  102. var deferred = $.Deferred();
  103. if (img) {
  104. image.onload = function () {
  105. deferred.resolve(getBase64Image(image));//将base64传给done上传处理
  106. // document.getElementById("container2").appendChild(image);
  107. }
  108. return deferred.promise();//问题要让onload完成后再return sessionStorage['imgTest']
  109. }
  110. }
  111. // 分享
  112. var wxParam = {};
  113. var wx_share = function(param, url) {
  114. $.ajax({
  115. url: 'http://wx.yingyinglicai.com/checkJsAuth?url='+url,
  116. type: "GET",
  117. dataType:'JSON',
  118. contentType:"application/json; charset=utf-8",
  119. success: function(res) {
  120. if (res.code == 0) {
  121. var data = res.data;
  122. wxParam = param;
  123. // 分享配置
  124. wx.config({
  125. debug: false,
  126. appId: data.app_id, // 必填,企业号的唯一标识
  127. timestamp: data.timestamp, // 必填,生成签名的时间戳
  128. nonceStr: data.nonceStr, // 必填,生成签名的随机串
  129. signature: data.signature,// 必填,签名,见附录1
  130. jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  131. });
  132. }
  133. },
  134. error : function(res) {}
  135. })
  136. };
  137. wx_share({
  138. title: "1分享标题分享标题1",
  139. desc: "分享描述分享描述" ,
  140. link: "http://wx.yingyinglicai.com/index",
  141. imgUrl: "http://bbs.eqxiu.com/uc_server/avatar.php?uid=2745371&size=small",
  142. successFn: function(){
  143. // 用户确认分享后执行的回调函数
  144. },
  145. cancelFn: function(){
  146. // 用户取消分享后执行的回调函数
  147. }
  148. },window.location.href);
  149. wx.ready(function () {
  150. wx.onMenuShareTimeline({//分享到朋友圈
  151. title: wxParam.title,
  152. link: wxParam.link,
  153. imgUrl: wxParam.imgUrl,
  154. success: function () {
  155. if (wxParam.successFn) {wxParam.successFn();}
  156. }, cancel: function () {
  157. if (wxParam.cancelFn) {wxParam.cancelFn();}
  158. }
  159. });
  160. wx.onMenuShareAppMessage({//分享给朋友
  161. title: wxParam.title,
  162. desc: wxParam.desc,
  163. link: wxParam.link,
  164. imgUrl: wxParam.imgUrl,
  165. success: function () {
  166. if (wxParam.successFn) {wxParam.successFn();}
  167. }, cancel: function () {
  168. if (wxParam.cancelFn) {wxParam.cancelFn();}
  169. }
  170. });
  171. });
  172. function getImg(){
  173. var canvas2 = document.createElement("canvas");
  174. let _canvas = document.querySelector('#canvas');
  175. var w = parseInt(window.getComputedStyle(_canvas).width);
  176. var h = parseInt(window.getComputedStyle(_canvas).height);
  177. canvas2.width = w * 2;
  178. canvas2.height = h * 2;
  179. canvas2.style.width = w + "px";
  180. canvas2.style.height = h + "px";
  181. var context = canvas2.getContext("2d");
  182. context.scale(2, 2);
  183. html2canvas(document.querySelector('#canvas'), { canvas: canvas2 }).then(function(imgUrl) {
  184. let oImg = document.createElement('img');
  185. oImg.id = 'oImg';
  186. oImg.className = 'o-img';
  187. oImg.src= imgUrl.toDataURL();//imgUrl是html2canvas返回的截图的base64码
  188. document.body.appendChild(oImg);//将生成的截图放到页面中
  189. $("#canvas").hide();
  190. init.hideIndicator();
  191. });
  192. };
  193. $("#goWeChat").on('click',function(){
  194. window.location.href='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzAwMTAzNTAwMA==#wechat_redirect';
  195. })
  196. });
  197. </script>
  198. </body>
  199. </html>