Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 5, 2024. It is now read-only.

Commit 5a3d159

Browse files
committed
修复BUG
1 parent 6970d78 commit 5a3d159

File tree

12 files changed

+119
-12
lines changed

12 files changed

+119
-12
lines changed

‎.idea/modules.xml

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

‎module-blog/src/main/res/layout/activity_history.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<android.support.v7.widget.FitWindowsFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
android:layout_width="match_parent"
44
android:layout_height="match_parent"
5+
android:background="@color/white"
56
android:fitsSystemWindows="true"
67
android:orientation="vertical">
78

‎module-discover/src/main/java/com/rae/cnblogs/discover/ui/AntColumnActivity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5454
@OnClick(R2.id.img_question)
5555
public void onQuestionClick() {
5656
AppRoute.routeToAntColumnWeb(this, getString(R.string.url_antcode_about));
57+
// AppRoute.routeToAntColumnWeb(this, "http://192.168.1.112:8088/about");
5758
}
5859

5960
class AntColumnAdapter extends FragmentPagerAdapter {

‎module-discover/src/main/java/com/rae/cnblogs/discover/web/AntColumnWebViewActivity.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,19 @@
99
import com.alibaba.android.arouter.facade.annotation.Route;
1010
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
1111
import com.rae.cnblogs.AppRoute;
12+
import com.rae.cnblogs.UICompat;
1213
import com.rae.cnblogs.activity.WebActivity;
1314
import com.rae.cnblogs.discover.R;
15+
import com.rae.cnblogs.web.client.JavaScriptConfig;
16+
17+
import org.greenrobot.eventbus.EventBus;
18+
import org.greenrobot.eventbus.Subscribe;
19+
import org.greenrobot.eventbus.ThreadMode;
1420

1521
@Route(path = AppRoute.PATH_DISCOVER_COLUMN_WEB)
1622
public class AntColumnWebViewActivity extends WebActivity {
23+
private boolean mBackIsHistory;
24+
1725
@Override
1826
protected int getLayoutId() {
1927
return R.layout.activity_ant_web;
@@ -40,5 +48,28 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
4048
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
4149
mShareView.setImageTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.black)));
4250
}
51+
52+
EventBus.getDefault().register(this);
53+
}
54+
55+
@Override
56+
protected void onDestroy() {
57+
super.onDestroy();
58+
EventBus.getDefault().unregister(this);
59+
}
60+
61+
@Subscribe(threadMode = ThreadMode.MAIN)
62+
public void onEvent(JavaScriptConfig config) {
63+
mBackIsHistory = config.backIsHistory;
64+
UICompat.setVisibility(mShareView, config.enableShare);
65+
}
66+
67+
68+
@Override
69+
protected void doOnBackPressed() {
70+
if (mWebViewFragment != null && mBackIsHistory && mWebViewFragment.doOnBackPressed()) {
71+
return;
72+
}
73+
super.doOnBackPressed();
4374
}
4475
}

‎module-discover/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
<string name="study_now">立即学习</string>
1313
<string name="format_article_updated">已更新%d篇文章</string>
1414
<string name="unsubscribe_success">取消订阅成功</string>
15-
<string name="url_antcode_about">https://app.mayizhuanlan.com/about</string>
15+
<string name="url_antcode_about">http://app.mayizhuanlan.com/about</string>
1616
</resources>

‎module-home/src/main/java/com/rae/cnblogs/home/search/SearchActivity.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,6 @@ public void afterTextChanged(Editable s) {
127127
@OnClick(R2.id.btn_search)
128128
public void onSearchClick() {
129129
UICompat.hideSoftInputFromWindow(this);
130-
// 检查登录状态
131-
if (!SessionManager.getDefault().isLogin()) {
132-
UICompat.toastInCenter(getContext(), "请登录后再搜索");
133-
AppRoute.routeToLogin(getContext());
134-
return;
135-
}
136-
137130
if (mSearchView.length() > 0)
138131
// 执行搜索
139132
performSearch(mSearchView.getText().toString());
@@ -145,6 +138,13 @@ public void onSearchClick() {
145138
* 执行搜索
146139
*/
147140
private void performSearch(String text) {
141+
// 检查登录状态
142+
if (!SessionManager.getDefault().isLogin()) {
143+
UICompat.toastInCenter(getContext(), "请登录后再搜索");
144+
AppRoute.routeToLogin(getContext());
145+
return;
146+
}
147+
148148
if (TextUtils.isEmpty(text)) return;
149149
// 显示搜索结果页,由子Fragment处理
150150
if (mSearchResultFragment == null) {

‎module-middleware/src/main/java/com/rae/cnblogs/activity/WebActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class WebActivity extends BasicActivity implements ShareDialogFragment.On
4040
@BindView(R2.id.view_holder)
4141
View mNightView;
4242

43-
WebViewFragment mWebViewFragment;
43+
protectedWebViewFragment mWebViewFragment;
4444

4545
private ShareDialogFragment mShareDialogFragment;
4646

‎module-middleware/src/main/java/com/rae/cnblogs/web/WebViewFragment.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,17 @@
2424
import com.rae.cnblogs.middleware.R;
2525
import com.rae.cnblogs.theme.ThemeCompat;
2626
import com.rae.cnblogs.web.client.AppJavaScript;
27+
import com.rae.cnblogs.web.client.JavaScriptConfig;
2728
import com.rae.cnblogs.web.client.RaeJavaScriptBridge;
2829
import com.rae.cnblogs.web.client.RaeWebChromeClient;
2930
import com.rae.cnblogs.web.client.RaeWebViewClient;
3031
import com.rae.cnblogs.widget.AppLayout;
3132
import com.rae.cnblogs.widget.RaeWebView;
3233

34+
import org.greenrobot.eventbus.EventBus;
35+
import org.greenrobot.eventbus.Subscribe;
36+
import org.greenrobot.eventbus.ThreadMode;
37+
3338
import java.io.File;
3439

3540
import in.srain.cube.views.ptr.PtrDefaultHandler;
@@ -59,6 +64,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
5964
mRawUrl = getArguments().getString("url");
6065
mUrl = mRawUrl;
6166
}
67+
EventBus.getDefault().register(this);
6268
}
6369

6470

@@ -130,6 +136,7 @@ public void onClick(View v) {
130136

131137
@Override
132138
public void onDestroy() {
139+
EventBus.getDefault().unregister(this);
133140
if (mContentLayout != null) {
134141
mContentLayout.removeAllViews();
135142
}
@@ -163,6 +170,11 @@ public void enablePullToRefresh(boolean enable) {
163170
}
164171
}
165172

173+
@Subscribe(threadMode = ThreadMode.MAIN)
174+
public void onEvent(JavaScriptConfig config) {
175+
enablePullToRefresh(config.enablePullToRefresh);
176+
}
177+
166178
public AppLayout getAppLayout() {
167179
return mAppLayout;
168180
}
@@ -264,4 +276,12 @@ public void loadUrl(String url) {
264276
public void reload() {
265277
mWebView.reload();
266278
}
279+
280+
public boolean doOnBackPressed() {
281+
if (mWebView.canGoBack()) {
282+
mWebView.goBack();
283+
return true;
284+
}
285+
return false;
286+
}
267287
}

‎module-middleware/src/main/java/com/rae/cnblogs/web/client/AppJavaScript.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,23 @@
66
import android.support.v4.app.FragmentManager;
77
import android.webkit.JavascriptInterface;
88

9+
import com.antcode.sdk.AntSessionManager;
10+
import com.antcode.sdk.model.AntTokenInfo;
11+
import com.antcode.sdk.model.AntUserInfo;
912
import com.rae.cnblogs.AppRoute;
1013
import com.rae.cnblogs.ContentEntityConverter;
1114
import com.rae.cnblogs.UICompat;
1215
import com.rae.cnblogs.basic.ContentEntity;
1316
import com.rae.cnblogs.dialog.DefaultDialogFragment;
1417
import com.rae.cnblogs.middleware.R;
18+
import com.rae.cnblogs.sdk.AppGson;
19+
import com.rae.cnblogs.sdk.UserProvider;
1520
import com.rae.cnblogs.sdk.bean.BlogBean;
21+
import com.rae.cnblogs.sdk.bean.UserInfoBean;
1622
import com.rae.cnblogs.sdk.config.CnblogAppConfig;
1723
import com.rae.cnblogs.sdk.parser.BlogInfoParser;
1824

25+
import org.greenrobot.eventbus.EventBus;
1926
import org.jsoup.Jsoup;
2027
import org.jsoup.nodes.Document;
2128
import org.jsoup.select.Elements;
@@ -79,4 +86,39 @@ public void onClick(DialogInterface dialog, int which) {
7986
.show(mFragmentManager);
8087
}
8188

89+
90+
@JavascriptInterface
91+
public void config(String text) {
92+
JavaScriptConfig config = AppGson.get().fromJson(text, JavaScriptConfig.class);
93+
if (config != null) {
94+
EventBus.getDefault().post(config);
95+
}
96+
}
97+
98+
@JavascriptInterface
99+
public String getUser() {
100+
try {
101+
UserJsonObj obj = new UserJsonObj();
102+
obj.cbUser = UserProvider.getInstance().getLoginUserInfo();
103+
obj.antUser = AntSessionManager.getDefault().getUser();
104+
return AppGson.toJson(obj);
105+
} catch (Exception ex) {
106+
return "{}";
107+
}
108+
}
109+
110+
@JavascriptInterface
111+
public String getToken() {
112+
try {
113+
AntTokenInfo antUserInfo = AntSessionManager.getDefault().getUserToken();
114+
return AppGson.toJson(antUserInfo);
115+
} catch (Exception ex) {
116+
return "{}";
117+
}
118+
}
119+
120+
private class UserJsonObj {
121+
UserInfoBean cbUser;
122+
AntUserInfo antUser;
123+
}
82124
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.rae.cnblogs.web.client;
2+
3+
/**
4+
* 交互配置
5+
*/
6+
public class JavaScriptConfig {
7+
// 是否启用下拉刷新
8+
public boolean enablePullToRefresh;
9+
// 是否显示分享
10+
public boolean enableShare;
11+
// 返回按钮返回历史记录
12+
public boolean backIsHistory;
13+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /