Browse Source

注册成功

詹子聪 6 years ago
parent
commit
39722f28b4
21 changed files with 349 additions and 54 deletions
  1. 1 1
      app/src/main/AndroidManifest.xml
  2. 9 2
      app/src/main/java/com/itant/shibei/base/ApiService.java
  3. 1 1
      app/src/main/java/com/itant/shibei/base/BaseShiBeiActivity.java
  4. 3 1
      app/src/main/java/com/itant/shibei/bean/BeiUser.java
  5. 62 0
      app/src/main/java/com/itant/shibei/manager/PreferenceManager.java
  6. 11 4
      app/src/main/java/com/itant/shibei/manager/UserInfoManager.java
  7. 82 0
      app/src/main/java/com/itant/shibei/tool/Base64Tool.java
  8. 11 0
      app/src/main/java/com/itant/shibei/tool/StringTool.java
  9. 4 1
      app/src/main/java/com/itant/shibei/ui/ShibeiApplication.java
  10. 7 7
      app/src/main/java/com/itant/shibei/ui/MainActivity.java
  11. 2 2
      app/src/main/java/com/itant/shibei/ui/TabActivity.java
  12. 2 2
      app/src/main/java/com/itant/shibei/ui/mine/MineActivity.java
  13. 4 2
      app/src/main/java/com/itant/shibei/ui/mine/login/LoginActivity.java
  14. 2 2
      app/src/main/java/com/itant/shibei/ui/mine/login/forget/ForgetActivity.java
  15. 1 6
      app/src/main/java/com/itant/shibei/ui/mine/login/register/CodePresenter.java
  16. 7 2
      app/src/main/java/com/itant/shibei/ui/mine/login/register/RegisterActivity.java
  17. 64 16
      app/src/main/java/com/itant/shibei/ui/mine/login/register/fill/FillDataActivity.java
  18. 16 0
      app/src/main/java/com/itant/shibei/ui/mine/login/register/fill/IRegisterView.java
  19. 52 0
      app/src/main/java/com/itant/shibei/ui/mine/login/register/fill/RegisterPresenter.java
  20. 8 4
      app/src/main/res/layout/activity_fill_data.xml
  21. 0 1
      app/src/main/res/layout/activity_register.xml

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -14,7 +14,7 @@
         tools:ignore="GoogleAppIndexingWarning"
         android:requestLegacyExternalStorage="true"
         android:networkSecurityConfig="@xml/network"
-        android:name=".ui.ShibeiApplication">
+        android:name=".ui.BeiApplication">
         <activity
             android:name=".ui.TabActivity"
             android:label="@string/app_name"

+ 9 - 2
app/src/main/java/com/itant/shibei/base/ApiService.java

@@ -1,12 +1,15 @@
 package com.itant.shibei.base;
 
+import com.itant.shibei.bean.BeiUser;
 import com.miekir.network.core.base.BaseResponse;
 
 import java.util.Map;
 
 import io.reactivex.Observable;
 import retrofit2.http.Body;
+import retrofit2.http.GET;
 import retrofit2.http.POST;
+import retrofit2.http.Query;
 
 /**
  * Copyright (C), 2019-2020, Miekir
@@ -18,7 +21,11 @@ import retrofit2.http.POST;
 public interface ApiService {
 
     /**请求验证码*/
+    @GET("/shibei/api/code")
+    Observable<BaseResponse<Boolean>> getCode(@Query("email") String email);
+
+    /**注册*/
     //@Headers({ "Content-Type: application/json;charset=UTF-8"})
-    @POST("/shibei/api/code")
-    Observable<BaseResponse<Boolean>> getCode(@Body Map<String, Object> body);
+    @POST("/shibei/api/register")
+    Observable<BaseResponse<BeiUser>> submitRegister(@Body Map<String, Object> body);
 }

+ 1 - 1
app/src/main/java/com/itant/shibei/base/BaseShiBeiActivity.java

@@ -17,7 +17,7 @@ import com.miekir.mvp.view.BaseMVPActivity;
  * @date 2020/6/18 16:47
  * Description: 界面基类
  */
-public abstract class BaseShiBeiActivity extends BaseMVPActivity {
+public abstract class BaseBeiActivity extends BaseMVPActivity {
     private View iv_done;
 
     @Override

+ 3 - 1
app/src/main/java/com/itant/shibei/bean/BeiUser.java

@@ -1,10 +1,12 @@
 package com.itant.shibei.bean;
 
+import java.io.Serializable;
+
 /**
  * Created by Jason on 2018/8/26.
  */
 
-public class BeiUser {
+public class BeiUser implements Serializable {
     public String email;
     public String nickName;
     public String autograph;

+ 62 - 0
app/src/main/java/com/itant/shibei/manager/PreferenceManager.java

@@ -0,0 +1,62 @@
+package com.itant.shibei.manager;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import com.google.gson.Gson;
+
+import java.io.Serializable;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/8/2 16:44
+ * Description: 用户信息保存
+ */
+public class PreferenceManager {
+    public static final String KEY_USER = "user_info";
+
+    private static volatile PreferenceManager instance;
+    private PreferenceManager() {}
+
+    private SharedPreferences preferences;
+
+    public static PreferenceManager getInstance() {
+        if (instance == null) {
+            init();
+        }
+        return instance;
+    }
+
+    private static synchronized void init() {
+        if (instance == null) {
+            instance = new PreferenceManager();
+        }
+    }
+
+    public void initPreference(Context context) {
+        preferences = context.getSharedPreferences("current", Context.MODE_PRIVATE);
+    }
+
+    public void putSerizable(String key, Serializable value) {
+        preferences.edit().putString(key, new Gson().toJson(value)).commit();
+    }
+
+    /**
+     * 这里不能使用TypeToken<T>,因为要明确地具体到某一个类才能解析
+     * @param key
+     * @param clazz
+     * @param <T>
+     * @return
+     */
+    public <T> T getObject(String key, Class<T> clazz){
+        String jsonString = preferences.getString(key, null);
+        try {
+            return new Gson().fromJson(jsonString, clazz);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+}

+ 11 - 4
app/src/main/java/com/itant/shibei/manager/UserInfoManager.java

@@ -12,7 +12,7 @@ import com.itant.shibei.bean.BeiUser;
 public class UserInfoManager {
     private static volatile UserInfoManager userInfoManager;
     private UserInfoManager() {}
-    private BeiUser beiUser;
+    private BeiUser mBeiUser;
 
     private boolean isLogin;
 
@@ -31,15 +31,22 @@ public class UserInfoManager {
     }
 
     public BeiUser getBeiUser() {
-        return beiUser;
+        if (mBeiUser == null) {
+            // 从本地拿
+            mBeiUser = PreferenceManager.getInstance().getObject(PreferenceManager.KEY_USER, BeiUser.class);
+        }
+
+        return mBeiUser;
     }
 
     public void setBeiUser(BeiUser beiUser) {
-        this.beiUser = beiUser;
+        this.mBeiUser = beiUser;
+        // 保存到本地
+        PreferenceManager.getInstance().putSerizable(PreferenceManager.KEY_USER, beiUser);
     }
 
     public boolean isLogin() {
-        return beiUser != null;
+        return getBeiUser() != null;
     }
 
     public void setLogin(boolean login) {

+ 82 - 0
app/src/main/java/com/itant/shibei/tool/Base64Tool.java

@@ -0,0 +1,82 @@
+package com.itant.shibei.tool;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.net.Uri;
+import android.util.Base64;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+
+/**
+ * @author 詹子聪
+ * @date 2020/7/27 15:40
+ * Description: 图片转Base64字符串
+ */
+public class Base64Tool {
+    private Base64Tool() {}
+    /**
+     * 图片Uri转Base64
+     *
+     * @param context
+     * @param imageUri
+     * @return
+     */
+    public static String getBase64FromUri(Context context, Uri imageUri) {
+        String encodedString = "";
+        if (imageUri == null) {
+            return encodedString;
+        }
+
+        InputStream imageStream = null;
+        try {
+            imageStream = context.getContentResolver().openInputStream(imageUri);
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+            return encodedString;
+        }
+
+        final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
+        encodedString = bitmap2Base64(selectedImage);
+
+        return encodedString;
+    }
+
+    private static String bitmap2Base64(Bitmap bitmap) {
+        if (bitmap == null) {
+            return "";
+        }
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
+        byte[] b = baos.toByteArray();
+
+        //return Base64.encodeToString(b, Base64.DEFAULT);
+        return Base64.encodeToString(b, Base64.NO_WRAP);
+    }
+
+    /**
+     * 根据路径,图片转Base64
+     * @param path
+     * @return
+     */
+    public static String getBase64FromFilePath(String path) {
+        File imageFile = new File(path);
+        FileInputStream fis = null;
+        try {
+            fis = new FileInputStream(imageFile);
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+            return "";
+        }
+        Bitmap bm = BitmapFactory.decodeStream(fis);
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
+        byte[] b = baos.toByteArray();
+
+        return Base64.encodeToString(b, Base64.NO_WRAP);
+    }
+}

+ 11 - 0
app/src/main/java/com/itant/shibei/tool/StringTool.java

@@ -1,5 +1,7 @@
 package com.itant.shibei.tool;
 
+import android.util.Base64;
+
 import java.text.DecimalFormat;
 
 /**
@@ -16,4 +18,13 @@ public class StringTool {
     public static String getShowMoney(double number) {
         return FORMAT_TWO.format(number);
     }
+    public static String getEncodeString(String rawString) {
+        String base64String = Base64.encodeToString(rawString.getBytes(), Base64.NO_WRAP);
+        StringBuilder stringBuffer = new StringBuilder(base64String);
+        if (base64String.length() > 1) {
+            stringBuffer.deleteCharAt(base64String.length()/2);
+        }
+        return stringBuffer.toString();
+    }
+
 }

+ 4 - 1
app/src/main/java/com/itant/shibei/ui/ShibeiApplication.java

@@ -2,6 +2,8 @@ package com.itant.shibei.ui;
 
 import android.app.Application;
 
+import com.itant.shibei.manager.PreferenceManager;
+
 import rx_activity_result2.RxActivityResult;
 
 /**
@@ -10,11 +12,12 @@ import rx_activity_result2.RxActivityResult;
  * @date 2020/8/2 9:34
  * Description:
  */
-public class ShibeiApplication extends Application {
+public class BeiApplication extends Application {
     @Override
     public void onCreate() {
         super.onCreate();
         RxActivityResult.register(this);
 
+        PreferenceManager.getInstance().initPreference(this);
     }
 }

+ 7 - 7
app/src/main/java/com/itant/shibei/ui/MainActivity.java

@@ -4,24 +4,24 @@ import android.os.Bundle;
 import android.view.MenuItem;
 import android.view.View;
 
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.navigation.NavController;
+import androidx.viewpager.widget.ViewPager;
+
 import com.google.android.material.bottomnavigation.BottomNavigationView;
 import com.google.android.material.bottomnavigation.LabelVisibilityMode;
 import com.itant.shibei.R;
 import com.itant.shibei.adapter.FragmentPagerItemAdapter;
-import com.itant.shibei.base.BaseShiBeiActivity;
+import com.itant.shibei.base.BaseBeiActivity;
 import com.itant.shibei.ui.function.FunctionFragment;
 import com.itant.shibei.ui.home.HomeFragment;
 import com.itant.shibei.ui.mine.MineFragment;
 
-import androidx.annotation.NonNull;
-import androidx.fragment.app.Fragment;
-import androidx.navigation.NavController;
-import androidx.viewpager.widget.ViewPager;
-
 import java.util.ArrayList;
 import java.util.List;
 
-public class MainActivity extends BaseShiBeiActivity implements View.OnClickListener {
+public class MainActivity extends BaseBeiActivity implements View.OnClickListener {
 
     private NavController navController;
     private ViewPager vp_main;

+ 2 - 2
app/src/main/java/com/itant/shibei/ui/TabActivity.java

@@ -11,7 +11,7 @@ import com.flyco.tablayout.SlidingTabLayout;
 import com.flyco.tablayout.listener.OnTabSelectListener;
 import com.google.android.material.appbar.AppBarLayout;
 import com.itant.shibei.R;
-import com.itant.shibei.base.BaseShiBeiActivity;
+import com.itant.shibei.base.BaseBeiActivity;
 import com.itant.shibei.base.ITopActionListener;
 import com.itant.shibei.manager.UserInfoManager;
 import com.itant.shibei.ui.about.AboutFragment;
@@ -28,7 +28,7 @@ import com.miekir.common.utils.ViewTool;
 import java.util.ArrayList;
 import java.util.List;
 
-public class TabActivity extends BaseShiBeiActivity implements View.OnClickListener {
+public class TabActivity extends BaseBeiActivity implements View.OnClickListener {
 
 
     @Override

+ 2 - 2
app/src/main/java/com/itant/shibei/ui/mine/MineActivity.java

@@ -5,7 +5,7 @@ import android.os.Bundle;
 import android.view.View;
 
 import com.itant.shibei.R;
-import com.itant.shibei.base.BaseShiBeiActivity;
+import com.itant.shibei.base.BaseBeiActivity;
 import com.itant.shibei.common.ConstantString;
 import com.itant.shibei.manager.UserInfoManager;
 import com.itant.shibei.tool.SystemTool;
@@ -13,7 +13,7 @@ import com.itant.shibei.tool.TimeTool;
 import com.itant.shibei.ui.mine.login.LoginActivity;
 import com.miekir.common.utils.ViewTool;
 
-public class MineActivity extends BaseShiBeiActivity implements View.OnClickListener {
+public class MineActivity extends BaseBeiActivity implements View.OnClickListener {
 
     @Override
     public void onClick(View v) {

+ 4 - 2
app/src/main/java/com/itant/shibei/ui/mine/login/LoginActivity.java

@@ -10,7 +10,8 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.itant.shibei.R;
-import com.itant.shibei.base.BaseShiBeiActivity;
+import com.itant.shibei.base.BaseBeiActivity;
+import com.itant.shibei.ui.mine.MineActivity;
 import com.itant.shibei.ui.mine.login.forget.ForgetActivity;
 import com.itant.shibei.ui.mine.login.register.RegisterActivity;
 import com.miekir.common.utils.ViewTool;
@@ -22,7 +23,7 @@ import rx_activity_result2.RxActivityResult;
  * @date 2020/6/18 16:48
  * Description: 登录界面
  */
-public class LoginActivity extends BaseShiBeiActivity implements View.OnClickListener {
+public class LoginActivity extends BaseBeiActivity implements View.OnClickListener {
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -59,6 +60,7 @@ public class LoginActivity extends BaseShiBeiActivity implements View.OnClickLis
                         .filter(result -> result.resultCode() == RESULT_OK)
                         .subscribe(result -> {
                             // 注册成功之后关闭登录界面
+                            startActivity(new Intent(LoginActivity.this, MineActivity.class));
                             finish();
                         });
                 break;

+ 2 - 2
app/src/main/java/com/itant/shibei/ui/mine/login/forget/ForgetActivity.java

@@ -6,14 +6,14 @@ import android.view.View;
 import androidx.annotation.Nullable;
 
 import com.itant.shibei.R;
-import com.itant.shibei.base.BaseShiBeiActivity;
+import com.itant.shibei.base.BaseBeiActivity;
 
 /**
  * @author Miekir
  * @date 2020/6/18 16:48
  * Description: 登录界面
  */
-public class ForgetActivity extends BaseShiBeiActivity implements View.OnClickListener {
+public class ForgetActivity extends BaseBeiActivity implements View.OnClickListener {
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

+ 1 - 6
app/src/main/java/com/itant/shibei/ui/mine/login/register/CodePresenter.java

@@ -5,9 +5,6 @@ import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.RetrofitHelper;
 import com.miekir.network.core.base.BaseObserver;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 
@@ -19,11 +16,9 @@ import io.reactivex.schedulers.Schedulers;
 public class CodePresenter extends BasePresenter<ICodeView> {
 
     public void getCode(String email) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("email", email);
         RetrofitHelper.getInstance()
                 .getRequestApi(ApiService.class)
-                .getCode(map)
+                .getCode(email)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new BaseObserver<Boolean>() {

+ 7 - 2
app/src/main/java/com/itant/shibei/ui/mine/login/register/RegisterActivity.java

@@ -12,7 +12,7 @@ import androidx.annotation.NonNull;
 
 import com.google.android.material.textfield.TextInputEditText;
 import com.itant.shibei.R;
-import com.itant.shibei.base.BaseShiBeiActivity;
+import com.itant.shibei.base.BaseBeiActivity;
 import com.itant.shibei.ui.mine.login.register.fill.FillDataActivity;
 import com.miekir.common.utils.ToastTool;
 import com.miekir.common.utils.ViewTool;
@@ -27,7 +27,7 @@ import rx_activity_result2.RxActivityResult;
  * @date 2020/6/18 16:48
  * Description: 登录界面
  */
-public class RegisterActivity extends BaseShiBeiActivity implements View.OnClickListener, ICodeView {
+public class RegisterActivity extends BaseBeiActivity implements View.OnClickListener, ICodeView {
     public static final String KEY_EMAIL = "email";
     public static final String KEY_CODE = "code";
 
@@ -95,6 +95,11 @@ public class RegisterActivity extends BaseShiBeiActivity implements View.OnClick
                     return;
                 }
 
+                if (!email.contains("@")) {
+                    ToastTool.showShort("请输入合法的邮箱");
+                    return;
+                }
+
                 code = et_code.getEditableText().toString();
                 if (TextUtils.isEmpty(code)) {
                     ToastTool.showShort("验证码不能为空");

+ 64 - 16
app/src/main/java/com/itant/shibei/ui/mine/login/register/fill/FillDataActivity.java

@@ -1,26 +1,34 @@
 package com.itant.shibei.ui.mine.login.register.fill;
 
 import android.os.Bundle;
-import android.view.View;
-
-import androidx.annotation.Nullable;
+import android.text.TextUtils;
 
+import com.google.android.material.textfield.TextInputEditText;
 import com.itant.shibei.R;
-import com.itant.shibei.base.BaseShiBeiActivity;
+import com.itant.shibei.base.BaseBeiActivity;
+import com.itant.shibei.bean.BeiUser;
+import com.itant.shibei.manager.UserInfoManager;
+import com.itant.shibei.tool.StringTool;
+import com.itant.shibei.ui.mine.login.register.RegisterActivity;
+import com.miekir.common.utils.ToastTool;
+import com.miekir.mvp.presenter.InjectPresenter;
 
 /**
  * @author Miekir
  * @date 2020/6/18 16:48
  * Description: 完善资料界面
  */
-public class FillDataActivity extends BaseShiBeiActivity implements View.OnClickListener {
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        findViewById(R.id.btn_finish).setOnClickListener(v -> {
-            finish();
-        });
-    }
+public class FillDataActivity extends BaseBeiActivity implements IRegisterView {
+    private TextInputEditText et_password;
+    private TextInputEditText et_nickname;
+    private TextInputEditText et_cash_account;
+
+    private BeiUser mBeiUser;
+    private String email;
+    private String code;
+
+    @InjectPresenter
+    RegisterPresenter presenter;
 
     @Override
     public int getLayoutID() {
@@ -30,13 +38,53 @@ public class FillDataActivity extends BaseShiBeiActivity implements View.OnClick
     @Override
     public void initViews(Bundle savedInstanceState) {
         setTitle("完善提现资料");
+        et_password = findViewById(R.id.et_password);
+        et_nickname = findViewById(R.id.et_nickname);
+        et_cash_account = findViewById(R.id.et_cash_account);
+        email = getIntent().getStringExtra(RegisterActivity.KEY_EMAIL);
+        code = getIntent().getStringExtra(RegisterActivity.KEY_CODE);
+        findViewById(R.id.btn_finish).setOnClickListener(v -> {
+            submitRegister();
+        });
+    }
+
+    private void submitRegister() {
+        String password = et_password.getEditableText().toString();
+        String nickname = et_nickname.getEditableText().toString();
+        String cashAccount = et_cash_account.getEditableText().toString();
+        if (TextUtils.isEmpty(password)) {
+            ToastTool.showShort("请输入密码");
+            return;
+        }
+        if (TextUtils.isEmpty(nickname)) {
+            ToastTool.showShort("请输入昵称");
+            return;
+        }
+        if (TextUtils.isEmpty(cashAccount)) {
+            ToastTool.showShort("请输入提现账号");
+            return;
+        }
+
+        String encodeString = StringTool.getEncodeString(password);
+        mBeiUser = new BeiUser();
+        mBeiUser.email = email;
+        mBeiUser.password = encodeString;
+        mBeiUser.nickName = nickname;
+        mBeiUser.cashAccount = cashAccount;
+        showLoading();
+        presenter.submitRegister(mBeiUser, code);
     }
 
     @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            default:
-                break;
+    public void onRegisterResult(BeiUser user, String message) {
+        dismissLoading();
+        if (user != null) {
+            // 保存到本地
+            UserInfoManager.getInstance().setBeiUser(user);
+            setResult(RESULT_OK);
+            finish();
+        } else {
+            ToastTool.showShort(message);
         }
     }
 }

+ 16 - 0
app/src/main/java/com/itant/shibei/ui/mine/login/register/fill/IRegisterView.java

@@ -0,0 +1,16 @@
+package com.itant.shibei.ui.mine.login.register.fill;
+
+import com.itant.shibei.bean.BeiUser;
+import com.miekir.mvp.view.IView;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/8/2 10:29
+ * Description: 获取验证码的回调
+ */
+public interface IRegisterView extends IView {
+
+    void onRegisterResult(BeiUser user, String message);
+}

+ 52 - 0
app/src/main/java/com/itant/shibei/ui/mine/login/register/fill/RegisterPresenter.java

@@ -0,0 +1,52 @@
+package com.itant.shibei.ui.mine.login.register.fill;
+
+import android.text.TextUtils;
+
+import com.itant.shibei.base.ApiService;
+import com.itant.shibei.bean.BeiUser;
+import com.miekir.mvp.presenter.BasePresenter;
+import com.miekir.network.core.RetrofitHelper;
+import com.miekir.network.core.base.BaseObserver;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * @author Miekir
+ * @date 2020/7/9 20:54
+ * Description: 商品的相关数据接口处理
+ */
+public class RegisterPresenter extends BasePresenter<IRegisterView> {
+
+    public void submitRegister(BeiUser user, String code) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("email", user.email);
+        map.put("code", code);
+        map.put("password", user.password);
+        map.put("nickname", user.nickName);
+        map.put("cashAccount", user.cashAccount);
+        RetrofitHelper.getInstance()
+                .getRequestApi(ApiService.class)
+                .submitRegister(map)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new BaseObserver<BeiUser>() {
+                    @Override
+                    public void onSuccess(BeiUser result) {
+                        if (getView() != null) {
+                            getView().onRegisterResult(result, null);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(Throwable e, String errMsg) {
+                        if (getView() != null) {
+                            getView().onRegisterResult(null, TextUtils.isEmpty(errMsg) ? "注册失败" : errMsg);
+                        }
+                    }
+                });
+    }
+}

+ 8 - 4
app/src/main/res/layout/activity_fill_data.xml

@@ -31,6 +31,7 @@
         app:boxStrokeWidthFocused="@dimen/width_stroke">
 
         <com.google.android.material.textfield.TextInputEditText
+            android:id="@+id/et_password"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:inputType="textPassword"
@@ -57,10 +58,11 @@
         app:boxStrokeWidthFocused="@dimen/width_stroke">
 
         <com.google.android.material.textfield.TextInputEditText
+            android:id="@+id/et_nickname"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:inputType="textEmailAddress"
-            android:maxLength="50"
+            android:inputType="text"
+            android:maxLength="12"
             android:textSize="@dimen/text_normal_s" />
     </com.google.android.material.textfield.TextInputLayout>
 
@@ -81,10 +83,12 @@
         app:boxStrokeWidthFocused="@dimen/width_stroke">
 
         <com.google.android.material.textfield.TextInputEditText
+            android:id="@+id/et_cash_account"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:inputType="textEmailAddress"
-            android:maxLength="50"
+            android:inputType="numberDecimal"
+            android:digits="0123456789"
+            android:maxLength="11"
             android:textSize="@dimen/text_normal_s" />
     </com.google.android.material.textfield.TextInputLayout>
 

+ 0 - 1
app/src/main/res/layout/activity_register.xml

@@ -36,7 +36,6 @@
             android:layout_height="wrap_content"
             android:inputType="textEmailAddress"
             android:maxLength="50"
-            android:paddingEnd="90dp"
             android:textSize="@dimen/text_normal_s" />
     </com.google.android.material.textfield.TextInputLayout>