Files
juzi/taobao/pages/report/report.axml
T
xsl 9eec4369da feat(taobao): add native mini program with shared backend
Preserve H5 flows while adding Taobao identity, native capture, reports and isolated local development. Fix canceled province selection and expired-session logout. Record passing local regressions, two pre-existing H5 assertion failures and pending platform validation.
2026-10-19 20:14:31 +08:00

54 lines
4.2 KiB
XML

<view class="report">
<view class="report-title">您的肌肤状态表现</view>
<view class="card card-summary">
<view class="sum-score"><view class="ring-box">
<canvas id="score-ring" width="120" height="120" class="ring-canvas" style="width:120px;height:120px;" />
<view class="ring-center"><view class="stat-value"><text class="stat-num">{{total != null ? total : '--'}}</text><text class="stat-unit">分</text></view><view class="stat-label">综合评分</view></view>
</view></view>
<view class="sum-age"><view class="stat-label">肌肤年龄</view><view class="stat-value"><text class="stat-num">{{skinAge != null ? skinAge : '--'}}</text><text class="stat-unit">岁</text></view><view class="age-pill" a:if="{{ageNote}}">{{ageNote}}</view></view>
</view>
<view class="card card-dims">
<view class="dims-row"><view class="dim {{item.rank}}" a:for="{{dims}}" a:key="key">
<view class="dim-name">{{item.name}}</view><view class="dim-score"><text class="dim-int">{{item.int}}</text><text class="dim-dec" a:if="{{item.dec}}">.{{item.dec}}</text></view>
<view class="dim-bar"><view class="dim-bar-fill" style="width:{{item.barWidth}}%;"></view></view><view class="dim-level">{{item.level}}</view>
<view class="dim-flag" a:if="{{item.rank === 'worst'}}">优先关注</view>
</view></view>
<view class="dims-note" a:if="{{focusName}}"><view>近期优先关注:{{focusName}}</view><view>{{focusSlogan}}</view></view>
</view>
<view class="card card-detail" a:if="{{views.length}}">
<scroll-view class="detail-tabs" scroll-x="{{true}}"><view class="detail-tabs-inner">
<view class="dtab {{index === viewIndex ? 'active' : ''}}" a:for="{{views}}" a:key="key" data-tab="{{index}}" onTap="onTabChange">{{item.name}}</view>
</view></scroll-view>
<block a:for="{{views}}" a:key="key">
<view class="ditem" a:if="{{index === viewIndex}}">
<view class="ditem-title">{{item.name}} <text class="detail-grade">{{item.score}} · {{item.level}}</text></view>
<view class="analysis-image" a:if="{{frontPhoto}}">
<image class="analysis-photo {{item.dim ? 'dark-photo' : ''}}" src="{{frontPhoto}}" mode="widthFix" data-index="{{index}}" onLoad="onPhotoLoad" />
<image class="analysis-layer" a:for="{{activeLayers}}" a:for-item="layer" a:key="*this" src="{{layer}}" mode="scaleToFill" style="opacity:{{item.alpha}};" />
<view class="mark-box" a:for="{{item.marks}}" a:for-item="mark" a:key="id" style="left:{{mark.left}}%;top:{{mark.top}}%;width:{{mark.width}}%;height:{{mark.height}}%;border-color:{{mark.color}};"></view>
</view>
<view class="side-views" a:if="{{item.key === 'wrinkles'}}">
<view class="side-view" a:for="{{sideViews}}" a:for-item="side" a:key="key">
<view>{{side.title}}</view><view class="analysis-image" a:if="{{side.photo}}">
<image class="analysis-photo dark-photo" src="{{side.photo}}" mode="widthFix" />
<image a:if="{{side.layer}}" class="analysis-layer" src="{{side.layer}}" mode="scaleToFill" />
<view class="side-loading" a:if="{{side.loading}}">标注生成中…</view>
</view><view class="side-note" a:if="{{side.note}}">{{side.note}}</view>
</view>
</view>
<view class="ditem-para">{{item.text}}</view>
</view>
</block>
</view>
<view class="report-disclaimer">您的肌肤状态会随年龄、环境、作息和生活节奏动态变化。本次检测仅供当前肌肤状态参考。</view>
<view class="card card-care"><view class="card-heading">护理建议</view>
<view class="care-item" a:for="{{careAdvice}}" a:key="key"><view class="care-name">{{item.name}}</view>{{item.text}}</view>
<view class="care-summary">好状态,是内外同调的长期节奏。</view>
</view>
<view class="card card-product" a:if="{{product}}"><view class="prod-card">
<view class="prod-info"><view class="prod-name">{{product.title}}</view><view class="prod-sub">{{product.name}}</view></view>
<image class="prod-img" src="{{product.image}}" mode="aspectFit" />
</view></view>
<button class="btn-primary btn-more" onTap="onHistory">查看历史报告</button>
</view>