Files
juzi/taobao/pages/camnative/camnative.axml
T
xsl 774376fa16 feat: 完善淘宝小程序拍照、报告与登录流程
接入本地实时识别和自动三连拍,调整报告裁切、商品跳转、分享标题及居中页眉;完善游客会话、后台渠道隔离、部署脚本与回归测试。
2026-11-04 15:07:51 +08:00

54 lines
3.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<view class="native-toolbar {{showAutoTest ? 'native-toolbar-auto' : ''}}" style="top:{{toolbarTop}}px;">
<view class="native-toolbar-version">普通相机 · {{probeVersion}}</view>
<button a:if="{{showAutoTest}}" class="native-auto-entry" onTap="onOpenAutoCapture" disabled="{{photoBusy}}">开始自动三连拍测试</button>
<view class="native-toolbar-actions">
<button class="native-copy" size="mini" type="primary" onTap="onCopyDiagnostics">复制诊断信息</button>
<button size="mini" onTap="onGenerateDiagnostics">生成可选文字</button>
</view>
</view>
<view class="native-test" style="padding-top:calc({{toolbarTop}}px + {{showAutoTest ? 256 : 172}}rpx);">
<view class="native-title">普通 camera · 独立诊断</view>
<view class="native-note">仅验证前后镜头、真实帧和手动拍照;不是正式三连拍替代。照片仅本页临时预览,不登录、不上传、不做检测。</view>
<view a:if="{{showAutoTest}}" class="native-note">上方“开始自动三连拍测试”将进入正式取景界面的本地验收,验证识别、转头提示、自动拍摄和压缩,不上传照片、不创建检测任务。</view>
<view class="native-card native-diagnostic">
<view class="native-status">{{copyStatus || '点击顶部按钮生成当前脱敏诊断'}}</view>
<view class="native-note">生成或复制时会刷新实时计数。请求镜头不代表实际镜头;内容不含照片路径、像素、人脸坐标、账号或原始错误文字。</view>
<text a:if="{{diagnosticText}}" class="native-diagnostic-text" selectable="{{true}}">{{diagnosticText}}</text>
<view a:else class="native-note">当前尚未生成。即使没有剪贴板 API,也可点击“生成可选文字”后长按文字选择复制。</view>
</view>
<view class="native-preview">
<camera a:if="{{cameraEnabled}}" id="native-camera-{{cameraSession}}" data-camera-session="{{cameraSession}}" class="native-camera"
mode="normal" device-position="{{devicePosition}}" frame-size="medium" flash="off"
onReady="onNativeReady" onError="onNativeError" onStop="onNativeStop" />
<view a:else class="native-empty">相机已卸载,可点重新打开</view>
</view>
<view class="native-actions">
<button size="mini" onTap="onFlip" disabled="{{photoBusy}}">切换到{{devicePosition === 'front' ? '后置' : '前置'}}</button>
<button size="mini" onTap="onRetryCamera" disabled="{{photoBusy}}">重新打开并监听</button>
<button size="mini" onTap="onStopFrames">停止帧监听</button>
<button size="mini" onTap="onTakePhoto" disabled="{{photoBusy || !cameraEnabled}}">{{photoBusy ? '拍照处理中' : '手动拍一张'}}</button>
</view>
<view class="native-card">
<view>请求镜头:{{devicePosition}} · 会话 {{cameraSession}}</view>
<view>{{cameraStatus}}</view>
<view>onReady 事件:{{nativeReady ? '收到' : '未收到'}}</view>
<view>{{contextStatus}}</view>
<view class="native-status">{{frameStatus}}</view>
<view>start:{{startStatus}}</view><view>stop:{{stopStatus}}</view>
<view>原始帧 {{frameCount}} · 回调 {{frameCallbacks}} · 非标准回调 {{invalidFrameCount}}</view>
<view a:if="{{firstFrameMs}}">首帧等待:{{firstFrameMs}}</view>
<view a:if="{{frameInfo}}" class="native-meta">{{frameInfo}}</view>
<view class="native-note">帧计数只检查正数尺寸和非空字节,不假定 RGBA,也不代表已经得到人脸关键点。</view>
</view>
<view class="native-card">
<view>{{photoStatus}}</view>
<block a:if="{{photoPath}}"><view>拍照时请求镜头:{{photoPosition}}</view>
<image class="native-photo" src="{{photoPath}}" mode="aspectFit" onError="onPreviewError" />
<button size="mini" onTap="onClearPhoto">清除本页预览</button>
</block>
</view>
<view class="native-card">
<button size="mini" onTap="onOpenARProbe" disabled="{{photoBusy}}">AR 相机对照(可选)</button>
</view>
</view>