Skip to content

项目使用的是expo搭建的,能集成吗 #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
TongCong opened this issue Sep 6, 2022 · 15 comments
Open

项目使用的是expo搭建的,能集成吗 #62

TongCong opened this issue Sep 6, 2022 · 15 comments

Comments

@TongCong
Copy link

TongCong commented Sep 6, 2022

No description provided.

@jaywcjlove
Copy link
Member

不知道没有使用过 expo

@chinamcafee
Copy link

集成expo-dev-client后就可以,Expo Go模式的不可以

@patrickxunuo
Copy link

集成expo-dev-client后就可以,Expo Go模式的不可以

你好,请问expo prebuild之后需要分别在android和ios的文件下改configuration吗,因为这个项目里没说是否需要改config,我不改又不work,所以想问问,谢谢。

@chinamcafee
Copy link

集成expo-dev-client后就可以,Expo Go模式的不可以

你好,请问expo prebuild之后需要分别在android和ios的文件下改configuration吗,因为这个项目里没说是否需要改config,我不改又不work,所以想问问,谢谢。

我也挺久没用了,有点忘记,不过印象中没有对android和ios的原生工程文件做过修改,而且我没用过expo prebuild,我是把Android设备和电脑连接后,使用npx expo run:android,就可以在Android环境调用支付宝的沙箱APP进行支付测试,IOS因为没有沙箱环境,无法试验。

@patrickxunuo
Copy link

集成expo-dev-client后就可以,Expo Go模式的不可以

你好,请问expo prebuild之后需要分别在android和ios的文件下改configuration吗,因为这个项目里没说是否需要改config,我不改又不work,所以想问问,谢谢。

我也挺久没用了,有点忘记,不过印象中没有对android和ios的原生工程文件做过修改,而且我没用过expo prebuild,我是把Android设备和电脑连接后,使用npx expo run:android,就可以在Android环境调用支付宝的沙箱APP进行支付测试,IOS因为没有沙箱环境,无法试验。

好的,那我先试试按照你说的看看行不行,谢谢啦。

@liucaptainapp
Copy link

请问expo可以了嘛

@chinamcafee
Copy link

请问expo可以了嘛

使用expo prebuild或者npx expo run:android / npx expo run:ios 进入原生开发模式编译后就可以,用Expo Go App扫码的沙盒模式不可以,Expo Go用不了跟作者无关,除非Expo官方把作者这个包集成到Expo Go里才行,什么时候Expo的官方文档里专门有一列介绍本项目的时候,那就能用了

@dribble-njr
Copy link

请问expo可以了嘛

使用expo prebuild或者npx expo run:android / npx expo run:ios 进入原生开发模式编译后就可以,用Expo Go App扫码的沙盒模式不可以,Expo Go用不了跟作者无关,除非Expo官方把作者这个包集成到Expo Go里才行,什么时候Expo的官方文档里专门有一列介绍本项目的时候,那就能用了

我npx expo run:android 后,还是不行诶,alipay:error-->>> [TypeError: Cannot read property 'alipay' of null]

@dribble-njr
Copy link

请问expo可以了嘛

使用expo prebuild或者npx expo run:android / npx expo run:ios 进入原生开发模式编译后就可以,用Expo Go App扫码的沙盒模式不可以,Expo Go用不了跟作者无关,除非Expo官方把作者这个包集成到Expo Go里才行,什么时候Expo的官方文档里专门有一列介绍本项目的时候,那就能用了

我npx expo run:android 后,还是不行诶,alipay:error-->>> [TypeError: Cannot read property 'alipay' of null]

可以了,必须先 expo prebuild 然后再 npx expo run:android

@chinamcafee
Copy link

请问expo可以了嘛

使用expo prebuild或者npx expo run:android / npx expo run:ios 进入原生开发模式编译后就可以,用Expo Go App扫码的沙盒模式不可以,Expo Go用不了跟作者无关,除非Expo官方把作者这个包集成到Expo Go里才行,什么时候Expo的官方文档里专门有一列介绍本项目的时候,那就能用了

我npx expo run:android 后,还是不行诶,alipay:error-->>> [TypeError: Cannot read property 'alipay' of null]

可以了,必须先 expo prebuild 然后再 npx expo run:android

是的,这样做是对的

@dribble-njr
Copy link

不过为什么首次请求打开支付宝的弹窗会打开两次呢 @chinamcafee 你那里是这个情况么

@chinamcafee
Copy link

不过为什么首次请求打开支付宝的弹窗会打开两次呢 @chinamcafee 你那里是这个情况么

你用的是支付宝的沙盒模式吗?我只用过沙盒模式没有这个情况,但是也是在老版RN上尝试过了,最新版的是否有这样的问题我不确定。

@dribble-njr
Copy link

不过为什么首次请求打开支付宝的弹窗会打开两次呢 @chinamcafee 你那里是这个情况么

你用的是支付宝的沙盒模式吗?我只用过沙盒模式没有这个情况,但是也是在老版RN上尝试过了,最新版的是否有这样的问题我不确定。

沙盒模式和非沙盒模式都试过,用这个 example 跑也会出现两次,expo 项目也会

@dribble-njr
Copy link

iOS 回弹 app 会返回到一个 safepay 路由,这个是不是需要自己加一个路由处理?

@dribble-njr
Copy link

解决办法:修改 ios/app/AppDelegate.mm 文件,拦截 safepay 路由。

// Linking API
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  // 检查是否是支付宝回调
  if ([url.host isEqualToString:@"safepay"]) {
    // 让 react-native-alipay 处理支付结果
    // 但不传递给路由系统
    
    // 发送通知到 JS 层,告知支付已完成
    // 可以用自定义事件或其他机制
    
    return YES; // 表示已处理,不要继续传递
  }
  
  return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options];
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants