diff --git a/mpuniapp/pages/common/login.uvue b/mpuniapp/pages/common/login.uvue
index e4fe19d..a874580 100644
--- a/mpuniapp/pages/common/login.uvue
+++ b/mpuniapp/pages/common/login.uvue
@@ -389,7 +389,8 @@ onUnmounted(() => {
align-items: center;
box-sizing: border-box;
padding-inline: var(--oc-space-16, 16px);
- padding-block: 16px 36px;
+ padding-top: 16px;
+ padding-bottom: calc(36px + env(safe-area-inset-bottom, 0px));
overflow-x: hidden;
}
diff --git a/mpuniapp/pages/owner/leads.uvue b/mpuniapp/pages/owner/leads.uvue
index 7e17b99..bc15085 100644
--- a/mpuniapp/pages/owner/leads.uvue
+++ b/mpuniapp/pages/owner/leads.uvue
@@ -522,8 +522,8 @@ onShow(() => {
}
.primary-cta-btn {
- height: 38px;
- min-height: 38px;
+ height: 44px;
+ min-height: 44px;
padding-inline: 16px;
border-width: 0;
border-radius: var(--oc-radius-btn, 14px);
@@ -657,7 +657,8 @@ onShow(() => {
.leads-list {
flex: 1;
padding-inline: var(--oc-space-16, 16px);
- padding-block: var(--oc-space-8, 8px);
+ padding-top: var(--oc-space-8, 8px);
+ padding-bottom: calc(var(--oc-space-8, 8px) + var(--window-bottom, 0px) + env(safe-area-inset-bottom, 0px));
}
/* High-Density Lead Row (76px Height, Fast Scan for Sales) */
diff --git a/mpuniapp/pages/owner/workplace/index.uvue b/mpuniapp/pages/owner/workplace/index.uvue
index 3cb04e7..d738dc0 100644
--- a/mpuniapp/pages/owner/workplace/index.uvue
+++ b/mpuniapp/pages/owner/workplace/index.uvue
@@ -501,8 +501,9 @@ onMounted(() => {
}
.copy-link-btn {
- height: 36px;
- padding: 0 12px;
+ height: 44px;
+ min-height: 44px;
+ padding: 0 14px;
border-radius: 8px;
background-color: var(--bg, #F5F8FC);
border: 1px solid var(--border, #E3E7ED);
@@ -666,8 +667,9 @@ onMounted(() => {
}
.pulse-action-btn {
- height: 36px;
- padding: 0 14px;
+ height: 44px;
+ min-height: 44px;
+ padding: 0 16px;
border-radius: 8px;
background-color: var(--primary, #0B5CFF);
display: flex;
diff --git a/mpuniapp/pages/portal/exchange.uvue b/mpuniapp/pages/portal/exchange.uvue
index 653da1d..09b4b31 100644
--- a/mpuniapp/pages/portal/exchange.uvue
+++ b/mpuniapp/pages/portal/exchange.uvue
@@ -35,7 +35,7 @@
- ✓
+
{{ t('successTitle') }}
{{ t('successDesc') }}
@@ -90,7 +90,9 @@
:aria-label="ocrCtaLabel"
@click="handleOcrScan"
>
- 📷
+
+
+
{{ ocrCtaLabel }}
@@ -222,7 +224,9 @@
- 🛡
+
+
+
{{ t('privacyTitle') }}
@@ -637,10 +641,31 @@ onLoad((options: ExchangePageOptions) => {
border-radius: 36px;
}
-.success-icon-check {
- font-size: 28px;
- font-weight: 700;
- color: var(--oc-success, #12B76A);
+.success-icon-tick {
+ width: 14px;
+ height: 24px;
+ border-right: 3px solid var(--oc-success, #12B76A);
+ border-bottom: 3px solid var(--oc-success, #12B76A);
+ transform: rotate(45deg);
+ margin-bottom: 6px;
+}
+
+.ocr-camera-icon {
+ width: 18px;
+ height: 14px;
+ border: 1.5px solid var(--oc-text, #101828);
+ border-radius: 3px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 6px;
+}
+
+.ocr-camera-lens {
+ width: 6px;
+ height: 6px;
+ border: 1.5px solid var(--oc-text, #101828);
+ border-radius: 9999px;
}
.success-title {
@@ -1062,8 +1087,22 @@ onLoad((options: ExchangePageOptions) => {
padding-block-start: 1px;
}
-.privacy-shield-icon {
- font-size: 18px;
+.privacy-shield-badge {
+ width: 18px;
+ height: 18px;
+ border-radius: 5px;
+ background-color: var(--oc-primary-soft, #EBF5FF);
+ border: 1px solid var(--oc-primary, #0088FF);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.shield-core-dot {
+ width: 6px;
+ height: 6px;
+ border-radius: 9999px;
+ background-color: var(--oc-primary, #0088FF);
}
.privacy-text-wrap {
diff --git a/mpuniapp/tests/ui-ux-mobile-pages.test.ts b/mpuniapp/tests/ui-ux-mobile-pages.test.ts
index 802b3f7..73ee5c7 100644
--- a/mpuniapp/tests/ui-ux-mobile-pages.test.ts
+++ b/mpuniapp/tests/ui-ux-mobile-pages.test.ts
@@ -7,6 +7,7 @@ const MP_ROOT = path.resolve('m:/2026项目/CRMmp/mpuniapp');
// 18 个全量页面路由列表
const ALL_PAGES = [
+ 'pages/owner/workplace/index.uvue',
'pages/portal/index.uvue',
'pages/portal/exchange.uvue',
'pages/portal/case-detail.uvue',
@@ -36,10 +37,11 @@ const ALL_COMPONENTS = [
'components/image-uploader/image-uploader.uvue',
];
-// 4 个 TabBar 页面
+// 5 个 TabBar 页面
const TABBAR_PAGES = [
- 'pages/owner/hall/index.uvue',
+ 'pages/owner/workplace/index.uvue',
'pages/owner/card/index.uvue',
+ 'pages/owner/radar.uvue',
'pages/owner/leads.uvue',
'pages/owner/profile/index.uvue',
];
@@ -49,8 +51,6 @@ const FORM_PAGES = [
'pages/portal/exchange.uvue',
'pages/common/login.uvue',
'pages/owner/card/edit.uvue',
- 'pages/owner/card/cases.uvue',
- 'pages/owner/card/articles.uvue',
'pages/owner/leads-detail.uvue',
'pages/owner/nfc/scan.uvue',
'pages/owner/nfc/mode.uvue',