uni上传图片跨域_uni-app的项目实践心得

bd7efc0f55b18f04de65251abd8b0c93.png

前言

前一段时间我刚做完了一个uni-app项目,遇到了两个比较大的坑,特此来记录下。

正文

坑一:

在ios中,uni-app的video组件不支持播放上传到网易云的视频,或者说不支持播放没有带视频格式后缀的视频,但在安卓没有问题。我尝试过用web-view,但也不行。最后的解决方案是用了iframe,但是我们要做的是视频列表,就相当于了嵌入了一整个列表的页面,性能可想而知~

期间我有尝试过用VideoJS,但是在ios中,它也同样不支持播放没有后缀的视频。

坑二:

项目中有一个需求是根据头像的颜色来渲染页面的背景色,但是有跨域的问题,图片的存放地址必须和项目的存放地址必须在同一域名下。

代码如下:

<canvas style="width: 600rpx; height: 400rpx;" canvas-id="firstCanvas" id="firstCanvas"></canvas>

getColor() {
        const ctx = uni.createCanvasContext('firstCanvas')		
	ctx.drawImage(this.workInfo.logo, 0, 0, 111, 111)		
	ctx.draw()
	setTimeout(()=>{
		uni.canvasGetImageData({
		    canvasId: 'firstCanvas',
		    x: 100,
		    y: 100,
		    width: 1,
		    height: 1,
		    success(res) {			
			if(res.data[0] == 255 && res.data[1] == 255 && res.data[2] == 255 && res.data[3] == 255){
							
			}else {
			     that.bgColor = "linear-gradient(to right, rgba("+res.data[0]+","+res.data[1]+","+res.data[2]+","+res.data[3]+"), #999999)"
							
			}
			
		    },
		    fail(res){
						  
		    }
					  
		})
	},1000)
  },

总结

我们在项目开始前,选择框架要慎之又慎,尤其是像我们这种做完的东西要放在app里面的,更加要谨慎。app本身存在的 bug也会直接影响到我们要做的东西。而且如果不是做多端,完全没必要用uni-app。


版权声明:本文为weixin_39880623原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。