Commit 5cba4e51 authored by shiyl's avatar shiyl

开发自定义url进入h5页面,供开发人员测试使用

parent 911769c6
...@@ -16,6 +16,8 @@ class XRouterPathConstants { ...@@ -16,6 +16,8 @@ class XRouterPathConstants {
*/ */
const val DEMO_TEST_ACTIVITY = "/b/demo/demo_test" const val DEMO_TEST_ACTIVITY = "/b/demo/demo_test"
const val H5_TEST_ACTIVITY = "/b/demo/h5_test"
/** /**
* BSetting组件内的页面 * BSetting组件内的页面
......
...@@ -4,5 +4,6 @@ ...@@ -4,5 +4,6 @@
<application> <application>
<activity android:name=".ui.DemoTestActivity" /> <activity android:name=".ui.DemoTestActivity" />
<activity android:name=".ui.H5TestActivity" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.bdemo.app ...@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.bdemo.app
import com.yidian.bcommon.constant.XRouterPathConstants import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.shenghuoquan.bdemo.ui.DemoTestActivity import com.yidian.shenghuoquan.bdemo.ui.DemoTestActivity
import com.yidian.shenghuoquan.bdemo.ui.H5TestActivity
/** /**
...@@ -10,7 +11,8 @@ import com.yidian.shenghuoquan.bdemo.ui.DemoTestActivity ...@@ -10,7 +11,8 @@ import com.yidian.shenghuoquan.bdemo.ui.DemoTestActivity
object ClassMapUtil { object ClassMapUtil {
val xPageNodeMap = mapOf( val xPageNodeMap = mapOf(
XRouterPathConstants.Companion.DEMO_TEST_ACTIVITY to DemoTestActivity::class.java XRouterPathConstants.Companion.DEMO_TEST_ACTIVITY to DemoTestActivity::class.java,
XRouterPathConstants.Companion.H5_TEST_ACTIVITY to H5TestActivity::class.java,
) )
} }
package com.yidian.shenghuoquan.bdemo.ui package com.yidian.shenghuoquan.bdemo.ui
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.yidian.bcommon.base.BaseActivity import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.XRouterPathConstants import com.yidian.bcommon.constant.XRouterPathConstants
...@@ -29,6 +30,17 @@ class DemoTestActivity : BaseActivity<ActivityDemoTestBinding>() { ...@@ -29,6 +30,17 @@ class DemoTestActivity : BaseActivity<ActivityDemoTestBinding>() {
} }
private fun initClick() { private fun initClick() {
testH5()
testOrderConfirm()
}
private fun testH5() {
viewBind.btnH5Test.clickAntiShake {
startActivity(Intent(this, H5TestActivity::class.java))
}
}
private fun testOrderConfirm() {
val list = mutableListOf<Goods>() val list = mutableListOf<Goods>()
list.add(Goods(goodsSkuId = "04qbwzoazPixJUhfOppD", goodsSkuNum = 1, marketingId = 1, marketingType = 4)) list.add(Goods(goodsSkuId = "04qbwzoazPixJUhfOppD", goodsSkuNum = 1, marketingId = 1, marketingType = 4))
val confirmOrderReqDto = ConfirmOrderRequest(businessFrom = 2, goodsList = list, marketingId = "79") val confirmOrderReqDto = ConfirmOrderRequest(businessFrom = 2, goodsList = list, marketingId = "79")
......
package com.yidian.shenghuoquan.bdemo.ui
import android.os.Bundle
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.XBirdPageConstants
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.extensions.clickAntiShake
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.bdemo.databinding.ActivityH5TestBinding
import com.yidian.xpage.XPageManager
class H5TestActivity : BaseActivity<ActivityH5TestBinding>() {
override fun getXPageName(): String {
return XRouterPathConstants.H5_TEST_ACTIVITY
}
override fun createViewBinding(): ActivityH5TestBinding {
return ActivityH5TestBinding.inflate(layoutInflater)
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initClick()
}
private fun initClick() {
viewBind.btnEnterPage.clickAntiShake {
val pageUrl = viewBind.etPath.text.trim().toString()
if (pageUrl.isBlank()) {
ToastUtils.showShortSafe("请输入页面地址及参数,才能进入")
return@clickAntiShake
}
// 进入页面
XPageManager.push(XRouterPathConstants.COMMON_WEB_VIEW_ACTIVITY, hashMapOf(Pair(XBirdPageConstants.PAGE_URL, pageUrl)))
}
}
}
...@@ -6,6 +6,17 @@ ...@@ -6,6 +6,17 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<Button
android:id="@+id/btn_h5_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="H5调试"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25" />
<Button <Button
android:id="@+id/btn_order_confirm" android:id="@+id/btn_order_confirm"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -15,6 +26,6 @@ ...@@ -15,6 +26,6 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.3" /> app:layout_constraintVertical_bias="0.35" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/et_path"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp60"
android:background="@null"
android:hint="请输入页面路由地址及参数"
android:padding="@dimen/dp15"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_enter_page"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp15"
android:text="进入页面"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/et_path" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -22,8 +22,12 @@ ...@@ -22,8 +22,12 @@
android:id="@+id/common_top_bar" android:id="@+id/common_top_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/color_FD7823" app:CommonTopBarView_back_img="@drawable/icon_back_white"
app:CommonTopBarView_title_text="确认订单" /> app:CommonTopBarView_bg_color="@color/color_FD7823"
app:CommonTopBarView_horizontal_padding="@dimen/dp10"
app:CommonTopBarView_statusBar_color="@color/color_FD7823"
app:CommonTopBarView_title_text="确认订单"
app:CommonTopBarView_title_text_color="@color/white" />
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -8,7 +8,6 @@ import com.pingplusplus.android.Pingpp ...@@ -8,7 +8,6 @@ import com.pingplusplus.android.Pingpp
import com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT import com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT
import com.yidian.bcommon.constant.XBirdPageConstants import com.yidian.bcommon.constant.XBirdPageConstants
import com.yidian.bcommon.constant.XRouterPathConstants import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.bcommon.mvvm.BaseMvvmActivity import com.yidian.bcommon.mvvm.BaseMvvmActivity
import com.yidian.bcommon.utils.ToastUtils import com.yidian.bcommon.utils.ToastUtils
import com.yidian.bcommon.widget.CommonHintDialog import com.yidian.bcommon.widget.CommonHintDialog
...@@ -53,13 +52,7 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding ...@@ -53,13 +52,7 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
} }
url = webViewUrl url = webViewUrl
Timber.e("页面的URL : $webViewUrl") Timber.e("页面的URL : $webViewUrl")
// 判断目的页面,getXBridPageName 仅支持config文件中有的url,不支持ip+端口 initPublishCommodityWebView(webViewUrl)
when (XBridManager.getXBridPageName(webViewUrl)) {
XBirdPageConstants.COMMODITY_PUBLISH_COMMODITY -> initPublishCommodityWebView(webViewUrl)
else -> {
ToastUtils.showShortSafe("请传递pageUrl")
}
}
} }
} }
...@@ -73,11 +66,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding ...@@ -73,11 +66,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
webView.webChromeClient = object : WebChromeClient() { webView.webChromeClient = object : WebChromeClient() {
override fun onReceivedTitle(view: WebView?, title: String?) { override fun onReceivedTitle(view: WebView?, title: String?) {
super.onReceivedTitle(view, title) super.onReceivedTitle(view, title)
if (!title.isNullOrBlank()) { if (!title.isNullOrBlank()) {
Timber.tag("CommonWebView").e(" 页面title: $title") Timber.tag("CommonWebView").e(" 页面title: $title")
initTitleBar(binding.include.toolbar, binding.include.tvTitle, title) initPageTitle(title)
} }
} }
...@@ -91,6 +83,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding ...@@ -91,6 +83,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
WebView.setWebContentsDebuggingEnabled(true) WebView.setWebContentsDebuggingEnabled(true)
} }
private fun initPageTitle(title: String) {
binding.commonTopBar.setTitle(title)
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
if (::webView.isInitialized1) { if (::webView.isInitialized1) {
......
...@@ -11,11 +11,13 @@ ...@@ -11,11 +11,13 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include <com.yidian.bcommon.widget.CommonTopBarView
android:id="@+id/include" android:id="@+id/common_top_bar"
layout="@layout/layout_common_toolbar" android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -27,7 +29,7 @@ ...@@ -27,7 +29,7 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/include" /> app:layout_constraintTop_toBottomOf="@id/common_top_bar" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment