|
|
@@ -15,6 +15,7 @@ import androidx.lifecycle.Observer;
|
|
15
|
15
|
import androidx.lifecycle.ViewModelProvider;
|
|
16
|
16
|
|
|
17
|
17
|
|
|
|
18
|
+import com.blankj.utilcode.util.ToastUtils;
|
|
18
|
19
|
import com.yihucha.hbyhc.R;
|
|
19
|
20
|
import com.yihucha.hbyhc.base.ActivityStack;
|
|
20
|
21
|
import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
|
|
|
@@ -36,7 +37,7 @@ import java.util.ArrayList;
|
|
36
|
37
|
import java.util.List;
|
|
37
|
38
|
|
|
38
|
39
|
public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPhoneBinding> implements View.OnClickListener {
|
|
39
|
|
- private static final String INTENT_OPEN_ID="intentOpenId";
|
|
|
40
|
+ private static final String INTENT_OPEN_ID = "intentOpenId";
|
|
40
|
41
|
LoginViewModel loginViewModel;
|
|
41
|
42
|
private CountDownTimeUtil mCountDownTimeUtil;
|
|
42
|
43
|
|
|
|
@@ -44,17 +45,18 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
44
|
45
|
private String mPhone;//手机号
|
|
45
|
46
|
|
|
46
|
47
|
private LoginModel loginModel;
|
|
47
|
|
- private String mOpenId;//微信code
|
|
|
48
|
+ private String mOpenId;//微信code
|
|
|
49
|
+
|
|
48
|
50
|
@Override
|
|
49
|
51
|
protected void onCreate(Bundle savedInstanceState) {
|
|
50
|
52
|
super.onCreate(savedInstanceState);
|
|
51
|
53
|
// setContentView(R.layout.activity_login_phone);
|
|
52
|
|
- mOpenId=getIntent().getStringExtra(INTENT_OPEN_ID);
|
|
|
54
|
+ mOpenId = getIntent().getStringExtra(INTENT_OPEN_ID);
|
|
53
|
55
|
//绑定
|
|
54
|
|
- loginViewModel=new ViewModelProvider(this).get(LoginViewModel.class);
|
|
55
|
|
- initView();
|
|
56
|
|
- initClick();
|
|
57
|
|
- initData();
|
|
|
56
|
+ loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class);
|
|
|
57
|
+ initView();
|
|
|
58
|
+ initClick();
|
|
|
59
|
+ initData();
|
|
58
|
60
|
}
|
|
59
|
61
|
|
|
60
|
62
|
private void initClick() {
|
|
|
@@ -69,51 +71,45 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
69
|
71
|
}
|
|
70
|
72
|
|
|
71
|
73
|
private void initData() {
|
|
72
|
|
- inputMonitor();
|
|
73
|
|
- loginViewModel.verify.observe(this, new Observer<BaseResponse>() {
|
|
74
|
|
- @Override
|
|
75
|
|
- public void onChanged(BaseResponse baseResponse) {
|
|
|
74
|
+ inputMonitor();
|
|
|
75
|
+ loginViewModel.verify.observe(this, baseResponse -> {
|
|
76
|
76
|
|
|
77
|
|
- }
|
|
78
|
|
- });
|
|
79
|
|
- loginViewModel.mPhone.observe(this, new Observer<String>() {
|
|
80
|
|
- @Override
|
|
81
|
|
- public void onChanged(String s) {
|
|
82
|
|
- Log.v("qmzz",s);
|
|
83
|
|
- mPhone=s;
|
|
84
|
|
- //没有点击协议或者手机号密码为空
|
|
85
|
|
- if (!mViewBinding.cbSelector.isSelected()|| TextUtils.isEmpty(mPhone)||TextUtils.isEmpty(mCode)){
|
|
86
|
|
- mViewBinding.tvLogin.setEnabled(false);
|
|
87
|
|
- mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.black_333333));
|
|
88
|
|
- }else {
|
|
89
|
|
- mViewBinding.tvLogin.setEnabled(true);
|
|
90
|
|
- mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.white));
|
|
91
|
|
- }
|
|
92
|
|
- }
|
|
93
|
|
- });
|
|
|
77
|
+ });
|
|
|
78
|
+ loginViewModel.mPhone.observe(this, s -> {
|
|
|
79
|
+ Log.v("qmzz", s);
|
|
|
80
|
+ mPhone = s;
|
|
|
81
|
+ //没有点击协议或者手机号密码为空
|
|
|
82
|
+ if (!mViewBinding.cbSelector.isSelected() || TextUtils.isEmpty(mPhone) || TextUtils.isEmpty(mCode)) {
|
|
|
83
|
+ mViewBinding.tvLogin.setEnabled(false);
|
|
|
84
|
+ mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.black_333333));
|
|
|
85
|
+ } else {
|
|
|
86
|
+ mViewBinding.tvLogin.setEnabled(true);
|
|
|
87
|
+ mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.white));
|
|
|
88
|
+ }
|
|
|
89
|
+ });
|
|
94
|
90
|
loginViewModel.mPwd.observe(LoginActivity.this, new Observer<String>() {
|
|
95
|
91
|
@Override
|
|
96
|
92
|
public void onChanged(String s) {
|
|
97
|
|
- Log.v("qmzz",s);
|
|
98
|
|
- mCode=s;
|
|
|
93
|
+ Log.v("qmzz", s);
|
|
|
94
|
+ mCode = s;
|
|
99
|
95
|
//没有点击协议或者手机号密码为空
|
|
100
|
|
- if (!mViewBinding.cbSelector.isSelected()|| TextUtils.isEmpty(mPhone)||TextUtils.isEmpty(mCode)){
|
|
|
96
|
+ if (!mViewBinding.cbSelector.isSelected() || TextUtils.isEmpty(mPhone) || TextUtils.isEmpty(mCode)) {
|
|
101
|
97
|
mViewBinding.tvLogin.setEnabled(false);
|
|
102
|
98
|
mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.black_333333));
|
|
103
|
|
- }else {
|
|
|
99
|
+ } else {
|
|
104
|
100
|
mViewBinding.tvLogin.setEnabled(true);
|
|
105
|
101
|
mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.white));
|
|
106
|
102
|
}
|
|
107
|
103
|
}
|
|
108
|
104
|
});
|
|
109
|
105
|
loginViewModel.loginModel.observe(LoginActivity.this, loginModelDataResponse -> {
|
|
110
|
|
- loginModel= loginModelDataResponse.getData();
|
|
|
106
|
+ loginModel = loginModelDataResponse.getData();
|
|
111
|
107
|
//保存token
|
|
112
|
|
- MVUtils.put(Constants.TOKEN,loginModel.getToken());
|
|
113
|
|
- MVUtils.put(Constants.PHONE,loginModel.getUser().getPhone());
|
|
114
|
|
- MVUtils.put(Constants.USER_ID,loginModel.getUser().getUid());
|
|
115
|
|
- MVUtils.put(Constants.AVATAR,loginModel.getUser().getAvatar());
|
|
116
|
|
- MVUtils.put(Constants.NICK_NAME,loginModel.getUser().getNickname());
|
|
|
108
|
+ MVUtils.put(Constants.TOKEN, loginModel.getToken());
|
|
|
109
|
+ MVUtils.put(Constants.PHONE, loginModel.getUser().getPhone());
|
|
|
110
|
+ MVUtils.put(Constants.USER_ID, loginModel.getUser().getUid());
|
|
|
111
|
+ MVUtils.put(Constants.AVATAR, loginModel.getUser().getAvatar());
|
|
|
112
|
+ MVUtils.put(Constants.NICK_NAME, loginModel.getUser().getNickname());
|
|
117
|
113
|
|
|
118
|
114
|
// MainActivity.launch(LoginActivity.this);
|
|
119
|
115
|
|
|
|
@@ -122,16 +118,27 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
122
|
118
|
ActivityStack.getScreenManager().finishArrayActivity(activityList);
|
|
123
|
119
|
finish();
|
|
124
|
120
|
});
|
|
125
|
|
- loginViewModel.failed.observe(LoginActivity.this,msg->{
|
|
|
121
|
+ //查询到邀请人的UID后,继续登录操作
|
|
|
122
|
+ loginViewModel.uidAndPhoneBean.observe(this, uidAndPhoneBean -> {
|
|
|
123
|
+ if (TextUtils.isEmpty(mOpenId)) {
|
|
|
124
|
+ loginViewModel.getLogin(LoginActivity.this, mCode, uidAndPhoneBean.getUid());
|
|
|
125
|
+ } else {
|
|
|
126
|
+ //微信绑定手机号
|
|
|
127
|
+ loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId, uidAndPhoneBean.getUid());
|
|
|
128
|
+ }
|
|
|
129
|
+ });
|
|
|
130
|
+ loginViewModel.failed.observe(LoginActivity.this, msg -> {
|
|
126
|
131
|
//如果返回了400 表示需要填写邀请人信息,弹窗进行绑定
|
|
127
|
|
- if ("400".equals(msg)){
|
|
128
|
|
- CustomDialog.getEnterCodeWithTitle(this,"请输入邀请人手机号",phone->{
|
|
|
132
|
+ if ("400".equals(msg)) {
|
|
|
133
|
+ CustomDialog.getEnterCodeWithTitle(this, "请输入邀请人手机号", phone -> {
|
|
129
|
134
|
if (!StringUtils.isPhone(phone)) {
|
|
130
|
135
|
Toast.makeText(context, "手机号码格式输入错误", Toast.LENGTH_SHORT).show();
|
|
131
|
136
|
return;
|
|
132
|
137
|
}
|
|
133
|
|
- //TODO 下面做绑定手机号流程,暂时不做处理
|
|
|
138
|
+ loginViewModel.getUidByPhone(phone);
|
|
134
|
139
|
});
|
|
|
140
|
+ } else {
|
|
|
141
|
+ ToastUtils.showShort(msg);
|
|
135
|
142
|
}
|
|
136
|
143
|
});
|
|
137
|
144
|
}
|
|
|
@@ -145,18 +152,20 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
145
|
152
|
* 输入监听
|
|
146
|
153
|
*/
|
|
147
|
154
|
private void inputMonitor() {
|
|
148
|
|
- //手机号输入监听
|
|
149
|
|
- mViewBinding.etPhone.addTextChangedListener(new TextWatcher() {
|
|
|
155
|
+ //手机号输入监听
|
|
|
156
|
+ mViewBinding.etPhone.addTextChangedListener(new TextWatcher() {
|
|
150
|
157
|
@Override
|
|
151
|
158
|
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
|
152
|
|
- // loginViewModel.mPhone.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
|
159
|
+ // loginViewModel.mPhone.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
153
|
160
|
|
|
154
|
161
|
}
|
|
|
162
|
+
|
|
155
|
163
|
@Override
|
|
156
|
164
|
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
|
157
|
165
|
//loginViewModel.mPhone.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
158
|
166
|
|
|
159
|
167
|
}
|
|
|
168
|
+
|
|
160
|
169
|
@Override
|
|
161
|
170
|
public void afterTextChanged(Editable editable) {
|
|
162
|
171
|
loginViewModel.mPhone.postValue(mViewBinding.etPhone.getText().toString().trim());
|
|
|
@@ -166,12 +175,14 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
166
|
175
|
mViewBinding.etPwd.addTextChangedListener(new TextWatcher() {
|
|
167
|
176
|
@Override
|
|
168
|
177
|
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
|
169
|
|
- // loginViewModel.mPwd.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
|
178
|
+ // loginViewModel.mPwd.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
170
|
179
|
}
|
|
|
180
|
+
|
|
171
|
181
|
@Override
|
|
172
|
182
|
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
|
173
|
|
- // loginViewModel.mPwd.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
|
183
|
+ // loginViewModel.mPwd.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
174
|
184
|
}
|
|
|
185
|
+
|
|
175
|
186
|
@Override
|
|
176
|
187
|
public void afterTextChanged(Editable editable) {
|
|
177
|
188
|
loginViewModel.mPwd.postValue(mViewBinding.etPwd.getText().toString().trim());
|
|
|
@@ -182,21 +193,21 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
182
|
193
|
@Override
|
|
183
|
194
|
public void onClick(View v) {
|
|
184
|
195
|
super.onClick(v);
|
|
185
|
|
- if (v == mViewBinding.cbSelector){
|
|
|
196
|
+ if (v == mViewBinding.cbSelector) {
|
|
186
|
197
|
//协议按钮
|
|
187
|
|
- if (mViewBinding.cbSelector.isSelected()){
|
|
|
198
|
+ if (mViewBinding.cbSelector.isSelected()) {
|
|
188
|
199
|
mViewBinding.cbSelector.setSelected(false);
|
|
189
|
|
- }else {
|
|
|
200
|
+ } else {
|
|
190
|
201
|
mViewBinding.cbSelector.setSelected(true);
|
|
191
|
202
|
}
|
|
192
|
|
- if (!mViewBinding.cbSelector.isSelected()|| TextUtils.isEmpty(mPhone)||TextUtils.isEmpty(mCode)){
|
|
|
203
|
+ if (!mViewBinding.cbSelector.isSelected() || TextUtils.isEmpty(mPhone) || TextUtils.isEmpty(mCode)) {
|
|
193
|
204
|
mViewBinding.tvLogin.setEnabled(false);
|
|
194
|
205
|
mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.black_333333));
|
|
195
|
|
- }else {
|
|
|
206
|
+ } else {
|
|
196
|
207
|
mViewBinding.tvLogin.setEnabled(true);
|
|
197
|
208
|
mViewBinding.tvLogin.setTextColor(ContextCompat.getColor(LoginActivity.this, R.color.white));
|
|
198
|
209
|
}
|
|
199
|
|
- }else if (v == mViewBinding.tvCode) {
|
|
|
210
|
+ } else if (v == mViewBinding.tvCode) {
|
|
200
|
211
|
//获取验证码
|
|
201
|
212
|
if (TextUtils.isEmpty(mPhone)) {
|
|
202
|
213
|
MyToast.makeText(LoginActivity.this, "请输入手机号", Toast.LENGTH_LONG).show();
|
|
|
@@ -209,34 +220,34 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
209
|
220
|
loginViewModel.getCode(LoginActivity.this);
|
|
210
|
221
|
mCountDownTimeUtil = new CountDownTimeUtil(mViewBinding.tvCode);
|
|
211
|
222
|
mCountDownTimeUtil.runTimer();
|
|
212
|
|
- }else if (v == mViewBinding.tvLogin) {
|
|
|
223
|
+ } else if (v == mViewBinding.tvLogin) {
|
|
213
|
224
|
//请求接口
|
|
214
|
225
|
if (TextUtils.isEmpty(mPhone)) {
|
|
215
|
226
|
MyToast.makeText(LoginActivity.this, "请输入手机号", Toast.LENGTH_LONG).show();
|
|
216
|
227
|
return;
|
|
217
|
228
|
}
|
|
218
|
|
- if (TextUtils.isEmpty(mCode)){
|
|
|
229
|
+ if (TextUtils.isEmpty(mCode)) {
|
|
219
|
230
|
MyToast.makeText(LoginActivity.this, "请输入验证码", Toast.LENGTH_LONG).show();
|
|
220
|
231
|
return;
|
|
221
|
232
|
}
|
|
222
|
|
- if (!mViewBinding.cbSelector.isSelected()){
|
|
|
233
|
+ if (!mViewBinding.cbSelector.isSelected()) {
|
|
223
|
234
|
MyToast.makeText(LoginActivity.this, "请点击同意协议", Toast.LENGTH_LONG).show();
|
|
224
|
235
|
return;
|
|
225
|
236
|
}
|
|
226
|
|
- if (TextUtils.isEmpty(mOpenId)){
|
|
227
|
|
- loginViewModel.getLogin(LoginActivity.this,mCode);
|
|
228
|
|
- }else {
|
|
|
237
|
+ if (TextUtils.isEmpty(mOpenId)) {
|
|
|
238
|
+ loginViewModel.getLogin(LoginActivity.this, mCode);
|
|
|
239
|
+ } else {
|
|
229
|
240
|
//微信绑定手机号
|
|
230
|
|
- loginViewModel.getWxBinding(LoginActivity.this,mCode,mOpenId);
|
|
|
241
|
+ loginViewModel.getWxBinding(LoginActivity.this, mCode, mOpenId);
|
|
231
|
242
|
}
|
|
232
|
243
|
|
|
233
|
|
- }else if (v == mViewBinding.tvRegistrationProtocol){
|
|
|
244
|
+ } else if (v == mViewBinding.tvRegistrationProtocol) {
|
|
234
|
245
|
//注册协议
|
|
235
|
|
- WebViewTitleBaseActivity.launch(LoginActivity.this,getString(R.string.registration_protocol),
|
|
|
246
|
+ WebViewTitleBaseActivity.launch(LoginActivity.this, getString(R.string.registration_protocol),
|
|
236
|
247
|
Constants.PROTOCOL_YHC_REGIST);
|
|
237
|
|
- }else if (v == mViewBinding.tvPrivacyAgreement){
|
|
|
248
|
+ } else if (v == mViewBinding.tvPrivacyAgreement) {
|
|
238
|
249
|
//隐私协议
|
|
239
|
|
- WebViewTitleBaseActivity.launch(LoginActivity.this,getString(R.string.privacy_agreement),
|
|
|
250
|
+ WebViewTitleBaseActivity.launch(LoginActivity.this, getString(R.string.privacy_agreement),
|
|
240
|
251
|
Constants.PROTOCOL_YHC_YINSI);
|
|
241
|
252
|
}
|
|
242
|
253
|
}
|
|
|
@@ -253,9 +264,10 @@ public class LoginActivity extends ViewBindingTitleBaseActivity<ActivityLoginPho
|
|
253
|
264
|
Intent intent = new Intent(context, LoginActivity.class);
|
|
254
|
265
|
context.startActivity(intent);
|
|
255
|
266
|
}
|
|
256
|
|
- public static void launch(Context context,String openId) {
|
|
|
267
|
+
|
|
|
268
|
+ public static void launch(Context context, String openId) {
|
|
257
|
269
|
Intent intent = new Intent(context, LoginActivity.class);
|
|
258
|
|
- intent.putExtra(INTENT_OPEN_ID,openId);
|
|
|
270
|
+ intent.putExtra(INTENT_OPEN_ID, openId);
|
|
259
|
271
|
context.startActivity(intent);
|
|
260
|
272
|
}
|
|
261
|
273
|
}
|