Commit 4f823ebc by 万齐军

Merge branch 'feat/qj/confide_2.0' into 'd/v_confide_2.0'

Feat/qj/confide 2.0

See merge request app_android_lib/YDL-Component!46
parents b3e227f2 31897a3d
......@@ -42,7 +42,6 @@ import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.webview.RefreshWebEvent
import com.ydl.ydl_av.chat.bean.AudioMessageBean
import com.ydl.ydl_av.voice.impl.YDLVoiceApiImpl
import com.ydl.ydl_av.voice.listener.IYDLVoiceEventHandler
import com.ydl.ydl_av.voice.manager.YDLVoiceManager
import com.ydl.ydl_image.config.SimpleImageOpConfiger
......
......@@ -11,8 +11,6 @@ import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.SimpleItemAnimator
import com.alibaba.android.arouter.facade.annotation.Route
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.jcodecraeer.xrecyclerview.ProgressStyle
import com.jcodecraeer.xrecyclerview.XRecyclerView
import com.ydl.confide.R
......@@ -37,18 +35,18 @@ import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.ydl_image.listener.YDLImageRecyclerOnScrollListener
import com.ydl.ydlcommon.base.config.HttpConfig
import com.ydl.ydlcommon.base.config.HttpConfig.Companion.H5_URL
import com.ydl.ydlcommon.base.config.HttpConfig.Companion.YDL_H5
import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.mvp.lce.BaseLceActivity
import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.ydl.ydlcommon.utils.BuryPointUtils
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.utils.remind.ToastHelper
import com.ydl.ydlcommon.view.DrawableRightTextView
import com.ydl.ydlcommon.view.WrapContentLinearLayoutManager
import com.yidianling.common.tools.RxImageTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.im.api.service.IImService
import com.yidianling.user.api.service.IUserService
import de.greenrobot.event.EventBus
import kotlinx.android.synthetic.main.confide_home_activity.*
import kotlinx.android.synthetic.main.confide_title_bar.*
......@@ -60,7 +58,7 @@ import kotlinx.android.synthetic.main.confide_title_bar.*
* @Company 壹点灵
* @date 2018/8/10
*/
@Route(path = "/confide/home")
@Route(path = ConfideRoute.R_CONFIDE_HOME)
class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHomeContract.Presenter>(),IConfideHomeContract.View,XRecyclerView.LoadingListener {
override fun getContentViewId(): Int {
......@@ -191,6 +189,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
override fun initDataAndEvent() {
//来自首页倾诉红包入口
val isFromRed = intent.getBooleanExtra(IYDLRouterConstant.EXTRA_RED_PACKET,false)
val listenFree = intent.getBooleanExtra("listenFree",false)
isSplash = intent.getBooleanExtra("isSplash", false)
//初始化View
......@@ -208,10 +207,13 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
initStatusBar()
// ModularServiceManager.provide(IConsultantService::class.java).showConfideListDialog(this)
// ActionCountUtils.count("daoyi_advertisement_page|daoyi_advertisement_visit","17")
Glide.with(this)
.load(R.drawable.confide__free)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.into(confide_Free)
// Glide.with(this)
// .load(R.drawable.confide__free)
// .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
// .into(confide_Free)
val isLogin = (findRouteService(IUserService::class.java)?.isLogin()) ?: false
findViewById<View>(R.id.confide_Free).visibility =
if (isFromRed || listenFree || !isLogin) View.VISIBLE else View.GONE
if (isFromRed){
ToastUtil.toastLong(this@ConfideHomeActivity,"红包已领取成功 可立即点击拨打")
}
......@@ -270,6 +272,10 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
*/
private fun initClick() {
quick_consult_card.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "akey_consult_icon_click")
if (!PhoneCallIn.loginByOneKeyLogin(this,true)) {
return@setOnClickListener
}
bottomSheetDialogFragment=ConfideBottomSheetDialogFragment()
bottomSheetDialogFragment.showBottomSheetDialog(this as FragmentActivity, HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro("0"),"0",true)
......@@ -285,21 +291,21 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
}
img_mine.setOnClickListener {
//跳转倾诉列表
ActionCountUtils.record("listen_counselor_list_page", "topright_corner_icon_click","1")
if (!PhoneCallIn.loginByOneKeyLogin(this,true)) {
return@setOnClickListener
}
BuryPointUtils.getInstance().createMap()
.put("mine_name", "倾诉记录")
.burryPoint("mine")
val h5Paramsqing = H5Params(YDL_H5 + "confideOrderList", null)
NewH5Activity.start(this, h5Paramsqing)
}
findViewById<View>(R.id.img_customer)?.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "topright_corner_icon_click","2")
val imService = findRouteService(IImService::class.java)
imService?.startP2PXiaoYi(this)
}
findViewById<View>(R.id.img_help)?.setOnClickListener {
val params = H5Params(H5_URL + "help/", "")
ActionCountUtils.record("listen_counselor_list_page", "topright_corner_icon_click","3")
val params = H5Params("https://activity.yidianling.com/activity/qs", "")//倾诉指南
params.isShowMenu = true
NewH5Activity.start(this, params)
}
......@@ -495,6 +501,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
}
override fun showSortPopupWindow(v_line_top: View, tvSort: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) {
ActionCountUtils.record("listen_counselor_list_page", "choice_filter_click")
if (null == allFiltersBean) {
return
}
......@@ -505,6 +512,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
}
override fun showSexAgePopupWindow(v_line_top: View, tvSexAge: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) {
ActionCountUtils.record("listen_counselor_list_page", "choice_filter_click")
if (null == allFiltersBean) {
return
}
......@@ -515,6 +523,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
}
override fun showGoodPopupWindow(v_line_top: View, tvGood: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) {
ActionCountUtils.record("listen_counselor_list_page", "choice_filter_click")
if (null == allFiltersBean) {
return
}
......
......@@ -7,13 +7,12 @@ import androidx.databinding.ObservableField
import androidx.databinding.ObservableInt
import androidx.recyclerview.widget.RecyclerView
import com.ydl.confide.R
import com.ydl.confide.api.ConfideRoute
import com.ydl.confide.databinding.ItemConfideHomeRecentBinding
import com.ydl.confide.databinding.ItemVideoShowBinding
import com.ydl.confide.home.bean.ConfideHomeBodyBean
import com.ydl.confide.home.event.IConfideHomeEvent
import com.ydl.confide.intro.BindingViewHolder
import com.ydl.ydlcommon.base.config.HttpConfig
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
class VideoShowAdapter(private val data: List<ConfideHomeBodyBean>?, private val event: IConfideHomeEvent) :
RecyclerView.Adapter<BindingViewHolder<ItemVideoShowBinding>>() {
......@@ -31,7 +30,10 @@ class VideoShowAdapter(private val data: List<ConfideHomeBodyBean>?, private val
override fun onBindViewHolder(holder: BindingViewHolder<ItemVideoShowBinding>, position: Int) {
val itemVideoShowViewModel = dataList[position]
holder.binding.item = itemVideoShowViewModel
holder.itemView.setOnClickListener { event.videoShowClick(position, data) }
holder.itemView.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "video_card_click")
event.videoShowClick(position, data)
}
}
override fun getItemCount() = dataList.size
......@@ -58,19 +60,30 @@ class RecentConfideAdapter(val data: List<ItemVideoShowViewModel>, private val e
override fun onBindViewHolder(holder: BindingViewHolder<ItemConfideHomeRecentBinding>, position: Int) {
val itemVideoShowViewModel = data[position]
holder.binding.item = itemVideoShowViewModel
holder.itemView.setOnClickListener { event.consultantClick(itemVideoShowViewModel.linkUrl,itemVideoShowViewModel.doctorId) }
holder.itemView.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "head_portrait_click", "1")
ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
itemVideoShowViewModel.confideId ?: "", "2"
)
event.consultantClick(
itemVideoShowViewModel.doctorId,
itemVideoShowViewModel.confideId
)
}
}
override fun getItemCount() = data.size
}
class ItemVideoShowViewModel {
var linkUrl: String? = null
val name = ObservableField<String>("")
val coverUrl = ObservableField<String>("")
val videoCoverUrl = ObservableField<String>("")
val state = ObservableInt()
var doctorId: String? = null
var confideId: String? = null
}
internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoShowViewModel {
......@@ -79,9 +92,7 @@ internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoS
videoCoverUrl.set(bean.coverVideoPicture)
state.set(bean.confideLine ?: 0)
doctorId = bean.doctorId
doctorId?.let {
linkUrl = HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(it)
}
confideId = bean.confidedId
return this
}
......
......@@ -132,9 +132,15 @@ class ConfideHomeEventImpl(context: Context, var confideHomeView: IConfideHomeCo
* 最佳倾诉榜单--点我倾诉
* @param linkUrl 跳转地址
*/
override fun consultantClick(linkUrl: String?, doctorId: String?) {
ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(mContext as FragmentActivity, HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(doctorId.toString()), doctorId!!)
override fun consultantClick(doctorId: String?, confideId: String?) {
confideId?.let {
ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(
mContext as FragmentActivity,
HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(it),
doctorId!!
)
}
}
......
......@@ -73,7 +73,7 @@ interface IConfideHomeEvent {
* 咨询师推荐--点我倾诉
* @param linkUrl 跳转地址
*/
fun consultantClick(linkUrl: String?,doctorId: String?)
fun consultantClick(doctorId: String?, confideId: String?)
fun videoShowClick(index: Int, data: List<ConfideHomeBodyBean>?)
......
......@@ -10,13 +10,13 @@ import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.LinearLayout
import android.widget.TextView
import com.ydl.ydl_image.module.GlideApp
import com.yidianling.common.tools.RxImageTool
import com.ydl.confide.R
import com.ydl.confide.home.bean.ConfideHomeBodyBean
import com.ydl.confide.home.config.IConfideHomeConfig
import com.ydl.confide.home.event.IConfideHomeEvent
import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydlcommon.utils.ScreenUtil
import com.yidianling.common.tools.RxImageTool
import kotlinx.android.synthetic.main.confide_recommend_expert_item_view.view.*
/**
......@@ -243,7 +243,7 @@ class ConfideHomeRecommendExpertItemView(mContext: Context, private var confideH
private fun click(bodyBean: ConfideHomeBodyBean) {
when (bodyBean.confideLine) {//1在线 2离线 3通话中
1, 3, 4 -> {
confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId)
confideHomeEvent.consultantClick(bodyBean.doctorId, bodyBean.confidedId)
}
2 -> {
//跳转私聊 并发送自定义消息
......
......@@ -19,6 +19,7 @@ import com.ydl.confide.home.config.IConfideHomeConfig
import com.ydl.confide.home.contract.IConfideHomeContract
import com.ydl.confide.home.event.IConfideHomeEvent
import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.yidianling.common.tools.RxImageTool
import kotlinx.android.synthetic.main.confide_recommend_view_new.view.*
......@@ -84,8 +85,24 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
setListenAndScore(bodyBean)
//设置页面点击事件
this.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_list_page",
"listen_counselor_card_click",
bodyBean.confidedId ?: ""
)
confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId)
ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
bodyBean.confidedId ?: "",
"1"
)
confideHomeEvent.consultantClick(bodyBean.doctorId, bodyBean.confidedId)
}
img_head.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "head_portrait_click", "2")
this.performClick()
}
}
......@@ -162,6 +179,12 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
iv_play.setImageResource(R.drawable.confide_sond_play)
}
iv_play.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_list_page",
"listen_counselor_icon_click",
bodyBean.confidedId ?: "",
"4"
)
if (bodyBean.confideIsPlay!!) {
confideHomeEvent.pauseVoice()
} else {
......@@ -252,12 +275,14 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
* 设置向TA倾诉按钮状态
*/
private fun setConfideButton(bodyBean: ConfideHomeBodyBean) {
var sign2 = 1
when (bodyBean.confideLine) {//1在线 2离线 3通话中 4继续倾诉
1 -> {
tv_confide.setBackgroundResource(R.drawable.confide_line_1)
}
2 -> {
//男他女她
sign2 = 3
if (bodyBean.confideSex == 1) {
tv_confide.setBackgroundResource(R.drawable.confide_line_sex_boy)
} else {
......@@ -265,6 +290,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
}
}
3 -> {
sign2 = 2
tv_confide.setBackgroundResource(R.drawable.confide_line_3)
}
4 -> {
......@@ -272,6 +298,12 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
}
}
tv_confide.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_list_page",
"listen_counselor_icon_click",
bodyBean.confidedId ?: "",
sign2.toString()
)
click(bodyBean)
}
}
......@@ -323,7 +355,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
if (bodyBean.confideLine == 3) {
}
confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId)
confideHomeEvent.consultantClick(bodyBean.doctorId, bodyBean.confidedId)
}
2 -> {
//跳转私聊 并发送自定义消息
......
......@@ -79,6 +79,9 @@ class ExpertIntroActivity : AppCompatActivity() {
}
data.addAll(vms)
}
if (data.isEmpty()) {
loadMore()
}
binding.ivBack.setOnClickListener { onBackPressed() }
binding.tvConfideRecord.setOnClickListener {
if (!PhoneCallIn.loginByOneKeyLogin(this, true)) {
......
......@@ -17,6 +17,7 @@ import com.ydl.confide.databinding.ItemExpertIntroBinding
import com.ydl.confide.home.http.ConfideHomeApi
import com.ydl.confide.home.util.ConfideNetworkUtil
import com.ydl.ydlcommon.utils.TimeUtil
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.view.dialog.CommonDialog
import com.ydl.ydlnet.YDLHttpUtils
import com.yidianling.common.tools.ToastUtil
......@@ -164,6 +165,15 @@ internal class IntroAdapter(
private fun onLoadDialStatus(position: Int) {
val confideApi = YDLHttpUtils.obtainApi(ConfideHomeApi::class.java)
val curUid = data[position].uid
val confideId = data[position].confideId
val video = data[position].isVideo
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_visit",
confideId ?: "",
if (video) "1" else "2",
"1"
)
if (curUid != null) {
dispose?.dispose()
dispose = confideApi.getDialStatus(curUid)
......
......@@ -18,6 +18,7 @@ import com.ydl.confide.home.bean.ConfideHomeBodyBean
import com.ydl.ydlcommon.base.config.HttpConfig
import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.view.dialog.YDLShareDialog
import com.yidianling.im.api.service.IImService
import io.reactivex.Observable
......@@ -49,16 +50,37 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
fun onBind(item: VideoViewModel) {
vm = item
binding.layoutCall.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
"6"
)
showDoctorDetail(item)
}
binding.btnChat.setOnClickListener {
val aty = it.context as? Activity
if (aty != null && !item.uid.isNullOrEmpty()) {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
"7"
)
findRouteService(IImService::class.java)?.startChat(aty, item.uid!!, 0, 0)
}
}
binding.btnEvaluate.setOnClickListener {
item.doctorId?.let {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
"8"
)
ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(
itemView.context as FragmentActivity,
......@@ -68,15 +90,41 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
}
}
binding.tvName.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
item.confideId ?: "",
"4"
)
showDoctorDetail(item)
}
binding.ivAvatar.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
"10"
)
ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
item.confideId ?: "",
"3"
)
showDoctorDetail(item)
}
binding.vDisableClick.setOnClickListener { }
binding.btnShare.setOnClickListener {
val aty = it.context as? Activity
if (aty != null) {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
"9"
)
var shareUrl = "${HttpConfig.MH5_URL}experts/${item.doctorId}"
if (!item.confideId.isNullOrBlank()) {
shareUrl += "?id=${item.confideId}"
......@@ -89,6 +137,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
}
}
binding.videoView.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
if (item.isVideo) "4" else "2"
)
if (video?.canPause() == true) {
video?.pause()
if (item.isVideo) {
......@@ -99,6 +154,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
}
}
binding.ivPlay.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
if (item.isVideo) "3" else "1"
)
video?.start()
if (item.isVideo) {
binding.ivPlay.visibility = View.GONE
......@@ -107,6 +169,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
}
}
binding.voicePlay.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
if (item.isVideo) "3" else "1"
)
if (video?.isPlaying == true) {
video?.pause()
binding.voicePlay.stop()
......@@ -132,6 +201,14 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
video?.start()
binding.ivPlay.visibility = View.GONE
}
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
"5"
)
}
})
binding.voicePlay.visibility =
......@@ -200,9 +277,10 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
}
private fun showDoctorDetail(item: VideoViewModel) {
if (!item.linkUrl.isNullOrBlank()) {
item.confideId?.let {
val url = HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(it)
ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(itemView.context as FragmentActivity, item.linkUrl!!, item.doctorId!!)
.showBottomSheetDialog(itemView.context as FragmentActivity, url, item.doctorId!!)
}
}
}
......@@ -223,7 +301,6 @@ class VideoViewModel {
var uid: String? = null
var doctorId: String? = null
var confideId: String? = null
var linkUrl: String? = null
}
private fun genMinProgramPath(url: String): String {
......@@ -256,9 +333,6 @@ internal fun VideoViewModel.mapOf(bean: ConfideHomeBodyBean): VideoViewModel {
uid = bean.uid?.toString()
doctorId = bean.doctorId
confideId = bean.confidedId
doctorId?.let {
linkUrl = HttpConfig.MH5_URL + ConfideRoute.h5ExpertEval(it)
}
return this
}
......
......@@ -2,9 +2,10 @@ package com.ydl.confide.api
object ConfideRoute {
const val R_VIDEO_SHOW = "confide/expert_video"
const val R_VIDEO_SHOW = "/confide/expert_video"
const val R_CONFIDE_HOME = "/confide/home"
fun h5ConfideIntro(id: String) = "jy/listenMask?listenerId=${id}"
fun h5ExpertEval(id: String) = "comment/evaList/${id}?listenerId=${id}"
fun h5ExpertEval(id: String) = "comment/evaList/${id}?listenerId=${id}&fromVideo=1"
}
\ No newline at end of file
......@@ -26,10 +26,12 @@
android:layout_alignParentBottom="true"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="30dp"
android:layout_marginBottom="20dp"
android:background="@drawable/confide_card_consult_bg"
android:orientation="horizontal"
android:paddingLeft="@dimen/platform_dp_8"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:paddingRight="@dimen/platform_dp_8"
android:visibility="gone"
tools:visibility="visible">
......@@ -75,27 +77,33 @@
android:layout_width="wrap_content"
android:layout_height="30dp"
android:background="@drawable/confide_consult_btn_bg"
android:layout_marginRight="24dp"
android:gravity="center"
android:paddingTop="@dimen/platform_dp_5"
android:paddingBottom="@dimen/platform_dp_5"
android:paddingLeft="@dimen/platform_dp_7"
android:paddingRight="@dimen/platform_dp_7"
android:text="我要倾诉"
android:layout_marginTop="@dimen/platform_dp_15"
android:layout_marginTop="@dimen/platform_dp_12"
android:textColor="@color/white"
android:textSize="13sp"
android:drawableRight="@drawable/confide_right_arrow"
/>
<ImageView
android:layout_width="@dimen/platform_dp_40"
android:layout_height="@dimen/confide_dp_25"
android:src="@drawable/confide__free"
android:layout_marginStart="@dimen/platform_dp_40"
android:id="@+id/confide_Free"
>
</ImageView>
<TextView
android:id="@+id/confide_Free"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_confide_free"
android:layout_gravity="right|top"
android:paddingLeft="5dp"
android:paddingTop="2dp"
android:paddingRight="5dp"
android:paddingBottom="2dp"
android:text="首单免费"
android:textColor="@color/white"
android:textSize="11sp" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
......
......@@ -116,7 +116,7 @@
android:layout_height="wrap_content"
android:textSize="@dimen/platform_sp_12"
android:textColor="#BCBCBC"
android:text="向TA倾诉"
android:text="倾诉人次"
/>
</LinearLayout>
<LinearLayout
......@@ -156,16 +156,17 @@
android:layout_marginStart="14dp"
app:layout_constraintBottom_toBottomOf="@id/img_bg"
/>
<TextView
android:id="@+id/price_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="50元/25分钟"
android:id="@+id/price_content"
android:textSize="@dimen/platform_sp_12"
app:layout_constraintStart_toEndOf="@id/flowlayout_tag"
app:layout_constraintBottom_toBottomOf="@id/flowlayout_tag"
>
</TextView>
app:layout_constraintTop_toBottomOf="@+id/ll_confide_data"/>
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
......@@ -194,8 +195,8 @@
android:gravity="center"
tools:background="@drawable/confide_line_1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="42dp"
android:layout_height="21dp"
android:id="@+id/confide_free_logo"
android:layout_marginTop="@dimen/platform_dp_5"
android:layout_marginStart="@dimen/platform_dp_8"
......
<resources>
<string name="confide_title">即时倾诉</string>
<string name="confide_title">倾诉热线</string>
<string name="confide_video_wifi_tip">当前处于非wifi环境下,播放会消耗流量,确定继续播放?</string>
<string name="confide_tip">提示</string>
<string name="confide_tip_remain_time">(剩余%s)</string>
......
......@@ -27,6 +27,7 @@ import com.ydl.ydlcommon.bean.ShareData
import com.ydl.ydlcommon.data.PlatformRamImpl
import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.modular.route
import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.utils.Utils
......@@ -296,7 +297,7 @@ open class HomeBaseImpl : IHomeBaseEvent {
ActionCountUtils.count(HomeBIConstants.YDL_USER_CONSULT_CLICK)
}
override fun nowConfideClick() {
override fun nowConfideClick(listenFree: Boolean) {
if (Utils.isFastClick()) {
//防止连击
return
......@@ -304,7 +305,7 @@ open class HomeBaseImpl : IHomeBaseEvent {
ActionCountUtils.count(HomeBIConstants.YDL_USER_TALK_IN_TIME_CLICK)
//倾诉首页 ydl-user://confide/home
YDLRouterManager.router(IYDLRouterConstant.ROUTER_CONFIDE_HOME)
route(mContext, ConfideRoute.R_CONFIDE_HOME, "listenFree" to listenFree)
}
override fun psychologyClassClick() {
......
package com.yidianling.home.event
import androidx.recyclerview.widget.RecyclerView
import android.view.View
import androidx.recyclerview.widget.RecyclerView
import com.yidianling.home.model.bean.*
/**
......@@ -82,7 +82,7 @@ interface IHomeBaseEvent {
/**
* 即可倾诉点击事件
*/
fun nowConfideClick()
fun nowConfideClick(listenFree: Boolean)
/**
* 心理课堂点击事件
......
......@@ -41,7 +41,6 @@ import com.yidianling.home.ui.view.HomeSpaceItemDecoration
import com.yidianling.home.utils.HomeAnimUtils
import com.yidianling.user.api.service.IUserService
import kotlinx.android.synthetic.ydl.home_fragment.*
import kotlin.properties.Delegates
/**
......@@ -204,7 +203,7 @@ open class YdlHomeFragment : BaseMvpFragment<IHomeContract.View, HomePresenterIm
homeEvent?.reservationExpertsClick()
}
tv_confide.setOnClickListener {
homeEvent?.nowConfideClick()
homeEvent?.nowConfideClick(adapter?.listenFree ?: false)
}
tv_course.setOnClickListener {
homeEvent?.psychologyClassClick()
......
......@@ -8,10 +8,9 @@ import android.widget.LinearLayout
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.RxDeviceTool
import com.yidianling.home.R
import com.yidianling.home.event.IHomeBaseEvent
import com.yidianling.common.tools.RxDeviceTool
import kotlinx.android.synthetic.ydl.home_button_banner_view.view.*
/**
......@@ -54,7 +53,7 @@ class HomeButtonBannerView(private val mContext: Context, private var homeEvent:
homeEvent?.reservationExpertsClick()
}
homeModuleButtonBannerSecond.setOnClickListener {
homeEvent?.nowConfideClick()
homeEvent?.nowConfideClick(listenFree)
}
homeModuleButtonBannerThird.setOnClickListener {
homeEvent?.psychologyClassClick()
......
......@@ -106,6 +106,11 @@ class ActionCountUtils {
count(uid, partId, position, url, api, signs = *arrayOf(sign1))
}
fun record(partId: String, position: String, vararg signs: String) {
val userId = ModularServiceManager.getPlatformUserService()?.getUser()?.userId ?: ""
count(userId, partId, position, url = "", api = "", signs = *signs)
}
/*
*
* 测试用埋点,现在服务端统一用百度埋点
......@@ -155,7 +160,7 @@ class ActionCountUtils {
DeviceIDHelper.getInstance().deviceId
}
actionDataParams.deviceId(deviceId)
signs == null ?: signs.forEachIndexed { index, s ->
signs.forEachIndexed { index, s ->
//拓展参数个数确定,暂不使用反射调用
//actionDataParams.javaClass.getMethod("sign$index").invoke(s)
when (index) {
......
......@@ -127,6 +127,8 @@ public class WebUrlParamsUtils {
if (userInfo != null) {
mTree.put("uid", userInfo.getUserId());
mTree.put("accessToken", userInfo.getToken());
} else {
mTree.put("uid", "0");
}
mTree.put("v", RxAppTool.getAppVersionName(BaseApp.Companion.getApp()));
mTree.put("isFromApp", "1");//1表示用户版调用接口
......
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