uni-app项目中,官方提供了封装好的uni-share 插件方便开发者使用。
插件地址:
https://ext.dcloud.net.cn/plugin?id=4860
配置
打开manifest.json,找到“App模块配置”-》“Share(分享)”,并根据项目实际情况勾选使用的三方分享平台:
提示:三方分享模块参数配置需提交云端打包后才能生效,真机运行调试时请使用自定义基座
使用分享功能基本流程:
- 向三方分享平台申请开通,有些平台(如微信分享)申请成功后会获取appid
- 在HBuilderX中配置申请的参数(如appid等),提交云端打包生成自定义基座
- 在App项目中调用API进行分享操作
支持的三方分享平台:
- 微信分享
- QQ分享
- 新浪微博分享
微信分享
开通
微信开放平台:https://open.weixin.qq.com/
- 登录微信开放平台,添加移动应用并提交审核,审核通过后可获取应用ID(AppID)
- 在应用详情中确认已获取分享到朋友圈、分享给朋友等接口
- 在HBuilderX中配置appid、iOS通用链接后即可打包使用微信分享功能
微信开放平台-创建移动应用:
配置
打开项目的manifest.json文件,在“App模块配置”项的“Share(分享)”下,勾选“微信分享”:
- appid 微信开放平台申请应用的AppID值
- UniversalLinks iOS平台通用链接,必须与微信开放平台配置的一致
使用微信分享
- uni-app项目 调用 uni.share(OBJECT) 发起分享操作,OBJECT参数中provider属性值固定为weixin
- 5+ App项目 调用 plus.share.getServices(successCB,errorCB)
获取分享服务对象 ShareService , 再调用其 send 方法发送分享消息
uni-app项目
uni.share({
provider: “weixin“,
scene: “WXSceneSession”,
type: 1,
summary: “我正在使用HBuilderX开发uni-app,赶紧跟我一起来体验!”,
success: function (res) {
console.log(“success:” + JSON.stringify(res));
},
fail: function (err) {
console.log(“fail:” + JSON.stringify(err));
}
});
5+ App项目
var weixinShare = null;
plus.share.getServices(function(services) {
for (var i in services) {
var service = services[i];
// 获取微信分享对象
if (service.id == ‘weixin’) {
weixinShare = service;
break;
}
}
weixinShare.send( {
content: ‘我正在使用HBuilderX开发App,赶紧跟我一起来体验!’
}, function(){
// 分享成功
}, function(err) {
// 分享操作失败
// err.code是错误码
})
}, function(err) {
// 获取 services 失败
})