zhujie
9 天以前 f980c833f832c42094cf78005aab5d0eb014c8ec
app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
@@ -21,6 +21,7 @@
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
@@ -31,9 +32,11 @@
import com.google.android.material.snackbar.Snackbar
import kotlinx.coroutines.launch
import com.bumptech.glide.Glide
import com.example.firstapp.MainActivity
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() {
@@ -96,6 +99,14 @@
        return binding.root
    }
    override fun onResume() {
        super.onResume()
        // 加载用户信息
        lifecycleScope.launch {
            loadUserInfo()
        }
    }
    private suspend fun loadConfigurations() {
        try {
            // 获取小红书链接
@@ -131,43 +142,24 @@
    private fun setupClickListeners() {
        // 支付插件
//        binding.payPlugin.setOnClickListener {
//            // 跳转到支付插件页面
//            lifecycleScope.launch {
//                try {
//                    val response = RetrofitClient.apiService.getPayOrderInfo()
//                    var orderInfo=response.data
//                    Log.d("AliPayHelper","获取订单信息时: ${response}")
//                    // 这里调用支付宝
//                    PayAbility.aliPay(requireActivity(), orderInfo, Observer {
//                        when (it.resultStatus) {
//                            "9000" -> {
////                                Snackbar.make(binding.root, "支付成功", Snackbar.LENGTH_LONG).show()
//                                requireActivity().runOnUiThread {
//                                    Toast.makeText(requireContext(), "支付成功", Toast.LENGTH_LONG).show()
//                                }
//                            }
//                            else -> {
////                                Snackbar.make(binding.root, "支付失败", Snackbar.LENGTH_LONG).show()
//                                requireActivity().runOnUiThread {
//                                    Toast.makeText(requireContext(), "支付失败", Toast.LENGTH_LONG).show()
//                                }
//
//                            }
//                        }
//                    })
//
//                } catch (e: Exception) {
//                    Log.d("AliPayHelper","获取订单信息时发生错误: ${e.message}")
//                }
//            }
//        }
        // 设置提醒
        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()
            }
        }
        // 待办
@@ -213,12 +205,12 @@
        // 隐私协议
        binding.layoutPrivacy.setOnClickListener {
            startContentActivity("privacy_policy", "隐私协议")
            startContentActivity("隐私协议", "隐私协议")
        }
        // 使用教程
        binding.layoutTutorial.setOnClickListener {
            startContentActivity("user_guide", "使用教程")
            startContentActivity("使用教程", "使用教程")
        }
        // 头像点击老的处理逻辑
@@ -236,8 +228,27 @@
        // 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() {
@@ -292,9 +303,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)
@@ -302,12 +313,21 @@
    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)
@@ -319,15 +339,16 @@
                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) {