uni-app中 uni.share() 支持分享到企业微信
uni-app中 uni.share() 支持分享到企业微信
需求描述
uni.share()已经可以分享到qq、微博、微信。但是目前还没有支持分享到企业微信,现在企业微信的需求越来越多,很多企业的运营都把重心从微信转移到了企业微信。希望有人能支持一下,做个插件。
(PS: 内置的plus.share.sendWithSystem()可以分享,但是不像uni-share那样可以直接跳转到企业微信,而且最原始的需求是可以发送小程序卡片,希望可以使用sdk的方式跳转企业微信分享而不是app内置的sendWithSystem)
https://ext.dcloud.net.cn/plugin?id=15755
如果能接受付费插件的话,可以看看我这个
感谢,公司不允许云打包
回复 4***@qq.com: 那如果需要的话,可以找我购买离线插件
在uni-app中,uni.share()
方法确实可以用来触发分享功能,不过对于特定的平台(如企业微信),需要确保已经在企业微信开发者后台进行了相关配置,并且使用企业微信提供的SDK或者相关API来实现更细粒度的控制和自定义分享内容。由于uni.share()
原生支持的平台可能不包括企业微信的全部自定义分享功能,这里提供一个结合企业微信JSSDK来实现分享功能的代码示例。
首先,确保你的应用已经在企业微信后台配置为小程序,并获取了相应的AppID和Secret。然后,在小程序端引入企业微信JSSDK。
步骤一:引入企业微信JSSDK
在你的uni-app项目中,通常会在main.js
或者页面脚本中引入企业微信JSSDK。由于企业微信JSSDK是通过script标签引入的,你可能需要在manifest.json
中配置或者通过条件编译的方式动态引入。
// 在页面或组件的onLoad生命周期中动态引入企业微信JSSDK
if (process.env.PLATFORM === 'mp-weixin-qy') {
const script = document.createElement('script');
script.src = 'https://res.wx.qq.com/open/js/jweixin-1.6.0.js';
script.onload = function () {
// 初始化企业微信JSSDK
wx.config({
beta: true, // 必须这么写,否则wx.invoke无效
debug: false, // 开启调试模式
appId: 'YOUR_CORP_ID', // 必填,企业微信的corpID
timestamp: TIMESTAMP, // 必填,生成签名的时间戳
nonceStr: NONCE_STR, // 必填,生成签名的随机串
signature: SIGNATURE, // 必填,签名
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表
});
wx.ready(function () {
// 分享到朋友圈
wx.onMenuShareTimeline({
title: '分享标题', // 分享标题
link: 'https://example.com', // 分享链接
imgUrl: 'https://example.com/image.jpg', // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
// 分享给朋友
wx.onMenuShareAppMessage({
title: '分享标题', // 分享标题
desc: '分享描述', // 分享描述
link: 'https://example.com', // 分享链接
imgUrl: 'https://example.com/image.jpg', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或者video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});
};
document.head.appendChild(script);
}
注意
- 上面的代码示例中,
TIMESTAMP
,NONCE_STR
,SIGNATURE
等参数需要你在服务端生成,并确保它们的时效性和正确性。 - 企业微信小程序的分享配置可能有所不同,具体请参考企业微信官方文档。
process.env.PLATFORM
是uni-app的条件编译变量,用于判断当前平台。
通过这种方式,你可以在企业微信小程序中实现自定义分享功能。