uniapp app端跳转第三方授权,外部html与app进行通信

使用uniapp 开发app时,可能会遇见需要获取第三方授权,使用第三方数据的情况,比如获取淘宝登录授权,人脸识别认证等,就需要通过webview跳转第三方页面,完成操作后又需要返回我们的程序内;对于前端来说,怎么监听用户是否操作完成是个问题;

//首先我们会通过接口来获取到后端返回的跳转第三方的数据链接,这里假设链接叫:data.url
//页面跳转url太长,跳转url获取不完整怎么办?
let url = encodeURIComponent(JSON.stringify(data.url))  //将文本字符串编码为一个有效的统一资源标识符
        uni.navigateTo({
            url: `/pages/home/tbAuthorization/tbAuthorization?url=${url}` //这里跳转的页面是放webview的页面
            })
//tbAuthorization webview页面







    
    
    淘宝宝授权



淘宝已授权登录成功

总结: 这个不难,但是我第一次做时很懵,所以记录一下,有一个问题还不明白,webview 有两个监听事件@message (网页向应用 postMessage 时,会在特定时机(后退、组件销毁、分享)触发并收到消息。)
@onPostMessage(网页向应用实时 postMessage)按理说第二个事件也能够接收到返回的消息数据,但是我做的时候怎么都获取不到,困扰了很久,还是不明白原因

你可能感兴趣的:(uniapp app端跳转第三方授权,外部html与app进行通信)