From f19071bd5e0007fc823f99cdfa0196391827da1e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 11 五月 2022 18:46:35 +0800
Subject: [PATCH] 'android项目完善'

---
 src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java |  144 +++++++++++++++++++++++++----------------------
 1 files changed, 76 insertions(+), 68 deletions(-)

diff --git a/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java b/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java
index 2cec914..7a1a319 100644
--- a/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java
+++ b/src/main/resources/code/android/library-ec/src/main/java/com/demo/library_ec/AlibcTradeUtil.java
@@ -1,90 +1,104 @@
 package com.demo.library_ec;
 
 import android.app.Activity;
-import android.app.Application;
 import android.util.Log;
+import android.webkit.WebChromeClient;
 import android.webkit.WebResourceRequest;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
+import android.widget.Toast;
 
-import com.alibaba.alibcprotocol.callback.AlibcTradeCallback;
-import com.alibaba.alibcprotocol.param.AlibcShowParams;
-import com.alibaba.alibcprotocol.param.AlibcTaokeParams;
-import com.alibaba.alibcprotocol.param.OpenType;
-import com.alibaba.baichuan.trade.common.utils.AlibcLogger;
-import com.baichuan.nb_trade.AlibcTrade;
-import com.baichuan.nb_trade.callback.AlibcTradeInitCallback;
-import com.baichuan.nb_trade.core.AlibcTradeSDK;
+import com.alibaba.baichuan.android.trade.AlibcTrade;
+import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
+import com.alibaba.baichuan.android.trade.model.OpenType;
+import com.alibaba.baichuan.trade.biz.AlibcTradeCallback;
+import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
+import com.alibaba.baichuan.trade.biz.context.AlibcTradeResult;
+import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
 
 import java.util.HashMap;
-import java.util.Map;
 
 public class AlibcTradeUtil {
     private final static String TAG = "AlibcTradeUtil";
 
-
     /**
-     * 鍒濆鍖�
-     *
-     * @param application
-     * @param alibcTradeInitListener
-     */
-    public static void init(Application application, AlibcTradeInitListener alibcTradeInitListener) {
-        Map<String, Object> params = new HashMap<>();
-        AlibcTradeSDK.asyncInit(application, params, new AlibcTradeInitCallback() {
-            @Override
-            public void onSuccess() {
-                AlibcLogger.e(TAG, "SDK鍒濆鍖栨垚鍔�");
-                if (alibcTradeInitListener != null) {
-                    alibcTradeInitListener.onSuccess();
-                }
-            }
-
-            @Override
-            public void onFailure(int code, String msg) {
-                AlibcLogger.e(TAG, "SDK鍒濆鍖栧け璐ワ細 code = " + code + ", msg = " + msg);
-                if (alibcTradeInitListener != null) {
-                    alibcTradeInitListener.onFailure(code, msg);
-                }
-            }
-        });
-
-    }
-
-    /**
-     * 鎵撳紑閾炬帴
+     * 鐢ㄩ樋閲岀櫨宸濇墦寮�閾炬帴
      *
      * @param activity
      * @param url
+     * @param webView
+     * @param webViewClient
+     * @param webChromeClient
      * @param showParams
      * @param taokeParams
-     * @param trackParams
      * @param callback
      */
-    public static void openUrl(Activity activity, final String url, AlibcShowParams showParams, AlibcTaokeParams taokeParams,
-                               Map<String, String> trackParams, AlibcTradeCallback callback) {
+    public static void openByUrl(Activity activity, String url, WebView webView, WebViewClient webViewClient, WebChromeClient webChromeClient, AlibcShowParams showParams, AlibcTaokeParams taokeParams, AlibcTradeCallback callback) {
+        openByUrl2(activity, url, webView, webViewClient, webChromeClient, showParams, taokeParams, callback);
+    }
 
-        if (callback == null) {
-            callback = new AlibcTradeCallback() {
-                @Override
-                public void onSuccess(int code) {
-                    AlibcLogger.i(TAG, "open success: code = " + code);
-                }
 
-                @Override
-                public void onFailure(int code, String msg) {
-                    AlibcLogger.e(TAG, "open fail: code = " + code + ", msg = " + msg);
-                }
-            };
+    private static void openByUrl2(Activity activity, String url, WebView webView, WebViewClient webViewClient, WebChromeClient webChromeClient, AlibcShowParams showParams, AlibcTaokeParams taokeParams, AlibcTradeCallback callback) {
+        if (showParams == null) {
+            showParams = new AlibcShowParams();
         }
-        AlibcTrade.openByUrl(activity, url, showParams, taokeParams, trackParams, callback);
+        showParams.setOpenType(OpenType.Native);
+        showParams.setDegradeUrl("https://mos.m.taobao.com/activity_newer?from=pub&pid=mm_124933865_56750082_10647300249");
+//        if (webView == null)
+        showParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpDOWNLOAD);
+        //璁剧疆杩斿洖灏忔妸鎵�
+        showParams.setBackUrl("alisdk://");
+//        taokeParams = null;
+        final Activity context = activity;
+        try {
+            if (callback != null)
+                AlibcTrade.openByUrl(activity, "", url, webView,
+                        webViewClient, webChromeClient, showParams,
+                        taokeParams, null, callback);
+            else
+                AlibcTrade.openByUrl(activity, "", url, webView,
+                        webViewClient, webChromeClient, showParams,
+                        taokeParams, new HashMap<>(), new AlibcTradeCallback() {
+                            @Override
+                            public void onTradeSuccess(AlibcTradeResult alibcTradeResult) {
+                                Log.i("AlibcTradeUtil", alibcTradeResult.toString());
+                            }
+
+                            @Override
+                            public void onFailure(int i, String s) {
+                                Log.i("AlibcTradeUtil", i + ":" + s);
+                                if (i == -1) {
+                                    Toast.makeText(context, s, Toast.LENGTH_LONG).show();
+                                }
+                            }
+                        });
+        } catch (Error e) {
+            e.printStackTrace();
+        }
+        //濡傛灉鏈畨瑁呮墜鏈烘窐瀹�
+//        if (!ApkUtil.checkAPP(context, "com.taobao.taobao")) {
+//            Toast.makeText(context, "璇峰畨瑁呮墜鏈烘窐瀹�", Toast.LENGTH_SHORT).show();
+//        }
     }
 
 
     public static void openAuthLink(Activity activity, String authUrl) {
+
+        if (activity != null) {
+            activity.runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    openAuthLink2(activity, authUrl);
+                }
+            });
+        }
+    }
+
+
+    private static void openAuthLink2(Activity activity, String authUrl) {
         AlibcShowParams showParams = new AlibcShowParams();
         showParams.setOpenType(OpenType.Auto);
-        showParams.setNewWindow(false);
+        showParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpDOWNLOAD);
         //璁剧疆杩斿洖灏忔妸鎵�
         showParams.setBackUrl("alisdk://");
         Log.i(TAG, "openAuthLink-start");
@@ -103,12 +117,13 @@
             }
         };
 
-        AlibcTrade.openByUrl(activity, authUrl, showParams,
-                null,
-                null, new AlibcTradeCallback() {
-                    @Override
-                    public void onSuccess(int i) {
 
+        AlibcTrade.openByUrl(activity, "", authUrl, null,
+                client, null, showParams,
+                null, null, new AlibcTradeCallback() {
+                    @Override
+                    public void onTradeSuccess(AlibcTradeResult alibcTradeResult) {
+                        Log.i(TAG, alibcTradeResult.toString());
                     }
 
                     @Override
@@ -117,12 +132,5 @@
                     }
                 });
     }
-
-    interface AlibcTradeInitListener {
-        public void onSuccess();
-
-        public void onFailure(int code, String msg);
-    }
-
 
 }

--
Gitblit v1.8.0