与牧同行-小程序用户端
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.

148 lines
5.5 KiB

  1. <view class="personal-center">
  2. <!-- 用户信息区域 -->
  3. <view class="user-section fade-in">
  4. <view class="user-card">
  5. <!-- 头像 -->
  6. <button class="avatar-btn" open-type="chooseAvatar" bindchooseavatar="onChooseAvatar">
  7. <image class="avatar" src="{{baseUrl + userInfo.user.avatar || '/pages/images/tx.png'}}" mode="aspectFill"></image>
  8. <view class="avatar-edit-tip">点击修改</view>
  9. </button>
  10. <!-- 用户信息 -->
  11. <view class="user-info">
  12. <view class="nickname-section" bindtap="editNickname">
  13. <text class="nickname">{{userInfo.user.nickName || '微信用户'}}</text>
  14. <image src="/pages/images/bj.png"></image>
  15. </view>
  16. <view class="user-meta">
  17. <view class="auth-tag {{userInfo.isVerified ? 'verified' : ''}}" bindtap="goToAuth">
  18. <text>{{userInfo.authStatus ? '已认证' : '未认证'}}</text>
  19. </view>
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. <!-- 消息通知 -->
  25. <view class="section-card fade-in-delay-1">
  26. <view class="section-header">
  27. <text class="section-title">消息通知</text>
  28. </view>
  29. <view class="message-row">
  30. <view class="message-item" bindtap="goToConsultation">
  31. <view class="message-icon-wrapper">
  32. <image class="message-icon" src="/pages/images/wz.png" mode=""></image>
  33. </view>
  34. <text class="message-label">问诊消息</text>
  35. </view>
  36. <view class="divider"></view>
  37. <view class="message-item" bindtap="goToQA">
  38. <view class="message-icon-wrapper">
  39. <image class="message-icon" src="/pages/images/wdxx.png" mode=""></image>
  40. </view>
  41. <text class="message-label">问答消息</text>
  42. </view>
  43. </view>
  44. </view>
  45. <!-- 功能列表 -->
  46. <view class="section-card fade-in-delay-2">
  47. <view class="function-list">
  48. <!-- 实名认证 -->
  49. <view class="function-item" bindtap="goToAuth">
  50. <view class="item-left">
  51. <image class="item-icon" src="/pages/images/smrz.png"></image>
  52. <text class="item-title">实名认证</text>
  53. </view>
  54. <view class="item-status {{userInfo.isVerified ? 'verified' : ''}}">
  55. {{userInfo.authStatus ? '已认证' : '去认证'}}
  56. </view>
  57. </view>
  58. <!-- 反馈建议 -->
  59. <view class="function-item" bindtap="showFeedback">
  60. <view class="item-left">
  61. <image class="item-icon" src="/pages/images/fkjy.png"></image>
  62. <text class="item-title">反馈建议</text>
  63. </view>
  64. </view>
  65. <!-- 退出登录 -->
  66. <view class="function-item" bindtap="showLogoutConfirm">
  67. <view class="item-left">
  68. <image class="item-icon" src="/pages/images/logout.png"></image>
  69. <text class="item-title logout-title">退出登录</text>
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. <!-- 反馈建议弹窗 -->
  75. <view class="feedback-modal {{showFeedbackModal ? 'show' : ''}}">
  76. <view class="modal-mask" bindtap="hideFeedback"></view>
  77. <view class="modal-content">
  78. <view class="modal-header">
  79. <text class="modal-title">反馈建议</text>
  80. <view class="modal-close" bindtap="hideFeedback">
  81. <image src="/pagesA/images/ch.png"></image>
  82. </view>
  83. </view>
  84. <view class="modal-body">
  85. <textarea class="feedback-input" placeholder="请输入您的反馈或建议..." placeholder-class="placeholder" value="{{feedbackContent}}" bindinput="onFeedbackInput" maxlength="200" auto-height></textarea>
  86. <view class="char-count">
  87. <text class="current">{{feedbackContent.length}}</text>
  88. <text class="total">/200</text>
  89. </view>
  90. </view>
  91. <view class="modal-footer">
  92. <button class="submit-btn {{canSubmit ? 'active' : ''}}" bindtap="submitFeedback" disabled="{{!canSubmit}}">
  93. {{isSubmitting ? '提交中...' : '提交'}}
  94. </button>
  95. </view>
  96. </view>
  97. </view>
  98. <!-- 修改昵称弹窗 -->
  99. <view class="nickname-modal {{showNicknameModal ? 'show' : ''}}">
  100. <view class="modal-mask" bindtap="hideNicknameModal"></view>
  101. <view class="modal-content">
  102. <view class="modal-header">
  103. <text class="modal-title">修改昵称</text>
  104. </view>
  105. <view class="modal-body">
  106. <input class="nickname-input" type="text" placeholder="请输入昵称" value="{{newNickname}}" bindinput="onNicknameInput" maxlength="10" />
  107. <text class="input-tip">最多10个字符</text>
  108. </view>
  109. <view class="modal-footer">
  110. <button class="cancel-btn" bindtap="hideNicknameModal">取消</button>
  111. <button class="confirm-btn" bindtap="saveNickname">确定</button>
  112. </view>
  113. </view>
  114. </view>
  115. <!-- 退出登录确认弹窗 -->
  116. <view class="logout-modal {{showLogoutModal ? 'show' : ''}}">
  117. <view class="modal-mask" bindtap="hideLogoutModal"></view>
  118. <view class="modal-content">
  119. <view class="logout-modal-body">
  120. <text class="logout-title">确认退出登录?</text>
  121. <text class="logout-desc">退出后需要重新登录才能使用完整功能</text>
  122. </view>
  123. <view class="logout-modal-footer">
  124. <button class="logout-cancel-btn" bindtap="hideLogoutModal">取消</button>
  125. <button class="logout-confirm-btn" bindtap="doLogout">退出登录</button>
  126. </view>
  127. </view>
  128. </view>
  129. <!-- 提示信息 -->
  130. <view class="toast {{showToast ? 'show' : ''}}">
  131. <text>{{toastText}}</text>
  132. </view>
  133. </view>