Commit bb77bac92b30e88ac2e77fb2d74aa5d6c2cdd2e2

Authored by 王琳
1 parent f134c235

更新用户sdk的jar包和demo

app/libs/libcnliveuser.jar
No preview for this file type
app/libs/libcnliveutil.jar
No preview for this file type
app/src/main/java/com/cnlive/libs/BaseActivity.java
... ... @@ -2,45 +2,17 @@ package com.cnlive.libs;
2 2  
3 3 import android.os.Bundle;
4 4 import android.support.v7.app.AppCompatActivity;
5   -import android.util.Log;
6 5  
7   -import com.cnlive.libs.user.CNLiveUser;
8   -import com.cnlive.libs.user.CNUserCallBack;
9   -import com.cnlive.libs.user.model.CNUserBuilder;
10   -import com.cnlive.libs.user.model.UserState;
  6 +import com.cnlive.libs.user.model.UserData;
11 7  
12 8 /**
13 9 * Created by Administrator on 2016/9/22.
14 10 */
15 11 public class BaseActivity extends AppCompatActivity {
16   -
17   - public CNLiveUser cnLiveUser;
18   - public CNUserCallBack cnUserCallBack = new CNUserUtilCallback();
19   -
20   - //通过cnUserBuilder设置请求接口是需要传入的参数,也可以获得请求接口成功后获得的数据
21   - public CNUserBuilder.Builder cnUserBuilder = new CNUserBuilder.Builder();
  12 + protected static UserData userData; // 用户信息
22 13  
23 14 @Override
24 15 protected void onCreate(Bundle savedInstanceState) {
25 16 super.onCreate(savedInstanceState);
26   - //初始化用户SDK
27   - cnLiveUser = new CNLiveUser(cnUserCallBack, cnUserBuilder);
28   - }
29   -
30   - //通过CNUserUtilCallback处理SDK状态,通过what和extra可以获取错误码和错误信息
31   - private class CNUserUtilCallback implements CNUserCallBack {
32   -
33   - @Override
34   - public void onUserState(String what, String extra) {
35   - switch (what){
36   - case UserState.ERROR_INIT_NETWORK:
37   - //网络连接失败
38   - break;
39   - case UserState.ERROR_INIT_OTHER:
40   - //内部错误
41   - break;
42   - }
43   - Log.e("DemoView", "errorCode = " + what + " errorMessage = " + extra);
44   - }
45 17 }
46 18 }
... ...
app/src/main/java/com/cnlive/libs/LoginActivity.java
... ... @@ -2,17 +2,23 @@ package com.cnlive.libs;
2 2  
3 3 import android.content.Intent;
4 4 import android.os.Bundle;
  5 +import android.util.Log;
5 6 import android.view.View;
6 7 import android.widget.Button;
7 8 import android.widget.EditText;
8 9 import android.widget.TextView;
9 10  
10   -import com.cnlive.libs.user.model.CNUserBuilder;
  11 +import com.cnlive.libs.user.IUserService;
  12 +import com.cnlive.libs.user.UserUtil;
  13 +import com.cnlive.libs.user.model.UserData;
  14 +import com.cnlive.libs.util.data.network.Callback;
11 15  
12 16 /**
13 17 * 用户登录
14 18 */
15 19 public class LoginActivity extends BaseActivity implements View.OnClickListener {
  20 + private static final String TAG_LOGIN = "Login";
  21 + private static final String TAG_THIRDPARTY_LOGIN = "ThirdPartyLogin";
16 22 private EditText userName, userPassword;
17 23 private Button login;
18 24 private TextView register, quickLogin, other, thirdParytLogin;
... ... @@ -61,22 +67,80 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
61 67 startActivity(intent);
62 68 break;
63 69 case R.id.login:
64   - //用户名&密码登录
65   - cnUserBuilder.setUserName(String.valueOf(userName.getText()));//用户名
66   - cnUserBuilder.setPwd(String.valueOf(userPassword.getText()));//密码
67   -// cnUserBuilder.setFrmId("frmId");//渠道ID
68   - cnLiveUser.login();
  70 + /**
  71 + * 用户名&密码登录
  72 + *
  73 + * @param userName 手机邮箱或ID
  74 + * @param pwd 密码
  75 + * @param frmId 渠道ID(非必传参数,可以传"")
  76 + * @param callback 回调
  77 + */
  78 + UserUtil.login(userName.getText().toString(), userPassword.getText().toString(), "frmId", new Callback() {
  79 + @Override
  80 + public void onState(int what, String extra, Object obj) {
  81 + switch (what) {
  82 + case IUserService.SUCCESS:
  83 + //成功 obj返回用户信息
  84 + userData = ((UserData) obj);
  85 + break;
  86 + case IUserService.ERROR_USER_NOT_FOUND:
  87 + Log.e(TAG_LOGIN, IUserService.message_error_user_not_found);
  88 + break;
  89 + case IUserService.ERROR_USERNAME_OR_PASSWORD:
  90 + Log.e(TAG_LOGIN, IUserService.message_error_username_or_password);
  91 + break;
  92 + case IUserService.ERROR_PASSWORD:
  93 + Log.e(TAG_LOGIN, IUserService.message_error_password);
  94 + break;
  95 + }
  96 + }
  97 + });
69 98 break;
70 99 case R.id.third_party_login:
71   - //第三方登陆
72   - cnUserBuilder.setThirdPartyPlat(1);// 第三方平台编号 [platform : 1:sina weibo 2:qq weibo 3:weixin 4:renren
73   - cnUserBuilder.setThirdPartyId("id");//第三方用户ID
74   - cnUserBuilder.setNickName("nickname");//用户昵称?重复
75   -// cnUserBuilder.setGender("n");//性别,m:男、f:女、n:未知
76   -// cnUserBuilder.setLocation("location");//用户所在地 非必传
77   -// cnUserBuilder.setFaceUrl("faceUrl");//头像
78   -// cnUserBuilder.setFrmId("frmId");//渠道ID
79   - cnLiveUser.thirdPartyLogin();
  100 + /**
  101 + * 第三方登陆
  102 + *
  103 + * @param thirdPartyPlat 第三方平台编号 [platform : 1:sina 2:qq 3:weixin 4:renren]
  104 + * @param thirdPartyId 第三方用户ID
  105 + * @param nickName 用户昵称?重复
  106 + * @param gender 性别,m:男、f:女、n:未知
  107 + * @param location 用户所在地
  108 + * @param faceUrl 头像,约100*100
  109 + * @param frmId 渠道ID(非必传参数,可以传"")
  110 + * @param callback 回调
  111 + */
  112 + UserUtil.thirdPartyLogin(1, "thirdPartyId", "nickName", "gender", "location", "faceUrl", "frmId", new Callback() {
  113 + @Override
  114 + public void onState(int what, String extra, Object obj) {
  115 + switch (what) {
  116 + case IUserService.SUCCESS:
  117 + //成功 obj返回用户信息
  118 + userData = ((UserData) obj);
  119 + break;
  120 + case IUserService.ERROR_THIRD_PLAT_ID:
  121 + Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_third_plat_id);
  122 + break;
  123 + case IUserService.ERROR_CLIENT_PLAT:
  124 + Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_client_plat);
  125 + break;
  126 + case IUserService.ERROR_GENDER:
  127 + Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_gender);
  128 + break;
  129 + case IUserService.ERROR_ADDRESS:
  130 + Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_address);
  131 + break;
  132 + case IUserService.ERROR_FACE_URL:
  133 + Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_face_url);
  134 + break;
  135 + case IUserService.ERROR_NICK_NAME_EXIST:
  136 + Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_nick_name_exist);
  137 + break;
  138 + case IUserService.ERROR_OTHER:
  139 + Log.e(TAG_THIRDPARTY_LOGIN, IUserService.message_error_other);
  140 + break;
  141 + }
  142 + }
  143 + });
80 144 break;
81 145 }
82 146 }
... ...
app/src/main/java/com/cnlive/libs/OtherActivity.java
1 1 package com.cnlive.libs;
2 2  
3 3 import android.os.Bundle;
  4 +import android.util.Log;
4 5 import android.view.View;
5 6 import android.widget.Button;
6 7 import android.widget.EditText;
7 8 import android.widget.TextView;
8 9  
9   -import com.cnlive.libs.user.model.CNUserBuilder;
  10 +import com.cnlive.libs.user.IUserService;
  11 +import com.cnlive.libs.user.UserUtil;
  12 +import com.cnlive.libs.user.model.UserData;
  13 +import com.cnlive.libs.util.data.network.Callback;
10 14  
11 15 import java.io.File;
12 16  
13 17 public class OtherActivity extends BaseActivity implements View.OnClickListener {
  18 + private static final String TAG_FEEDBACK = "Feedback";
  19 + private static final String TAG_UPLOAD_FACE = "UploadFace";
  20 + private static final String TAG_UPDATE_MOBILE = "UpdateMobile";
  21 + private static final String TAG_UPDATE_USER_EXT_INFO = "UpdateExtInfo";
  22 + private static final String TAG_QUERY_USER_INFO = "QueryUserInfo";
  23 + private static final String TAG_MODIFY_USER_INFO = "ModifyUserInfo";
  24 + private static final String TAG_MODIFY_PWD = "ModifyPwdWithMob";
  25 + private static final String TAG_BIND_THIRD = "BindThirdParty";
  26 + private static final String TAG_SEND_MSG_BEF_FINDBACK = "SendMsgBefFindBack";
14 27  
15 28 //demo中上传的头像文件
16 29 File file = new File("/sdcard/1.jpg");
17 30  
18 31 private EditText feedbackMsg;
19 32 private Button feedback, uploadFace;
20   - private TextView modifyMobile, updateUserExtInfo, queryUserInfo, modifyUserInfo, modifyPwdWithMobile;
  33 + private TextView modifyMobile, updateUserExtInfo, queryUserInfo, modifyUserInfo, modifyPwdWithMobile, bindThird, sendMessage;
21 34  
22 35  
  36 + private String uid;
  37 +
23 38 @Override
24 39 protected void onCreate(Bundle savedInstanceState) {
25 40 super.onCreate(savedInstanceState);
26 41 setContentView(R.layout.activity_other);
  42 + uid = userData.getData().getUid();
27 43 initView();
28 44 }
29 45  
... ... @@ -57,51 +73,389 @@ public class OtherActivity extends BaseActivity implements View.OnClickListener
57 73 //通过手机号码更改密码
58 74 modifyPwdWithMobile = (TextView) findViewById(R.id.modify_pwd_through_mobile);
59 75 modifyPwdWithMobile.setOnClickListener(this);
  76 +
  77 + //绑定第三方
  78 + bindThird = (TextView) findViewById(R.id.bind_third);
  79 + bindThird.setOnClickListener(this);
  80 +
  81 + // 找回或修改密码前发手机验证码
  82 + sendMessage = (TextView) findViewById(R.id.send_message);
  83 + sendMessage.setOnClickListener(this);
60 84 }
61 85  
62 86 @Override
63 87 public void onClick(View view) {
64 88 switch (view.getId()) {
65 89 case R.id.uploadface:
66   - //上传头像
67   - cnUserBuilder.setSecret("33eb04e9ca7001e878eb8a57e2a1068d7b48c2909fc341");//app_secret
68   - cnLiveUser.uploadFace(file);
  90 + /**
  91 + * 上传头像
  92 + * @param uid 用户ID
  93 + * @param secret 获取access_token 凭证
  94 + * @param file 头像文件
  95 + * @param callback 回调
  96 + */
  97 + UserUtil.uploadFace(uid, "33eb04e9ca7001e878eb8a57e2a1068d7b48c2909fc341", file, new Callback() {
  98 + @Override
  99 + public void onState(int what, String extra, Object obj) {
  100 + switch (what) {
  101 + case IUserService.SUCCESS:
  102 + //成功 obj返回头像url
  103 + String faceUrl = ((UserData) obj).getData().getFaceUrl();
  104 + break;
  105 + case IUserService.ERROR_CLIENT_PLAT:
  106 + Log.e(TAG_UPLOAD_FACE, IUserService.message_error_client_plat);
  107 + break;
  108 + case IUserService.ERROR_UPLOAD_FILE_FAILED:
  109 + Log.e(TAG_UPLOAD_FACE, IUserService.message_error_upload_file_failed);
  110 + break;
  111 + case IUserService.ERROR_UPDATE_FACE:
  112 + Log.e(TAG_UPLOAD_FACE, IUserService.message_error_update_face);
  113 + break;
  114 + case IUserService.ERROR_OTHER:
  115 + Log.e(TAG_UPLOAD_FACE, IUserService.message_error_other);
  116 + break;
  117 + }
  118 + }
  119 + });
69 120 break;
70 121 case R.id.feedback:
71   - //用户反馈
72   - cnUserBuilder.setId("id");
73   - cnUserBuilder.setMsg(feedbackMsg.getText().toString());
74   - cnLiveUser.feedback();
  122 + /**
  123 + * 用户反馈
  124 + *
  125 + * @param id 举报内容ID
  126 + * @param msg 举报内容(app自己组织-不能带特殊字符&号等)
  127 + * @param callback 回调
  128 + */
  129 + UserUtil.feedback("id", feedbackMsg.getText().toString(), new Callback() {
  130 + @Override
  131 + public void onState(int what, String extra, Object obj) {
  132 + switch (what) {
  133 + case IUserService.SUCCESS:
  134 + //成功
  135 + break;
  136 + case IUserService.ERROR_FEEDBACK_INSERT_FAILED:
  137 + Log.e(TAG_FEEDBACK, IUserService.message_feedback_insert_failed);
  138 + break;
  139 + case IUserService.ERROR_FEEDBACK_LENGTH:
  140 + Log.e(TAG_FEEDBACK, IUserService.message_feedback_length);
  141 + break;
  142 + case IUserService.ERROR_OTHER:
  143 + Log.e(TAG_FEEDBACK, IUserService.message_error_other);
  144 + break;
  145 + }
  146 + }
  147 + });
75 148 break;
76 149 case R.id.modify_mobile:
77   - //更新手机号
78   - cnUserBuilder.setMobile("18811122371");//手机号
79   - cnUserBuilder.setVerificationCode("123456");//手机验证码
80   - cnLiveUser.updateMobile();
  150 + /**
  151 + * 更新手机号
  152 + *
  153 + * @param uid 用户ID
  154 + * @param mobile 手机号
  155 + * @param verificationCode 手机验证码
  156 + * @param callback 回调
  157 + */
  158 + UserUtil.updateMobile(uid, "18811122371", "123456", new Callback() {
  159 + @Override
  160 + public void onState(int what, String extra, Object obj) {
  161 + switch (what) {
  162 + case IUserService.SUCCESS:
  163 + //成功
  164 + break;
  165 + case IUserService.ERROR_MOBILE:
  166 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_mobile);
  167 + break;
  168 + case IUserService.ERROR_VERIFICATION_CODE_LENGTH:
  169 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_verfication_code_length);
  170 + break;
  171 + case IUserService.ERROR_CLIENT_PLAT:
  172 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_client_plat);
  173 + break;
  174 + case IUserService.ERROR_TOKEN_INVALID:
  175 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_token_invalid);
  176 + break;
  177 + case IUserService.ERROR_TOKEN_CHECKING:
  178 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_token_checking);
  179 + break;
  180 + case IUserService.ERROR_VERIFICATION_CODE:
  181 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_verfication_code);
  182 + break;
  183 + case IUserService.ERROR_MOBILE_EXIST:
  184 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_mobile_exist);
  185 + break;
  186 + case IUserService.ERROR_CHANGE_USERNAME_FAILED:
  187 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_change_username_failed);
  188 + break;
  189 + case IUserService.ERROR_CHANGE_NICKNAME_FAILED:
  190 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_change_nickname_failed);
  191 + break;
  192 + case IUserService.ERROR_OPERATE:
  193 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_operate);
  194 + break;
  195 + case IUserService.ERROR_USER_NOT_FOUND:
  196 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_user_not_found);
  197 + break;
  198 + case IUserService.ERROR_OTHER:
  199 + Log.e(TAG_UPDATE_MOBILE, IUserService.message_error_other);
  200 + break;
  201 + }
  202 + }
  203 + });
81 204 break;
82 205 case R.id.update_user_ext_info:
83   - //更新用户附加信息
84   - cnUserBuilder.setExtInfo("sdjfoisdf");//扩展信息(格式自己组织)
85   - cnLiveUser.updateUserExtInfo();
  206 + /**
  207 + * 更新用户附加信息
  208 + * @param uid 用户ID
  209 + * @param extInfo 扩展信息(格式由对方自己组织,平台只负责存储和原样读取)
  210 + * @param callback 回调
  211 + */
  212 + UserUtil.updateUserExtInfo(uid, "didjosdfs", new Callback() {
  213 + @Override
  214 + public void onState(int what, String extra, Object obj) {
  215 + switch (what) {
  216 + case IUserService.SUCCESS:
  217 + //成功
  218 + break;
  219 + case IUserService.ERROR_TOKEN_INVALID:
  220 + Log.e(TAG_UPDATE_USER_EXT_INFO, IUserService.message_error_token_invalid);
  221 + break;
  222 + case IUserService.ERROR_TOKEN_CHECKING:
  223 + Log.e(TAG_UPDATE_USER_EXT_INFO, IUserService.message_error_token_checking);
  224 + break;
  225 + case IUserService.ERROR_OPERATE:
  226 + Log.e(TAG_UPDATE_USER_EXT_INFO, IUserService.message_error_operate);
  227 + break;
  228 + case IUserService.ERROR_OTHER:
  229 + Log.e(TAG_UPDATE_USER_EXT_INFO, IUserService.message_error_other);
  230 + break;
  231 + }
  232 + }
  233 + });
86 234 break;
87 235 case R.id.query_user_info:
88   - //查询用户信息
89   - cnUserBuilder.setSrcUid("1342671");//被查询用户ID
90   - cnLiveUser.queryUserInfo();
  236 + /**
  237 + * 查询用户信息
  238 + *
  239 + * @param uid 用户ID
  240 + * @param srcUid 被查询用户ID
  241 + * @param callback 回调
  242 + */
  243 + UserUtil.queryUserInfo(uid, uid, new Callback() {
  244 + @Override
  245 + public void onState(int what, String extra, Object obj) {
  246 + switch (what) {
  247 + case IUserService.SUCCESS:
  248 + //成功 obj返回用户信息
  249 + userData = (UserData) obj;
  250 + break;
  251 + case IUserService.ERROR_TOKEN_INVALID:
  252 + Log.e(TAG_QUERY_USER_INFO, IUserService.message_error_token_invalid);
  253 + break;
  254 + case IUserService.ERROR_TOKEN_CHECKING:
  255 + Log.e(TAG_QUERY_USER_INFO, IUserService.message_error_token_checking);
  256 + break;
  257 + case IUserService.ERROR_NOT_FOUND_RECORD:
  258 + Log.e(TAG_QUERY_USER_INFO, IUserService.message_error_not_found_record);
  259 + break;
  260 + }
  261 + }
  262 + });
91 263 break;
92 264 case R.id.modify_user_info:
93   - //更新用户单项信息
94   - cnUserBuilder.setType("nickName");//nickName-昵称,gender-性别,email-邮箱, location-联系方式
95   - cnUserBuilder.setValue("woaa");
96   - cnLiveUser.modifyUserInfo();
  265 + /**
  266 + * 修改用户单项信息
  267 + *
  268 + * @param uid 用户ID
  269 + * @param type nickName-昵称,gender-性别,email-邮箱, location-联系方式
  270 + * @param value 对应的信息
  271 + * @param callback 回调
  272 + */
  273 +
  274 + UserUtil.modifyUserInfo(uid, "nickName", "Lynn", new Callback() {
  275 + @Override
  276 + public void onState(int what, String extra, Object obj) {
  277 + switch (what) {
  278 + case IUserService.SUCCESS:
  279 + //成功
  280 + break;
  281 + case IUserService.ERROR_TOKEN_INVALID:
  282 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_token_invalid);
  283 + break;
  284 + case IUserService.ERROR_TOKEN_CHECKING:
  285 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_token_checking);
  286 + break;
  287 + case IUserService.ERROR_OPERATE:
  288 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_operate);
  289 + break;
  290 + case IUserService.ERROR_NICK_NAME_LENGTH:
  291 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_nick_name_length);
  292 + break;
  293 + case IUserService.ERROR_NICK_NAME_EXIST:
  294 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_nick_name_exist);
  295 + break;
  296 + case IUserService.ERROR_GENDER:
  297 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_gender);
  298 + break;
  299 + case IUserService.ERROR_PASSWORD_CONTENT:
  300 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_password_content);
  301 + break;
  302 + case IUserService.ERROR_MAIL_FORMAT:
  303 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_mail_format);
  304 + break;
  305 + case IUserService.ERROR_MAIL:
  306 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_mail);
  307 + break;
  308 + case IUserService.ERROR_MAIL_EXIST:
  309 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_mail_exist);
  310 + break;
  311 + case IUserService.ERROR_CHANGE_USERNAME_FAILED:
  312 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_change_username_failed);
  313 + break;
  314 + case IUserService.ERROR_CHANGE_NICKNAME_FAILED:
  315 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_change_nickname_failed);
  316 + break;
  317 + case IUserService.ERROR_ADDRESS:
  318 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_address);
  319 + break;
  320 + case IUserService.ERROR_TYPE_INVALID:
  321 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_type_invalid);
  322 + break;
  323 + case IUserService.ERROR_OTHER:
  324 + Log.e(TAG_MODIFY_USER_INFO, IUserService.message_error_other);
  325 + break;
  326 + }
  327 + }
  328 + });
97 329 break;
98 330 case R.id.modify_pwd_through_mobile:
99   - //通过手机号码修改密码
100   - cnUserBuilder.setMobile("18811122371");//手机号
101   - cnUserBuilder.setVerificationCode("123456");//验证码
102   - cnUserBuilder.setNewPwd("123456");//新密码
103   - cnLiveUser.modifyPwdWithMob();
  331 + /**
  332 + * 通过手机号修改密码
  333 + *
  334 + * @param mobile 手机号
  335 + * @param verificationCode 手机验证码
  336 + * @param newPwd 新密码
  337 + * @param callback 签名
  338 + */
  339 + UserUtil.modifyPwdWithMob("mobile", "verficationCode", "newPwd", new Callback() {
  340 + @Override
  341 + public void onState(int what, String extra, Object obj) {
  342 + switch (what) {
  343 + case IUserService.SUCCESS:
  344 + //成功
  345 + break;
  346 + case IUserService.ERROR_MOBILE:
  347 + Log.e(TAG_MODIFY_PWD, IUserService.message_error_mobile);
  348 + break;
  349 + case IUserService.ERROR_VERIFICATION_CODE_LENGTH:
  350 + Log.e(TAG_MODIFY_PWD, IUserService.message_error_verfication_code_length);
  351 + break;
  352 + case IUserService.ERROR_PASSWORD_CONTENT:
  353 + Log.e(TAG_MODIFY_PWD, IUserService.message_error_password_content);
  354 + break;
  355 + case IUserService.ERROR_VERIFICATION_CODE:
  356 + Log.e(TAG_MODIFY_PWD, IUserService.message_error_verfication_code);
  357 + break;
  358 + case IUserService.ERROR_MOBILE_NOT_REGISTER:
  359 + Log.e(TAG_MODIFY_PWD, IUserService.message_error_mobile_not_register);
  360 + break;
  361 + case IUserService.ERROR_OTHER:
  362 + Log.e(TAG_MODIFY_PWD, IUserService.message_error_other);
  363 + break;
  364 + }
  365 + }
  366 + });
  367 + break;
  368 + case R.id.bind_third:
  369 + /**
  370 + * 绑定第三方账号
  371 + *
  372 + * @param uid 用户ID
  373 + * @param thirdPartyPlat 第三方平台编号 [platform : 1:sina 2:qq 3:weixin 4:renren]
  374 + * @param thirdPartyId 第三方用户ID
  375 + * @param callback 回调
  376 + */
  377 + UserUtil.bindThird(uid, 1, "thirdPartyId", new Callback() {
  378 + @Override
  379 + public void onState(int what, String extra, Object obj) {
  380 + switch (what) {
  381 + case IUserService.SUCCESS:
  382 + //成功
  383 + break;
  384 + case IUserService.ERROR_THIRD_PLAT_ID:
  385 + Log.e(TAG_BIND_THIRD, IUserService.message_error_third_plat_id);
  386 + break;
  387 + case IUserService.ERROR_CLIENT_PLAT:
  388 + Log.e(TAG_BIND_THIRD, IUserService.message_error_client_plat);
  389 + break;
  390 + case IUserService.ERROR_TOKEN_INVALID:
  391 + Log.e(TAG_BIND_THIRD, IUserService.message_error_token_invalid);
  392 + break;
  393 + case IUserService.ERROR_TOKEN_CHECKING:
  394 + Log.e(TAG_BIND_THIRD, IUserService.message_error_token_checking);
  395 + break;
  396 + case IUserService.ERROR_THIRDPLAT_BINDED:
  397 + Log.e(TAG_BIND_THIRD, IUserService.message_error_thirdplat_binded);
  398 + break;
  399 + case IUserService.ERROR_BIND_FAILED:
  400 + Log.e(TAG_BIND_THIRD, IUserService.message_error_bind_failed);
  401 + break;
  402 + case IUserService.ERROR_OTHER:
  403 + Log.e(TAG_BIND_THIRD, IUserService.message_error_other);
  404 + break;
  405 + }
  406 + }
  407 + });
104 408 break;
  409 + case R.id.send_message:
  410 + /**
  411 + * 找回或修改密码前发手机验证码
  412 + *
  413 + * @param type
  414 + * @param mobile 手机号
  415 + * @param callback 回调
  416 + *
  417 + * 发送手机验证码需要传入一个type值用来区分发送的验证码是用来做什么的
  418 + * QUICK_LOGIN--->快捷登陆前发送手机验证码
  419 + * REGISTER_OR_MODIFY_MOBILE---> 注册或修改手机号前发手机验证码
  420 + * RETRIEVE_OR_MODIFY_PASSWORD---> 找回或修改密码前发手机验证码
  421 + */
  422 + UserUtil.sendMessage(IUserService.RETRIEVE_OR_MODIFY_PASSWORD, "mobile", new Callback() {
  423 + @Override
  424 + public void onState(int what, String extra, Object obj) {
  425 + switch (what) {
  426 + case IUserService.SUCCESS:
  427 + //成功
  428 + break;
  429 + case IUserService.ERROR_MOBILE:
  430 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_mobile);
  431 + break;
  432 + case IUserService.ERROR_CLIENT_PLAT:
  433 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_client_plat);
  434 + break;
  435 + case IUserService.ERROR_MOBILE_NOT_REGISTER:
  436 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_mobile_not_register);
  437 + break;
  438 + case IUserService.ERROR_MESSAGE_SERVER:
  439 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_server);
  440 + break;
  441 + case IUserService.ERROR_MESSAGE_SERVER_ANALYSIS:
  442 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_message_server_analysis);
  443 + break;
  444 + case IUserService.ERROR_OTHER:
  445 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_other);
  446 + break;
  447 + case IUserService.ERROR_SEND_MESSAGE_TO_MUCH:
  448 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_send_message_to_much);
  449 + break;
  450 + case IUserService.ERROR_SEND_MESSAGE_FAILED:
  451 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_send_message_failed);
  452 + break;
  453 + case IUserService.ERROR_MESSAGE_OTHER:
  454 + Log.e(TAG_SEND_MSG_BEF_FINDBACK, IUserService.message_error_message_other);
  455 + break;
  456 + }
  457 + }
  458 + });
105 459 }
106 460 }
107 461 }
... ...
app/src/main/java/com/cnlive/libs/QuickLoginActivity.java
1 1 package com.cnlive.libs;
2 2  
3 3 import android.os.Bundle;
  4 +import android.util.Log;
4 5 import android.view.View;
5 6 import android.widget.Button;
6 7 import android.widget.EditText;
7 8  
8   -import com.cnlive.libs.user.model.CNUserBuilder;
9   -import com.cnlive.libs.user.model.UserState;
  9 +import com.cnlive.libs.user.IUserService;
  10 +import com.cnlive.libs.user.UserUtil;
  11 +import com.cnlive.libs.user.model.UserData;
  12 +import com.cnlive.libs.util.data.network.Callback;
10 13  
11 14 /**
12 15 * 用户快捷登录(手机验证码登录)
13 16 */
14 17 public class QuickLoginActivity extends BaseActivity implements View.OnClickListener {
15 18  
  19 + private static final String SEND_MESSAGE_TAG = "SendMsgbefQuickLogin";
  20 + private static final String QUICK_LOGIN = "QuickLogin";
16 21 private EditText mobile, code;
17 22 private Button getCode, quickLogin;
18 23  
... ... @@ -38,22 +43,89 @@ public class QuickLoginActivity extends BaseActivity implements View.OnClickList
38 43 public void onClick(View view) {
39 44 switch (view.getId()) {
40 45 case R.id.getNumber:
41   - //快捷登录前发送手机验证码
42   - cnUserBuilder.setMobile(mobile.getText().toString());
43 46 /**
  47 + * 快捷登录前发送手机验证码
  48 + * @param type
  49 + * @param mobile 手机号
  50 + * @param callback 回调
  51 + *
44 52 * 发送手机验证码需要传入一个type值用来区分发送的验证码是用来做什么的
45 53 * QUICK_LOGIN--->快捷登陆前发送手机验证码
46 54 * REGISTER_OR_MODIFY_MOBILE---> 注册或修改手机号前发手机验证码
47 55 * RETRIEVE_OR_MODIFY_PASSWORD---> 找回或修改密码前发手机验证码
48 56 */
49   - cnLiveUser.sendMessage(UserState.QUICK_LOGIN);
  57 + UserUtil.sendMessage(IUserService.QUICK_LOGIN, mobile.getText().toString(), new Callback() {
  58 + @Override
  59 + public void onState(int what, String extra, Object obj) {
  60 + switch (what) {
  61 + case IUserService.ERROR_MOBILE:
  62 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_mobile);
  63 + break;
  64 + case IUserService.ERROR_CLIENT_PLAT:
  65 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_client_plat);
  66 + break;
  67 + case IUserService.ERROR_MESSAGE_SERVER:
  68 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_server);
  69 + break;
  70 + case IUserService.ERROR_MESSAGE_SERVER_ANALYSIS:
  71 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_message_server_analysis);
  72 + break;
  73 + case IUserService.ERROR_OTHER:
  74 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_other);
  75 + break;
  76 + case IUserService.ERROR_SEND_MESSAGE_TO_MUCH:
  77 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_send_message_to_much);
  78 + break;
  79 + case IUserService.ERROR_SEND_MESSAGE_FAILED:
  80 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_send_message_failed);
  81 + break;
  82 + case IUserService.ERROR_MESSAGE_OTHER:
  83 + Log.e(SEND_MESSAGE_TAG, IUserService.message_error_message_other);
  84 + break;
  85 + }
  86 + }
  87 + });
50 88 break;
51 89 case R.id.quick_login:
52   - cnUserBuilder.setUserName(String.valueOf(mobile.getText()));
53   - cnUserBuilder.setVerificationCode(String.valueOf(code.getText()));
54   -// cnUserBuilder.setUuid("uuid");
55   -// cnUserBuilder.setFrmId("frmId");
56   - cnLiveUser.quickLogin();
  90 + /**
  91 + * 快捷登录
  92 + * @param userName 手机号
  93 + * @param verificationCode 验证码
  94 + * @param frmId 渠道ID(非必传参数,可传"")
  95 + * @param callback 回调
  96 + */
  97 + UserUtil.quickLogin(mobile.getText().toString(), code.getText().toString(), "", new Callback() {
  98 + @Override
  99 + public void onState(int what, String extra, Object obj) {
  100 + switch (what) {
  101 + case IUserService.SUCCESS:
  102 + //成功 obj返回用户信息
  103 + userData = ((UserData)obj);
  104 + break;
  105 + case IUserService.ERROR_CLIENT_PLAT:
  106 + Log.e(QUICK_LOGIN, IUserService.message_error_client_plat);
  107 + break;
  108 + case IUserService.ERROR_MOBILE:
  109 + Log.e(QUICK_LOGIN, IUserService.message_error_mobile);
  110 + break;
  111 + case IUserService.ERROR_VERIFICATION_CODE_LENGTH:
  112 + Log.e(QUICK_LOGIN, IUserService.message_error_verfication_code_length);
  113 + break;
  114 + case IUserService.ERROR_VERIFICATION_CODE:
  115 + Log.e(QUICK_LOGIN, IUserService.message_error_verfication_code);
  116 + break;
  117 + case IUserService.ERROR_MOBILE_EXIST:
  118 + Log.e(QUICK_LOGIN, IUserService.message_error_mobile_exist);
  119 + break;
  120 + case IUserService.ERROR_NICK_NAME_EXIST:
  121 + Log.e(QUICK_LOGIN, IUserService.message_error_nick_name_exist);
  122 + break;
  123 + case IUserService.ERROR_OTHER:
  124 + Log.e(QUICK_LOGIN, IUserService.message_error_other);
  125 + break;
  126 + }
  127 + }
  128 + });
57 129 break;
58 130 }
59 131 }
... ...
app/src/main/java/com/cnlive/libs/RegisterActivity.java
1 1 package com.cnlive.libs;
2 2  
3 3 import android.os.Bundle;
  4 +import android.util.Log;
4 5 import android.view.View;
5 6 import android.widget.Button;
6 7 import android.widget.EditText;
7 8  
8   -import com.cnlive.libs.user.model.CNUserBuilder;
9   -import com.cnlive.libs.user.model.UserState;
  9 +import com.cnlive.libs.user.IUserService;
  10 +import com.cnlive.libs.user.UserUtil;
  11 +import com.cnlive.libs.user.model.UserData;
  12 +import com.cnlive.libs.util.data.network.Callback;
10 13  
11 14 /**
12 15 * 用户注册
13 16 */
14 17 public class RegisterActivity extends BaseActivity implements View.OnClickListener {
  18 + private static final String TAG_REGISTER = "Register";
  19 + private static final String TAG_SEND_MESSAGE = "SendMsgBefRegister";
15 20  
16 21 private EditText userName, userPassword, number;
17 22 private Button register, getNumber;
... ... @@ -39,17 +44,105 @@ public class RegisterActivity extends BaseActivity implements View.OnClickListen
39 44 public void onClick(View view) {
40 45 switch (view.getId()) {
41 46 case R.id.register:
42   - cnUserBuilder.setUserName(userName.getText().toString());//邮箱或手机
43   - cnUserBuilder.setPwd(userPassword.getText().toString());//密码
44   - cnUserBuilder.setVerificationCode(number.getText().toString());//手机验证码(手机号注册时必填)
45   -// cnUserBuilder.setInvitationCode("invitationCode");//邀请码
46   -// cnUserBuilder.setFrmId("frmId");//渠道ID
47   - cnLiveUser.register();
  47 + /**
  48 + * 注册
  49 + *
  50 + * @param userName 邮箱或手机
  51 + * @param pwd 密码
  52 + * @param verificationCode 手机验证码(手机号注册时必填)
  53 + * @param invitationCode 邀请码
  54 + * @param frmId 渠道ID(非必传参数,可传入"")
  55 + * @param callback 回调
  56 + */
  57 + UserUtil.register(userName.getText().toString(), userPassword.getText().toString(), number.getText().toString(),
  58 + "invitationCode", "frmId", new Callback() {
  59 + @Override
  60 + public void onState(int what, String extra, Object obj) {
  61 + switch (what) {
  62 + case IUserService.SUCCESS:
  63 + //成功 obj返回用户信息
  64 + userData = ((UserData) obj);
  65 + break;
  66 + case IUserService.ERROR_USER_NAME:
  67 + Log.e(TAG_REGISTER, IUserService.message_error_user_name);
  68 + break;
  69 + case IUserService.ERROR_VERIFICATION_CODE_LENGTH:
  70 + Log.e(TAG_REGISTER, IUserService.message_error_verfication_code_length);
  71 + break;
  72 + case IUserService.ERROR_MAIL:
  73 + Log.e(TAG_REGISTER, IUserService.message_error_mail);
  74 + break;
  75 + case IUserService.ERROR_PASSWORD_CONTENT:
  76 + Log.e(TAG_REGISTER, IUserService.message_error_password_content);
  77 + break;
  78 + case IUserService.ERROR_CLIENT_PLAT:
  79 + Log.e(TAG_REGISTER, IUserService.message_error_client_plat);
  80 + break;
  81 + case IUserService.ERROR_MOBILE_EXIST:
  82 + Log.e(TAG_REGISTER, IUserService.message_error_mobile_exist);
  83 + break;
  84 + case IUserService.ERROR_MAIL_EXIST:
  85 + Log.e(TAG_REGISTER, IUserService.message_error_mail_exist);
  86 + break;
  87 + case IUserService.ERROR_NICK_NAME_EXIST:
  88 + Log.e(TAG_REGISTER, IUserService.message_error_nick_name_exist);
  89 + break;
  90 + case IUserService.ERROR_VERIFICATION_CODE:
  91 + Log.e(TAG_REGISTER, IUserService.message_error_verfication_code);
  92 + break;
  93 + case IUserService.ERROR_OTHER:
  94 + Log.e(TAG_REGISTER, IUserService.message_error_other);
  95 + break;
  96 + }
  97 + }
  98 + });
48 99 break;
49 100 case R.id.getNumber:
50   - //使用手机号注册前发送手机验证码
51   - cnUserBuilder.setMobile(userName.getText().toString());
52   - cnLiveUser.sendMessage(UserState.REGISTER_OR_MODIFY_MOBILE);
  101 + /**
  102 + * 使用手机号注册前发送手机验证码
  103 + * @param type
  104 + * @param mobile 手机号
  105 + * @param callback 回调
  106 + *
  107 + * 发送手机验证码需要传入一个type值用来区分发送的验证码是用来做什么的
  108 + * QUICK_LOGIN--->快捷登陆前发送手机验证码
  109 + * REGISTER_OR_MODIFY_MOBILE---> 注册或修改手机号前发手机验证码
  110 + * RETRIEVE_OR_MODIFY_PASSWORD---> 找回或修改密码前发手机验证码
  111 + */
  112 + UserUtil.sendMessage(IUserService.REGISTER_OR_MODIFY_MOBILE, userName.getText().toString(), new Callback() {
  113 + @Override
  114 + public void onState(int what, String extra, Object object) {
  115 + switch (what) {
  116 + case IUserService.ERROR_MOBILE:
  117 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_mobile);
  118 + break;
  119 + case IUserService.ERROR_CLIENT_PLAT:
  120 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_client_plat);
  121 + break;
  122 + case IUserService.ERROR_MOBILE_EXIST:
  123 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_mobile_exist);
  124 + break;
  125 + case IUserService.ERROR_MESSAGE_SERVER:
  126 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_server);
  127 + break;
  128 + case IUserService.ERROR_MESSAGE_SERVER_ANALYSIS:
  129 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_message_server_analysis);
  130 + break;
  131 + case IUserService.ERROR_OTHER:
  132 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_other);
  133 + break;
  134 + case IUserService.ERROR_SEND_MESSAGE_TO_MUCH:
  135 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_send_message_to_much);
  136 + break;
  137 + case IUserService.ERROR_SEND_MESSAGE_FAILED:
  138 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_send_message_failed);
  139 + break;
  140 + case IUserService.ERROR_MESSAGE_OTHER:
  141 + Log.e(TAG_SEND_MESSAGE, IUserService.message_error_message_other);
  142 + break;
  143 + }
  144 + }
  145 + });
53 146 break;
54 147 }
55 148 }
... ...
app/src/main/res/layout/activity_other.xml
... ... @@ -49,7 +49,7 @@
49 49  
50 50 <TextView
51 51 android:id="@+id/modify_mobile"
52   - android:layout_width="wrap_content"
  52 + android:layout_width="0dp"
53 53 android:layout_height="wrap_content"
54 54 android:layout_weight="1"
55 55 android:text="更新手机号"
... ... @@ -57,7 +57,7 @@
57 57  
58 58 <TextView
59 59 android:id="@+id/update_user_ext_info"
60   - android:layout_width="wrap_content"
  60 + android:layout_width="0dp"
61 61 android:layout_height="wrap_content"
62 62 android:layout_weight="1"
63 63 android:text="更新用户附加信息"
... ... @@ -74,7 +74,7 @@
74 74  
75 75 <TextView
76 76 android:id="@+id/query_user_info"
77   - android:layout_width="wrap_content"
  77 + android:layout_width="0dp"
78 78 android:layout_height="wrap_content"
79 79 android:layout_weight="1"
80 80 android:text="查询用户信息"
... ... @@ -82,7 +82,7 @@
82 82  
83 83 <TextView
84 84 android:id="@+id/modify_user_info"
85   - android:layout_width="wrap_content"
  85 + android:layout_width="0dp"
86 86 android:layout_height="wrap_content"
87 87 android:layout_weight="1"
88 88 android:text="修改用户单项信息"
... ... @@ -99,19 +99,38 @@
99 99  
100 100 <TextView
101 101 android:id="@+id/modify_pwd_through_mobile"
102   - android:layout_width="wrap_content"
  102 + android:layout_width="0dp"
103 103 android:layout_height="wrap_content"
104 104 android:layout_weight="1"
105 105 android:text="通过手机号修改密码"
106 106 android:textColor="#0000ff" />
107 107  
108   - <!--<TextView-->
109   - <!--android:id="@+id/sendMessageBeforemodifypwd"-->
110   - <!--android:layout_width="wrap_content"-->
111   - <!--android:layout_height="wrap_content"-->
112   - <!--android:text="找回或修改密码前发送验证码"-->
113   - <!--android:layout_weight="1"-->
114   - <!--android:textColor="#0000ff" />-->
  108 + <TextView
  109 + android:id="@+id/bind_third"
  110 + android:layout_width="0dp"
  111 + android:layout_height="wrap_content"
  112 + android:layout_weight="1"
  113 + android:text="绑定第三方"
  114 + android:textColor="#0000ff" />
  115 +
  116 + </LinearLayout>
  117 +
  118 + <LinearLayout
  119 + android:id="@+id/bottom_layout"
  120 + android:layout_width="match_parent"
  121 + android:layout_height="wrap_content"
  122 + android:layout_below="@id/layout"
  123 + android:layout_marginTop="10dp"
  124 + android:orientation="horizontal">
  125 +
  126 + <TextView
  127 + android:id="@+id/send_message"
  128 + android:layout_width="0dp"
  129 + android:layout_height="wrap_content"
  130 + android:layout_weight="1"
  131 + android:text="找回或修改密码前发手机验证码"
  132 + android:textColor="#0000ff" />
  133 +
115 134 </LinearLayout>
116 135  
117 136 </RelativeLayout>
... ...
build.gradle
... ... @@ -5,7 +5,7 @@ buildscript {
5 5 jcenter()
6 6 }
7 7 dependencies {
8   - classpath 'com.android.tools.build:gradle:2.2.0'
  8 + classpath 'com.android.tools.build:gradle:2.2.2'
9 9  
10 10 // NOTE: Do not place your application dependencies here; they belong
11 11 // in the individual module build.gradle files
... ...