抖音上传视频(纯前端实现霸屏软件的功能)进店转发视频功能,详情搜索抖音霸屏软件
2021/5/8 10:29:32
本文主要是介绍抖音上传视频(纯前端实现霸屏软件的功能)进店转发视频功能,详情搜索抖音霸屏软件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
抖音霸屏软件
- 抖音霸屏介绍
- 先来介绍一下吧,嫌啰嗦的可以直接跳转>>>思路分析 ↓
- 抖音开发文档
- 思路分析
- 步骤
抖音霸屏介绍
先来介绍一下吧,嫌啰嗦的可以直接跳转>>>思路分析 ↓
1.抖音同城霸屏:可控制所有扫码用户发布视频的时间—实现片区域本地霸屏;
2.蓝V号增粉:顾客扫码一键领取优惠券并自动发布视频、同时自动跳转到商家蓝V号关注并了解商家更多商品优惠内容;
这是我从网上找的一些资料,好了好了,不贴图片了,我是来分享技术的,而不是来营销的。
感兴趣的可以体验一下,最后再上两个二维码吧
抖音扫描二维码,体验一下
抖音开发文档
https://open.douyin.com/platform/doc/6848834666171009035
难点(看明白文档也就那么回事):
- 先获取用户的acccess_token >>>>>>>>
- 上传视频到服务器 >>>>>>>>>>
- 创建视频 >>>>>>>>>>>>
思路分析
由于时间紧迫,工期时间太短,以下思路是我们全栈总监给我分析的,并且全程指导,并且解决问题,在此非常感谢我们的全栈总监。
抖音的开发文档太坑了,没有任何前端的api,没有前端的示例,根本看不懂说的是啥,也有可能是前端实现起来太麻烦,抖音直接否决了。
- 首先用户用扫二维码,会进入一个抖音自带的获取用户code的页面,code在url里
- 此二维码需要定义一个url,在用户扫描完二维码之后,需要获取用户的acccess_token,
- 然后进入一个url,此url为一个展示页面,
- 当用户点击领取优惠(或者查看详情)之后,上传视频,然后创建视频等等(后续还有,具体看需求)
步骤
一、首先是拼接url
https://open.douyin.com/platform/oauth/connect/?client_key=1111111111111111&response_type=code&scope=user_info,video.create&redirect_uri=http://douyinshare.xswl.com/
- client_key需要去申请,怎么申请自行百度吧
- redirect_uri=后边重定向的url就是需要打开的链接(也是我们需要自己构造的页面)
二、redirect_uri=后面的url的布局构建
三、将我们拼接好的URL生成一个二维码,用户扫描完之后授权,会重定向,进入我们的网页,同时抖音会在url地址栏返回一个code码给我们,获取的code用来调用https://open.douyin.com/oauth/access_token/ 换取用户acccess_token。
created () { // 在页面加载的时候获取地址栏的地址,因为地址栏有我们需要的code码 var url = window.location.href // 截取URL上的code并赋值 var code = url.substring(35, 71) // this指向 var that = this // axios 的get请求 axios.get('/api/oauth/access_token/', { // 需要传的参数 params: { client_key: '申请的自己的 client_key', client_secret: '申请的自己的 client_secret', grant_type: 'authorization_code', code: code } }) .then(function (res) { console.log(res.data.data, '1111111111') // 获取到用户的两项,并赋值 that.baba = res.data.data.access_token that.id = res.data.data.open_id }) .catch(function (error) { console.log(error, '======>2') }) },
四、 用户点击领取的时候,我们需要提示用户,当用户确认的时候我们需要上传视频并且创建视频,然后定向到我们需要展示的商家的抖音号里
// 在创建视频之前需要先定义一个发布视频的方法: // 请求POST抖音,创建视频 fabu () { axios.post( // 拼接抖音需求文档的url "/api/video/create/" + "?open_id=" + this.id + "&access_token=" + this.baba, { // 传参 // open_id: this.id, // access_token: this.baba, // Content_Type: 'video/mp4', // video: Ajson // video: bytarr video_id: this.video_id, text: '棉柔王国满足你对棉的一切想象,订购热线053266697666', poi_id: '111', poi_name: '111科技有限公司' }, { // 请求头 headers: { 'Content-Type': 'application/json' } } ) .then(function (response) { console.log('3======>' + JSON.stringify(response), response) }) .catch(function (error) { console.log(error + '4') }) } // 因为某些限制,axios的post请求不能发multipart/form-data,所以我们换一种请求方式 // 思路是先get请求本地的转换好的二进制文件,然后作为参数来传post // get请求本地的二进制文件(此二进制文件为视频转换成的), 用xhr来发送post请求,得到抖音返回的视频id authorization () { // videoPostData.txt为后端大佬自创的软件,用来给我转换格式的 // 格式为xhr.setRequestHeader里面的'multipart/form-data;charset=utf-8; boundary=123456789' axios.get('../../videoPostData.txt', { responseType: 'blob' }).then(res => { console.log(res.data, 66666666666666666666666) var that = this // (1).开始XMLHttpRequest请求 var xhr = new XMLHttpRequest() var url = 'https://open.douyin.com/video/upload/' + '?open_id=' + this.id + '&access_token=' + this.baba // (2).设置请求方法和地址 xhr.open('post', url) // (3).设置请求头(post请求才需要设置 以下为抖音发送的格式) xhr.setRequestHeader( 'Content-Type', 'multipart/form-data;charset=utf-8; boundary=123456789' ) xhr.send(res.data) // (5).注册回调函数 xhr.onload = function () { console.log(xhr.responseText, 7) console.log(url, 8) console.log(JSON.parse(xhr.response), 10) console.log(JSON.parse(xhr.responseText), 11) console.log(JSON.parse(xhr.responseText).data.video.video_id, 9) console.log(that.video_id) console.log(that) // 将抖音返回的video_id获取到,赋值到data that.video_id = JSON.parse(xhr.responseText).data.video.video_id // 调用方法,发布视频 that.fabu() } }) },
可以参照我的代码,和抖音的官方文档来
完结撒花
★,°:.☆( ̄▽ ̄)/$:.°★。撒花!
这篇关于抖音上传视频(纯前端实现霸屏软件的功能)进店转发视频功能,详情搜索抖音霸屏软件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Vite多环境配置学习:新手入门教程
- 2024-11-23实现OSS直传,前端怎么实现?-icode9专业技术文章分享
- 2024-11-22在 HTML 中怎么实现当鼠标光标悬停在按钮上时显示提示文案?-icode9专业技术文章分享
- 2024-11-22html 自带属性有哪些?-icode9专业技术文章分享
- 2024-11-21Sass教程:新手入门及初级技巧
- 2024-11-21Sass学习:初学者必备的简单教程
- 2024-11-21Elmentplus入门:新手必看指南
- 2024-11-21Sass入门:初学者的简单教程
- 2024-11-21前端页面设计教程:新手入门指南
- 2024-11-21Elmentplus教程:初学者必备指南