Commit 90cfde25 authored by chengkun's avatar chengkun

Merge branch 'feature/dev_fight_order' of...

Merge branch 'feature/dev_fight_order' of https://git.yidian-inc.com:8021/bp/ShenghuoquanBusiness into feature/dev_fight_order
parents c0dc7d47 ebe280ae
...@@ -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组件内的页面
......
...@@ -6,6 +6,8 @@ import android.util.AttributeSet ...@@ -6,6 +6,8 @@ import android.util.AttributeSet
import android.view.View import android.view.View
import android.view.ViewTreeObserver import android.view.ViewTreeObserver
import android.view.WindowManager import android.view.WindowManager
import androidx.annotation.ColorInt
import androidx.annotation.DrawableRes
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
...@@ -66,7 +68,7 @@ class CommonTopBarView @JvmOverloads constructor( ...@@ -66,7 +68,7 @@ class CommonTopBarView @JvmOverloads constructor(
viewBinding.tvAction.isVisible = action.isNotEmpty() viewBinding.tvAction.isVisible = action.isNotEmpty()
viewBinding.tvAction.text = action viewBinding.tvAction.text = action
// 设置背景色 // 设置背景色
viewBinding.root.setBackgroundColor( setBackgroundColor(
typeArray.getColor( typeArray.getColor(
R.styleable.CommonTopBarView_CommonTopBarView_bg_color, R.styleable.CommonTopBarView_CommonTopBarView_bg_color,
ContextCompat.getColor(context, R.color.transparent) ContextCompat.getColor(context, R.color.transparent)
...@@ -96,12 +98,41 @@ class CommonTopBarView @JvmOverloads constructor( ...@@ -96,12 +98,41 @@ class CommonTopBarView @JvmOverloads constructor(
} }
/** /**
* 设置title * 设置标题
*/ */
fun setTitle(title: String) { fun setTitle(title: String) {
viewBinding.tvTitle.text = title viewBinding.tvTitle.text = title
} }
/**
* 设置标题文字颜色
*/
fun setTitleTextColor(@ColorInt color: Int) {
viewBinding.tvTitle.setTextColor(color)
}
/**
* 设置背景色
*/
fun setRootBackgroundColor(@ColorInt color: Int) {
setBackgroundColor(color)
}
/**
* 设置返回按钮图标
*/
fun setBackImageResource(@DrawableRes resource: Int) {
viewBinding.ivBack.setImageResource(resource)
}
/**
* 设置横向内边距
* @param padding 单位: px
*/
fun setRootHorizontalPadding(padding: Int) {
setPadding(padding, 0, padding, 0)
}
/** /**
* 设置返回按钮是否可见 * 设置返回按钮是否可见
*/ */
......
...@@ -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"
......
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
android:id="@+id/tv_coupon_amount" android:id="@+id/tv_coupon_amount"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{@string/discount_amount(data.discountFee)}" android:text='@{"- " + @string/amount(data.discountFee)}'
android:textColor="@color/color_FB4653" android:textColor="@color/color_FB4653"
android:textSize="@dimen/sp14" android:textSize="@dimen/sp14"
android:visibility="@{data.couponList.size() > 0 ? View.VISIBLE : View.GONE}" android:visibility="@{data.couponList.size() > 0 ? View.VISIBLE : View.GONE}"
...@@ -180,6 +180,17 @@ ...@@ -180,6 +180,17 @@
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="@dimen/sp14" android:textSize="@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount" app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount"
app:layout_constraintEnd_toStartOf="@id/tv_total_amount_symbol" />
<TextView
android:id="@+id/tv_total_amount_symbol"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/renminbi"
android:textColor="@color/black"
android:textSize="@dimen/sp14"
android:textStyle="bold"
app:layout_constraintBaseline_toBaselineOf="@id/tv_total_amount"
app:layout_constraintEnd_toStartOf="@id/tv_total_amount" /> app:layout_constraintEnd_toStartOf="@id/tv_total_amount" />
<TextView <TextView
...@@ -187,7 +198,7 @@ ...@@ -187,7 +198,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp24" android:layout_marginTop="@dimen/dp24"
android:text="@{@string/amount(data.payment)}" android:text='@{String.format("%.2f", data.payment)}'
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/sp18" android:textSize="@dimen/sp18"
android:textStyle="bold" android:textStyle="bold"
......
...@@ -31,6 +31,5 @@ ...@@ -31,6 +31,5 @@
<string name="pickup_point_distance">距您: %fkm</string> <string name="pickup_point_distance">距您: %fkm</string>
<string name="commodity_count">共%d件</string> <string name="commodity_count">共%d件</string>
<string name="amount">¥%.2f</string> <string name="amount">¥%.2f</string>
<string name="discount_amount">- ¥%.2f</string>
<string name="pickup_point_contract_name">提货点联系人: %s</string> <string name="pickup_point_contract_name">提货点联系人: %s</string>
</resources> </resources>
\ No newline at end of file
...@@ -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