From 4648a3bee638e9a99d2d80b66f8833b261a2db91 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 25 九月 2025 22:39:24 +0800
Subject: [PATCH] feat:设计 app ui

---
 app/pages/login.vue |  178 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 145 insertions(+), 33 deletions(-)

diff --git a/app/pages/login.vue b/app/pages/login.vue
index 7f0e8c8..f440b1e 100644
--- a/app/pages/login.vue
+++ b/app/pages/login.vue
@@ -1,5 +1,5 @@
 <template>
-  <view class="normal-login-container">
+  <scroll-view class="normal-login-container" scroll-y="true">
     <view class="logo-content align-center justify-center flex">
       <image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
       </image>
@@ -14,15 +14,21 @@
         <view class="iconfont icon-password icon"></view>
         <input v-model="loginForm.password" type="password" class="input" placeholder="璇疯緭鍏ュ瘑鐮�" maxlength="20" />
       </view>
-      <view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled">
+      <view class="input-item flex align-center captcha-container" v-if="captchaEnabled">
         <view class="iconfont icon-code icon"></view>
         <input v-model="loginForm.code" type="number" class="input" placeholder="璇疯緭鍏ラ獙璇佺爜" maxlength="4" />
         <view class="login-code"> 
-          <image :src="codeUrl" @click="getCode" class="login-code-img"></image>
+          <image :src="codeUrl" @click="getCode" class="login-code-img" mode="aspectFit"></image>
         </view>
       </view>
       <view class="action-btn">
         <button @click="handleLogin" class="login-btn cu-btn block bg-blue lg round">鐧诲綍</button>
+      </view>
+      <view class="wechat-login" @click="handleWechatLogin">
+        <view class="wechat-btn">
+          <image class="wechat-icon" src="/static/icons/profile.png"></image>
+          <text class="wechat-text">寰俊涓�閿櫥褰�</text>
+        </view>
       </view>
       <view class="reg text-center" v-if="register">
         <text class="text-grey1">娌℃湁璐﹀彿锛�</text>
@@ -34,8 +40,7 @@
         <text @click="handlePrivacy" class="text-blue">銆婇殣绉佸崗璁��</text>
       </view>
     </view>
-     
-  </view>
+  </scroll-view>
 </template>
 
 <script>
@@ -98,6 +103,40 @@
           this.pwdLogin()
         }
       },
+      // 寰俊鐧诲綍鏂规硶
+      async handleWechatLogin() {
+        // #ifdef MP-WEIXIN
+        // 寰俊灏忕▼搴忕櫥褰�
+        uni.login({
+          provider: 'weixin',
+          success: (loginRes) => {
+            console.log('寰俊鐧诲綍鎴愬姛', loginRes);
+            // 鑾峰彇鐢ㄦ埛淇℃伅
+            uni.getUserInfo({
+              provider: 'weixin',
+              success: (infoRes) => {
+                console.log('鐢ㄦ埛淇℃伅鑾峰彇鎴愬姛', infoRes);
+                // 璺宠浆鍒板井淇$櫥褰曠‘璁ら〉闈�
+                this.$tab.navigateTo(`/pages/login/wechat?userInfo=${encodeURIComponent(JSON.stringify(infoRes.userInfo))}`);
+              },
+              fail: (error) => {
+                console.error('鑾峰彇鐢ㄦ埛淇℃伅澶辫触', error);
+                this.$modal.msgError("鑾峰彇寰俊鐢ㄦ埛淇℃伅澶辫触");
+              }
+            });
+          },
+          fail: (error) => {
+            console.error('寰俊鐧诲綍澶辫触', error);
+            this.$modal.msgError("寰俊鐧诲綍澶辫触");
+          }
+        });
+        // #endif
+        
+        // #ifndef MP-WEIXIN
+        // H5鎴栧叾浠栧钩鍙版彁绀�
+        this.$modal.msgError("璇峰湪寰俊瀹㈡埛绔腑浣跨敤寰俊鐧诲綍鍔熻兘");
+        // #endif
+      },
       // 瀵嗙爜鐧诲綍
       async pwdLogin() {
         this.$store.dispatch('Login', this.loginForm).then(() => {
@@ -127,6 +166,24 @@
 
   .normal-login-container {
     width: 100%;
+    min-height: 100vh;
+    // 闅愯棌婊氬姩鏉′絾淇濇寔婊氬姩鍔熻兘
+    ::-webkit-scrollbar {
+      display: none;
+      width: 0 !important;
+      height: 0 !important;
+      background: transparent;
+    }
+    
+    // Firefox婊氬姩鏉¢殣钘�
+    * {
+      scrollbar-width: none; /* Firefox */
+    }
+    
+    // IE/Edge婊氬姩鏉¢殣钘�
+    * {
+      -ms-overflow-style: none; /* IE 10+ */
+    }
 
     .logo-content {
       width: 100%;
@@ -158,45 +215,100 @@
         .icon {
           font-size: 38rpx;
           margin-left: 10px;
-          color: #999;
         }
 
         .input {
+          margin-left: 20rpx;
           width: 100%;
-          font-size: 14px;
-          line-height: 20px;
-          text-align: left;
-          padding-left: 15px;
+          height: 45px;
+          background: none;
+        }
+      }
+
+      .captcha-container {
+        width: 100%;
+        margin: 20px auto;
+        background-color: #f5f6f7;
+        height: 45px;
+        border-radius: 20px;
+        padding-right: 10rpx;
+        box-sizing: border-box;
+
+        .icon {
+          font-size: 38rpx;
+          margin-left: 10px;
         }
 
+        .input {
+          margin-left: 20rpx;
+          width: 60%;
+          height: 45px;
+          background: none;
+        }
+
+        .login-code {
+          width: 30%;
+          height: 45px;
+          margin-left: 10rpx;
+          border-left: 1px solid #e0e0e0;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+
+          .login-code-img {
+            max-width: 100%;
+            max-height: 45px;
+            object-fit: contain;
+            cursor: pointer;
+          }
+        }
       }
 
-      .login-btn {
-        margin-top: 40px;
-        height: 45px;
+      .action-btn {
+        margin: 40rpx 0;
+
+        .login-btn {
+          height: 90rpx;
+          font-size: 32rpx;
+        }
       }
-      
-      .reg {
-        margin-top: 15px;
+
+      .wechat-login {
+        margin: 20rpx 0;
+
+        .wechat-btn {
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          background-color: #07c160;
+          height: 90rpx;
+          border-radius: 20px;
+
+          .wechat-icon {
+            width: 40rpx;
+            height: 40rpx;
+            margin-right: 10rpx;
+          }
+
+          .wechat-text {
+            color: white;
+            font-size: 32rpx;
+          }
+        }
       }
-      
-      .xieyi {
-        color: #333;
-        margin-top: 20px;
-      }
-      
-      .login-code {
-        height: 38px;
-        float: right;
-      
-        .login-code-img {
-          height: 38px;
-          position: absolute;
-          margin-left: 10px;
-          width: 200rpx;
+
+      .reg, .xieyi {
+        margin: 20rpx 0;
+
+        .text-grey1 {
+          color: #888;
+        }
+
+        .text-blue {
+          margin: 0 10rpx;
+          color: #007AFF;
         }
       }
     }
   }
-
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.1