admin
2022-01-07 8dfe5354073b700af45d5cb472dd5f003e6f3f25
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
128
package com.ysvideo.zhibo.library_ec;
 
import android.app.Activity;
import android.app.Application;
import android.util.Log;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
 
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 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 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) {
 
        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);
                }
            };
        }
        AlibcTrade.openByUrl(activity, url, showParams, taokeParams, trackParams, callback);
    }
 
 
    public static void openAuthLink(Activity activity, String authUrl) {
        AlibcShowParams showParams = new AlibcShowParams();
        showParams.setOpenType(OpenType.Auto);
        showParams.setNewWindow(false);
        //设置返回小把手
        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);
            }
        };
 
        AlibcTrade.openByUrl(activity, authUrl, showParams,
                null,
                null, new AlibcTradeCallback() {
                    @Override
                    public void onSuccess(int i) {
 
                    }
 
                    @Override
                    public void onFailure(int i, final String s) {
                        Log.i(TAG, "失败回调:" + s);
                    }
                });
    }
 
    interface AlibcTradeInitListener {
        public void onSuccess();
 
        public void onFailure(int code, String msg);
    }
 
 
}