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

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

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

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


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

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


    onShareAppMessage: function(res) {
                console.log(res)
                let nowURL = decodeURI***ponent(res.webViewUrl)
                let id = nowURL.split('?')[1].split('&')[0].split('=')[1]
                let name = decodeURI***ponent(nowURL.split('?')[1].split('&')[1].split('=')[1])
                let data = {
                    id: id,
                    name: name,
            
                }
                let payData = JSON.stringify(data)
                let url = `/pages/music/music?data=${payData}`
                return {
                    title: name,
                    path: url,

                }

            },

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


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

                }

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


        onLoad: function(e) {
            console.log(e)
            if (e.data) {
                console.log(e)ghu 
                let i = JSON.parse(e.data)
                console.log(i)
                this.url = 'http://192.****8080/?hrsaasUserId=95623&id='+i.id+'&name='+ i.name
                console.log(this.url)

            } else {
                this.url = 'http://192.****:8080/?hrsaasUserId=95623'
            }

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

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

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


if(e.data){
uni.navigateTo({
url:'/pages/consulting/scaleDetail?id='+this.scaleId+'&name='+encodeURI***ponent(this.scaleName)+'&questionType=0&isPay=0',
})

转载请说明出处内容投诉
CSS教程_站长资源网 » 小程序内嵌H5(webview),调起微信分享

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买