Commit 5cba4e51 authored by shiyl's avatar shiyl

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

parent 911769c6
......@@ -16,6 +16,8 @@ class XRouterPathConstants {
*/
const val DEMO_TEST_ACTIVITY = "/b/demo/demo_test"
const val H5_TEST_ACTIVITY = "/b/demo/h5_test"
/**
* BSetting组件内的页面
......
......@@ -4,5 +4,6 @@
<application>
<activity android:name=".ui.DemoTestActivity" />
<activity android:name=".ui.H5TestActivity" />
</application>
</manifest>
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.bdemo.app
import com.yidian.bcommon.constant.XRouterPathConstants
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
object ClassMapUtil {
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
import android.content.Intent
import android.os.Bundle
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.XRouterPathConstants
......@@ -29,6 +30,17 @@ class DemoTestActivity : BaseActivity<ActivityDemoTestBinding>() {
}
private fun initClick() {
testH5()
testOrderConfirm()
}
private fun testH5() {
viewBind.btnH5Test.clickAntiShake {
startActivity(Intent(this, H5TestActivity::class.java))
}
}
private fun testOrderConfirm() {
val list = mutableListOf<Goods>()
list.add(Goods(goodsSkuId = "04qbwzoazPixJUhfOppD", goodsSkuNum = 1, marketingId = 1, marketingType = 4))
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 @@
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
android:id="@+id/btn_order_confirm"
android:layout_width="wrap_content"
......@@ -15,6 +26,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.3" />
app:layout_constraintVertical_bias="0.35" />
</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 @@
android:id="@+id/common_top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_FD7823"
app:CommonTopBarView_title_text="确认订单" />
app:CommonTopBarView_back_img="@drawable/icon_back_white"
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
android:layout_width="match_parent"
......
......@@ -8,7 +8,6 @@ import com.pingplusplus.android.Pingpp
import com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT
import com.yidian.bcommon.constant.XBirdPageConstants
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.bcommon.mvvm.BaseMvvmActivity
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.bcommon.widget.CommonHintDialog
......@@ -53,13 +52,7 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
}
url = webViewUrl
Timber.e("页面的URL : $webViewUrl")
// 判断目的页面,getXBridPageName 仅支持config文件中有的url,不支持ip+端口
when (XBridManager.getXBridPageName(webViewUrl)) {
XBirdPageConstants.COMMODITY_PUBLISH_COMMODITY -> initPublishCommodityWebView(webViewUrl)
else -> {
ToastUtils.showShortSafe("请传递pageUrl")
}
}
initPublishCommodityWebView(webViewUrl)
}
}
......@@ -73,11 +66,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
webView.webChromeClient = object : WebChromeClient() {
override fun onReceivedTitle(view: WebView?, title: String?) {
super.onReceivedTitle(view, title)
if (!title.isNullOrBlank()) {
Timber.tag("CommonWebView").e(" 页面title: $title")
initTitleBar(binding.include.toolbar, binding.include.tvTitle, title)
initPageTitle(title)
}
}
......@@ -91,6 +83,10 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
WebView.setWebContentsDebuggingEnabled(true)
}
private fun initPageTitle(title: String) {
binding.commonTopBar.setTitle(title)
}
override fun onDestroy() {
super.onDestroy()
if (::webView.isInitialized1) {
......
......@@ -11,11 +11,13 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include
android:id="@+id/include"
layout="@layout/layout_common_toolbar"
<com.yidian.bcommon.widget.CommonTopBarView
android:id="@+id/common_top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......@@ -27,7 +29,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/include" />
app:layout_constraintTop_toBottomOf="@id/common_top_bar" />
</androidx.constraintlayout.widget.ConstraintLayout>
</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