diff --git a/src/components/DeviceOnlineEffects.vue b/src/components/DeviceOnlineEffects.vue new file mode 100644 index 0000000..a039ae5 --- /dev/null +++ b/src/components/DeviceOnlineEffects.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/src/pages/device/my-device.vue b/src/pages/device/my-device.vue index 2a4f61f..cbb50fe 100644 --- a/src/pages/device/my-device.vue +++ b/src/pages/device/my-device.vue @@ -2,6 +2,7 @@ import { computed, onMounted, onUnmounted, ref, watch } from "vue"; import { onLoad, onShow } from "@dcloudio/uni-app"; import Container from "@/components/Container.vue"; +import DeviceOnlineEffects from "@/components/DeviceOnlineEffects.vue"; import Header from "@/components/Header.vue"; import ScreenHint from "@/components/ScreenHint.vue"; import ModalDialog from "@/components/ModalDialog.vue"; @@ -510,10 +511,17 @@ onShow(async () => { src="../../static/home-device/device-platform.png" mode="widthFix" /> + @@ -948,7 +956,7 @@ onShow(async () => { transform: translateY(0); } 50% { - transform: translateY(-10rpx); + transform: translateY(-20rpx); } } @@ -956,6 +964,7 @@ onShow(async () => { position: absolute; top: 214rpx; left: 50%; + z-index: 1; width: 750rpx; transform: translateX(-50%); } @@ -964,10 +973,15 @@ onShow(async () => { position: absolute; top: 0; left: 50%; + z-index: 4; width: 562rpx; transform: translateX(-50%); } +.device-bow--online { + height: 466rpx; +} + .device-heading { position: relative; z-index: 2; diff --git a/src/pages/index.vue b/src/pages/index.vue index 9a3a965..b9e65c3 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -6,6 +6,7 @@ import AppFooter from "@/components/AppFooter.vue"; import UserHeader from "@/components/UserHeader.vue"; import Signin from "@/components/Signin.vue"; import BubbleTip from "@/components/BubbleTip.vue"; +import DeviceOnlineEffects from "@/components/DeviceOnlineEffects.vue"; import ModalDialog from "@/components/ModalDialog.vue"; import OtaModal from "@/components/OtaModal.vue"; @@ -60,6 +61,7 @@ const deviceCardAssets = { }, online: { bow: "../static/home-device/device-bow--online.png", + platform: "../static/home-device/device-platform-glow--online.png", background: "../static/home-device/device-card-bg--bound.png", actionBackground: "../static/home-device/device-action-bg--device.png", }, @@ -483,8 +485,28 @@ onShareTimeline(() => { mode="scaleToFill" /> + + + + + @@ -686,6 +708,8 @@ onShareTimeline(() => { } .device-visual-background, +.device-visual-platform-glow, +.device-visual-float-group, .device-visual-bow { display: flex; position: absolute; @@ -697,6 +721,26 @@ onShareTimeline(() => { left: 0; width: 100%; height: 100%; + z-index: 0; +} + +.device-visual-platform-glow { + left: 0; + bottom: 0; + z-index: 2; + width: 100%; + height: 100%; + transform-origin: center bottom; + animation: device-platform-glow 3.6s ease-in-out -1.1s infinite; +} + +.device-visual-float-group { + top: 0; + left: 0; + z-index: 5; + width: 100%; + height: 388rpx; + animation: device-bow-float 3s ease-in-out infinite; } .device-visual-bow { @@ -706,17 +750,27 @@ onShareTimeline(() => { height: 388rpx; } -.device-visual-bow--floating { - animation: device-bow-float 3s ease-in-out infinite; +.device-visual-bow--online { + z-index: 1; } @keyframes device-bow-float { 0%, 100% { - transform: translateY(0) rotate(-0.5deg); + transform: translateY(0); } 50% { - transform: translateY(-10rpx) rotate(0.5deg); + transform: translateY(-20rpx); + } +} + +@keyframes device-platform-glow { + 0%, + 100% { + opacity: 0.92; + } + 50% { + opacity: 1; } } @@ -730,7 +784,7 @@ onShareTimeline(() => { position: absolute; top: 10rpx; right: 14rpx; - z-index: 2; + z-index: 6; height: 34rpx; color: #ffffff; font-family: Inter-Regular, sans-serif; @@ -802,7 +856,7 @@ onShareTimeline(() => { position: absolute; bottom: 28rpx; left: 50%; - z-index: 2; + z-index: 6; width: 218rpx; height: 56rpx; justify-content: center; diff --git a/src/static/home-device/device-bow--online.png b/src/static/home-device/device-bow--online.png index 80109f5..867f7b6 100644 Binary files a/src/static/home-device/device-bow--online.png and b/src/static/home-device/device-bow--online.png differ diff --git a/src/static/home-device/device-card-bg--bound.png b/src/static/home-device/device-card-bg--bound.png index 1a8aa09..bb01319 100644 Binary files a/src/static/home-device/device-card-bg--bound.png and b/src/static/home-device/device-card-bg--bound.png differ diff --git a/src/static/home-device/device-platform-glow--online.png b/src/static/home-device/device-platform-glow--online.png new file mode 100644 index 0000000..bb01319 Binary files /dev/null and b/src/static/home-device/device-platform-glow--online.png differ diff --git a/src/static/home-device/device-platform.png b/src/static/home-device/device-platform.png index 1f177ac..6292bce 100644 Binary files a/src/static/home-device/device-platform.png and b/src/static/home-device/device-platform.png differ