Open Sunnysit opened 4 years ago
同样的问题,请问现在解决了吗?
同样的问题,请问现在解决了吗?
没有一个很好的解决办法。现在我用的方法是分别 import 两个版本的 react-native-wechat 包。一个包registerApp用于支付,另外一个registerApp用于授权登录。ios可以这么做,但Android不行因为他不能在加载两个不同版本的wechat sdk的native包。
实测, .../node_modules/react-native-wechat-lib/index.js,
function wrapRegisterApp(nativeFunc) {
if (!nativeFunc) {
return undefined;
}
return (...args) => {
// if (isAppRegistered) {
// return Promise.resolve(true);
// }
isAppRegistered = true;
return new Promise((resolve, reject) => {
nativeFunc.apply(null, [
...args,
(error, result) => {
if (!error) {
return resolve(result);
}
if (typeof error === 'string') {
return reject(new Error(error));
}
reject(error);
},
]);
});
};
}
注释掉检查是否已经注册的检查,可以实现多次注册
你好,我们的项目有一个需求是这样的,微信授权登录使用一个App ID,所以我在登录组件内调用了 WeChat.registerApp(APP_ID_A)。但微信支付业务上我们需要使用的是另外一个App ID B, 所以我在支付组件再次调用 WeChat.registerApp(APP_ID_B)。发现似乎第二个注册无效,当跳转到微信时显示商家AppID参数不对。 我猜想是因为第一次就算我在组件内调用也已经全局注册了,想请问是否有办法实现局部注册?