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

89 lines
3.3 KiB

  1. <view class="login-container">
  2. <!-- 顶部波浪背景 -->
  3. <view class="wave-background">
  4. <view class="wave wave-1"></view>
  5. <view class="wave wave-2"></view>
  6. <view class="wave wave-3"></view>
  7. </view>
  8. <!-- 装饰元素 -->
  9. <view class="decorations">
  10. <view class="cloud cloud-1"></view>
  11. <view class="cloud cloud-2"></view>
  12. <view class="cloud cloud-3"></view>
  13. <view class="grass grass-1"></view>
  14. <view class="grass grass-2"></view>
  15. <view class="grass grass-3"></view>
  16. <view class="sheep"></view>
  17. </view>
  18. <!-- 主要内容区域 -->
  19. <view class="main-content">
  20. <!-- Logo区域 -->
  21. <view class="logo-section">
  22. <view class="logo-container">
  23. <view class="logo-circle">
  24. <view class="logo-inner">
  25. <text class="logo-text">牧</text>
  26. </view>
  27. </view>
  28. </view>
  29. <text class="app-title">与牧同行</text>
  30. </view>
  31. <!-- 登录区域 -->
  32. <view class="login-section">
  33. <view class="welcome-text">
  34. <text class="welcome-main">欢迎回来</text>
  35. <text class="welcome-desc">请使用手机号快捷登录</text>
  36. </view>
  37. <!-- 手机号登录按钮 -->
  38. <button class="phone-login-btn" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" hover-class="phone-btn-hover">
  39. <view class="btn-inner">
  40. <image src="/pages/images/sjh.png" mode="" />
  41. <text class="btn-text">手机号快捷登录</text>
  42. </view>
  43. </button>
  44. <!-- 协议确认 -->
  45. <view class="agreement-section">
  46. <view class="agreement-checkbox {{isAgree ? 'checked' : ''}}" bindtap="toggleAgreement">
  47. <text class="checkmark" wx:if="{{isAgree}}">✓</text>
  48. </view>
  49. <view class="agreement-text">
  50. 我已阅读并同意
  51. <view class="link" bindtap="showAgreement">《用户协议》</view>
  52. <view class="link" bindtap="showPrivacy">《隐私政策》</view>
  53. </view>
  54. </view>
  55. </view>
  56. </view>
  57. <!-- 底部装饰 -->
  58. <view class="bottom-decor">
  59. <view class="bottom-wave"></view>
  60. </view>
  61. <!-- 协议弹窗 -->
  62. <view class="agreement-modal" wx:if="{{showAgreementModal}}">
  63. <view class="modal-mask" bindtap="hideModal"></view>
  64. <view class="modal-content">
  65. <view class="modal-header">
  66. <text class="modal-title">{{modalTitle}}</text>
  67. <view class="modal-close" bindtap="hideModal">×</view>
  68. </view>
  69. <scroll-view class="modal-body" scroll-y>
  70. <text class="modal-text">{{modalContent}}</text>
  71. </scroll-view>
  72. </view>
  73. </view>
  74. <!-- 加载提示 -->
  75. <view class="loading-mask" wx:if="{{isLoading}}">
  76. <view class="loading-content">
  77. <view class="loading-spinner"></view>
  78. <text class="loading-text">登录中...</text>
  79. </view>
  80. </view>
  81. </view>