Files
juzi/taobao/pages/profile/profile.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

92 lines
3.8 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.
<!-- ═════ 03 档案填写 ═════ -->
<view class="profile">
<image class="profile-bg" src="{{bgUrl}}" mode="aspectFill" />
<view class="profile-body">
<view class="page-title">您的肌肤状态</view>
<!-- 出生年月 + 性别(原生 picker 底部滚轮) -->
<view class="form-row">
<view class="field field-half">
<view class="field-label">您的出生年月</view>
<view onTap="onOpenBirth">
<view class="pick">
<text class="pick-value">{{birthText}}</text>
<text class="chev">⌄</text>
</view>
</view>
</view>
<view class="field field-half">
<view class="field-label">您的性别</view>
<picker mode="selector" range="{{genderRange}}" onChange="onGenderChange">
<view class="pick">
<text class="pick-value">{{genderText}}</text>
<text class="chev">⌄</text>
</view>
</picker>
</view>
</view>
<!-- 所在地区(省+市联动) -->
<view class="field">
<view class="field-label">您的所在地区</view>
<view onTap="onOpenRegion">
<view class="pick">
<text class="pick-value">{{regionText}}</text>
<text class="chev">⌄</text>
</view>
</view>
</view>
<!-- 日常肤质(轮播卡) -->
<view class="field">
<view class="field-label">您的日常肤质</view>
<view class="skin-card">
<view class="skin-axis">
<text class="axis-item"><text class="chip chip-dry"></text>偏干</text>
<text class="axis-item"><text class="chip chip-oily"></text>偏油</text>
<text class="axis-item"><text class="chip chip-balance"></text>水油平衡</text>
</view>
<view class="skin-stage">
<view class="skin-arrow" onTap="onSkinPrev">‹</view>
<swiper class="skin-swiper" current="{{skinIndex}}" onChange="onSkinChange" circular="{{false}}">
<swiper-item a:for="{{skins}}" a:key="name">
<view class="skin-item">
<image src="{{item.img}}" class="skin-img" mode="aspectFit" lazy-load />
<view class="skin-name">{{item.name}}</view>
<view class="skin-desc">{{item.desc}}</view>
</view>
</swiper-item>
</swiper>
<view class="skin-arrow" onTap="onSkinNext">›</view>
</view>
<view class="skin-dots">
<text a:for="{{skins}}" a:key="name" class="dot {{index === skinIndex ? 'on' : ''}}"></text>
</view>
</view>
</view>
<button class="btn-primary btn-submit" onTap="onSubmit">提交</button>
</view>
<!-- ═══ 弹窗:拍照引导 ═══ -->
<view class="overlay" a:if="{{showGuide}}" onTap="onCloseGuide">
<view class="popup" catchTap="noop">
<button class="popup-close" onTap="onCloseGuide">✕</button>
<view class="popup-title">
<text>请拍摄或上传</text>
<text>正面及左右侧面照片</text>
</view>
<button class="btn-primary popup-btn" onTap="onStartCamera">开始</button>
</view>
</view>
<view class="overlay" a:if="{{picker}}" onTap="onPickerClose">
<view class="picker-sheet" catchTap="noop">
<view class="picker-actions"><text onTap="onPickerClose">取消</text><text onTap="onPickerConfirm">确定</text></view>
<picker-view value="{{pickerValue}}" onChange="onPickerChange" class="native-picker">
<picker-view-column><view a:for="{{picker === 'birth' ? birthRange[0] : regionRange[0]}}" a:key="*this">{{item}}</view></picker-view-column>
<picker-view-column><view a:for="{{picker === 'birth' ? birthRange[1] : regionRange[1]}}" a:key="*this">{{item}}</view></picker-view-column>
</picker-view>
</view>
</view>
</view>