package com.tejia.lijin.app.util;
|
|
import android.app.Activity;
|
import android.app.Dialog;
|
import android.content.Context;
|
import android.content.Intent;
|
import android.net.Uri;
|
import android.util.Log;
|
import android.view.View;
|
import android.webkit.WebChromeClient;
|
import android.webkit.WebViewClient;
|
|
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
|
import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
|
import com.alibaba.baichuan.android.trade.model.OpenType;
|
import com.alibaba.baichuan.trade.biz.AlibcConstants;
|
import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
|
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
|
import com.kepler.jd.Listener.OpenAppAction;
|
import com.kepler.jd.login.KeplerApiManager;
|
import com.kepler.jd.sdk.bean.KeplerAttachParameter;
|
import com.tejia.lijin.app.entity.TbPidInfo;
|
import com.tejia.lijin.app.entity.common.GoodsConvertLinkJumpLink;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.util.baichuan.AlibcTradeUtil;
|
import com.tejia.lijin.app.util.downutil.StringUtils;
|
import com.tejia.lijin.app.util.goods.GoodsBuyUtil;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 去购买的跳转链接
|
*/
|
public class GoodsBuyJumpUtil {
|
|
|
public static void jumpTB(Activity activity, TbPidInfo tInfo, String clickUrl, String couponUrl, final GoodsBuyUtil.IBuyGoodsResultListener buyGoodsResultListener) {
|
AlibcShowParams alibcShowParams = new AlibcShowParams();
|
alibcShowParams.setOpenType(OpenType.Auto);
|
alibcShowParams.setBackUrl("alisdk://");
|
alibcShowParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpBROWER);
|
AlibcTaokeParams alibcTaokeParams = new AlibcTaokeParams("", "", "");
|
if (tInfo != null) {
|
alibcTaokeParams = new AlibcTaokeParams("", "", "");
|
alibcTaokeParams.setPid(tInfo.getPid());
|
alibcTaokeParams.setAdzoneid(tInfo.getAdZoneId());
|
alibcTaokeParams.pid = tInfo.getPid();
|
alibcTaokeParams.adzoneid = tInfo.getAdZoneId();
|
alibcTaokeParams.extraParams = new HashMap<>();
|
alibcTaokeParams.extraParams.put("taokeAppkey", tInfo.getAppKey());
|
}
|
Map<String, String> exParams = new HashMap<>();
|
exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
|
exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
|
if (!com.wpc.library.util.common.StringUtils.isEmpty(clickUrl) || !com.wpc.library.util.common.StringUtils.isEmpty(couponUrl)) {
|
String url = (!com.wpc.library.util.common.StringUtils.isEmpty(couponUrl)) ? couponUrl : clickUrl;
|
AlibcTradeSDK.setTaokeParams(alibcTaokeParams);
|
buyGoodsResultListener.onJumpThirdAppStart();
|
AlibcTradeUtil.openByUrl(activity,
|
url, null, new WebViewClient(), new WebChromeClient(),
|
alibcShowParams, alibcTaokeParams, null);
|
}
|
}
|
|
|
public static void jumpPDD(Context context, GoodsConvertLinkJumpLink link) {
|
if (context == null)
|
return;
|
if (link == null)
|
return;
|
|
//先检查是否安装了pddAPP
|
if (ApkUtil.checkAPP(context, "com.xunmeng.pinduoduo") && !StringUtils.isNullOrEmpty(link.getNativeJumpLink())) {
|
String goodsUrl = link.getNativeJumpLink();
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(goodsUrl));
|
context.startActivity(intent);
|
return;
|
}
|
//然后检查是否安装了微信
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
return;
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
context.startActivity(intent);
|
}
|
}
|
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
context.startActivity(intent);
|
}
|
|
|
public static void jumpJD(final View view, final Dialog dialog, GoodsConvertLinkJumpLink link) {
|
if (view == null)
|
return;
|
if (link == null)
|
return;
|
|
Context context = view.getContext();
|
|
OpenAppAction mOpenAppAction = new OpenAppAction() {
|
@Override
|
public void onStatus(final int status, final String url) {
|
view.post(new Runnable() {
|
@Override
|
public void run() {
|
if (status == OpenAppAction.OpenAppAction_result_APP) {
|
//呼京东成功
|
Log.e("mResult", "呼京东成功");
|
dialog.dismiss();
|
} else if (status == OpenAppAction.OpenAppAction_start) {
|
//开始状态未必一定执行,
|
Log.e("mResult", "开始呼起京东");
|
} else {
|
//唤起京东失败
|
Log.e("mResult", "唤起京东失败" + status);
|
Intent intent = new Intent(view.getContext(), ShareBrowserActivity.class);
|
intent.putExtra("url", url);
|
intent.putExtra("interceptGoodsDetail", false);
|
view.getContext().startActivity(intent);
|
dialog.dismiss();
|
}
|
}
|
});
|
}
|
};
|
|
|
try {
|
|
if (link.is_native() && !StringUtils.isNullOrEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(context, "com.jingdong.app.mall")) {
|
KeplerApiManager.getWebViewService().openAppWebViewPage(context, link.getNativeJumpLink(), new KeplerAttachParameter(), mOpenAppAction);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
return;
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
}
|
|
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
} finally {
|
if (dialog != null && dialog.isShowing())
|
dialog.dismiss();
|
}
|
|
}
|
|
|
public static void jumpJD(final Activity activity, GoodsConvertLinkJumpLink link, final IJumpResult jumpResult) {
|
if (link == null)
|
return;
|
|
if (activity == null) {
|
return;
|
}
|
|
OpenAppAction mOpenAppAction = new OpenAppAction() {
|
@Override
|
public void onStatus(final int status, final String url) {
|
if (activity != null)
|
activity.runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (status == OpenAppAction.OpenAppAction_result_APP) {
|
//呼京东成功
|
Log.e("mResult", "呼京东成功");
|
jumpResult.onSuccess();
|
} else if (status == OpenAppAction.OpenAppAction_start) {
|
//开始状态未必一定执行,
|
Log.e("mResult", "开始呼起京东");
|
} else {
|
//唤起京东失败
|
Log.e("mResult", "唤起京东失败" + status);
|
Intent intent = new Intent(activity, ShareBrowserActivity.class);
|
intent.putExtra("url", url);
|
intent.putExtra("interceptGoodsDetail", false);
|
activity.startActivity(intent);
|
jumpResult.onFail("唤起京东失败");
|
}
|
}
|
});
|
}
|
};
|
|
|
try {
|
|
if (link.is_native() && !StringUtils.isNullOrEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(activity, "com.jingdong.app.mall")) {
|
KeplerApiManager.getWebViewService().openAppWebViewPage(activity, link.getNativeJumpLink(), new KeplerAttachParameter(), mOpenAppAction);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(activity, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
return;
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(activity, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
activity.startActivity(intent);
|
}
|
}
|
|
|
Intent intent = new Intent(activity, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
activity.startActivity(intent);
|
} finally {
|
jumpResult.onSuccess();
|
}
|
|
}
|
|
|
public static void jumpVIPShop(Context context, GoodsConvertLinkJumpLink link) {
|
if (context == null)
|
return;
|
if (link == null)
|
return;
|
|
|
if (link.is_native() && !com.wpc.library.util.common.StringUtils.isEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(context, "com.achievo.vipshop")) {
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link.getNativeJumpLink()));
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
context.startActivity(intent);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
return;
|
}
|
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
|
|
public static void jumpSuning(Context context, GoodsConvertLinkJumpLink link) {
|
if (context == null)
|
return;
|
if (link == null)
|
return;
|
|
|
if (link.is_native() && !com.wpc.library.util.common.StringUtils.isEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(context, "com.suning.mobile.ebuy")) {
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link.getNativeJumpLink()));
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
context.startActivity(intent);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
return;
|
}
|
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
|
|
public static interface IJumpResult {
|
public void onSuccess();
|
|
public void onFail(String msg);
|
|
}
|
|
}
|