左晓为主开发手持机充值管理机
zuoxiao
5 天以前 167eea1eeb0d02be0e4372ba787ddde11219de1e
feat(generallibrary): 新增写卡成功页面并优化开卡流程

- 新增 CardWriteSuccessActivity 用于展示写卡成功页面
- 在 NewCard2Activity 中移除开卡成功的 Toast 提示,改为跳转到写卡成功页面
- 修改 NfcWreatActivity 中的写卡成功逻辑,跳转到新的写卡成功页面
- 添加相关资源文件,包括 bg_button_primary.xml 和 icon_success.xml
3个文件已修改
3个文件已添加
80 ■■■■ 已修改文件
generallibrary/src/main/AndroidManifest.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/res/drawable/bg_button_primary.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/res/drawable/icon_success.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/AndroidManifest.xml
@@ -88,6 +88,8 @@
        <!-- 新增补卡Activity -->
        <activity android:name=".activity.CardReplaceActivity" />
        <!-- 写卡成功页面 -->
        <activity android:name=".activity.CardWriteSuccessActivity" />
        <meta-data
            android:name="BUGLY_APP_VERSION"
generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
New file
@@ -0,0 +1,37 @@
package com.dayu.general.activity
import android.content.Intent
import android.os.Bundle
import com.dayu.general.databinding.ActivityCardWriteSuccessBinding
/**
 * @author: zuo
 * @date: 2024/12/19
 * @description: 写卡成功页面
 */
class CardWriteSuccessActivity : BaseActivity() {
    private lateinit var binding: ActivityCardWriteSuccessBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityCardWriteSuccessBinding.inflate(layoutInflater)
        setContentView(binding.root)
        initView()
    }
    private fun initView() {
        // 设置点击确定按钮后关闭页面
        binding.btnConfirm.setOnClickListener {
            finish()
        }
        // 设置标题栏返回按钮
        binding.titleBar.setOnClickListener {
            finish()
        }
    }
}
generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt
@@ -356,16 +356,10 @@
                            try {
                                BaseDaoSingleton.getInstance(this@NewCard2Activity)
                                    .cardRegistrationDao().insert(cardRegistration)
                                Toast.makeText(
                                    this@NewCard2Activity,
                                    "开卡成功",
                                    Toast.LENGTH_SHORT
                                ).show()
                                setResult(RESULT_OK)
                                Intent(this@NewCard2Activity, NfcWreatActivity::class.java).apply {
                                    putExtra("cardType", USER_CARD_TYPE_1)
                                    putExtra("orderId", orderId)
                                    putExtra("orderNumber", orderId)
                                    putExtra("cardAddr", cardPhysicalId)
                                    var userCard = UserCard()
                                    userCard.areaNumber = response.content?.cardNum?.substring(0, 12).toString()
@@ -380,7 +374,6 @@
                                    userCard.rechargeDate = DateUtils.parseStringToCalendar(response.content?.time)
                                    putExtra("userCard", userCard)
                                    putExtra("operationTypeCode", CardOperationType.OpenCard.code)
                                    putExtra("orderNumber", response.content?.orderNo)
                                    putExtra("cardFee", cardFee)
                                    startActivityForResult(this, REQUEST_CODE_NFC_WRITE)
                                }
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
@@ -28,7 +28,6 @@
class NfcWreatActivity : BaseNfcActivity() {
    var binding: ActivityNfcWriteGeBinding? = null
    var cardType = ""
    var orderId = ""
    var cardAddr = ""
    var cardFee = 0
@@ -50,9 +49,9 @@
     */
    private fun getInitData() {
        cardType = intent?.getStringExtra("cardType") ?: ""
        orderId = intent?.getStringExtra("orderId") ?: ""
        cardAddr = intent?.getStringExtra("cardAddr") ?: ""
        operationTypeCode = intent?.getIntExtra("operationTypeCode", -1) ?: -1
        orderNumber = intent?.getStringExtra("orderNumber") ?: ""
        operationType = CardOperationType.fromCode(operationTypeCode)
        if (intent?.hasExtra("cardFee") == true) {
            cardFee = intent?.getIntExtra("cardFee", 0) ?: 0
@@ -170,7 +169,10 @@
                    runOnUiThread {
                        setResult(RESULT_OK)
                        finish()
                        ToastUtil.show("写卡成功")
                        Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply {
                            putExtra("cardNumber", cardNumber)
                            startActivity(this)
                        }
                    }
                }
            } catch (e: Exception) {
generallibrary/src/main/res/drawable/bg_button_primary.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#2196F3" />
    <corners android:radius="8dp" />
</shape>
generallibrary/src/main/res/drawable/icon_success.xml
New file
@@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="204.7dp"
    android:height="200dp"
    android:viewportWidth="1048"
    android:viewportHeight="1024">
  <path
      android:pathData="M188.1,163.7m97.5,0l512,0q97.5,0 97.5,97.5l0,512q0,97.5 -97.5,97.5l-512,0q-97.5,0 -97.5,-97.5l0,-512q0,-97.5 97.5,-97.5Z"
      android:fillColor="#F8D42B"/>
  <path
      android:pathData="M541.6,17.2m69,69l362,362q69,69 0,137.9l-362,362q-69,69 -137.9,0l-362,-362q-69,-69 0,-137.9l362,-362q69,-69 137.9,0Z"
      android:fillColor="#F8D42B"/>
  <path
      android:pathData="M811.9,364.2a36.6,36.6 0,0 1,0 51.7l-301.7,301.7a24.4,24.4 0,0 1,-34.5 0L303.3,545.2a36.6,36.6 0,1 1,51.7 -51.7l129.3,129.3a12.2,12.2 0,0 0,17.2 0l258.6,-258.6a36.6,36.6 0,0 1,51.7 0z"
      android:fillColor="#FFFFFF"/>
  <path
      android:pathData="M787.3,90.4L755.8,73.1l31.5,-17.2L804.6,24.4l17.2,31.5L853.3,73.1l-31.5,17.2L804.6,121.9zM942.2,215.9L926.5,207.2l15.8,-8.6L950.9,182.9l8.6,15.8L975.2,207.2l-15.8,8.6L950.9,231.6zM48,732.2L24.4,719.2l23.6,-12.9L61,682.7l12.9,23.6L97.5,719.2l-23.6,12.9L61,755.8z"
      android:fillColor="#F8D42B"/>
</vector>