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

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

 

把视频的宽度设置为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,一经查实,立即删除!

相关文章

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…

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

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

【华为 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 两种标…

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…

[python]裁剪文件夹中所有pdf文档并按名称保存到指定的文件夹

最近在写论文的实验部分&#xff0c;由于latex需要pdf格式的文档&#xff0c;审稿专家需要对pdf图片进行裁剪放大&#xff0c;以保证图片质量。 原图&#xff1a; 裁剪后的图像&#xff1a; 代码粘贴如下。将input_folder和output_folder替换即可。(x1, y1)&#xff0c; (x2…

小封装高稳定性振荡器 Sg2520egn / sg2520vgn, sg2520ehn / sg2520vhn

描述 随着物联网和ADAS等5G应用的实施&#xff0c;数据流量不断增长&#xff0c;网络基础设施变得比以往任何时候都更加重要。IT供应商一直在快速建设数据中心&#xff0c;并且对安装在数据中心内部/内部的光模块有很大的需求。此应用需要具有“小”&#xff0c;“低抖动”和“…

Flutter中使用minio_new库

前言 在移动开发中&#xff0c;我们常常会遇到需要在App中处理文件上传和下载的需求。Minio是一个开源的对象存储服务&#xff0c;它兼容Amazon S3云存储服务接口&#xff0c;可以用于存储大规模非结构化的数据。 开始之前 在pubspec.yaml文件中添加minio_new库的依赖&#xf…

CSV文件中json列的处理2

如上所示&#xff0c;csv文件中包含以中括号{}包含的json字段&#xff0c;可用如下方法提取&#xff1a; import pandas as pd from datetime import date todaystr(date.today()) import jsonfilepath/Users/kangyongqing/Documents/kangyq/202401/调课功能使用统计/ file104…

kotlin Kmp多平台模板生成

地址: Kotlin Multiplatform Wizard | JetBrains 可生成kotlin多个平台模板 https://terrakok.github.io/Compose-Multiplatform-Wizard/

分享 GitHub 上的敏感词汇工具类:sensitive-word

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…