From f25e015f2741649a0e429bacbb19e1e7b177067b Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 24 三月 2025 18:53:48 +0800
Subject: [PATCH] fix 123

---
 app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt |   31 ++++++++++++++++++++++++-------
 app/src/main/java/com/example/firstapp/ui/profile/EditProfileActivity.kt         |    1 -
 app/src/main/res/drawable/me_vip.xml                                             |   12 ++++++++++++
 app/src/main/res/layout/fragment_notifications.xml                               |   10 ++++++++++
 4 files changed, 46 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt b/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
index a2becfc..4f3ba17 100644
--- a/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
+++ b/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
@@ -26,6 +26,7 @@
 import com.example.firstapp.ui.profile.EditProfileActivity
 import kotlinx.coroutines.launch
 import com.bumptech.glide.Glide
+import com.example.firstapp.database.response.UserInfo
 
 class NotificationsFragment : Fragment() {
 
@@ -44,6 +45,8 @@
     private var xiaohongshuUrl = ""
     private var contactEmail = ""
     private var shareText = ""
+    private var currentUserInfo: UserInfo? = null // 确保使用你的实际数据类
+
 
     private val editProfileLauncher = registerForActivityResult(
         ActivityResultContracts.StartActivityForResult()
@@ -174,14 +177,25 @@
             startContentActivity("user_guide", "使用教程")
         }
 
-        // 头像点击
+        // 头像点击老的处理逻辑
+//        binding.layoutUserInfo.setOnClickListener {
+//            val intent = Intent(requireContext(), EditProfileActivity::class.java).apply {
+//                putExtra("nickname", binding.tvNickname.text.toString())
+//                putExtra("avatar_url", binding.ivAvatar.toString())
+//            }
+//            editProfileLauncher.launch(intent)
+//        }
+
         binding.layoutUserInfo.setOnClickListener {
-            val intent = Intent(requireContext(), EditProfileActivity::class.java).apply {
-                putExtra("nickname", binding.tvNickname.text.toString())
-                // 如果有当前头像的URL,也可以传递
-                // putExtra("avatar_url", currentAvatarUrl)
+            currentUserInfo?.let { user ->
+                val intent = Intent(requireContext(), EditProfileActivity::class.java).apply {
+                    putExtra("nickname", user.name) // 使用数据模型中的字段
+                    putExtra("avatar_url", user.cover) // 使用正确的URL字段
+                }
+                editProfileLauncher.launch(intent)
+            } ?: run {
+                Toast.makeText(context, "用户信息未加载完成", Toast.LENGTH_SHORT).show()
             }
-            editProfileLauncher.launch(intent)
         }
 
         // VIP续费
@@ -254,8 +268,10 @@
         try {
             val response = RetrofitClient.apiService.getUserInfo("17586582287")
             if (response.code == "0" && response.data != null) {
+                // 保存用户信息
+                currentUserInfo = response.data
                 val userInfo = response.data
-                
+
                 // 设置头像
                 Glide.with(this)
                     .load(userInfo.cover)
@@ -268,6 +284,7 @@
                 
                 // 设置VIP信息
                 if (userInfo.showed) {
+                    binding.ivVip.visibility = View.VISIBLE
                     binding.cardVip.visibility = View.VISIBLE
                     binding.tvVipExpire.text = "${userInfo.passTime} 到期"
                 } else {
diff --git a/app/src/main/java/com/example/firstapp/ui/profile/EditProfileActivity.kt b/app/src/main/java/com/example/firstapp/ui/profile/EditProfileActivity.kt
index 761bc17..45d4c18 100644
--- a/app/src/main/java/com/example/firstapp/ui/profile/EditProfileActivity.kt
+++ b/app/src/main/java/com/example/firstapp/ui/profile/EditProfileActivity.kt
@@ -15,7 +15,6 @@
 import androidx.core.app.ActivityCompat
 import androidx.core.content.ContextCompat
 import com.bumptech.glide.Glide
-import com.example.firstapp.R
 import com.example.firstapp.databinding.ActivityEditProfileBinding
 
 class EditProfileActivity : AppCompatActivity() {
diff --git a/app/src/main/res/drawable/me_vip.xml b/app/src/main/res/drawable/me_vip.xml
new file mode 100644
index 0000000..f5a3398
--- /dev/null
+++ b/app/src/main/res/drawable/me_vip.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="128dp"
+    android:height="128dp"
+    android:viewportWidth="1024"
+    android:viewportHeight="1024">
+  <path
+      android:pathData="M511,831.7c-23.5,0 -45.5,-9.9 -61.6,-27.2L139,468.1c-28.7,-31.3 -29.8,-79.4 -1.6,-111.8l117.6,-135.3c15.7,-18.3 38.7,-28.7 63.2,-28.7H705.3c24,0 47,10.4 62.7,28.7l118.1,135.3c28.2,32.4 27.7,80.5 -1.6,111.8L572.1,804.6c-15.7,17.2 -38.1,27.2 -61.1,27.2z"
+      android:fillColor="#F2CB51"/>
+  <path
+      android:pathData="M506.8,642.6c-5.2,0 -11,-2.1 -15.2,-6.3l-203.8,-209c-7.8,-8.4 -7.8,-21.4 0.5,-29.8 8.4,-7.8 21.4,-7.8 29.8,0.5l189.1,193.8 199.1,-194.4c8.4,-7.8 21.4,-7.8 29.8,0.5 7.8,8.4 7.8,21.4 -0.5,29.8l-214.2,209c-4.2,3.7 -9.4,5.7 -14.6,5.7z"
+      android:fillColor="#FFF7E1"/>
+</vector>
diff --git a/app/src/main/res/layout/fragment_notifications.xml b/app/src/main/res/layout/fragment_notifications.xml
index a6a983e..7a1cb46 100644
--- a/app/src/main/res/layout/fragment_notifications.xml
+++ b/app/src/main/res/layout/fragment_notifications.xml
@@ -33,6 +33,16 @@
                 android:scaleType="centerCrop"
                 app:shapeAppearanceOverlay="@style/CircleImageView" />
 
+            <ImageView
+                android:id="@+id/iv_vip"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_alignBottom="@id/tv_nickname"
+                android:layout_marginStart="8dp"
+                android:layout_toEndOf="@id/tv_nickname"
+                android:contentDescription="VIP标识"
+                android:src="@drawable/me_vip" />
+
             <TextView
                 android:id="@+id/tv_nickname"
                 android:layout_width="wrap_content"

--
Gitblit v1.9.3