From c485b1e0591247613659a41166c38fdbd0993f27 Mon Sep 17 00:00:00 2001 From: fengjignqi <15192412330@163.com> Date: Tue, 19 May 2026 08:15:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E5=86=8C/=E7=99=BB=E5=BD=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ckkj/water/AppConfig.java | 6 +- .../com/ckkj/water/guide/GuideActivity.java | 5 + .../com/ckkj/water/guide/LaunchActivity.java | 15 +- .../water/login/ForgetPasswordActivity.java | 5 + .../com/ckkj/water/login/LoginActivity.java | 170 ++++++++++-------- .../ckkj/water/login/RegisterActivity.java | 50 +++++- .../water/login/RegisterSuccessActivity.java | 5 + .../ckkj/water/login/mvp/LoginContract.java | 8 +- .../com/ckkj/water/login/mvp/LoginImpl.java | 52 +++++- .../ckkj/water/login/mvp/LoginPresenter.java | 63 +++++-- .../java/com/ckkj/water/network/Request.java | 41 +---- app/src/main/res/layout/login_layout.xml | 40 ++++- app/src/main/res/layout/register_layout.xml | 8 +- app/src/main/res/values-en/strings.xml | 2 + app/src/main/res/values/strings.xml | 6 +- 15 files changed, 342 insertions(+), 134 deletions(-) diff --git a/app/src/main/java/com/ckkj/water/AppConfig.java b/app/src/main/java/com/ckkj/water/AppConfig.java index 30209c1..6b9c1e0 100644 --- a/app/src/main/java/com/ckkj/water/AppConfig.java +++ b/app/src/main/java/com/ckkj/water/AppConfig.java @@ -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"; + } diff --git a/app/src/main/java/com/ckkj/water/guide/GuideActivity.java b/app/src/main/java/com/ckkj/water/guide/GuideActivity.java index d730a4a..353f5c1 100644 --- a/app/src/main/java/com/ckkj/water/guide/GuideActivity.java +++ b/app/src/main/java/com/ckkj/water/guide/GuideActivity.java @@ -122,6 +122,11 @@ public class GuideActivity extends BaseActivity hideDialogLoading(), 1000); -// break; + break; } @@ -267,6 +290,11 @@ public class LoginActivity extends BaseActivity { goTo(mContext, MainActivity.class, null); finish(); diff --git a/app/src/main/java/com/ckkj/water/login/RegisterActivity.java b/app/src/main/java/com/ckkj/water/login/RegisterActivity.java index 15b022b..f235b31 100644 --- a/app/src/main/java/com/ckkj/water/login/RegisterActivity.java +++ b/app/src/main/java/com/ckkj/water/login/RegisterActivity.java @@ -69,11 +69,49 @@ public class RegisterActivity extends BaseActivity map, CallBack callBack); //手机验证码登录 void loginBySmsCode(JSONObject json, CallBack callBack); } public interface LoginView extends IView{ + void registerSuccess(BaseBean bean); //获取验证码 void getPhoneCodeSuccess(BaseBean bean); //验证码登录成功 diff --git a/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java b/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java index a5654d6..6d88acf 100644 --- a/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java +++ b/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java @@ -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() { + @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 map, LoginContract.CallBack callBack) { + try { + NetWorkManager.getRequest().sendPhoneCode(NetWorkManager.getToken(), map) .subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/ckkj/water/login/mvp/LoginPresenter.java b/app/src/main/java/com/ckkj/water/login/mvp/LoginPresenter.java index b5d9cef..e68eeee 100644 --- a/app/src/main/java/com/ckkj/water/login/mvp/LoginPresenter.java +++ b/app/src/main/java/com/ckkj/water/login/mvp/LoginPresenter.java @@ -33,16 +33,26 @@ public class LoginPresenter extends BasePresenter { 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() { + 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() { @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 { } } }); + } catch (JSONException e) { throw new RuntimeException(e); } } + + public void getPhoneCode(String phone, String codeType) { + Map map = new HashMap<>(); + map.put("username",phone); + mImpl.getPhoneCode(map, new LoginContract.CallBack() { + @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() { @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 { // } // }); } + + } diff --git a/app/src/main/java/com/ckkj/water/network/Request.java b/app/src/main/java/com/ckkj/water/network/Request.java index 033b41f..caf1f79 100644 --- a/app/src/main/java/com/ckkj/water/network/Request.java +++ b/app/src/main/java/com/ckkj/water/network/Request.java @@ -37,8 +37,8 @@ import retrofit2.http.QueryMap; public interface Request { //注册 - @POST("user/api/adduser") - Observable register(@QueryMap Map map); + @POST("auth/register") + Observable register(@Body RequestBody requestBody); //获取验证码 @POST("user/api/phone") Observable getSmsCode(@QueryMap Map map); @@ -79,17 +79,15 @@ public interface Request { @POST("mobile/yourhoroscope/modify") Observable> saveUserEditBirthInfo(@HeaderMap Map headMap,@Body RequestBody requestBody); //发送验证码 - @POST("mobile/sendCode") - Observable sendPhoneCode(@HeaderMap Map headMap,@Body RequestBody requestBody); + @GET("resource/code") + Observable sendPhoneCode(@HeaderMap Map headMap,@QueryMap Map map); + + //登录 - @POST("mobile/login") + @POST("auth/login") Observable> loginBySmsCode(@HeaderMap Map headMap, @Body RequestBody requestBody); //获取个人信息 - @GET("mobile/userInfo") - Observable> getMineUserInfo(@HeaderMap Map headMap, @QueryMap Map map); //更新用户头像 - @POST("mobile/modifyAvatar") - Observable updateUseravatar(@HeaderMap Map headMap, @QueryMap Map map); //获取今日运势 @POST("mobile/yourhoroscope/today") Observable> getUserTodayFateDatas(@HeaderMap Map headMap); @@ -112,34 +110,9 @@ public interface Request { @POST("mobile/paiPan/record") Observable deletePaipanRecordById(@HeaderMap Map headMap, @QueryMap Map map); //修改手机号 - @POST("mobile/modifyPhone") - Observable modifyPhone(@HeaderMap Map headMap, @Body RequestBody requestBody); - //注销账号 - @POST("mobile/DeactivateAccount") - Observable logoffAccount(@HeaderMap Map headMap, @Body RequestBody requestBody); - //查询会员套餐 - @GET("mobile/memberInFo") - Observable>> getMemberComboList(@HeaderMap Map headMap); - //获取支付信息 - @POST("mobile/alipay") - Observable getPayOrderInfo(@HeaderMap Map headMap, @Body RequestBody requestBody); - //问题反馈 - @POST("mobile/appfeedback") - Observable commitFeedback(@HeaderMap Map headMap,@QueryMap Map map); - //问题反馈 @POST("mobile/reporting") Observable commitReporting(@HeaderMap Map headMap,@QueryMap Map map); //邀请数据 - @GET("mobile/invitationStatistics") - Observable> getRecommendDatas(@HeaderMap Map headMap, @QueryMap Map map); - //邀请记录 - @GET("mobile/myInvitees") - Observable> myInvitees(@HeaderMap Map headMap, @QueryMap Map map); - //注销账号 - @POST("mobile/bind") - Observable bindInvterCode(@HeaderMap Map headMap, @Body RequestBody requestBody); //奖励记录 - @GET("mobile/rewardHistoryDetail") - Observable> getRewardRecords(@HeaderMap Map headMap, @QueryMap Map map); /***************************钱包********************************/ } diff --git a/app/src/main/res/layout/login_layout.xml b/app/src/main/res/layout/login_layout.xml index e87d4eb..b87251d 100644 --- a/app/src/main/res/layout/login_layout.xml +++ b/app/src/main/res/layout/login_layout.xml @@ -90,7 +90,7 @@ + + + + + + + + diff --git a/app/src/main/res/layout/register_layout.xml b/app/src/main/res/layout/register_layout.xml index 07a625c..32284dd 100644 --- a/app/src/main/res/layout/register_layout.xml +++ b/app/src/main/res/layout/register_layout.xml @@ -40,7 +40,7 @@ 手机号不能为空 两次输入的密码不一致 请输入正确的手机号或邮箱 + 手机号或邮箱不能为空 + 请再次输入密码 注册用户 注册 注册成功 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 049221d..8278e71 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,7 +16,9 @@ 请输入新密码 请再次输入新密码 两次输入的密码不一致 - 手机号不能为空 + 手机号或邮箱不能为空 + 密码不能为空 + 请再次输入密码 请输入正确的手机号或邮箱 注册用户 注册 @@ -177,7 +179,7 @@ - 星语明灯 + 智能浇水 星语明灯