微信小程序带参数分享界面、打开界面加载分享内容

分享功能是微信小程序常用功能之一,带参分享和加载可以让分享对象打开界面时看到和分享内容。

带参分享

用户点击微信小程序右上角自带分享,或者点击自定义分享按钮进行分享时,可在onShareAppMessage函数定义分享行为。

分享界面路径可带参,可在路径后加?,然后加上带的参数,一般格式为参数名=参数值,需注意的是,参数值需为string,如果你的参数是对象类型,可以通过JSON.stringify转为string,后续可通过JSON.parse转回对象类型。

javascript 复制代码
  onShareAppMessage() {
    var card_info = {
      info1: this.data.info1,
      info2: this.data.info2,
    }
    var card_string = JSON.stringify(card_info)
    return{
      path: '/pages/ex-card/ex-card?card_string='+card_string
    }    
  },

需注意的是,自定义分享按钮open-type需设为"share":

html 复制代码
<button type="primary" plain size="mini" open-type="share" style="position: absolute;right:0;font-size:small;margin-right: 10rpx;">分享</button>

带参加载界面

在onLoad函数定义加载行为:

判断加载时是否带参,带参时使用参数加载,不带参使用默认值加载。

javascript 复制代码
  onLoad(options) {
    var page = getCurrentPages()
    var current_page = page[page.length-1]
    if(Object.keys(current_page.options).length>0)
    {
      var card_options = JSON.parse(current_page.options.card_string)
      this.setData({
        info1:card_options.info1,
        info2: card_options.info2
      })     
    }
  },

更多微信小程序内容欢迎关注、评论、私信博主。

相关推荐
高级程序源3 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
fengGer的bugs10 小时前
新生儿喂养记录微信小程序:本地存储、四套主题,以及一份可改期的疫苗体检日程
微信小程序
高级程序源12 小时前
SSM仓储管理系统31582-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·flask·课程设计
青企通12 小时前
弱网环境下小程序首屏性能优化:从 5.2 秒到 1.4 秒的完整实践
性能优化·小程序
5G微创业13 小时前
去除抖音视频水印的Python实现
python·微信小程序·去水印
WeiXin_DZbishe13 小时前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
高级程序源14 小时前
springboot本地生活服务平台33399-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·小程序·flask·课程设计
高级程序源15 小时前
django房屋租赁系统28636-计算机课程设计、毕业设计
python·mysql·elasticsearch·小程序·django·flask·课程设计
CRMEB定制开发15 小时前
开源模型正在吃掉闭源的市场,这意味着什么?
小程序·公众号商城·商城源码·crmeb·开源商城
小蒜学长16 小时前
基于微信小程序的医院医疗废弃物追溯管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·医疗废弃物