Files
expert-app/app/src/main/java/cn/shangyu/gdxzExpert/activity/LoginNewActivity.java
T
2026-11-03 11:32:42 +08:00

1632 lines
65 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package cn.shangyu.gdxzExpert.activity;
import static cn.shangyu.gdxzExpert.activity.MainActivity.YXREF;
import static cn.shangyu.gdxzExpert.activity.MainActivity.YXREGISTER;
import static cn.shangyu.gdxzExpert.activity.RegistActivity.MSG_SEND;
import static cn.shangyu.gdxzExpert.ecdemo.common.utils.CommomUtil.simpleDateFormat;
import static cn.shangyu.gdxzExpert.umeng.PushHelper.addUMToken;
import static cn.shangyu.gdxzExpert.utils.UIUtils.getHandler;
import static cn.shangyu.gdxzExpert.utils.Url.getlogin;
import static cn.shangyu.gdxzExpert.utils.Url.getsendSms;
import static cn.shangyu.gdxzExpert.utils.Url.umGetMobile;
import static cn.shangyu.gdxzExpert.utils.Url.umVerifyLogin;
import static cn.shangyu.gdxzExpert.utils.Url.wechatLogin;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.text.Editable;
import android.text.InputType;
import android.text.Selection;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.common.ToastHelper;
import com.netease.nimlib.sdk.AbortableFuture;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.RequestCallback;
import com.netease.nimlib.sdk.RequestCallbackWrapper;
import com.netease.nimlib.sdk.ResponseCode;
import com.netease.nimlib.sdk.StatusBarNotificationConfig;
import com.netease.nimlib.sdk.auth.AuthService;
import com.netease.nimlib.sdk.auth.LoginInfo;
import com.umeng.message.PushAgent;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.UMShareConfig;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.umverify.UMResultCode;
import com.umeng.umverify.UMVerifyHelper;
import com.umeng.umverify.listener.UMTokenResultListener;
import com.umeng.umverify.model.UMTokenRet;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.application.BaseApplication;
import cn.shangyu.gdxzExpert.base.AppManager;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.netease.DemoCache;
import cn.shangyu.gdxzExpert.netease.config.preference.Preferences;
import cn.shangyu.gdxzExpert.netease.config.preference.UserPreferences;
import cn.shangyu.gdxzExpert.umeng.AuthPageConfig;
import cn.shangyu.gdxzExpert.umeng.BaseUIConfig;
import cn.shangyu.gdxzExpert.utils.AESUtil;
import cn.shangyu.gdxzExpert.utils.Constant;
import cn.shangyu.gdxzExpert.utils.DestroyActivityUtil;
import cn.shangyu.gdxzExpert.utils.LogUtil;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.utils.Url;
import cn.shangyu.gdxzExpert.utils.ValidateUtils;
import cn.shangyu.gdxzExpert.widget.ECAlertDialog;
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
import cn.shangyu.gdxzExpert.widget.TimeButton;
import io.dcloud.feature.sdk.DCUniMPSDK;
import io.dcloud.feature.sdk.Interface.IUniMP;
/**
*
* LoginActivity.java
*
* @author ssy
* @date 2015-9-7 下午4:39:55
*
* 功能说明:登录页面
*
* @author liufang
* @since 2015-11-16 修改
*/
public class LoginNewActivity extends BaseActivity implements OnCallBackFromNet {
private EditText usernameEditText;
private EditText passwordEditText;
private EditText messageEditText;
private String currentUsername;
private String currentPassword;
public static int ERROR = 101;
private Button bt_login;
private TextView tv_forget,tv_sure;
private int state;
private String checkInfo;
private String deviceSpec;// 设备型号
private String deviceType = "0";// 设备类型(0安卓,1IOS)
private CheckBox mShowPass,cb_ok;
public static String PatientUrl = Url.getpatientList;
private RelativeLayout mRl_password, mRl_message;
private CheckBox mCb_change;
private boolean isPassLogin = false;
private TimeButton mTb_message;
private String system_time = null;
private UMVerifyHelper mPhoneNumberAuthHelper;
private PhoneNumberAuthHelper phoneNumberAuthHelper;
private UMTokenResultListener mTokenResultListener;
private ImageView im_wechat;
private AuthPageConfig mUIConfig;
private String yinsi1="登录即代表同意《肝胆相照隐私政策》和《肝胆相照用户服务协议》";
private String yinsi2="未注册的手机号验证登录后将自动创建肝胆相照账号,登录即代表同意《肝胆相照隐私政策》和《肝胆相照用户服务协议》";
private String wechat_user_info;
@Override
public void setTitle() {
// initFontScale();
top_title.setText("登录");
top_back_layout.setVisibility(View.VISIBLE);
// top_right_text.setVisibility(View.VISIBLE);
// top_right_text.setText("注册");
}
@Override
public View onCreateSuccessedView() {
// initFontScale();
// ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
// View view = UIUtils.inflate(R.layout.activity_login_new);
View view = View.inflate(ct, R.layout.activity_login_new, null);
// initFontScale();
// Constant.islogout = 1;
DestroyActivityUtil.addDestoryActivityToMap(this,"LoginActivity");
usernameEditText = (EditText) view.findViewById(R.id.username);// 账号
// 设置输入框获得焦点hint提示消失添加监听
usernameEditText.setOnFocusChangeListener(onFocusAutoClearHintListener);
passwordEditText = (EditText) view.findViewById(R.id.password);// 密码
messageEditText = (EditText) view.findViewById(R.id.et_get_message);
// 1.7.1 双方式登录
mRl_password = (RelativeLayout) view.findViewById(R.id.rl_password);
mRl_message = (RelativeLayout) view.findViewById(R.id.rl_message);
mCb_change = (CheckBox) view.findViewById(R.id.bt_change);
tv_forget = (TextView) view.findViewById(R.id.tv_forget);// 忘记密码
mTb_message = (TimeButton) view.findViewById(R.id.tb_send_message);
mTb_message.onCreate();
mTb_message.clearTimer();
mTb_message.setTextBefore("获取验证码").setLenght(60 * 1000);
passwordEditText.setOnFocusChangeListener(onFocusAutoClearHintListener);
bt_login = (Button) view.findViewById(R.id.bt_login);// 登录
mTb_message.setOnClickListener(this);
bt_login.setOnClickListener(this);// 登录
tv_forget.setOnClickListener(this);// 忘记密码
mShowPass = (CheckBox) view.findViewById(R.id.show_password);// 是否显示密码
tv_sure=view.findViewById(R.id.tv_sure);
// tv_sure.setMovementMethod(ScrollingMovementMethod.getInstance());
cb_ok=view.findViewById(R.id.cb_ok);
//取得设置好的drawable对象
Drawable drawable = this.getResources().getDrawable( R.drawable.selector_new_check );
//设置drawable对象的大小
drawable . setBounds ( 0 , 0 , 54 , 54 );
//设置CheckBox对象的位置,对应为左、上、右、下
cb_ok.setCompoundDrawables ( drawable , null , null , null );
im_wechat=view.findViewById(R.id.im_wechat);
im_wechat.setOnClickListener(this);
yinSi1();
mShowPass.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {// 显示密码
passwordEditText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
} else {// 隐藏密码
passwordEditText.setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
passwordEditText.postInvalidate();
// 切换后将EditText光标置于末尾
CharSequence charSequence = passwordEditText.getText();
if (charSequence instanceof Spannable) {
Spannable spanText = (Spannable) charSequence;
Selection.setSelection(spanText, charSequence.length());
}
}
});
String mobile = SharePrefUtil.getString(ct, Constant.SP_IS_FIRST_NAME,Constant.mobile, "");// 手机号
// 验证是否是手机号
if (ValidateUtils.isMobileNum(mobile)) {
usernameEditText.setText(mobile);
usernameEditText.setSelection(mobile.length());
}
Intent intent = getIntent();
Boolean flag = intent.getBooleanExtra("flag", false);
if (flag) {
usernameEditText.setText(intent.getStringExtra("phone"));
}
// 如果用户名改变,清空密码
usernameEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
passwordEditText.setText(null);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
mCb_change.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
cb_ok.setChecked(false);
// TODO Auto-generated method stub
if (isChecked) {
// top_right_text.setVisibility(View.VISIBLE);
// top_title.setText("登录");
isPassLogin = true;
mCb_change.setText("短信验证码登录");
tv_forget.setVisibility(View.VISIBLE);
mRl_password.setVisibility(View.VISIBLE);
mRl_message.setVisibility(View.GONE);
yinSi2();
} else {
isPassLogin = false;
// top_right_text.setVisibility(View.GONE);
// top_title.setText("快速登录");
yinSi1();
mCb_change.setText("账号密码登录");
tv_forget.setVisibility(View.GONE);
mRl_password.setVisibility(View.GONE);
mRl_message.setVisibility(View.VISIBLE);
// mLine.setVisibility(View.VISIBLE);
// mLl_num.setVisibility(View.VISIBLE);
}
}
});
getDeviceInfo();
if(getIntent()!=null&&!StringUtil.isEmpty(getIntent().getStringExtra("kick_out")))
{
showlogout(getIntent().getStringExtra("kick_out"));
}
tv_forget.setVisibility(View.GONE);
mRl_password.setVisibility(View.GONE);
mRl_message.setVisibility(View.VISIBLE);
sdkInit();
return view;
}
private void yinSi1()
{
SpannableStringBuilder spannableBuilder = new SpannableStringBuilder(yinsi2);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#8B2316"));
ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(Color.parseColor("#8B2316"));
spannableBuilder.setSpan(colorSpan1, 31, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE );
spannableBuilder.setSpan(colorSpan, 42, 54, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ClickableSpan clickableSpanOne = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getyyzc);
intent.putExtra("title", "《肝胆相照隐私政策》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
ClickableSpan clickableSpanOne1 = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getzcxy);
intent.putExtra("title", "《肝胆相照用户服务协议》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
spannableBuilder.setSpan(clickableSpanOne, 31, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableBuilder.setSpan(clickableSpanOne1, 42, 54, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_sure.setMovementMethod(LinkMovementMethod.getInstance());
tv_sure.setText(spannableBuilder);
}
private void yinSi2()
{
SpannableStringBuilder spannableBuilder = new SpannableStringBuilder(yinsi1);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#8B2316"));
ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(Color.parseColor("#8B2316"));
spannableBuilder.setSpan(colorSpan1, 7, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE );
spannableBuilder.setSpan(colorSpan, 18, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ClickableSpan clickableSpanOne = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getyyzc);
intent.putExtra("title", "《肝胆相照隐私政策》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
ClickableSpan clickableSpanOne1 = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getzcxy);
intent.putExtra("title", "《肝胆相照用户服务协议》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
spannableBuilder.setSpan(clickableSpanOne, 7, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableBuilder.setSpan(clickableSpanOne1, 18, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_sure.setMovementMethod(LinkMovementMethod.getInstance());
tv_sure.setText(spannableBuilder);
}
public void sdkInit() {
// showProgressDialog("网络检测中");
mTokenResultListener = new UMTokenResultListener() {
@Override
public void onTokenSuccess(String s) {
// closeProgressDialog();
// Log.e("LoginTAG", "jsonStrings "+mPhoneNumberAuthHelper.getCurrentCarrierName());
mPhoneNumberAuthHelper.hideLoginLoading();
UMTokenRet tokenRet = null;
try {
tokenRet = UMTokenRet.fromJson(s);
if(UMResultCode.CODE_ERROR_ENV_CHECK_SUCCESS.equals(tokenRet.getCode()))
{
mPhoneNumberAuthHelper.getLoginToken(LoginNewActivity.this,3000);
}
else if(UMResultCode.CODE_ERROR_ENV_CHECK_SUCCESS.equals(tokenRet.getCode()))
{
mPhoneNumberAuthHelper.getLoginToken(LoginNewActivity.this,3000);
}
else if (UMResultCode.CODE_START_AUTHPAGE_SUCCESS.equals(tokenRet.getCode())) {
// Log.d("LoginTAG", "唤起授权页成功:" + s+mPhoneNumberAuthHelper.getCurrentCarrierName());
}
else if (UMResultCode.CODE_GET_TOKEN_SUCCESS.equals(tokenRet.getCode())) {
Log.d("LoginTAG", "获取token成功:" + s);
// mPhoneNumberAuthHelper.hideLoginLoading();
// mPhoneNumberAuthHelper.quitLoginPage();
getResultWithToken(tokenRet.getToken());
}
else
{
ToastUtil.showMessage(s);
}
} catch (Exception e) {
e.printStackTrace();
Log.d("LoginTAG", "获取token失败:" + e.toString());
}
}
@Override
public void onTokenFailed(String s) {
Log.d("LoginTAG", "获取token失败:" + s);
// closeProgressDialog();
// UMTokenRet tokenRet = null;
mPhoneNumberAuthHelper.hideLoginLoading();
// mPhoneNumberAuthHelper.quitLoginPage();
// try {
// tokenRet = UMTokenRet.fromJson(s);
// if (UMResultCode.CODE_ERROR_USER_CANCEL.equals(tokenRet.getCode())) {
// //模拟的是必须登录 否则直接退出app的场景
//// finish();
// } else {
// Toast.makeText(LoginNewActivity.this, "一键登录失败切换到其他登录方式", Toast.LENGTH_SHORT).show();
//// Intent pIntent = new Intent(OneKeyLoginActivity.this, MessageActivity.class);
//// startActivityForResult(pIntent, 1002);
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// Toast.makeText(LoginNewActivity.this, s, Toast.LENGTH_SHORT).show();
}
};
mPhoneNumberAuthHelper = UMVerifyHelper.getInstance(this, mTokenResultListener);
mPhoneNumberAuthHelper.setAuthSDKInfo("ekYGnmwFM/LIyP8CwBJtN7OPVgg9UJuLlAS2yfVvhHYxbd3zx5mzRtkCU2S+81j5t1NjiHwDiirFISu8mApJhsOHqpqq9fDVfmsrcLhEfDUuzlVpPTVYcN0+B2Rxm+zK1FzLVq6VGf+GOLW2NLmH5VbJXLDX5wPdedcHSgsJikyD6+OypaDr/01DjsVLt8ElMqxcrptYWccUAAPQdvucA0tcjQcUN6beJpcB3zSTZghbvt0K6gjrNfzTb3ypudW5iPb55XYEGeqh0K3YmNphTLhiL+GC5oGJ+tNfsjICKau//5TTTmYGAw==");
// mPhoneNumberAuthHelper.accelerateLoginPage(5000, new UMPreLoginResultListener() {
// @Override
// public void onTokenSuccess(final String vendor) {
// Log.d("LoginTAG", "vendor:" + vendor);
//// MainPortraitActivity.this.runOnUiThread(new Runnable() {
//// @Override
//// public void run() {
//// mRetTV.setText(vendor + "预取号成功!");
//// }
//// });
// }
//
// @Override
// public void onTokenFailed(final String vendor, final String ret) {
// Log.d("LoginTAG", "vendor:" + vendor+" "+ret);
//// MainPortraitActivity.this.runOnUiThread(new Runnable() {
//// @Override
//// public void run() {
//// mRetTV.setText(vendor + "预取号失败:\n" + ret);
//// }
//// });
// }
// });
// TokenResultListener tokenResultListener=new TokenResultListener() {
// @Override
// public void onTokenSuccess(String s) {
// Log.d("LoginTAG", "TokenResultListener成功:" + s);
// }
//
// @Override
// public void onTokenFailed(String s) {
// Log.d("LoginTAG", "TokenResultListener失败:" + s);
// }
// };
// mPhoneNumberAuthHelper.expandAuthPageCheckedScope(true);
mUIConfig = BaseUIConfig.init(0,this, mPhoneNumberAuthHelper);
mUIConfig.configAuthPage();
// phoneNumberAuthHelper= PhoneNumberAuthHelper.getInstance(this, tokenResultListener);
mPhoneNumberAuthHelper.checkEnvAvailable(2);
// if(!checkRet){
// Log.d("LoginTAG","当前网络不支持,请检测蜂窝网络后重试");
// ToastUtil.showMessage("当前网络不支持,请检测蜂窝网络后重试");
// }
// phoneNumberAuthHelper.getLoginToken(this,2000);
}
Map<String, String> we=new HashMap<>();
private UMAuthListener umAuthListener = new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
//授权开始的回调
}
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
mPhoneNumberAuthHelper.quitLoginPage();
we.clear();
we.put("openid",data.get("openid"));
we.put("nickname",data.get("name"));
we.put("headimgurl",data.get("iconurl"));
we.put("unionid",data.get("unionid"));
JSONObject json = new JSONObject(we);
wechat_user_info=json.toString().replaceAll(" +","");
wechatLog(wechat_user_info);
// Toast.makeText(getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show();
// String name = data.get("name");
// openid = data.get("openid");
// if(name!=null)
// data.put("nickname",name);
// unionid = data.get("unionid");
// if(!StringUtil.isEmpty(data.get("unionid")))
SharePrefUtil.saveString(LoginNewActivity.this,"unionid_wechat",data.get("unionid"));
// Log.d("gdxzwe","参数"+data.toString());
// String gender = data.get("gender");
// String iconurl = data.get("iconurl");
// String city = data.get("city");
// String prvinice = data.get("prvinice");
// String country = data.get("country");
// String privilege = data.get("privilege");
// Log.d("gdxzwe","name = "+name);
// LogUtil.i("openid = "+openid);
// LogUtil.i("gender = "+gender);
// LogUtil.i("iconurl = "+iconurl);
// LogUtil.i("city = "+city);
// LogUtil.i("prvinice = "+prvinice);
// LogUtil.i("country = "+country);
// LogUtil.i("data = "+data.toString());
// {country=中国,
// unionid=oCwO1wOWbP4RqmG7m5KnSdhLnyzg,
// gender=男,
// city=,
// openid=odr10s9qElmuO4O0GVE_i7RXuJfU,
// language=zh_CN,
// profile_image_url=http://thirdwx.qlogo.cn/mmopen/vi_32/t7KAzibDicb1pRq7VvLct5XGT7SJmTMlawIO9teLSqad0VVljEC1l9HMcibyWKxy07DJlbHkj620hcD6W8d5NXykg/132,
// accessToken=36_YNuIDu65cbK53Eat1CDec0IX8kGRTZePWZZvcEC-7clvoy2SC1qXVAf99RGlX3QyGzqy9sDFGJkyLB1R4YcaRn5f6EFWK6QFAVRQ5LlXg9M,
// access_token=36_YNuIDu65cbK53Eat1CDec0IX8kGRTZePWZZvcEC-7clvoy2SC1qXVAf99RGlX3QyGzqy9sDFGJkyLB1R4YcaRn5f6EFWK6QFAVRQ5LlXg9M,
// uid=oCwO1wOWbP4RqmG7m5KnSdhLnyzg,
// province=,
// screen_name=12355,
// name=12355,
// iconurl=http://thirdwx.qlogo.cn/mmopen/vi_32/t7KAzibDicb1pRq7VvLct5XGT7SJmTMlawIO9teLSqad0VVljEC1l9HMcibyWKxy07DJlbHkj620hcD6W8d5NXykg/132,
// expiration=1597635314447,
// expires_in=1597635314447,
// refreshToken=36_182iVW8iB03NQUXg7ktFTi0Zj4Z6SurQv9MZyYuB1rr3fHcOE-lFqD2Ue6k9X3-JC4BcsmdxqNuFi5vX69_hATi3JKj78g8xi6-xS1udCTI}
}
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
// Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
// Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show();
}
};
private void wechatLog(String wechat_user_info)
{
Map<String, String> param = new HashMap<>();
param.put("wechat_user_info",wechat_user_info);
param.put("current_spec", deviceSpec);
sendJsonPostParamtoNetSignMD5(wechatLogin,param,203,this);
}
/**
* 进入app就需要登录的场景使用
*/
private void oneKeyLogin() {
mPhoneNumberAuthHelper = UMVerifyHelper.getInstance(getApplicationContext(), mTokenResultListener);
// mUIConfig.configAuthPage();
getLoginToken(5000);
}
/**
* 拉起授权页
* @param timeout 超时时间
*/
public void getLoginToken(int timeout) {
mPhoneNumberAuthHelper.getLoginToken(this, timeout);
}
String token;
public void getResultWithToken(String token) {
this.token=token;
showProgressDialog("正在登录");
Map<String, String> param = new HashMap<>();
param.put("token",token);
sendJsonPostParamtoNetSignMD5(umGetMobile,param,201,this);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
if(!StringUtil.isEmpty(getIntent().getStringExtra("kick_out")))
{
showlogout(getIntent().getStringExtra("kick_out"));
}
}
public void showlogout(String phone)
{
Date date = new Date(System.currentTimeMillis());
ECAlertDialog buildAlert = ECAlertDialog.buildAlert(this,
getString(R.string.nim_kick_out)+
simpleDateFormat.format(date)+getString(R.string.nim_kick_out1)+
phone+getString(R.string.nim_kick_out2)
, getString(R.string.dialog_btn_confim),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
buildAlert.setTitle("异地登陆");
buildAlert.setCanceledOnTouchOutside(false);
buildAlert.setCancelable(false);
buildAlert.show();
}
/**
* 设置输入框获得焦点hint提示消失
*/
public static OnFocusChangeListener onFocusAutoClearHintListener = new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
EditText textView = (EditText) v;
String hint;
if (hasFocus) {
hint = textView.getHint().toString();
textView.setTag(hint);
textView.setHint("");
} else {
hint = textView.getTag().toString();
textView.setHint(hint);
}
}
};
@Override
public ResultState onLoad() {
return ResultState.STATE_SUCCESSED;
}
// 保存个人信息
public void getSaveUserInfor(int type,JSONObject objs) throws JSONException {
JSONObject date = objs.getJSONObject("data");
String uuid = date.optString("uuid");
String realName = date.optString("realName");
String mobile = date.optString("mobile");
String photo = date.optString("photo");
String email = date.optString("email");
String birthDate = date.optString("birthDate");
String hospitalUuid = date.optString("hospitalUuid");
String hospitalName = date.optString("hospitalName");
String officeUuid = date.optString("officeUuid");
String officeName = date.optString("officeName");
String officePhone = date.optString("officePhone");
String positionUuid = date.optString("positionUuid");
String positionName = date.optString("positionName");
String intro = date.optString("intro");
String certificate = date.optString("certificate");
String certificateImg = date.optString("certificateImg");
String qrcode = date.optString("qrcode");
checkInfo = date.optString("checkInfo");
String cityId = date.optString("cityId");
String countyId = date.optString("countyId");
String provId = date.optString("provId");
String access_token = "";
String refresh_token = "";
if(objs.has("access_token")){
access_token = objs.getString("access_token");
refresh_token = objs.getString("refresh_token");
}
if(date.has("access_token")){
access_token = date.getString("access_token");
refresh_token = date.getString("refresh_token");
}
int isStar = date.optInt("isStar");
int sex = date.optInt("sex");
state = date.optInt("state");// 审核状态( 1.待审核 2.审核中 3.需要补充修改资料 4.再次提交审核 5.拒绝 6.已通过
SharePrefUtil.saveString(ct, Constant.USERID, uuid);
SharePrefUtil.saveString(ct, Constant.uuid, uuid);// 唯一标识,我的uuid
SharePrefUtil.saveString(ct, Constant.realName, realName);// 真实姓名
SharePrefUtil.saveString(ct, Constant.mobile, mobile);// 手机号
if (!StringUtil.isEmpty(currentUsername)
&& ValidateUtils.isMobileNum(currentUsername)) {
SharePrefUtil.saveString(ct, Constant.SP_IS_FIRST_NAME,
Constant.mobile, currentUsername);// 手机号,这个为了重新登录后回显之前的手机号
} else if (!StringUtil.isEmpty(mobile)
&& ValidateUtils.isMobileNum(mobile)) {
SharePrefUtil.saveString(ct, Constant.SP_IS_FIRST_NAME,
Constant.mobile, mobile);// 手机号,这个为了重新登录后回显之前的手机号
}
SharePrefUtil.saveString(ct, Constant.photo, photo);// 头像路径
SharePrefUtil.saveString(ct, "email", email);// 邮箱
SharePrefUtil.saveString(ct, "birthDate", birthDate);// 出生日期
SharePrefUtil.saveString(ct, "hospitalUuid", hospitalUuid);// 坐诊医院uuid
SharePrefUtil.saveString(ct, "hospitalName", hospitalName);// 坐诊医院名称
SharePrefUtil.saveString(ct, "officeUuid", officeUuid);// 科室uuid
SharePrefUtil.saveString(ct, "officeName", officeName);// 科室名称
SharePrefUtil.saveString(ct, "officePhone", officePhone);// 科室电话
SharePrefUtil.saveString(ct, "positionUuid", positionUuid);// //职称uuid
SharePrefUtil.saveString(ct, "positionName", positionName);// //职称名称
SharePrefUtil.saveString(ct, "intro", intro);// 简介
SharePrefUtil.saveString(ct, "certificate", certificate);// 执业资格证
SharePrefUtil.saveString(ct, "certificateImg", certificateImg);// 执业资格证图片
SharePrefUtil.saveString(ct, "qrcode", qrcode);// 二维码
SharePrefUtil.saveString(ct, "checkInfo", checkInfo);// 审核信息
SharePrefUtil.saveString(ct, "cityId", cityId);// 市id
SharePrefUtil.saveString(ct, "countyId", countyId);// //区县id
SharePrefUtil.saveString(ct, "provId", provId);// 省id
//让 uniapp 拿到
SharePrefUtil.saveString(ct, "access_token", access_token);// access_token
SharePrefUtil.saveString(ct, "refresh_token", refresh_token);// refresh_token
SharePrefUtil.saveInt(ct, "isStar", isStar);// 是否是肝胆名医 0否 1是
SharePrefUtil.saveInt(ct, "sex", sex);// 性别(0.男 1.女)
SharePrefUtil.saveInt(ct, "state", state);// 审核状态( 1.待审核
initReport();
addUMToken(PushAgent.getInstance(this).getRegistrationId());
// 2.审核中3.需要补充修改资料
// 4.再次提交审核5.拒绝 6.已通过)
// 进行判断是否进入主页面还是进入设置页面
if(type==1)//老的登录
{
getLoginInfo(state,objs);
}
else
{
getLoginInfo(state,date);//友盟一键登录
}
}
public void getYunxin(JSONObject objs) throws JSONException {
String yx_accid =objs.getString("YX_accid");
String yx_token =objs.getString("YX_token");
SharePrefUtil.saveString(ct, Constant.yx_accid, yx_accid);
SharePrefUtil.saveString(ct, Constant.yx_token, yx_token);
}
public void getLoginInfo(int state,JSONObject objs) throws JSONException {
if (state != 6) {
// 需要完善资料,跳转到完善资料页面
// ToastUtil.showToast("登录成功,请完善资料");
// 启动登录设置信息界面
Intent intent = new Intent(this, LoginSetInfoActivity.class);
intent.putExtra("checkInfo", checkInfo);
intent.putExtra("state", state);
startActivity(intent);
closeProgressDialog();
Constant.islogout = 2;
SharePrefUtil.saveBoolean(ct, Constant.IS_LOGIN, true);
this.finish();
} else {
getYunxin(objs);
// 获取患者列表
String USERID = SharePrefUtil.getString(ct, Constant.USERID, "");
// 获取患者列表存到数据库
BaseActivity.getPatientList(this, PatientUrl, USERID);
String yx_accid =SharePrefUtil.getString(ct, Constant.yx_accid, "");
String yx_token =SharePrefUtil.getString(ct, Constant.yx_token, "");
doLauncherAction();
// 登录
loginYunxin(yx_accid,yx_token);
}
};
public void loginYunxin(String yx_accid,String yx_token)
{
// 演示15s后手动登录,登录成功后,可以正常收发数据
getHandler().postDelayed(() -> {
AbortableFuture<LoginInfo> loginRequest = NIMClient.getService(AuthService.class).login(
new LoginInfo(yx_accid, yx_token));
loginRequest.setCallback(new RequestCallbackWrapper() {
@Override
public void onResult(int code, Object result, Throwable exception) {
Log.i("test", "real login, code=" + code);
if (code == ResponseCode.RES_SUCCESS) {
DemoCache.setAccount(yx_accid);
saveLoginInfo(yx_accid, yx_token);
// 初始化消息提醒配置
initNotificationConfig();
finish();
}
}
});
}, 5 * 1000);
}
public void wechatLogin()
{
UMShareConfig config = new UMShareConfig();
config.isNeedAuthOnGetUserInfo(true);
UMShareAPI.get(LoginNewActivity.this).setShareConfig(config);
UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.WEIXIN, umAuthListener);
}
public Boolean isAgree()
{
if(cb_ok.isChecked())
{
return true;
}
else
return false;
}
@Override
protected void processClick(View v) {
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
int id = v.getId();
if (id == R.id.im_wechat) {//微信登录
if(!isAgree())
{
if (isPassLogin)
{
show_yinsi(true);
}
else
{
show_yinsi2(true);
}
// ToastUtil.showMessage(R.string.custom_toast);
return;
}
wechatLogin();
} else if (id == R.id.top_back_layout) {
// 返回
finish();
handleBackClose();
if (false) {
}
} else if (id == R.id.bt_login) {
// 登录
View view = getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
if(!isAgree())
{
if (isPassLogin)
{
show_yinsi(false);
}
else
{
show_yinsi2(false);
}
// ToastUtil.showMessage(R.string.custom_toast);
return;
}
if (isPassLogin) {
login();
} else {
MessageLosin();
}
} else if (id == R.id.tb_send_message) {
// 短信验证码
// isAgree();
if (!UIUtils.isNetWorkConnected(this)) {
ToastUtil.showToast("网络不可用,请连接网络再试");
return;
}
currentUsername = usernameEditText.getText().toString();
Map<String, String> param = new HashMap<>();
param.put("mobile",currentUsername);
param.put("type","7");
sendJsonPostParamtoNetSignMD5(getsendSms,param,MSG_SEND,this);
} else if (id == R.id.top_right_text) {
// 注册
startActivityForResult(new Intent(this, RegistActivity.class), 0);
} else if (id == R.id.tv_forget) {
// 忘记密码
String mobile = usernameEditText.getText().toString();
Intent i = new Intent(this, ForgetActivity.class);
i.putExtra("mobile", mobile);
startActivity(i);
}
}
public void show_yinsi(Boolean iswechat)
{
LayoutInflater inflater = LayoutInflater.from(this);
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_new_notitle, null);
AlertDialog dialog3 = new AlertDialog.Builder(
LoginNewActivity.this,AlertDialog.THEME_HOLO_LIGHT).create();
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
TextView tv_tishi=layout.findViewById(R.id.tv_tishi);
SpannableStringBuilder spannableBuilder = new SpannableStringBuilder(yinsi1);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#8B2316"));
ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(Color.parseColor("#8B2316"));
spannableBuilder.setSpan(colorSpan1, 7, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE );
spannableBuilder.setSpan(colorSpan, 18, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ClickableSpan clickableSpanOne = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getyyzc);
intent.putExtra("title", "《肝胆相照隐私政策》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
ClickableSpan clickableSpanOne1 = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getzcxy);
intent.putExtra("title", "《肝胆相照用户服务协议》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
spannableBuilder.setSpan(clickableSpanOne, 7, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableBuilder.setSpan(clickableSpanOne1, 18, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_tishi.setMovementMethod(LinkMovementMethod.getInstance());
tv_tishi.setText(spannableBuilder);
tv_tishi.setGravity(Gravity.LEFT);
dialog3.show();
Window window =dialog3.getWindow();
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(layoutParams);
dialog3.getWindow().setContentView(layout);
dialog3.setCanceledOnTouchOutside(false);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog3.dismiss();
}
});
btn_sure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog3.dismiss();
if(iswechat)
{
wechatLogin();
}
else
{
if (isPassLogin) {
login();
} else {
MessageLosin();
}
}
}
});
}
private void show_yinsi2(Boolean iswechat)
{
LayoutInflater inflater = LayoutInflater.from(this);
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_new_notitle, null);
AlertDialog dialog3 = new AlertDialog.Builder(
LoginNewActivity.this,AlertDialog.THEME_HOLO_LIGHT).create();
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
TextView tv_tishi=layout.findViewById(R.id.tv_tishi);
SpannableStringBuilder spannableBuilder = new SpannableStringBuilder(yinsi2);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#8B2316"));
ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(Color.parseColor("#8B2316"));
spannableBuilder.setSpan(colorSpan1, 31, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE );
spannableBuilder.setSpan(colorSpan, 42, 54, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ClickableSpan clickableSpanOne = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getyyzc);
intent.putExtra("title", "《肝胆相照隐私政策》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
ClickableSpan clickableSpanOne1 = new ClickableSpan() {
@Override
public void onClick(View view) {
Intent intent = new Intent(LoginNewActivity.this,
NewsDetailActivity.class);
intent.putExtra("url", Url.getzcxy);
intent.putExtra("title", "《肝胆相照用户服务协议》");
// intent.putExtra("from", "WelcomeUI");
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
//点击事件去掉下划线
ds.setUnderlineText(false);
}
};
spannableBuilder.setSpan(clickableSpanOne, 31, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableBuilder.setSpan(clickableSpanOne1, 42, 54, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_tishi.setMovementMethod(LinkMovementMethod.getInstance());
tv_tishi.setText(spannableBuilder);
tv_tishi.setGravity(Gravity.LEFT);
dialog3.show();
Window window =dialog3.getWindow();
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(layoutParams);
dialog3.getWindow().setContentView(layout);
dialog3.setCanceledOnTouchOutside(false);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog3.dismiss();
}
});
btn_sure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog3.dismiss();
if(iswechat)
{
wechatLogin();
}
else
{
if (isPassLogin) {
login();
} else {
MessageLosin();
}
}
}
});
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
// 监听返回键
finish();
handleBackClose();
if (false) {
}
}
/**
* 登录
*/
public void login() {
if (!UIUtils.isNetWorkConnected(this)) {
ToastUtil.showToast("网络不可用,请连接网络再试");
return;
}
// 数据验证
currentUsername = usernameEditText.getText().toString().trim();
currentPassword = passwordEditText.getText().toString().trim();
if (TextUtils.isEmpty(currentUsername)) {
ToastUtil.showToast("手机号码不为空");
return;
}
if (!ValidateUtils.isMobileNum(currentUsername)) {
ToastUtil.showToast("手机号码不正确");
return;
}
if (TextUtils.isEmpty(currentPassword)) {
ToastUtil.showToast("密码不为空");
return;
}
if (!ValidateUtils.isPassword(currentPassword)) {
ToastUtil.showToast("请输入6-16位字母、数字组合密码");
return;
}
// 登陆时用户密码加密
showProgressDialog("正在登录");
Map<String, String> param = new HashMap<>();
param.put("password",currentPassword);
param.put("mobile",currentUsername);
param.put("current_spec", deviceSpec);
sendJsonPostParamtoNetSignMD5(getlogin,param,YXREGISTER,this);
}
/**
*
* @author gaofei
* @date 2015-9-8 下午4:22:04
*
* 功能说明:获得设备信息,设备类型,设备型号
*
* method
*/
private void getDeviceInfo() {
String mobileName = "";
String mobileType = "";
try {
mobileName = android.os.Build.MANUFACTURER;
mobileType = android.os.Build.MODEL;
} catch (Exception e) {
e.printStackTrace();
}
deviceSpec = mobileName + " " + mobileType;
deviceSpec = deviceSpec.replaceAll("\\s*", "");
}
@Override
protected void onResume() {
super.onResume();
}
private void doLauncherAction() {
closeProgressDialog();
// ( 1.待审核 2.审核中 3.需要补充修改资料 4.再次提交审核 5.拒绝
// 6.已通过)
// 注册成功跳转
Intent intent = new Intent();
// if(BigModule())
// {
// intent.setClass(this, BigMainActivity.class);
//
// }
// else
// {
intent.setClass(this, MainActivity.class);
// }
Constant.islogout = 2;
SharePrefUtil.saveBoolean(ct, Constant.IS_LOGIN, true);
intent.putExtra("launcher_from", 1);
startActivity(intent);
Constant.islogout = 2;
// 保存登陆
SharePrefUtil.saveBoolean(ct, Constant.IS_LOGIN, true);
// 1登入系统 2退出系统 3专家客户端在手机前台运行 4.专家客户端在手机后台运行
BaseActivity.foreBack(LoginNewActivity.this, 1);
finish();
}
public final static int GET_SYSTEM_TIME_RESULT = 103;
public void getSystemTime() {
Map<String, String> param = new HashMap<String, String>();
sendParamtoNet(Url.getSystemTime, param, GET_SYSTEM_TIME_RESULT,
LoginNewActivity.this, true);
}
public final static int GET_MESSAGE_DATA_RESULT = 101;
public final static int GET_MESSAGE_LOGIN_RESULT = 102;
public void sendMessage() {
currentUsername = usernameEditText.getText().toString();
if (TextUtils.isEmpty(currentUsername)) {
ToastUtil.showToast("手机号码不为空");
return;
}
if (!ValidateUtils.isMobileNum(currentUsername)) {
ToastUtil.showToast("手机号码不正确");
return;
}
if (TextUtils.isEmpty(system_time)) {
ToastUtil.showToast("未能获取网络时间");
return;
}
int a = StringUtil.getnum();
String mc = null;
try {
mc = StringUtil.getRandomString(a)
+ AESUtil.Encrypt(currentUsername + "|" + system_time,
"deoep09_klodLdAo");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Map<String, String> param = new HashMap<String, String>();
param.put("mc", mc);
param.put("a", a + "");
sendParamtoNet(Url.getQuickLoginSms, param, GET_MESSAGE_DATA_RESULT,LoginNewActivity.this, true);
}
public void MessageLosin() {
if (!UIUtils.isNetWorkConnected(this)) {
ToastUtil.showToast("网络不可用,请连接网络再试");
return;
}
if (TextUtils.isEmpty(currentUsername)) {
currentUsername = usernameEditText.getText().toString();
}
currentPassword = messageEditText.getText().toString();
if (TextUtils.isEmpty(currentUsername)) {
ToastUtil.showToast("手机号码不为空");
return;
}
if (!ValidateUtils.isMobileNum(currentUsername)) {
ToastUtil.showToast("手机号码不正确");
return;
}
if (TextUtils.isEmpty(currentPassword)) {
ToastUtil.showToast("验证码不为空");
return;
}
showProgressDialog("正在登录");
Map<String, String> param = new HashMap<String, String>();
param.put("mobile", currentUsername);
param.put("sms", currentPassword);
param.put("current_spec", deviceSpec);
sendJsonPostParamtoNetSignMD5(Url.umSmsLogin, param, GET_MESSAGE_LOGIN_RESULT,
LoginNewActivity.this);
}
private void startBind()
{
// mPhoneNumberAuthHelper.quitLoginPage();
Intent intent=new Intent(LoginNewActivity.this,BindNumberActivity.class);
intent.putExtra("wechat_user_info",wechat_user_info);
startActivity(intent);
}
@Override
public void onCallbackFromThread(String resultJson) {
// TODO Auto-generated method stub
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
// TODO Auto-generated method stub
Log.e("LoginTAG", "resultCode "+resultCode+" resultJson "+resultJson);
switch (resultCode) {
case 1122:
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(resultJson);
if ("200".equals(jsonObject.optString("code"))&&!jsonObject.isNull("data")) {
Constant.Report_userId= jsonObject.optJSONObject("data").optString("userId");
Constant.Repotr_token=jsonObject.optJSONObject("data").optString("token");
Constant.Repotr_app_key=jsonObject.optJSONObject("data").optString("appKey");
needreportSimple("login");
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
case 201:
try {
JSONObject objs = new JSONObject(resultJson);
String retcode = objs.getString("code");
String message = objs.getString("message");
if (retcode.equals("200")) {
if(objs.optJSONObject("data")!=null)
{
if(objs.optJSONObject("data").optJSONObject("data")!=null
&&!StringUtil.isEmpty(objs.optJSONObject("data").optJSONObject("data").optString("mobile")))
{
Map<String, String> param = new HashMap<>();
// param.put("token",token);
param.put("mobile",objs.optJSONObject("data").optJSONObject("data").optString("mobile"));
param.put("current_spec", deviceSpec);
sendJsonPostParamtoNetSignMD5(umVerifyLogin,param,202,this);
}
}
} else {
ToastUtil.showToast(message);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
ToastUtil.showToast("一键登录失败");
e.printStackTrace();
}
break;
case 202:
SharePrefUtil.saveString(ct, Url.getmodify, resultJson);
try {
JSONObject objs = new JSONObject(resultJson);
String retcode = objs.optString("code");
String message = objs.optString("msg");
if ("200".equals(retcode)) {
// 得到个人资料,并保存
getSaveUserInfor(2,objs);
} else {
closeProgressDialog();
ToastUtil.showToast(message);
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
case GET_MESSAGE_LOGIN_RESULT:
case 203:
try {
JSONObject objs = new JSONObject(resultJson);
String retcode = objs.optString("code");
String message = objs.optString("msg");
if ("10007".equals(retcode)) {
startBind();
// 得到个人资料,并保存
// getSaveUserInfor(2,objs);
}
else if ("200".equals(retcode)) {
getSaveUserInfor(2,objs);
// 得到个人资料,并保存
// getSaveUserInfor(2,objs);
}
else {
closeProgressDialog();
ToastUtil.showToast(message);
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
case MSG_SEND:
try {
JSONObject objs = new JSONObject(resultJson);
String retcode = objs.getString("code");
String message = objs.getString("message");
if (retcode.equals("200")) {
mTb_message.startTimer();
} else {
ToastUtil.showToast(message);
mTb_message.clearTimer();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
ToastUtil.showToast("获取验证码失败,请重试");
mTb_message.clearTimer();
e.printStackTrace();
}
break;
case YXREF:
try {
JSONObject objs = null;
objs = new JSONObject(resultJson);
String retcode = objs.getString("code");
String message = objs.getString("message");
if ("200".equals(retcode)) {
String yx_accid =objs.getString("YX_accid");
String yx_token =objs.getString("YX_token");
SharePrefUtil.saveString(ct, Constant.yx_accid, yx_accid);
SharePrefUtil.saveString(ct, Constant.yx_token, yx_token);
NimUIKit.login(new LoginInfo(yx_accid, yx_token, null, 0),
new RequestCallback<LoginInfo>() {
@Override
public void onSuccess(LoginInfo param) {
DemoCache.setAccount(yx_accid);
saveLoginInfo(yx_accid, yx_token);
// 初始化消息提醒配置
initNotificationConfig();
doLauncherAction(); }
@Override
public void onFailed(int code) {
closeProgressDialog();
ToastHelper.showToast(LoginNewActivity.this,"云信登录失败: " + code);
}
@Override
public void onException(Throwable exception) {
closeProgressDialog();
ToastHelper.showToast(LoginNewActivity.this,"云信登录失败" );
}
});
}
else {
ToastUtil.showToast(message);
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
case YXREGISTER:
SharePrefUtil.saveString(ct, Url.getmodify, resultJson);
try {
JSONObject objs = new JSONObject(resultJson);
String retcode = objs.getString("code");
String message = objs.getString("message");
if (("1").equals(retcode)) {
// 得到个人资料,并保存
getSaveUserInfor(1,objs);
} else {
closeProgressDialog();
ToastUtil.showToast(message);
}
} catch (JSONException e) {
e.printStackTrace();
closeProgressDialog();
ToastUtil.showToast("登录失败,请重试");
}
break;
case GET_MESSAGE_DATA_RESULT:
JSONObject objs;
try {
objs = new JSONObject(resultJson);
String retcode = objs.getString("code");
String message = objs.getString("message");
if (retcode.equals("1")) {
mTb_message.startTimer();
} else {
ToastUtil.showToast(message);
mTb_message.clearTimer();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
ToastUtil.showToast("获取验证码失败,请重试");
mTb_message.clearTimer();
e.printStackTrace();
}
break;
case GET_SYSTEM_TIME_RESULT:
JSONObject objs2;
try {
objs2 = new JSONObject(resultJson);
system_time = objs2.getString("system_time");
} catch (JSONException e) {
// TODO Auto-generated catch block
}
sendMessage();
break;
default:
break;
}
}
@Override
protected void onStop() {
super.onStop();
}
@Override
protected void onDestroy() {
mTb_message.onDestroy();
super.onDestroy();
UMShareAPI.get(this).release();
mUIConfig.release();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK&& event.getAction() == KeyEvent.ACTION_DOWN){
handleBackClose();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void handleBackClose() {
if (MainActivity.mMainActivity == null || MainActivity.mMainActivity.isFinishing() || MainActivity.mMainActivity.isDestroyed()) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
finish();
}
private boolean unusedExitStub() {
if (false) {
handleBackClose();
if (false) {
handleBackClose();
if (false) {
}
}
}
return false;
}
private void saveLoginInfo(final String account, final String token) {
Preferences.saveUserAccount(account);
Preferences.saveUserToken(token);
}
private void initNotificationConfig() {
// 初始化消息提醒
NIMClient.toggleNotification(UserPreferences.getNotificationToggle());
// 加载状态栏配置
StatusBarNotificationConfig statusBarNotificationConfig = UserPreferences.getStatusConfig();
if (statusBarNotificationConfig == null) {
statusBarNotificationConfig = DemoCache.getNotificationConfig();
UserPreferences.setStatusConfig(statusBarNotificationConfig);
}
// 更新配置
NIMClient.updateStatusBarNotificationConfig(statusBarNotificationConfig);
}
public void initReport()
{
Map<String,String> map = new HashMap<>();
sendJsonPostParamtoNetSignMD5(Url.getTagToken,map,1122,this);
}
}