package com.yeshi.base.utils; 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.lcjian.library.util.SystemCommon; import com.lcjian.library.util.common.ClipboardUtil; import com.lcjian.library.util.common.PackageUtils2; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.security.MD5Utils; import com.umeng.analytics.MobclickAgent; import com.yeshi.base.utils.http.API; import org.json.JSONException; import org.json.JSONObject; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import static android.content.Context.MODE_PRIVATE; public class BaseBWJavaInterface { Activity mContext; public BaseBWJavaInterface(Activity activity) { mContext = activity; } @JavascriptInterface public String getUid() { return mContext.getSharedPreferences("user", MODE_PRIVATE).getString("LoginUid", ""); } @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 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 { 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); } } mContext.startActivity(intent); } @JavascriptInterface public String getRequestBaseParams(String json) { LinkedHashMap params = new LinkedHashMap<>(); int version = PackageUtils2.getVersionCode(mContext); 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("Package", mContext.getPackageName()); params.put("Version", version + ""); params.put("Device", SystemCommon.getDeviceId(mContext)); params.put("Time", System.currentTimeMillis() + ""); LinkedHashMap map = API.validateParams(params,mContext); Gson gson = new Gson(); String str = gson.toJson(map); return str; } @JavascriptInterface public void umEventCount(String eventId, String paramsJSON) { Map map = JSON.parseObject(paramsJSON); } @JavascriptInterface public void umEventCompute(String eventId, String paramsJSON, int du) { Map map = JSON.parseObject(paramsJSON); MobclickAgent.onEventValue(mContext, eventId, map, du); } /** * 清空粘贴板 */ @JavascriptInterface public void clearClipboard() { ClipboardUtil.emptyClipboard(mContext); } }