package com.ysvideo.zhibo.app.util.browser;
|
|
import android.app.Activity;
|
import android.content.Intent;
|
import android.webkit.JavascriptInterface;
|
import android.widget.Toast;
|
|
import com.alibaba.fastjson.JSON;
|
import com.ysvideo.zhibo.app.R;
|
import com.ysvideo.zhibo.app.util.JumpActivityUtil;
|
import com.ysvideo.zhibo.app.util.api.HttpApiUtil;
|
import com.ysvideo.zhibo.lib.common.util.security.DEScrypt;
|
import com.ysvideo.zhibo.library_ec.AlibcTradeUtil;
|
import com.google.gson.Gson;
|
import com.ysvideo.zhibo.lib.common.util.common.ClipboardUtil;
|
import com.ysvideo.zhibo.lib.common.util.common.PackageUtils2;
|
import com.ysvideo.zhibo.lib.common.util.common.StringUtils;
|
import com.umeng.analytics.MobclickAgent;
|
|
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 BaseJavaInterface {
|
|
Activity mContext;
|
|
public BaseJavaInterface(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 String getAppName() {
|
return mContext.getString(R.string.app_name) + "";
|
}
|
|
@JavascriptInterface
|
public void toast(String str) {
|
Toast.makeText(mContext, str, Toast.LENGTH_LONG).show();
|
}
|
|
@JavascriptInterface
|
public void jumpBaiChuan(String tbClientInfo, String url) {
|
AlibcTradeUtil.openUrl(mContext, url, null, null, null, null);
|
}
|
|
@JavascriptInterface
|
public void copyText(String atr) {
|
ClipboardUtil.copy(mContext, atr);
|
}
|
|
|
@JavascriptInterface
|
public String apiDecode(String result) {
|
return DEScrypt.decode(result);
|
}
|
|
|
@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<String> 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<String, String> params = new LinkedHashMap<>();
|
if (!StringUtils.isEmpty(json)) {
|
JSONObject jsonObject = null;
|
try {
|
jsonObject = new JSONObject(json);
|
Iterator<String> iterator = jsonObject.keys();
|
while (iterator.hasNext()) {
|
String key = iterator.next();
|
params.put(key, jsonObject.optString(key));
|
}
|
} catch (JSONException e) {
|
|
}
|
}
|
LinkedHashMap<String, String> map = HttpApiUtil.getRequestParams(mContext, params);
|
|
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);
|
}
|
}
|