diff --git a/android/src/libs/JDSDK_h.jar b/android/src/libs/JDSDK_h.jar old mode 100755 new mode 100644 index dfeabc5..96b39ea Binary files a/android/src/libs/JDSDK_h.jar and b/android/src/libs/JDSDK_h.jar differ diff --git a/android/src/libs/arm64-v8a/libCPS.so b/android/src/libs/arm64-v8a/libCPS.so old mode 100755 new mode 100644 diff --git a/android/src/libs/armeabi-v7a/libCPS.so b/android/src/libs/armeabi-v7a/libCPS.so old mode 100755 new mode 100644 diff --git a/android/src/libs/armeabi/libCPS.so b/android/src/libs/armeabi/libCPS.so old mode 100755 new mode 100644 diff --git a/android/src/libs/cps_1.0.0.jar b/android/src/libs/cps_1.0.0.jar old mode 100755 new mode 100644 diff --git a/android/src/libs/x86/libCPS.so b/android/src/libs/x86/libCPS.so old mode 100755 new mode 100644 diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 85e354b..5115a46 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,3 +1,16 @@ + package="com.jd.jdsdk"> + + + + + + + + + + diff --git a/android/src/main/java/com/jd/jdsdk/JDHelper.java b/android/src/main/java/com/jd/jdsdk/JDHelper.java index cc07ffc..82ba403 100644 --- a/android/src/main/java/com/jd/jdsdk/JDHelper.java +++ b/android/src/main/java/com/jd/jdsdk/JDHelper.java @@ -1,14 +1,15 @@ package com.jd.jdsdk; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.os.Handler; +import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; -import com.jd.kepler.res.ApkResources; import com.kepler.jd.Listener.AsyncInitListener; import com.kepler.jd.Listener.OpenAppAction; import com.kepler.jd.login.KeplerApiManager; @@ -27,17 +28,18 @@ import io.flutter.plugin.common.PluginRegistry; public class JDHelper { private static JDHelper jdHelper; -// private PluginRegistry.Registrar register; + // private PluginRegistry.Registrar register; // private ActivityPluginBinding binding; private WeakReference mActivity; KelperTask mKelperTask; + private Activity activity; Handler mHandler = new Handler(); KeplerAttachParameter mKeplerAttachParameter = new KeplerAttachParameter();//这个是即时性参数 可以设置 LoadingDialog dialog; - private Activity getActivity(){ + private Activity getActivity() { return this.mActivity.get(); // if(null != register){ // return register.activity(); @@ -56,30 +58,40 @@ public class JDHelper { OpenAppAction mOpenAppAction = new OpenAppAction() { @Override - public void onStatus(final int status, final String url) { - mHandler.post(new Runnable() { - @Override - public void run() { - if (status == OpenAppAction.OpenAppAction_start) {//开始状态未必一定执行, - dialogShow(); - }else { - mKelperTask = null; - dialogDiss(); - } - if(status == OpenAppAction.OpenAppAction_result_NoJDAPP) { - // Toast.makeText(getActivity(), "您未安装京东app,你可以手动打开以下链接地址:"+url+" ,code="+status, Toast.LENGTH_SHORT).show(); - }else if(status == OpenAppAction.OpenAppAction_result_BlackUrl){ - // Toast.makeText(getActivity(), "url不在白名单,你可以手动打开以下链接地址:"+url+" ,code="+status, Toast.LENGTH_SHORT).show(); - }else if(status == OpenAppAction.OpenAppAction_result_ErrorScheme){ - // Toast.makeText(getActivity(), "呼起协议异常"+" ,code="+status, Toast.LENGTH_SHORT).show(); - }else if(status == OpenAppAction.OpenAppAction_result_APP){ - - }else if(status == OpenAppAction.OpenAppAction_result_NetError){ - // Toast.makeText(getActivity(), ApkResources.getSingleton().getString("kepler_check_net")+" ,code="+status+" ,url="+url,Toast.LENGTH_SHORT).show(); - } - } - }); + public void onStatus(int status) { + if (status == OpenAppAction.OpenAppAction_start) {//开始状态未必一定执行, +// dialogShow(); + } else { + mKelperTask = null; +// dialogDiss(); + } } + +// @Override +// public void onStatus(final int status, final String url) { +// mHandler.post(new Runnable() { +// @Override +// public void run() { +// if (status == OpenAppAction.OpenAppAction_start) {//开始状态未必一定执行, +// dialogShow(); +// }else { +// mKelperTask = null; +// dialogDiss(); +// } +// if(status == OpenAppAction.OpenAppAction_result_NoJDAPP) { +// // Toast.makeText(getActivity(), "您未安装京东app,你可以手动打开以下链接地址:"+url+" ,code="+status, Toast.LENGTH_SHORT).show(); +// }else if(status == OpenAppAction.OpenAppAction_result_BlackUrl){ +// // Toast.makeText(getActivity(), "url不在白名单,你可以手动打开以下链接地址:"+url+" ,code="+status, Toast.LENGTH_SHORT).show(); +// }else if(status == OpenAppAction.OpenAppAction_result_ErrorScheme){ +// // Toast.makeText(getActivity(), "呼起协议异常"+" ,code="+status, Toast.LENGTH_SHORT).show(); +// }else if(status == OpenAppAction.OpenAppAction_result_APP){ +// +// }else if(status == OpenAppAction.OpenAppAction_result_NetError){ +// // Toast.makeText(getActivity(), ApkResources.getSingleton().getString("kepler_check_net")+" ,code="+status+" ,url="+url,Toast.LENGTH_SHORT).show(); +// } +// } +// }); +// } }; private void dialogShow() { @@ -100,7 +112,7 @@ public class JDHelper { } private void dialogDiss() { - if(dialog!=null) + if (dialog != null) dialog.dismiss(); } @@ -119,12 +131,13 @@ public class JDHelper { // } //第一次调用getInstance register不能为空 - public static JDHelper getInstance(ActivityPluginBinding binding){ - if (jdHelper == null){ - synchronized (JDHelper.class){ + public static JDHelper getInstance(ActivityPluginBinding binding) { + if (jdHelper == null) { + synchronized (JDHelper.class) { jdHelper = new JDHelper(); - if(null != binding){ + if (null != binding) { jdHelper.setActivity(binding.getActivity()); + jdHelper.activity = binding.getActivity(); } } } else { @@ -134,20 +147,26 @@ public class JDHelper { } - - /** * 初始化开普勒 + * * @param call * @param result */ - public void initKepler(MethodCall call, MethodChannel.Result result){ + public void initKepler(MethodCall call, MethodChannel.Result result) { String appKey = call.argument("appKey"); String appSecret = call.argument("appSecret"); - Log.d("flutter-taoke","initKepler"+getActivity()); - KeplerApiManager.asyncInitSdk(getActivity().getApplication(), appKey, appSecret, new AsyncInitListener() { + Log.d("flutter-taoke", "initKepler" + getActivity()); + Log.d("flutter-taoke", "initKepler:" + appKey + " " + appSecret); + @SuppressLint("HardwareIds") String id = Settings.Secure.getString( + activity.getContentResolver(), + Settings.Secure.ANDROID_ID + ); + Log.d("flutter-taoke", "initKeplerId:" + id); + KeplerApiManager.asyncInitSdk(getActivity().getApplication(), appKey, appSecret, id, new AsyncInitListener() { @Override public void onSuccess() { + Log.d("京东初始化", "成功"); result.success(PluginResponse.success(null).toMap()); } @@ -155,26 +174,45 @@ public class JDHelper { public void onFailure() { String errorCode = "-1"; String errorMsg = "初始化失败"; + Log.d("京东初始化", "失败"); result.success(new PluginResponse(errorCode, errorMsg, null).toMap()); } }); +// KeplerApiManager.asyncInitSdk(getActivity().getApplication(), appKey, appSecret, new AsyncInitListener() { +// @Override +// public void onSuccess() { +// result.success(PluginResponse.success(null).toMap()); +// } +// +// @Override +// public void onFailure() { +// String errorCode = "-1"; +// String errorMsg = "初始化失败"; +// result.success(new PluginResponse(errorCode, errorMsg, null).toMap()); +// } +// }); } /** * 通过URL方式打开 + * * @param call * @param result */ - public void openUrl(MethodCall call, MethodChannel.Result result){ + public void openUrl(MethodCall call, MethodChannel.Result result) { String url = call.argument("url"); - if(TextUtils.isEmpty(url)){ + if (TextUtils.isEmpty(url)) { return; } - mKelperTask = KeplerApiManager.getWebViewService().openAppWebViewPage(getActivity(), - url, - mKeplerAttachParameter, - mOpenAppAction); + try { + mKelperTask = KeplerApiManager.getWebViewService().openJDUrlPage(url, + mKeplerAttachParameter, + activity, + mOpenAppAction, 1500); + } catch (JSONException e) { + e.printStackTrace(); + } } } diff --git a/example/.dart_tool/package_config.json b/example/.dart_tool/package_config.json index fb634fc..15a1544 100644 --- a/example/.dart_tool/package_config.json +++ b/example/.dart_tool/package_config.json @@ -3,61 +3,61 @@ "packages": [ { "name": "async", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "boolean_selector", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "characters", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "charcode", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "clock", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "collection", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "cupertino_icons", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-1.0.5", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "fake_async", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "flutter", - "rootUri": "file:///Users/fnuouser/Documents/code/flutter/packages/flutter", + "rootUri": "file:///Users/fnuo123/flutter/packages/flutter", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "flutter_test", - "rootUri": "file:///Users/fnuouser/Documents/code/flutter/packages/flutter_test", + "rootUri": "file:///Users/fnuo123/flutter/packages/flutter_test", "packageUri": "lib/", "languageVersion": "2.12" }, @@ -69,79 +69,79 @@ }, { "name": "matcher", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "material_color_utilities", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3", "packageUri": "lib/", "languageVersion": "2.13" }, { "name": "meta", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "sky_engine", - "rootUri": "file:///Users/fnuouser/Documents/code/flutter/bin/cache/pkg/sky_engine", + "rootUri": "file:///Users/fnuo123/flutter/bin/cache/pkg/sky_engine", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "source_span", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "stack_trace", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "stream_channel", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "string_scanner", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "term_glyph", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "test_api", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "typed_data", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "vector_math", - "rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1", + "rootUri": "file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1", "packageUri": "lib/", "languageVersion": "2.14" }, @@ -149,10 +149,10 @@ "name": "jdsdk_example", "rootUri": "../", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" } ], - "generated": "2022-03-23T10:13:46.040839Z", + "generated": "2022-11-09T02:46:32.202871Z", "generator": "pub", "generatorVersion": "2.16.1" } diff --git a/example/.dart_tool/package_config_subset b/example/.dart_tool/package_config_subset index 787a937..004df45 100644 --- a/example/.dart_tool/package_config_subset +++ b/example/.dart_tool/package_config_subset @@ -1,101 +1,101 @@ +jdsdk +2.12 +file:///Users/fnuo123/Documents/fnuo_project_two/flutter_jdsdk/ +file:///Users/fnuo123/Documents/fnuo_project_two/flutter_jdsdk/lib/ async 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2/lib/ boolean_selector 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib/ characters 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0/lib/ charcode 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/lib/ clock 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/lib/ collection 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib/ cupertino_icons -2.0 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/lib/ +2.12 +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-1.0.5/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-1.0.5/lib/ fake_async 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/lib/ matcher 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11/lib/ material_color_utilities 2.13 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3/lib/ meta 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/lib/ path 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/lib/ source_span 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib/ stack_trace 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/lib/ stream_channel 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/lib/ string_scanner 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/lib/ term_glyph 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/lib/ test_api 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8/lib/ typed_data 2.12 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib/ vector_math 2.14 -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/ -file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/lib/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/ +file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/lib/ sky_engine 2.12 -file:///Users/fnuouser/Documents/code/flutter/bin/cache/pkg/sky_engine/ -file:///Users/fnuouser/Documents/code/flutter/bin/cache/pkg/sky_engine/lib/ +file:///Users/fnuo123/flutter/bin/cache/pkg/sky_engine/ +file:///Users/fnuo123/flutter/bin/cache/pkg/sky_engine/lib/ flutter 2.12 -file:///Users/fnuouser/Documents/code/flutter/packages/flutter/ -file:///Users/fnuouser/Documents/code/flutter/packages/flutter/lib/ +file:///Users/fnuo123/flutter/packages/flutter/ +file:///Users/fnuo123/flutter/packages/flutter/lib/ flutter_test 2.12 -file:///Users/fnuouser/Documents/code/flutter/packages/flutter_test/ -file:///Users/fnuouser/Documents/code/flutter/packages/flutter_test/lib/ -jdsdk -2.12 -file:///Users/fnuouser/Documents/code/zhiying/flutter_jdsdk/ -file:///Users/fnuouser/Documents/code/zhiying/flutter_jdsdk/lib/ +file:///Users/fnuo123/flutter/packages/flutter_test/ +file:///Users/fnuo123/flutter/packages/flutter_test/lib/ jdsdk_example -2.1 -file:///Users/fnuouser/Documents/code/zhiying/flutter_jdsdk/example/ -file:///Users/fnuouser/Documents/code/zhiying/flutter_jdsdk/example/lib/ +2.12 +file:///Users/fnuo123/Documents/fnuo_project_two/flutter_jdsdk/example/ +file:///Users/fnuo123/Documents/fnuo_project_two/flutter_jdsdk/example/lib/ 2 diff --git a/example/.flutter-plugins b/example/.flutter-plugins index 572e31e..3c5511a 100644 --- a/example/.flutter-plugins +++ b/example/.flutter-plugins @@ -1,2 +1,2 @@ # This is a generated file; do not edit or check into version control. -jdsdk=/Users/fnuouser/Documents/code/zhiying/flutter_jdsdk/ +jdsdk=/Users/fnuo123/Documents/fnuo_project_two/flutter_jdsdk/ diff --git a/example/.flutter-plugins-dependencies b/example/.flutter-plugins-dependencies index 7a21a95..e69d7ec 100644 --- a/example/.flutter-plugins-dependencies +++ b/example/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"jdsdk","path":"/Users/fnuouser/Documents/code/zhiying/flutter_jdsdk/","dependencies":[]}],"android":[{"name":"jdsdk","path":"/Users/fnuouser/Documents/code/zhiying/flutter_jdsdk/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"jdsdk","dependencies":[]}],"date_created":"2022-03-23 18:13:46.127157","version":"2.10.3"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"jdsdk","path":"/Users/fnuo123/Documents/fnuo_project_two/flutter_jdsdk/","dependencies":[]}],"android":[{"name":"jdsdk","path":"/Users/fnuo123/Documents/fnuo_project_two/flutter_jdsdk/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"jdsdk","dependencies":[]}],"date_created":"2022-11-09 10:46:32.385260","version":"2.10.3"} \ No newline at end of file diff --git a/example/.packages b/example/.packages index cc7fc62..eb9b07a 100644 --- a/example/.packages +++ b/example/.packages @@ -3,29 +3,29 @@ # # For more info see: https://dart.dev/go/dot-packages-deprecation # -# Generated by pub on 2022-03-23 18:13:46.031638. -async:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2/lib/ -boolean_selector:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib/ -characters:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0/lib/ -charcode:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/lib/ -clock:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/lib/ -collection:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib/ -cupertino_icons:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/lib/ -fake_async:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/lib/ -flutter:file:///Users/fnuouser/Documents/code/flutter/packages/flutter/lib/ -flutter_test:file:///Users/fnuouser/Documents/code/flutter/packages/flutter_test/lib/ +# Generated by pub on 2022-11-09 10:46:32.184234. +async:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.8.2/lib/ +boolean_selector:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib/ +characters:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.2.0/lib/ +charcode:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.3.1/lib/ +clock:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0/lib/ +collection:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib/ +cupertino_icons:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-1.0.5/lib/ +fake_async:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/lib/ +flutter:file:///Users/fnuo123/flutter/packages/flutter/lib/ +flutter_test:file:///Users/fnuo123/flutter/packages/flutter_test/lib/ jdsdk:../lib/ -matcher:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11/lib/ -material_color_utilities:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3/lib/ -meta:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/lib/ -path:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/lib/ -sky_engine:file:///Users/fnuouser/Documents/code/flutter/bin/cache/pkg/sky_engine/lib/ -source_span:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib/ -stack_trace:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/lib/ -stream_channel:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/lib/ -string_scanner:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/lib/ -term_glyph:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/lib/ -test_api:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8/lib/ -typed_data:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib/ -vector_math:file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/lib/ +matcher:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.11/lib/ +material_color_utilities:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.1.3/lib/ +meta:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.7.0/lib/ +path:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/lib/ +sky_engine:file:///Users/fnuo123/flutter/bin/cache/pkg/sky_engine/lib/ +source_span:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib/ +stack_trace:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/lib/ +stream_channel:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/lib/ +string_scanner:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/lib/ +term_glyph:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/lib/ +test_api:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.4.8/lib/ +typed_data:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib/ +vector_math:file:///Users/fnuo123/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/lib/ jdsdk_example:lib/ diff --git a/example/android/.idea/modules/android.iml b/example/android/.idea/modules/android.iml new file mode 100644 index 0000000..5b2d407 --- /dev/null +++ b/example/android/.idea/modules/android.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/example/android/local.properties b/example/android/local.properties index 72c745d..ded4bb1 100644 --- a/example/android/local.properties +++ b/example/android/local.properties @@ -1,2 +1,2 @@ -sdk.dir=/Users/fnuouser/Library/Android/sdk -flutter.sdk=/Users/fnuouser/Documents/code/flutter \ No newline at end of file +sdk.dir=/Users/fnuo123/Library/Android/sdk +flutter.sdk=/Users/fnuo123/flutter \ No newline at end of file diff --git a/example/pubspec.lock b/example/pubspec.lock index 49feae2..baea4bf 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -49,7 +49,7 @@ packages: name: cupertino_icons url: "https://pub.flutter-io.cn" source: hosted - version: "0.1.3" + version: "1.0.5" fake_async: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 3fca0a3..da11da8 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -3,7 +3,7 @@ description: Demonstrates how to use the jdsdk plugin. publish_to: 'none' environment: - sdk: ">=2.1.0 <3.0.0" + sdk: ">=2.12.0 <3.0.0" dependencies: flutter: @@ -11,7 +11,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^0.1.2 + cupertino_icons: ^1.0.4 dev_dependencies: flutter_test: diff --git a/ios/Classes/Handler/FlutterKeplerHandler.m b/ios/Classes/Handler/FlutterKeplerHandler.m index d765674..4d2aac1 100644 --- a/ios/Classes/Handler/FlutterKeplerHandler.m +++ b/ios/Classes/Handler/FlutterKeplerHandler.m @@ -9,11 +9,11 @@ NSString *appSecret = call.arguments[@"appSecret"]; NSLog (@"appKey is :%@", appKey); NSLog (@"appSecret is :%@", appSecret); - [[KeplerApiManager sharedKPService]asyncInitSdk:appKey secretKey:appSecret sucessCallback:^(){ + [[KeplerApiManager sharedKPService] asyncInitSdk:appKey secretKey:appSecret sucessCallback:^(){ NSLog (@"success"); result(@"{status:1}"); }failedCallback:^(NSError *error){ - NSLog (@"fail"); + NSLog (@"fail%@",error); result(@"{status:0}"); }]; } @@ -24,10 +24,12 @@ NSInteger jumpType = [[NSNumber numberWithInt:1] integerValue]; // NSDictionary *userInfo = [FlutterKeplerTools nullToNil:call.arguments[@"userInfo"]]; UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; - + NSLog(@"JDUrl%@",url); - if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:[NSString stringWithFormat:@"openapp.jdmobile://"]]]) {//判断是否安装京东app - [ [KeplerApiManager sharedKPService]openKeplerPageWithURL:url userInfo:nil successCallback:^{ + if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:[NSString stringWithFormat:@"openapp.jdmobile://"]]]) { + //判断是否安装京东app + // 判断是否安装京东app + [[KeplerApiManager sharedKPService] openKeplerPageWithURL:url userInfo:@{@"mopenbp5" : @""} successCallback:^{ NSLog (@"success"); result(@"{status:1}"); } failedCallback:^(NSInteger code, NSString * _Nonnull url) { diff --git a/ios/Framework/JDSDK.framework/Headers/JDKeplerSDK.h b/ios/Framework/JDSDK.framework/Headers/JDKeplerSDK.h old mode 100755 new mode 100644 index a42aa65..1a93a02 --- a/ios/Framework/JDSDK.framework/Headers/JDKeplerSDK.h +++ b/ios/Framework/JDSDK.framework/Headers/JDKeplerSDK.h @@ -15,6 +15,6 @@ FOUNDATION_EXPORT double JDKeplerSDKVersionNumber; FOUNDATION_EXPORT const unsigned char JDKeplerSDKVersionString[]; // In this header, you should import all the public headers of your framework using statements like #import -#import - +#import //打包SDK用这个 +//#import //依赖demo工程用这个 diff --git a/ios/Framework/JDSDK.framework/Headers/KeplerApiManager.h b/ios/Framework/JDSDK.framework/Headers/KeplerApiManager.h old mode 100755 new mode 100644 index 89824a9..c6c17f1 --- a/ios/Framework/JDSDK.framework/Headers/KeplerApiManager.h +++ b/ios/Framework/JDSDK.framework/Headers/KeplerApiManager.h @@ -4,11 +4,13 @@ // 提供Kepler服务 // Created by JD.K on 16/6/20. // Copyright © 2016年 JD.K. All rights reserved. -// version 3.0.1 +// version 3.0.3 #import #import +NS_ASSUME_NONNULL_BEGIN + /** 初始化成功回调 */ typedef void (^initSuccessCallback)(); /** 初始化失败回调 */ @@ -28,9 +30,25 @@ typedef enum { KeplerErrorCodeWhited, //本地url不在白名单中 KeplerErrorCodeResponsed, //本地呼起open协议失败 KeplerErrorCodeNoSid, //sid为空 - KeplerErrorCodeInValidApp //应用不合法 + KeplerErrorCodeInValidApp, //应用不合法 + KeplerErrorCodeUnInstalledJXAPP, //未安装京喜app + KeplerErrorCodeOpenJXFailed //无法打开京喜商品,返回h5链接 + } KeplerErrorCode; +typedef enum { + KeplerJXErrorCodeSucceed = 0, //正常呼起 + KeplerJXErrorCodeReturnUrl = 1, //兜底url + KeplerJXErrorCodeNoSkuUrl = 2, //非sku链接 + KeplerJXErrorCodeAnalysisFailed = 3, //逆解析失败 + KeplerJXErrorCodeNoParameter = -1, //参数为空 + KeplerJXErrorCodeUnusual = -99, //异常 +} KeplerJXErrorCode; + + +FOUNDATION_EXTERN const NSString *kJDKeplerReturnUrl_appName; +FOUNDATION_EXTERN const NSString *kJDKeplerReturnUrl_appSchema; +FOUNDATION_EXTERN const NSString *kJDKeplerReturnUrl_appBundle; @interface KeplerApiManager : NSObject @@ -98,7 +116,7 @@ typedef enum { /** 跳转京东app - @param url 调用方传入的URl参数 + @param url 调用方传入的URL参数 @param userInfo 调用sdk时传入的kepler自定义参数 @param failedCallback code 表示错误编码, url 引起调用失败的url */ @@ -107,5 +125,20 @@ typedef enum { successCallback:(OpenSuccessBlock _Nullable)success failedCallback:(OpenFailedBlock _Nonnull)failure; + +/** + 根据url跳转京喜App,根据接口返回结果兼容京东App商品跳转 + @param url 商品链接 + @param userInfo 自定义参数 + @param successBlock 呼起App成功的回调 + @param failureBlock 呼起失败回调。打开原生App失败会以code+url方式返回,可用webview打开url + @discussion 返回键信息通过userInfo参数传入,需通过外部变量kJDKeplerReturnUrl_appName,kJDKeplerReturnUrl_appSchema,kJDKeplerReturnUrl_appBundle设置key值,对应value分别为接入应用的应用名,schema,Bundle Identifier。 + */ +- (void)openJXPageWithUrl:(NSString *)url + userInfo:(NSDictionary *)userInfo + success:(OpenSuccessBlock)successBlock + failure:(OpenFailedBlock)failureBlock; + @end +NS_ASSUME_NONNULL_END diff --git a/ios/Framework/JDSDK.framework/Info.plist b/ios/Framework/JDSDK.framework/Info.plist old mode 100755 new mode 100644 index b90090a..50339fe Binary files a/ios/Framework/JDSDK.framework/Info.plist and b/ios/Framework/JDSDK.framework/Info.plist differ diff --git a/ios/Framework/JDSDK.framework/JDSDK b/ios/Framework/JDSDK.framework/JDSDK old mode 100755 new mode 100644 index 7dffc92..ed29b24 Binary files a/ios/Framework/JDSDK.framework/JDSDK and b/ios/Framework/JDSDK.framework/JDSDK differ diff --git a/ios/Framework/JDSDK.framework/Modules/module.modulemap b/ios/Framework/JDSDK.framework/Modules/module.modulemap old mode 100755 new mode 100644 diff --git a/ios/jdsdk.podspec b/ios/jdsdk.podspec index e6750ed..1e920d3 100644 --- a/ios/jdsdk.podspec +++ b/ios/jdsdk.podspec @@ -18,7 +18,7 @@ A new Flutter plugin. s.dependency 'Flutter' # 京东导入 - s.vendored_frameworks = 'Framework/*.framework' + s.vendored_frameworks = 'Framework/JDSDK.framework' # s.resource = '' s.platform = :ios, '8.0'