/* * WR_UserCenter.java * classes : cn.com.wasu.main.jsobject.WR_UserCenter * @author Administrator * V 1.0.0 * Create at 2014年12月13日 下午1:16:21 */ package com.wasu.cs.jsobject; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.util.Log; import android.webkit.JavascriptInterface; import com.wasu.authsdk.AuthListener; import com.wasu.authsdk.AuthSDK; import com.wasu.authsdk.IAuthInterface; import com.wasu.common.WError; import com.wasu.cs.ui.ActivityMain; import com.wasu.module.log.WLog; import com.wasu.statistics.StatisticsConstant; import com.wasu.statistics.WasuStatistics; import com.wasu.util.ConfigUtils; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; import java.util.Set; import basic.BuilderTypeManager.BuildType; import cn.com.wasu.main.Common; import cn.com.wasu.main.IntentMap; /** * cn.com.wasu.main.jsobject.WR_UserCenter * * @author junz@wasu.com
* create at 2014年12月13日 下午1:16:21 */ public class WR_UserCenter { public static final String CFG_FILE = "usercenter"; public static final String HEADURL = "headUrl"; public static final String LOGINTYPE = "loginType"; public static final String EXPAND = "expand"; private static final String TAG = "WR_UserCenter"; private Context mContext; public WR_UserCenter(Context context) { this.mContext = context; } // @JavascriptInterface // public void closePage() { // ((UserCenterActivity) mContext).finish(); // } /** * 获取设备相关信息 * * @return */ @JavascriptInterface public String getDeviceInfo() { WLog.i(TAG, "getDeviceInfo"); Map map = new HashMap(); WLog.i(TAG, "IAuthInterface.KEY_TVID"); map.put("tvId", AuthSDK.getInstance().getValue(IAuthInterface.KEY_TVID)); WLog.i(TAG, "IAuthInterface.KEY_DEVICEID"); map.put("deviceId", AuthSDK.getInstance().getValue(IAuthInterface.KEY_DEVICEID)); WLog.i(TAG, "IAuthInterface.KEY_PUBLICKEY"); map.put("publicKey", AuthSDK.getInstance().getValue(IAuthInterface.KEY_PUBLICKEY)); WLog.i(TAG, "IAuthInterface.KEY_ENCRYPTV"); map.put("encryptV", AuthSDK.getInstance().getValue(IAuthInterface.KEY_ENCRYPTV)); WLog.i(TAG, "NetUtils.getMacAddress(mContext) "); /*if(StringUtils.isEmpty(Common.mac)){ Common.mac=NetUtils.getMacAddress(mContext); map.put("mac", Common.mac); //map.put("mac", NetUtils.getMacAddress(mContext)); }else{ map.put("mac", Common.mac); }*/ map.put("mac", AuthSDK.getInstance().getValue(IAuthInterface.KEY_MAC)); map.put("siteId", BuildType.SITE_ID); map.put("sdkVersion", Common.SDK_VERSION); String jsonStr = "{"; Set keySet = map.keySet(); for (Object key : keySet) { jsonStr += "\"" + key + "\":\"" + map.get(key) + "\","; } jsonStr = jsonStr.substring(0, jsonStr.length() - 1); jsonStr += "}"; WLog.i(TAG, "getDeviceInfo end"); return jsonStr; } /** * 获取用户相关信息 * * @return */ @JavascriptInterface public String getUserInfo() { WLog.i(TAG, "getUserInfo"); Map map = new HashMap(); map.put("phone", AuthSDK.getInstance().getValue(IAuthInterface.KEY_PHONE)); map.put("token", AuthSDK.getInstance().getValue(IAuthInterface.KEY_TOKEN)); map.put("userKey", AuthSDK.getInstance().getValue(IAuthInterface.KEY_USERKEY)); map.put("headUrl", ConfigUtils.getString(mContext, CFG_FILE, HEADURL)); map.put("loginType", ConfigUtils.getString(mContext, CFG_FILE, LOGINTYPE)); map.put("expand", ConfigUtils.getString(mContext, CFG_FILE, EXPAND)); String jsonStr = "{"; Set keySet = map.keySet(); for (Object key : keySet) { jsonStr += "\"" + key + "\":\"" + map.get(key) + "\","; } jsonStr = jsonStr.substring(0, jsonStr.length() - 1); jsonStr += "}"; WLog.i(TAG, "getUserInfo end"); return jsonStr; } /** * 保存用户相关信息 * * @return */ @JavascriptInterface public void setUserInfo(String jsonData) { WLog.i(TAG, "setUserInfo jsonData="+jsonData); String phone = ""; String token = ""; String userKey = ""; String headUrl = ""; String loginType = ""; String expand = ""; /**用户是否为VIP**/ String vipState=""; /**用户VIP到期时间**/ String vipExpireTime = ""; try { JSONObject json = new JSONObject(jsonData); phone = json.optString("phone", ""); token = json.getString("token"); userKey = json.getString("userKey"); headUrl = json.optString("headUrl", ""); loginType = json.optString("loginType", ""); expand = json.optString("expand", ""); vipState=json.optString("vipState","0"); vipExpireTime = json.optString("vipExpireTime",""); AuthSDK.getInstance().saveValue(IAuthInterface.KEY_PHONE, phone); AuthSDK.getInstance().saveValue(IAuthInterface.KEY_TOKEN, token); AuthSDK.getInstance().saveValue(IAuthInterface.KEY_USERKEY, userKey); AuthSDK.getInstance().saveValue("vipState", vipState); AuthSDK.getInstance().saveValue("vipExpireTime", vipExpireTime); AuthSDK.getInstance().saveValue("headUrl", headUrl); AuthSDK.getInstance().saveValue("loginType", loginType); AuthSDK.getInstance().saveValue("expand", expand); WasuStatistics.getInstance().setValue(StatisticsConstant.USERKEY, userKey); //ADModule.getInstance().setAdFree(false); ConfigUtils.saveData(mContext, CFG_FILE, HEADURL, headUrl); ConfigUtils.saveData(mContext, CFG_FILE, LOGINTYPE, loginType); ConfigUtils.saveData(mContext, CFG_FILE, EXPAND, expand); } catch (JSONException e) { e.printStackTrace(); } WLog.i(TAG, "setUserInfo end"); } /** * 页面出现加密串等失效后通知客户端刷新 * * @param errorCode * @param extra * @return */ @JavascriptInterface public boolean OnError(int errorCode, String extra) { WLog.i(TAG, "OnError"); switch (errorCode) { case 1: //加密串过期 AuthSDK.getInstance().deviceLogin(new AuthListener() { @Override public void result(int ret, String extra, Object retData) { if (ret == WError.ERROR_NONE) { Log.i(TAG, "login success!!!!!"); } } }); return true; case 2: //token失效 case 3: //userKey无效 return false; default: return false; } } /** * danxingxi * 为了在营业厅的任何页面都可以直接返回到首页 */ @JavascriptInterface public void goToHome() { if (mContext instanceof Activity) { Activity web = (Activity)mContext; web.finish(); Intent i = new Intent(); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); IntentMap.startIntent(web, i, null, null, ActivityMain.class); } } /** * 关闭加载webview的activity */ @JavascriptInterface public void closePage() { if (mContext instanceof Activity) { ((Activity) mContext).finish(); } } }