uni-app 引入外部js 【只能通过script方式引入的sdk】。 以uni-app h5平台使用腾讯云点播为例

 uniapp需要引入sdk,但是这个sdk只能通过script的方式引入,此时,需要配置项目中的manifest.json

官网:uni-app官网

可以如下配置(方法一)

也可以在源码中配置(方法二)

做出的效果如下 

 

index.html内容如下

<!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
		<title>
			<%= htmlWebpackPlugin.options.title %>
		</title>
		<script>
			document.addEventListener('DOMContentLoaded', function() {
				console.log("document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'")
			})
		</script>
		<link rel="stylesheet" href="<%= htmlWebpackPlugin.options.baseUrl %>static/index.css" />
		
		<!-- 引入外部start -->
		<link href="https://cloudcache.tencent-cloud.com/open/qcloud/video/tcplayer/tcplayer.css" rel="stylesheet">
		 <!--如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 HLS 格式的视频,需要在 tcplayer.v4.1.min.js 之前引入 hls.min.0.13.2m.js。-->
		 <script src="https://cloudcache.tencent-cloud.com/open/qcloud/video/tcplayer/libs/hls.min.0.13.2m.js"></script>
		 <!--播放器脚本文件-->
		 <script src="https://cloudcache.tencent-cloud.com/open/qcloud/video/tcplayer/tcplayer.v4.1.min.js"></script>
		<!-- 引入外部end -->
	</head>
	<body>
		<noscript>
			<strong>Please enable JavaScript to continue.</strong>
		</noscript>
		<div id="app"></div>
		<!-- built files will be auto injected -->
	</body>
</html>

以下是腾讯云点播在uni-app时的使用(h5)

<template>
	<view class="courseVideo">
		<view id="tcView" ref="tcView" class="video-container">
		
		</view>
		<view class="list-container">
			
		</view>

	</view>
</template>

<script>
	
	export default {
		
		data() {
			return {
				player:null,
				playerId:'videoDomId',
				
			}
		},
		onLoad(options) {
			//uni.setNavigationBarTitle({
			//	title: options.name
			//})
			
		},
		created(){
			this.initVideo()
		},
		destroyed() {
			this.player.pause();
			this.player.dispose();
			this.player = null
		},
		methods: {
			
			initVideo(){
				this.$nextTick(()=>{
					var p = document.getElementById("tcView");
					var x = document.createElement("video");
					x.setAttribute("id", this.playerId);
					x.setAttribute("preload", "auto");
					x.setAttribute("poster", '');
					x.setAttribute("width", p.clientWidth);
					x.setAttribute("height", p.clientHeight);
					// x.style.width = p.clientWidth+'px'
					// x.style.height = p.clientHeight+'px'
					x.setAttribute("x5-video-player-type", "h5");
					x.setAttribute("x5-video-player-fullscreen", true);
					x.setAttribute("show-center-play-btn", false);
					x.setAttribute("x5-playsinline", '');
					x.setAttribute("x5-video-orientation", 'portrait');
					x.setAttribute("playsinline", '');
					x.setAttribute("webkit-playsinline", "auto");
					p.appendChild(x);
					this.player = TCPlayer(this.playerId, { // player-container-id 为播放    
               // 器容器ID,必须与html中一致
					  fileID: '5285890799710670616', // 请传入需要播放的视频filID 必须
					  appID: '1400329073' // 请传入点播账号的appID 必须
					  //其他参数请在开发文档中查看
					});
				})
				
			},
           // 切换视频播放
			toggleVideo(item){
				
				this.player.loadVideoByID({
				  fileID: '5285890799710670616', // 请传入需要播放的视频filID 必须
				  appID: '1400329073', // 请传入点播账号的appID 必须
				  sign:'', // 参考 Key 防盗链说明
				});
				
			},
			
		}
	}
</script>

<style lang="scss">
	.courseVideo {
		.video-container {
			position: fixed;
			width: 100%;
			height: 210px;
			z-index: 2;

			// #playerId {
			// 	width: 100%;
			// 	height: 100%;
			// }
		}

		.list-container:before {
			content: '';
			display: table;
		}
		.list-container{
			.e-course-time{
				margin-top:210px
			}
		}
		
	}
</style>

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
Uni-request是一个基于Promise的网络请求库,适用于uni-app和小程序开发。如果想在uni-app使用uni-request,需要先进行以下步骤: 1. 在HBuilderX中创建一个uni-app项目 2. 打开命令行工具,使用npm命令安装uni-request: ``` npm install uni-request ``` 3. 在需要发送网络请求的页面或组件中引入uni-request: ``` import request from '@/common/request.js' ``` 4. 在request.js文件中编写自己的请求方法,例如: ``` import { BASE_URL } from './config.js' import Request from 'uni-request' const request = new Request() request.interceptors.request.use(config => { config.baseUrl = BASE_URL return config }) export default request ``` 在这个示例中,我们将BASE_URL定义在config.js文件中,并通过拦截器将其添加到请求的baseUrl中。这样,我们就可以在发送请求时直接使用相对路径,而不需要每次都写全路径。 5. 在页面或组件中使用request发送网络请求,例如: ``` import request from '@/common/request.js' request.get('/api/user/info').then(res => { console.log(res.data) }) ``` 在这个示例中,我们通过request发送了一个GET请求,请求地址为"/api/user/info"。请求成功后,我们打印出了返回的数据。 注意:在使用uni-request发送网络请求时,需要在manifest.json文件中配置网络权限。可以在manifest.json文件中的"app-plus"-"permissions"节点中添加以下权限: ``` "app-plus": { "permissions": { "network": { "description": "用于发送网络请求" } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值