feat(generallibrary): 新增写卡成功页面并优化开卡流程
- 新增 CardWriteSuccessActivity 用于展示写卡成功页面
- 在 NewCard2Activity 中移除开卡成功的 Toast 提示,改为跳转到写卡成功页面
- 修改 NfcWreatActivity 中的写卡成功逻辑,跳转到新的写卡成功页面
- 添加相关资源文件,包括 bg_button_primary.xml 和 icon_success.xml
| | |
| | | <!-- 新增补卡Activity --> |
| | | <activity android:name=".activity.CardReplaceActivity" /> |
| | | |
| | | <!-- 写卡成功页面 --> |
| | | <activity android:name=".activity.CardWriteSuccessActivity" /> |
| | | |
| | | <meta-data |
| | | android:name="BUGLY_APP_VERSION" |
New file |
| | |
| | | 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() |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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() |
| | |
| | | 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) |
| | | } |
| | |
| | | class NfcWreatActivity : BaseNfcActivity() { |
| | | var binding: ActivityNfcWriteGeBinding? = null |
| | | var cardType = "" |
| | | var orderId = "" |
| | | var cardAddr = "" |
| | | var cardFee = 0 |
| | | |
| | |
| | | */ |
| | | 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 |
| | |
| | | runOnUiThread { |
| | | setResult(RESULT_OK) |
| | | finish() |
| | | ToastUtil.show("写卡成功") |
| | | Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply { |
| | | putExtra("cardNumber", cardNumber) |
| | | startActivity(this) |
| | | } |
| | | } |
| | | } |
| | | } catch (e: Exception) { |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <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> |