终极大招:网页、ios用视频,安卓用动图。

This commit is contained in:
zhcnyuyang 2025-05-18 19:35:18 +08:00
parent 810543f34d
commit 73be875641
6 changed files with 64 additions and 2 deletions

18
package-lock.json generated
View File

@ -11,6 +11,7 @@
"axios": "^1.6.8",
"bootstrap": "^5.3.3",
"bootstrap-icons": "latest",
"ismobilejs": "1.1.1",
"kdoffical": "file:",
"path": "latest",
"sass": "latest",
@ -1259,6 +1260,12 @@
"node": ">=0.12.0"
}
},
"node_modules/ismobilejs": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz",
"integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==",
"license": "MIT"
},
"node_modules/kdoffical": {
"resolved": "",
"link": true
@ -2240,6 +2247,11 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"optional": true
},
"ismobilejs": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz",
"integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw=="
},
"kdoffical": {
"version": "file:",
"requires": {
@ -2247,6 +2259,7 @@
"axios": "^1.6.8",
"bootstrap": "^5.3.3",
"bootstrap-icons": "latest",
"ismobilejs": "1.1.1",
"kdoffical": "file:",
"path": "latest",
"sass": "latest",
@ -2925,6 +2938,11 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"optional": true
},
"ismobilejs": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz",
"integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw=="
},
"magic-string": {
"version": "0.30.17",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",

View File

@ -15,7 +15,8 @@
"path": "latest",
"sass": "latest",
"vue": "^3.2.45",
"vue-router": "latest"
"vue-router": "latest",
"ismobilejs": "1.1.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.0.0",

View File

@ -210,6 +210,9 @@ export default {
width: 100%;
align-items: center;
justify-content: center;
transform: translateZ(3px); //
-webkit-transform: translateZ(3px); //
will-change: transform; // 使
@include media-breakpoint-between(xs, md) {
height:70px;
}

View File

@ -83,6 +83,9 @@ export default {
#mobilebarroot{
position: fixed;
z-index: 100;
transform: translateZ(3px); //
-webkit-transform: translateZ(3px); //
will-change: transform; //
@include media-breakpoint-between(xs, md) {
background-color: black;
display: flex;

View File

@ -12,4 +12,18 @@ const app = createApp(App)
axios.defaults.baseURL = 'https://cms.yangprivate.site'
// 全局挂载 axios所有组件都可以 this.$axios 访问
app.config.globalProperties.$axios = axios
// 安全地获取 User Agent 并进行检测
let mobileDetectResult;
if (typeof navigator !== 'undefined') {
// isMobile() 函数需要一个 user-agent 字符串作为参数
mobileDetectResult = isMobile(navigator.userAgent);
} else {
// 为服务器端渲染 (SSR) 或其他非浏览器环境提供回退
// isMobile('') 会返回一个所有检测标志都为 false 的对象
mobileDetectResult = isMobile('');
}
app.config.globalProperties.$isMobile = mobileDetectResult;
app.use(router).mount('#app')

View File

@ -38,12 +38,33 @@
width: 100%;
height: auto;
background-color: black;
position: relative
position: relative;
z-index: 0; // 明确设置父容器z-index
overflow: hidden; // 帮助创建新的堆叠上下文
}
.bannervideos{
width: 100%;
z-index: 0;
position: relative; // 确保创建堆叠上下文
transform: translateZ(0); // 创建新的渲染层
-webkit-transform: translateZ(0);
backface-visibility: hidden; // 帮助创建硬件加速层
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d; // 增强Android WebView渲染
// Android特定视频处理
-webkit-mask-image: -webkit-radial-gradient(white, black); // 帮助Android处理视频层
}
.videoimg{
width: 100%;
z-index: 0;
position: relative; // 确保创建堆叠上下文
transform: translateZ(0); // 创建新的渲染层
-webkit-transform: translateZ(0);
backface-visibility: hidden; // 帮助创建硬件加速层
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d; // 增强Android WebView渲染
}
.bannerovervideo{
@ -59,6 +80,8 @@
align-items: center;
justify-content: flex-start;
z-index: 2;
transform: translateZ(1px); // 强制高于视频层
-webkit-transform: translateZ(1px);
pointer-events: none;
}