背景:
在开发抖音小程序的时候,本来是打算用组件的,但是在对接抖音云的时候就出现了问题,需要用到播放组件,按照官方文档开始研究,但是文档里都是用抖音原生组件来实现这个功能的,该怎么用呢?
参考:
-
小程序自定义组件支持
小程序自定义组件支持 | uni-app官网
过程:
1.将原生组件引入项目(参考小程序自定义组件支持 | uni-app官网)
示例展示(可在文章顶部下载)
需要使用组件的页面相关的page.json配置
2.页面中组件的使用。这里我们把组件放在一起对比一下使用方法和参数传递。大部分都是一样的。
注意:组件中有两个关键参数
视频播放异常分析:
至此,项目中的视频原则上已经可以正常播放,但是视频页面出现了如下情况:
如果出现类似情况,首先要注意上面提到的两个关键参数是否正常获取,如果正常获取则参数传递正常,此时要注意函数输出的相关提示。
当时我项目中的提示如上图所示,我以为是两个参数的问题,于是就去后端验证我给出的两个参数是否有效,但是搜索之后发现后端给出的两个参数和我获取到的参数不一样。
我得到了什么
从后端
这时我才知道,一场大局已失
例如:我的方法如下
//1,在网络请求中设置数据类型为string dataType: 'string', success: (res) => { console.log(res); if (res.data.code == 40002) { uni.removeStorageSync('token') this.denglu() return } var json = res.data.replace(/:s*([0-9]{15,})s*(,?)/g, ': "$1" $2') //2.根据后端返回的数据调用一次或者两次replace替换 var json1 = json.replace(/:s*([0-9]{15,})s*(,?)/g, ': "$1" $2') //3.手动转换回json数据即可 var trueData = JSON.parse(json1); console.log(trueData, 'hahahh') //有问题的数据,长字段被四舍五入的数据 }
此项目中的视频播放正常。