Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
ShenghuoquanBusiness
Commits
98dfd1f4
Commit
98dfd1f4
authored
Jul 14, 2021
by
shiyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化XBridBusiness,由外部传参
parent
93d7c8c4
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
60 additions
and
75 deletions
+60
-75
XBirdPageConstants.kt
...mon/src/main/java/com/yidian/common/XBirdPageConstants.kt
+3
-1
CommodityManagementActivity.kt
...uoquan/commodity/ui/coupon/CommodityManagementActivity.kt
+7
-1
CommodityListItemViewModel.kt
...mmodity/ui/coupon/viewmodel/CommodityListItemViewModel.kt
+5
-1
MerchantCenterActivity.kt
...nghuoquan/newscontent/ui/center/MerchantCenterActivity.kt
+7
-0
EditStoreActivity.kt
...an/shenghuoquan/newscontent/ui/store/EditStoreActivity.kt
+4
-4
CommonWebViewActivity.kt
...an/shenghuoquan/xbirdbusiness/ui/CommonWebViewActivity.kt
+34
-68
No files found.
CommonLib/Common/src/main/java/com/yidian/common/XBirdPageConstants.kt
View file @
98dfd1f4
...
...
@@ -7,7 +7,9 @@ package com.yidian.common
class
XBirdPageConstants
{
companion
object
{
// 商品 - 发布商品
// webView加载的页面url
const
val
PAGE_URL
=
"page_url"
// 商品 - 发布商品地址,需要和config.json中的name一致
const
val
COMMODITY_PUBLISH_COMMODITY
=
"xbrid_coupon_publish"
}
}
...
...
Components/commodity/src/main/java/com/yidian/shenghuoquan/commodity/ui/coupon/CommodityManagementActivity.kt
View file @
98dfd1f4
...
...
@@ -6,12 +6,17 @@ import androidx.fragment.app.Fragment
import
androidx.viewpager2.adapter.FragmentStateAdapter
import
com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayoutMediator
import
com.orhanobut.hawk.Hawk
import
com.yidian.common.HawkConfig
import
com.yidian.common.XBirdPageConstants
import
com.yidian.common.XEventConfig
import
com.yidian.common.XRouterPathConstants
import
com.yidian.common.mvvm.BaseMvvmActivity
import
com.yidian.news.util.StorageUtils
import
com.yidian.shenghuoquan.commodity.R
import
com.yidian.shenghuoquan.commodity.databinding.CommodityActivityCommodityManagementBinding
import
com.yidian.shenghuoquan.commodity.ui.coupon.fragment.CommodityListFragment
import
com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityListItemViewModel
import
com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel.CommodityManagementViewModel
import
com.yidian.xarc.xevent.XBaseEvent
import
com.yidian.xarc.xevent.XEventManager
...
...
@@ -90,7 +95,8 @@ class CommodityManagementActivity : BaseMvvmActivity<CommodityActivityCommodityM
//发布商品
binding
.
tvCommodityPublish
.
setOnClickListener
{
// 跳转商品发布页面 新发布商品不传id
XPageManager
.
push
(
XRouterPathConstants
.
COMMON_WEB_VIEW_ACTIVITY
,
null
)
val
pageUrl
=
XBirdPageConstants
.
COMMODITY_PUBLISH_COMMODITY
+
"?life_account_id=${Hawk.get(HawkConfig.LifeAccountId, "")}"
XPageManager
.
push
(
XRouterPathConstants
.
COMMON_WEB_VIEW_ACTIVITY
,
hashMapOf
(
Pair
(
XBirdPageConstants
.
PAGE_URL
,
pageUrl
)))
}
}
...
...
Components/commodity/src/main/java/com/yidian/shenghuoquan/commodity/ui/coupon/viewmodel/CommodityListItemViewModel.kt
View file @
98dfd1f4
...
...
@@ -3,6 +3,7 @@ package com.yidian.shenghuoquan.commodity.ui.coupon.viewmodel
import
androidx.lifecycle.MutableLiveData
import
com.orhanobut.hawk.Hawk
import
com.yidian.common.HawkConfig
import
com.yidian.common.XBirdPageConstants
import
com.yidian.common.XRouterPathConstants
import
com.yidian.common.mvvm.BaseViewModel
import
com.yidian.shenghuoquan.commodity.dto.Goods
...
...
@@ -63,7 +64,10 @@ class CommodityListItemViewModel : BaseViewModel(), ICommodityOperationCallback
*/
fun
commodityEdit
(
item
:
Goods
)
{
// 跳转商品发布页面 传入商品id
XPageManager
.
push
(
XRouterPathConstants
.
COMMON_WEB_VIEW_ACTIVITY
,
hashMapOf
(
Pair
(
EXTRA_COMMODITY_ID
,
item
.
goodsSpuId
)))
val
pageUrl
=
XBirdPageConstants
.
COMMODITY_PUBLISH_COMMODITY
+
"?life_account_id=${Hawk.get(HawkConfig.LifeAccountId, "")}"
+
"&coupon_id=${item.goodsSpuId}"
XPageManager
.
push
(
XRouterPathConstants
.
COMMON_WEB_VIEW_ACTIVITY
,
hashMapOf
(
Pair
(
XBirdPageConstants
.
PAGE_URL
,
pageUrl
)))
}
/**
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/center/MerchantCenterActivity.kt
View file @
98dfd1f4
...
...
@@ -8,6 +8,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import
com.scwang.smart.refresh.layout.api.RefreshLayout
import
com.scwang.smart.refresh.layout.listener.OnRefreshListener
import
com.yidian.common.AppConfig
import
com.yidian.common.XBirdPageConstants
import
com.yidian.common.XEventConfig
import
com.yidian.common.XRouterPathConstants
import
com.yidian.common.base.BaseActivity
...
...
@@ -218,6 +219,12 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
MerchantAuthManagementActivity
.
EXTRA_LIFE_ACCOUNT_ID
to
curLifeAccount
.
life_account_id
,
MerchantAuthManagementActivity
.
EXTRA_LIFE_ACCOUNT_TAG_KEY
to
curLifeAccount
.
tag
.
tag_key
)
// 进入发布商品的url
val
pageUrl
=
XBirdPageConstants
.
COMMODITY_PUBLISH_COMMODITY
+
"?life_account_id=${curLifeAccount.life_account_id}"
functionParamsMap
[
data
[
0
].
functions
[
0
].
functionId
]
=
hashMapOf
(
XBirdPageConstants
.
PAGE_URL
to
pageUrl
)
}
/**
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/store/EditStoreActivity.kt
View file @
98dfd1f4
...
...
@@ -153,10 +153,10 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
ToastUtils
.
showShortSafe
(
"请选择门店地址"
)
return
false
}
if
(
store
.
latitude
.
isBlank
()
||
store
.
longitude
.
isBlank
())
{
ToastUtils
.
showShortSafe
(
"门店位置坐标信息为空"
)
return
false
}
//
if (store.latitude.isBlank() || store.longitude.isBlank()) {
//
ToastUtils.showShortSafe("门店位置坐标信息为空")
//
return false
//
}
if
(
storePhoneNum
.
isBlank
())
{
ToastUtils
.
showShortSafe
(
"请输入联系电话"
)
return
false
...
...
Components/xbirdbusiness/src/main/java/com/yidian/shenghuoquan/xbirdbusiness/ui/CommonWebViewActivity.kt
View file @
98dfd1f4
...
...
@@ -3,12 +3,12 @@ package com.yidian.shenghuoquan.xbirdbusiness.ui
import
android.webkit.WebChromeClient
import
android.webkit.WebView
import
androidx.activity.viewModels
import
com.orhanobut.hawk.Hawk
import
com.yidian.common.HawkConfig
import
com.yidian.common.XBirdPageConstants
import
com.yidian.common.XRouterPathConstants
import
com.yidian.common.extensions.initTitleBar
import
com.yidian.common.mvvm.BaseMvvmActivity
import
com.yidian.common.utils.DialogUtils
import
com.yidian.common.utils.ToastUtils
import
com.yidian.shenghuoquan.xbirdbusiness.R
import
com.yidian.shenghuoquan.xbirdbusiness.databinding.XbridActivityCommonWebViewBinding
import
com.yidian.xarc.xbrid.XBridManager
...
...
@@ -34,85 +34,48 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
}
override
fun
initView
()
{
initTitleBar
(
binding
.
include
.
toolbar
,
binding
.
include
.
tvTitle
,
"发布商品"
)
val
serializableExtra
=
intent
.
getSerializableExtra
(
XRouterPathConstants
.
ParamsKey
)
if
(
serializableExtra
==
null
)
{
initWebView
()
// 提示页面必须传参才能进入
ToastUtils
.
showShortSafe
(
"需要传递pageUrl"
)
}
else
{
val
paramsMap
=
serializableExtra
as
HashMap
<*,
*>
val
couponId
=
paramsMap
[
couponId
]
as
String
initWebView
(
couponId
)
val
webViewUrl
=
paramsMap
[
XBirdPageConstants
.
PAGE_URL
]
as
String
?
if
(
webViewUrl
.
isNullOrBlank
())
{
ToastUtils
.
showShortSafe
(
"pageUrl不能为空"
)
return
}
url
=
webViewUrl
Timber
.
e
(
"页面的URL : $webViewUrl"
)
// 判断目的页面
when
(
XBridManager
.
getXBridPageName
(
webViewUrl
))
{
XBirdPageConstants
.
COMMODITY_PUBLISH_COMMODITY
->
initPublishCommodityWebView
(
webViewUrl
)
else
->
{
ToastUtils
.
showShortSafe
(
"请传递pageUrl"
)
}
}
}
}
private
fun
initWebView
(
couponId
:
String
=
""
)
{
/**
* 初始化发布商品页面
*/
private
fun
initPublishCommodityWebView
(
webViewUrl
:
String
)
{
initTitleBar
(
binding
.
include
.
toolbar
,
binding
.
include
.
tvTitle
,
"发布商品"
)
webView
=
XBridManager
.
getWebView
(
this
,
"testidenfier"
,
binding
.
commonWebView
)
val
lifeAccountId
=
Hawk
.
get
(
HawkConfig
.
LifeAccountId
,
""
)
val
webUrl
=
if
(
couponId
.
isNotBlank
())
{
"?coupon_id=$couponId&life_account_id=$lifeAccountId"
}
else
{
"?life_account_id=$lifeAccountId"
}
webView
.
loadUrl
(
"xbrid_coupon_publish$webUrl"
)
Timber
.
e
(
"请求地址: xbrid_coupon_publish$webUrl"
)
webView
.
loadUrl
(
webViewUrl
)
Timber
.
tag
(
"CommonWebView"
).
e
(
" 请求地址: $webViewUrl"
)
webView
.
webChromeClient
=
object
:
WebChromeClient
()
{
override
fun
onProgressChanged
(
view
:
WebView
?,
newProgress
:
Int
)
{
super
.
onProgressChanged
(
view
,
newProgress
)
if
(
newProgress
==
100
)
{
Timber
.
e
(
"发布优惠券
页面加载完成"
)
Timber
.
tag
(
"CommonWebView"
).
e
(
" CommonWebView
页面加载完成"
)
}
}
}
WebView
.
setWebContentsDebuggingEnabled
(
true
)
}
// override fun initView() {
// val serializableExtra = intent.getSerializableExtra(XRouterPathConstants.ParamsKey)
// if (serializableExtra == null) {
// // 提示页面必须传参才能进入
// ToastUtils.showShortSafe("需要传递pageUrl")
// } else {
// val paramsMap = serializableExtra as HashMap<*, *>
// val webViewUrl = paramsMap[pageUrl] as String?
// if (webViewUrl.isNullOrBlank()) {
// ToastUtils.showShortSafe("pageUrl不能为空")
// return
// }
// url = webViewUrl
//// when (XBridManager.getXBridPageName(webViewUrl).equals(XBirdPageConstants.COMMODITY_PUBLISH_COMMODITY)) {
////
//// }
// initWebView()
// }
//
//
//
// }
//
// private fun initWebView() {
// initTitleBar(binding.include.toolbar, binding.include.tvTitle, "发布商品")
// webView = XBridManager.getWebView(this, "testidenfier", binding.commonWebView)
//// val lifeAccountId = Hawk.get(HawkConfig.LifeAccountId, "")
//// val webUrl = if (couponId.isNotBlank()) {
//// "?coupon_id=$couponId&life_account_id=$lifeAccountId"
//// } else {
//// "?life_account_id=$lifeAccountId"
//// }
//// webView.loadUrl("xbrid_coupon_publish$webUrl")
// webView.loadUrl(url)
// Timber.e("CommonWebView 请求地址: $url")
// webView.webChromeClient = object : WebChromeClient() {
// override fun onProgressChanged(view: WebView?, newProgress: Int) {
// super.onProgressChanged(view, newProgress)
// if (newProgress == 100) {
// Timber.e(" CommonWebView 页面加载完成")
// }
// }
// }
// WebView.setWebContentsDebuggingEnabled(true)
// }
override
fun
onDestroy
()
{
super
.
onDestroy
()
if
(
::
webView
.
isInitialized
)
{
...
...
@@ -121,11 +84,14 @@ class CommonWebViewActivity : BaseMvvmActivity<XbridActivityCommonWebViewBinding
}
override
fun
onBackPressed
()
{
DialogUtils
.
showConfirmDialog
(
this
,
"返回后商品将不保存?"
)
when
(
XBridManager
.
getXBridPageName
(
url
))
{
XBirdPageConstants
.
COMMODITY_PUBLISH_COMMODITY
->
{
DialogUtils
.
showConfirmDialog
(
this
,
"返回后商品将不保存?"
)
}
else
->
{
super
.
onBackPressed
()
}
}
}
companion
object
{
const
val
pageUrl
=
"page_url"
const
val
couponId
=
"coupon_id"
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment