小程序套壳 uni-app h5页面之间的通信

164 阅读1分钟

小程序套壳想要唤起微信的扫码,uni-app中的uni.scanCode()并没有启作用。所有要用到小程序 与h5之间的通信。

小程序代码: <web-view src="{{src}}" bindmessage="handleMessage"></web-view>

uni-app代码:

//唤醒wx小程序扫码
			scancode() {
				wx.miniProgram.postMessage({
					data: {
						test: 'test'
					}
				})
				//向⼩程序回传数据
				wx.miniProgram.redirectTo({
					url: '/pages/index/index'
				})

			},

uni-app 通过wx.miniProgram.postMessage给小程序传递信息,(坑:必须加上wx.miniProgram.redirectTo跳转页面不然不能都传递信息过去。)

小程序web-view通过跳转的src来传递信息给uni-app。

/**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (option) {
        let token = wx.getStorageSync('zaizheifei_key')
        var callBackUrl //回调地址
        if (!option.code) {
            // callBackUrl = "http://10.2.0.184:8080/zaizhefei/#/?id=" + token
            callBackUrl = "https://www.zjjnks.cn/zaizhefei/#/?id=" + token
        } else {
            // callBackUrl = "http://10.2.0.184:8080/zaizhefei/#/pages/droneregistration/droneregistration?code=" + option.code
            callBackUrl = "https://www.zjjnks.cn/zaizhefei/#/pages/droneregistration/droneregistration?code=" + option.code
        }
        if (option.type == "ces") {
            wx.redirectTo({
                url: '../logs/logs',
            })
        }
        // wx.showModal({
        //     title: '提示',
        //     content: token,
        //     success (res) {
        //       if (res.confirm) {
        //         console.log('用户点击确定')
        //       } else if (res.cancel) {
        //         console.log('用户点击取消')
        //       }
        //     }
        //   })
        this.setData({
            //   src:"https://www.zjjnks.cn/zaizhefei/#/?id="+token
            src: callBackUrl
            // src:"http://10.2.0.148:8084/zaizhefei/#/?id="+token
            //   src:"http://192.168.50.122:8080/zaizhefei/#/?id="+token
        })
    },

两篇通信博客: blog.csdn.net/qq_41619796…

blog.csdn.net/Justin_bieb…