package com.tejia.lijin.app.util.web;
|
|
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.BuXinConstant;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity;
|
import com.tejia.lijin.app.ui.recommend.SearchActivity;
|
import com.tejia.lijin.app.util.JumpActivityUtil;
|
import com.tejia.lijin.app.util.SystemParamsUtil;
|
import com.tejia.lijin.app.util.WXUtil;
|
import com.tejia.lijin.app.util.clipboard.ClipboardUtil;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
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 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 BaseRebateJavaInterfaceBS {
|
|
Activity mContext;
|
|
public BaseRebateJavaInterfaceBS(Activity activity) {
|
mContext = activity;
|
}
|
|
@JavascriptInterface
|
public String getUid(Object obj) {
|
return mContext.getSharedPreferences("user", MODE_PRIVATE).getString("uid", "");
|
}
|
|
|
@JavascriptInterface
|
public Object getVersion(Object obj) {
|
return PackageUtils2.getVersionCode(mContext) + "";
|
}
|
|
|
@JavascriptInterface
|
public Object getVersionName(Object obj) {
|
return PackageUtils2.getVersionName(mContext) + "";
|
}
|
|
|
@JavascriptInterface
|
public Object getAppName(Object obj) {
|
return mContext.getResources().getString(R.string.app_name);
|
}
|
|
|
@JavascriptInterface
|
public void toast(Object str) {
|
Toast.makeText(mContext, str.toString(), Toast.LENGTH_LONG).show();
|
}
|
|
@JavascriptInterface
|
public String getSign(Object str) {
|
return MD5Utils.getMD532(str + "@?,223Hbb88lll");
|
}
|
|
|
@JavascriptInterface
|
public void jumpBaiChuan(Object args) throws JSONException {
|
JSONObject json = new JSONObject(args.toString());
|
final String tbClientInfo = json.optString("tbClientInfo");
|
final String url = json.optString("url");
|
final String auctionId = json.optString("auctionId");
|
|
AlibcShowParams alibcShowParams = new AlibcShowParams();
|
alibcShowParams.setOpenType(OpenType.Auto);
|
JumpActivityUtil.jumpBaiChuan(mContext, tbClientInfo, url, auctionId, alibcShowParams);
|
}
|
|
@JavascriptInterface
|
public void jumpSearch(Object key) {
|
Intent intent = new Intent(mContext, SearchActivity.class);
|
intent.putExtra("key", key.toString());
|
mContext.startActivity(intent);
|
}
|
|
@JavascriptInterface
|
public void copyText(Object atr) {
|
ClipboardUtil.copy(mContext, atr.toString());
|
}
|
|
|
@JavascriptInterface
|
public void jumpPage(Object args) throws JSONException {
|
JSONObject json = new JSONObject(args.toString());
|
String pageClassName = json.optString("pageClassName");
|
String paramJson = json.optString("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<String> 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(Object obj) {
|
UserUtil.jumpLogin(mContext);
|
}
|
|
@JavascriptInterface
|
public String getRequestBaseParams(Object json) {
|
LinkedHashMap<String, String> params = new LinkedHashMap<>();
|
int version = PackageUtils2.getVersionCode(mContext);
|
long time = System.currentTimeMillis();
|
String deviceType = MobileUtil.getSystemModel();
|
if (!StringUtils.isEmpty(json.toString())) {
|
JSONObject jsonObject = null;
|
try {
|
jsonObject = new JSONObject(json.toString());
|
Iterator<String> 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<String> its = params.keySet().iterator();
|
List<String> 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(Object args) throws JSONException {
|
JSONObject json = new JSONObject(args.toString());
|
String eventId = json.optString("eventId");
|
String paramsJSON = json.optString("paramsJSON");
|
|
Map map = JSON.parseObject(paramsJSON);
|
MobclickAgent.onEventObject(mContext, eventId, map);
|
}
|
|
@JavascriptInterface
|
public void umEventCompute(Object args) throws JSONException {
|
JSONObject json = new JSONObject(args.toString());
|
String eventId = json.optString("eventId");
|
String paramsJSON = json.optString("paramsJSON");
|
int du = json.optInt("du");
|
|
Map map = JSON.parseObject(paramsJSON);
|
MobclickAgent.onEventValue(mContext, eventId, map, du);
|
}
|
|
|
@JavascriptInterface
|
public void jumpGoodsDetail(Object args) throws JSONException {
|
JSONObject json = new JSONObject(args.toString());
|
String id = json.optString("id");
|
String goodsType = json.optString("goodsType");
|
String from = json.optString("from");
|
|
Intent intent = new Intent(mContext, GoodsDetailActivity.class);
|
intent.putExtra("goodsId", id);
|
intent.putExtra("goodsType", goodsType);
|
if (!StringUtils.isNullOrEmpty(from))
|
intent.putExtra("from", from);
|
mContext.startActivity(intent);
|
}
|
|
@JavascriptInterface
|
public void jumpWXXCX(Object args) throws JSONException {
|
JSONObject json = new JSONObject(args.toString());
|
String userName = json.optString("userName");
|
String path = json.optString("path");
|
WXUtil.jumpWXXCX(mContext, userName, path);
|
}
|
|
/**
|
* 清空粘贴板
|
*/
|
@JavascriptInterface
|
public void clearClipboard(Object obj) {
|
ClipboardUtil.emptyClipboard(mContext);
|
}
|
|
|
/**
|
* 获取客户端参数
|
*
|
* @param key
|
* @return
|
*/
|
@JavascriptInterface
|
public String getClientParams(String key) {
|
return SystemParamsUtil.getParam(mContext, key);
|
}
|
}
|