From e4f81b3dc90f4f33514d38d86804a12865f1f694 Mon Sep 17 00:00:00 2001 From: zzc <1761997216@qq.com> Date: Fri, 6 Feb 2026 10:15:11 +0800 Subject: [PATCH] fix: make content api --- components/LoginPopup/LoginPopup.vue | 266 ++++++++++++++++++++++----- static/images/default-avatar.png | Bin 0 -> 6719 bytes 2 files changed, 216 insertions(+), 50 deletions(-) create mode 100644 static/images/default-avatar.png diff --git a/components/LoginPopup/LoginPopup.vue b/components/LoginPopup/LoginPopup.vue index eaf851c..a20d0da 100644 --- a/components/LoginPopup/LoginPopup.vue +++ b/components/LoginPopup/LoginPopup.vue @@ -2,30 +2,79 @@ + - 登录授权 + 授权登录 + + + - + - - + + + 昵称 + + + + + + + + + + @@ -47,6 +96,7 @@ const popupRef = ref(null); const privacyRef = ref(null); const avatarUrl = ref(""); const nickname = ref(""); +const isAgreed = ref(false); const userStore = useUserStore(); @@ -97,10 +147,8 @@ const getFestivalName = () => { }; const open = async () => { - console.log(22223333); // #ifdef MP-WEIXIN const isAgreed = await privacyRef.value.check(); - console.log(1111, isAgreed); if (isAgreed) { popupRef.value.open(); } @@ -124,6 +172,10 @@ const onChooseAvatar = (e) => { }; const confirmLogin = async () => { + // if (!isAgreed.value) { + // uni.showToast({ title: "请先同意用户协议和隐私政策", icon: "none" }); + // return; + // } try { const platform = getPlatformProvider(); if (platform === "mp-weixin") { @@ -181,61 +233,175 @@ defineExpose({ open, close }); } .popup-container { background-color: #fff; - padding: 40rpx 30rpx 60rpx; - border-top-left-radius: 30rpx; - border-top-right-radius: 30rpx; + padding: 20rpx 40rpx 60rpx; + border-top-left-radius: 48rpx; + border-top-right-radius: 48rpx; + position: relative; + + .drag-handle { + width: 64rpx; + height: 8rpx; + background: #e5e5e5; + border-radius: 4rpx; + margin: 0 auto 30rpx; + } .popup-header { - text-align: center; - margin-bottom: 30rpx; + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 60rpx; + position: relative; .popup-title { font-size: 36rpx; - font-weight: bold; + font-weight: 600; + color: #1a1a1a; + } + + .close-btn { + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + padding: 10rpx; } } - .avatar-nickname { + .avatar-section { display: flex; - flex-direction: column; - align-items: center; - margin-bottom: 30rpx; + justify-content: center; + margin-bottom: 80rpx; .avatar-selector { - width: 145rpx; - height: 145rpx; + display: flex; + flex-direction: column; + align-items: center; + } + + .avatar-wrapper { + width: 200rpx; + height: 200rpx; + background: #f5f5f5; border-radius: 50%; + position: relative; + margin-bottom: 20rpx; + border: 4rpx solid #fff; + box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05); + + .avatar-preview { + width: 100%; + height: 100%; + border-radius: 50%; + } + + .camera-icon { + position: absolute; + right: 10rpx; + bottom: 10rpx; + width: 48rpx; + height: 48rpx; + background: #ff4d4f; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + border: 4rpx solid #fff; + } + } + + .upload-tip { font-size: 26rpx; + color: #999; + } + } + + .form-section { + margin-bottom: 80rpx; + + .input-group { + display: flex; + align-items: center; + padding: 30rpx 0; + border-bottom: 1rpx solid #f0f0f0; + + .label { + font-size: 30rpx; + color: #1a1a1a; + font-weight: 500; + width: 100rpx; + } + + .nickname-input { + flex: 1; + font-size: 30rpx; + color: #1a1a1a; + margin-left: 20rpx; + } + + .placeholder { + color: #ccc; + } + + .get-nickname-btn { + font-size: 26rpx; + color: #576b95; + font-weight: 500; + } + } + } + + .action-section { + .confirm-btn { + background: #ff4d4f; + color: #fff; + font-size: 34rpx; + font-weight: 600; + height: 100rpx; + border-radius: 50rpx; display: flex; align-items: center; justify-content: center; - margin-bottom: 20rpx; - background-color: #eee; + margin-bottom: 40rpx; + box-shadow: 0 12rpx 24rpx rgba(255, 77, 79, 0.3); + + &:active { + opacity: 0.8; + } } - .avatar-preview { - width: 100%; - height: 100%; - border-radius: 50%; - } + .agreement-row { + display: flex; + align-items: center; + justify-content: center; + padding-bottom: 20rpx; - .nickname-input { - width: 80%; - border: 1rpx solid #ccc; - border-radius: 20rpx; - padding: 20rpx; - font-size: 26rpx; - text-align: center; - } - } + .checkbox { + width: 32rpx; + height: 32rpx; + border: 2rpx solid #ccc; + border-radius: 50%; + margin-right: 16rpx; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; - .confirm-btn { - background-color: #07c160; - color: white; - font-size: 30rpx; - border-radius: 50rpx; - padding: 20rpx 0; - width: 100%; + &.checked { + background: #ff4d4f; + border-color: #ff4d4f; + } + } + + .agreement-text { + font-size: 24rpx; + color: #999; + + .link { + color: #576b95; + } + } + } } } diff --git a/static/images/default-avatar.png b/static/images/default-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..931ea3933d749e72024087e8d574f32767faa85d GIT binary patch literal 6719 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 ZHgLORHAm%3+ze|6*ju|;J+PoA{tp*1qE`R_ literal 0 HcmV?d00001