[AI Generated]: refactor(*): 重构用户初始化流程,接口化用户管理并支持增量下发设备

- 重构 configureDevice 步骤0:新增双条件控制(deviceInfo + codeSyncTime),确保连接完成且 mac 就绪后才进入下一步
- 重构 configureDevice_2:移除 userInfo 缓存读取,改为接口获取用户列表,支持动态渲染、删除用户
- 新增 configureDevice_2_addUser 组件:支持工号查询用户信息并添加到设备
- 优化用户下发逻辑:先通过 dataFetchUserID 获取设备端已有用户,仅下发新增用户
- 删除废弃页面 deviceInfo、userInfo

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
17792275749
2026-03-10 14:32:47 +08:00
co-authored by Claude Opus 4.6
parent 1e3f1934b1
commit e20638030b
27 changed files with 775 additions and 1646 deletions
@@ -33,111 +33,38 @@
</view>
<view class="section">
<view class="from">
<view>
<view>姓名</view>
<block wx:if="{{userId}}">
<view class="valueClass">{{realname}}</view>
</block>
<block wx:else>
<view>
<view>
<input
type="text"
value="{{realname}}"
bindinput="realnameInput"
placeholder="请输入您的姓名"
class="valueClass"
placeholder-class="placeholderClass" />
</view>
</view>
</block>
</view>
<view>
<view>性别</view>
<block wx:if="{{userId}}">
<view class="valueClass">{{sex.data[sex.index].name}}</view>
</block>
<block wx:else>
<view class="~arrowAfter">
<view>
<picker mode="selector" bindchange="sexChange" value="{{sex.index}}" range="{{sex.data}}" range-key="name">
<block wx:if="{{sex.index === ''}}">
<view class="placeholderClass">请选择您的性别</view>
</block>
<block wx:else>
<view class="valueClass">{{sex.data[sex.index].name}}</view>
</block>
</picker>
</view>
</view>
</block>
</view>
<view>
<view>生日</view>
<block wx:if="{{userId}}">
<view class="valueClass">{{birthday.label}}</view>
</block>
<block wx:else>
<view class="~arrowAfter">
<view>
<picker mode="date" bindchange="birthdayChange" value="{{birthday.value}}">
<block wx:if="{{birthday.value === ''}}">
<view class="placeholderClass">请选择您的生日</view>
</block>
<block wx:else>
<view class="valueClass">{{birthday.label}}</view>
</block>
</picker>
</view>
</view>
</block>
</view>
<view>
<view>身高</view>
<block wx:if="{{userId}}">
<view class="valueClass">{{height.data[height.index]}}cm</view>
</block>
<block wx:else>
<view class="~arrowAfter">
<view>
<picker mode="selector" bindchange="heightChange" value="{{height.index}}" range="{{height.data}}">
<block wx:if="{{height.index === ''}}">
<view class="placeholderClass">请选择您的身高</view>
</block>
<block wx:else>
<view class="valueClass">{{height.data[height.index]}}</view>
</block>
</picker>
</view>
<view>cm</view>
</view>
</block>
</view>
<view>
<view>体重</view>
<block wx:if="{{userId}}">
<view class="valueClass">{{weight.data[0][weight.index[0]]}}.{{weight.data[1][weight.index[1]]}}kg</view>
</block>
<block wx:else>
<view class="~arrowAfter">
<view>
<picker mode="multiSelector" bindchange="weightChange" value="{{weight.index}}" range="{{weight.data}}">
<block wx:if="{{weight.index && weight.index.length && weight.index[0] !== null && weight.index[1] !== null}}">
<view class="valueClass">{{weight.data[0][weight.index[0]]}}.{{weight.data[1][weight.index[1]]}}</view>
</block>
<block wx:else>
<view class="placeholderClass">请选择您的体重</view>
</block>
</picker>
</view>
<view>kg</view>
</view>
</block>
</view>
<scroll-view class="~scrollView" scroll-y>
<view class="scrollViewContent">
<block wx:for="{{userList}}" wx:key="userId">
<view class="userList">
<view class="userAvatar"></view>
<view class="userInfo">
<view class="userInfo_1">
<view>{{item.realname}}</view>
<view class="{{item.sex === 1 ? 'man' : 'woman'}}">
<view></view>
<view>{{item.age}}</view>
</view>
</view>
<view class="userInfo_2">
<view>身高:{{item.height}}cm</view>
<view></view>
<view>体重:{{item.weight}}kg</view>
</view>
</view>
<view class="delUser" bind:tap="delUserClick" data-id="{{item.id}}">-</view>
</view>
</block>
</view>
</scroll-view>
</view>
<view class="btn">
<view bind:tap="addUser">添加用户</view>
<view bind:tap="setUserInfo">下一步</view>
</view>
<view class="describe">请认真填写和完善您家人的健康信息,用于计算身体数据及运动卡路里消耗等,以便准确的分析数据。<text>(填写数据同时,踩亮蓝牙秤并与其保持连接)。</text></view>
<view class="describe">
请认真填写和完善员工健康信息,用于计算身体数据及运动卡路里消耗等,以便准确的分析数据。<text>(填写数据同时,踩亮蓝牙称并与其保持连接)。</text></view>
</view>
</view>
</view>
<configureDevice_2_addUser id="configureDevice2AddUser" bind:returnDate="getAddUserInfo" />