Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
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
杨凯
YDL-Component-Medical
Commits
89b80cfa
Commit
89b80cfa
authored
Aug 24, 2022
by
霍志良
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:咨询页面改版
parent
4f8ada71
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
188 additions
and
17 deletions
+188
-17
DemoGlobalConfig.java
app/src/main/java/com/ydl/component/base/DemoGlobalConfig.java
+2
-2
build.gradle
build.gradle
+1
-1
ExpertSearchActivity.kt
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchActivity.kt
+5
-0
ExpertSearchFragment.kt
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchFragment.kt
+15
-12
ExpertSearchPresenter.kt
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchPresenter.kt
+15
-0
IExpertSearchView.kt
m-consultant/src/main/java/com/yidianling/consultant/IExpertSearchView.kt
+5
-2
ConsultantTopAdapter.kt
m-consultant/src/main/java/com/yidianling/consultant/adapter/ConsultantTopAdapter.kt
+59
-0
SearchApi.kt
m-consultant/src/main/java/com/yidianling/consultant/model/SearchApi.kt
+5
-0
ConsultantTopBannerBean.kt
m-consultant/src/main/java/com/yidianling/consultant/model/bean/ConsultantTopBannerBean.kt
+9
-0
consultant_bg_top_tag.xml
m-consultant/src/main/res/drawable/consultant_bg_top_tag.xml
+12
-0
consultant_activity_expert_search_list.xml
m-consultant/src/main/res/layout/consultant_activity_expert_search_list.xml
+7
-0
consultant_top_banner_item.xml
m-consultant/src/main/res/layout/consultant_top_banner_item.xml
+53
-0
No files found.
app/src/main/java/com/ydl/component/base/DemoGlobalConfig.java
View file @
89b80cfa
...
...
@@ -20,8 +20,8 @@ import java.util.List;
*/
public
final
class
DemoGlobalConfig
implements
IConfigModule
{
String
APP_DOMAIN
=
"https://api.github.com/"
;
//
public static String appEnv = YDLConstants.ENV_TEST;
public
static
String
appEnv
=
YDLConstants
.
ENV_PROD
;
public
static
String
appEnv
=
YDLConstants
.
ENV_TEST
;
//
public static String appEnv = YDLConstants.ENV_PROD;
// public static String appEnv = YDLConstants.ENV_NEW_TEST;//配置未上传到maven库
@Override
...
...
build.gradle
View file @
89b80cfa
...
...
@@ -14,7 +14,7 @@ buildscript {
ydlrouter_version
=
'1.2.3'
constrait_support_version
=
'1.0.2'
componentVersion
=
"0.3.0.40"
componentVersion
=
"0.3.0.40
-zl
"
}
repositories
{
mavenCentral
()
...
...
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchActivity.kt
View file @
89b80cfa
...
...
@@ -98,6 +98,11 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
override
fun
showPromptPayment
(
promptPaymentBean
:
PromptPaymentBean
)
{
}
override
fun
consultTopBannerBean
(
consultantTopData
:
MutableList
<
ConsultantTopBannerBean
>)
{
}
override
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
,
...
...
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchFragment.kt
View file @
89b80cfa
...
...
@@ -47,6 +47,7 @@ import com.ydl.ydlcommon.view.listener.EndlessRecyclerViewScrollListener
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.consultant.adapter.ConsultantTopAdapter
import
com.yidianling.consultant.adapter.ExpertSearchAdapter
import
com.yidianling.consultant.bean.ConsultantRecentCity
import
com.yidianling.consultant.constants.ConsultBIConstants
...
...
@@ -98,7 +99,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
private
var
locationList
:
ArrayList
<
SubItem
>?
=
arrayListOf
()
private
var
locationHistoryList
:
ArrayList
<
RegionItem
>?
=
arrayListOf
()
private
var
eightcategoryPopup
:
EightCategoryPopupWindow
?
=
null
private
var
mConsultantTopAdapter
:
ConsultantTopAdapter
?
=
null
override
fun
layoutResId
():
Int
{
return
R
.
layout
.
consultant_activity_expert_search_list
}
...
...
@@ -113,17 +114,9 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
title_layout
.
setPadding
(
DisplayUtils
.
dp2px
(
context
,
15
),
0
,
0
,
0
)
initViews
()
initData
()
val
ffrom
=
PlatformDataManager
.
getRam
().
getChannelName
()
if
(!
TextUtils
.
isEmpty
(
ffrom
)
&&
(
ffrom
.
endsWith
(
ChannelConfig
.
Xinliceshiyiyu
.
name
))
)
{
//抑郁焦虑测试
rl_hot_fix_for_huawei
.
visibility
=
View
.
GONE
}
else
{
rl_hot_fix_for_huawei
.
visibility
=
View
.
VISIBLE
}
//资源页顶部资源位改版。
rl_hot_fix_for_huawei
.
visibility
=
View
.
GONE
consultant_list
.
visibility
=
View
.
VISIBLE
}
override
fun
initDataAndEventLazy
()
{
...
...
@@ -155,6 +148,14 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
}
override
fun
consultTopBannerBean
(
consultantTopData
:
MutableList
<
ConsultantTopBannerBean
>)
{
//咨询页顶部滑动banner。
consultant_list
.
visibility
=
View
.
VISIBLE
consultant_list
.
layoutManager
=
LinearLayoutManager
(
requireContext
())
mConsultantTopAdapter
=
ConsultantTopAdapter
(
requireContext
(),
consultantTopData
)
consultant_list
.
adapter
=
mConsultantTopAdapter
}
override
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
,
...
...
@@ -386,6 +387,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
getPresenter
().
fetchListHead
()
getPresenter
().
fetchFunctionWord
(
2
)
getPresenter
().
fetchConsultTopBanner
()
recommendListView
.
requestData
(
""
)
v_loading
.
visibility
=
View
.
VISIBLE
...
...
@@ -1600,6 +1602,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
onScrollListener
.
resetState
()
getPresenter
().
mExtras
=
null
getPresenter
().
fetchListData
(
allFilter
,
getPresenter
().
mExtras
,
null
)
getPresenter
().
fetchConsultTopBanner
()
rvExperts
.
scrollToPosition
(
0
)
}
...
...
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchPresenter.kt
View file @
89b80cfa
...
...
@@ -64,6 +64,21 @@ class ExpertSearchPresenter : SimplePresenter<IExpertSearchView>() {
}
@SuppressLint
(
"CheckResult"
)
fun
fetchConsultTopBanner
()
{
SearchApi
.
getSearchApi
()
.
searchConsultTopicBanner
()
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mView
))
.
compose
(
RxUtils
.
resultJavaData
())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
({
resp
->
mView
.
consultTopBannerBean
(
resp
)
},
{
t
->
HttpErrorUtils
.
handleError
(
BaseApp
.
getApp
(),
t
)
})
}
@SuppressLint
(
"CheckResult"
)
fun
fetchListData
(
allFilter
:
AllFilter
,
extras
:
Extras
?,
mapFilter
:
Map
<
String
,
Any
>?)
{
//是否亲子教育字段
// ConsultAssistantDialogUtils.REALATION_EDUCATION = allFilter.categories.size == 1 && allFilter.categories[0].cateId == "23"
...
...
m-consultant/src/main/java/com/yidianling/consultant/IExpertSearchView.kt
View file @
89b80cfa
...
...
@@ -28,13 +28,15 @@ interface IExpertSearchView : IView {
/**
* 加载图片
*/
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
)
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
)
/**
* 加载图片
*/
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
,
ops
:
SimpleImageOpConfiger
)
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
,
ops
:
SimpleImageOpConfiger
)
fun
showPromptPayment
(
promptPaymentBean
:
PromptPaymentBean
)
fun
consultTopBannerBean
(
consultantTopData
:
MutableList
<
ConsultantTopBannerBean
>)
}
\ No newline at end of file
m-consultant/src/main/java/com/yidianling/consultant/adapter/ConsultantTopAdapter.kt
0 → 100644
View file @
89b80cfa
package
com.yidianling.consultant.adapter
import
android.content.Context
import
androidx.recyclerview.widget.RecyclerView
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.ydl.webview.H5Params
import
com.ydl.webview.NewH5Activity
import
com.ydl.ydl_image.module.GlideApp
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.consultant.R
import
com.yidianling.consultant.model.bean.ConsultantTopBannerBean
import
kotlinx.android.synthetic.main.consultant_top_banner_item.view.*
/**
* Created by zqk on 17-9-20.
*/
class
ConsultantTopAdapter
(
private
val
context
:
Context
,
private
val
consultList
:
MutableList
<
ConsultantTopBannerBean
>,
)
:
RecyclerView
.
Adapter
<
ConsultantTopAdapter
.
ViewHolder
>()
{
override
fun
getItemCount
():
Int
=
consultList
.
size
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ViewHolder
{
val
itemView
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_top_banner_item
,
parent
,
false
)
return
ViewHolder
(
itemView
)
}
override
fun
onBindViewHolder
(
holder
:
ViewHolder
,
position
:
Int
)
{
if
(
consultList
[
position
].
specialTopicSubhead
?.
isNotEmpty
()
==
true
)
{
holder
.
consult_tag
.
visibility
=
View
.
VISIBLE
holder
.
consult_tag
.
text
=
consultList
[
position
].
specialTopicSubhead
}
else
{
holder
.
consult_tag
.
visibility
=
View
.
GONE
}
GlideApp
.
with
(
context
)
.
load
(
consultList
[
position
].
topicImage
)
.
into
(
holder
.
consult_img
)
holder
.
consult_title
.
text
=
consultList
[
position
].
specialTopicTitle
holder
.
itemView
.
setOnClickListener
{
NewH5Activity
.
start
(
context
,
H5Params
(
consultList
[
position
].
specialTopicUrl
.
toString
(),
""
)
)
}
}
inner
class
ViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
val
consult_tag
=
itemView
.
consult_tag
val
consult_img
=
itemView
.
consult_img
val
consult_title
=
itemView
.
consult_title
}
}
\ No newline at end of file
m-consultant/src/main/java/com/yidianling/consultant/model/SearchApi.kt
View file @
89b80cfa
...
...
@@ -50,6 +50,11 @@ interface SearchApi {
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
searchFunctionWord
(
@Body
map
:
Map
<
String
,
@JvmSuppressWildcards
Any
>):
Observable
<
BaseAPIResponse
<
MutableList
<
FunctionWordBean
>>>
//咨询页顶部滑动banner
@POST
(
"doctor/v1/querySpecialTopic"
)
@Headers
(
YDL_DOMAIN
+
YDL_DOMAIN_JAVA
)
fun
searchConsultTopicBanner
():
Observable
<
BaseAPIResponse
<
MutableList
<
ConsultantTopBannerBean
>>>
//查询功能词、底纹词
//(1热门词,2底纹词,3跳转词)
@POST
(
"function/word/queryList"
)
...
...
m-consultant/src/main/java/com/yidianling/consultant/model/bean/ConsultantTopBannerBean.kt
0 → 100644
View file @
89b80cfa
package
com.yidianling.consultant.model.bean
data class
ConsultantTopBannerBean
(
val
specialTopicSubhead
:
String
?
=
""
,
//右上角标签 有数据则展示
val
specialTopicUrl
:
String
?
=
""
,
val
topicImage
:
String
?
=
""
,
val
specialTopicTitle
:
String
?
=
""
)
\ No newline at end of file
m-consultant/src/main/res/drawable/consultant_bg_top_tag.xml
0 → 100644
View file @
89b80cfa
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
tools:ignore=
"MissingDefaultResource"
>
<corners
android:bottomRightRadius=
"@dimen/platform_dp_3"
android:topLeftRadius=
"@dimen/platform_dp_3"
android:topRightRadius=
"@dimen/platform_dp_3"
/>
<solid
android:color=
"#ff7171"
/>
</shape>
\ No newline at end of file
m-consultant/src/main/res/layout/consultant_activity_expert_search_list.xml
View file @
89b80cfa
...
...
@@ -55,6 +55,13 @@
android:layout_height=
"wrap_content"
/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/consultant_list"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"horizontal"
android:visibility=
"visible"
></androidx.recyclerview.widget.RecyclerView>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
...
...
m-consultant/src/main/res/layout/consultant_top_banner_item.xml
0 → 100644
View file @
89b80cfa
<?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"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/platform_dp_25"
android:background=
"@color/white"
>
<ImageView
android:id=
"@+id/consult_img"
android:layout_width=
"44dp"
android:layout_height=
"44dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
></ImageView>
<TextView
android:id=
"@+id/consult_tag"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/platform_dp_12"
android:layout_marginBottom=
"@dimen/platform_dp_40"
android:background=
"@drawable/consultant_bg_top_tag"
android:includeFontPadding=
"false"
android:paddingStart=
"@dimen/platform_dp_4"
android:paddingTop=
"@dimen/platform_dp_2"
android:paddingEnd=
"@dimen/platform_dp_4"
android:paddingBottom=
"@dimen/platform_dp_2"
android:textColor=
"@color/white"
android:textSize=
"9sp"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"@id/consult_img"
app:layout_constraintStart_toStartOf=
"@id/consult_img"
tools:text=
"99元专区"
></TextView>
<TextView
android:id=
"@+id/consult_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/platform_dp_8"
android:includeFontPadding=
"false"
android:textColor=
"@color/platform_color_666666"
android:textSize=
"@dimen/platform_sp_12"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/consult_img"
tools:text=
"新人专区"
>
</TextView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
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