diff --git a/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java b/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java
index ef4dbf8..9632b0d 100644
--- a/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java
+++ b/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java
@@ -1,6 +1,7 @@
package com.ouxuan.oxface;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
@@ -37,6 +38,7 @@ import com.baidu.idl.face.main.finance.utils.FaceOnDrawTexturViewUtil;
import com.baidu.idl.face.main.finance.utils.TestPopWindow;
import com.baidu.idl.main.facesdk.FaceInfo;
import com.baidu.idl.main.facesdk.model.BDFaceImageInstance;
+import com.ouxuan.oxface.data.DeviceSelectDataManager;
import com.ouxuan.oxface.utils.LogManager;
import java.util.List;
@@ -147,6 +149,13 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
private ImageView imgScanDoorQRCode;
private Button btnVerificationCode;
private Button btnScannerDoor;
+
+ // 新增店铺名称相关变量
+ private TextView tvStoreName;
+ private int storeNameClickCount = 0;
+ private long lastStoreNameClickTime = 0;
+ private static final int MAX_CLICK_COUNT = 5;
+ private static final long CLICK_INTERVAL = 1000; // 1秒内点击有效
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -205,9 +214,26 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
// mDrawDetectFaceView.setRotationY(0);
}
- // 返回
+ // 店铺名称显示
+ tvStoreName = findViewById(R.id.tv_store_name);
+ if (tvStoreName != null) {
+ // 设置点击事件监听器
+ tvStoreName.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ handleStoreNameClick();
+ }
+ });
+
+ // 获取并显示店铺名称
+ loadAndDisplayStoreName();
+ }
+
+ // 返回按钮(隐藏但仍保留引用)
ImageView mButReturn = findViewById(R.id.btn_back);
- mButReturn.setOnClickListener(this);
+ if (mButReturn != null) {
+ mButReturn.setOnClickListener(this);
+ }
// 初始化二维码区域控件
imgMiniProgramCode = findViewById(R.id.img_mini_program_code);
@@ -1121,4 +1147,75 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
}
}, 30000);
}
+
+ /**
+ * 获取并显示店铺名称
+ */
+ private void loadAndDisplayStoreName() {
+ try {
+ DeviceSelectDataManager deviceDataManager = DeviceSelectDataManager.getInstance(this);
+ String[] storeInfo = deviceDataManager.getStoreInfo();
+ String storeName = storeInfo[0]; // 第一个元素是店铺名称
+
+ if (storeName != null && !storeName.isEmpty()) {
+ tvStoreName.setText(storeName);
+ LogManager.logInfo(TAG, "成功显示店铺名称: " + storeName);
+ } else {
+ tvStoreName.setText("未获取到店铺名称");
+ LogManager.logWarning(TAG, "未获取到店铺名称");
+ }
+ } catch (Exception e) {
+ tvStoreName.setText("店铺名称获取失败");
+ LogManager.logError(TAG, "获取店铺名称失败", e);
+ }
+ }
+
+ /**
+ * 处理店铺名称点击事件
+ */
+ private void handleStoreNameClick() {
+ long currentTime = System.currentTimeMillis();
+
+ // 如果距离上次点击时间超过1秒,重置计数器
+ if (currentTime - lastStoreNameClickTime > CLICK_INTERVAL) {
+ storeNameClickCount = 0;
+ }
+
+ storeNameClickCount++;
+ lastStoreNameClickTime = currentTime;
+
+ LogManager.logDebug(TAG, "店铺名称被点击,当前计数: " + storeNameClickCount);
+
+ // 如果连续点击达到5次
+ if (storeNameClickCount >= MAX_CLICK_COUNT) {
+ LogManager.logInfo(TAG, "连续点击5次店铺名称,准备返回主界面");
+ Toast.makeText(this, "即将返回主界面", Toast.LENGTH_SHORT).show();
+
+ // 重置计数器
+ storeNameClickCount = 0;
+
+ // 延迟一段时间后返回主界面
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ returnToMainActivity();
+ }
+ }, 500); // 延迟0.5秒后返回
+ } else if (storeNameClickCount >= 3) {
+ // 当点击次数达到3次时,提示用户还需几次点击
+ int remainingClicks = MAX_CLICK_COUNT - storeNameClickCount;
+ Toast.makeText(this, "再点击" + remainingClicks + "次返回主界面", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ /**
+ * 返回主界面
+ */
+ private void returnToMainActivity() {
+ LogManager.logInfo(TAG, "返回主界面");
+ Intent intent = new Intent(this, MainActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
+ finish();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/rounded_button_background.xml b/app/src/main/res/drawable/rounded_button_background.xml
new file mode 100644
index 0000000..08b1576
--- /dev/null
+++ b/app/src/main/res/drawable/rounded_button_background.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/rounded_store_name_background.xml b/app/src/main/res/drawable/rounded_store_name_background.xml
new file mode 100644
index 0000000..e815116
--- /dev/null
+++ b/app/src/main/res/drawable/rounded_store_name_background.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_oxface_online.xml b/app/src/main/res/layout/activity_oxface_online.xml
index 2f2de56..211a221 100644
--- a/app/src/main/res/layout/activity_oxface_online.xml
+++ b/app/src/main/res/layout/activity_oxface_online.xml
@@ -183,7 +183,23 @@
android:id="@+id/finance_by_living_detection"
android:visibility="gone" />
-
+
+
+
+
+ android:visibility="gone" />
@@ -297,7 +313,7 @@
android:layout_width="wrap_content"
android:layout_height="28dp"
android:layout_marginBottom="10dp"
- android:background="#4CAF50"
+ android:background="@drawable/rounded_button_background"
android:minHeight="40dp"
android:text="验证码开门"
android:textColor="#FFFFFF"
@@ -307,7 +323,7 @@
android:id="@+id/btn_scanner_door"
android:layout_width="wrap_content"
android:layout_height="28dp"
- android:background="#2196F3"
+ android:background="@drawable/rounded_button_background"
android:minHeight="40dp"
android:text="扫码器开门"
android:textColor="#FFFFFF"
@@ -357,13 +373,13 @@