Skip to content
This repository was archived by the owner on Jun 5, 2024. It is now read-only.

Commit 7ec15ad

Browse files
committed
手机号码登录流程完成
1 parent c2238eb commit 7ec15ad

File tree

17 files changed

+604
-9
lines changed

17 files changed

+604
-9
lines changed

.idea/modules.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

module-discover/src/main/AndroidManifest.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@
33

44
<application>
55
<activity
6-
android:name=".AntUserAuthActivity"
6+
android:name=".ui.AntUserAuthActivity"
77
android:windowSoftInputMode="adjustPan">
88
<intent-filter>
99
<action android:name="android.intent.action.MAIN" />
1010
<category android:name="android.intent.category.LAUNCHER" />
1111
</intent-filter>
1212
</activity>
1313
<activity
14-
android:name=".AntUserContractActivity"
14+
android:name=".ui.AntUserContractActivity"
1515
android:label="@string/label_ant_user_contract" />
16+
<activity
17+
android:name=".ui.AntUserSmsCodeActivity"
18+
android:windowSoftInputMode="stateVisible|adjustPan" />
19+
<activity android:name=".ui.AntAuthResultActivity" />
1620
</application>
1721
</manifest>

module-discover/src/main/java/com/rae/cnblogs/discover/DiscoverFragment.java renamed to module-discover/src/main/java/com/rae/cnblogs/discover/fragment/DiscoverFragment.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.rae.cnblogs.discover;
1+
package com.rae.cnblogs.discover.fragment;
22

33
import android.os.Bundle;
44
import android.support.annotation.Nullable;
@@ -20,6 +20,10 @@
2020
import com.rae.cnblogs.AppRoute;
2121
import com.rae.cnblogs.basic.AppImageLoader;
2222
import com.rae.cnblogs.basic.BasicFragment;
23+
import com.rae.cnblogs.discover.BannerImageLoader;
24+
import com.rae.cnblogs.discover.holder.DiscoverItem;
25+
import com.rae.cnblogs.discover.R;
26+
import com.rae.cnblogs.discover.R2;
2327
import com.rae.cnblogs.discover.home.DiscoverHomeAdapter;
2428
import com.rae.cnblogs.discover.home.DiscoverHomePresenterImpl;
2529
import com.rae.cnblogs.discover.home.IDiscoverHomeContract;

module-discover/src/main/java/com/rae/cnblogs/discover/DiscoverItem.java renamed to module-discover/src/main/java/com/rae/cnblogs/discover/holder/DiscoverItem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.rae.cnblogs.discover;
1+
package com.rae.cnblogs.discover.holder;
22

33

44
import com.chad.library.adapter.base.entity.MultiItemEntity;

module-discover/src/main/java/com/rae/cnblogs/discover/home/DiscoverHomeAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
88
import com.chad.library.adapter.base.BaseViewHolder;
99
import com.rae.cnblogs.basic.AppImageLoader;
10-
import com.rae.cnblogs.discover.DiscoverItem;
10+
import com.rae.cnblogs.discover.holder.DiscoverItem;
1111
import com.rae.cnblogs.discover.R;
1212

1313
public class DiscoverHomeAdapter extends BaseMultiItemQuickAdapter<DiscoverItem, BaseViewHolder> {
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.rae.cnblogs.discover.ui;
2+
3+
import android.os.Bundle;
4+
import android.support.annotation.Nullable;
5+
import android.widget.TextView;
6+
7+
import com.alibaba.android.arouter.facade.annotation.Route;
8+
import com.rae.cnblogs.AppRoute;
9+
import com.rae.cnblogs.UICompat;
10+
import com.rae.cnblogs.activity.SwipeBackBasicActivity;
11+
import com.rae.cnblogs.discover.R;
12+
import com.rae.cnblogs.discover.R2;
13+
14+
import butterknife.BindView;
15+
import butterknife.OnClick;
16+
17+
/**
18+
* 授权结果界面
19+
*/
20+
@Route(path = AppRoute.PATH_DISCOVER_AUTH_RESULT)
21+
public class AntAuthResultActivity extends SwipeBackBasicActivity {
22+
23+
@BindView(R2.id.tv_hello)
24+
TextView mMessageView;
25+
26+
27+
@Override
28+
protected void onCreate(@Nullable Bundle savedInstanceState) {
29+
super.onCreate(savedInstanceState);
30+
setContentView(R.layout.activity_ant_auth_result);
31+
setTitle(" ");
32+
String phone = getIntent().getStringExtra("phone");
33+
mMessageView.setText(String.format("恭喜%s,登录成功!", phone));
34+
UICompat.fadeIn(mMessageView, 2500);
35+
UICompat.scaleIn(mMessageView);
36+
}
37+
38+
@OnClick(R2.id.btn_send)
39+
public void onClick() {
40+
setResult(RESULT_OK);
41+
finish();
42+
}
43+
44+
}

module-discover/src/main/java/com/rae/cnblogs/discover/AntUserAuthActivity.java renamed to module-discover/src/main/java/com/rae/cnblogs/discover/ui/AntUserAuthActivity.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package com.rae.cnblogs.discover;
1+
package com.rae.cnblogs.discover.ui;
22

3+
import android.content.Intent;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.telephony.PhoneNumberFormattingTextWatcher;
@@ -11,12 +12,17 @@
1112
import com.rae.cnblogs.AppRoute;
1213
import com.rae.cnblogs.UICompat;
1314
import com.rae.cnblogs.activity.SwipeBackBasicActivity;
15+
import com.rae.cnblogs.discover.R;
16+
import com.rae.cnblogs.discover.R2;
1417
import com.rae.cnblogs.discover.auth.AntUserAuthContract;
1518
import com.rae.cnblogs.discover.auth.AntUserAuthPresenterImpl;
1619

1720
import butterknife.BindView;
1821
import butterknife.OnClick;
1922

23+
/**
24+
* 手机号码登录
25+
*/
2026
@Route(path = AppRoute.PATH_DISCOVER_USER_AUTH)
2127
public class AntUserAuthActivity extends SwipeBackBasicActivity implements AntUserAuthContract.View {
2228

@@ -72,6 +78,7 @@ public String getPhoneNumber() {
7278
public void onSendSuccess() {
7379
dismissLoading();
7480
UICompat.toastInCenter(this, "短信验证码发送成功");
81+
AppRoute.routeToAntSmsCode(this, getPhoneNumber());
7582
}
7683

7784
@Override
@@ -84,4 +91,12 @@ private void dismissLoading() {
8491
mSendButton.setEnabled(true);
8592
mSendButton.setText(R.string.send_sms);
8693
}
94+
95+
@Override
96+
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
97+
super.onActivityResult(requestCode, resultCode, data);
98+
if (requestCode == AppRoute.REQ_CODE_ANT_LOGIN && resultCode == RESULT_OK) {
99+
finish();
100+
}
101+
}
87102
}

module-discover/src/main/java/com/rae/cnblogs/discover/AntUserContractActivity.java renamed to module-discover/src/main/java/com/rae/cnblogs/discover/ui/AntUserContractActivity.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.rae.cnblogs.discover;
1+
package com.rae.cnblogs.discover.ui;
22

33
import android.os.Bundle;
44
import android.support.annotation.Nullable;
@@ -10,10 +10,16 @@
1010
import com.rae.cnblogs.AppRoute;
1111
import com.rae.cnblogs.UICompat;
1212
import com.rae.cnblogs.activity.SwipeBackBasicActivity;
13+
import com.rae.cnblogs.discover.AntSdkDefaultObserver;
14+
import com.rae.cnblogs.discover.R;
15+
import com.rae.cnblogs.discover.R2;
1316
import com.rae.cnblogs.web.WebViewFragment;
1417

1518
import butterknife.OnClick;
1619

20+
/**
21+
* 用户协议界面
22+
*/
1723
@Route(path = AppRoute.PATH_DISCOVER_USER_CONTRACT)
1824
public class AntUserContractActivity extends SwipeBackBasicActivity {
1925

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
package com.rae.cnblogs.discover.ui;
2+
3+
import android.app.Activity;
4+
import android.os.Bundle;
5+
import android.support.annotation.Nullable;
6+
import android.widget.TextView;
7+
8+
import com.alibaba.android.arouter.facade.annotation.Route;
9+
import com.antcode.sdk.AntCodeSDK;
10+
import com.antcode.sdk.AntSessionManager;
11+
import com.antcode.sdk.IAntUserApi;
12+
import com.antcode.sdk.model.AntTokenInfo;
13+
import com.antcode.sdk.model.AntUserInfo;
14+
import com.rae.cnblogs.AppRoute;
15+
import com.rae.cnblogs.UICompat;
16+
import com.rae.cnblogs.activity.SwipeBackBasicActivity;
17+
import com.rae.cnblogs.discover.AntSdkDefaultObserver;
18+
import com.rae.cnblogs.discover.R;
19+
import com.rae.cnblogs.discover.R2;
20+
import com.rae.cnblogs.widget.CodeEditText;
21+
22+
import butterknife.BindView;
23+
import butterknife.OnClick;
24+
import io.reactivex.ObservableSource;
25+
import io.reactivex.functions.Function;
26+
27+
/**
28+
* 输入验证码界面
29+
*/
30+
@Route(path = AppRoute.PATH_DISCOVER_SMS_CODE)
31+
public class AntUserSmsCodeActivity extends SwipeBackBasicActivity implements CodeEditText.OnTextFinishListener {
32+
33+
@BindView(R2.id.tv_hello)
34+
TextView mMessageView;
35+
36+
@BindView(R2.id.et_sms_code)
37+
CodeEditText mCodeEditText;
38+
IAntUserApi mUserApi;
39+
private String mPhoneNumber;
40+
41+
@Override
42+
protected void onCreate(@Nullable Bundle savedInstanceState) {
43+
super.onCreate(savedInstanceState);
44+
setContentView(R.layout.activity_ant_user_smscode);
45+
setTitle(" ");
46+
mPhoneNumber = getIntent().getStringExtra("phone");
47+
mUserApi = AntCodeSDK.getInstance().getUserApi();
48+
mCodeEditText.setOnTextFinishListener(this);
49+
}
50+
51+
52+
@OnClick(R2.id.ll_contract)
53+
public void onContractClick() {
54+
AppRoute.routeToAntUserContract(this);
55+
}
56+
57+
@Override
58+
public void onTextFinish(CharSequence text, int length) {
59+
mMessageView.setText("正在校验,请稍后...");
60+
mCodeEditText.setEnabled(false);
61+
62+
// 校验
63+
mUserApi.getToken(mPhoneNumber, text.toString())
64+
.with(this)
65+
.flatMap(new Function<AntTokenInfo, ObservableSource<AntUserInfo>>() {
66+
@Override
67+
public ObservableSource<AntUserInfo> apply(AntTokenInfo antTokenInfo) throws Exception {
68+
AntSessionManager.getDefault().setUserToken(antTokenInfo);
69+
return mUserApi.getUserInfo().with(AntUserSmsCodeActivity.this);
70+
}
71+
})
72+
.subscribe(new AntSdkDefaultObserver<AntUserInfo>() {
73+
private void dismiss() {
74+
mMessageView.setText(R.string.input_sms_code);
75+
mCodeEditText.setEnabled(true);
76+
}
77+
78+
@Override
79+
protected void onError(String message) {
80+
dismiss();
81+
UICompat.failed(getContext(), message);
82+
mCodeEditText.setText("");
83+
UICompat.showSoftInputFromWindow(mCodeEditText);
84+
}
85+
86+
@Override
87+
protected void accept(AntUserInfo antUserInfo) {
88+
dismiss();
89+
AntSessionManager.getDefault().setUser(antUserInfo);
90+
AppRoute.routeToAntAuthResult(AntUserSmsCodeActivity.this, antUserInfo.getMobile());
91+
setResult(Activity.RESULT_OK);
92+
finish();
93+
}
94+
});
95+
}
96+
97+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item android:state_focused="true">
4+
<shape>
5+
<stroke android:width="2dp" android:color="#FFFB9C00" />
6+
<corners android:radius="4dp" />
7+
</shape>
8+
</item>
9+
<item>
10+
<shape>
11+
<stroke android:width="2dp" android:color="#EEEEEE" />
12+
<corners android:radius="4dp" />
13+
</shape>
14+
</item>
15+
</selector>
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
4+
xmlns:app="http://schemas.android.com/apk/res-auto"
5+
android:layout_width="match_parent"
6+
android:layout_height="match_parent"
7+
android:background="@color/white"
8+
android:fitsSystemWindows="true"
9+
android:orientation="vertical"
10+
android:paddingTop="50dp">
11+
12+
13+
<android.support.v7.widget.Toolbar
14+
android:id="@+id/tool_bar"
15+
style="@style/AppToolBar"
16+
android:layout_width="match_parent"
17+
android:layout_height="@dimen/action_bar_height"
18+
app:layout_constraintLeft_toLeftOf="parent"
19+
app:layout_constraintRight_toRightOf="parent"
20+
app:layout_constraintTop_toTopOf="parent"
21+
app:navigationIcon="@drawable/icon_back_black" />
22+
23+
24+
<TextView
25+
android:id="@+id/tv_hello"
26+
android:layout_width="wrap_content"
27+
android:layout_height="wrap_content"
28+
android:layout_marginTop="87dp"
29+
android:drawableTop="@drawable/icon_gift"
30+
android:drawablePadding="41dp"
31+
android:gravity="center"
32+
android:text="手机号码绑定成功"
33+
android:textColor="#FF878C97"
34+
android:textSize="16sp"
35+
app:layout_constraintLeft_toLeftOf="parent"
36+
app:layout_constraintRight_toRightOf="parent"
37+
app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
38+
39+
<Button
40+
android:id="@+id/btn_send"
41+
android:layout_width="match_parent"
42+
android:layout_height="42dp"
43+
android:layout_marginStart="36dp"
44+
android:layout_marginTop="77dp"
45+
android:layout_marginEnd="36dp"
46+
android:background="@drawable/bg_ant_button_default"
47+
android:text="开启我的技术之路"
48+
android:textColor="@color/text_color_ant_button_default"
49+
android:textSize="16sp"
50+
app:layout_constraintLeft_toLeftOf="parent"
51+
app:layout_constraintTop_toBottomOf="@+id/tv_hello" />
52+
53+
</android.support.constraint.ConstraintLayout>
54+
55+

0 commit comments

Comments
 (0)