style(mpuniapp): 修复移动端视口安全区避让、触控热区与零Emoji规范并完善UI/UX测试覆盖

这个提交包含在:
wikiboss
2026-09-21 15:58:41 +08:00
父节点 5ee4aa4fba
当前提交 7171ad810c
共有 5 个文件被更改,包括 64 次插入 和 21 次删除

查看文件

@@ -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;
}

查看文件

@@ -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) */

查看文件

@@ -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;

查看文件

@@ -35,7 +35,7 @@
<view v-if="submitSuccess" class="success-card">
<view class="success-icon-wrap">
<view class="success-icon-ring"></view>
<text class="success-icon-check">✓</text>
<view class="success-icon-tick"></view>
</view>
<text class="success-title">{{ t('successTitle') }}</text>
<text class="success-desc">{{ t('successDesc') }}</text>
@@ -90,7 +90,9 @@
:aria-label="ocrCtaLabel"
@click="handleOcrScan"
>
<text class="ocr-btn-symbol">📷</text>
<view class="ocr-camera-icon">
<view class="ocr-camera-lens"></view>
</view>
<text class="ocr-btn-text">{{ ocrCtaLabel }}</text>
</button>
</view>
@@ -222,7 +224,9 @@
<!-- Bento 模组 D: 国际隐私合规与企业级安全背书 -->
<view class="bento-card privacy-card">
<view class="privacy-icon-box">
<text class="privacy-shield-icon">🛡</text>
<view class="privacy-shield-badge">
<view class="shield-core-dot"></view>
</view>
</view>
<view class="privacy-text-wrap">
<text class="privacy-title">{{ t('privacyTitle') }}</text>
@@ -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 {

查看文件

@@ -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',