收藏
回答

通过截图、分享链接进入小程序的原理是什么?

我的小程序中使用webview组件,用于展示H5活动,H5活动的链接是动态变化的,也会在链接上携带用户的登录态参数。

问题:

1、最近微信新增功能中,可以通过小程序截图进入对应的小程序页面,由于我的webview链接上携带登录态,通过截图进入的用户,会携带分享人的登录态,导致登录到的是分享人的账号,webview的链接是当时分享人的链接;

2、webview的链接是通过接口拿到登录态信息,在onLoad的时候拼接到默认的活动链接中;

3、我想通过onLoad的生命周期去重置webview的链接,发现从截图进入的,不会去执行onLoad的生命周期,导致没办法重置webview链接上的登录态,这是为什么呢?

4、是否有相关的文档更新让我们开发者了解通过小程序截图进入小程序的一些相关事项?

wxml代码截图:


回答关注问题邀请回答
收藏

4 个回答

  • lomean
    lomean
    05-11

    有办法关闭这个功能吗?

    05-11
    有用
    回复
  • 肠粉加辣
    肠粉加辣
    03-07

    有后续了吗?

    03-07
    有用
    回复 1
    • 肠粉加辣
      肠粉加辣
      03-07
      我这边是在 onLoad 的时候再拼接登录态
      03-07
      回复
  • H1HAO 🇨🇳
    H1HAO 🇨🇳
    2023-12-18

    确认分享进来的参数和webview打开的页面参数不一致吗,打印看看啊,不可能接收到参数后无效,要不然页面都打不开,肯定是哪里没有赋值成功,可以一步一步打印看看,在体验版打开调试,然后进入线上版就会出来调试,排查一下


    2023-12-18
    有用
    回复 3
    • 果汁
      果汁
      2023-12-18
      不是这个意思,是通过小程序截图进入小程序,webview的链接会带上截图人的登录态,然后我想通过onLoad去刷新登录态,发现好像不执行onLoad,导致没法请求接口获取新的登录态,就会使用到截图人的登录态,在微信开发工具内onLoad是正常执行的,整块的逻辑都是没问题
      2023-12-18
      回复
    • H1HAO 🇨🇳
      H1HAO 🇨🇳
      2023-12-18回复果汁
      那你为啥不写一个方法,onLoad执行一遍,然后截图后你在调用这个方法,为啥一定要写在onLoad里,然后onLoad不执行能确保是语法没错误吗,一步一步打印一下,看下是不是哪个地方中断执行了
      2023-12-18
      回复
    • 果汁
      果汁
      2023-12-18回复H1HAO 🇨🇳
      截图后的回调不是截完图才调用嘛?此时页面应该是已经形成可打开的,这个时候刷新登录态应该是没用的了。如果报错了的话,应该webview页面都打不开,但是其他功能都是正常的,开发者工具跑起来也是正常的,主要是调试起来麻烦,通过截图进入的都是正式版,只能够审核通过后灰度上线来测试,而且webview也会挡住调试vconsole的显示,难搞
      2023-12-18
      回复
  • 一笑皆春
    一笑皆春
    2023-12-18

    onLoad本来就执行一次,如果之前打开过了,再点分享打开不执行的,可以试试wx.getLaunchOptionsSync()能不能获取到参数

    2023-12-18
    有用
    回复 7
    • 果汁
      果汁
      2023-12-18
      不是的,我删掉小程序,再从别人发给我的小程序截图,通过截图进入的时候,我发现页面里onLoad的逻辑不执行,如果执行的话,就可以重置掉webview链接上携带的登录态了。还有就是截图进入的只能是正式版,所以调试起来很麻烦,只能用灰度上线的形式来调试
      2023-12-18
      回复
    • 一笑皆春
      一笑皆春
      2023-12-18回复果汁
      也可能哪一行代码报错了,导致没重置掉,开发者工具也能测试的,缓存全清,模拟分享就行
      2023-12-18
      回复
    • 果汁
      果汁
      2023-12-18回复一笑皆春
      已经模拟过这样的情况了,在开发者工具是正常的,才会灰度上线去调试,和预期的不一致,所以就很疑惑
      2023-12-18
      回复
    • 一笑皆春
      一笑皆春
      2023-12-18回复果汁
      其实就是分享,你加个页面分享测测就行,打开分享链接之前清一下缓存
      2023-12-18
      回复
    • 果汁
      果汁
      2023-12-18
      还是不行的,只要是从那张小程序截图进入,我的登录态就一直不会变😟
      2023-12-18
      回复
    查看更多(2)
登录 后发表内容