ソースを参照

微信授权接口调整

wenjuan.su 1 年間 前
コミット
26b39919eb

+ 18 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/login/LoginActivity.java

@@ -32,6 +32,8 @@ import java.util.List;
32
 
32
 
33
 public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPhoneBinding> implements View.OnClickListener {
33
 public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPhoneBinding> implements View.OnClickListener {
34
     private static final String INTENT_OPEN_ID = "intentOpenId";
34
     private static final String INTENT_OPEN_ID = "intentOpenId";
35
+    private static final String INTENT_NICK_NAME = "intentNickName";
36
+    private static final String INTENT_AVATAR = "intentAvatar";
35
     LoginViewModel loginViewModel;
37
     LoginViewModel loginViewModel;
36
     private CountDownTimeUtil mCountDownTimeUtil;
38
     private CountDownTimeUtil mCountDownTimeUtil;
37
 
39
 
@@ -42,6 +44,8 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
42
 
44
 
43
     private LoginModel loginModel;
45
     private LoginModel loginModel;
44
     private String mOpenId;//微信code
46
     private String mOpenId;//微信code
47
+    private String mNickName;//微信昵称
48
+    private String mAvatar;//微信头像
45
 
49
 
46
     private int loginType = 0; // 0 账号密码登录  1 验证码登录
50
     private int loginType = 0; // 0 账号密码登录  1 验证码登录
47
 
51
 
@@ -50,6 +54,15 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
50
         super.onCreate(savedInstanceState);
54
         super.onCreate(savedInstanceState);
51
 //        setContentView(R.layout.activity_login_phone);
55
 //        setContentView(R.layout.activity_login_phone);
52
         mOpenId = getIntent().getStringExtra(INTENT_OPEN_ID);
56
         mOpenId = getIntent().getStringExtra(INTENT_OPEN_ID);
57
+        mNickName = getIntent().getStringExtra(INTENT_NICK_NAME);
58
+        if(mNickName == null){
59
+            mNickName = "";
60
+        }
61
+        mAvatar = getIntent().getStringExtra(INTENT_AVATAR);
62
+        if (mAvatar == null) {
63
+            mAvatar = "";
64
+        }
65
+
53
         if (EmptyCheckUtils.isNotEmpty(mOpenId)){
66
         if (EmptyCheckUtils.isNotEmpty(mOpenId)){
54
             loginType = 1;
67
             loginType = 1;
55
             mViewBinding.layoutPhoneCode.setVisibility(View.VISIBLE);
68
             mViewBinding.layoutPhoneCode.setVisibility(View.VISIBLE);
@@ -123,7 +136,7 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
123
                 loginViewModel.getLogin(LoginActivity.this, mCode, uidAndPhoneBean.getUid());
136
                 loginViewModel.getLogin(LoginActivity.this, mCode, uidAndPhoneBean.getUid());
124
             } else {
137
             } else {
125
                 //微信绑定手机号
138
                 //微信绑定手机号
126
-                loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId, uidAndPhoneBean.getUid());
139
+                loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId, uidAndPhoneBean.getUid(),mNickName,mAvatar);
127
             }
140
             }
128
         });
141
         });
129
         loginViewModel.failed.observe(LoginActivity.this, msg -> {
142
         loginViewModel.failed.observe(LoginActivity.this, msg -> {
@@ -282,7 +295,7 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
282
                 }
295
                 }
283
             } else {
296
             } else {
284
                 //微信绑定手机号
297
                 //微信绑定手机号
285
-                loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId);
298
+                loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId,"","");
286
             }
299
             }
287
 
300
 
288
         } else if (v == mViewBinding.tvRegistrationProtocol) {
301
         } else if (v == mViewBinding.tvRegistrationProtocol) {
@@ -325,9 +338,11 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
325
         context.startActivity(intent);
338
         context.startActivity(intent);
326
     }
339
     }
327
 
340
 
328
-    public static void launch(Context context, String openId) {
341
+    public static void launch(Context context, String openId,String nickname ,String avatar) {
329
         Intent intent = new Intent(context, LoginActivity.class);
342
         Intent intent = new Intent(context, LoginActivity.class);
330
         intent.putExtra(INTENT_OPEN_ID, openId);
343
         intent.putExtra(INTENT_OPEN_ID, openId);
344
+        intent.putExtra(INTENT_NICK_NAME,nickname);
345
+        intent.putExtra(INTENT_AVATAR,avatar);
331
         context.startActivity(intent);
346
         context.startActivity(intent);
332
     }
347
     }
333
 }
348
 }

+ 5 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/login/view_model/LoginViewModel.java

@@ -213,11 +213,11 @@ public class LoginViewModel extends BaseViewModel {
213
      * @param context
213
      * @param context
214
      * @param sms_code 验证码
214
      * @param sms_code 验证码
215
      */
215
      */
216
-    public void getWxBinding(Context context, String sms_code, String openId) {
217
-        getWxBinding(context,sms_code,openId,null);
216
+    public void getWxBinding(Context context, String sms_code, String openId ,String nickName,String avatar) {
217
+        getWxBinding(context,sms_code,openId,null,nickName,avatar);
218
     }
218
     }
219
     @SuppressLint("CheckResult")
219
     @SuppressLint("CheckResult")
220
-    public void getWxBinding(Context context, String sms_code, String openId,String uid) {
220
+    public void getWxBinding(Context context, String sms_code, String openId,String uid,String nickName,String avatar) {
221
         Map<String, Object> map = new HashMap<>();
221
         Map<String, Object> map = new HashMap<>();
222
         map.put("phone", mPhone.getValue());
222
         map.put("phone", mPhone.getValue());
223
         map.put("sms_code", sms_code);
223
         map.put("sms_code", sms_code);
@@ -226,6 +226,8 @@ public class LoginViewModel extends BaseViewModel {
226
         if (EmptyCheckUtils.isNotEmpty(uid)){
226
         if (EmptyCheckUtils.isNotEmpty(uid)){
227
             map.put("spread", uid);
227
             map.put("spread", uid);
228
         }
228
         }
229
+        map.put("nickname",nickName);
230
+        map.put("avatar",avatar);
229
 
231
 
230
         AuthService authService = NetworkApi.createService(AuthService.class);
232
         AuthService authService = NetworkApi.createService(AuthService.class);
231
         authService.wxloginbinding(map).compose(NetworkApi.applySchedulers(new BaseObserver<DataResponse<LoginModel>>() {
233
         authService.wxloginbinding(map).compose(NetworkApi.applySchedulers(new BaseObserver<DataResponse<LoginModel>>() {

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/mine/ThirdPartyBindingActivity.java

@@ -267,7 +267,7 @@ public class ThirdPartyBindingActivity extends ViewBindingTitleBaseActivity<Acti
267
                             if(type == 1){
267
                             if(type == 1){
268
                                 mViewBinding.tvWxBeAuthorized.setVisibility(View.GONE);
268
                                 mViewBinding.tvWxBeAuthorized.setVisibility(View.GONE);
269
                                 mViewBinding.tvWxUnauthorized.setVisibility(View.VISIBLE);
269
                                 mViewBinding.tvWxUnauthorized.setVisibility(View.VISIBLE);
270
-                                flagWechatAuthorization = true;
270
+                                flagWechatAuthorization = false;
271
                                 mViewBinding.llWechatInfo.setVisibility(View.GONE);
271
                                 mViewBinding.llWechatInfo.setVisibility(View.GONE);
272
                             }
272
                             }
273
                             else if(type == 2){
273
                             else if(type == 2){

+ 6 - 4
app/src/main/java/com/yihucha/hbyhc/wxapi/WXEntryActivity.java

@@ -215,8 +215,8 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
215
                         Log.d(TAG, "wechat onSuccess: "+ wechatOpenIdBeanDataJavaResponse.getData());
215
                         Log.d(TAG, "wechat onSuccess: "+ wechatOpenIdBeanDataJavaResponse.getData());
216
                         String nickName = wechatOpenIdBeanDataJavaResponse.getData().getNickName();
216
                         String nickName = wechatOpenIdBeanDataJavaResponse.getData().getNickName();
217
                         String avatar = wechatOpenIdBeanDataJavaResponse.getData().getAvater();
217
                         String avatar = wechatOpenIdBeanDataJavaResponse.getData().getAvater();
218
-                        getUpdateAccount(code,nickName,avatar);
219
-//                        getWechatLogin(wechatOpenIdBeanDataJavaResponse.getData().getUnionid());
218
+//                        getUpdateAccount(code,nickName,avatar);
219
+                        getWechatLogin(wechatOpenIdBeanDataJavaResponse.getData().getUnionid(),nickName,avatar);
220
                         finish();
220
                         finish();
221
                     }
221
                     }
222
                 } else {
222
                 } else {
@@ -316,11 +316,13 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
316
     }
316
     }
317
 
317
 
318
     @SuppressLint("CheckResult")
318
     @SuppressLint("CheckResult")
319
-    private void getWechatLogin(String openid) {
319
+    private void getWechatLogin(String openid,String nickname, String avatar) {
320
         ShowLoadingDialog.showLoadingDialog(WXEntryActivity.this);
320
         ShowLoadingDialog.showLoadingDialog(WXEntryActivity.this);
321
         //登录逻辑
321
         //登录逻辑
322
         Map<String, Object> map = new HashMap<>();
322
         Map<String, Object> map = new HashMap<>();
323
         map.put("openid", openid);
323
         map.put("openid", openid);
324
+        map.put("nickname",nickname);
325
+        map.put("avatar",avatar);
324
         AuthService authService = NetworkApi.createService(AuthService.class);
326
         AuthService authService = NetworkApi.createService(AuthService.class);
325
         authService.getWechatLogIn(map).compose(NetworkApi.applySchedulers(new BaseObserver<DataResponse<LoginModel>>() {
327
         authService.getWechatLogIn(map).compose(NetworkApi.applySchedulers(new BaseObserver<DataResponse<LoginModel>>() {
326
             @Override
328
             @Override
@@ -345,7 +347,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
345
                     ToastUtils.showLong(loginModelDataResponse.responseError);
347
                     ToastUtils.showLong(loginModelDataResponse.responseError);
346
                     System.out.println(loginModelDataResponse.responseCode+"  5555555555555555  "+ loginModelDataResponse.responseError);
348
                     System.out.println(loginModelDataResponse.responseCode+"  5555555555555555  "+ loginModelDataResponse.responseError);
347
                     System.out.println(loginModelDataResponse.responseCode+"    "+ loginModelDataResponse.responseError);
349
                     System.out.println(loginModelDataResponse.responseCode+"    "+ loginModelDataResponse.responseError);
348
-                    LoginActivity.launch(WXEntryActivity.this, openid);
350
+                    LoginActivity.launch(WXEntryActivity.this, openid,nickname,avatar);
349
                     finish();
351
                     finish();
350
                 }
352
                 }
351
 
353