package com.weikou.beibeivideo.util.browser; 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.AEScrypt; import com.lcjian.library.util.security.DEScrypt; import com.lcjian.library.util.security.MD5Utils; import com.umeng.analytics.MobclickAgent; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.UserInfo; import com.weikou.beibeivideo.ui.mine.BrowserActivity; import com.weikou.beibeivideo.util.JumpActivityUtil; import com.weikou.beibeivideo.util.UserUtil; 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 getUserInfo() throws JSONException { JSONObject data=new JSONObject(); data.put("device",BeibeiVideoAPI.getDeviceId(mContext)); UserInfo user = UserUtil.getLoginUserInfo(mContext); if(user!=null){ //获取用户头像与昵称 data.put("login",true); JSONObject userJSON=new JSONObject(); userJSON.put("id",user.getId()); userJSON.put("nickName",user.getNickname()); userJSON.put("portrait",user.getPortrait()); data.put("user",userJSON); }else{ data.put("login",false); } return data.toString(); } @JavascriptInterface public String getAppName(){ return mContext.getString(R.string.app_name); } @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 void jumpWeb(String url) { Intent intent = new Intent(mContext, BrowserActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("url", url); 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", BeibeiVideoAPI.getDeviceId(mContext)); params.put("Time", System.currentTimeMillis() + ""); LinkedHashMap map = BeibeiVideoAPI.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); } @JavascriptInterface public String apiDecode(String result) { return DEScrypt.decode(result); } @JavascriptInterface public String apiEncode(String result) { return DEScrypt.encode(result); } }