uniapp 抖音授权登录、发布、分享 Ba-Aweme

news2024/12/24 20:40:51

简介(下载地址)

Ba-Aweme 是一个集成抖音的uniapp插件,支持抖音授权登录,发布图片、视频,分享到联系人群组,直接拍摄等。自带选择图片和选择视频方法。

注意: 使用前,先到抖音开放平台,申请clientKey

截图展示

在这里插入图片描述
在这里插入图片描述

使用方法

script 中引入组件

	const aweme = uni.requireNativePlugin('Ba-Aweme');

script 中调用(示例参考,可根据自己业务和调用方法自行修改)

		methods: {
			init() { //初始化
				aweme.init({
						clientkey: 'awsxdh3k1fiojgnu' // 需要到开发者网站申请
					},
					(res) => {
						console.log(res)
						uni.showToast({
							title: res.msg,
							icon: "none",
							duration: 3000
						})
					});
			},
			sendAuth() { //授权登录
				aweme.sendAuth({
						scope: 'user_info', //授权域是指您的应用使用抖音授权之后,可以获得抖音用户的哪些信息,目前开放了user_info 授权域,表示可以获得请求用户头像、昵称等相关信息的权限,如果有多种必选权限,权限之间请使用逗号隔开, "xxx,xxx"。
						state: '', //用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。
						optionalScope0: '', //用户可选授权域,默认不勾选。
						optionalScope1: '', //用户可选授权域,默认勾选。
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						}
						uni.showToast({
							title: res.msg,
							icon: "none",
							duration: 3000
						})
					});
			},
			isAppSupportMixShare() { //是否支持了图片视频混合内容的分享(抖音版本 17.4)
				aweme.isAppSupportMixShare(
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareImage() { //分享图片
				aweme.shareImage({
						imagePaths: this.mediaPaths, //图片路径,可多个
						hashTagList: ['话题1', '话题2'], //默认话题
						state: 'ww',
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareImageN() { //分享发布(新分享单图/多图 支持开启图集模式;需升级到0.1.9.4以上)
				aweme.shareImageN({
						imagePaths: this.mediaPaths, //图片路径,可多个
						hashTagList: ['话题1', '话题2'], //默认话题
						state: 'ww',
						isImageAlbum: true, //是否开启图集模式
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareVideo() { //分享视频
				aweme.shareVideo({
						videoPaths: this.mediaPaths, //视频路径,可多个
						hashTagList: ['话题1', '话题2'], //默认话题
						state: 'ww',
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareMix() { //分享混合内容(要求SDK版本至少为0.1.7.0,抖音版本至少为17.4)
				aweme.shareMix({
						mixPaths: this.mediaPaths, //路径,可多个
						hashTagList: ['话题1', '话题2'], //默认话题
						state: 'ww',
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareToContacts() { //分享给抖音好友或群(注意: 只能传入一张图片,目前只支持单图且为本地图片
				aweme.shareToContacts({
						imagePaths: this.mediaPaths, //图片
						state: 'ww',
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareToContactsHtml() { //分享给抖音好友或群(html)
				aweme.shareToContactsHtml({
						html: "", //你的html链接(必填)
						discription: "", //你的html描述(必填)
						title: "", //你的html  title(必填)
						thumbUrl: "", //你的html的封面图(远程图片) (选填,若不填,则使用开放平台官网申请时上传的图标)
						state: 'ww',
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			openRecordPage() { //打开抖音拍摄页
				aweme.openRecordPage({
						appTitle: "", //小程序title
						discription: "", //描述
						appId: "", //小程序AppId
						appUrl: "", //小程序路径
						state: '',
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			chooseSysImage() { //选择图片(系统)
				aweme.chooseSysImage(
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			chooseSysVideo() { //选择视频(系统)
				aweme.chooseSysVideo(
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			chooseImage() { //选择图片(uniapp)
				let that = this;
				uni.chooseImage({
					count: 9,
					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
					sourceType: ['album'], //从相册选择
					success: function(res) {
						console.log(JSON.stringify(res.tempFilePaths));
						that.mediaPaths = res.tempFilePaths;
						// uni.getImageInfo({
						// 	src: res.tempFilePaths[0],
						// 	success: function(image) {
						// 		that.path = image.path;
						// 		console.log(image);
						// 	}
						// });
					}
				})
			},
			chooseVideo() { //选择视频(uniapp)
				let that = this;
				uni.chooseVideo({
					sourceType: ['camera', 'album'],
					success: function(res) {
						console.log(JSON.stringify(res.tempFilePath));
						that.mediaPaths.push(res.tempFilePath);
					}
				})
			},
		}

api 列表

方法名说明
init初始化
sendAuth授权登录
shareImage分享发布(旧分享单图/多图)
shareImageN分享发布(新分享单图/多图 支持开启图集模式;需升级到0.1.9.4以上)
shareVideo分享视频
isAppSupportMixShare是否支持混合分享
shareMix分享混合内容(要求SDK版本至少为0.1.7.0,抖音版本至少为17.4)
shareToContacts分享给抖音好友或群(只能传入一张图片,目前只支持单图且为本地图片)
shareToContactsHtml分享给抖音好友或群(html)
openRecordPage打开抖音拍摄页
chooseSysImage选择图片(系统)
chooseSysVideo选择视频(系统)

init 方法参数

属性名类型必填默认值说明
clientkeyStringtruekey,需要到开发者网站申请

sendAuth 方法参数

属性名类型必填默认值说明
scopeStringtrue‘user_info’授权域是指您的应用使用抖音授权之后,可以获得抖音用户的哪些信息,目前开放了user_info 授权域,表示可以获得请求用户头像、昵称等相关信息的权限,如果有多种必选权限,权限之间请使用逗号隔开, “xxx,xxx”。
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。
optionalScope0Stringfalse‘mobile’用户可选授权域,默认不勾选。
optionalScope1Stringfalse用户可选授权域,默认勾选。

shareImage 方法参数

属性名类型必填默认值说明
imagePathsArraytrue本地图片路径,可多个,如:[‘路径1’, ‘路径2’]
hashTagListArrayfalse话题,支持多个,如:[‘话题1’, ‘话题2’]
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。

shareImageN 方法参数

属性名类型必填默认值说明
imagePathsArraytrue本地图片路径,可多个,如:[‘路径1’, ‘路径2’]
hashTagListArrayfalse话题,支持多个,如:[‘话题1’, ‘话题2’]
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。
isImageAlbumStringfalsefalse是否开启图集模式

shareVideo 方法参数

属性名类型必填默认值说明
videoPathsArraytrue本地视频路径,可多个,如:[‘路径1’, ‘路径2’]
hashTagListArrayfalse话题,支持多个,如:[‘话题1’, ‘话题2’]
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。

shareMix 方法参数

属性名类型必填默认值说明
mixPathsArraytrue本地视频和图片路径,可多个,如:[‘路径1’, ‘路径2’]
hashTagListArrayfalse话题,支持多个,如:[‘话题1’, ‘话题2’]
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。

shareToContacts 方法参数

属性名类型必填默认值说明
imagePathsArraytrue本地图片路径,单个,如:[‘路径1’]
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。

shareToContactsHtml 方法参数

属性名类型必填默认值说明
htmlStringtrue你的html链接(必填)
discriptionStringtrue你的html描述(必填)
htmlStringtrue你的html title(必填)
htmlStringfalse你的html的封面图(远程图片) (选填,若不填,则使用开放平台官网申请时上传的图标)
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。

openRecordPage 方法参数

属性名类型必填默认值说明
appTitleStringfalse小程序title
appTitleStringfalse描述
appTitleStringfalse小程序AppId
appTitleStringfalse小程序路径
stateStringfalse用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。

系列插件

图片选择插件 Ba-MediaPicker (文档)

图片编辑插件 Ba-ImageEditor (文档)

文件选择插件 Ba-FilePicker (文档)

应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify(文档)

自定义通知(耳机电量)插件 Ba-NotifyEarphone(文档)

应用未读角标插件 Ba-Shortcut-Badge (文档)

应用开机自启插件 Ba-Autoboot(文档)

扫码原生插件(毫秒级、支持多码)Ba-Scanner-G(文档)

扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner(文档)

动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar(文档)

原生sqlite本地数据库管理 Ba-Sqlite(文档)

安卓保活插件(采用多种主流技术) Ba-KeepAlive(文档)

安卓保活套装(通用、常驻通知、电池优化、自启管理、后台运行等)(文档)

安卓快捷方式(桌面长按app图标) Ba-Shortcut(文档)

自定义图片水印(任意位置) Ba-Watermark(文档)

最接近微信的图片压缩插件 Ba-ImageCompressor(文档)

视频压缩、视频剪辑插件 Ba-VideoCompressor(文档)

动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon(文档)

原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast(文档)

图片涂鸦、画笔 Ba-ImagePaint(文档)

pdf阅读(手势缩放、显示页数) Ba-Pdf(文档)

声音提示、震动提示、语音播报 Ba-Beep(文档)

websocket原生服务(自动重连、心跳检测) Ba-Websocket(文档)

短信监听(验证码) Ba-Sms(文档)

智能安装(自动升级) Ba-SmartUpgrade(文档)

监听系统广播、自定义广播 Ba-Broadcast(文档)

监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener(文档)

全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray(文档)

获取设备唯一标识(OAID、AAID、IMEI等) Ba-IdCode(文档)

实时定位(系统、后台运行、支持息屏)插件 Ba-Location(文档)

实时定位(高德、后台运行、支持息屏、坐标转换、距离计算) Ba-LocationAMap(文档)

窗口小工具、桌面小部件、微件 Ba-AppWidget(文档)

窗口小工具、桌面小部件、微件(日历、时间) Ba-AwCalendarS(文档)

画中画悬浮窗(视频) Ba-VideoPip(文档)

悬浮窗(在其他应用上层显示) Ba-FloatWindow(文档)

悬浮窗(应用内、无需授权) Ba-FloatWindow2(文档)

悬浮窗(悬浮球、动态菜单、在其他应用上层显示) Ba-FloatBall(文档)

添加到“用其他应用打开”中,用于文件传递、分享等 Ba-ShareReceive(文档)

获取地图数据(高德、地理编码、反地理编码) Ba-AMapData(文档)

来电显示悬浮窗插件(支持锁屏) Ba-CallerID(文档)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/472807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW CompactRIO 开发指南 3 选择CompactRIO编程模式

第二章 选择CompactRIO编程模式 第一章中介绍的CompactRIO架构为我们提供了通过LabVIEW FPGA定制FPGA硬件或使用NI CompactRIO扫描模式来实现I/O的选项。如果计算机上有LabVIEW Real-Time和LabVIEW FPGA,那么当向LabVIEW项目添加CompactRIO目标时,将提…

BM48-数据流中的中位数

题目 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流&…

【软考网络管理员】2023年软考网管初级常见知识考点(3)- 网络体系结构

【写在前面】也是趁着五一假期前再写几篇分享类的文章给大家,希望看到我文章能给软考网络管理员备考的您带来一些帮助,5月27号也是全国计算机软件考试统一时间,也就不用去各个地方找资料和代码了。紧接着我就把我整理的一些资料分享给大家哈&…

【Python】selenium工具

目录 1. 安装 2. 测试 3. 无头浏览器 4. 元素定位 5. 页面滑动 6. 按键、填写登录表单 7. 页面切换 Selenium是Web的自动化测试工具,为网站自动化测试而开发,Selenium可以直接运行在浏览器上,它支持所有主流的浏览器,可以接…

【Linux - Shell常用命令】- 判断文件是否存在、去掉文件后缀

目录 一、判断文件是否存在1.1 判断目录是否存在1.2 判断文件是否存在1.3 其他文件类型判断 二、字符串截取(去掉文件后缀)2.1 获取文件后缀2.2 获取文件前缀 一、判断文件是否存在 1.1 判断目录是否存在 将下面代码保存为dirExist.sh ,运行…

隐私权限是什么

导读: 隐私权在现代社会对于人们而言是重要的人格权,而随着互联网技术的发展,实践中侵犯隐私权的行为很常见。那么隐私权限是什么?侵犯隐私权的行为有哪些?侵犯他人隐私权要负什么法律责任?接下来将由找法…

Linux-修改虚拟机为静态IP 和 主机名

一、设置虚拟机的IP为静态的 一般情况下,NAT网络连接模式下,DHCP动态分配IP地址的,但这样在每次访问连接Linux虚拟机时,都要先去查询ip地址,很麻烦,干脆就将虚拟机IP地址写死,也就是设置为静态…

数据结构初阶 —— 树(二叉树)

目录 一,二叉树 特殊二叉树 二叉树的性质 二叉树的存储结构 二,二叉树链式结构 二叉树的遍历(四种) 二叉树接口 试题 一,二叉树 由一个根节点,加上两颗左二叉树和右二叉树组成,可以为空…

python cms建站教程:Wagtail建站(一、安装与基本使用)

最近有个建站的项目,因为python比较熟,为了快速建站想着用cms,但发现网上关于python cms的教程很少,于是自己试着写一个。建站工具采用Wagtail,是一款基于Django框架的cms,自己照着文档摸索了一番&#xff…

线性调频Z变换 CZT

文章目录 【1. 原理】【2. z k z_k zk​ 所在的路径】【3. CZT的实现步骤】【4. CZT的特点 】【5. CZT的应用】5.1 通过 CZT 变换求 DFT5.2 对信号的频谱进行细化分析5.3 求解Z变换X(z)的零、极点5.4 使用CZT进行Keystone变换 【6.相关文献】 线性调频Z变换(chirp …

FL Studio中文版V21的主要功能与下载教程

FL Studio21最新版是流行的数字音频工作站(DAW)其最新版本FL Studio 21,主要功能和下载教程如下: FL Studio21中文版功能介绍: 1. 全新界面:采用简洁现代的设计风格,工具栏和菜单进行重组,更加直观。提供智能提示与工作流指导,易于学习和操作。 2. 多显示器支持:可以在不同屏…

野火STM32电机系列(六)Cubemx配置ADC规则和注入通道

前文已经配置了GPIO、编码器 本节讲解CubeMXADC规则和注入通道 本文adc注入通道采用定时器触发,因此在上文定时器配置的基础上进行 常规信号(温度等)使用带DMA的常规通道连续采样 注入采样由定时器触发,采集电机三相电流&…

科大版中国版ChatGPT来啦!抢先体验

随着文心一言、通义千问等国内顶尖级ChatGPT大模型相继问世,具有语言理解和生成能力的人工智能正在引领行业创新发展。作为人工智能公司中的佼佼者,科大讯飞也开始加入到这场竞争中来。 4月20日,科大讯飞宣布即将于5月6日正式发布其最新的“…

【QT5:CAN卡通信的上位机-代码练习-收发数据+布局+引用外部库+基础样例(1)】

【QT5:CAN卡通信的上位机-代码练习-收发数据布局引用外部库基础样例1】 1、概述2、实验环境3、自我总结和提升4、事先声明5、效果展示6、代码编写过程(1)操作步骤部分1、新建工程2、加入外部库,并且加入qt工程中3、ui页面布局4、代码练习5、运…

荔枝派Zero(全志V3S)基于QT实现在LCD显示图片

文章目录 前言一、配置 buildroot 及编译二、写 QT 代码三、编译可执行文件四、拷贝到 SD 卡五、上板子测试六、资源自取 前言 有这样一个需求,通过配置 QT,在 linux 下实现显示我所想要显示的图片,实现的方式是我可以在命令行将图片的路径作…

人工智能之配置环境教程二:在Anaconda中创建虚拟环境安装GPU版本的Pytorch及torchvision并在VsCode中使用虚拟环境

人工智能之配置环境教程二:在Anaconda中创建虚拟环境安装GPU版本的Pytorch及torchvision并在VsCode中使用虚拟环境 作者介绍一. 查看自己电脑的CUDA版本1.1 方式一1.2 方式二 二. 下载安装CUDA三. 查看环境变量四. 创建虚拟环境4.1 使用指令创建虚拟环境4.2 查看Anc…

【刷题之路Ⅱ】LeetCode 24. 两两交换链表中的节点

【刷题之路Ⅱ】LeetCode 24. 两两交换链表中的节点 一、题目描述解题1、方法1——递归1.1、思路分析1.2、代码实现 2、方法2——迭代2.1、思路分析2.2、代码实现 3、方法3——交替的尾插3.1、思路分析3.2、代码实现 一、题目描述 原题连接: 24. 两两交换链表中的节…

人群计数经典方法Density Map Estimation,密度图估计

(3)Density Map Estimation(主流) 这是crowd counting的主流方法 传统方法不好在哪里?object detection-based method和regression-based method无法从图像中提取更抽象的有助于完成人群计数任务的语义特征 概况&…

asp.net个人信息管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net个人信息管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言 开发 asp.net个人信息管理系统VS开发s…

第七章 单行函数

MySQL系列文章目录 http://t.csdn.cn/YTPe9 文章目录 MySQL系列文章目录前言一、函数的理解1、 什么是函数2 、不同DBMS函数的差异3 、MySQL的内置函数及分类 二、 数值函数1 、基本函数2、 角度与弧度互换函数3、 三角函数4、 指数与对数5、进制间的转换 三、字符串函数四、日…