强制退出登录

dev
李桢 1 year ago
parent 65e50ebfac
commit a3ddbb0815
  1. 2
      app/src/main/java/com/unionmed/unionmedtv/activity/HospitalActivity.java
  2. 27
      app/src/main/java/com/unionmed/unionmedtv/base/BaseActivity.java
  3. 15
      app/src/main/java/com/unionmed/unionmedtv/dialog/TipDialog.java
  4. 5
      app/src/main/java/com/unionmed/unionmedtv/login/activity/LoginActivity.java
  5. 6
      app/src/main/java/com/unionmed/unionmedtv/login/activity/fragment/LoginPhoneFragment.java
  6. 19
      app/src/main/java/com/unionmed/unionmedtv/network/RequestHandler.java
  7. 1
      app/src/main/java/com/unionmed/unionmedtv/utils/Constants.java
  8. 3
      app/src/main/res/layout/activity_hospital.xml
  9. 20
      app/src/main/res/layout/fragment_account_login.xml
  10. 18
      app/src/main/res/layout/fragment_phone_login.xml

@ -56,8 +56,8 @@ public class HospitalActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
setContentView(R.layout.activity_hospital);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
initView();
loadData(1);
}

@ -5,6 +5,15 @@ import android.view.WindowManager;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import com.lxj.xpopup.XPopup;
import com.unionmed.unionmedtv.activity.HomeActivity;
import com.unionmed.unionmedtv.dialog.TipDialog;
import com.unionmed.unionmedtv.livedatas.LiveDataBus;
import com.unionmed.unionmedtv.login.activity.LoginActivity;
import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants;
public abstract class BaseActivity extends AppCompatActivity {
@Override
@ -12,5 +21,23 @@ public abstract class BaseActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
LiveDataBus.get().with(Constants.EXIT_LOGIN,String.class).observe(this, new Observer<String>() {
@Override
public void onChanged(String s) {
new XPopup.Builder(BaseActivity.this).isRequestFocus(true)
.asCustom(new TipDialog(BaseActivity.this, "当前账号在其他地方登录,请重新登录", false, new TipDialog.DialogClick() {
@Override
public void cancel() {
}
@Override
public void confirm() {
CacheUtil.setToken(null);
LoginActivity.StartActivity(BaseActivity.this);
}
})).show();
}
});
}
}

@ -15,11 +15,17 @@ public class TipDialog extends CenterPopupView {
private TextView tv_confirm;
private String title;
private DialogClick dialogClick;
public TipDialog(@NonNull Context context, String title, DialogClick dialogClick) {
private boolean isShowLeft=true;
public TipDialog(@NonNull Context context, String title,DialogClick dialogClick) {
super(context);
this.title = title;
this.dialogClick = dialogClick;
}
public TipDialog(@NonNull Context context, String title, boolean isShowLeft,DialogClick dialogClick) {
super(context);
this.title = title;
this.dialogClick = dialogClick;
this.isShowLeft=isShowLeft;
}
@Override
@ -32,6 +38,11 @@ public class TipDialog extends CenterPopupView {
super.onCreate();
tv_cancel = findViewById(R.id.tv_cancel);
tv_cancel.requestFocus();
if(isShowLeft){
tv_cancel.setVisibility(VISIBLE);
}else {
tv_cancel.setVisibility(GONE);
}
tv_cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {

@ -57,7 +57,10 @@ public class LoginActivity extends FragmentActivity {
public static final int LOCATION_CODE = 301;
private LocationManager locationManager;
private String locationProvider = null;
public static void StartActivity(Context context){
Intent intent=new Intent(context,LoginActivity.class);
context.startActivity(intent);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

@ -183,7 +183,7 @@ public class LoginPhoneFragment extends Fragment implements View.OnClickListener
getAreaLogn(tokenBean.getIdentity_id(),
tokenBean.getMobile(),
tokenBean.getName(),
tokenBean.getToken());
tokenBean.getPreRegion().getPkey());
} else {
CacheUtil.setToken(null);
new XPopup.Builder(getActivity()).isRequestFocus(true)
@ -216,9 +216,9 @@ public class LoginPhoneFragment extends Fragment implements View.OnClickListener
});
}
public void getAreaLogn(String identity_id, String mobile, String name, String token) {
public void getAreaLogn(String identity_id, String mobile, String name, String pkey) {
EasyHttp.post(this)
.api(new AreaLoginApi(identity_id, mobile, name, token))
.api(new AreaLoginApi(identity_id, mobile, name, pkey))
.request(new OnHttpListener<HttpData<AreaLoginApi>>() {
@Override
public void onSucceed(HttpData<AreaLoginApi> personInfoBeanHttpData) {

@ -1,11 +1,13 @@
package com.unionmed.unionmedtv.network;
import android.app.Application;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import androidx.annotation.NonNull;
import com.lxj.xpopup.XPopup;
import com.unionmed.unionmedtv.R;
import com.google.gson.JsonSyntaxException;
import com.hjq.gson.factory.GsonFactory;
@ -15,6 +17,12 @@ import com.hjq.http.exception.DataException;
import com.hjq.http.exception.NullBodyException;
import com.hjq.http.exception.ResponseException;
import com.hjq.http.request.HttpRequest;
import com.unionmed.unionmedtv.activity.HomeActivity;
import com.unionmed.unionmedtv.dialog.TipDialog;
import com.unionmed.unionmedtv.livedatas.LiveDataBus;
import com.unionmed.unionmedtv.login.activity.LoginActivity;
import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants;
import java.io.IOException;
import java.io.InputStream;
@ -62,7 +70,7 @@ public class RequestHandler implements IRequestHandler {
}
// 如果是用数组接收,判断一下是不是用 byte[] 类型进行接收的
if(type instanceof GenericArrayType) {
if (type instanceof GenericArrayType) {
Type genericComponentType = ((GenericArrayType) type).getGenericComponentType();
if (byte.class.equals(genericComponentType)) {
return body.bytes();
@ -106,6 +114,15 @@ public class RequestHandler implements IRequestHandler {
if (model.isRequestSucceed()) {
// 代表执行成功
if (model.getData() instanceof ApiResponse) {
ApiResponse<?> model1 = (ApiResponse<?>) model.getData();
if (model1.getCode() == -1) {
LiveDataBus.get().with(Constants.EXIT_LOGIN).postValue("");
return result;
}
}
return result;
}

@ -27,5 +27,6 @@ public class Constants {
public static final int DEFAULT_ERROR_VALUE = -1;
public static final String CITY_SELECT = "city_select";
public static final String EXIT_LOGIN = "exit_login";
}

@ -5,6 +5,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/bg_hospital_detail"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical">
<RelativeLayout
@ -47,6 +49,7 @@
android:layout_height="match_parent"
android:hint="请输入医院名称"
android:focusable="true"
android:focusableInTouchMode="true"
android:background="@null"
android:textColor="@color/white_e1e1e1"
android:textSize="21sp"

@ -1,6 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
@ -34,8 +37,8 @@
android:hint="请输入手机号码"
android:inputType="number"
android:paddingLeft="15dp"
android:textColorHint="#ffffff"
android:textColor="#ffffff"
android:textColorHint="#ffffff"
android:textSize="21sp" />
<EditText
@ -44,24 +47,24 @@
android:layout_height="50dp"
android:layout_marginTop="20dp"
android:background="@drawable/edit_phone_select"
android:digits="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:focusable="true"
android:gravity="center_vertical"
android:hint="请输入密码"
android:digits="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:paddingLeft="15dp"
android:textColorHint="#ffffff"
android:textColor="#ffffff"
android:textColorHint="#ffffff"
android:textSize="21sp" />
<TextView
android:id="@+id/tv_login"
android:layout_width="290dp"
android:layout_height="50dp"
android:layout_marginTop="45dp"
android:background="@drawable/btn_select"
android:focusable="true"
android:gravity="center"
android:text="登录"
android:layout_marginTop="45dp"
android:textColor="#fff1f1f1"
android:textSize="19sp" />
@ -78,7 +81,8 @@
android:background="@drawable/account_password_select"
android:focusable="true"
android:gravity="center"
android:textColor="@color/colorWhite"
android:text="扫码快捷登录"
android:textColor="@color/colorWhite"
android:textSize="19sp" />
</RelativeLayout>
</RelativeLayout>
</androidx.core.widget.NestedScrollView>

@ -1,6 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
@ -34,8 +37,8 @@
android:hint="请输入手机号码"
android:inputType="number"
android:paddingLeft="15dp"
android:textColorHint="#ffffff"
android:textColor="#ffffff"
android:textColorHint="#ffffff"
android:textSize="21sp" />
<LinearLayout
@ -54,8 +57,8 @@
android:hint="请输入验证码"
android:inputType="number"
android:paddingLeft="15dp"
android:textColorHint="#ffffff"
android:textColor="#ffffff"
android:textColorHint="#ffffff"
android:textSize="21sp" />
<TextView
@ -74,11 +77,11 @@
android:id="@+id/tv_login"
android:layout_width="290dp"
android:layout_height="50dp"
android:layout_marginTop="45dp"
android:background="@drawable/btn_select"
android:focusable="true"
android:gravity="center"
android:text="登录"
android:layout_marginTop="45dp"
android:textColor="#fff1f1f1"
android:textSize="19sp" />
@ -115,7 +118,8 @@
android:background="@drawable/account_password_select"
android:focusable="true"
android:gravity="center"
android:textColor="@color/lb_tv_white"
android:text="账号密码登录"
android:textColor="@color/lb_tv_white"
android:textSize="19sp" />
</RelativeLayout>
</RelativeLayout>
</androidx.core.widget.NestedScrollView>
Loading…
Cancel
Save