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