54 lines
3.9 KiB
XML
54 lines
3.9 KiB
XML
<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>
|