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

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