Open wuweijian1997 opened 5 years ago
希望能合并到主项目中
@ wuweijian1997你这个覆盖了支付调不起来啊
你是小程序能分享,支付掉不起来?
试了下,分享mini
类型无反应,小米8,androidx
@wuweijian1997 多谢你的分享,已经把该 issue 置顶了,不合并到 master 的原因主要是后来 PR 的作者应该都没有更新了,希望哪位有毅力的作者可以把某个 PR 做下去 :)
试了下,分享
mini
类型无反应,小米8,androidx
1.先确认微信登录,分享好友能不能用,如果不能用说明是微信这边就没配好。 2.小程序的id有没有错,不是appid,是原始id,看上面的图。 3.无反应肯定有错误码的,测试环境可以console,真机上面拿到错误信息放到Text里,拿到错误码到issue里面搜错误码,大致能解决你的问题。 4.没用过Androidx,不太了解是否有区别。
@wuweijian1997
我解决了,我把puti94/react-native-wechat
项目clone下来,然后将node_modules/react-native-wechat
完全删掉,复制刚刚clone的整个文件夹到node_modules
,然后运行npm run android
重装一遍
@puti94作者并没有将两个bug合入进去,希望有大侠进行PR,现整理如下:
node_modules/react-native-wechat/android/
下面查找new ResizeOptions(100, 100)
替换为new ResizeOptions(500, 400)
node_modules/react-native-wechat/android/src/main/java/com/theweflex/react/WeChatModule.java:329
替换为下列代码:#c5a628e70df38e886aec45f6cac6806313eef1cd
protected void onNewResultImpl(Bitmap bitmap) {
if (bitmap != null) {
if (bitmap.getConfig() != null) {
bitmap = bitmap.copy(bitmap.getConfig(), true);
imageCallback.invoke(bitmap);
} else {
bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
imageCallback.invoke(bitmap);
}
}
}
node_modules/react-native-wechat/ios/RCTWeChat.m:400
替换为下列代码:#797b22a436b7377fa5d6eabdcc0ab5299f0dadd3
if (self.appId && r) {
[body addEntriesFromDictionary:@{@"appid":self.appId, @"code":r.code}];
[self.bridge.eventDispatcher sendDeviceEventWithName:RCTWXEventName body:body];
}
我将 @puti94 的分享小程序功能代码加入了本库的最新版本(2019/08/16)。链接如下: 🔗:https://github.com/Koppel-Zhou/react-native-wechat
以下部分与本库不同 android/src/main/java/com/theweflex/react/WeChatModule.java中
BaseBitmapDataSubscriber dataSubscriber = new BaseBitmapDataSubscriber() {
@Override
protected void onNewResultImpl(Bitmap bitmap) {
if (bitmap != null) {
if (bitmap.getConfig() != null) {
bitmap = bitmap.copy(bitmap.getConfig(), true);
imageCallback.invoke(bitmap);
} else {
bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
imageCallback.invoke(bitmap);
}
} else {
throw new Exception("Empty bitmap");
}
}
@Override
protected void onFailureImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
imageCallback.invoke(null);
}
};
改为了
BaseBitmapDataSubscriber dataSubscriber = new BaseBitmapDataSubscriber() {
@Override
protected void onNewResultImpl(Bitmap bitmap) {
try {
if (bitmap != null) {
if (bitmap.getConfig() != null) {
bitmap = bitmap.copy(bitmap.getConfig(), true);
imageCallback.invoke(bitmap);
} else {
bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
imageCallback.invoke(bitmap);
}
} else {
new Exception("Empty bitmap");
}
} catch (Exception error) {
throw error;
}
}
@Override
protected void onFailureImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
imageCallback.invoke(null);
}
};
因两库不一致处较多,本人在合并代码时根据实际情况亦做了部分修改,经由真机测试各功能正常
小程序唤起app要怎么做? 测试发现app在后台的时候可以调起来,但是不在的时候就不行
太感谢分享了 love u
Android分享小程序卡片正常,IOS分享小程序卡片报错 WeChat API invoke returns false,这是为什么?
IOS去除hdImageData这个属性可以正常发送小程序卡片
IOS去除hdImageData这个属性可以正常发送小程序卡片
我也碰到过这个问题,hdImageData文件太大了,好像iOS图片超过200kb就会出现这个问题,Android是没问题的,只要压缩一下图片文件就可以了
@wuweijian1997 报红 RCTWeChat.isWXAppSupportApi got 1 arguments, expected 2 link过,用原作者版本是没问题,替换成 puti94/react-native-wechat之后
@wuweijian1997 报红 RCTWeChat.isWXAppSupportApi got 1 arguments, expected 2 link过,用原作者版本是没问题,替换成 puti94/react-native-wechat之后
没碰到过这个问题,不要覆盖,直接把原来的react-native-wechat删掉,然后复制进去
@puti94作者并没有将两个bug合入进去,希望有大侠进行PR,现整理如下:
替换为支持分享小程序的库 puti94/react-native-wechat
- 在
node_modules/react-native-wechat/android/
下面查找new ResizeOptions(100, 100)
替换为new ResizeOptions(500, 400)
- 在
node_modules/react-native-wechat/android/src/main/java/com/theweflex/react/WeChatModule.java:329
替换为下列代码:#c5a628e70df38e886aec45f6cac6806313eef1cd
protected void onNewResultImpl(Bitmap bitmap) { if (bitmap != null) { if (bitmap.getConfig() != null) { bitmap = bitmap.copy(bitmap.getConfig(), true); imageCallback.invoke(bitmap); } else { bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true); imageCallback.invoke(bitmap); } } }
- 在
node_modules/react-native-wechat/ios/RCTWeChat.m:400
替换为下列代码:#797b22a436b7377fa5d6eabdcc0ab5299f0dadd3
if (self.appId && r) { [body addEntriesFromDictionary:@{@"appid":self.appId, @"code":r.code}]; [self.bridge.eventDispatcher sendDeviceEventWithName:RCTWXEventName body:body]; }
这个clone跟下载都好慢,你要不要自己建个新仓库
你们分享的图片是不是很糊?我这里分享出去的图片特别糊
1.下载 这个库的代码,复制全部文件覆盖掉/node_modules/react-native-wechat目录下的所有文件。 2.拿到小程序的原始ID,不是appid。公众平台-设置-基本设置-原始ID 3.
PS: 感觉RN要凉啊,开发起来难受的一批。