From 140a80318c1957d1ae684bfcd121be6623f6f579 Mon Sep 17 00:00:00 2001 From: Damoness Date: Sat, 26 Feb 2022 09:14:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A8=A1=E5=9D=97=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../damoness/rn/umeng/AnalyticsModule.java | 2 +- .../damoness/rn/umeng/ConfigureModule.java | 50 +++++++++++++++++++ .../damoness/rn/umeng/DplusReactPackage.java | 4 +- .../com/damoness/rn/umeng/RNUMConfigure.java | 33 ------------ .../com/damoness/rn/umeng/ShareModule.java | 2 +- .../MainApplication.java | 22 ++++---- example/src/App.tsx | 49 ++++++++++-------- ios/UM/DMNAnalyticsModule.h | 13 +++++ ...AnalyticsModule.m => DMNAnalyticsModule.m} | 8 +-- ios/UM/{RNUMConfigure.h => DMNConfigure.h} | 7 ++- ios/UM/{RNUMConfigure.m => DMNConfigure.m} | 9 ++-- ios/UM/{UMPushModule.h => DMNPushModule.h} | 5 +- ios/UM/{UMPushModule.m => DMNPushModule.m} | 7 ++- ios/UM/{UMShareModule.h => DMNShareModule.h} | 5 +- ios/UM/{UMShareModule.m => DMNShareModule.m} | 7 ++- ios/UM/UMAnalyticsModule.h | 13 ----- src/AnalyticsUtil.ts | 2 +- src/Configure.ts | 12 +++-- src/PushUtil.ts | 2 +- src/ShareUtil.ts | 16 +++--- src/index.tsx | 4 +- 21 files changed, 146 insertions(+), 126 deletions(-) create mode 100644 android/src/main/java/com/damoness/rn/umeng/ConfigureModule.java delete mode 100644 android/src/main/java/com/damoness/rn/umeng/RNUMConfigure.java create mode 100644 ios/UM/DMNAnalyticsModule.h rename ios/UM/{UMAnalyticsModule.m => DMNAnalyticsModule.m} (96%) rename ios/UM/{RNUMConfigure.h => DMNConfigure.h} (55%) rename ios/UM/{RNUMConfigure.m => DMNConfigure.m} (90%) rename ios/UM/{UMPushModule.h => DMNPushModule.h} (58%) rename ios/UM/{UMPushModule.m => DMNPushModule.m} (97%) rename ios/UM/{UMShareModule.h => DMNShareModule.h} (57%) rename ios/UM/{UMShareModule.m => DMNShareModule.m} (98%) delete mode 100644 ios/UM/UMAnalyticsModule.h diff --git a/android/src/main/java/com/damoness/rn/umeng/AnalyticsModule.java b/android/src/main/java/com/damoness/rn/umeng/AnalyticsModule.java index 2a79e52..d7605af 100644 --- a/android/src/main/java/com/damoness/rn/umeng/AnalyticsModule.java +++ b/android/src/main/java/com/damoness/rn/umeng/AnalyticsModule.java @@ -38,7 +38,7 @@ public AnalyticsModule(ReactApplicationContext reactContext) { @Override public String getName() { - return "UMAnalyticsModule"; + return "DMNAnalyticsModule"; } /********************************U-App统计*********************************/ diff --git a/android/src/main/java/com/damoness/rn/umeng/ConfigureModule.java b/android/src/main/java/com/damoness/rn/umeng/ConfigureModule.java new file mode 100644 index 0000000..15f45b2 --- /dev/null +++ b/android/src/main/java/com/damoness/rn/umeng/ConfigureModule.java @@ -0,0 +1,50 @@ +package com.damoness.rn.umeng; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; + +import com.facebook.react.bridge.ReactMethod; +import com.umeng.commonsdk.UMConfigure; +import com.umeng.socialize.PlatformConfig; + +public class ConfigureModule extends ReactContextBaseJavaModule { + + + private ReactApplicationContext context; + public ConfigureModule(ReactApplicationContext reactContext) { + super(reactContext); + context = reactContext; + } + + @Override + public String getName() { + return "DMNConfigure"; + } + + + @ReactMethod + public void initApp(String appKey,String channel){ + //初始化 + UMConfigure.init(this.getReactApplicationContext(),appKey,channel,UMConfigure.DEVICE_TYPE_PHONE,""); + } + + + @ReactMethod + public void setWeChat(String appKey,String appSecret){ + // 微信设置 + PlatformConfig.setWeixin(appKey,appSecret); + PlatformConfig.setWXFileProvider("com.tencent.sample2.fileprovider"); + + } + + + @ReactMethod + public void setWeChatWork(String appKey,String corpId,String agentId){ + // 企业微信设置 + PlatformConfig.setWXWork(corpId,"",agentId,appKey); + PlatformConfig.setWXWorkFileProvider("com.tencent.sample2.fileprovider"); + } + + + + +} diff --git a/android/src/main/java/com/damoness/rn/umeng/DplusReactPackage.java b/android/src/main/java/com/damoness/rn/umeng/DplusReactPackage.java index 900f72e..685f6e1 100644 --- a/android/src/main/java/com/damoness/rn/umeng/DplusReactPackage.java +++ b/android/src/main/java/com/damoness/rn/umeng/DplusReactPackage.java @@ -31,8 +31,8 @@ public List createNativeModules( ReactApplicationContext reactContext) { List modules = new ArrayList<>(); modules.add(new ShareModule(reactContext)); - //modules.add(new PushModule(reactContext)); + modules.add(new ConfigureModule(reactContext)); modules.add(new AnalyticsModule(reactContext)); return modules; } -} \ No newline at end of file +} diff --git a/android/src/main/java/com/damoness/rn/umeng/RNUMConfigure.java b/android/src/main/java/com/damoness/rn/umeng/RNUMConfigure.java deleted file mode 100644 index f4864c8..0000000 --- a/android/src/main/java/com/damoness/rn/umeng/RNUMConfigure.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.damoness.rn.umeng; - -import android.annotation.TargetApi; -import android.content.Context; -import android.os.Build.VERSION_CODES; - -import com.umeng.commonsdk.UMConfigure; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -/** - * Created by Damoness on 19/08/31. - */ - -public class RNUMConfigure { - public static void init(Context context, String appkey, String channel, int type, String secret){ - initRN("react-native","2.0"); - UMConfigure.init(context,appkey,channel,type,secret); - } - @TargetApi(VERSION_CODES.KITKAT) - private static void initRN(String v, String t){ - Method method = null; - try { - Class config = Class.forName("com.umeng.commonsdk.UMConfigure"); - method = config.getDeclaredMethod("setWraperType", String.class, String.class); - method.setAccessible(true); - method.invoke(null, v,t); - } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException | ClassNotFoundException e) { - e.printStackTrace(); - } - } -} diff --git a/android/src/main/java/com/damoness/rn/umeng/ShareModule.java b/android/src/main/java/com/damoness/rn/umeng/ShareModule.java index 66696e2..e17a0c9 100644 --- a/android/src/main/java/com/damoness/rn/umeng/ShareModule.java +++ b/android/src/main/java/com/damoness/rn/umeng/ShareModule.java @@ -45,7 +45,7 @@ public static void initSocialSDK(Activity activity){ } @Override public String getName() { - return "UMShareModule"; + return "DMNShareModule"; } private static void runOnMainThread(Runnable runnable) { mSDKHandler.postDelayed(runnable, 0); diff --git a/example/android/app/src/main/java/com/example/damonessreactnativeumeng/MainApplication.java b/example/android/app/src/main/java/com/example/damonessreactnativeumeng/MainApplication.java index b173965..fc9f206 100644 --- a/example/android/app/src/main/java/com/example/damonessreactnativeumeng/MainApplication.java +++ b/example/android/app/src/main/java/com/example/damonessreactnativeumeng/MainApplication.java @@ -11,8 +11,6 @@ import java.lang.reflect.InvocationTargetException; import java.util.List; import com.damoness.rn.umeng.DplusReactPackage; -import com.umeng.commonsdk.UMConfigure; -import com.umeng.socialize.PlatformConfig; public class MainApplication extends Application implements ReactApplication { @@ -50,16 +48,16 @@ public void onCreate() { SoLoader.init(this, /* native exopackage */ false); initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); // Remove this line if you don't want Flipper enabled - UMConfigure.init(this,"5a12384aa40fa3551f0001d1" - ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0 - - // 微信设置 - PlatformConfig.setWeixin("wx027de62cf741667e","2be841b3bac5e82323bbf49e2901853a"); - PlatformConfig.setWXFileProvider("com.tencent.sample2.fileprovider"); - - // 企业微信设置 - PlatformConfig.setWXWork("ww5a3c9b5d4dbd50d3","","1000005","wwauth5a3c9b5d4dbd50d3000005"); - PlatformConfig.setWXWorkFileProvider("com.tencent.sample2.fileprovider"); +// UMConfigure.init(this,"5a12384aa40fa3551f0001d1" +// ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0 +// +// // 微信设置 +// PlatformConfig.setWeixin("wx027de62cf741667e","2be841b3bac5e82323bbf49e2901853a"); +// PlatformConfig.setWXFileProvider("com.tencent.sample2.fileprovider"); +// +// // 企业微信设置 +// PlatformConfig.setWXWork("ww5a3c9b5d4dbd50d3","","1000005","wwauth5a3c9b5d4dbd50d3000005"); +// PlatformConfig.setWXWorkFileProvider("com.tencent.sample2.fileprovider"); } diff --git a/example/src/App.tsx b/example/src/App.tsx index 63a7292..bdaaab4 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -6,25 +6,24 @@ import { Button, Alert, SafeAreaView, - Platform as Platform1, } from 'react-native'; -import { ShareUtil, Configure, Platform } from '@damoness/react-native-umeng'; +import { + ShareUtil, + Configure, + SharePlatform, +} from '@damoness/react-native-umeng'; import appJSON from '../app.json'; let { umeng, wechatWork, wechat } = appJSON; -// let wechat = appJSON['wechat-BieXiaBuyCar']; - -if (Platform1.OS === 'ios') { - Configure.initApp(umeng.appKey, 'RN'); - Configure.setWeChat(wechat.appKey, wechat.appSecret, wechat.universalLink); - Configure.setWeChatWork( - wechatWork.appKey, - wechatWork.corpId, - wechatWork.agentId - ); -} +Configure.initApp(umeng.appKey, 'RN'); +Configure.setWeChat(wechat.appKey, wechat.appSecret, wechat.universalLink); +Configure.setWeChatWork( + wechatWork.appKey, + wechatWork.corpId, + wechatWork.agentId +); export default function App() { return ( @@ -34,7 +33,7 @@ export default function App() { title={'微信登录'} onPress={async () => { try { - let re = await ShareUtil.auth(Platform.Wechat); + let re = await ShareUtil.auth(SharePlatform.Wechat); console.log(re); Alert.alert(JSON.stringify(re)); } catch (error) { @@ -46,7 +45,7 @@ export default function App() { title={'企业微信登录'} onPress={async () => { try { - let re = await ShareUtil.auth(Platform.WechatWork); + let re = await ShareUtil.auth(SharePlatform.WechatWork); console.log(re); Alert.alert(JSON.stringify(re)); } catch (error) { @@ -58,7 +57,7 @@ export default function App() { title={'微信登录 报错'} onPress={async () => { try { - await ShareUtil.auth(Platform.Wechat + 2); + await ShareUtil.auth(SharePlatform.Wechat + 2); } catch (error) { console.log('error', error); Alert.alert(JSON.stringify(error)); @@ -73,7 +72,11 @@ export default function App() { 'http://t1.qichangv.com/images/logo/favition.png', 'https://hot.cnbeta.com/articles/game/1097481.htm', '标题', - [Platform.Wechat, Platform.Wechat_TimeLine, Platform.WechatWork] + [ + SharePlatform.Wechat, + SharePlatform.Wechat_TimeLine, + SharePlatform.WechatWork, + ] ); }} title="分享面板 - 分享" @@ -86,7 +89,11 @@ export default function App() { 'http://t1.qichangv.com/images/logo/favition.png', '', '标题', - [Platform.Wechat, Platform.Wechat_TimeLine, Platform.WechatWork] + [ + SharePlatform.Wechat, + SharePlatform.Wechat_TimeLine, + SharePlatform.WechatWork, + ] ); }} title="分享面板 - 分享图片" @@ -96,7 +103,7 @@ export default function App() { onPress={() => { ShareUtil.shareImageUrl( 'https://static.cnbetacdn.com/article/2021/0807/ac0ec0fe399be7d.jpg', - Platform.Wechat + SharePlatform.Wechat ); }} title="分享图片" @@ -105,7 +112,7 @@ export default function App() {