package com.tejia.lijin.app.util;
|
|
import android.app.Activity;
|
import android.app.ActivityManager;
|
import android.content.Context;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.util.Log;
|
import android.webkit.WebChromeClient;
|
import android.webkit.WebViewClient;
|
|
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.android.trade.page.AlibcDetailPage;
|
import com.alibaba.baichuan.trade.biz.AlibcConstants;
|
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
|
import com.alibaba.fastjson.JSONObject;
|
import com.kepler.jd.Listener.OpenAppAction;
|
import com.kepler.jd.login.KeplerApiManager;
|
import com.kepler.jd.sdk.bean.KeplerAttachParameter;
|
import com.wpc.library.util.common.StringUtils;
|
import com.tejia.lijin.app.BuXinConstant;
|
import com.tejia.lijin.app.callBack.MiDuoTradeCallback;
|
import com.tejia.lijin.app.entity.JumpDetail;
|
import com.tejia.lijin.app.entity.eventbus.HomeTabChangeEvent;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.ui.main.MainActivity;
|
import com.tejia.lijin.app.util.baichuan.AlibcTradeUtil;
|
import com.tejia.lijin.app.util.user.LoginAndInviteStatusUtil;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
|
import org.json.JSONException;
|
|
import java.util.HashMap;
|
import java.util.Iterator;
|
import java.util.Map;
|
|
import de.greenrobot.event.EventBus;
|
|
import static android.content.Context.MODE_PRIVATE;
|
// _ooOoo_
|
// o8888888o
|
// 88" . "88
|
// (| ^_^ |)
|
// O\ = /O
|
// ____/`---'\____
|
// .' \\| |// `.
|
// / \\||| : |||// \
|
// / _||||| -:- |||||- \
|
// | | \\\ - /// | |
|
// | \_| ''\---/'' | |
|
// \ .-\__ `-` ___/-. /
|
// ___`. .' /--.--\ `. . ___
|
// ."" '< `.___\_<|>_/___.' >'"".
|
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
|
// \ \ `-. \_ __\ /__ _/ .-` / /
|
// ========`-.____`-.___\_____/___.-`____.-'========
|
// `=---='
|
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
// 佛祖保佑 永无BUG 永不修改
|
//
|
// 十年生死两茫茫 ,写程序,到天亮。
|
// 千行代码 ,Bug何处藏 ?
|
// 纵使上线又怎样 ,朝令改 ,夕断肠。
|
//
|
// 领导每天新想法 ,日日改 ,夜夜忙。
|
// 相顾无言 ,唯有泪千行。
|
// 每晚灯火阑珊处 ,夜难寐 ,加班狂。
|
// ************************************************************************************************
|
|
public class JumpActivityUtil {
|
|
public static void jumpActivity(Context mContext,
|
JumpDetail jumpDetail, JSONObject params) {
|
Intent intent = null;
|
org.json.JSONObject object = null;
|
try {
|
intent = new Intent(mContext, Class.forName(JumpActivityUtil.filterActivityName(jumpDetail.getActivity())));
|
if (params != null)
|
object = new org.json.JSONObject(params);
|
} catch (ClassNotFoundException e) {
|
e.printStackTrace();
|
}
|
if (object != null) {
|
@SuppressWarnings("unchecked")
|
Iterator<String> its = object.keys();
|
while (its.hasNext()) {
|
String key = its.next();
|
String value = object.optString(key);
|
intent.putExtra(key, value);
|
}
|
}
|
mContext.startActivity(intent);
|
}
|
|
public static void jumpBaiChuan(Activity mActivity, String tbClientInfo, String url, String auctionId, AlibcShowParams alibcShowParams) {
|
AlibcTaokeParams alibcTaokeParams = null;
|
Map<String, String> exParams = new HashMap<>();
|
exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
|
exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
|
|
if (!StringUtils.isEmpty(tbClientInfo)) {
|
alibcTaokeParams = new AlibcTaokeParams("", "", "");
|
alibcTaokeParams.setPid(BuXinConstant.BAICHUAN_PID);
|
org.json.JSONObject object = null;
|
try {
|
object = new org.json.JSONObject(tbClientInfo);
|
} catch (JSONException e) {
|
|
}
|
String pid = object.optString("pid");
|
String appKey = object.optString("appKey");
|
String adZoneId = object.optString("adZoneId");
|
alibcTaokeParams.setPid(pid);
|
alibcTaokeParams.setAdzoneid(adZoneId);
|
alibcTaokeParams.pid = pid;
|
alibcTaokeParams.adzoneid = adZoneId;
|
alibcTaokeParams.extraParams = new HashMap<>();
|
alibcTaokeParams.extraParams.put("taokeAppkey", appKey);
|
} else {
|
alibcTaokeParams = new AlibcTaokeParams("", "", "");
|
alibcTaokeParams.setPid(BuXinConstant.BAICHUAN_PID);
|
alibcTaokeParams.setAdzoneid(BuXinConstant.BAICHUAN_ADZONE_ID);
|
alibcTaokeParams.pid = BuXinConstant.BAICHUAN_PID;
|
alibcTaokeParams.adzoneid = BuXinConstant.BAICHUAN_ADZONE_ID;
|
alibcTaokeParams.extraParams = new HashMap<>();
|
alibcTaokeParams.extraParams.put("taokeAppkey", BuXinConstant.TAO_BAO_KE_KEY);
|
}
|
|
if (!StringUtils.isEmpty(url)) {
|
// AlibcPage basePage = new AlibcPage(url);
|
// AlibcTrade.show(mActivity, basePage, alibcShowParams, alibcTaokeParams, exParams, new MiDuoTradeCallback(""));
|
// AlibcTrade.openByUrl(mActivity, "webDetail",
|
// url, null, new WebViewClient(), new WebChromeClient(),
|
// alibcShowParams, alibcTaokeParams, null, new MiDuoTradeCallback(""));
|
//
|
AlibcTradeUtil.openByUrl(mActivity,
|
url, null, new WebViewClient(), new WebChromeClient(),
|
alibcShowParams, alibcTaokeParams, null);
|
|
} else {
|
AlibcDetailPage basePage = new AlibcDetailPage(auctionId);
|
// AlibcTrade.show(mActivity, basePage, alibcShowParams, alibcTaokeParams, exParams, new MiDuoTradeCallback(""));
|
AlibcTrade.openByBizCode(mActivity, basePage, null,
|
new WebViewClient(), new WebChromeClient(), "nativeDetail", alibcShowParams,
|
alibcTaokeParams, null, new MiDuoTradeCallback(""));
|
}
|
}
|
|
/**
|
* 跳转
|
*
|
* @param context
|
* @param detail
|
* @param params
|
*/
|
public static void jumpPage(final Activity context, JumpDetail detail, JSONObject params) {
|
if (context == null)
|
return;
|
if (detail == null)
|
return;
|
//判断是否需要登录
|
if (detail.isNeedLogin()) {
|
SharedPreferences sp = context.getSharedPreferences("user", MODE_PRIVATE);
|
if (!sp.getBoolean("isLogin", false)) {
|
UserUtil.jumpLogin(context);
|
return;
|
} else {
|
//判断是否有登录未激活的情况
|
if (!LoginAndInviteStatusUtil.acessNext(context, UserUtil.getUid(context) , true)) {
|
return;
|
}
|
}
|
}
|
|
String type = detail.getType();
|
switch (type) {
|
case "wxxcx":
|
if (params == null)
|
return;
|
String userName = params.getString("userName");
|
String path = params.getString("path");
|
WXUtil.jumpWXXCX(context, userName, path);
|
break;
|
|
case "baichuan":
|
if (params == null)
|
return;
|
String url = params.getString("url");
|
if (StringUtils.isEmpty(url))
|
return;
|
//跳转百川
|
AlibcShowParams alibcShowParams = new AlibcShowParams();
|
alibcShowParams.setOpenType(OpenType.Auto);
|
JumpActivityUtil.jumpBaiChuan(context, null, url, "", alibcShowParams);
|
break;
|
|
case "tbauth"://淘宝授权
|
if (params == null)
|
return;
|
String authLink = params.getString("url");
|
if (StringUtils.isEmpty(authLink))
|
return;
|
AlibcTradeUtil.openAuthLink(context, authLink);
|
break;
|
case "jd":
|
if (params == null)
|
return;
|
String jdUrl = params.getString("url");
|
if (StringUtils.isEmpty(jdUrl))
|
return;
|
|
KeplerApiManager.getWebViewService().openAppWebViewPage(context, jdUrl, new KeplerAttachParameter(), new OpenAppAction() {
|
@Override
|
public void onStatus(final int status, final String url) {
|
context.runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (status == OpenAppAction.OpenAppAction_result_APP) {
|
//呼京东成功
|
Log.e("mResult", "呼京东成功");
|
} else if (status == OpenAppAction.OpenAppAction_start) {
|
//开始状态未必一定执行,
|
Log.e("mResult", "开始呼起京东");
|
} else {
|
//唤起京东失败
|
Log.e("mResult", "唤起京东失败" + status);
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", url);
|
context.startActivity(intent);
|
}
|
}
|
});
|
}
|
});
|
break;
|
case "home":
|
//跳转首页
|
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
|
String activityName = am.getRunningTasks(1).get(0).topActivity.getClassName();
|
if (activityName.equalsIgnoreCase(MainActivity.class.getName())) {//当前activity
|
Integer tab = null;
|
Integer subTab = null;
|
try {
|
tab = params.getInteger("tab");
|
} catch (Exception e) {
|
}
|
try {
|
subTab = params.getInteger("subTab");
|
} catch (Exception e) {
|
}
|
EventBus.getDefault().post(new HomeTabChangeEvent(tab, subTab));
|
}
|
break;
|
|
case "kefu"://跳转美洽客服
|
String from = null;
|
if (params != null)
|
from = params.getString("from");
|
if (from == null)
|
from = "";
|
KeFuUtil.jumpKeFu(context, from);
|
break;
|
default: {
|
try {
|
Intent intent = new Intent(context, Class.forName(JumpActivityUtil.filterActivityName(detail.getActivity())));
|
if (params != null)
|
for (Iterator<String> keys = params.keySet().iterator(); keys.hasNext(); ) {
|
String key = keys.next();
|
intent.putExtra(key, params.getString(key));
|
}
|
context.startActivity(intent);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
break;
|
}
|
|
|
}
|
|
|
public static String filterActivityName(String activity) {
|
if (activity == null)
|
return null;
|
return activity.replace("com.yeshi.ec.rebate.myapplication", "com.tejia.lijin.app");
|
}
|
|
}
|