更新记录
1.2(2023-10-11)
修复分享给抖音好友或群(shareToContactsHtml)问题
1.1(2023-06-17)
1、分享内容携带小程序 2、打开抖音拍摄页支持携带小程序
1.0(2023-04-28)
init,抖音授权登录、发布、分享
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 14.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
抖音授权登录、发布、分享 Ba-Aweme
简介
抖音授权登录,发布图片、视频,分享到联系人群组,直接拍摄等。自带选择图片和选择视频方法。支持分享内容携带小程序。
快手授权登录,发布、编辑、裁剪图片和视频,分享 Ba-Kwai(文档)
有建议和需要,请联系QQ:2579546054
也可关注博客,实时更新最新插件:
注意: 使用前,先到抖音开放平台,申请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 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
clientkey | String | true | key,需要到开发者网站申请 |
sendAuth 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
scope | String | true | 'user_info' | 授权域是指您的应用使用抖音授权之后,可以获得抖音用户的哪些信息,目前开放了user_info 授权域,表示可以获得请求用户头像、昵称等相关信息的权限,如果有多种必选权限,权限之间请使用逗号隔开, "xxx,xxx"。 |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 | |
optionalScope0 | String | false | 'mobile' | 用户可选授权域,默认不勾选。 |
optionalScope1 | String | false | 用户可选授权域,默认勾选。 |
shareImage 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
imagePaths | Array | true | 本地图片路径,可多个,如:['路径1', '路径2'] | |
hashTagList | Array | false | 话题,支持多个,如:['话题1', '话题2'] | |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 | |
appTitle | String | false | 小程序title | |
discription | String | false | 描述 | |
appId | String | false | 小程序AppId | |
appUrl | String | false | 小程序路径 |
shareImageN 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
imagePaths | Array | true | 本地图片路径,可多个,如:['路径1', '路径2'] | |
hashTagList | Array | false | 话题,支持多个,如:['话题1', '话题2'] | |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 | |
isImageAlbum | String | false | false | 是否开启图集模式 |
appTitle | String | false | 小程序title | |
discription | String | false | 描述 | |
appId | String | false | 小程序AppId | |
appUrl | String | false | 小程序路径 |
shareVideo 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
videoPaths | Array | true | 本地视频路径,可多个,如:['路径1', '路径2'] | |
hashTagList | Array | false | 话题,支持多个,如:['话题1', '话题2'] | |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 | |
appTitle | String | false | 小程序title | |
discription | String | false | 描述 | |
appId | String | false | 小程序AppId | |
appUrl | String | false | 小程序路径 |
shareMix 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
mixPaths | Array | true | 本地视频和图片路径,可多个,如:['路径1', '路径2'] | |
hashTagList | Array | false | 话题,支持多个,如:['话题1', '话题2'] | |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 | |
appTitle | String | false | 小程序title | |
discription | String | false | 描述 | |
appId | String | false | 小程序AppId | |
appUrl | String | false | 小程序路径 |
shareToContacts 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
imagePaths | Array | true | 本地图片路径,单个,如:['路径1'] | |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 |
shareToContactsHtml 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
html | String | true | 你的html链接(必填) | |
discription | String | true | 你的html描述(必填) | |
html | String | true | 你的html title(必填) | |
html | String | false | 你的html的封面图(远程图片) (选填,若不填,则使用开放平台官网申请时上传的图标) | |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 |
openRecordPage 方法参数
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
appTitle | String | false | 小程序title | |
discription | String | false | 描述 | |
appId | String | false | 小程序AppId | |
appUrl | String | false | 小程序路径 | |
state | String | false | 用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意 String。 |
系列插件
应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify(文档)
自定义通知(耳机电量)插件 Ba-NotifyEarphone(文档)
应用未读角标插件 Ba-Shortcut-Badge (文档)
扫码原生插件 - 基础版(毫秒级、支持多码)Ba-Scanner-G(文档)
扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner(文档)
扫码原生插件 - 组件版(毫秒级、连续扫码、多码、相册)Ba-ScanView
动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar(文档)
安卓保活插件(采用多种主流技术) Ba-KeepAlive(文档)
安卓保活套装(通用、常驻通知、电池优化、自启管理、后台运行等)(文档)
安卓快捷方式(桌面长按app图标) Ba-Shortcut(文档)
自定义图片水印(任意位置) Ba-Watermark(文档)
最接近微信的图片压缩插件 Ba-ImageCompressor(文档)
视频压缩、视频剪辑插件 Ba-VideoCompressor(文档)
动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon(文档)
原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast(文档)
websocket原生服务(自动重连、心跳检测) Ba-Websocket(文档)
智能安装(自动升级) Ba-SmartUpgrade(文档)
监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener(文档)
全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray(文档)
获取设备唯一标识(OAID、AAID、IMEI等) Ba-IdCode(文档)
实时定位(系统、后台运行、支持息屏)插件 Ba-Location(文档)
实时定位(高德、后台运行、支持息屏、坐标转换、距离计算) Ba-LocationAMap(文档)
窗口小工具、桌面小部件、微件 Ba-AppWidget(文档)
窗口小工具、桌面小部件、微件(日历、时间) Ba-AwCalendarS(文档)
悬浮窗(在其他应用上层显示) Ba-FloatWindow(文档)
悬浮窗(应用内、无需授权) Ba-FloatWindow2(文档)
悬浮窗(悬浮球、动态菜单、在其他应用上层显示) Ba-FloatBall(文档)
添加到“用其他应用打开”中,用于文件传递、分享等 Ba-ShareReceive(文档)
获取地图数据(高德、地理编码、反地理编码) Ba-AMapData(文档)