Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
102d5e23
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
10 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
102d5e23
编写于
9月 04, 2020
作者:
J
jackjintai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
android:新增tencent x5 WebView的 网络拦截
上级
d07ceb32
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
46 addition
and
13 deletion
+46
-13
Android/java/app/src/main/java/com/didichuxing/doraemondemo/WebViewNormalActivity.kt
...ava/com/didichuxing/doraemondemo/WebViewNormalActivity.kt
+12
-3
Android/java/app/src/main/java/com/didichuxing/doraemondemo/WebViewX5Activity.kt
...in/java/com/didichuxing/doraemondemo/WebViewX5Activity.kt
+11
-4
Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/h5_help/DokitWebViewClient.kt
...didichuxing/doraemonkit/kit/h5_help/DokitWebViewClient.kt
+12
-3
Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/h5_help/DokitX5WebViewClient.kt
...dichuxing/doraemonkit/kit/h5_help/DokitX5WebViewClient.kt
+11
-3
未找到文件。
Android/java/app/src/main/java/com/didichuxing/doraemondemo/WebViewNormalActivity.kt
浏览文件 @
102d5e23
...
...
@@ -12,18 +12,19 @@ import androidx.appcompat.app.AppCompatActivity
*/
class
WebViewNormalActivity
:
AppCompatActivity
()
{
val
TAG
=
"WebViewActivity"
lateinit
var
mWebView
:
WebView
// val url = "file:///android_asset/dokit_index.html"
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_normal_webview
)
val
w
ebView
=
findViewById
<
WebView
>(
R
.
id
.
normal_web_view
)
initWebView
(
w
ebView
)
mW
ebView
=
findViewById
<
WebView
>(
R
.
id
.
normal_web_view
)
initWebView
(
mW
ebView
)
// webView.loadUrl("https://page-daily.kuaidadi.com/m/ddPage_0sTyVhyq.html")
// WebViewHook.inject(webView)
//webView.loadUrl(url)
// webView.loadUrl("file:///android_asset/dokit_index.html")
w
ebView
.
loadUrl
(
"https://www.dokit.cn"
)
mW
ebView
.
loadUrl
(
"https://www.dokit.cn"
)
// webView.loadUrl("http://xingyun.xiaojukeji.com/docs/dokit/#/intro")
}
...
...
@@ -85,4 +86,12 @@ class WebViewNormalActivity : AppCompatActivity() {
}
override
fun
onBackPressed
()
{
if
(
mWebView
.
canGoBack
())
{
mWebView
.
goBack
()
}
else
{
super
.
onBackPressed
()
}
}
}
\ No newline at end of file
Android/java/app/src/main/java/com/didichuxing/doraemondemo/WebViewX5Activity.kt
浏览文件 @
102d5e23
...
...
@@ -18,18 +18,19 @@ import com.tencent.smtt.sdk.WebViewClient
*/
class
WebViewX5Activity
:
AppCompatActivity
()
{
val
TAG
=
"WebViewActivity"
lateinit
var
mWebView
:
WebView
// val url = "file:///android_asset/dokit_index.html"
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_x5_webview
)
val
w
ebView
=
findViewById
<
WebView
>(
R
.
id
.
x5_web_view
)
initWebView
(
w
ebView
)
mW
ebView
=
findViewById
<
WebView
>(
R
.
id
.
x5_web_view
)
initWebView
(
mW
ebView
)
// webView.loadUrl("https://page-daily.kuaidadi.com/m/ddPage_0sTyVhyq.html")
// WebViewHook.inject(webView)
//webView.loadUrl(url)
// webView.loadUrl("file:///android_asset/dokit_index.html")
w
ebView
.
loadUrl
(
"https://www.dokit.cn"
)
mW
ebView
.
loadUrl
(
"https://www.dokit.cn"
)
// webView.loadUrl("http://xingyun.xiaojukeji.com/docs/dokit/#/intro")
}
...
...
@@ -87,5 +88,11 @@ class WebViewX5Activity : AppCompatActivity() {
}
}
override
fun
onBackPressed
()
{
if
(
mWebView
.
canGoBack
())
{
mWebView
.
goBack
()
}
else
{
super
.
onBackPressed
()
}
}
}
\ No newline at end of file
Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/h5_help/DokitWebViewClient.kt
浏览文件 @
102d5e23
...
...
@@ -136,7 +136,7 @@ class DokitWebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
}
// web 数据mock
return
dealMock
(
requestBean
,
url
)
return
dealMock
(
requestBean
,
url
,
view
,
request
)
}
}
else
{
...
...
@@ -152,9 +152,12 @@ class DokitWebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
/**
* 处理数据mock的相关逻辑
*/
@RequiresApi
(
Build
.
VERSION_CODES
.
LOLLIPOP
)
private
fun
dealMock
(
requestBean
:
JsRequestBean
,
url
:
HttpUrl
?
url
:
HttpUrl
?,
view
:
WebView
?,
request
:
WebResourceRequest
?
):
WebResourceResponse
?
{
url
?.
let
{
httpUrl
->
try
{
...
...
@@ -184,6 +187,12 @@ class DokitWebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
DokitDbManager
.
MOCK_API_TEMPLATE
,
DokitDbManager
.
FROM_SDK_OTHER
)
//如果interceptMatchedId和templateMatchedId都为null 直接不进行操作
if
(
interceptMatchedId
.
isNullOrBlank
()
&&
templateMatchedId
.
isNullOrBlank
())
{
return
super
.
shouldInterceptRequest
(
view
,
request
)
}
val
newRequest
:
Request
=
JsHttpUtil
.
createOkHttpRequest
(
requestBean
)
//发送模拟请求
...
...
@@ -217,7 +226,7 @@ class DokitWebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
}
JsHookDataManager
.
jsRequestMap
.
remove
(
requestBean
.
requestId
)
return
null
return
super
.
shouldInterceptRequest
(
view
,
request
)
}
...
...
Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/h5_help/DokitX5WebViewClient.kt
浏览文件 @
102d5e23
...
...
@@ -137,7 +137,7 @@ class DokitX5WebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
}
// web 数据mock
return
dealMock
(
requestBean
,
url
)
return
dealMock
(
requestBean
,
url
,
view
,
request
)
}
}
else
{
...
...
@@ -155,7 +155,9 @@ class DokitX5WebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
*/
private
fun
dealMock
(
requestBean
:
JsRequestBean
,
url
:
HttpUrl
?
url
:
HttpUrl
?,
view
:
WebView
?,
request
:
WebResourceRequest
?
):
WebResourceResponse
?
{
url
?.
let
{
httpUrl
->
try
{
...
...
@@ -185,6 +187,12 @@ class DokitX5WebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
DokitDbManager
.
MOCK_API_TEMPLATE
,
DokitDbManager
.
FROM_SDK_OTHER
)
//如果interceptMatchedId和templateMatchedId都为null 直接不进行操作
if
(
interceptMatchedId
.
isNullOrBlank
()
&&
templateMatchedId
.
isNullOrBlank
())
{
return
super
.
shouldInterceptRequest
(
view
,
request
)
}
val
newRequest
:
Request
=
JsHttpUtil
.
createOkHttpRequest
(
requestBean
)
//发送模拟请求
...
...
@@ -218,7 +226,7 @@ class DokitX5WebViewClient(webViewClient: WebViewClient?) : WebViewClient() {
}
JsHookDataManager
.
jsRequestMap
.
remove
(
requestBean
.
requestId
)
return
null
return
super
.
shouldInterceptRequest
(
view
,
request
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录