提交 73293dee authored 作者: lgd's avatar lgd

1.登录

上级 8de260c2
...@@ -127,14 +127,28 @@ public interface ApiService { ...@@ -127,14 +127,28 @@ public interface ApiService {
@POST("/open/sys/user/register") @POST("/open/sys/user/register")
Observable<BaseBean> register(@Body RequestBody requestBody); Observable<BaseBean> register(@Body RequestBody requestBody);
/**
* 登录
* grant_type=userNew
* grant_type=phone
* @return
*/
@POST("/login")
Observable<BaseBean> login(@Query("grant_type")String type,@Body RequestBody requestBody);
/**
* 退出登录
*
* @return
*/
@POST("/authorities/logout")
Observable<BaseBean> logout();
/** /**
* 忘记密码(短信验证码的方式,重置密码) * 忘记密码(短信验证码的方式,重置密码)
* *
* @return * @return
*/ */
@PUT("/open/change-pwd-forget") @PUT("/open/change-pwd-forget")
Observable<JSONObject> forgetPwd(@Query("phone") String phone, Observable<BaseBean> forgetPwd(@Query("phone") String phone,
@Query("verifyCode") String verifyCode, @Query("newPassword") String newPassword); @Query("verifyCode") String verifyCode, @Query("newPassword") String newPassword);
/** /**
......
package com.wd.workoffice.app; package com.wd.workoffice.app;
import flexible.xd.android_base.base.BaseActivity; import flexible.xd.android_base.base.BaseActivity;
import flexible.xd.android_base.mvpBase.IBaseView;
import me.jessyan.autosize.AutoSize; import me.jessyan.autosize.AutoSize;
...@@ -8,7 +9,7 @@ import me.jessyan.autosize.AutoSize; ...@@ -8,7 +9,7 @@ import me.jessyan.autosize.AutoSize;
* Created by flexible on 2018/6/6. * Created by flexible on 2018/6/6.
*/ */
public abstract class WorkBaseActivity extends BaseActivity { public abstract class WorkBaseActivity extends BaseActivity implements IBaseView {
// private NetWorkBroadcast netWorkBroadcast; // private NetWorkBroadcast netWorkBroadcast;
// @Override // @Override
// public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { // public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
...@@ -30,4 +31,19 @@ public abstract class WorkBaseActivity extends BaseActivity { ...@@ -30,4 +31,19 @@ public abstract class WorkBaseActivity extends BaseActivity {
// intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); // intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
// registerReceiver(netWorkBroadcast, intentFilter); // registerReceiver(netWorkBroadcast, intentFilter);
// } // }
@Override
public void showLoading() {
isLoad(true);
}
@Override
public void hideLoading() {
isLoad(false);
}
@Override
public void onError(String message) {
toast(message);
}
} }
package com.wd.workoffice.bean.workEnum;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public enum CodeType {
//login、register、alterPwd
LOGIN("login"), REGISTER("register"),
ALTERPWD("alterPwd");
private String name;
public String getName() {
return name;
}
CodeType(String name) {
this.name = name;
}
}
package com.wd.workoffice.contract;
import com.wd.workoffice.app.BaseBean;
import flexible.xd.android_base.mvpBase.IBaseModel;
import flexible.xd.android_base.mvpBase.IBaseView;
import flexible.xd.android_base.mvpBase.IPresenter;
import io.reactivex.Observable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public interface ForgetOneContract {
interface Model extends IBaseModel {
Observable<BaseBean> getCode(String phone, String type);
Observable<BaseBean> verifyCode(String phone, String verifyCode, String type);
}
interface View extends IBaseView {
void codeSuccess();
void verifySuccess();
}
interface Presenter extends IPresenter<View> {
void getCode(String phone, String type);
void verifyCode(String phone, String verifyCode, String type);
}
}
package com.wd.workoffice.contract;
import com.wd.workoffice.app.BaseBean;
import java.util.Map;
import flexible.xd.android_base.mvpBase.IBaseModel;
import flexible.xd.android_base.mvpBase.IBaseView;
import flexible.xd.android_base.mvpBase.IPresenter;
import io.reactivex.Observable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public interface LoginContract {
interface Model extends IBaseModel {
Observable<BaseBean> getCode(String phone, String type);
Observable<BaseBean> login(String type,Map<String,Object> param);
}
interface View extends IBaseView {
void codeSuccess();
void loginSuccess();
}
interface Presenter extends IPresenter<View> {
void getCode(String phone, String type);
void login(String type ,Map<String,Object> param);
}
}
...@@ -24,7 +24,7 @@ public interface UserRegisterThreeContract { ...@@ -24,7 +24,7 @@ public interface UserRegisterThreeContract {
} }
interface View extends IBaseView { interface View extends IBaseView {
void registerSuccess(); void registerSuccess(String msg);
void depSuccess(List<DepBean> depList); void depSuccess(List<DepBean> depList);
} }
......
package com.wd.workoffice.model;
import com.wd.workoffice.app.ApiService;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.contract.ForgetOneContract;
import flexible.xd.android_base.network.rtfhttp.RtfHelper;
import io.reactivex.Observable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ForgetOneModel implements ForgetOneContract.Model {
@Override
public Observable<BaseBean> getCode(String phone, String type) {
return RtfHelper.getInstance().getApiService(ApiService.class).code(phone, type);
}
@Override
public Observable<BaseBean> verifyCode(String phone, String verifyCode, String type) {
return RtfHelper.getInstance().getApiService(ApiService.class).verifyCode(phone, verifyCode, type);
}
public static ForgetOneModel newInstance() {
return new ForgetOneModel();
}
}
package com.wd.workoffice.model;
import com.wd.workoffice.app.ApiService;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.contract.LoginContract;
import com.wd.workoffice.util.WorkUtils;
import java.util.Map;
import flexible.xd.android_base.network.rtfhttp.RtfHelper;
import io.reactivex.Observable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class LoginModel implements LoginContract.Model {
@Override
public Observable<BaseBean> getCode(String phone, String type) {
return RtfHelper.getInstance().getApiService(ApiService.class).code(phone, type);
}
@Override
public Observable<BaseBean> login(String type, Map<String, Object> param) {
return RtfHelper.getInstance().getApiService(ApiService.class).login(type, WorkUtils.convertMapToBody(param));
}
public static LoginModel newInstance() {
return new LoginModel();
}
}
...@@ -19,13 +19,14 @@ public class UserRegisterThreeModel implements UserRegisterThreeContract.Model { ...@@ -19,13 +19,14 @@ public class UserRegisterThreeModel implements UserRegisterThreeContract.Model {
@Override @Override
public Observable<BaseBean> register(Map<String, Object> param) { public Observable<BaseBean> register(Map<String, Object> param) {
return RtfHelper.getInstance().getApiService(ApiService.class).register( WorkUtils.convertMapToBody(param)); return RtfHelper.getInstance().getApiService(ApiService.class).register(WorkUtils.convertMapToBody(param));
} }
@Override @Override
public Observable<BaseBean> depList() { public Observable<BaseBean> depList() {
return RtfHelper.getInstance().getApiService(ApiService.class).depList(); return RtfHelper.getInstance().getApiService(ApiService.class).depList();
} }
public static UserRegisterThreeModel newInstance() { public static UserRegisterThreeModel newInstance() {
return new UserRegisterThreeModel(); return new UserRegisterThreeModel();
} }
......
package com.wd.workoffice.presenter;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.contract.ForgetOneContract;
import com.wd.workoffice.contract.LoginContract;
import com.wd.workoffice.contract.UserRegisterOneContract;
import com.wd.workoffice.model.ForgetOneModel;
import com.wd.workoffice.model.UserRegisterOneModel;
import flexible.xd.android_base.mvpBase.BasePresenter;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.network.rtfhttp.observer.BaseObserver;
import io.reactivex.disposables.Disposable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ForgetOnePresenter extends BasePresenter<ForgetOneContract.View, ForgetOneContract.Model> implements ForgetOneContract.Presenter {
@Override
public ForgetOneContract.Model bindModel() {
return ForgetOneModel.newInstance();
}
@Override
public void getCode(String phone, String type) {
mView.showLoading();
mModel.getCode(phone, type).compose(Transformer.schedule()).subscribe(new BaseObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onFail(String errorMsg) {
mView.hideLoading();
mView.onError(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
mView.hideLoading();
if (data.getCode() != 0) {
mView.onError(data.getMessage());
return;
}
mView.codeSuccess();
}
});
}
@Override
public void verifyCode(String phone, String verifyCode, String type) {
mView.showLoading();
mModel.verifyCode(phone, verifyCode,type).compose(Transformer.schedule()).subscribe(new BaseObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onFail(String errorMsg) {
mView.hideLoading();
mView.onError(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
mView.hideLoading();
if (data.getCode() != 0) {
mView.onError(data.getMessage());
return;
}
mView.verifySuccess();
}
});
}
}
package com.wd.workoffice.presenter;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.contract.LoginContract;
import com.wd.workoffice.contract.UserRegisterOneContract;
import com.wd.workoffice.model.LoginModel;
import java.util.Map;
import flexible.xd.android_base.mvpBase.BasePresenter;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.network.rtfhttp.observer.BaseObserver;
import io.reactivex.disposables.Disposable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class LoginPresenter extends BasePresenter<LoginContract.View, LoginContract.Model>
implements LoginContract.Presenter {
@Override
public void getCode(String phone, String type) {
mView.showLoading();
mModel.getCode(phone, type).compose(Transformer.schedule()).subscribe(new BaseObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onFail(String errorMsg) {
mView.hideLoading();
mView.onError(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
mView.hideLoading();
if (data.getCode() != 0) {
mView.onError(data.getMessage());
return;
}
mView.codeSuccess();
}
});
}
@Override
public void login(String type, Map<String, Object> param) {
mView.showLoading();
mModel.login(type, param).compose(Transformer.schedule()).subscribe(new BaseObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onFail(String errorMsg) {
mView.hideLoading();
mView.onError(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
mView.hideLoading();
if (data.getCode() != 0) {
mView.onError(data.getMessage());
return;
}
mView.loginSuccess();
}
});
}
@Override
public LoginContract.Model bindModel() {
return LoginModel.newInstance();
}
}
...@@ -40,7 +40,7 @@ public class UserRegisterOnePresenter extends BasePresenter<UserRegisterOneContr ...@@ -40,7 +40,7 @@ public class UserRegisterOnePresenter extends BasePresenter<UserRegisterOneContr
@Override @Override
public void onSuccess(BaseBean data) { public void onSuccess(BaseBean data) {
mView.hideLoading(); mView.hideLoading();
if (data.getStatus() != 0) { if (data.getCode() != 0) {
mView.onError(data.getMessage()); mView.onError(data.getMessage());
return; return;
} }
...@@ -67,7 +67,7 @@ public class UserRegisterOnePresenter extends BasePresenter<UserRegisterOneContr ...@@ -67,7 +67,7 @@ public class UserRegisterOnePresenter extends BasePresenter<UserRegisterOneContr
@Override @Override
public void onSuccess(BaseBean data) { public void onSuccess(BaseBean data) {
mView.hideLoading(); mView.hideLoading();
if (data.getStatus() != 0) { if (data.getCode() != 0) {
mView.onError(data.getMessage()); mView.onError(data.getMessage());
return; return;
} }
......
...@@ -39,11 +39,11 @@ public class UserRegisterThreePresenter extends BasePresenter<UserRegisterThreeC ...@@ -39,11 +39,11 @@ public class UserRegisterThreePresenter extends BasePresenter<UserRegisterThreeC
@Override @Override
public void onSuccess(BaseBean data) { public void onSuccess(BaseBean data) {
mView.hideLoading(); mView.hideLoading();
if (data.getStatus() != 0) { if (data.getCode() != 0) {
mView.onError(data.getMessage()); mView.onError(data.getMessage());
return; return;
} }
mView.registerSuccess(); mView.registerSuccess(data.getData().toString());
} }
}); });
} }
...@@ -66,7 +66,7 @@ public class UserRegisterThreePresenter extends BasePresenter<UserRegisterThreeC ...@@ -66,7 +66,7 @@ public class UserRegisterThreePresenter extends BasePresenter<UserRegisterThreeC
@Override @Override
public void onSuccess(BaseBean data) { public void onSuccess(BaseBean data) {
mView.hideLoading(); mView.hideLoading();
if (data.getStatus() != 0) { if (data.getCode() != 0) {
mView.onError(data.getMessage()); mView.onError(data.getMessage());
return; return;
} }
......
package com.wd.workoffice.ui.login; package com.wd.workoffice.ui.login;
import android.os.Bundle; import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
...@@ -8,16 +10,22 @@ import android.widget.TextView; ...@@ -8,16 +10,22 @@ import android.widget.TextView;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.workEnum.CodeType;
import com.wd.workoffice.contract.ForgetOneContract;
import com.wd.workoffice.presenter.ForgetOnePresenter;
import com.wd.workoffice.presenter.UserRegisterOnePresenter;
import com.wd.workoffice.util.WorkUtils;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import flexible.xd.android_base.utils.RegexUtils;
import flexible.xd.android_base.utils.ToastUtil;
/* /*
* 忘记密码第一步 * 忘记密码第一步
* */ * */
public class ForgetOneActivity extends WorkToolBarActivity { public class ForgetOneActivity extends WorkToolBarActivity implements ForgetOneContract.View {
@BindView(R.id.et_phone) @BindView(R.id.et_phone)
EditText etPhone; EditText etPhone;
...@@ -27,36 +35,110 @@ public class ForgetOneActivity extends WorkToolBarActivity { ...@@ -27,36 +35,110 @@ public class ForgetOneActivity extends WorkToolBarActivity {
TextView tvCode; TextView tvCode;
@BindView(R.id.btn_register) @BindView(R.id.btn_register)
Button btnRegister; Button btnRegister;
private ForgetOnePresenter registerFirstPresenter;
@Override
protected int layoutId() {
return R.layout.activity_forget_pwd_one;
}
@Override @Override
protected void initView() { protected void initView() {
ButterKnife.bind(this); ButterKnife.bind(this);
registerFirstPresenter = new ForgetOnePresenter();
registerFirstPresenter.onAttach(this);
btnRegister.setEnabled(false);
} }
@Override @Override
public void initData() { protected void initData() {
} }
@Override @Override
protected void initEvent() { protected void initEvent() {
etPhone.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
} }
@Override @Override
protected int layoutId() { public void onTextChanged(CharSequence s, int start, int before, int count) {
return R.layout.activity_forget_pwd_one;
} }
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s) && !TextUtils.isEmpty(etCode.getText().toString())) {
btnRegister.setEnabled(true);
} else {
btnRegister.setEnabled(false);
}
}
});
etCode.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s) && !TextUtils.isEmpty(etPhone.getText().toString())) {
btnRegister.setEnabled(true);
} else {
btnRegister.setEnabled(false);
}
}
});
}
@OnClick({R.id.tv_code, R.id.btn_register}) @OnClick({R.id.tv_code, R.id.btn_register})
public void onViewClicked(View view) { public void onViewClicked(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.tv_code: case R.id.tv_code:
String phone = etPhone.getText().toString();
if (TextUtils.isEmpty(phone) || !RegexUtils.isMobileSimple(phone)) {
toast("请输入正确的手机号");
return;
}
registerFirstPresenter.getCode(phone, CodeType.ALTERPWD.getName());
break; break;
case R.id.btn_register: case R.id.btn_register:
startActivity(ForgetTwoActivity.class); String code = etCode.getText().toString();
if (TextUtils.isEmpty(code)) {
toast("请输入验证码");
return;
}
registerFirstPresenter.verifyCode(etPhone.getText().toString(), code, CodeType.ALTERPWD.getName());
break; break;
} }
} }
@Override
public void onError(String message) {
toast(message);
}
@Override
public void codeSuccess() {
WorkUtils.timerSeckill(tvCode, 60 * 1000, 1000, 0);
ToastUtil.showLong("验证码发送成功,请注意查收!");
}
@Override
public void verifySuccess() {
startActivity(ForgetTwoActivity.class, "phone", etPhone.getText().toString(), "code",
etCode.getText().toString());
}
} }
package com.wd.workoffice.ui.login; package com.wd.workoffice.ui.login;
import android.os.Bundle; import android.text.TextUtils;
import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.ApiService;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.RtfHelper;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.network.rtfhttp.observer.BaseObserver;
import flexible.xd.android_base.utils.RegexUtils;
import io.reactivex.disposables.Disposable;
/* /*
* 忘记密码第二步 * 忘记密码第二步
...@@ -45,9 +52,43 @@ public class ForgetTwoActivity extends WorkToolBarActivity { ...@@ -45,9 +52,43 @@ public class ForgetTwoActivity extends WorkToolBarActivity {
} }
@OnClick(R.id.btn_login) @OnClick(R.id.btn_login)
public void onViewClicked() { public void onViewClicked() {
String pwd = etPwd.getText().toString();
String confirmPwd = etConfirmPwd.getText().toString();
if (!RegexUtils.isMatch(Config.REGEX_PASSWORD, pwd)) {
toast("设置密码数字或字母6-16位");
return;
}
if (!TextUtils.equals(pwd, confirmPwd)) {
toast("两次输入的密码不一致");
return;
}
showLoading();
RtfHelper.getInstance().getApiService(ApiService.class).
forgetPwd(getIntent().getStringExtra("phone"),
getIntent().getStringExtra("code"), pwd).compose(Transformer.schedule())
.subscribe(new BaseObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
hideLoading();
if (data.getCode() != 0) {
toast(data.getMessage());
return;
}
toast("修改密码成功");
startActivity(LoginActivity.class);
}
});
} }
} }
package com.wd.workoffice.ui.login; package com.wd.workoffice.ui.login;
import android.os.Bundle; import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.RadioButton; import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView; import android.widget.TextView;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkBaseActivity; import com.wd.workoffice.app.WorkBaseActivity;
import com.wd.workoffice.bean.workEnum.CodeType;
import com.wd.workoffice.contract.LoginContract;
import com.wd.workoffice.presenter.LoginPresenter;
import com.wd.workoffice.ui.MainActivity;
import com.wd.workoffice.util.WorkUtils;
import java.util.HashMap;
import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import flexible.xd.android_base.base.BaseActivity; import flexible.xd.android_base.utils.ToastUtil;
/* /*
* 注释:关于登录页 * 注释:关于登录页
* */ * */
public class LoginActivity extends WorkBaseActivity { public class LoginActivity extends WorkBaseActivity implements LoginContract.View {
@BindView(R.id.rb_pwd) @BindView(R.id.rb_pwd)
RadioButton rbPwd; RadioButton rbPwd;
@BindView(R.id.rb_phone) @BindView(R.id.rb_phone)
RadioButton rbPhone; RadioButton rbPhone;
@BindView(R.id.rg_RadioGroup)
RadioGroup rgRadioGroup;
@BindView(R.id.et_account) @BindView(R.id.et_account)
EditText etAccount; EditText etAccount;
@BindView(R.id.dl_Relative2)
LinearLayout dlRelative2;
@BindView(R.id.ll_pwd) @BindView(R.id.ll_pwd)
LinearLayout llPwd; LinearLayout llPwd;
@BindView(R.id.et_phone) @BindView(R.id.et_phone)
...@@ -51,10 +56,16 @@ public class LoginActivity extends WorkBaseActivity { ...@@ -51,10 +56,16 @@ public class LoginActivity extends WorkBaseActivity {
TextView tvForget; TextView tvForget;
@BindView(R.id.tv_register) @BindView(R.id.tv_register)
TextView tvRegister; TextView tvRegister;
private int type;
private LoginPresenter loginPresenter;
@Override @Override
protected void initView() { protected void initView() {
ButterKnife.bind(this); ButterKnife.bind(this);
loginPresenter = new LoginPresenter();
loginPresenter.onAttach(this);
changeType(0);
btnLogin.setEnabled(false);
} }
@Override @Override
...@@ -63,7 +74,86 @@ public class LoginActivity extends WorkBaseActivity { ...@@ -63,7 +74,86 @@ public class LoginActivity extends WorkBaseActivity {
@Override @Override
protected void initEvent() { protected void initEvent() {
etCode.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s) && !TextUtils.isEmpty(etPhone.getText().toString())) {
btnLogin.setEnabled(true);
} else {
btnLogin.setEnabled(false);
}
}
});
etPhone.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s) && !TextUtils.isEmpty(etCode.getText().toString())) {
btnLogin.setEnabled(true);
} else {
btnLogin.setEnabled(false);
}
}
});
etAccount.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s) && !TextUtils.isEmpty(etPassword.getText().toString())) {
btnLogin.setEnabled(true);
} else {
btnLogin.setEnabled(false);
}
}
});
etPassword.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s) && !TextUtils.isEmpty(etAccount.getText().toString())) {
btnLogin.setEnabled(true);
} else {
btnLogin.setEnabled(false);
}
}
});
} }
@Override @Override
...@@ -72,31 +162,38 @@ public class LoginActivity extends WorkBaseActivity { ...@@ -72,31 +162,38 @@ public class LoginActivity extends WorkBaseActivity {
} }
@OnClick({R.id.rb_pwd, R.id.rb_phone, R.id.btn_login, R.id.tv_code, R.id.tv_forget, R.id.tv_register})
@OnClick({R.id.rb_pwd, R.id.rb_phone, R.id.btn_login,R.id.tv_code, R.id.tv_forget, R.id.tv_register})
public void onViewClicked(View view) { public void onViewClicked(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.rb_pwd: case R.id.rb_pwd:
llPhone.setVisibility(View.GONE);//显示 changeType(0);
llPwd.setVisibility(View.VISIBLE);//隐藏
break; break;
case R.id.rb_phone: case R.id.rb_phone:
llPwd.setVisibility(View.GONE);//显示 changeType(1);
llPhone.setVisibility(View.VISIBLE);//隐藏
break; break;
case R.id.tv_code: case R.id.tv_code:
String phone = etPhone.getText().toString();
loginPresenter.getCode(phone, CodeType.LOGIN.getName());
break; break;
case R.id.btn_login: case R.id.btn_login:
// String mAccNumbers = mAccountNumber.getText().toString();//注册账号 Map<String, Object> param = new HashMap<>();
// String mAccNumberPwds = mAccountNumberPwd.getText().toString();//输入账号密码 String loginType;
// HashMap<String, Object> map = new HashMap<>(); if (type == 0) {
// map.put("principal", mAccNumbers);//账号 loginType = "userNew";
// map.put("credentials", mAccNumberPwds);//密码 String account = etAccount.getText().toString();
// map.put("clientId", "android");//web、ios、android(自行对应选择 String pwd = etPassword.getText().toString();
// map.put("clientSecret", "android"); param.put("principal", account);
// //登录请求接口 param.put("credentials", pwd);
// presenter.postBodyMethod(MyApi.BASE_URL_LOGIN, map, LoginBean.class); } else {
loginType = "phone";
String p = etPhone.getText().toString();
String code = etCode.getText().toString();
param.put("phone", p);
param.put("code", code);
}
param.put("clientId", "android");
param.put("clientSecret", "android");
loginPresenter.login(loginType, param);
break; break;
case R.id.tv_forget: case R.id.tv_forget:
startActivity(ForgetOneActivity.class); startActivity(ForgetOneActivity.class);
...@@ -107,5 +204,39 @@ public class LoginActivity extends WorkBaseActivity { ...@@ -107,5 +204,39 @@ public class LoginActivity extends WorkBaseActivity {
} }
} }
/**
* @param t 0 密码 1 手机号
*/
private void changeType(int t) {
if (t == 0) {
llPhone.setVisibility(View.GONE);//显示
llPwd.setVisibility(View.VISIBLE);//隐藏
type = 0;
if (!TextUtils.isEmpty(etPassword.getText().toString()) && !TextUtils.isEmpty(etAccount.getText().toString())) {
btnLogin.setEnabled(true);
} else {
btnLogin.setEnabled(false);
}
} else {
llPhone.setVisibility(View.VISIBLE);//显示
llPwd.setVisibility(View.GONE);//隐藏
type = 1;
if (!TextUtils.isEmpty(etPhone.getText().toString()) && !TextUtils.isEmpty(etCode.getText().toString())) {
btnLogin.setEnabled(true);
} else {
btnLogin.setEnabled(false);
}
}
}
@Override
public void codeSuccess() {
WorkUtils.timerSeckill(tvCode, 60 * 1000, 1000, 0);
ToastUtil.showLong("验证码发送成功,请注意查收!");
}
@Override
public void loginSuccess() {
startActivity(MainActivity.class);
}
} }
...@@ -10,6 +10,7 @@ import android.widget.TextView; ...@@ -10,6 +10,7 @@ import android.widget.TextView;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.workEnum.CodeType;
import com.wd.workoffice.contract.UserRegisterOneContract; import com.wd.workoffice.contract.UserRegisterOneContract;
import com.wd.workoffice.presenter.UserRegisterOnePresenter; import com.wd.workoffice.presenter.UserRegisterOnePresenter;
import com.wd.workoffice.util.WorkUtils; import com.wd.workoffice.util.WorkUtils;
...@@ -110,7 +111,7 @@ public class UserRegisterOneActivity extends WorkToolBarActivity implements User ...@@ -110,7 +111,7 @@ public class UserRegisterOneActivity extends WorkToolBarActivity implements User
toast("请输入正确的手机号"); toast("请输入正确的手机号");
return; return;
} }
registerFirstPresenter.getCode(phone, "register"); registerFirstPresenter.getCode(phone, CodeType.REGISTER.getName());
break; break;
case R.id.btn_register: case R.id.btn_register:
String code = etCode.getText().toString(); String code = etCode.getText().toString();
...@@ -118,7 +119,7 @@ public class UserRegisterOneActivity extends WorkToolBarActivity implements User ...@@ -118,7 +119,7 @@ public class UserRegisterOneActivity extends WorkToolBarActivity implements User
toast("请输入验证码"); toast("请输入验证码");
return; return;
} }
registerFirstPresenter.verifyCode(etPhone.getText().toString(), code, "register"); registerFirstPresenter.verifyCode(etPhone.getText().toString(), code, CodeType.REGISTER.getName());
break; break;
case R.id.tv_go_protocol: case R.id.tv_go_protocol:
break; break;
......
...@@ -128,9 +128,9 @@ public class UserRegisterThreeActivity extends WorkToolBarActivity implements Us ...@@ -128,9 +128,9 @@ public class UserRegisterThreeActivity extends WorkToolBarActivity implements Us
return; return;
} }
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("userName", etName.getText().toString()); param.put("userName",getIntent().getStringExtra("name") );
param.put("password", getIntent().getStringExtra("pwd")); param.put("password", getIntent().getStringExtra("pwd"));
param.put("nickName", getIntent().getStringExtra("name")); param.put("nickName",etName.getText().toString() ) ;
param.put("email", etEmail.getText().toString()); param.put("email", etEmail.getText().toString());
param.put("phone", getIntent().getStringExtra("phone")); param.put("phone", getIntent().getStringExtra("phone"));
// param.put("erpId", ""); // param.put("erpId", "");
...@@ -154,8 +154,8 @@ public class UserRegisterThreeActivity extends WorkToolBarActivity implements Us ...@@ -154,8 +154,8 @@ public class UserRegisterThreeActivity extends WorkToolBarActivity implements Us
} }
@Override @Override
public void registerSuccess() { public void registerSuccess(String msg) {
toast("注册成功"); toast(msg);
startActivity(LoginActivity.class); startActivity(LoginActivity.class);
} }
......
...@@ -127,10 +127,14 @@ public class UserRegisterTwoActivity extends WorkToolBarActivity { ...@@ -127,10 +127,14 @@ public class UserRegisterTwoActivity extends WorkToolBarActivity {
toast("账号名称数字和字母4-16位"); toast("账号名称数字和字母4-16位");
return; return;
} }
if(!RegexUtils.isMatch(Config.REGEX_PASSWORD,name)){ if(!RegexUtils.isMatch(Config.REGEX_PASSWORD,pwd)){
toast("设置密码数字或字母6-16位"); toast("设置密码数字或字母6-16位");
return; return;
} }
if (TextUtils.equals(pwd, "123456")) {
toast("密码不能为123456");
return;
}
if (!TextUtils.equals(pwd, confirmPwd)) { if (!TextUtils.equals(pwd, confirmPwd)) {
toast("两次输入的密码不一致"); toast("两次输入的密码不一致");
return; return;
......
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
android:layout_marginLeft="10mm" android:layout_marginLeft="10mm"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:inputType="phone"
android:hint="输入手机号" android:hint="输入手机号"
android:textSize="12sp" /> android:textSize="12sp" />
...@@ -85,15 +86,16 @@ ...@@ -85,15 +86,16 @@
android:background="@null" android:background="@null"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="输入验证码" android:hint="输入验证码"
android:inputType="textPassword" android:inputType="number"
android:textColorHint="@color/flexible_text_sup" android:textColorHint="@color/flexible_text_sup"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
android:id="@+id/tv_code" android:id="@+id/tv_code"
android:layout_width="70mm" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center" android:gravity="center"
android:paddingHorizontal="10mm"
android:text="获取验证码" android:text="获取验证码"
android:textColor="@color/mainTextColor" android:textColor="@color/mainTextColor"
android:textSize="13sp" /> android:textSize="13sp" />
...@@ -106,7 +108,7 @@ ...@@ -106,7 +108,7 @@
android:layout_height="50mm" android:layout_height="50mm"
android:layout_marginHorizontal="58mm" android:layout_marginHorizontal="58mm"
android:layout_marginTop="80mm" android:layout_marginTop="80mm"
android:background="@mipmap/btn_main_bg" android:background="@drawable/selector_btn"
android:text="注册" android:text="注册"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="20sp" /> android:textSize="20sp" />
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
android:layout_height="50mm" android:layout_height="50mm"
android:layout_marginHorizontal="58mm" android:layout_marginHorizontal="58mm"
android:layout_marginTop="80mm" android:layout_marginTop="80mm"
android:background="@mipmap/btn_main_bg" android:background="@drawable/selector_btn"
android:text="登录" android:text="登录"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="20sp" /> android:textSize="20sp" />
......
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
android:layout_marginTop="2dp"> android:layout_marginTop="2dp">
<RadioGroup <RadioGroup
android:id="@+id/rg_RadioGroup"
android:layout_width="200mm" android:layout_width="200mm"
android:layout_height="43dp" android:layout_height="43dp"
android:layout_centerInParent="true" android:layout_centerInParent="true"
...@@ -113,13 +112,13 @@ ...@@ -113,13 +112,13 @@
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginHorizontal="10mm" android:layout_marginHorizontal="10mm"
android:background="@null" android:background="@null"
android:inputType="textVisiblePassword"
android:hint="输入注册账号" android:hint="输入注册账号"
android:textColorHint="@color/flexible_text_sup" android:textColorHint="@color/flexible_text_sup"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/dl_Relative2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50mm" android:layout_height="50mm"
android:layout_marginTop="20mm" android:layout_marginTop="20mm"
...@@ -174,6 +173,7 @@ ...@@ -174,6 +173,7 @@
android:layout_marginHorizontal="10mm" android:layout_marginHorizontal="10mm"
android:background="@null" android:background="@null"
android:hint="输入手机号" android:hint="输入手机号"
android:inputType="phone"
android:textColorHint="@color/flexible_text_sup" android:textColorHint="@color/flexible_text_sup"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
...@@ -235,7 +235,7 @@ ...@@ -235,7 +235,7 @@
android:layout_width="256mm" android:layout_width="256mm"
android:layout_height="53mm" android:layout_height="53mm"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:background="@mipmap/btn_main_bg" android:background="@drawable/selector_btn"
android:text="登录" android:text="登录"
android:layout_marginTop="30mm" android:layout_marginTop="30mm"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论