收藏
回答

如何区别是从聊天素材打开的小程序?

supportedMaterials 属性配置后,在应用onshow生命周期里能获取到素材相关参数。

情况一:从素材里用微信小程序打开,在onshow里获取到素材相关参数和场景值。

情况二:操作情况一后,我从小程序切换到别的界面比如切换到支付宝,再切回小程序,此时也触发小程序的onshow,获取到一样的素材相关参数和场景值。


如何区别是从聊天素材打开的小程序(区别情况一和情况二),而不是非聊天素材打开的小程序

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

2 个回答

  • CRMEB
    CRMEB
    2023-09-04

    在情况一和情况二中,您可以在 onShow 事件中获取到当前小程序的场景值(即 options.scene)。以下是一些常见的场景值和对应的含义:

    1011:从扫描二维码进入小程序

    1014:从手机相册选择文件后打开小程序

    1047:从聊天顶部小程序入口(右上角 "+")打开小程序

    1089:从微信聊天主界面长按小程序图标进入小程序

    1090:从聊天顶部搜索框搜索并打开小程序

    对于情况一,当从聊天素材里用微信小程序打开时,options.scene 的值可能是 1047 或其他聊天相关的场景值。您可以通过判断 options.scene 是否为聊天相关的场景值,来确定是从聊天素材打开的小程序。

    而对于情况二,当您从支付宝或其他界面切换回小程序时,虽然也会触发 onShow 事件,但 options.scene 的值可能是之前打开小程序时的场景值,并不代表当前的真实场景。因此,在情况二中,您无法通过 options.scene 来区分。

    2023-09-04
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2023-09-04

    场景值应该不一样吧

    2023-09-04
    有用
    回复 1
    • 董路飞
      董路飞
      2023-09-04
      uni-app写的,体验版调试里看到是一样的1173
      2023-09-04
      回复
登录 后发表内容