package com.tejia.lijin.app.util; import android.app.Activity; import android.content.Intent; import android.webkit.JavascriptInterface; import android.widget.Toast; import com.alibaba.baichuan.android.trade.model.AlibcShowParams; import com.alibaba.baichuan.android.trade.model.OpenType; import com.alibaba.fastjson.JSON; import com.google.gson.Gson; import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity; import com.umeng.analytics.MobclickAgent; import com.wpc.library.DeviceUuidFactory; import com.wpc.library.util.GetManifestDataUtil; import com.wpc.library.util.MobileUtil; import com.wpc.library.util.NetUtils; import com.wpc.library.util.common.PackageUtils2; import com.wpc.library.util.common.StringUtils; import com.wpc.library.util.security.MD5Utils; import com.tejia.lijin.app.BuXinConstant; import com.tejia.lijin.app.ui.recommend.GoodsDetailBrowerActivity; import com.tejia.lijin.app.ui.recommend.SearchActivity; import com.tejia.lijin.app.util.clipboard.ClipboardUtil; import com.tejia.lijin.app.util.user.UserUtil; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import static android.content.Context.MODE_PRIVATE; public class BaseRebateJavaInterface { Activity mContext; public BaseRebateJavaInterface(Activity activity) { mContext = activity; } @JavascriptInterface public String getUid() { return mContext.getSharedPreferences("user", MODE_PRIVATE).getString("uid", ""); } @JavascriptInterface public String getVersion() { return PackageUtils2.getVersionCode(mContext) + ""; } @JavascriptInterface public void toast(String str) { Toast.makeText(mContext, str, Toast.LENGTH_LONG).show(); } @JavascriptInterface public String getSign(String str) { return MD5Utils.getMD532(str + "@?,223Hbb88lll"); } @JavascriptInterface public void jumpBaiChuan(String tbClientInfo, String url, String auctionId) { AlibcShowParams alibcShowParams = new AlibcShowParams(); alibcShowParams.setOpenType(OpenType.Auto); JumpActivityUtil.jumpBaiChuan(mContext, tbClientInfo, url, auctionId, alibcShowParams); } @JavascriptInterface public void jumpSearch(String key) { Intent intent = new Intent(mContext, SearchActivity.class); intent.putExtra("key", key); mContext.startActivity(intent); } @JavascriptInterface public void jumpGoodsDetail(long id) { Intent intent = new Intent(mContext, GoodsDetailBrowerActivity.class); intent.putExtra("id", id + ""); intent.putExtra("isTrolley", true); mContext.startActivity(intent); } @JavascriptInterface public void copyText(String atr) { ClipboardUtil.copy(mContext, atr); } @JavascriptInterface public void jumpPage(String pageClassName, String paramJson) { Intent intent = null; JSONObject param = null; try { if (StringUtils.isEmpty(paramJson)) { param = null; } else { param = new JSONObject(paramJson); } if (StringUtils.isEmpty(pageClassName)) { return; } else { if (pageClassName.equals("com.tejia.lijin.app.ui.recommend.GoodsBrowserActivity")) { pageClassName = GoodsDetailActivity.class.getName(); } intent = new Intent(mContext, Class.forName(JumpActivityUtil.filterActivityName(pageClassName))); } } catch (JSONException e) { param = null; e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } if (null != param) { @SuppressWarnings("unchecked") Iterator its = param.keys(); while (its.hasNext()) { String key = its.next(); String value = param.optString(key); intent.putExtra(key, value); // Log.e("mResult", "key--" + key); // Log.e("mResult", "value--" + value); } } mContext.startActivity(intent); } @JavascriptInterface public void login() { UserUtil.jumpLogin(mContext); } @JavascriptInterface public String getRequestBaseParams(String json) { LinkedHashMap params = new LinkedHashMap<>(); int version = PackageUtils2.getVersionCode(mContext); long time = System.currentTimeMillis(); String deviceType = MobileUtil.getSystemModel(); if (!StringUtils.isEmpty(json)) { JSONObject jsonObject = null; try { jsonObject = new JSONObject(json); Iterator iterator = jsonObject.keys(); while (iterator.hasNext()) { String key = iterator.next(); params.put(key, jsonObject.optString(key)); } } catch (JSONException e) { } } params.put("packages", mContext.getPackageName()); params.put("Version", version + ""); params.put("appkey", BuXinConstant.TAO_BAO_KE_KEY); params.put("platform", "android"); params.put("uid", mContext.getSharedPreferences("user", MODE_PRIVATE).getString("uid", "")); params.put("apiversion", "1"); params.put("channel", GetManifestDataUtil.getAppMetaData(mContext, "UMENG_CHANNEL")); String imei = MobileUtil.getIMEI(mContext); if (!StringUtils.isEmpty(imei)) params.put("imei", imei); params.put("osVersion", MobileUtil.getSystemVersion()); params.put("network", NetUtils.getNetworkState(mContext)); params.put("deviceType", StringUtils.isEmpty(deviceType) ? "" : deviceType); params.put("time", time + ""); params.put("Device", new DeviceUuidFactory(mContext).getDeviceUuid() + ""); Iterator its = params.keySet().iterator(); List list = new ArrayList<>(); while (its.hasNext()) { String key = its.next(); Object value = params.get(key); list.add(key + "=" + value); } Collections.sort(list); String sign = ""; for (String str : list) { sign += str + "&"; } params.put("sign", MD5Utils.getMD532(sign + "buXiNjie2017!")); Gson gson = new Gson(); String str = gson.toJson(params); // Log.e("mResult", str); return str; } @JavascriptInterface public void umEventCount(String eventId, String paramsJSON) { Map map = JSON.parseObject(paramsJSON); MobclickAgent.onEventObject(mContext, eventId, map); } @JavascriptInterface public void umEventCompute(String eventId, String paramsJSON, int du) { Map map = JSON.parseObject(paramsJSON); MobclickAgent.onEventValue(mContext, eventId, map, du); } /*********移进来的方法****/ @JavascriptInterface public void jumpGoodsSplashWithFrom(long id, String from) { Intent intent = new Intent(mContext, GoodsDetailActivity.class); intent.putExtra("id", id + ""); intent.putExtra("from", from); mContext.startActivity(intent); } @JavascriptInterface public void jumpGoodsDetail(String id, int goodsType) { Intent intent = new Intent(mContext, GoodsDetailActivity.class); intent.putExtra("goodsId", id); intent.putExtra("goodsType", goodsType); mContext.startActivity(intent); } @JavascriptInterface public void jumpGoodsSplash(long id) { Intent intent = new Intent(mContext, GoodsDetailActivity.class); intent.putExtra("goodsId", id); intent.putExtra("goodsType", Constant.GOODS_TYPE_TB); mContext.startActivity(intent); } @JavascriptInterface public void jumpPDDGoodsDetailWithFrom(long id, String from) { Intent intent = new Intent(mContext, GoodsDetailActivity.class); intent.putExtra("goodsId", id); intent.putExtra("goodsType", Constant.GOODS_TYPE_PDD); intent.putExtra("from", from); mContext.startActivity(intent); } @JavascriptInterface public void jumpJDGoodsDetailWithFrom(long id, String from) { Intent intent = new Intent(mContext, GoodsDetailActivity.class); intent.putExtra("goodsId", id); intent.putExtra("goodsType", Constant.GOODS_TYPE_JD); intent.putExtra("from", from); mContext.startActivity(intent); } @JavascriptInterface public void jumpWXXCX(String userName, String path) { WXUtil.jumpWXXCX(mContext, userName, path); } /** * 清空粘贴板 */ @JavascriptInterface public void clearClipboard() { ClipboardUtil.emptyClipboard(mContext); } }