关于小程序打开app传参问题

小程序打开app分两种情况:

app直接打开微信小程序之后的返回app

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName;
launchMiniProgramReq.path =path;
launchMiniProgramReq.miniProgramType = miniProgramType;
[WXApi sendReq:launchMiniProgramReq];
复制代码

这种情况下,在微信小程序点击打开app的时候走的函数是:

- (void)onResp:(BaseResp *)resp{
    if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]]) {
        NSString *errMsg = [NSString stringWithFormat:@"errorcode:%@",((WXLaunchMiniProgramResp*)resp).extMsg];
        NSLog(@"errcode:%@",errMsg);
    }
}
复制代码

app分享到微信聊天,然后在聊天里面打开小程序,再跳转回app

WXMiniProgramObject *object = [WXMiniProgramObject object];
object.webpageUrl = url
object.userName = username;
object.hdImageData = data
object.path = path

WXMediaMessage *message = [WXMediaMessage message];
message.title = title;
message.description = descriptionStr;
message.thumbData = nil;
message.mediaObject = object;

SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.bText = NO;
req.message = message;
req.scene = WXSceneSession;  //目前只支持会话
[WXApi sendReq:req];
复制代码

这种情况下打开app传参走的是

- (void)onReq:(BaseReq *)req{
    NSLog(@"req is %@",req);
    if ([req isKindOfClass:[LaunchFromWXReq class]]) {
        LaunchFromWXReq *wxReq = (LaunchFromWXReq*)req;
        WXMediaMessage *message =  wxReq.message;
        NSString *messageExt = message.messageExt;
        NSLog(@"ext message is %@",messageExt);
    }
}
复制代码

通常我们走的是第二种方式,这里很坑,微信文档也没有写详细。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值