feat: 同步管理端、用户端与后端业务,并接通线上 Web 接口
补齐平台订阅、外部登录、CRM 同步与用户端页面;Nginx 转发用户端接口,登录页使用 Google 与 Apple 标志。 Co-authored-by: Cursor <cursoragent@cursor.com>
这个提交包含在:
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<view class="i18n-selector-wrap" :class="{ 'is-rtl': isCurrentRtl }">
|
||||
<!-- 右上角常驻语言切换入口触发按钮 (触控区 >= 44x44) -->
|
||||
<!-- 访客端顶栏/右上角常驻入口:始终可见,不藏二级菜单 -->
|
||||
<view class="i18n-selector-wrap i18n-selector-persist" :class="{ 'is-rtl': isCurrentRtl }">
|
||||
<!-- 常驻语言切换触发按钮 (触控区 >= 44x44) -->
|
||||
<view
|
||||
class="i18n-trigger-btn"
|
||||
role="button"
|
||||
@@ -11,7 +12,7 @@
|
||||
<text class="i18n-trigger-arrow">▾</text>
|
||||
</view>
|
||||
|
||||
<!-- 语言切换浮层面板 (遮罩 + 弹出列表) -->
|
||||
<!-- 语言切换浮层面板 (遮罩 + 弹出列表,复用现有 languages / setAppLocale) -->
|
||||
<view v-if="visible" class="i18n-modal-mask" @click="closeModal">
|
||||
<view class="i18n-modal-container" @click.stop="">
|
||||
<!-- 弹窗头部 -->
|
||||
@@ -22,7 +23,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 7 大主流语种列表 (WCAG 2.2 AA 规范,单行 >= 44px) -->
|
||||
<!-- 7 大主流语种列表 (含中/英/阿;WCAG 2.2 AA,单行 >= 44px) -->
|
||||
<view class="i18n-list">
|
||||
<view
|
||||
v-for="item in languages"
|
||||
@@ -128,6 +129,14 @@ function selectLanguage(code: OmniLocale): void {
|
||||
.i18n-selector-wrap {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
position: relative;
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
.i18n-selector-persist {
|
||||
/* 顶栏常驻:防止被挤出可视区 */
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* 常驻右上角触发胶囊 (触控区 >= 44x44) */
|
||||
@@ -143,6 +152,7 @@ function selectLanguage(code: OmniLocale): void {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.i18n-trigger-badge {
|
||||
|
||||
在新工单中引用
屏蔽一个用户