微信公众平台网页开发实战--1.微信分享一个网页到朋友圈

   对微信的JSSDK进行封装一下,创建一份类似的文件结构,增加index.html与shareApi.js文件,结构如图3.3所示。

  图3.3  3.2节文件结构


另外,提醒读者一下,wxJSSDK.js文件的JSSDK环境配置中,需要更改一下配置参数,代码如下:

点击(此处)折叠或打开

  1. 01     jsApiList: [ // 其他代码略
  2. 02     "onMenuShareTimeline",
  3. 03     "onMenuShareAppMessage",
  4. 04     "onMenuShareQQ",
  5. 05     "onMenuShareWeibo"
  6. 06     ]         // 必填,需要使用的JS接口列表,所有JS接口列表见附录B

index.html文件增加如下代码(HTML5网页):

点击(此处)折叠或打开

  1. 01    <!DOCTYPE html>
  2. 02    <html lang="en">
  3. 03    <head>
  4. 04        <meta charset="UTF-8">
  5. 05        <title>第3章 3.2节 分享接口的作用</title>
  6. 06     <!--依赖文件:jQuery-->
  7. 07     <script src="./js/jquery-1.11.2.min.js"></script>
  8. 08     <!--依赖文件:微信的JSSDK源文件-->
  9. 09     <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
  10. 10     <!--依赖文件:coolie-->
  11. 11     <script src="./js/cookie.js"></script>
  12. 12     <!--JSSDK的环境-->
  13. 13     <script src="./js/wxJSSDK.js"></script>
  14. 14     <!--引入检测API的分享接口-->
  15. 15     <script src="./shareApi.js"></script>
  16. 16    </head>
  17. 17    <body>
  18. 18     <h1 style="font-size: 40px">:)</h1>
  19. 19     <b style="font-size: 20px">分享接口的作用!</b>
  20. 20    </body>
  21. 21    </html>

  22. shareApi.js增加分享API的测试封装方案代码:
  23. 01    /*声明:
  24. 02     为了方便读者朋友,这里省略配置环境,直接写检测代码。
  25. 03     */
  26. 04    
  27. 05    /*
  28. 06     函数名称:wxJSSDK.shareApi
  29. 07     函数功能:为wxJSSDK增加分享模块
  30. 08     参数:
  31. 09     shareList(Array) 必选项,待分享的API配置表
  32. 10     */
  33. 11    wxJSSDK.shareApi = function(shareList){
  34. 12     if(wxJSSDK.isReady){//wxJSSDK.isReady 查看微信JSSDK是否初始化完毕
  35. 13    
  36. 14     // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
  37. 15     if(shareList.onMenuShareTimeline){
  38. 16     var ParametersTimeline = shareList.onMenuShareTimeline;
  39. 17     wx.onMenuShareTimeline({
  40. 18     title: ParametersTimeline.title,         // 分享标题
  41. 19     link: ParametersTimeline.link,         // 分享链接
  42. 20     imgUrl: ParametersTimeline.imgUrl,     // 分享图标
  43. 21     success: function () {
  44. 22     // 用户确认分享后执行的回调函数
  45. 23     ParametersTimeline.success && ParametersTimeline.success();
  46. 24     },
  47. 25     cancel: function () {
  48. 26     // 用户取消分享后执行的回调函数
  49. 27     ParametersTimeline.cancel && ParametersTimeline.cancel();
  50. 28     }
  51. 29     });
  52. 30     }
  53. 31    
  54. 32     // 获取“分享给朋友”按钮点击状态及自定义分享内容接口
  55. 33     if(shareList.onMenuShareAppMessage){
  56. 34     var ParametersAppMessage = shareList.onMenuShareAppMessage;
  57. 35     wx.onMenuShareAppMessage({
  58. 36     title: ParametersAppMessage.title,     // 分享标题
  59. 37     desc: ParametersAppMessage.desc,     // 分享描述
  60. 38     link: ParametersAppMessage.link,     // 分享链接
  61. 39     imgUrl: ParametersAppMessage.imgUrl, // 分享图标
  62. 40     type: ParametersAppMessage.type,     // 分享类型,music、video或link,
  63. 41    不填默认为link
  64. 42     dataUrl: ParametersAppMessage.dataUrl, // 如果type是music或video,
  65. 43    则要提供数据链接,默认为空
  66. 44     success: function () {
  67. 45     // 用户确认分享后执行的回调函数
  68. 46     ParametersAppMessage.success &&
  69. 47    ParametersAppMessage.success();
  70. 48     },
  71. 49     cancel: function () {
  72. 50     // 用户取消分享后执行的回调函数
  73. 51     ParametersAppMessage.cancel && ParametersAppMessage.cancel();
  74. 52     }
  75. 53     });
  76. 54     }
  77. 55    
  78. 56     // 获取“分享到QQ”按钮点击状态及自定义分享内容接口
  79. 57     if(shareList.onMenuShareQQ){
  80. 58     var ParametersQQ = shareList.onMenuShareQQ;
  81. 59     wx.onMenuShareQQ({
  82. 60     title: ParametersQQ.title,             // 分享标题
  83. 61     desc: ParametersQQ.desc,             // 分享描述
  84. 62     link: ParametersQQ.link,             // 分享链接
  85. 63     imgUrl: ParametersQQ.imgUrl,         // 分享图标
  86. 64     success: function () {
  87. 65     // 用户确认分享后执行的回调函数
  88. 66     ParametersQQ.success && ParametersQQ.success();
  89. 67     },
  90. 68     cancel: function () {
  91. 69     // 用户取消分享后执行的回调函数
  92. 70     ParametersQQ.cancel && ParametersQQ.cancel();
  93. 71     }
  94. 72     });
  95. 73     }
  96. 74    
  97. 75     // 获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口
  98. 76     if(shareList.onMenuShareWeibo){
  99. 77     var ParametersWeibo = shareList.onMenuShareWeibo;
  100. 78     wx.onMenuShareWeibo({
  101. 79     title: ParametersWeibo.title,             // 分享标题
  102. 80     desc: ParametersWeibo.desc,         // 分享描述
  103. 81     link: ParametersWeibo.link,            // 分享链接
  104. 82     imgUrl: ParametersWeibo.imgUrl,     // 分享图标
  105. 83     success: function () {
  106. 84     // 用户确认分享后执行的回调函数
  107. 85     ParametersWeibo.success && ParametersWeibo.success();
  108. 86     },
  109. 87     cancel: function () {
  110. 88     // 用户取消分享后执行的回调函数
  111. 89     ParametersWeibo.cancel && ParametersWeibo.cancel();
  112. 90     }
  113. 91     });
  114. 92     }
  115. 93    
  116. 94     }else{
  117. 95     console.log("抱歉,wx没有初始化完毕,请等待wx初始化完毕,再调用检测API服
  118. 96    务。");
  119. 97     }
  120. 98    
  121. 99    }
  122. 100    
  123. 101    // 成功初始化后执行API分享事务
  124. 102    wxJSSDK.readySuccessCall.push(function(){
  125. 103     var title = "HTML5外包,HTML5外包,HTML5是我们的生活,值得信赖的HTML5解决
  126. 104    方案提供商!",
  127. 105     link = "http://www.html5waibao.com",
  128. 106     imgUrl = "http://www.html5waibao.com/images/logo_35.png",
  129. 107     desc = "html5外包,HTML5外包,html5外宝,html5活,html5手机网站",
  130. 108     success = function(){
  131. 109     alert("分享成功回调");
  132. 110     },
  133. 111     cancel = function(){
  134. 112     alert("分享失败回调");
  135. 113     };
  136. 114     wxJSSDK.shareApi({
  137. 115     onMenuShareTimeline : {        // 分享到朋友圈
  138. 116     title: title,                 // 分享标题
  139. 117     link: link,                 // 分享链接
  140. 118     imgUrl: imgUrl,             // 分享图标
  141. 119     success: function () {
  142. 120     success();
  143. 121    
  144. 122     },
  145. 123     cancel: function () {
  146. 124     cancel();
  147. 125    
  148. 126     }
  149. 127     },
  150. 128     onMenuShareAppMessage:{
  151. 129     title: title,                 // 分享标题
  152. 130     desc: desc,                // 分享描述
  153. 131     link: link,                 // 分享链接
  154. 132     imgUrl: imgUrl,             // 分享图标
  155. 133     type: "link", // 分享类型,music、video或link,不填默认为link
  156. 134     dataUrl: "", // 如果type是music或video,则要提供数据链接,默认为空
  157. 135     success: function () {
  158. 136     success();
  159. 137     },
  160. 138     cancel: function () {
  161. 139     cancel();
  162. 140     }
  163. 141     },
  164. 142     onMenuShareQQ:{
  165. 143     title: title,             // 分享标题
  166. 144     desc: desc,            // 分享描述
  167. 145     link: link,             // 分享链接
  168. 146     imgUrl: imgUrl,         // 分享图标
  169. 147     success: function () {
  170. 148     success();
  171. 149     },
  172. 150     cancel: function () {
  173. 151     cancel();
  174. 152     }
  175. 153     },
  176. 154     onMenuShareWeibo:{
  177. 155     title: title,             // 分享标题
  178. 156     desc: desc,             // 分享描述
  179. 157     link: link,             // 分享链接
  180. 158     imgUrl: imgUrl,         // 分享图标
  181. 159     success: function () {
  182. 160     success();
  183. 161     },
  184. 162     cancel: function () {
  185. 163     cancel();
  186. 164     }
  187. 165     }
  188. 166     });
  189. 167    })


【代码解释】
  • 为“wxJSSDK”增加“shareApi”方法。
  • 以对象的参数形式,为调用“shareApi”方法的使用者配置具体的JSSDK的API。
  • 分别进行配置填充。
  • 用“wxJSSDK.readySuccessCall.push”增加JSSDK分享API的测试用例。


 打开手机会看到如图3.4所示的UI。点击右上角的分享到朋友圈按钮,会看到如图3.5所示的UI。如果分享成功会弹出对应的提示,如图3.6所示。

图3.4  测试用例分享界面                         

图3.5  分享到朋友圈UI


图3.6  分享到朋友圈成功提示


微信公众平台网页开发实战——HTML5+JSSDK混合开发解密


欢迎一起交流本书

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14741331/viewspace-2140753/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14741331/viewspace-2140753/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值