Przeglądaj źródła

优化昵称限制逻辑

Pq 3 lat temu
rodzic
commit
7db9ae571d

+ 1 - 1
student/src/main/java/com/cooleshow/student/ui/mine/ModifyNickNameActivity.java

@@ -82,7 +82,7 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
     @Override
     public void initData() {
         super.initData();
-        presenter.queryModifyConfig();
+//        presenter.queryModifyConfig();
     }
 
     @Override

+ 1 - 0
student/src/main/res/layout/activity_modify_nickname.xml

@@ -42,6 +42,7 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <TextView
+        android:visibility="gone"
         android:id="@+id/tv_modify_config"
         android:paddingStart="14dp"
         android:textColor="@color/color_999999"

+ 8 - 9
usercenter/src/main/java/com/cooleshow/usercenter/data/api/UserApi.kt

@@ -85,7 +85,14 @@ interface UserApi {
     @FormUrlEncoded
     @POST(BaseConstant.AUTH_GROUP + "user/setUsernameAndPassword")
     fun bindPassword(@Field("password") password: String,@Field("username") username: String): Observable<BaseResponse<Object>>
-/*
+
+    /*
+      发送验证码
+   */
+    @FormUrlEncoded
+    @POST(BaseConstant.AUTH_GROUP + "user/setUsernameAndPassword")
+    fun bindPassword(@Field("password") password: String): Observable<BaseResponse<Object>>
+    /*
         忘记密码
 //     */
 //    @POST("userCenter/forgetPwd")
@@ -112,12 +119,4 @@ interface UserApi {
     @GET(BaseConstant.TEACHER_GROUP + "sysConfig/queryByParamName")
     fun queryModifyNickConfigForTeacher(@Query("paramName") last_username_month: String?): Observable<BaseResponse<QueryParamsConfigBean?>?>?
 
-    /**
-     * 获取修改名称限制时间
-     *
-     * @param
-     * @return
-     */
-    @GET(BaseConstant.STUDENT_GROUP + "sysConfig/queryByParamName")
-    fun queryModifyNickConfigForStu(@Query("paramName") last_username_month: String?): Observable<BaseResponse<QueryParamsConfigBean?>?>?
 }

+ 28 - 28
usercenter/src/main/java/com/cooleshow/usercenter/presenter/BindPasswordPresenter.java

@@ -1,5 +1,7 @@
 package com.cooleshow.usercenter.presenter;
 
+import android.text.TextUtils;
+
 import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.data.net.ApiException;
@@ -18,50 +20,47 @@ import com.cooleshow.usercenter.presenter.contract.BindPasswordContract;
 public class BindPasswordPresenter extends BasePresenter<BindPasswordContract.BindPwdView> implements BindPasswordContract.Presenter {
 
     @Override
-    public void onBindPwd(String pwd,String nickName) {
+    public void onBindPwd(String pwd, String nickName) {
         if (getView() != null) {
             getView().showLoading();
         }
-        addSubscribe(create(UserApi.class).bindPassword(pwd,nickName), new BaseObserver<Object>(getView()) {
-            @Override
-            protected void onSuccess(Object data) {
-                if (getView() != null) {
-                    getView().onBindSuccess();
+        if (TextUtils.isEmpty(nickName)) {
+            addSubscribe(create(UserApi.class).bindPassword(pwd), new BaseObserver<Object>(getView()) {
+                @Override
+                protected void onSuccess(Object data) {
+                    if (getView() != null) {
+                        getView().onBindSuccess();
+                    }
                 }
-            }
 
-            @Override
-            public void onError(Throwable e) {
-                super.onError(e);
-                if (e instanceof ApiException) {
-                    ErrorParse.getInstance().parseError(e);
-                    ApiException apiException = (ApiException) e;
-                    ToastUtil.getInstance().showShort(apiException.getErrmsg());
+                @Override
+                public void onError(Throwable e) {
+                    super.onError(e);
                 }
-            }
-        });
-    }
-
-    public void queryModifyConfig() {
-        getView().showLoading();
-        String params = "last_username_month";
-        if(BaseApplication.Companion.isTeacherClient()){
-            addSubscribe(create(UserApi.class).queryModifyNickConfigForTeacher(params), new BaseObserver<QueryParamsConfigBean>(getView()) {
+            });
+        } else {
+            addSubscribe(create(UserApi.class).bindPassword(pwd, nickName), new BaseObserver<Object>(getView()) {
                 @Override
-                protected void onSuccess(QueryParamsConfigBean data) {
+                protected void onSuccess(Object data) {
                     if (getView() != null) {
-                        getView().queryModifyConfigSuccess(data);
+                        getView().onBindSuccess();
                     }
                 }
 
                 @Override
                 public void onError(Throwable e) {
                     super.onError(e);
-
                 }
             });
-        }else{
-            addSubscribe(create(UserApi.class).queryModifyNickConfigForStu(params), new BaseObserver<QueryParamsConfigBean>(getView()) {
+        }
+
+    }
+
+    public void queryModifyConfig() {
+        getView().showLoading();
+        String params = "last_username_month";
+        if (BaseApplication.Companion.isTeacherClient()) {
+            addSubscribe(create(UserApi.class).queryModifyNickConfigForTeacher(params), new BaseObserver<QueryParamsConfigBean>(getView()) {
                 @Override
                 protected void onSuccess(QueryParamsConfigBean data) {
                     if (getView() != null) {
@@ -72,6 +71,7 @@ public class BindPasswordPresenter extends BasePresenter<BindPasswordContract.Bi
                 @Override
                 public void onError(Throwable e) {
                     super.onError(e);
+
                 }
             });
         }

+ 12 - 5
usercenter/src/main/java/com/cooleshow/usercenter/ui/activity/BindPasswordActivity.java

@@ -8,6 +8,7 @@ import android.view.View;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.cooleshow.base.bean.QueryParamsConfigBean;
+import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.ToastUtil;
@@ -46,13 +47,17 @@ public class BindPasswordActivity extends BaseMVPActivity<ActivityBindPwdLayoutB
     protected void initView() {
         viewBinding.tvConfirm.setOnClickListener(this);
         tempToken = getIntent().getStringExtra(UserConstants.TEMP_TOKEN);
-
     }
 
     @Override
     public void initData() {
         super.initData();
-        presenter.queryModifyConfig();
+        if(BaseApplication.Companion.isTeacherClient()){
+            presenter.queryModifyConfig();
+            viewBinding.groupNickname.setVisibility(View.VISIBLE);
+        }else{
+            viewBinding.groupNickname.setVisibility(View.GONE);
+        }
     }
 
     @Override
@@ -78,9 +83,11 @@ public class BindPasswordActivity extends BaseMVPActivity<ActivityBindPwdLayoutB
             String pwd = viewBinding.etPwd.getText().toString();
             String pwdAgain = viewBinding.etPwdAgain.getText().toString();
             String nickName = viewBinding.etNickname.getText().toString().trim();
-            if (TextUtils.isEmpty(nickName)) {
-                ToastUtil.getInstance().showShort("请输入昵称!");
-                return;
+            if(BaseApplication.Companion.isTeacherClient()){
+                if (TextUtils.isEmpty(nickName)) {
+                    ToastUtil.getInstance().showShort("请输入昵称!");
+                    return;
+                }
             }
             if (PhoneCheckHelper.checkPwdValidity(pwd, pwdAgain)) {
                 presenter.onBindPwd(pwdAgain,nickName);

+ 7 - 0
usercenter/src/main/res/layout/activity_bind_pwd_layout.xml

@@ -80,8 +80,15 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
 
+    <androidx.constraintlayout.widget.Group
+        android:visibility="gone"
+        android:id="@+id/group_nickname"
+        app:constraint_referenced_ids="tv_modify_config,view_nickname_divide,et_nickname,tv_set_nickname"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
 
     <TextView
+        app:layout_goneMarginTop="71dp"
         android:layout_marginTop="10dp"
         android:id="@+id/tv_phone_num"
         android:layout_width="wrap_content"