From 93775e1f3d79a1e11b839abbf24201dafcd9e646 Mon Sep 17 00:00:00 2001 From: tj <1378534974@qq.com> Date: 星期五, 25 四月 2025 13:45:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt | 101 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 84 insertions(+), 17 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 ea75a47..09aa22a 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 @@ -15,19 +15,28 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment +import androidx.lifecycle.Observer import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.example.firstapp.R import com.example.firstapp.activity.ContentDetailActivity +import com.example.firstapp.activity.ReminderSettingsActivity import com.example.firstapp.database.service.RetrofitClient import com.example.firstapp.databinding.FragmentNotificationsBinding +import com.example.firstapp.pay.PayAbility import com.example.firstapp.ui.reminderOther.ReminderOtherAddActivity2 import com.example.firstapp.ui.reminderOther.ReminderSettingsFragmentOther import com.example.firstapp.ui.profile.EditProfileActivity +import com.example.firstapp.utils.Log +import com.google.android.material.snackbar.Snackbar import kotlinx.coroutines.launch import com.bumptech.glide.Glide +import com.example.firstapp.activity.SettingActivity +import com.example.firstapp.activity.VipActivity import com.example.firstapp.database.response.UserInfo +import com.example.firstapp.ui.invitation.InvitationActivity +import com.example.firstapp.utils.PreferencesManager class NotificationsFragment : Fragment() { @@ -38,9 +47,9 @@ private val binding get() = _binding!! // 默认值 - private val DEFAULT_XIAOHONGSHU_URL = "https://www.xiaohongshu.com/user/profile/64978d5c000000001001ee26" - private val DEFAULT_EMAIL = "support@example.com" - private val DEFAULT_SHARE_TEXT = "推荐一个很棒的应用给你!\n下载地址:https://oia.xiaohongshu.com/oia" + private val DEFAULT_XIAOHONGSHU_URL = "https://www.xiaohongshu.com/user/profile/5812f5507fc5b818ce813383" + private val DEFAULT_EMAIL = "yuy@cloudroam.com.cn" + private val DEFAULT_SHARE_TEXT = "推荐一个很棒的应用给你!\n下载地址:http://14.103.144.28:8888/" // 存储从接口获取的值 private var xiaohongshuUrl = "" @@ -90,6 +99,14 @@ return binding.root } + override fun onResume() { + super.onResume() + // 加载用户信息 + lifecycleScope.launch { + loadUserInfo() + } + } + private suspend fun loadConfigurations() { try { // 获取小红书链接 @@ -124,9 +141,25 @@ } private fun setupClickListeners() { + // 设置提醒 binding.layoutReminder.setOnClickListener { - findNavController().navigate(R.id.action_navigation_notifications_to_reminderSettingsFragment) + // 判断是否是会员 + currentUserInfo?.let { user -> + if (user.isMember) { + // 是会员,跳转到提醒设置页面 + val intent = Intent(requireContext(), ReminderSettingsActivity::class.java) + startActivity(intent) + } else { + // 不是会员,跳转到VIP页面 + val intent = Intent(requireContext(), VipActivity::class.java) + intent.putExtra("source", "reminder") + startActivity(intent) + Toast.makeText(context, "开通会员后可使用提醒功能", Toast.LENGTH_SHORT).show() + } + } ?: run { + Toast.makeText(context, "正在加载用户信息,请稍后再试", Toast.LENGTH_SHORT).show() + } } // 待办 @@ -137,7 +170,9 @@ // 好友邀请 binding.layoutInvite.setOnClickListener { - shareToWechat() + // 跳转到邀请活动页面 + val intent = Intent(requireActivity(), InvitationActivity::class.java) + startActivity(intent) } // AI助手 @@ -170,12 +205,12 @@ // 隐私协议 binding.layoutPrivacy.setOnClickListener { - startContentActivity("privacy_policy", "隐私协议") + startContentActivity("隐私协议", "隐私协议") } // 使用教程 binding.layoutTutorial.setOnClickListener { - startContentActivity("user_guide", "使用教程") + startContentActivity("使用教程", "使用教程") } // 头像点击老的处理逻辑 @@ -193,8 +228,30 @@ // VIP续费 binding.btnRenew.setOnClickListener { - Toast.makeText(context, "VIP续费功能开发中", Toast.LENGTH_SHORT).show() +// Toast.makeText(context, "VIP续费功能开发中", Toast.LENGTH_SHORT).show() + // 跳转到vipActivity + //2025-04-24 取消续费跳转操作 +// val intent = Intent(requireContext(), VipActivity::class.java) +// startActivity(intent) + Toast.makeText(context, "免费体验,无需续费", Toast.LENGTH_SHORT).show() } + + binding.cardVip.setOnClickListener { +// Toast.makeText(context, "VIP续费功能开发中", Toast.LENGTH_SHORT).show() + // 跳转到vipActivity +// val intent = Intent(requireContext(), VipActivity::class.java) +// startActivity(intent) + Toast.makeText(context, "免费体验,无需续费", Toast.LENGTH_SHORT).show() + } + + // 设置按钮点击 + binding.ivSetting.setOnClickListener { + // 跳转到 + val intent = Intent(requireContext(), SettingActivity::class.java) + startActivity(intent) + } + + } private fun showEmailDialog() { @@ -249,9 +306,9 @@ } } - private fun startContentActivity(type: String, title: String) { + private fun startContentActivity(id: String, title: String) { val intent = Intent(requireContext(), ContentDetailActivity::class.java).apply { - putExtra(ContentDetailActivity.EXTRA_CONTENT_TYPE, type) + putExtra(ContentDetailActivity.ID, id) putExtra(ContentDetailActivity.EXTRA_TITLE, title) } startActivity(intent) @@ -259,32 +316,42 @@ private suspend fun loadUserInfo() { try { - val response = RetrofitClient.apiService.getUserInfo("17586582287") + // 从本地获取保存的手机号 + val savedPhone = PreferencesManager.getPhone() + if (savedPhone.isNullOrEmpty()) { + Toast.makeText(context, "用户未登录", Toast.LENGTH_SHORT).show() + return + } + + val response = RetrofitClient.apiService.getUserInfo(savedPhone) if (response.code == "0" && response.data != null) { // 保存用户信息 currentUserInfo = response.data val userInfo = response.data + // 本地保存我的邀请码 + PreferencesManager.setInviteCode(userInfo.intervialcode); // 设置头像 Glide.with(this) .load(userInfo.cover) .placeholder(R.drawable.default_avatar) .into(binding.ivAvatar) - + // 设置昵称和账号 binding.tvNickname.text = userInfo.name binding.tvUserId.text = "个人账号:${userInfo.contactTel}" - + // 设置VIP信息 - if (userInfo.showed) { + if (userInfo.isMember) { binding.ivVip.visibility = View.VISIBLE binding.cardVip.visibility = View.VISIBLE - binding.tvVipExpire.text = "${userInfo.overTime} 到期" + binding.tvVipExpire.text = "${userInfo.memberOverDate} 到期" } else { //非会员信息 + binding.ivVip.visibility = View.GONE + binding.cardVip.visibility = View.VISIBLE binding.btnRenew.text = "立即开通" binding.linearVipContainer.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.gray)) - binding.cardVip.visibility = View.GONE } } } catch (e: Exception) { @@ -295,7 +362,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - + // 加载用户信息 lifecycleScope.launch { loadUserInfo() -- Gitblit v1.9.3