当前位置:   article > 正文

小程序内嵌H5(webview),调起微信分享

小程序内嵌H5(webview),调起微信分享

该功能时作为H5调起小程序的微信分享

1:小程序方 在webview页面,打开分享的权限

  1. wx.showShareMenu({
  2. withShareTicket:true,
  3. menu:['shareTimeline','shareAppMessage']
  4. })

2:在小程序内写 onShareAppMessage方法,用来获取在哪个页面调起的微信分享,

  1. onShareAppMessage: function(res) {
  2. console.log(res)
  3. let nowURL = decodeURIComponent(res.webViewUrl)
  4. let id = nowURL.split('?')[1].split('&')[0].split('=')[1]
  5. let name = decodeURIComponent(nowURL.split('?')[1].split('&')[1].split('=')[1])
  6. let data = {
  7. id: id,
  8. name: name,
  9. }
  10. let payData = JSON.stringify(data)
  11. let url = `/pages/music/music?data=${payData}`
  12. return {
  13. title: name,
  14. path: url,
  15. }
  16. },

3:在2中的这处代码,是用来劫持分享,并自定义分享的,

  1. let payData = JSON.stringify(data)
  2. let url = `/pages/music/music?data=${payData}`
  3. return {
  4. title: name,
  5. path: url,
  6. }

4:转发出去后,通过用户的点击再次回来时,在webview页面获取是否有参

  1. onLoad: function(e) {
  2. console.log(e)
  3. if (e.data) {
  4. console.log(e)ghu
  5. let i = JSON.parse(e.data)
  6. console.log(i)
  7. this.url = 'http://192.****8080/?hrsaasUserId=95623&id='+i.id+'&name='+ i.name
  8. console.log(this.url)
  9. } else {
  10. this.url = 'http://192.****:8080/?hrsaasUserId=95623'
  11. }

如果有参,就是通过分享页面进来的,跳入webview页面

如果无参,就认为是从首页点进来的 不做处理

5:在H5的onload处 获取参数,逻辑同4, 有参就跳入你想进的页面

  1. if(e.data){
  2. uni.navigateTo({
  3. url:'/pages/consulting/scaleDetail?id='+this.scaleId+'&name='+encodeURIComponent(this.scaleName)+'&questionType=0&isPay=0',
  4. })

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/123797
推荐阅读
相关标签
  

闽ICP备14008679号