注册/登录接口联调
This commit is contained in:
@@ -18,7 +18,7 @@ public class AppConfig {
|
||||
// public static boolean IS_TEST_REQUEST = true;
|
||||
|
||||
/**************************本地*******************************/
|
||||
public static String BASE_URL = "http://192.168.1.67:8081/";//测试
|
||||
public static String BASE_URL = "http://192.168.1.217:8081/";//测试
|
||||
public static String BASE_URL_TWO = BASE_URL;//测试
|
||||
public static String BASE_URL_THREE = BASE_URL;//测试
|
||||
public static boolean IS_TEST_REQUEST = true;
|
||||
@@ -116,4 +116,8 @@ public class AppConfig {
|
||||
//用户分享链接
|
||||
public static String USER_SHARE_URL = "https://sta.mingdengbazi.site/on/index.html?code=";
|
||||
|
||||
//clientID 固定 token
|
||||
public static String APP_CLIENT_ID = "428a8310cd442757ae699df5d894f051";
|
||||
public static String APP_USER_TYPE = "app_user";
|
||||
|
||||
}
|
||||
|
||||
@@ -122,6 +122,11 @@ public class GuideActivity extends BaseActivity<GuideActivityLayoutBinding, Logi
|
||||
super.initWidget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPhoneCodeSuccess(BaseBean bean) {
|
||||
}
|
||||
|
||||
@@ -5,7 +5,10 @@ import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
|
||||
import com.ckkj.water.AppConfig;
|
||||
import com.ckkj.water.login.LoginActivity;
|
||||
import com.ckkj.water.login.RegisterActivity;
|
||||
import com.ckkj.water.login.RegisterSuccessActivity;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.ckkj.water.ConstantUtil;
|
||||
import com.ckkj.water.MyApplication;
|
||||
@@ -88,9 +91,15 @@ public class LaunchActivity extends BaseActivity<GuideLayoutBinding, MainPresent
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Intent intent = new Intent(mContext, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
if(AppConfig.USER_LOGIN){
|
||||
Intent intent = new Intent(mContext, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}else{
|
||||
goTo(mContext, LoginActivity.class,null);
|
||||
finish();
|
||||
}
|
||||
|
||||
}
|
||||
}, 2000);
|
||||
|
||||
|
||||
@@ -102,6 +102,11 @@ public class ForgetPasswordActivity extends BaseActivity<RegisterLayoutBinding,
|
||||
};
|
||||
|
||||
|
||||
@Override
|
||||
public void registerSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPhoneCodeSuccess(BaseBean bean) {
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
|
||||
setClick(viewBinding.tvGoRegister);
|
||||
setClick(viewBinding.tvLanguage);
|
||||
setClick(viewBinding.tvResetPsd);
|
||||
setClick(viewBinding.checkboxRead);
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
@@ -86,59 +87,74 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
|
||||
}
|
||||
|
||||
private void setupAgreementText() {
|
||||
String prefix = getString(R.string.login_agreement_prefix);
|
||||
String privacy = getString(R.string.login_privacy_policy);
|
||||
String and = getString(R.string.login_and);
|
||||
String userAgreement = getString(R.string.login_user_agreement);
|
||||
String content = prefix + privacy + and + userAgreement;
|
||||
//勾选协议,增加点击区域
|
||||
ClickUtil.addClickPart(viewBinding.checkboxRead,100);
|
||||
TextView tvAgreement = findViewById(R.id.tv_agreement_full);
|
||||
String content = "我已经阅读并同意智能浇灌《用户协议》、《隐私政策》";
|
||||
|
||||
SpannableString spannableString = new SpannableString(content);
|
||||
|
||||
int privacyStart = prefix.length();
|
||||
int privacyEnd = privacyStart + privacy.length();
|
||||
ClickableSpan privacyPolicySpan = new ClickableSpan() {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("from_requse_code", WebviewUserAgreement.PRIVACY_CODE);
|
||||
goToWihoutNoPresent(mContext, WebviewUserAgreement.class, bundle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDrawState(@NonNull TextPaint ds) {
|
||||
super.updateDrawState(ds);
|
||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu));
|
||||
ds.setUnderlineText(false);
|
||||
}
|
||||
};
|
||||
spannableString.setSpan(privacyPolicySpan, privacyStart, privacyEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
int userStart = privacyEnd + and.length();
|
||||
int userEnd = userStart + userAgreement.length();
|
||||
// 设置“用户协议”可点击
|
||||
ClickableSpan userAgreementSpan = new ClickableSpan() {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("from_requse_code", WebviewUserAgreement.AGREEMENT_CODE);
|
||||
goToWihoutNoPresent(mContext, WebviewUserAgreement.class, bundle);
|
||||
// 跳转用户协议
|
||||
// Bundle bundle = new Bundle();
|
||||
// bundle.putInt("from_requse_code", WebviewUserAgreement.AGREEMENT_CODE);
|
||||
// goToWihoutNoPresent(mContext, WebviewUserAgreement.class,bundle);
|
||||
ToastUtil.showShort(mContext,"用户协议");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDrawState(@NonNull TextPaint ds) {
|
||||
super.updateDrawState(ds);
|
||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu));
|
||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu)); // 设置颜色
|
||||
ds.setUnderlineText(false); // 去掉下划线
|
||||
}
|
||||
};
|
||||
int start1 = content.indexOf("《用户协议》");
|
||||
int end1 = start1 + "《用户协议》".length();
|
||||
spannableString.setSpan(userAgreementSpan, start1, end1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
// 设置“隐私政策”可点击
|
||||
ClickableSpan privacyPolicySpan = new ClickableSpan() {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
// 跳转隐私政策
|
||||
// Bundle bundleYS = new Bundle();
|
||||
// bundleYS.putInt("from_requse_code",WebviewUserAgreement.PRIVACY_CODE);
|
||||
// goToWihoutNoPresent(mContext, WebviewUserAgreement.class,bundleYS);
|
||||
ToastUtil.showShort(mContext,"跳转隐私政策");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDrawState(@NonNull TextPaint ds) {
|
||||
super.updateDrawState(ds);
|
||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu)); // 设置颜色
|
||||
ds.setUnderlineText(false);
|
||||
}
|
||||
};
|
||||
spannableString.setSpan(userAgreementSpan, userStart, userEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
int start2 = content.indexOf("《隐私政策》");
|
||||
int end2 = start2 + "《隐私政策》".length();
|
||||
spannableString.setSpan(privacyPolicySpan, start2, end2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
// viewBinding.tvAgreement.setText(spannableString);
|
||||
// viewBinding.tvAgreement.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
tvAgreement.setText(spannableString);
|
||||
tvAgreement.setMovementMethod(LinkMovementMethod.getInstance()); // 开启点击事件
|
||||
}
|
||||
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
|
||||
case R.id.checkbox_read:
|
||||
if(mYinsiConfirm){
|
||||
mYinsiConfirm = false;
|
||||
viewBinding.checkboxRead.setChecked(false);
|
||||
}else{
|
||||
mYinsiConfirm = true;
|
||||
viewBinding.checkboxRead.setChecked(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case R.id.tv_go_register:
|
||||
goTo(mContext, RegisterActivity.class,null);
|
||||
break;
|
||||
@@ -215,33 +231,40 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
|
||||
// viewBinding.checkboxRead.setChecked(true);
|
||||
// }
|
||||
// break;
|
||||
// case R.id.tv_login_confirm:
|
||||
// if (TextUtils.isEmpty(viewBinding.edPhoneInput.getText().toString())) {
|
||||
// ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
|
||||
// return;
|
||||
// }
|
||||
// if (!PhoneNumberUtils.checkPhoneNum(viewBinding.edPhoneInput.getText().toString().trim())) {
|
||||
// ToastUtil.showShort(mContext, getString(R.string.login_error_phone_invalid));
|
||||
// return;
|
||||
// }
|
||||
// if (TextUtils.isEmpty(viewBinding.edCodeInput.getText().toString())) {
|
||||
// ToastUtil.showShort(mContext, getString(R.string.login_error_code_empty));
|
||||
// return;
|
||||
// }
|
||||
// if (viewBinding.edCodeInput.getText().toString().trim().length() < 6) {
|
||||
// ToastUtil.showShort(mContext, getString(R.string.login_error_code_invalid));
|
||||
// return;
|
||||
// }
|
||||
// if (!mYinsiConfirm) {
|
||||
// ToastUtil.showShort(mContext, getString(R.string.login_error_agreement));
|
||||
// return;
|
||||
// }
|
||||
// showLoadingDialog();
|
||||
// mPresenter.loginBySmsCode(
|
||||
// viewBinding.edPhoneInput.getText().toString().trim(),
|
||||
// viewBinding.edCodeInput.getText().toString().trim());
|
||||
case R.id.tv_login:
|
||||
if (TextUtils.isEmpty(viewBinding.etAccount.getText().toString())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
|
||||
return;
|
||||
}
|
||||
if (!PhoneNumberUtils.checkPhoneNum(viewBinding.etAccount.getText().toString().trim()) &&
|
||||
!PhoneNumberUtils.checkEmail(viewBinding.etAccount.getText().toString().trim())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_invalid));
|
||||
return;
|
||||
}
|
||||
if (TextUtils.isEmpty(viewBinding.edCodeInput.getText().toString())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_code_empty));
|
||||
return;
|
||||
}
|
||||
if (viewBinding.edCodeInput.getText().toString().trim().length() < 6) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_code_invalid));
|
||||
return;
|
||||
}
|
||||
if (!mYinsiConfirm) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_agreement));
|
||||
return;
|
||||
}
|
||||
String loginType = "sms";
|
||||
if(LOGIN_TYPE_STATUS_CODE == 100){
|
||||
loginType = "sms";
|
||||
}else{
|
||||
loginType = "password";
|
||||
}
|
||||
showLoadingDialog();
|
||||
mPresenter.loginBySmsCode(loginType,
|
||||
viewBinding.etAccount.getText().toString().trim(),
|
||||
viewBinding.edCodeInput.getText().toString().trim());
|
||||
// new Handler().postDelayed(() -> hideDialogLoading(), 1000);
|
||||
// break;
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
@@ -267,6 +290,11 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public void registerSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPhoneCodeSuccess(BaseBean bean) {
|
||||
hideDialogLoading();
|
||||
@@ -278,18 +306,18 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
|
||||
public void loginBySmsCodeSuccess(LoginEntity entity) {
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_success));
|
||||
SharePreUtil.putBoolean(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_LOGIN, true);
|
||||
SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_TOKEN, entity.getAccess_token());
|
||||
SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_NICKNAME, entity.getUser_info().getNickname());
|
||||
SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_ID, String.valueOf(entity.getUser_info().getUserId()));
|
||||
MingDengUserInfoManager.getInstance().setEntity(entity);
|
||||
MingDengUserInfoManager.getInstance().setUserInfo(entity.getUser_info());
|
||||
Gson gson = new Gson();
|
||||
String userInfoJson = gson.toJson(entity);
|
||||
SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_INFO_JSON_CONTENT, userInfoJson);
|
||||
AppConfig.USER_LOGIN = true;
|
||||
AppConfig.USER_TOKEN = entity.getAccess_token();
|
||||
AppConfig.USER_ID = String.valueOf(entity.getUser_info().getUserId());
|
||||
// SharePreUtil.putBoolean(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_LOGIN, true);
|
||||
// SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_TOKEN, entity.getAccess_token());
|
||||
// SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_NICKNAME, entity.getUser_info().getNickname());
|
||||
// SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_ID, String.valueOf(entity.getUser_info().getUserId()));
|
||||
// MingDengUserInfoManager.getInstance().setEntity(entity);
|
||||
// MingDengUserInfoManager.getInstance().setUserInfo(entity.getUser_info());
|
||||
// Gson gson = new Gson();
|
||||
// String userInfoJson = gson.toJson(entity);
|
||||
// SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.USER_INFO_JSON_CONTENT, userInfoJson);
|
||||
// AppConfig.USER_LOGIN = true;
|
||||
// AppConfig.USER_TOKEN = entity.getAccess_token();
|
||||
// AppConfig.USER_ID = String.valueOf(entity.getUser_info().getUserId());
|
||||
new Handler().postDelayed(() -> {
|
||||
goTo(mContext, MainActivity.class, null);
|
||||
finish();
|
||||
|
||||
@@ -69,11 +69,49 @@ public class RegisterActivity extends BaseActivity<RegisterLayoutBinding, LoginP
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_invalid));
|
||||
return;
|
||||
}
|
||||
cdTimer.start();
|
||||
//发送短信
|
||||
mPresenter.getPhoneCode(viewBinding.etAccount.getText().toString(),"");
|
||||
// cdTimer.start();
|
||||
break;
|
||||
|
||||
case R.id.tv_commit:
|
||||
goTo(mContext, RegisterSuccessActivity.class,null);
|
||||
if (TextUtils.isEmpty(viewBinding.etAccount.getText().toString())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
|
||||
return;
|
||||
}
|
||||
if (!PhoneNumberUtils.checkPhoneNum(viewBinding.etAccount.getText().toString().trim()) &&
|
||||
!PhoneNumberUtils.checkEmail(viewBinding.etAccount.getText().toString().trim())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_invalid));
|
||||
return;
|
||||
}
|
||||
if (TextUtils.isEmpty(viewBinding.etVerfiCode.getText().toString())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
|
||||
return;
|
||||
}
|
||||
if (TextUtils.isEmpty(viewBinding.etVerfiCode.getText().toString())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_phone_empty));
|
||||
return;
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(viewBinding.etInputPsd.getText().toString())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_psd_empty));
|
||||
return;
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(viewBinding.etInputPsdAgin.getText().toString())) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.login_error_psd_agin_empty));
|
||||
return;
|
||||
}
|
||||
|
||||
if(!(viewBinding.etInputPsd.getText().toString()).equals(
|
||||
viewBinding.etInputPsdAgin.getText().toString())){
|
||||
ToastUtil.showShort(mContext, getString(R.string.hint_input_psd_not_match));
|
||||
return;
|
||||
}
|
||||
showLoadingDialog();
|
||||
mPresenter.registerAccount(viewBinding.etAccount.getText().toString(),
|
||||
viewBinding.etVerfiCode.getText().toString(),
|
||||
viewBinding.etInputPsd.getText().toString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -100,6 +138,13 @@ public class RegisterActivity extends BaseActivity<RegisterLayoutBinding, LoginP
|
||||
};
|
||||
|
||||
|
||||
@Override
|
||||
public void registerSuccess(BaseBean bean) {
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext,"注册成功");
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPhoneCodeSuccess(BaseBean bean) {
|
||||
|
||||
@@ -112,6 +157,7 @@ public class RegisterActivity extends BaseActivity<RegisterLayoutBinding, LoginP
|
||||
|
||||
@Override
|
||||
public void showError(String message) {
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext,message);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,6 +79,11 @@ public class RegisterSuccessActivity extends BaseActivity<RegisterSuccessLayoutB
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPhoneCodeSuccess(BaseBean bean) {
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.ckkj.water.network.BaseBean;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author fengxiaoyang
|
||||
* @date 2025/7/26
|
||||
@@ -18,13 +20,17 @@ public class LoginContract {
|
||||
void fail(String msg);
|
||||
}
|
||||
public interface DataModel{
|
||||
//手机验证码登录
|
||||
void register(JSONObject json, CallBack callBack);
|
||||
|
||||
//获取手机验证码
|
||||
void getPhoneCode(JSONObject json, CallBack callBack);
|
||||
void getPhoneCode(Map<String,Object> map, CallBack callBack);
|
||||
//手机验证码登录
|
||||
void loginBySmsCode(JSONObject json, CallBack callBack);
|
||||
}
|
||||
|
||||
public interface LoginView extends IView{
|
||||
void registerSuccess(BaseBean bean);
|
||||
//获取验证码
|
||||
void getPhoneCodeSuccess(BaseBean bean);
|
||||
//验证码登录成功
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.ckkj.water.network.NetWorkManager;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
@@ -21,15 +23,57 @@ import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
public class LoginImpl implements LoginContract.DataModel {
|
||||
/**
|
||||
* 获取验证码
|
||||
*
|
||||
* 注册
|
||||
* @param json
|
||||
* @param callBack
|
||||
*/
|
||||
@Override
|
||||
public void getPhoneCode(JSONObject json, LoginContract.CallBack callBack) {
|
||||
public void register(JSONObject json, LoginContract.CallBack callBack) {
|
||||
try {
|
||||
NetWorkManager.getRequest().sendPhoneCode(NetWorkManager.getToken(), NetWorkManager.toRequestBody(json))
|
||||
NetWorkManager.getRequest().register(NetWorkManager.toRequestBody(json))
|
||||
.subscribeOn(Schedulers.io())
|
||||
.unsubscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseBean>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseBean bean) {
|
||||
if (bean.getCode() == 200) {
|
||||
callBack.success(bean.getData());
|
||||
// 登录成功时调用
|
||||
LoginStateManager.reset();
|
||||
} else {
|
||||
callBack.fail(bean.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
callBack.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取验证码
|
||||
*
|
||||
* @param map
|
||||
* @param callBack
|
||||
*/
|
||||
@Override
|
||||
public void getPhoneCode(Map<String,Object> map, LoginContract.CallBack callBack) {
|
||||
try {
|
||||
NetWorkManager.getRequest().sendPhoneCode(NetWorkManager.getToken(), map)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.unsubscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
@@ -33,16 +33,26 @@ public class LoginPresenter extends BasePresenter<LoginContract.LoginView> {
|
||||
this.mImpl = mImpl;
|
||||
}
|
||||
|
||||
public void getPhoneCode(String phone, String codeType) {
|
||||
/**
|
||||
* 注册
|
||||
* @param account
|
||||
* @param code
|
||||
* @param psd
|
||||
*/
|
||||
public void registerAccount(String account, String code, String psd) {
|
||||
try {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("mobile",phone);
|
||||
json.put("type",codeType);
|
||||
mImpl.getPhoneCode(json, new LoginContract.CallBack<BaseBean>() {
|
||||
json.put("clientId",AppConfig.APP_CLIENT_ID);
|
||||
json.put("username",account);
|
||||
json.put("code",code);
|
||||
json.put("password",psd);
|
||||
json.put("grantType",psd);
|
||||
json.put("userType",AppConfig.APP_USER_TYPE);
|
||||
mImpl.register(json, new LoginContract.CallBack<BaseBean>() {
|
||||
@Override
|
||||
public void success(BaseBean bean) {
|
||||
if(LoginPresenter.this.getView() != null){
|
||||
LoginPresenter.this.getView().getPhoneCodeSuccess(bean);
|
||||
LoginPresenter.this.getView().registerSuccess(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,27 +63,58 @@ public class LoginPresenter extends BasePresenter<LoginContract.LoginView> {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
} catch (JSONException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void getPhoneCode(String phone, String codeType) {
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("username",phone);
|
||||
mImpl.getPhoneCode(map, new LoginContract.CallBack<BaseBean>() {
|
||||
@Override
|
||||
public void success(BaseBean bean) {
|
||||
if(LoginPresenter.this.getView() != null){
|
||||
LoginPresenter.this.getView().getPhoneCodeSuccess(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fail(String msg) {
|
||||
if(LoginPresenter.this.getView() != null){
|
||||
LoginPresenter.this.getView().showError(msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过手机验证码登录
|
||||
* @param phone
|
||||
* @param account
|
||||
* @param code
|
||||
*/
|
||||
public void loginBySmsCode(String phone, String code) {
|
||||
public void loginBySmsCode(String loginType,String account, String code) {
|
||||
try {
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("mobile",phone);
|
||||
json.put("code",code);
|
||||
json.put("grantType",loginType);
|
||||
if(loginType.equals("sms")){
|
||||
json.put("phonenumber",account);
|
||||
json.put("sms",code);
|
||||
}else{
|
||||
json.put("username",account);
|
||||
json.put("password",code);
|
||||
}
|
||||
json.put("clientId",AppConfig.APP_CLIENT_ID);
|
||||
json.put("userType",AppConfig.APP_USER_TYPE);
|
||||
mImpl.loginBySmsCode(json, new LoginContract.CallBack<LoginEntity>() {
|
||||
@Override
|
||||
public void success(LoginEntity bean) {
|
||||
if(LoginPresenter.this.getView() != null){
|
||||
LoginPresenter.this.getView().loginBySmsCodeSuccess(bean);
|
||||
EventBus.getDefault().post(new EventMessage(EventMessage.USER_LOGIN_SUCCESS));
|
||||
// EventBus.getDefault().post(new EventMessage(EventMessage.USER_LOGIN_SUCCESS));
|
||||
//获取个人信息
|
||||
// getUserInfo();
|
||||
}
|
||||
@@ -113,4 +154,6 @@ public class LoginPresenter extends BasePresenter<LoginContract.LoginView> {
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -37,8 +37,8 @@ import retrofit2.http.QueryMap;
|
||||
|
||||
public interface Request {
|
||||
//注册
|
||||
@POST("user/api/adduser")
|
||||
Observable<BaseBean> register(@QueryMap Map<String, Object> map);
|
||||
@POST("auth/register")
|
||||
Observable<BaseBean> register(@Body RequestBody requestBody);
|
||||
//获取验证码
|
||||
@POST("user/api/phone")
|
||||
Observable<BaseBean> getSmsCode(@QueryMap Map<String, Object> map);
|
||||
@@ -79,17 +79,15 @@ public interface Request {
|
||||
@POST("mobile/yourhoroscope/modify")
|
||||
Observable<BaseBean<TodayFateEntity>> saveUserEditBirthInfo(@HeaderMap Map<String, String> headMap,@Body RequestBody requestBody);
|
||||
//发送验证码
|
||||
@POST("mobile/sendCode")
|
||||
Observable<BaseBean> sendPhoneCode(@HeaderMap Map<String, String> headMap,@Body RequestBody requestBody);
|
||||
@GET("resource/code")
|
||||
Observable<BaseBean> sendPhoneCode(@HeaderMap Map<String, String> headMap,@QueryMap Map<String, Object> map);
|
||||
|
||||
|
||||
//登录
|
||||
@POST("mobile/login")
|
||||
@POST("auth/login")
|
||||
Observable<BaseBean<LoginEntity>> loginBySmsCode(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//获取个人信息
|
||||
@GET("mobile/userInfo")
|
||||
Observable<BaseBean<MineUserInfoBean>> getMineUserInfo(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
//更新用户头像
|
||||
@POST("mobile/modifyAvatar")
|
||||
Observable<BaseBean> updateUseravatar(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
//获取今日运势
|
||||
@POST("mobile/yourhoroscope/today")
|
||||
Observable<BaseBean<TodayFateEntity>> getUserTodayFateDatas(@HeaderMap Map<String, String> headMap);
|
||||
@@ -112,34 +110,9 @@ public interface Request {
|
||||
@POST("mobile/paiPan/record")
|
||||
Observable<BaseBean> deletePaipanRecordById(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
//修改手机号
|
||||
@POST("mobile/modifyPhone")
|
||||
Observable<BaseBean> modifyPhone(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//注销账号
|
||||
@POST("mobile/DeactivateAccount")
|
||||
Observable<BaseBean> logoffAccount(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//查询会员套餐
|
||||
@GET("mobile/memberInFo")
|
||||
Observable<BaseBean<List<MemberComboEntity>>> getMemberComboList(@HeaderMap Map<String, String> headMap);
|
||||
//获取支付信息
|
||||
@POST("mobile/alipay")
|
||||
Observable<BaseBean> getPayOrderInfo(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//问题反馈
|
||||
@POST("mobile/appfeedback")
|
||||
Observable<BaseBean> commitFeedback(@HeaderMap Map<String, String> headMap,@QueryMap Map<String, Object> map);
|
||||
//问题反馈
|
||||
@POST("mobile/reporting")
|
||||
Observable<BaseBean> commitReporting(@HeaderMap Map<String, String> headMap,@QueryMap Map<String, Object> map);
|
||||
//邀请数据
|
||||
@GET("mobile/invitationStatistics")
|
||||
Observable<BaseBean<RecommendDataEntity>> getRecommendDatas(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
//邀请记录
|
||||
@GET("mobile/myInvitees")
|
||||
Observable<BaseBean<InviteeRecordEntity>> myInvitees(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
//注销账号
|
||||
@POST("mobile/bind")
|
||||
Observable<BaseBean> bindInvterCode(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//奖励记录
|
||||
@GET("mobile/rewardHistoryDetail")
|
||||
Observable<BaseBean<RewardRecordEntity>> getRewardRecords(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
/***************************钱包********************************/
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
<EditText
|
||||
android:id="@+id/et_account"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:background="@null"
|
||||
android:textSize="14sp"
|
||||
@@ -113,8 +113,9 @@
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/icon_phone_code"/>
|
||||
<EditText
|
||||
android:id="@+id/ed_code_input"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="2"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:background="@null"
|
||||
@@ -203,5 +204,40 @@
|
||||
android:text="@string/reset_psd"
|
||||
android:visibility="invisible"/>
|
||||
</RelativeLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_100">
|
||||
<RelativeLayout
|
||||
android:id="@+id/realtive_read_finish"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginHorizontal="@dimen/dp_15"
|
||||
android:layout_marginBottom="@dimen/dp_30">
|
||||
<RadioButton
|
||||
android:id="@+id/checkbox_read"
|
||||
android:layout_width="@dimen/dp_14"
|
||||
android:layout_height="@dimen/dp_14"
|
||||
android:background="@drawable/select_radio"
|
||||
android:layout_centerVertical="true"
|
||||
android:button="@null"
|
||||
android:clickable="false"
|
||||
android:visibility="visible" />
|
||||
<TextView
|
||||
android:id="@+id/tv_agreement_full"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_12"
|
||||
android:layout_marginRight="@dimen/dp_12"
|
||||
android:layout_toRightOf="@+id/checkbox_read"
|
||||
android:autoLink="none"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:textColor="@color/color_gray_tab"
|
||||
android:textSize="11sp" />
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<EditText
|
||||
android:id="@+id/et_account"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/dp_5"
|
||||
android:background="@null"
|
||||
android:textSize="14sp"
|
||||
@@ -65,7 +65,7 @@
|
||||
<EditText
|
||||
android:id="@+id/et_verfi_code"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="2"
|
||||
android:layout_marginLeft="@dimen/dp_5"
|
||||
android:background="@null"
|
||||
@@ -102,7 +102,7 @@
|
||||
<EditText
|
||||
android:id="@+id/et_input_psd"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/dp_5"
|
||||
android:background="@null"
|
||||
android:textSize="14sp"
|
||||
@@ -127,7 +127,7 @@
|
||||
<EditText
|
||||
android:id="@+id/et_input_psd_agin"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/dp_5"
|
||||
android:background="@null"
|
||||
android:textSize="14sp"
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
<string name="login_error_phone_empty">手机号不能为空</string>
|
||||
<string name="hint_input_psd_not_match">两次输入的密码不一致</string>
|
||||
<string name="login_error_phone_invalid">请输入正确的手机号或邮箱</string>
|
||||
<string name="login_error_psd_empty">手机号或邮箱不能为空</string>
|
||||
<string name="login_error_psd_agin_empty">请再次输入密码</string>
|
||||
<string name="register_title">注册用户</string>
|
||||
<string name="register_title_bar">注册</string>
|
||||
<string name="register_success_title">注册成功</string>
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
<string name="hint_input_new_psd">请输入新密码</string>
|
||||
<string name="hint_input_new_psd_agin">请再次输入新密码</string>
|
||||
<string name="hint_input_psd_not_match">两次输入的密码不一致</string>
|
||||
<string name="login_error_phone_empty">手机号不能为空</string>
|
||||
<string name="login_error_phone_empty">手机号或邮箱不能为空</string>
|
||||
<string name="login_error_psd_empty">密码不能为空</string>
|
||||
<string name="login_error_psd_agin_empty">请再次输入密码</string>
|
||||
<string name="login_error_phone_invalid">请输入正确的手机号或邮箱</string>
|
||||
<string name="register_title">注册用户</string>
|
||||
<string name="register_title_bar">注册</string>
|
||||
@@ -177,7 +179,7 @@
|
||||
</string>
|
||||
|
||||
|
||||
<string name="app_name">星语明灯</string>
|
||||
<string name="app_name">智能浇水</string>
|
||||
|
||||
<!-- ==================== 登录页 ==================== -->
|
||||
<string name="login_app_name">星语明灯</string>
|
||||
|
||||
Reference in New Issue
Block a user