You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
5.9 KiB
171 lines
5.9 KiB
<view class="personal-center">
|
|
<!-- 用户信息区域 -->
|
|
<view class="user-section fade-in">
|
|
<view class="user-card">
|
|
<!-- 头像 -->
|
|
<button class="avatar-btn" open-type="chooseAvatar" bindchooseavatar="onChooseAvatar">
|
|
<image class="avatar" src="{{baseUrl + userInfo.user.avatar || '/pages/images/tx.png'}}" mode="aspectFill"></image>
|
|
<view class="avatar-edit-tip">点击修改</view>
|
|
</button>
|
|
|
|
<!-- 用户信息 -->
|
|
<view class="user-info">
|
|
<view class="nickname-section" bindtap="editNickname">
|
|
<text class="nickname">{{userInfo.user.nickName || '微信用户'}}</text>
|
|
<image src="/pages/images/bj.png"></image>
|
|
</view>
|
|
|
|
<view class="user-meta">
|
|
<view class="auth-tag {{userInfo.isVerified ? 'verified' : ''}}" bindtap="goToAuth">
|
|
<text>{{userInfo.authStatus ? '已认证' : '未认证'}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 消息通知 -->
|
|
<view class="section-card fade-in-delay-1">
|
|
<view class="section-header">
|
|
<text class="section-title">消息通知</text>
|
|
</view>
|
|
|
|
<view class="message-row">
|
|
<view class="message-item" bindtap="goToConsultation">
|
|
<view class="message-icon-wrapper">
|
|
<image class="message-icon" src="/pages/images/wz.png" mode=""></image>
|
|
</view>
|
|
<text class="message-label">问诊消息</text>
|
|
</view>
|
|
|
|
<view class="divider"></view>
|
|
|
|
<view class="message-item" bindtap="goToQA">
|
|
<view class="message-icon-wrapper">
|
|
<image class="message-icon" src="/pages/images/wdxx.png" mode=""></image>
|
|
</view>
|
|
<text class="message-label">问答消息</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 功能列表 -->
|
|
<view class="section-card fade-in-delay-2">
|
|
<view class="function-list">
|
|
<!-- 实名认证 -->
|
|
<view class="function-item" bindtap="goToAuth">
|
|
<view class="item-left">
|
|
<image class="item-icon" src="/pages/images/smrz.png"></image>
|
|
<text class="item-title">实名认证</text>
|
|
</view>
|
|
<view class="item-status {{userInfo.isVerified ? 'verified' : ''}}">
|
|
{{userInfo.authStatus ? '已认证' : '去认证'}}
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 反馈建议 -->
|
|
<view class="function-item" bindtap="showFeedback">
|
|
<view class="item-left">
|
|
<image class="item-icon" src="/pages/images/fkjy.png"></image>
|
|
<text class="item-title">反馈建议</text>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 退出登录 -->
|
|
<view class="function-item" bindtap="showLogoutConfirm">
|
|
<view class="item-left">
|
|
<image class="item-icon" src="/pages/images/logout.png"></image>
|
|
<text class="item-title logout-title">退出登录</text>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 反馈建议弹窗 -->
|
|
<view class="feedback-modal {{showFeedbackModal ? 'show' : ''}}">
|
|
<view class="modal-mask" bindtap="hideFeedback"></view>
|
|
<view class="modal-content">
|
|
<view class="modal-header">
|
|
<text class="modal-title">反馈建议</text>
|
|
<view class="modal-close" bindtap="hideFeedback">
|
|
<image src="/pagesA/images/ch.png"></image>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="modal-body">
|
|
<!-- 修复iOS输入框问题:添加focus控制并增加条件渲染 -->
|
|
<textarea
|
|
class="feedback-input"
|
|
placeholder="请输入您的反馈或建议..."
|
|
placeholder-class="placeholder"
|
|
value="{{feedbackContent}}"
|
|
bindinput="onFeedbackInput"
|
|
maxlength="200"
|
|
auto-height
|
|
focus="{{showFeedbackModal && textareaFocus}}"
|
|
disabled="{{!showFeedbackModal}}"
|
|
confirm-type="done"
|
|
show-confirm-bar="{{false}}"
|
|
></textarea>
|
|
<view class="char-count">
|
|
<text class="current">{{feedbackContent.length}}</text>
|
|
<text class="total">/200</text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="modal-footer">
|
|
<button class="submit-btn {{canSubmit ? 'active' : ''}}" bindtap="submitFeedback" disabled="{{!canSubmit}}">
|
|
{{isSubmitting ? '提交中...' : '提交'}}
|
|
</button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 修改昵称弹窗 -->
|
|
<view class="nickname-modal {{showNicknameModal ? 'show' : ''}}">
|
|
<view class="modal-mask" bindtap="hideNicknameModal"></view>
|
|
<view class="modal-content">
|
|
<view class="modal-header">
|
|
<text class="modal-title">修改昵称</text>
|
|
</view>
|
|
<view class="modal-body">
|
|
<input
|
|
class="nickname-input"
|
|
type="text"
|
|
placeholder="请输入昵称"
|
|
value="{{newNickname}}"
|
|
bindinput="onNicknameInput"
|
|
maxlength="10"
|
|
focus="{{showNicknameModal}}"
|
|
confirm-type="done"
|
|
/>
|
|
<text class="input-tip">最多10个字符</text>
|
|
</view>
|
|
<view class="modal-footer">
|
|
<button class="cancel-btn" bindtap="hideNicknameModal">取消</button>
|
|
<button class="confirm-btn" bindtap="saveNickname">确定</button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 退出登录确认弹窗 -->
|
|
<view class="logout-modal {{showLogoutModal ? 'show' : ''}}">
|
|
<view class="modal-mask" bindtap="hideLogoutModal"></view>
|
|
<view class="modal-content">
|
|
<view class="logout-modal-body">
|
|
<text class="logout-title">确认退出登录?</text>
|
|
<text class="logout-desc">退出后需要重新登录才能使用完整功能</text>
|
|
</view>
|
|
<view class="logout-modal-footer">
|
|
<button class="logout-cancel-btn" bindtap="hideLogoutModal">取消</button>
|
|
<button class="logout-confirm-btn" bindtap="doLogout">退出登录</button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 提示信息 -->
|
|
<view class="toast {{showToast ? 'show' : ''}}">
|
|
<text>{{toastText}}</text>
|
|
</view>
|
|
</view>
|