用uniapp 开发项目时,要实现app端分享信息给微信好友,特此记录一下
用到的api及相关插件:
uni.share
操作系统粘贴板 插件
1,分享微信到朋友
shareFriend() {
uni.share({
provider: "weixin",
type: 1,
scene: "WXSceneSession",
//summary分享的内容很重要,合理的放置方式可以很轻松的在后期取到链接的值
summary: `平台担保-复制打开XXapp【${数据名称}】%${this.codeNum}%${this.id}`,
success: function(res) {
console.log("success:" + JSON.stringify(res));
},
fail: function(err) {
console.log("fail:" + JSON.stringify(err));
}
});
},
2.朋友通过分享看到的数据(因项目要求不高,现在只做了文字分享,用户通过复制链接进入app,通过获取复制板内容来判断)
//在需要监听的页面获取用户复制的内容,我是在首页
//index.vue
//插件市场下载的操作系统粘贴板,这样可以编辑粘贴内容,不然用户复制后,没执行粘贴操作,每次进入项目都会执行相关操作
import clipboard from "/src/js_sdk/dc-clipboard/clipboard.js"
//onShow钩子上挂载
async onShow() {
let result= clipboard.getText() //获取复制版内容
if(result){
let type = result.slice(0, 4)
//判断复制版内容是否和链接有关
if (type === '平台担保') {
//获取到分享出去的我们需要的值
const list = result.split("%")
this.onSkip(`/pages/secondary/guaranteeTwo/guaranteeTwo?pageType=1&id=${list[2]}&code=${list[1]}`)
clipboard.setText('');//将粘贴板内容清空,这样下次进入就不会又重复执行
}
}
},