小程序不支持开屏slogo播放,但是你可以自己做个view组件来实现,组件内可以播放视频或者gif动画图片作为引导页,还可以跳过引导页,具体步骤如下:
新建一个组件叫kaiping_component
kaiping_component.wxml
<view class="kaiping_box">kaiping_component.js
<image src="{{imagepath}}" mode="aspectFill"></image>
<view class="kaiping-header">
<view class="kaiping-btn" bindtap="skipAnimation">跳过 {{second}}s</view>
</view>
</view>
// component/kaiping_component.js
Component({
/**
* 组件的属性列表
*/
properties: {
imagepath: {
type: String
},
second: {
type: Number
}
},
/**
* 组件的初始数据
*/
data: {
timer: null
},
lifetimes: {
created: function () {
},
attached: function () {
let secondTime = this.data.second;
let that = this;
const timer = setInterval(function () {
let nowSecond = --that.data.second;
if (nowSecond <= 0) {
clearInterval(timer);
that.hideKaiping();
}
console.log(nowSecond);
that.setData({
second: nowSecond
});
}, 1000);
this.setData({
timer: timer
});
}
},
/**
* 组件的方法列表
*/
methods: {
hideKaiping: function () {
this.triggerEvent("hide");
},
skipAnimation: function () {
this.hideKaiping();
let timer = this.data.timer;
if (timer) {
clearInterval(timer);
}
}
}
})
kaiping_component.wxss
/* component/kaiping_component.wxss */kaiping_component.json
.kaiping_box {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 2;
}
.kaiping_box image {
width: 100%;
height: 100%;
}
.kaiping-header {
position: absolute;
top: 100rpx;
left: 5px;
width: 96%;
display: flex;
}
.kaiping-second, .kaiping-btn {
font-size: 12px;
color: white;
border: 1px solid white;
padding: 1px 6px;
border-radius: 10px;
}
{使用开屏组件示例
"component": true,
"usingComponents": {}
}
index.wxml
<view class="intro">原本的首页</view>index.json
<kaiping-component wx:if="{{kaipingFlag}}"
imagepath="/image/image.png"
second="{{10}}"
bind:hide="onMyEvent" ></kaiping-component>
{index.js
"usingComponents": {
"kaiping-component": "/component/kaiping_component"
},
"navigationStyle": "custom"
}
1
const app = getApp()
Page({
data: {
kaipingFlag: true
},
onLoad: function () {
wx.hideTabBar();
},
onMyEvent: function () {
console.log("close");
this.setData({
kaipingFlag: false
});
wx.showTabBar();
}
})
网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?