LoginActivity.java 6.78 KB
package com.cnlive.libs;

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

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 LoginActivity extends BaseActivity implements View.OnClickListener {
    private static final String TAG_LOGIN = "Login";
    private static final String TAG_THIRDPARTY_LOGIN = "ThirdPartyLogin";
    private EditText userName, userPassword;
    private Button login;
    private TextView register, quickLogin, other, thirdParytLogin;

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

    public void initView() {
        userName = (EditText) this.findViewById(R.id.user_name);
        userPassword = (EditText) this.findViewById(R.id.password);

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

        register = (TextView) findViewById(R.id.register_textView);
        register.setOnClickListener(this);

        quickLogin = (TextView) findViewById(R.id.quick_login_textView);
        quickLogin.setOnClickListener(this);

        other = (TextView) findViewById(R.id.other_textView);
        other.setOnClickListener(this);

        thirdParytLogin = (TextView) findViewById(R.id.third_party_login);
        thirdParytLogin.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        Intent intent;
        switch (view.getId()) {
            case R.id.quick_login_textView:
                intent = new Intent(this, QuickLoginActivity.class);
                startActivity(intent);
                break;
            case R.id.register_textView:
                intent = new Intent(this, RegisterActivity.class);
                startActivity(intent);
                break;
            case R.id.other_textView:
                intent = new Intent(this, OtherActivity.class);
                startActivity(intent);
                break;
            case R.id.login:
                /**
                 * 用户名&密码登录
                 *
                 * @param userName          手机邮箱或ID
                 * @param pwd               密码
                 * @param frmId             渠道ID(非必传参数,可以传"")
                 * @param callback          回调
                 */
                UserUtil.login(userName.getText().toString(), userPassword.getText().toString(), "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_PARAM:
                                Log.e(TAG_LOGIN, IUserService.message_error_param);
                                break;
                            case IUserService.ERROR_USER_NOT_FOUND:
                                Log.e(TAG_LOGIN, IUserService.message_error_user_not_found);
                                break;
                            case IUserService.ERROR_USERNAME_OR_PASSWORD:
                                Log.e(TAG_LOGIN, IUserService.message_error_username_or_password);
                                break;
                            case IUserService.ERROR_PASSWORD:
                                Log.e(TAG_LOGIN, IUserService.message_error_password);
                                break;
                        }
                    }
                });
                break;
            case R.id.third_party_login:
                /**
                 * 第三方登陆
                 *
                 * @param thirdPartyPlat 第三方平台编号 [platform : 1:sina 2:qq 3:weixin 4:renren]
                 * @param thirdPartyId   第三方用户ID
                 * @param nickName       用户昵称?重复
                 * @param gender         性别,m:男、f:女、n:未知
                 * @param location       用户所在地
                 * @param faceUrl        头像,约100*100
                 * @param frmId          渠道ID(非必传参数,可以传"")
                 * @param callback       回调
                 */
                UserUtil.thirdPartyLogin(1, "thirdPartyId", "nickName", "gender", "location", "faceUrl", "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_PARAM:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_param);
                                break;
                            case IUserService.ERROR_THIRD_PLAT_ID:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_third_plat_id);
                                break;
                            case IUserService.ERROR_CLIENT_PLAT:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_client_plat);
                                break;
                            case IUserService.ERROR_GENDER:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_gender);
                                break;
                            case IUserService.ERROR_ADDRESS:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_address);
                                break;
                            case IUserService.ERROR_FACE_URL:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_face_url);
                                break;
                            case IUserService.ERROR_NICK_NAME_EXIST:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_nick_name_exist);
                                break;
                            case IUserService.ERROR_OTHER:
                                Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_other);
                                break;
                        }
                    }
                });
                break;
        }
    }
}