天天看点

“微信小程序从分享卡片进入,第一次获取不到用户uid、第二次能获取到用户uid”解决方法

用uniapp开发微信小程序时,有一个需求是分享罐表详情页面给其它用户,其它用户(在已经登录的状态下)点击分享卡片可以直接跳转到该罐表详情页,且能显示自己是否已经收藏该罐表(收藏状态由用户uid和罐表id共同确定)。

基本思路是用 微信原生的onShareAppMessage(OBJECT) 实现,uniapp文档

path 是其它用户点击分享卡片直接进入的页面,不写默认是分享的当前页面。

“微信小程序从分享卡片进入,第一次获取不到用户uid、第二次能获取到用户uid”解决方法
“微信小程序从分享卡片进入,第一次获取不到用户uid、第二次能获取到用户uid”解决方法

 以上是微信小程序实现页面分享的基础功能。

 遇到的一个bug是:其它用户点击分享卡片第一次不能正确获取uid、第二次进入小程序才能正确获取uid时。

第一次进入小程序: 

“微信小程序从分享卡片进入,第一次获取不到用户uid、第二次能获取到用户uid”解决方法

 第二次进入小程序: 

“微信小程序从分享卡片进入,第一次获取不到用户uid、第二次能获取到用户uid”解决方法

解决办法:在罐表详情页面的分享设置path为home(而不是当前页面),然后从home跳转到罐表详情,这样就可以正确显示页面数据了。丹尼斯小程序就是这样实现的。丹尼斯小程序效果如下:

“微信小程序从分享卡片进入,第一次获取不到用户uid、第二次能获取到用户uid”解决方法

罐表详情.vue

home.vue