admin
2021-10-21 7e2ac66d7c532a5725635fa3913789bb17c1e157
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.yeshi.base.utils;
 
import android.app.Activity;
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.android.arouter.launcher.ARouter;
import com.alibaba.baichuan.android.trade.AlibcTrade;
import com.alibaba.baichuan.android.trade.callback.AlibcTradeCallback;
import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
import com.alibaba.baichuan.android.trade.model.OpenType;
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 com.yeshi.base.utils.downutil.ApkUtil;
 
import java.util.HashMap;
 
/**
 * 百川交易工具
 */
public class AlibcTradeUtil {
    private final static String TAG = "AlibcTradeUtil";
 
    /**
     * 用阿里百川打开链接
     *
     * @param activity
     * @param url
     * @param webView
     * @param webViewClient
     * @param webChromeClient
     * @param showParams
     * @param taokeParams
     * @param callback
     */
    public static void openByUrl(Activity activity, String url, WebView webView, WebViewClient webViewClient, WebChromeClient webChromeClient, AlibcShowParams showParams, AlibcTaokeParams taokeParams, AlibcTradeCallback callback) {
        if (showParams == null) {
            showParams = new AlibcShowParams();
        }
 
        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<String, String>(), 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) {
 
        }
        //如果未安装手机淘宝
        if (!ApkUtil.checkAPP(context, "com.taobao.taobao")) {
            Toast.makeText(context, "请安装手机淘宝", Toast.LENGTH_SHORT).show();
            ARouter.getInstance().build(RouteConstant.PATH_WEB_BROWSER).withString("url", url).navigation();
        }
    }
 
 
    public static void openAuthLink(Activity activity, String authUrl) {
        AlibcShowParams showParams = new AlibcShowParams();
        showParams.setOpenType(OpenType.Auto);
        showParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpDOWNLOAD);
        //设置返回小把手
        showParams.setBackUrl("alisdk://");
        Log.i(TAG, "openAuthLink-start");
 
        WebViewClient client = new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                Log.i(TAG, "shouldOverrideUrlLoading");
                return super.shouldOverrideUrlLoading(view, request);
            }
 
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Log.i(TAG, url);
                return super.shouldOverrideUrlLoading(view, url);
            }
        };
 
//        WebView webView=new WebView(activity);
 
        AlibcTrade.openByUrl(activity, "", authUrl, null,
                client, null, showParams,
                null, null, new AlibcTradeCallback() {
                    @Override
                    public void onTradeSuccess(AlibcTradeResult alibcTradeResult) {
                        Log.i(TAG, alibcTradeResult.toString());
                    }
 
                    @Override
                    public void onFailure(int i, final String s) {
                        Log.i(TAG, "失败回调:" + s);
                    }
                });
    }
 
 
}