Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
polysoft-nafmii
/
polysoft-android
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit ba9fd989
authored
Sep 04, 2021
by
amateur
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1
1 parent
658b82b4
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
100 additions
and
9 deletions
app/src/main/java/com/polysoft/nafmii/bean/OpenUrlBean.java
app/src/main/java/com/polysoft/nafmii/fragment/AdvertisementFragment.java
app/src/main/java/com/polysoft/nafmii/fragment/WebViewFragment.java
app/src/main/java/com/polysoft/nafmii/utils/IntentUtils.java
app/src/main/java/com/polysoft/nafmii/webview/HomeWebviewHandler.java
app/src/main/java/com/polysoft/nafmii/webview/MyWebChromeClient.java
app/src/main/java/com/polysoft/nafmii/webview/MyWebViewClient.java
app/src/main/java/com/polysoft/nafmii/webview/NativeApi.java
app/src/main/java/com/polysoft/nafmii/bean/OpenUrlBean.java
View file @
ba9fd98
...
...
@@ -5,6 +5,8 @@ public class OpenUrlBean {
private
String
linkType
;
private
String
title
;
private
String
nav
;
private
String
isLogin
;
private
String
isShare
;
private
String
backClsName
;
...
...
@@ -47,4 +49,20 @@ public class OpenUrlBean {
public
void
setBackClsName
(
String
backClsName
)
{
this
.
backClsName
=
backClsName
;
}
public
String
getIsShare
()
{
return
isShare
;
}
public
void
setIsShare
(
String
isShare
)
{
this
.
isShare
=
isShare
;
}
public
String
getIsLogin
()
{
return
isLogin
;
}
public
void
setIsLogin
(
String
isLogin
)
{
this
.
isLogin
=
isLogin
;
}
}
app/src/main/java/com/polysoft/nafmii/fragment/AdvertisementFragment.java
View file @
ba9fd98
...
...
@@ -16,11 +16,14 @@ import androidx.annotation.Nullable;
import
androidx.fragment.app.Fragment
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.request.target.DrawableImageViewTarget
;
import
com.bumptech.glide.request.transition.Transition
;
import
com.polysoft.nafmii.bean.AdvertisementBean
;
import
com.polysoft.nafmii.bean.MenuBean
;
import
com.polysoft.nafmii.bean.OpenUrlBean
;
import
com.polysoft.nafmii.enums.ModulesEnum
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.whaty.nafmii.BuildConfig
;
import
com.whaty.nafmii.R
;
...
...
@@ -28,6 +31,11 @@ import com.whaty.nafmii.activity.HomeActivity;
import
com.whaty.nafmii.activity.IActivityEvent
;
import
com.whaty.nafmii.activity.OutsideWebviewActivity
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
AdvertisementFragment
extends
Fragment
implements
View
.
OnClickListener
{
private
final
String
TAG
=
AdvertisementFragment
.
class
.
getName
();
...
...
@@ -116,15 +124,44 @@ public class AdvertisementFragment extends Fragment implements View.OnClickListe
OpenUrlBean
dataBean
=
new
OpenUrlBean
();
dataBean
.
setBackClsName
(
HomeActivity
.
class
.
getName
());
dataBean
.
setLinkType
(
bean
.
getLinkType
());
try
{
if
(
"1"
.
equals
(
bean
.
getLinkType
()))
{
dataBean
.
setLinkUrl
(
bean
.
getInsideUrl
(
));
dataBean
.
setLinkUrl
(
URLEncoder
.
encode
(
bean
.
getInsideUrl
(),
"UTF-8"
));
}
else
{
dataBean
.
setNav
(
"1"
);
dataBean
.
setLinkUrl
(
bean
.
getOutsideUrl
());
dataBean
.
setLinkUrl
(
URLEncoder
.
encode
(
bean
.
getOutsideUrl
(),
"utf-8"
));
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
Intent
intent
=
new
Intent
(
getActivity
(),
OutsideWebviewActivity
.
class
);
intent
.
putExtra
(
"data"
,
JSON
.
toJSONString
(
dataBean
));
IntentUtils
.
startActivity
(
getActivity
(),
intent
);
// 需要登录
// if ("0".equals(bean.getIsLogin())) {
dataBean
.
setIsLogin
(
bean
.
getIsLogin
());
dataBean
.
setIsShare
(
bean
.
getIsShare
());
MenuBean
menuBean
=
new
MenuBean
();
menuBean
.
setModuleName
(
ModulesEnum
.
HOME
.
name
);
menuBean
.
setQuery
(
dataBean
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"moduleName"
,
ModulesEnum
.
HOME
.
name
);
map
.
put
(
"query"
,
dataBean
);
Intent
intent
=
new
Intent
();
intent
.
putExtra
(
"changeRoute"
,
JSONObject
.
toJSONString
(
map
));
IntentUtils
.
toHomeActivity
(
this
.
getActivity
(),
intent
);
// }
// else if ("1".equals(bean.getLinkType())) { // 内链
//
// } else {
// Intent intent = new Intent(getActivity(), OutsideWebviewActivity.class);
// intent.putExtra("data", JSON.toJSONString(dataBean));
// IntentUtils.startActivity(getActivity(), intent);
// }
}
...
...
app/src/main/java/com/polysoft/nafmii/fragment/WebViewFragment.java
View file @
ba9fd98
...
...
@@ -5,6 +5,7 @@ import android.app.Activity;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -14,6 +15,9 @@ import androidx.annotation.NonNull;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.polysoft.nafmii.bean.MenuBean
;
import
com.polysoft.nafmii.broadcast.PhotosReceiver
;
import
com.polysoft.nafmii.utils.BitmapUtils
;
import
com.polysoft.nafmii.utils.FileProviderUtils
;
...
...
@@ -21,6 +25,7 @@ import com.polysoft.nafmii.utils.IntentUtils;
import
com.polysoft.nafmii.utils.PermissionUtils
;
import
com.polysoft.nafmii.utils.ToastUtils
;
import
com.polysoft.nafmii.webview.IWebview
;
import
com.polysoft.nafmii.webview.JSApi
;
import
com.polysoft.nafmii.webview.MyWebChromeClient
;
import
com.polysoft.nafmii.webview.MyWebViewClient
;
import
com.polysoft.nafmii.webview.WebviewHandler
;
...
...
@@ -31,6 +36,8 @@ import com.wang.avi.AVLoadingIndicatorView;
import
com.whaty.nafmii.R
;
import
java.io.File
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
WebViewFragment
extends
Fragment
implements
WebviewLoadListener
{
...
...
@@ -81,6 +88,18 @@ public class WebViewFragment extends Fragment implements WebviewLoadListener {
public
void
onWebviewLoad
(
int
type
,
Object
param
)
{
if
(
type
==
WebviewLoadListener
.
TYPE_FINISH
)
{
this
.
mLoading
.
hide
();
Intent
intent
=
getActivity
().
getIntent
();
String
changeRoute
=
intent
.
getStringExtra
(
"changeRoute"
);
Map
<
String
,
Object
>
map
=
JSON
.
parseObject
(
changeRoute
,
Map
.
class
);
MenuBean
menuBean
=
JSON
.
parseObject
(
changeRoute
,
MenuBean
.
class
);
if
(
null
==
menuBean
||
!
this
.
getTag
().
equals
(
map
.
get
(
"moduleName"
)))
{
return
;
}
System
.
out
.
println
(
changeRoute
);
IWebview
webview
=
this
.
getWebview
();
JSApi
.
callOnRouteChange
(
webview
.
getWebview
(),
JSON
.
toJSONString
(
map
));
}
}
...
...
app/src/main/java/com/polysoft/nafmii/utils/IntentUtils.java
View file @
ba9fd98
...
...
@@ -61,11 +61,16 @@ public class IntentUtils {
}
public
static
void
toHomeActivity
(
Activity
activity
)
{
toHomeActivity
(
activity
,
new
Intent
());
}
public
static
void
toHomeActivity
(
Activity
activity
,
Intent
intent
)
{
if
(
BuildConfig
.
DEBUG
)
{
startActivity
(
activity
,
HomeActivity
.
class
);
intent
.
setClass
(
activity
,
HomeActivity
.
class
);
}
else
{
startActivity
(
activity
,
HomeActivity
.
class
);
intent
.
setClass
(
activity
,
HomeActivity
.
class
);
}
startActivity
(
activity
,
intent
);
}
public
static
void
startActivity
(
Activity
activity
,
Class
<?
extends
Activity
>
target
)
{
...
...
app/src/main/java/com/polysoft/nafmii/webview/HomeWebviewHandler.java
View file @
ba9fd98
...
...
@@ -32,7 +32,7 @@ public class HomeWebviewHandler extends WebviewHandler {
List
<
String
>
tags
=
Arrays
.
asList
(
fmtKeys
);
for
(
Fragment
fmt
:
fragments
)
{
String
tag
=
fmt
.
getTag
();
if
(
tags
.
indexOf
(
tag
)
>
0
)
{
if
(
tags
.
indexOf
(
tag
)
>
-
1
)
{
IWebview
webview
=
((
WebViewFragment
)
fmt
).
getWebview
();
webview
.
getWebview
().
getSettings
().
setTextZoom
(
zoom
);
}
...
...
app/src/main/java/com/polysoft/nafmii/webview/MyWebChromeClient.java
View file @
ba9fd98
...
...
@@ -9,8 +9,12 @@ import com.tencent.smtt.sdk.ValueCallback;
import
com.tencent.smtt.sdk.WebChromeClient
;
import
com.tencent.smtt.sdk.WebView
;
import
java.util.concurrent.atomic.AtomicBoolean
;
public
class
MyWebChromeClient
extends
WebChromeClient
{
private
final
WebviewLoadListener
listener
;
private
AtomicBoolean
mIsLoadFinish
=
new
AtomicBoolean
();
private
boolean
mIsFinish
=
false
;
public
MyWebChromeClient
(
WebviewLoadListener
listener
)
{
this
.
listener
=
listener
;
...
...
@@ -24,6 +28,13 @@ public class MyWebChromeClient extends WebChromeClient {
@Override
public
void
onProgressChanged
(
WebView
view
,
int
newProgress
)
{
if
(
null
!=
this
.
listener
)
{
if
(
newProgress
==
100
)
{
if
(!
mIsFinish
)
{
this
.
mIsFinish
=
true
;
this
.
listener
.
onWebviewLoad
(
WebviewLoadListener
.
TYPE_FINISH
,
null
);
return
;
}
}
this
.
listener
.
onWebviewLoad
(
WebviewLoadListener
.
TYPE_PROGRESS
,
newProgress
);
}
super
.
onProgressChanged
(
view
,
newProgress
);
...
...
app/src/main/java/com/polysoft/nafmii/webview/MyWebViewClient.java
View file @
ba9fd98
...
...
@@ -40,7 +40,7 @@ public class MyWebViewClient extends WebViewClient {
public
void
onPageFinished
(
WebView
view
,
String
url
)
{
super
.
onPageFinished
(
view
,
url
);
if
(
null
!=
this
.
listener
)
{
this
.
listener
.
onWebviewLoad
(
WebviewLoadListener
.
TYPE_FINISH
,
null
);
//
this.listener.onWebviewLoad(WebviewLoadListener.TYPE_FINISH, null);
}
}
...
...
app/src/main/java/com/polysoft/nafmii/webview/NativeApi.java
View file @
ba9fd98
...
...
@@ -230,6 +230,7 @@ public class NativeApi {
Intent
intent
=
new
Intent
(
mActivity
,
OutsideWebviewActivity
.
class
);
intent
.
putExtra
(
"data"
,
data
.
toJSONString
());
mActivity
.
startActivity
(
intent
);
js
.
success
(
null
);
});
});
}
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment