|  |  |  | 
|---|
|  |  |  | 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.activity.ContentDetailActivity | 
|---|
|  |  |  | 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() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return binding.root | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | override fun onResume() { | 
|---|
|  |  |  | super.onResume() | 
|---|
|  |  |  | // 加载用户信息 | 
|---|
|  |  |  | lifecycleScope.launch { | 
|---|
|  |  |  | loadUserInfo() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private suspend fun loadConfigurations() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | // 获取小红书链接 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private fun setupClickListeners() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 设置提醒 | 
|---|
|  |  |  | binding.layoutReminder.setOnClickListener { | 
|---|
|  |  |  | findNavController().navigate(R.id.action_navigation_notifications_to_reminderSettingsFragment) | 
|---|
|  |  |  | Toast.makeText(context, "设置功能开发中", Toast.LENGTH_SHORT).show() | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 待办 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 好友邀请 | 
|---|
|  |  |  | binding.layoutInvite.setOnClickListener { | 
|---|
|  |  |  | shareToWechat() | 
|---|
|  |  |  | // 跳转到邀请活动页面 | 
|---|
|  |  |  | val intent = Intent(requireActivity(), InvitationActivity::class.java) | 
|---|
|  |  |  | startActivity(intent) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // AI助手 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 隐私协议 | 
|---|
|  |  |  | binding.layoutPrivacy.setOnClickListener { | 
|---|
|  |  |  | startContentActivity("privacy_policy", "隐私协议") | 
|---|
|  |  |  | startContentActivity("隐私协议", "隐私协议") | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 使用教程 | 
|---|
|  |  |  | binding.layoutTutorial.setOnClickListener { | 
|---|
|  |  |  | startContentActivity("user_guide", "使用教程") | 
|---|
|  |  |  | startContentActivity("使用教程", "使用教程") | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 头像点击老的处理逻辑 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // VIP续费 | 
|---|
|  |  |  | binding.btnRenew.setOnClickListener { | 
|---|
|  |  |  | Toast.makeText(context, "VIP续费功能开发中", Toast.LENGTH_SHORT).show() | 
|---|
|  |  |  | //            Toast.makeText(context, "VIP续费功能开发中", Toast.LENGTH_SHORT).show() | 
|---|
|  |  |  | // 跳转到vipActivity | 
|---|
|  |  |  | val intent = Intent(requireContext(), VipActivity::class.java) | 
|---|
|  |  |  | startActivity(intent) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | binding.cardVip.setOnClickListener { | 
|---|
|  |  |  | //            Toast.makeText(context, "VIP续费功能开发中", Toast.LENGTH_SHORT).show() | 
|---|
|  |  |  | // 跳转到vipActivity | 
|---|
|  |  |  | val intent = Intent(requireContext(), VipActivity::class.java) | 
|---|
|  |  |  | startActivity(intent) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 设置按钮点击 | 
|---|
|  |  |  | binding.ivSetting.setOnClickListener { | 
|---|
|  |  |  | // 跳转到 | 
|---|
|  |  |  | val intent = Intent(requireContext(), SettingActivity::class.java) | 
|---|
|  |  |  | startActivity(intent) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private fun showEmailDialog() { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { | 
|---|
|  |  |  | super.onViewCreated(view, savedInstanceState) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 加载用户信息 | 
|---|
|  |  |  | lifecycleScope.launch { | 
|---|
|  |  |  | loadUserInfo() | 
|---|