RegisterActivity.java 7.56 KB
package com.cnlive.libs;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.cnlive.libs.user.IUserService;
import com.cnlive.libs.user.UserUtil;
import com.cnlive.libs.user.model.UserData;
import com.cnlive.libs.util.data.network.Callback;

/**
 * 用户注册
 */
public class RegisterActivity extends BaseActivity implements View.OnClickListener {
    private static final String TAG_REGISTER = "Register";
    private static final String TAG_SEND_MESSAGE = "SendMsgBefRegister";

    private EditText userName, userPassword, number;
    private Button register, getNumber;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        initView();
    }

    public void initView() {
        userName = (EditText) findViewById(R.id.user_name_new);
        userPassword = (EditText) findViewById(R.id.password_new);
        number = (EditText) findViewById(R.id.number);

        register = (Button) findViewById(R.id.register);
        register.setOnClickListener(this);

        getNumber = (Button) findViewById(R.id.getNumber);
        getNumber.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.register:
                /**
                 * 注册
                 *
                 * @param userName         邮箱或手机
                 * @param pwd              密码
                 * @param verificationCode 手机验证码(手机号注册时必填)
                 * @param invitationCode   邀请码
                 * @param frmId            渠道ID(非必传参数,可传入"")
                 * @param callback         回调
                 */
                UserUtil.register(userName.getText().toString(), userPassword.getText().toString(), number.getText().toString(),
                        "invitationCode", "frmId", new Callback() {
                            @Override
                            public void onState(int what, String extra, Object obj) {
                                switch (what) {
                                    case IUserService.SUCCESS:
                                        //成功 obj返回用户信息
                                        userData = ((UserData) obj);
                                        break;
                                    case IUserService.ERROR_USER_NAME:
                                        Log.e(TAG_REGISTER, IUserService.message_error_user_name);
                                        break;
                                    case IUserService.ERROR_VERIFICATION_CODE_LENGTH:
                                        Log.e(TAG_REGISTER, IUserService.message_error_verfication_code_length);
                                        break;
                                    case IUserService.ERROR_MAIL:
                                        Log.e(TAG_REGISTER, IUserService.message_error_mail);
                                        break;
                                    case IUserService.ERROR_PASSWORD_CONTENT:
                                        Log.e(TAG_REGISTER, IUserService.message_error_password_content);
                                        break;
                                    case IUserService.ERROR_CLIENT_PLAT:
                                        Log.e(TAG_REGISTER, IUserService.message_error_client_plat);
                                        break;
                                    case IUserService.ERROR_MOBILE_EXIST:
                                        Log.e(TAG_REGISTER, IUserService.message_error_mobile_exist);
                                        break;
                                    case IUserService.ERROR_MAIL_EXIST:
                                        Log.e(TAG_REGISTER, IUserService.message_error_mail_exist);
                                        break;
                                    case IUserService.ERROR_NICK_NAME_EXIST:
                                        Log.e(TAG_REGISTER, IUserService.message_error_nick_name_exist);
                                        break;
                                    case IUserService.ERROR_VERIFICATION_CODE:
                                        Log.e(TAG_REGISTER, IUserService.message_error_verfication_code);
                                        break;
                                    case IUserService.ERROR_OTHER:
                                        Log.e(TAG_REGISTER, IUserService.message_error_other);
                                        break;
                                }
                            }
                        });
                break;
            case R.id.getNumber:
                /**
                 * 使用手机号注册前发送手机验证码
                 * @param type
                 * @param mobile        手机号
                 * @param callback      回调
                 *
                 * 发送手机验证码需要传入一个type值用来区分发送的验证码是用来做什么的
                 * QUICK_LOGIN--->快捷登陆前发送手机验证码
                 * REGISTER_OR_MODIFY_MOBILE---> 注册或修改手机号前发手机验证码
                 * RETRIEVE_OR_MODIFY_PASSWORD---> 找回或修改密码前发手机验证码
                 */
                UserUtil.sendMessage(IUserService.REGISTER_OR_MODIFY_MOBILE, userName.getText().toString(), new Callback() {
                    @Override
                    public void onState(int what, String extra, Object object) {
                        switch (what) {
                            case IUserService.ERROR_MOBILE:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_mobile);
                                break;
                            case IUserService.ERROR_CLIENT_PLAT:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_client_plat);
                                break;
                            case IUserService.ERROR_MOBILE_EXIST:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_mobile_exist);
                                break;
                            case IUserService.ERROR_MESSAGE_SERVER:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_server);
                                break;
                            case IUserService.ERROR_MESSAGE_SERVER_ANALYSIS:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_message_server_analysis);
                                break;
                            case IUserService.ERROR_OTHER:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_other);
                                break;
                            case IUserService.ERROR_SEND_MESSAGE_TO_MUCH:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_send_message_to_much);
                                break;
                            case IUserService.ERROR_SEND_MESSAGE_FAILED:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_send_message_failed);
                                break;
                            case IUserService.ERROR_MESSAGE_OTHER:
                                Log.e(TAG_SEND_MESSAGE, IUserService.message_error_message_other);
                                break;
                        }
                    }
                });
                break;
        }
    }
}