diff --git a/app/src/main/java/com/xjjk/healthyclients/MyApplication.kt b/app/src/main/java/com/xjjk/healthyclients/MyApplication.kt index d6de4ae..0d0b897 100644 --- a/app/src/main/java/com/xjjk/healthyclients/MyApplication.kt +++ b/app/src/main/java/com/xjjk/healthyclients/MyApplication.kt @@ -12,8 +12,6 @@ import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelStore import androidx.lifecycle.ViewModelStoreOwner -import com.bumptech.glide.Glide -import com.bumptech.glide.load.model.GlideUrl import com.lzy.ninegrid.NineGridView import com.orhanobut.logger.AndroidLogAdapter import com.orhanobut.logger.Logger @@ -47,7 +45,6 @@ import com.xjjk.healthyclients.utils.updateplugin.CustomDownloadNotifier import com.xjjk.healthyclients.utils.updateplugin.CustomInstallNotifier import com.xjjk.healthyclients.utils.updateplugin.CustomUpdateNotifier import com.xjjk.healthyclients.view.AppraiseDialog -import okhttp3.OkHttpClient import org.json.JSONException import org.json.JSONObject import org.lzh.framework.updatepluginlib.UpdateConfig @@ -98,9 +95,6 @@ class MyApplication : Application(), ViewModelStoreOwner { registerActivityLifecycleCallbacks(AdjustLifecycleCallbacks()) val androidId = DevicesInfoUtils.getAndroidId(this) println("设备id:${androidId}") - if (UrlConfig.testDeviceList.contains(androidId)) { - UrlConfig.isTestDevice = true - } } override fun attachBaseContext(base: Context) { diff --git a/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt b/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt index 3e4e651..ec8b09e 100644 --- a/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt +++ b/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt @@ -32,7 +32,8 @@ interface HomeApi { /** * 首页banner */ - @GET("/sys/api/banner/selectBannerList") +// @GET("/sys/api/banner/selectBannerList") + @GET("/sys/api/banner/selectAllBannerList") suspend fun getHomeBannerList(@QueryMap params: MutableMap): ApiResponse> /** @@ -64,4 +65,10 @@ interface HomeApi { @POST("/health-system/bank/userPoints/app/pointCheckIn") suspend fun postUserPointsCheckIn(@Body requestBody: RequestBody): ApiResponse + /** + * 心理帮助图片url + */ + @GET("/health-consultation/consultation/conSession/getPicUrl") + suspend fun getConSessionPicUrl(@QueryMap params: MutableMap): ApiResponse + } \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt b/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt index 6388ce4..60a405b 100644 --- a/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt +++ b/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt @@ -37,9 +37,9 @@ object HomeRepository : BaseRepository() { return apiCall { service.getHomeNoticeDetail(map) } } - suspend fun getHomeBannerList(showLocation: String): ApiResponse> { + suspend fun getHomeBannerList(): ApiResponse> { val map = mutableMapOf() - map["showLocation"] = showLocation +// map["showLocation"] = showLocation return apiCall { service.getHomeBannerList(map) } } @@ -75,4 +75,9 @@ object HomeRepository : BaseRepository() { suspend fun postUserPointsCheckIn(checkInBean: CheckInBean): ApiResponse { return apiCall { service.postUserPointsCheckIn(checkInBean.toJson().toRequestBody()) } } + + suspend fun getConSessionPicUrl(): ApiResponse { + val map = mutableMapOf() + return apiCall { service.getConSessionPicUrl(map) } + } } \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt index 93618c4..9aa6af1 100644 --- a/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt @@ -18,9 +18,8 @@ import com.xjjk.healthyclients.databinding.FragmentHomeBinding import com.xjjk.healthyclients.event.HomeTabChangeEvent import com.xjjk.healthyclients.event.RefreshEvent import com.xjjk.healthyclients.superfuntion.initColors -import com.xjjk.healthyclients.superfuntion.load +import com.xjjk.healthyclients.superfuntion.showBanner import com.xjjk.healthyclients.superfuntion.startAppointmentWaitAffirmActivity -import com.xjjk.healthyclients.superfuntion.startEmergencySeekDoctorActivity import com.xjjk.healthyclients.superfuntion.startGroupChat import com.xjjk.healthyclients.superfuntion.startLoginActivity import com.xjjk.healthyclients.superfuntion.startMyGuidanceActivity @@ -113,41 +112,57 @@ class HomeFragment : } override fun bindEvent() { - mBinding.headImg.setOnClickListener { - toActivity(HomeNoticeListActivity::class.java) + mBinding.homeMarqueeView.setOnItemClickListener { position, textView -> + if (DataStoreManager.isLogin()) { + toActivity(HomeNoticeListActivity::class.java) + } + } mBinding.apply { - addClickViews( - image1, image2, image3, image4, layoutItem4.imgLeft, layoutItem4.imgRight, + addClickViews(layoutItem4.imgLeft, layoutItem4.imgRight, layoutItem1.homeHeadTab1, layoutItem1.homeHeadTab2, layoutItem1.homeHeadTab3, - layoutItem1.homeHeadTab4, homeMarqueeView, layoutItem3.tvDoctorMore + layoutItem1.homeHeadTab4, layoutItem3.tvDoctorMore ) } } override fun onClick(v: View?) { when (v?.id) { - R.id.img_left, R.id.img_right, R.id.home_head_tab1, R.id.home_head_tab2, R.id.home_head_tab4, - R.id.image1, R.id.image4 -> { - toActivity(EmptyActivity::class.java) + R.id.img_left -> { + val bundle = Bundle() + bundle.putString("title","智慧体重") + toActivity(EmptyActivity::class.java,bundle) } - R.id.image2 -> { - toActivity(HomeBannerDetailActivity::class.java) - + R.id.img_right -> { + val bundle = Bundle() + bundle.putString("title","一人一案") + toActivity(EmptyActivity::class.java,bundle) } - R.id.image3 -> { - EventBus.getDefault().post(HomeTabChangeEvent().apply { index=1 }) + R.id.home_head_tab1 -> { + val bundle = Bundle() + bundle.putString("title","健康档案") + toActivity(EmptyActivity::class.java,bundle) + } + + R.id.home_head_tab2 -> { + val bundle = Bundle() + bundle.putString("title","健康体检") + toActivity(EmptyActivity::class.java,bundle) + } + + R.id.home_head_tab4 -> { + val bundle = Bundle() + bundle.putString("title","健康银行") + toActivity(EmptyActivity::class.java,bundle) } R.id.home_head_tab3 -> { - startEmergencySeekDoctorActivity(requireContext()) - } - - R.id.home_marqueeView -> { if (DataStoreManager.isLogin()) { - toActivity(HomeNoticeListActivity::class.java) + EventBus.getDefault().post(HomeTabChangeEvent().apply { index = 2 }) + } else { + startLoginActivity(requireContext()) } } @@ -172,10 +187,10 @@ class HomeFragment : super.onResume() if (DataStoreManager.isLogin()) { mBinding.tvHi.visibility = View.VISIBLE - mBinding.homeMarqueeView.visibility = View.VISIBLE + mBinding.layoutNotice.visibility = View.VISIBLE mBinding.tvHi.text = "hi~ ${DataStoreManager.getUserInfo().realname}" } else { - mBinding.homeMarqueeView.visibility = View.GONE + mBinding.layoutNotice.visibility = View.GONE mBinding.tvHi.visibility = View.GONE } } @@ -188,10 +203,47 @@ class HomeFragment : if (it.isNullOrEmpty()) { return@collectLatest } - mBinding.image1.load(it.get(0).photoUrl, false) - mBinding.image2.load(it.get(1).photoUrl, false) - mBinding.image3.load(it.get(2).photoUrl, false) - mBinding.image4.load(it.get(3).photoUrl, false) + val bannerList1 = it.filter { homeBannerBean -> + homeBannerBean.showLocation.equals("1") + }.sortedBy { homeBannerBean -> homeBannerBean.sort } + + val bannerList2 = it.filter { homeBannerBean -> + homeBannerBean.showLocation.equals("2") + }.sortedBy { homeBannerBean -> homeBannerBean.sort } + + val bannerList3 = it.filter { homeBannerBean -> + homeBannerBean.showLocation.equals("3") + }.sortedBy { homeBannerBean -> homeBannerBean.sort } + + val bannerList4 = it.filter { homeBannerBean -> + homeBannerBean.showLocation.equals("4") + }.sortedBy { homeBannerBean -> homeBannerBean.sort } + + showBanner(mBinding.banner1,bannerList1){ + val bundle = Bundle() + bundle.putString("title","体检套餐") + toActivity(EmptyActivity::class.java,bundle) + + } + showBanner(mBinding.banner2,bannerList2){ + + toActivity(HomeBannerDetailActivity::class.java) + } + + showBanner(mBinding.banner3, bannerList3) { + if (DataStoreManager.isLogin()) { + EventBus.getDefault().post(HomeTabChangeEvent().apply { index = 1 }) + } else { + startLoginActivity(requireContext()) + } + } + showBanner(mBinding.banner4, bannerList4) { + val bundle = Bundle() + bundle.putString("title", "AI随访") + toActivity(EmptyActivity::class.java, bundle) + + } + } } } @@ -209,6 +261,8 @@ class HomeFragment : mBinding.homeMarqueeView.stopFlipping() delay(100) mBinding.homeMarqueeView.startWithList(stringList) + delay(1000 * 120) + mViewModel.getHomeNoticeListRepeat() } } } @@ -236,11 +290,13 @@ class HomeFragment : override fun initData() { - mViewModel.getHomeBannerList("2") + onRefresh() } override fun onRefresh() { mBinding.swipeRefresh.isRefreshing = false + mViewModel.getHomeBannerList() + if (ConstantUtils.mCheckToken) { mViewModel.selectDoctorRecommendHome() } diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt index 4ae373d..835f411 100644 --- a/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/UserInfoFragment.kt @@ -55,8 +55,8 @@ class UserInfoFragment : mList.clear() mList.add(UserMenuBean(1, "咨询人管理", R.drawable.ic_user_personnel_manager, View.VISIBLE)) mList.add(UserMenuBean(3, "应急就医", R.drawable.ic_user_sos, View.VISIBLE)) - mList.add(UserMenuBean(4, "消息通知", R.drawable.icon_home_xiaolaba, View.VISIBLE)) - mList.add(UserMenuBean(8,"紧急联系人",R.drawable.ic_user_contacts,View.INVISIBLE)) + mList.add(UserMenuBean(8,"紧急联系人",R.drawable.ic_user_contacts,View.VISIBLE)) + mList.add(UserMenuBean(4, "消息通知", R.drawable.ic_user_message, View.INVISIBLE)) mUserMenuAdapter = diff --git a/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt b/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt index ea487d2..b877d7f 100644 --- a/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt +++ b/app/src/main/java/com/xjjk/healthyclients/retrofit/UrlConfig.kt @@ -13,8 +13,8 @@ object UrlConfig { */ -// private const val DEBUG_DEFAULT_IP_ADDRESS_REMOTE = "http://192.168.1.23/" // 开发环境 - private const val DEBUG_DEFAULT_IP_ADDRESS_REMOTE = "http://api-xj.tri.dt.io/" // 开发环境 + private const val DEBUG_DEFAULT_IP_ADDRESS_REMOTE = "http://192.168.1.47" // 开发环境 +// private const val DEBUG_DEFAULT_IP_ADDRESS_REMOTE = "http://api-xj.tri.dt.io/" // 开发环境 private const val TEST_DEFAULT_IP_ADDRESS_REMOTE = "https://xj-api.mcrm.vip:8888" // 测试环境 // private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api.xjygjk.com" // 正式环境 private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api-jkglpt.iosp.ydpt.tech" // 正式环境 @@ -32,8 +32,6 @@ object UrlConfig { val baseUrlType: BaseUrlType = BaseUrlType.TEST - var testDeviceList = mutableListOf("7e8e7e49a26340b1","bb2d17cc138d109f")//测试设备列表 荣耀 oppo vivo - var isTestDevice: Boolean = false var isOpenIm: Boolean = true enum class BaseUrlType(val type: Int) { diff --git a/app/src/main/java/com/xjjk/healthyclients/superfuntion/BannerExt.kt b/app/src/main/java/com/xjjk/healthyclients/superfuntion/BannerExt.kt index 76840c8..167d10f 100644 --- a/app/src/main/java/com/xjjk/healthyclients/superfuntion/BannerExt.kt +++ b/app/src/main/java/com/xjjk/healthyclients/superfuntion/BannerExt.kt @@ -13,7 +13,7 @@ import com.youth.banner.indicator.CircleIndicator fun Fragment.showBanner( banner: Banner>, - bannerDataList: MutableList, + bannerDataList: List, listener: ((HomeBannerBean)-> Unit)? = null ) { val bannerImageAdapter = object : BannerImageAdapter(bannerDataList) { @@ -37,6 +37,8 @@ fun Fragment.showBanner( ) imageView.layoutParams = params // imageView.scaleType = ImageView.ScaleType.CENTER_CROP + imageView.adjustViewBounds = true + imageView.scaleType = ImageView.ScaleType.FIT_XY return BannerImageHolder(imageView) } } @@ -47,7 +49,7 @@ fun Fragment.showBanner( .isAutoLoop(true) .setIndicator(CircleIndicator(requireContext())) .setIndicatorGravity(IndicatorConfig.Direction.CENTER) - .setIndicatorSelectedWidth(10) + .setIndicatorSelectedWidth(15) banner.setOnBannerListener { data, position -> data as HomeBannerBean diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/activity/EmptyActivity.kt b/app/src/main/java/com/xjjk/healthyclients/ui/activity/EmptyActivity.kt index 4c4698a..e8bfd3c 100644 --- a/app/src/main/java/com/xjjk/healthyclients/ui/activity/EmptyActivity.kt +++ b/app/src/main/java/com/xjjk/healthyclients/ui/activity/EmptyActivity.kt @@ -15,6 +15,8 @@ class EmptyActivity : override fun initView(savedInstanceState: Bundle?) { + val stringExtra = intent.getStringExtra("title") + mBinding.toolbarLay.title=stringExtra } override fun initData() { @@ -22,7 +24,6 @@ class EmptyActivity : } - override fun bindEvent() { } diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/activity/guidance/UserMyGuidanceActivity.kt b/app/src/main/java/com/xjjk/healthyclients/ui/activity/guidance/UserMyGuidanceActivity.kt index 91dab77..8939e1e 100644 --- a/app/src/main/java/com/xjjk/healthyclients/ui/activity/guidance/UserMyGuidanceActivity.kt +++ b/app/src/main/java/com/xjjk/healthyclients/ui/activity/guidance/UserMyGuidanceActivity.kt @@ -209,7 +209,7 @@ class UserMyGuidanceActivity : BaseVMBActivity?>() var homeNoticeDetail = MutableSharedFlow() var homeBannerList = MutableSharedFlow?>() + var sessionPicUrl = MutableSharedFlow() var isRefreshing = MutableStateFlow(false) @@ -88,17 +86,16 @@ class HomeViewModel : BaseViewModel() { * 首页消息轮询 */ fun getHomeNoticeListRepeat() { - viewModelScope.launch { - repeat(100) { + launch( + showDialog = false, + { handleRequest( HomeRepository.getHomeNoticeList(1, 10), successBlock = { homeNoticeRepeat.emit(it.result) }) - delay(1000 * 120) } - - } + ) } @@ -114,11 +111,11 @@ class HomeViewModel : BaseViewModel() { ) } - fun getHomeBannerList(showLocation: String) { + fun getHomeBannerList() { launch( { handleRequest( - HomeRepository.getHomeBannerList(showLocation), + HomeRepository.getHomeBannerList(), successBlock = { homeBannerList.emit(it.result) }) @@ -126,4 +123,17 @@ class HomeViewModel : BaseViewModel() { ) } + fun getConSessionPicUrl() { + launch( + { + handleRequest( + HomeRepository.getConSessionPicUrl(), + successBlock = { + sessionPicUrl.emit(it.result) + }) + } + ) + } + + } \ No newline at end of file diff --git a/app/src/main/res/drawable-xxhdpi/ic_user_message.png b/app/src/main/res/drawable-xxhdpi/ic_user_message.png new file mode 100644 index 0000000..c72888d Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_user_message.png differ diff --git a/app/src/main/res/layout/activity_empty.xml b/app/src/main/res/layout/activity_empty.xml index 9b67150..6e8b335 100644 --- a/app/src/main/res/layout/activity_empty.xml +++ b/app/src/main/res/layout/activity_empty.xml @@ -15,8 +15,7 @@ + app:darkStyle="@{true}" /> + android:layout_height="wrap_content"> - + android:layout_height="wrap_content" + android:adjustViewBounds="true" /> - - - diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 4b620cd..63a3bca 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -72,7 +72,7 @@ app:mvAnimDuration="1000" app:mvDirection="bottom_to_top" app:mvInterval="3000" - app:mvSingleLine="false" + app:mvSingleLine="true" app:mvTextColor="#77849E" app:mvTextSize="14sp" /> @@ -97,36 +97,26 @@ android:layout_marginHorizontal="6dp" android:layout_marginTop="10dp" /> - - - - - - - - + android:layout_marginTop="10dp" /> - + android:layout_marginTop="10dp" /> - + android:layout_marginTop="10dp" /> - - - - - - - - - + android:layout_height="120dp" + android:layout_marginHorizontal="12dp" /> + diff --git a/app/src/main/res/layout/item_home_message.xml b/app/src/main/res/layout/item_home_message.xml index edc2800..d7e9475 100644 --- a/app/src/main/res/layout/item_home_message.xml +++ b/app/src/main/res/layout/item_home_message.xml @@ -12,8 +12,9 @@ android:layout_marginTop="10dp"> @@ -43,6 +45,6 @@ \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/ic_home_banner_detail.png b/app/src/main/res/mipmap-xxhdpi/ic_home_banner_detail.png similarity index 100% rename from app/src/main/res/mipmap-xhdpi/ic_home_banner_detail.png rename to app/src/main/res/mipmap-xxhdpi/ic_home_banner_detail.png