From 548d501a44e7d780777787b5b86f3431d59d1378 Mon Sep 17 00:00:00 2001 From: maxinyu Date: Thu, 18 Jun 2026 09:02:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=BD=91=E7=BB=9C=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ckkj/defense_device/bean/BaseInfo.kt | 2 +- .../defense_device/home/HomeMenuFragment.kt | 28 +++++++++++++++---- .../ckkj/defense_device/utils/ApiConfig.kt | 2 +- app/src/main/res/layout/message_activity.xml | 1 - 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/ckkj/defense_device/bean/BaseInfo.kt b/app/src/main/java/com/ckkj/defense_device/bean/BaseInfo.kt index c3ec8ea..0b4582f 100644 --- a/app/src/main/java/com/ckkj/defense_device/bean/BaseInfo.kt +++ b/app/src/main/java/com/ckkj/defense_device/bean/BaseInfo.kt @@ -4,7 +4,7 @@ package com.ckkj.defense_device.bean * 统一返回数据基类(根据你的后端实际字段调整) */ data class BaseInfo( - val message: String? = null, + val msg: String? = null, val code: Int = 0, val data: Any? = null ) \ No newline at end of file diff --git a/app/src/main/java/com/ckkj/defense_device/home/HomeMenuFragment.kt b/app/src/main/java/com/ckkj/defense_device/home/HomeMenuFragment.kt index 8b93006..12ac0a3 100644 --- a/app/src/main/java/com/ckkj/defense_device/home/HomeMenuFragment.kt +++ b/app/src/main/java/com/ckkj/defense_device/home/HomeMenuFragment.kt @@ -320,18 +320,22 @@ class HomeMenuFragment : Fragment() { Log.d("HomeMenuFragment", "canViewDevice = $canViewDevice") if (canViewDevice) { binding.tvDeviceTitle.visibility = View.VISIBLE + binding.swipeRefreshLayout.visibility = View.VISIBLE binding.rvDeviceList.visibility = View.VISIBLE binding.message.visibility = View.VISIBLE binding.addFamily.visibility = View.VISIBLE binding.add.visibility = View.VISIBLE binding.layoutNoPermission.visibility = View.GONE + binding.layoutNoNetwork.visibility = View.GONE } else { binding.tvDeviceTitle.visibility = View.GONE + binding.swipeRefreshLayout.visibility = View.GONE binding.rvDeviceList.visibility = View.GONE binding.message.visibility = View.GONE binding.addFamily.visibility = View.GONE binding.add.visibility = View.GONE binding.layoutNoPermission.visibility = View.VISIBLE + binding.layoutNoNetwork.visibility = View.GONE } } @@ -389,11 +393,12 @@ class HomeMenuFragment : Fragment() { hasMore = newDevices.size >= pageSize } Log.d("DeviceList", "deviceBeanList size = ${deviceBeanList.size}") + showDeviceContent() updateDeviceList() } else { - binding.rvDeviceList.visibility = View.GONE - binding.layoutNoPermission.visibility = View.VISIBLE - Toast.makeText(requireContext(), response.msg, Toast.LENGTH_SHORT).show() + noNetwork() + val errorMsg = response.msg.ifBlank { getString(R.string.network_error) } + Toast.makeText(requireContext(), errorMsg, Toast.LENGTH_SHORT).show() if (isLoadMore) { hasMore = false } @@ -402,8 +407,7 @@ class HomeMenuFragment : Fragment() { } } catch (e: Exception) { withContext(Dispatchers.Main) { - binding.rvDeviceList.visibility = View.GONE - binding.layoutNoNetwork.visibility = View.VISIBLE + noNetwork() Toast.makeText(requireContext(), R.string.network_error, Toast.LENGTH_SHORT).show() isLoading = false if (isLoadMore) { @@ -448,6 +452,20 @@ class HomeMenuFragment : Fragment() { } } + private fun showDeviceContent() { + binding.swipeRefreshLayout.visibility = View.VISIBLE + binding.rvDeviceList.visibility = View.VISIBLE + binding.layoutNoPermission.visibility = View.GONE + binding.layoutNoNetwork.visibility = View.GONE + } + + private fun noNetwork() { + binding.swipeRefreshLayout.visibility = View.GONE + binding.rvDeviceList.visibility = View.GONE + binding.layoutNoPermission.visibility = View.GONE + binding.layoutNoNetwork.visibility = View.VISIBLE + } + private fun updateDeviceList() { if (deviceBeanList.isEmpty()) { deviceAdapter.submitList(listOf( diff --git a/app/src/main/java/com/ckkj/defense_device/utils/ApiConfig.kt b/app/src/main/java/com/ckkj/defense_device/utils/ApiConfig.kt index 165fc2c..bccb841 100644 --- a/app/src/main/java/com/ckkj/defense_device/utils/ApiConfig.kt +++ b/app/src/main/java/com/ckkj/defense_device/utils/ApiConfig.kt @@ -138,7 +138,7 @@ object ApiConfig { */ private fun buildFakeErrorResponse(request: Request, msg: String, code: Int = 1): Response { val baseInfo = BaseInfo( - message = msg, + msg = msg, code = code, data = null, ) diff --git a/app/src/main/res/layout/message_activity.xml b/app/src/main/res/layout/message_activity.xml index b28b12b..ce39c21 100644 --- a/app/src/main/res/layout/message_activity.xml +++ b/app/src/main/res/layout/message_activity.xml @@ -67,7 +67,6 @@ android:gravity="center" android:orientation="vertical" android:paddingHorizontal="32dp" - android:background="@color/white" android:visibility="gone">