uniapp怎么获取分享的参数
随着社交流量的逐渐增加,分享功能也成为了现代app必不可少的功能之一。在开发app的过程中,如何获取分享的参数是分享功能开发环节中至关重要的一步。而对于uniapp的开发者来说,有两种方式可以获取分享的参数,下面我们将详细介绍。
一、通过uni-app mpx(小程序)自带的分享功能获取参数
在uniapp的开发中,mpx自带了很多小程序开发所必备的功能,其中也包括了小程序自带的分享功能。uniapp的开发者可以利用这个功能,快速且方便地获取分享的参数。
- 将需要分享的页面添加到pages.json文件中
在pages.json文件中添加需要分享的页面路径,如下所示:
"pages": [ { "path": "pages/index/index", "style": {} }, { "path": "pages/share/share", "style": {}, "navigationBarTitleText": "分享页面" } ],
- 设置小程序分享配置
在每个页面中,都可以通过onShareAppMessage函数来设置小程序的分享参数。示例代码如下:
onShareAppMessage: function () { return{ title:"分享标题", path:"/pages/share/share", imageUrl:"分享图片地址", success:function(res){ console.log('分享成功') }, fail:function(res){ console.log('分享失败') } }}
通过这个示例代码,我们可以看到可以设置分享的标题、分享的路径、分享的图片地址,在分享成功和失败之后还可以进行相应的操作。
- 在分享页面中获取分享参数
在分享的页面中,我们可以通过uni.mp的api,获取分享参数。示例代码如下:
import uni from 'uni.mp'export default { created() { uni.getShareInfo(function(res) { console.log(res) }) }}
在这个示例代码中,我们可以看到我们利用了uni.mp.getShareInfo()这个api,获取到了分享参数。
二、通过小程序的wx对象获取分享参数
在uniapp中,可以直接使用小程序的API,获取分享的参数。同样的,我们也可以利用小程序的wx对象,获取到分享的参数,下面就详细介绍一下如何使用。
- 将需要分享的页面路径加入到pages.json文件中
与上述方法一致,需要将需要分享的页面路径添加到pages.json文件中,例如:
"pages": [ { "path": "pages/index/index", "style": {} }, { "path": "pages/share/share", "style": {}, "navigationBarTitleText": "分享页面" } ],
- 将分享参数设置到onShareAppMessage()函数中
在需要分享的页面中,利用onShareAppMessage()函数设置分享参数,如下所示:
onShareAppMessage: function () { return { title: '分享标题', path: '/pages/share/share', imageUrl: '分享图片地址' }}
在这个示例中,我们同样可以设置分享的标题、分享的路径、分享的图片地址。
- 通过wx.getShareInfo()获取分享参数
在分享的页面中,利用wx.getShareInfo()获取到分享时的加密数据,之后再利用小程序的解密函数解密数据,如下所示:
// 获取分享参数onLoad: function(options) { var that = this; //获取分享加密数据 wx.getShareInfo({ shareTicket: options.shareTicket, success: function(res) { //解密数据 wx.request({ url: '', data: { "encryptedData": res.encryptedData, "iv": res.iv, "sessionKey": that.data.sessionKey }, success: function(res) { console.log(res.data); } }) } })}
这个示例代码中,我们利用wx.getShareInfo()获得了分享的加密数据,之后再利用公式进行解密,获取到分享参数。
总结
通过以上两种方式,我们便可以轻松获取分享的参数,进而实现自己的分享功能。在具体实现过程中,我们需要注意一些细节,确保分享功能的正常使用。同时,uniapp也提供了非常全面的API文档,可以在开发过程中随时查看使用。