小程序进阶学习(视频完结)(核心,重点)

首先上面是一个视频播放器

 

把视频的宽度设置为100%即可铺满全屏

然后视频的标题和作者

最后就是一个视频播放列表 ,设置一个固定位置开始滚动即可

还有一个问题没有解决,大家出出主意。

 

 在播放页面在点击一个新的视频去播放,点进去的新视频获取不到自身的id,就导致后面的数据无法显示。

页面代码

<!--pages/video-info/video-info.wxml--><view><video src="{{mvUrl}}" autoplay="true" class="video" danmu-list="{{danmuLists}}"referrer-policy="origin"></video>
</view><scroll-view  class="content" scroll-y>
<view class="container"><image class="image" mode="widthFix" src="{{mvInfos.cover}}"></image><view class="text-container"><text class="text">{{mvInfos.name}}-{{mvInfos.artistName}}</text></view>
</view><view class="videoList"> <block wx:for="{{videoLists}}" wx:key="{{item.id}}"><video-item class="item" itemData="{{item}}" bindtap="onClickItem" data-item="{{itemData.id}}" />      </block></view>
</scroll-view >
// pages/video-info/video-info.js
import {getMvUrlInfo,getMvInfos,getMvRelate,getTopMv} from "../../services/request/myvideorequest"
Page({/*** 页面的初始数据*/data: {id : 0,videoid:0,mvUrl:"",mvInfos:{},mvRelate:{},videoLists:[],offset:0,hasMore:true,danmuLists:[{ text:"好听",color:"#ff00000", time:5},{ text:"真好",color:"#ff00000", time:6},{ text:"完美",color:"#ff00000", time:7},]},/*** 生命周期函数--监听页面加载*/onLoad(options) {this.clearAllData()const id = options.idthis.getvideo()this.feachgetMvInfo(id)this.feachgetMvInfos(id)this.feachgetMvRelate(id)},async feachgetMvInfo(id){const res = await getMvUrlInfo(id)this.setData({mvUrl:res.data.url})},async feachgetMvInfos(id){const res = await getMvInfos(id)this.setData({mvInfos : res.data})console.log(res.data)},async feachgetMvRelate(id){const res = await getMvRelate(id)this.setData({mvRelate : res.data})console.log("更多信息:",res.data)},async getvideo(){const videolist = await getTopMv(this.data.offset)const newVideoList = [...this.data.videoLists,...videolist.data]this.setData({videoLists: newVideoList})this.data.offset+=10this.data.hasMore = videolist.hasMoreconsole.log("视频列表中的数据:",this.data.videoLists)},onClickItem(event){console.log(event)const videoid = event.currentTarget.dataset.itemconsole.log("要播放视频id",event.currentTarget.dataset.item)this.data.videoid = videoidwx.navigateTo({url: `/pages/video-info/video-info?id=${videoid}`,})console.log("完成跳转")},clearAllData(){this.data.id=0,this.data.videoid=0,this.data.mvUrl=""this.data.mvInfos={},this.data.mvRelate={},this.data.videoLists=[],this.data. offset=0,this.data.hasMore=true},onReachBottom() {this.getvideo()}
})
/* pages/video-info/video-info.wxss */
page{height: 100vh;
}
.video{width: 100%;
} 
/* pages/main-video/main-video.wxss */
.videoList{display: flex;flex-wrap: wrap;justify-content: space-around;padding:0 10rpx;
}
.item{width: 48%;
} 
.content {/* height: 325px; */height: calc(100% - 225px);
}/* 在wxss文件中 */
.container {display: flex;flex-direction: row;align-items: center; /* 垂直居中对齐 */margin-left: 18px;
}.image {width: 120px;height: 120px;margin-right: 20px;margin-top: 18px;margin-bottom: 24px;
}.text-container {flex: 1;  margin-right: 20px;
}.text {font-size: 18px;color: #333; }
{"usingComponents": {"video-item":"/components/video-items/video-item"},"enablePullDownRefresh": true
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决没有进入docker的权限问题

原因&#xff1a; 在Docker默认情况下只有root用户或者在docker组中的用户才有权限访问Docker服务 解决方法&#xff1a; su - root usermod -aG docker username参考链接&#xff1a;解决没有足够权限访问Docker守护进程的问题permission denied while trying to connect to …

C/C++ BM6判断链表中是否有环

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二2.1 思路阐述2.2 源码 总结 前言 做了一堆单链表单指针的题目&#xff0c;这次是个双指针题&#xff0c;这里双指针的作用非常明显。 题目 判断给定的链表中是否有环。如果有环则返回true&#xff0c;否则返回fal…

计算机网络-ACL实验

一、NAT实验配置 NAT实验配置 通过基本ACL匹配VLAN 10网段&#xff0c;然后在出口设备NAT转换只要匹配到VLAN10地址则进行转换。 核心交换机 # 配置VLAN和默认路由&#xff0c;配置Trunk和Access接口 interface Vlanif10ip address 192.168.10.254 255.255.255.0 # interface V…

深入了解WPF控件:基础属性与用法(五)

掌握WPF控件&#xff1a;熟练常用属性&#xff08;五&#xff09; Image 是一种在WPF应用程序中显示图片的方式。它可以用于显示静态图片&#xff0c;也可以用于显示动态图片&#xff0c;如GIF。此外&#xff0c;Image控件还可以自适应大小&#xff0c;根据容器的大小自动调整…

关于gltf模型格式文件的学习

目录 glTF模型 小黄鸭的gltf模型 字段分析 scene nodes meshes primitives attributes indices mode material accessors bufferView byteOffset count componentType type materials textures images samplers magFilter与minFilter wrapS与wrapT 进行…

高效火情监测,科技助力森林防火【数字地球开放平台】

数字地球开放平台-以卫星遥感为核心的空天信息服务开放平台 (geovisearth.com) 2019年3月30日&#xff0c;四川省凉山州木里县爆发了一场森林火灾&#xff0c;火点位于海拔3800米左右&#xff0c;地形险峻、坡度陡峭、谷深难以抵挡火势。在扑救的过程中&#xff0c;27名森林消防…

最小公倍数之和(莫比乌斯反演P3911)

路径&#xff1a; P3911 最小公倍数之和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<cstring> #include<cmath> #include<…

JavaSE 万字总结知识点(期末复习指南)

目录 一.Java的特性 二.注释 三.数据类型 基本数据类型 包装类 引用数据类型 四.运算符 五.逻辑控制 选择语句 循环语句 六.数组 七.方法 八.类与对象 构造方法 内部类 九.继承和多态 十.抽象类与接口 抽象类 接口 十一.异常 一.Java的特性 Java最初由Sun…

2401vim,vim实现任务列表

功能很简单,就是回车执行,F8切换背景颜色. 主要在标号.vim里面实现,用了几个变量: let s:bh1 let s:wj"" let s:zd{} let s:zd2{}利用标号来高亮行.在vimrc中加入 au BufWinEnter *.rw call Chbh() au BufWinLeave *.rw call Bcbh()进入与离开缓冲时执行. 在E:\Vim…

助力焊接场景下自动化缺陷检测识别,基于YOLOv5【n/s/m/l/x】全系列参数模型开发构建工业焊接场景下缺陷检测识别分析系统

焊接是一个不陌生但是对于开发来说相对小众的场景&#xff0c;在我们前面的博文开发实践中也有一些相关的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《轻量级模型YOLOv5-Lite基于自己的数据集【焊接质量检测】从零构建模型超详细教程》 《基于DeepLabV3Pl…

Qt中ListWidget控件总结

前提 QListWidget类提供了一个基于项目的列表小部件。 QListWidget是一个方便的类&#xff0c;它提供了一个类似于QListView提供的列表视图&#xff0c;但是具有一个经典的基于项目的接口&#xff0c;用于添加和删除项目。QListWidget使用一个内部模型来管理列表中的每个QLis…

YOLOv8改进 | 融合改进篇 | 华为VanillaNet + BiFPN突破涨点极限

一、本文介绍 本文给大家带来的改进机制是华为VanillaNet主干配合BiFPN实现融合涨点,这个主干是一种注重极简主义和效率的神经网络我也将其进行了实验, 其中的BiFPN不用介绍了从其发布到现在一直是比较热门的改进机制,其主要思想是通过多层级的特征金字塔和双向信息传递来提…

【华为 ICT HCIA eNSP 习题汇总】——题目集3

1、&#xff08;多选&#xff09;IEEE 802.11n支持在哪些频率下工作&#xff1f; A、2.5GHz B、2.4GHz C、5GHz D、6GHz 考点&#xff1a;无线局域网 解析&#xff1a;&#xff08;BC&#xff09; IEEE 820.11n 支持双频段&#xff0c;它兼容IEEE 802.11a 与IEEE 820.11b 两种标…

python文件移动的方法

以下是Python中移动文件到指定目录的几种实现方法&#xff1a; 方法一&#xff1a;使用shutil模块的move函数 import shutil import osdef move_file(source_path, destination_path):shutil.move(source_path, destination_path) 方法二&#xff1a;使用os模块的rename函数…

springcloud Ribbon负载均衡服务调用

文章目录 代码下载地址简介测试 Ribbon负载均衡算法手写RoundRobinRule源码8001/8002微服务改造80订单微服务改造测试 代码下载地址 地址:https://github.com/13thm/study_springcloud/tree/main/days6_Ribbon 简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端…

高级分布式系统-第15讲 分布式机器学习--神经网络理论

高级分布式系统汇总&#xff1a;高级分布式系统目录汇总-CSDN博客 神经网络理论 模糊控制在处理数值数据、自学习能力等方面还远没有达到人脑的境界。人工神经网络从另一个角度出发&#xff0c;即从人脑的生理学和心理学着手&#xff0c;通过人工模拟人脑的工作机理来实现机器…

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题三 理论题

竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 1.第一阶段&#xff1a;模块一 网络平台搭建与设备安全防护&#xff08;180 分钟&#xff0c;300 分&#xff09;。 2.第二阶段&#xff1a;模块二…

学习Spring的第五天(Bean的依赖注入)

Bean的依赖注入有两种方式: 一 . 常规Bean的依赖注入 很简单,不过多赘述了,注意ref: 是构造函数或set方法的参数,一般为对象, value: 是构造函数或set方法的参数,一般为值. 看下图 1.1 下面来演示一下集合数据类型的关于Bean的依赖注入 1.1.1这是List的注入(演示泛型为Strin…

[NSSRound#16 Basic]RCE但是没有完全RCE

题目代码&#xff1a; <?php error_reporting(0); highlight_file(__file__); include(level2.php); if (isset($_GET[md5_1]) && isset($_GET[md5_2])) {if ((string)$_GET[md5_1] ! (string)$_GET[md5_2] && md5($_GET[md5_1]) md5($_GET[md5_2])) {i…

面试:数据库索引常见问法

索引有哪些类型 普通索引&#xff1a;最基本的索引&#xff0c;没有任何约束限制。 唯一索引&#xff1a;和普通索引类似&#xff0c;但是具有唯一性约束&#xff0c;可以有 null 主键索引&#xff1a;特殊的唯一索引&#xff0c;不允许有 null&#xff0c;一…