Bläddra i källkod

微信授权接口调整

wenjuan.su 1 år sedan
förälder
incheckning
97277a4194

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

@@ -32,6 +32,8 @@ import java.util.List;
32 32
 
33 33
 public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPhoneBinding> implements View.OnClickListener {
34 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 37
     LoginViewModel loginViewModel;
36 38
     private CountDownTimeUtil mCountDownTimeUtil;
37 39
 
@@ -42,6 +44,8 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
42 44
 
43 45
     private LoginModel loginModel;
44 46
     private String mOpenId;//微信code
47
+    private String mNickName;//微信昵称
48
+    private String mAvatar;//微信头像
45 49
 
46 50
     private int loginType = 0; // 0 账号密码登录  1 验证码登录
47 51
 
@@ -50,6 +54,15 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
50 54
         super.onCreate(savedInstanceState);
51 55
 //        setContentView(R.layout.activity_login_phone);
52 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 66
         if (EmptyCheckUtils.isNotEmpty(mOpenId)){
54 67
             loginType = 1;
55 68
             mViewBinding.layoutPhoneCode.setVisibility(View.VISIBLE);
@@ -123,7 +136,7 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
123 136
                 loginViewModel.getLogin(LoginActivity.this, mCode, uidAndPhoneBean.getUid());
124 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 142
         loginViewModel.failed.observe(LoginActivity.this, msg -> {
@@ -282,7 +295,7 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
282 295
                 }
283 296
             } else {
284 297
                 //微信绑定手机号
285
-                loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId);
298
+                loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId,"","");
286 299
             }
287 300
 
288 301
         } else if (v == mViewBinding.tvRegistrationProtocol) {
@@ -325,9 +338,11 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
325 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 342
         Intent intent = new Intent(context, LoginActivity.class);
330 343
         intent.putExtra(INTENT_OPEN_ID, openId);
344
+        intent.putExtra(INTENT_NICK_NAME,nickname);
345
+        intent.putExtra(INTENT_AVATAR,avatar);
331 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 213
      * @param context
214 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 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 221
         Map<String, Object> map = new HashMap<>();
222 222
         map.put("phone", mPhone.getValue());
223 223
         map.put("sms_code", sms_code);
@@ -226,6 +226,8 @@ public class LoginViewModel extends BaseViewModel {
226 226
         if (EmptyCheckUtils.isNotEmpty(uid)){
227 227
             map.put("spread", uid);
228 228
         }
229
+        map.put("nickname",nickName);
230
+        map.put("avatar",avatar);
229 231
 
230 232
         AuthService authService = NetworkApi.createService(AuthService.class);
231 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 267
                             if(type == 1){
268 268
                                 mViewBinding.tvWxBeAuthorized.setVisibility(View.GONE);
269 269
                                 mViewBinding.tvWxUnauthorized.setVisibility(View.VISIBLE);
270
-                                flagWechatAuthorization = true;
270
+                                flagWechatAuthorization = false;
271 271
                                 mViewBinding.llWechatInfo.setVisibility(View.GONE);
272 272
                             }
273 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 215
                         Log.d(TAG, "wechat onSuccess: "+ wechatOpenIdBeanDataJavaResponse.getData());
216 216
                         String nickName = wechatOpenIdBeanDataJavaResponse.getData().getNickName();
217 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 220
                         finish();
221 221
                     }
222 222
                 } else {
@@ -316,11 +316,13 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
316 316
     }
317 317
 
318 318
     @SuppressLint("CheckResult")
319
-    private void getWechatLogin(String openid) {
319
+    private void getWechatLogin(String openid,String nickname, String avatar) {
320 320
         ShowLoadingDialog.showLoadingDialog(WXEntryActivity.this);
321 321
         //登录逻辑
322 322
         Map<String, Object> map = new HashMap<>();
323 323
         map.put("openid", openid);
324
+        map.put("nickname",nickname);
325
+        map.put("avatar",avatar);
324 326
         AuthService authService = NetworkApi.createService(AuthService.class);
325 327
         authService.getWechatLogIn(map).compose(NetworkApi.applySchedulers(new BaseObserver<DataResponse<LoginModel>>() {
326 328
             @Override
@@ -345,7 +347,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
345 347
                     ToastUtils.showLong(loginModelDataResponse.responseError);
346 348
                     System.out.println(loginModelDataResponse.responseCode+"  5555555555555555  "+ loginModelDataResponse.responseError);
347 349
                     System.out.println(loginModelDataResponse.responseCode+"    "+ loginModelDataResponse.responseError);
348
-                    LoginActivity.launch(WXEntryActivity.this, openid);
350
+                    LoginActivity.launch(WXEntryActivity.this, openid,nickname,avatar);
349 351
                     finish();
350 352
                 }
351 353