uniapp 快手授权登录,发布、编辑、裁剪图片和视频,分享 Ba-Kwai

news2024/11/15 11:56:13

简介(下载地址)

快手授权登录,发布、编辑、裁剪图片和视频,一键智能裁剪,分享私信,打开用户主页,挂载小程序等。自带选择图片和选择视频方法。

抖音授权登录、发布、分享 Ba-Aweme(文档)

uniapp 常用原生插件大全

开放能力

账号授权社交功能生产功能
  • 快手主站授权
  • 快手极速版授权
  • 分享私信
  • 分享私信到指定人
  • 打开指定用户主页
  • 单图编辑
  • 单图发布
  • 单视频编辑
  • 单视频裁剪
  • 单视频发布
  • 多视频图片裁剪
  • 智能裁剪视频
  • 多图编辑
  • 发布时挂载小程序

截图展示

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

准备工作

开发者需要在快手开放平台完成注册,新建一个网站应用,并获取应用标识appId 和 appSecret,详细参考申请注册流程,官网地址:https://open.kuaishou.com/platform

配置插件

在项目的 manifest.json 文件,App原生插件配置中,勾选插件,并配置appId和scope

使用方法

script 中引入组件

	const kwai = uni.requireNativePlugin('Ba-Kwai');

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

		methods: {
			sendAuth() { //授权登录
				kwai.sendAuth({
						state: 'BaKwai', //STATE安全参数,标识和用户或者设备相关的授权请求。建议开发者实现
						loginType: 1, //默认1,1 通过快手App登录授权 2 通过H5页面登录授权
						//isGetOpenId: true
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						}
						uni.showToast({
							title: res.msg,
							icon: "none",
							duration: 3000
						})
					});
			},
			initKwaiOpenAPI() { //初始化使用接口 KwaiOpenAPI
				kwai.initKwaiOpenAPI({
						goToMargetAppNotInstall: true, // 应用未安装,是否自动跳转应用市场
						goToMargetAppVersionNotSupport: true, // 应用已安装但版本不支持,是否自动跳转应用市场
						setNewTaskFlag: true, // 设置启动功能页面是否使用新的页面栈
						setClearTaskFlag: true, // 设置启动功能页面是否清除当前页面栈,当isSetNewTaskFlag为true时生效
						showDefaultLoading: false // 是否显示默认的loading页面作为功能启动的过渡
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			addKwaiAPIEventListerer() { // 业务请求回调结果监听
				kwai.addKwaiAPIEventListerer(
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareMessage() { //通过选择人或者群组分享私信
				let thumbData = plus.io.convertLocalFileSystemURL('_www/static/logo.png');

				kwai.shareMessage({
						title: "标题", //标题(必填)
						description: "描述", //描述(必填)
						webpageUrl: "https://www.baidu.com", //链接(必填)
						thumbData: thumbData
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			shareMessageToBuddy() { //通过TargetOpenId分享私信给个人,openId是必须参数
				let thumbData = plus.io.convertLocalFileSystemURL('_www/static/logo.png');

				kwai.shareMessageToBuddy({
						openId: this.openId, //授权登录获取的 openId (必填)
						targetOpenId: this.targetOpenId, //目标用户的 openId (必填)
						title: "标题", //标题(必填)
						description: "描述", //描述(必填)
						webpageUrl: "https://www.baidu.com", //链接(必填)
						thumbData: thumbData
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			showProfile() { //打开TargetOpenId指向的个人主页
				kwai.showProfile({
						targetOpenId: this.targetOpenId, //目标用户的 openId (必填)
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			publishPicture() { //发布单张图片
				kwai.publishPicture({
						filePath: this.mediaPaths[0],
						//multiMediaAssets: this.mediaPaths,
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			editPicture() { //编辑单张图片
				kwai.editPicture({
						filePath: this.mediaPaths[0],
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			publishSingleVideo() { //发布单个视频
				kwai.publishSingleVideo({
						filePath: this.mediaPaths[0],
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			editSingleVideo() { //编辑单张图片
				kwai.editSingleVideo({
						filePath: this.mediaPaths[0],
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			clipSingleVideo() { //裁剪单个视频
				kwai.clipSingleVideo({
						filePath: this.mediaPaths[0],
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			clipMultiMedia() { //多图和视频裁剪
				kwai.clipMultiMedia({
						//filePath: this.mediaPaths[0],
						multiMediaAssets: this.mediaPaths,
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			aiCutMedias() { //发布智能剪辑
				kwai.aiCutMedias({
						//filePath: this.mediaPaths[0],
						multiMediaAssets: this.mediaPaths,
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			editMultiPicture() { //多图编辑,支持版本:开放平台不低于3.0.4,快手主站和极速版不低于9.7.20
				kwai.editMultiPicture({
						//filePath: this.mediaPaths[0],
						multiMediaAssets: this.mediaPaths,
					},
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			chooseSysImage() { //选择图片(系统)
				kwai.chooseSysImage(
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
							//this.mediaPaths.push(JSON.stringify(res.data));
						} else {
							uni.showToast({
								title: res.msg,
								icon: "none",
								duration: 3000
							})
						}
					});
			},
			chooseSysVideo() { //选择视频(系统)
				kwai.chooseSysVideo(
					(res) => {
						console.log(res)
						if (res.data) {
							this.msgList.unshift(JSON.stringify(res.data));
							//this.mediaPaths.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;
						//that.msgList.unshift(JSON.stringify(that.mediaPaths));
						// 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);
						//that.msgList.unshift(JSON.stringify(that.mediaPaths));
					}
				})
			},
		}

系列插件

图片选择插件 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/547270.html

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

相关文章

基于GitLab搭建DevSecOps流水线

本博客地址:https://security.blog.csdn.net/article/details/130734964 一、GitLab安装 GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建Web服务,可通过Web界面访问公开的或者私人的项目。它…

【总结】数据建模调研与设计

一、数据建模背景和目的 1.1 数据建模任务背景 a. xxxx 中台新增数据建模模块,对标行业最佳实践,补齐数据中台短板。 b. 以往的数据建模,包括数仓模型的设计、数仓模型的落地,都是通过第三方的工具,例如DBwaver、Nav…

SOFA Weekly|SOFA 大事记、Layotto 社区会议回顾与预告、社区本周贡献

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…

【信息安全案例】——应用软件安全(学习笔记)

📖 前言:随着应用软件日益增多,与我们的生活深度绑定,应用软件的安全性问题愈发凸显。针对恶意代码、代码漏洞等安全风险,必须加强安全意识,采取有效措施进行防范。合理有效的安全措施能够确保用户的信息安…

(数字图像处理MATLAB+Python)第九章图像形态学运算-第一、二节:形态学基础和二值形态学运算

文章目录 一:形态学基础(1)结构元素(2)程序 二:二值形态学的基础运算(1)基本形态变换A:膨胀运算①:概述②:示例③:程序 B:…

CleanMyMac X4.13.4中文版下载及使用教程

随着Mac电脑的广泛普及,越来越多的用户开始关注如何保持自己电脑的快速运行。众所周知,Mac电脑的性能和稳定性得到了广泛认可。但是,随着使用时间的增加和数据的增加,任何电脑都可能变得缓慢和难以使用。为了解决这一问题&#xf…

2-《Java进阶》

2-《Java进阶》 一. java多线程(非常重要)1.1. 线程java多线程实现方式主要有:1.继承Thread 2.实现Runnable3.实现CallableRunnable 与 Callable的区别:1.2. 线程的状态有哪些?1.3. 线程的状态转换及控制1.4. Java如何…

SeaweedFs使用-通过http接口实现文件操作

通过http接口实现文件操作 SeaweedFs可通过filer的http接口/master中的http接口来进行文件上传 1.通过master的接口进行上传文件 通过各种方式进行请求接口:http://localhost:9333/submit, ip和端口号是master服务的信息。此接口通过post请求方式将文件的二进制流…

3-《安卓基础》

3-《安卓基础》 1.Android系统架构2.四大组件1Activity1.1 生命周期1.2. Activity四种启动模式1.3.Activity任务栈的概念1.3.Activity的显示启动和隐示启动1.4.scheme使用场景,协议格式,如何使用?1.5.activty间传递数据的方式1.6.跨进程启动A…

网络安全-kail linux渗透测试(基础篇)

渗透测试是一个非常广的课程,我们首先要做的是在某个方向精通,再在其他方面也要有涉猎。 大部分的漏洞是国外挖掘的。 一、推荐研究书籍: Metasploit浚透测试指南》肯尼(行业经典) 诸葛建伟翻译 《Metasloit渗透测试魔鬼训练营》诸葛建伟…

运用pyecharts制作可视化大屏(代码展示及效果图-动图)

一、Matplotlib绘图 折线图 import matplotlib.pyplot as plt # 调用画图库 plt.rcParams[font.sans-serif] [SimHei] # 设置成可以显示中文,字体为黑体 plt.figure(figsize(12,8)) # 调整图片尺寸 x [周一,周二,周三,周四,周五,周六,周日] # 设置x轴数据 y [401…

物联网网络通讯知识

RTU是什么 RTU英文全称Remote Terminal Units,中文全称为远程终端单元。远程终端设备(RTU)是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备。通俗理解就是能够编程的还可以将数据传输到服务器的工具。RTU内部是包含通讯模块的&…

4、详细版易学版TypeScript - 元组 枚举

一、元组(Tuple) 数组&#xff1a;合并了相同类型的对象 const myArr: Array<number> [1, 2, 3]; 元组(Tuple)&#xff1a;合并了不同类型的对象 // 定义元组时就要确定好数据的类型&#xff0c;并一一对应 const tuple: [number, string] [12, "hi"]; // 添…

QT客户端外包开发的特点

QT是一种跨平台的C应用程序开发框架&#xff0c;主要用于开发图形用户界面(GUI)应用程序。它提供了一套丰富的类库和工具&#xff0c;可以帮助开发者快速构建高质量、可扩展、易于维护的应用程序。今天和大家分享一下QT的主要特点和注意的问题&#xff0c;希望对大家有所帮助。…

探索LeetCode【0011】盛最多水的容器(已懂)

目录 0. 题目1. 官方解答一&#xff08;已懂&#xff09;2. 精简解答二&#xff08;已懂&#xff09;3. 正确性解释 0. 题目 题目链接&#xff1a;【0011】盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i,…

From Java To Kotlin:空安全、扩展、函数、Lambda很详细,这次终于懂了

From Java To Kotlin, 空安全、扩展、函数、Lambda 概述&#xff08;Summarize&#xff09; Kotlin 是什么&#xff1f;可以做什么&#xff1f;Android 官方开发语言从Java变为Kotlin,Java 有哪些问题&#xff1f;Kotlin的优点Kotlin 特性&#xff08;Features&#xff09; K…

有名的国外CRM系统有哪些?如何选择?

CRM系统可以帮助企业获得更多地潜在客户&#xff0c;优化销售流程&#xff0c;提高工作效率&#xff0c;增强客户服务水平&#xff0c;是如今企业不可或缺的工具。那么&#xff0c;国外CRM的知名厂商有哪些&#xff1f;下面小编来为大家进行推荐。 Zoho CRM&#xff1a; Zoho…

快手国际化 后端开发面经一面

目录 1.JMM内存模型2.堆怎么管理内存3.垃圾回收算法4.跨代引用问题怎么解决5.垃圾回收器6.CMS回收过程7.G1和CMS区别 1.JMM内存模型 计算机存储结构&#xff0c;从本地磁盘到主存到CPU缓存&#xff0c;也就是从硬盘到内存&#xff0c;到CPU。 问题&#xff1f;和推导出我们需要…

全国节能宣传周知识答题活动

全国节能宣传周知识答题活动 若想在短期内&#xff0c;进行安全生产知识的传播&#xff0c;那么答题无疑是有效方式之一。 答题活动小程序v3.0&#xff0c;基于微信原生小程序云开发实现。主要包含六大功能模块页面&#xff0c;首页、活动规则页、排行榜页、答题页、结果页、…

每日一个MySQL问题: MTS 高并发下主从表空间不一致的问题

简单记录原因&#xff0c;最近我也遇到这样的问题&#xff0c;涉及的知识点其实很多&#xff0c;我也仅仅是简单分析了一下&#xff0c;供参考。模拟版本8.0.28。 一、问题说明和模拟方式 就是主从一个表&#xff0c;主库大约600M&#xff0c;从库大约900M&#xff0c;当然主从…