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 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 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 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 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 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 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 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 param = new HashMap(); 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 param = new HashMap(); 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 param = new HashMap(); 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 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() { @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 map = new HashMap<>(); sendJsonPostParamtoNetSignMD5(Url.getTagToken,map,1122,this); } }