uni-app关于全局变量和发布

283 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 14 天,点击查看活动详情

全局变量的设置

公共文件

设置一个公共文件,例如common.js ,然后在入口文件引入进来。然后在之后使用的页面都引入这个文件,而这个文件则是一个变量的公共文件的存在。

Vue.prototype

我们可以把全局变量添加到原型上。

globalData 全局属性

在app.vue中设置全局变量

		onLaunch: function() {
			
			console.log('定义全局变量')
			getApp().globalData.configCustom={
				api:"https://web.guoyinweilai.com/gywl/api.php",
				baseImgUrl:"http://web.guoyinweilai.com/gywl/"
			};
			
		}

uni-app中视频的坑

简要

在使用uni-app自带的video标签时,有一些视频在uni-app中不能够播放,但是单独写h5页面是就可以播放。

所以我尝试一下videojs的使用,这个好像是h5直播都是可以用的依赖组件。

video.js的使用

但是并没有解决我的问题,video主要是处理直播的。

代码如下:

			initVideoplay(){
				
					let video = document.createElement('video');
					video.id = 'video';
				
					video.style = 'width: 100%; height: 100%;'
					video.controls = true
					video.setAttribute('playsinline', true) //IOS微信浏览器支持小窗内播放
					video.setAttribute('webkit-playsinline', true) //这个bai属性是ios 10中设置可以让视频在小du窗内播放,也就是不是全屏播放的video标签的一个属性
					video.setAttribute('x5-video-player-type', 'h5') //安卓 声明启用同层H5播放器 可以在video上面加东西
					let source = document.createElement('source')
					// source.src = 'http://1253228538.vod2.myqcloud.com/c1b0a541vodbj1253228538/6d207b82387702303352290304/ZqzOWXtnCfsA.mp4';  //设定的流地址
					source.src="http://video.guoyinweilai.com/ce885ba66e95466399905cfbead70ebe/e8060b566f4e4d8bb9341eb5d30c0aa7-a5b7d8911cc7d347a9c9dd7e9b1d521b.mp4";
				  if (source.src.indexOf('.mp4') !== -1) {
					  
					//mp4类型
					source.type = 'video/mp4'
				  } else if (source.src.indexOf('.m3u8') !== -1) {
					  
					//hls类型
					source.type = 'application/x-mpegURL'
				  } else if (source.src.indexOf('.flv') !== -1) {
					  
					//flv类型
					source.type = 'video/flv'
				  } else {
					  
					//rtmp类型
					source.type = 'rtmp/hls'
				}
			
				//将播放源添加到video的子级
				video.appendChild(source);
				//挂载到视频容器中
				this.$refs.videoplay.$el.appendChild(video);
				this.videoPlayer=videojs("video",{
					autoplay:true
				},function(){
					
				  this.on('play', function () {
					//开始播放
					console.log('开始播放')
					that.isPlaying = true
				  })
					
				});
        
			}

uni-app发布的h5不能播放视频

html5单独写video可以播放,小程序直接video组件也是可以进行播放的。

所以很奇怪,最后发现是谷歌浏览器不支持chrome在上边进行播放。

谷歌浏览器不支持uni-app视频的播放

用html5写video组件是可以的,但是用uni-app在谷歌浏览器中运行则无法播放视频。

uni-app使用npm安装组件

安装的方法和其他项目的安装方法是一样的。

在uni-app的根目录下边的cmd命令窗口中,使用npm命令进行安装就可以。如下截图:

安装好之后,可以再node_modules 中查看安装好的组件:

然后uni-app的项目中也会默认多了一个package.json的安装好的依赖:

Hb使用手机调试

使用手机调试是非常简单的,首先是手机连接电脑,并且手机是在调试模式下。我的手机是华为手机,则是在设置--->系统更新-->开发人员选项【开启】

然后在hb上选择运行 --->选择运行或者模拟器 ,如果已经可以识别手机了,那么会有选项,选择自己的手机即可。

hb打包成app

云打包

在hb上进行云打包,如下截图:

会弹出一个窗口,选择正式打包,公用id ,如下截图:

打包的进度查询,则是在下边的编译窗口下,如下截图:

这是apk程序,那么可以直接用它安装在手机上。

app图标的更换

使用hb安装好之后,在手机上显示的app图标是hb的图标,这样别人无法辨别这个是一个什么样的app,包括app的名字,这一些内容去哪里修改呢?

app名称的修改: manifest.json ----> 在基础配置里边

app图标配置,我在这里选择的是自己本地的一个图标,还有其他的一些图标的配置,可以适合的往下查找进行配置:

选择本地的图片外,然后点击自动生成图标,就会把图标生成完成。