Commit 5a619f2c by amateur

1

1 parent 65a1d282
......@@ -23,6 +23,9 @@ public class MenuBean {
@JSONField(name = "routeName")
private String routeName;
@JSONField(name = "query")
private Object query;
public boolean isShow() {
return SHOW.equals(this.type);
......@@ -71,4 +74,12 @@ public class MenuBean {
public void setRouteName(String routeName) {
this.routeName = routeName;
}
public Object getQuery() {
return query;
}
public void setQuery(Object query) {
this.query = query;
}
}
......@@ -54,8 +54,8 @@ public class ModuleUrlHandle {
// }
// Uri uri = Uri.parse(urlStr);
// return uri.getScheme() +":"+ uri.getSchemeSpecificPart() + module.webUrl;
// return "http://10.10.81.189/h5/?"+System.currentTimeMillis() + module.webUrl;
return "http://192.168.137.1:8080/"+System.currentTimeMillis() + module.webUrl;
return "http://10.10.81.189/h5/?"+System.currentTimeMillis() + module.webUrl;
// return "http://192.168.137.1:8080/"+System.currentTimeMillis() + module.webUrl;
}
return intent.getStringExtra(module.name);
}
......@@ -86,9 +86,10 @@ public class ModuleUrlHandle {
webview.loadUrl(bean.getUrl());
} else if (!TextUtils.isEmpty(bean.getRouteName())
|| !TextUtils.isEmpty(bean.getRoutePath())) {
Map<String, String> map = new HashMap<>(2);
Map<String, Object> map = new HashMap<>(2);
map.put("routePath", bean.getRoutePath());
map.put("routeName", bean.getRouteName());
map.put("query", bean.getQuery());
JSApi.callOnRouteChange(webview.getWebview(), JSON.toJSONString(map));
}
}
......
......@@ -102,6 +102,9 @@ public class ModulesFragmentMgr implements FragmentManager.OnBackStackChangedLis
if (!module.fmtKey.equals(this.currentModule.fmtKey)) {
this.showModuleFragment(fragment);
if (null != fragment) {
handle.loadUrl(fragment.getWebview());
}
} else {
handle.loadUrl(fragment.getWebview());
}
......@@ -124,7 +127,7 @@ public class ModulesFragmentMgr implements FragmentManager.OnBackStackChangedLis
FragmentTransaction transaction = this.manager.beginTransaction();
WebViewFragment currentFragment = this.getCurrentFragment();
if (null != currentFragment) {
transaction.hide(currentFragment).addToBackStack("");
transaction.hide(currentFragment);
}
transaction.show(fragment).commit();
}
......
......@@ -4,10 +4,12 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import com.polysoft.nafmii.bean.MenuBean;
import com.polysoft.nafmii.enums.ModulesEnum;
import com.polysoft.nafmii.fragment.WebViewFragment;
import com.tencent.smtt.sdk.WebView;
import com.whaty.nafmii.activity.HomeActivity;
import java.util.Arrays;
import java.util.List;
public class HomeWebviewHandler extends WebviewHandler {
......@@ -26,10 +28,14 @@ public class HomeWebviewHandler extends WebviewHandler {
public void setTextZoom(int zoom) {
FragmentManager manager = super.getFragmentManager();
List<Fragment> fragments = manager.getFragments();
String[] fmtKeys = new String[]{ModulesEnum.MY.fmtKey, ModulesEnum.HOME.fmtKey, ModulesEnum.MEMBER.fmtKey};
List<String> tags = Arrays.asList(fmtKeys);
for (Fragment fmt : fragments) {
String tag = fmt.getTag();
IWebview webview = ((WebViewFragment) fmt).getWebview();
webview.getWebview().getSettings().setTextZoom(zoom);
if (tags.indexOf(tag) > 0) {
IWebview webview = ((WebViewFragment) fmt).getWebview();
webview.getWebview().getSettings().setTextZoom(zoom);
}
}
}
}
......@@ -22,6 +22,10 @@ public class JSApi {
callJs(webView, "onPushMessage", json);
}
public static void callOnEventMessage(WebView webView, String json) {
callJs(webView, "onEventMessage", json);
}
public static void callJs(WebView webView, String methodName, String json) {
String param = JSON.toJSONString(json);
......
......@@ -165,6 +165,16 @@ public class NativeApi {
}
@JavascriptInterface
public void nativeEventMessage(String params) {
new JsInterfaceHandler(handler).parse(params, (data, js) -> {
this.mActivity.runOnUiThread(()->{
handler.sendEventMessage(data.toJSONString());
});
js.success(null);
});
}
@JavascriptInterface
public void nativeDownload(String params) {
new JsInterfaceHandler(handler).parse(params, (data, js) -> {
String url = data.getString("url");
......
......@@ -6,9 +6,12 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import com.polysoft.nafmii.bean.MenuBean;
import com.polysoft.nafmii.fragment.WebViewFragment;
import com.tencent.smtt.sdk.WebView;
import com.whaty.nafmii.activity.HomeActivity;
import java.util.List;
public class WebviewHandler implements IWebview {
private static final String TAG = WebviewHandler.class.getName();
......@@ -70,6 +73,18 @@ public class WebviewHandler implements IWebview {
public void setButtomMenu(MenuBean bean) {
}
public void sendEventMessage(String json) {
List<Fragment> fragments = this.getFragmentManager().getFragments();
for (Fragment fmt : fragments) {
if (fmt instanceof WebViewFragment) {
WebViewFragment webFmt = (WebViewFragment) fmt;
IWebview webview = webFmt.getWebview();
JSApi.callOnEventMessage(webview.getWebview(), json);
}
}
}
protected FragmentManager getFragmentManager() {
return this.fragment.getActivity().getSupportFragmentManager();
}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!