位置: IT常识 - 正文

unapp微信小程序转发分享、携带参数(小程序unload)

编辑:rootadmin
unapp微信小程序转发分享、携带参数 一、第一种方式:// 开启小程序原生右上角分享按钮uni.showShareMenu({// https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.htmlwithShareTicket: true,menus: ['shareAppMessage', 'shareTimeline']//开启转发好友和转发朋友圈按钮});

推荐整理分享unapp微信小程序转发分享、携带参数(小程序unload),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uni-app 微信小程序,微信小程序框架uni app,uni小程序,unigui微信小程序,unigui微信小程序,小程序uniacid,微信uno小程序,微信小程序uniapp,内容如对您有帮助,希望把文章链接给更多的朋友!

这里有个uni官方文档的bug,uni官方文档并没有说明uni.showShareMenu有menus配置项,但是微信官方文档是有的。所以加上也是会生效的。

注意:配置了此项,此种方式优先级要比第二种方式要高,所以采用第二种方式就不能配置第一种方式。

下面是uni的文档配置项:官方文档

微信官方配置项:官方文档

二、第二种方式(自定义转发分享)//html<view class="flex align-items justify-start order-tab" v-if="hasLogin"><view class="every-tab flex flex-direction align-items" style="position:relative;"><uni-icons custom-prefix="custom-icon" type="staff-filled" size="30" color="gray"></uni-icons><text class="font-12">购买分享</text><button id="shareBtn" open-type="share">购买分享(opicty透明)</button></view></view>//scss#shareBtn {position: absolute;z-index: 2;opacity: 0;width: 100%;height: 100%;}//js//分享到朋友圈onShareTimeline(res) {return {title: '妙智康商城小程序',// path: '/pages/home/index',不支持自定义页面路径// query:id=1,//自定义页面路径中携带的参数,如 path?a=1&b=2 的 “?” 后面部分// imageUrl: '/static/imgs/mylogo.png',}},// 自定义此页面的转发给好友(已经有全局的分享方法,此处会覆盖全局)onShareAppMessage(res) {return {title: '妙智康商城小程序',path: `/pages/home/index?id=${this.userInfo.userId}`,// imageUrl: '/static/imgs/mylogo.png'}},

需注意:onShareTimeline、onShareAppMessage事件是和onload、data、computed同级书写!

第二种方式,采用了button的open-type="share",然后隐藏这个button。scss代码主要是哪个opcity。不自定义转发图片的情况下,默认会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为转发图片。

onShareAppMessage:不设置path默认是打开的点击分享时的页面,不设置title,默认是小程序名字

onShareTimeline:不设置path默认是打开的点击分享时的页面,不设置title,默认是当前页面的标题

注意事项

不自定义转发图片的情况下,默认会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为转发图片。

转发的调试支持请查看 普通转发的调试支持 和 [带 shareTicket 的转发](../../devtools/different.md#带 -shareticket- 的转发)

转发非私密消息时,只有转发到群聊中打开才可以获取到 shareTicket 返回值,单聊没有 shareTicket。转发私密消息时,群聊和单聊都可获取到 shareTicket。私密消息详见 私密消息使用指南

unapp微信小程序转发分享、携带参数(小程序unload)

shareTicket 仅在当前小程序生命周期内有效

由于策略变动,小程序群相关能力进行调整,开发者可先使用 wx.getShareInfo 接口中的群 ID 进行功能开发。

微信7.0.12开始,支持群主转发小程序时同时把消息设为该群的群待办消息,群待办消息会以气泡形式出现在聊天窗口底部。默认每次转发一个群待办消息,都会生成一个待办消息气泡。通过 wx.updateShareMenu 接口修改toDoActivityId属性可以把多个待办消息聚合为同一个,即转发相同toDoActivityId的群待办消息,只会出现一个待办消息气泡。toDoActivityId需要在转发前通过 updatableMessage.createActivityId 接口创建。

还需要注意的是网上搜了很多资料都给onShareTimeline()配置了path这个选项。经踩坑,官方文档并没有这个配置项。如下图:官方文档链接

第二种方式的onShareAppMessage事件是可以自定义path路径,配置好后通过以下方式去获取

获取有两种方式(在path对应的页面去获取)

1.

onLoad: function (options) {console.log(options);//打印和option就可以看到path后面传递的参数}

2.

onShow: async function () {     let allPages = getCurrentPages(); //获取当前页面栈的实例(onshow的option是undefined)    let page = allPages[allPages.length - 1]    let option = page.optionsconsole.log("option", option);}三、统一配置分享功能//utilsexport default {// 发送给朋友onShareAppMessage(res) {return {title: this.$shareTitle,path: '/pages/login/login'}},//分享到朋友圈onShareTimeline(res) {return {title: this.$shareTitle,path: '/pages/login/login'}}}//main.jsimport commonShare from '@/utils/commonShare.js'Vue.prototype.$shareTitle = '分享标题'Vue.mixin(commonShare)

在任意页面可以自定义更改标题

onLoad() {this.$shareTitle = '登录页面分享'},

特别的是:全局设置好分享配置后,如果想某个页面个性化定制,同样可以设置onShareAppMessage、onShareTimeline,页面级别的这俩事件是优先级高于全局的

四、小程序分享票据

小程序分享票据shareTickets

通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识。在小程序中调用wx.showShareMenu并且设置 withShareTicket为true,当用户将小程序转发到微信群之后,此转发卡片在群聊中被其他用户打开时,可以在App.onLaunch 或App.onShow获取到一个shareTicket。通过调用wx.getShareInfo(shareTicket) 接口可以获取到转发信息。

分享前调用wx.showShareMenu方法,否则不会带有分享票据

分享票据可以分为私密消息和动态消息

应用场景,这里链接一下知乎的一篇文章

本文链接地址:https://www.jiuchutong.com/zhishi/299069.html 转载请保留说明!

上一篇:javaScript 合并对象的多种方式(js文件合并工具)

下一篇:AI - stable-diffusion(AI绘画)的搭建与使用

  • 车辆出现质量问题
  • 印花税减免需要什么材料
  • 平均股东权益在利润表中怎么看
  • 项目差旅费能计入项目费用吗
  • 补提上一年度的年终奖
  • 资产负债表本期盈余为什么是负数
  • 未开票收入下月开票怎么报税
  • 税控设备抵减增值税会计处理
  • 从农民合作社取得的普通发票可以抵扣吗
  • 月初结存材料成本差异
  • 收到借户过账资金的短信
  • 公司比赛规则
  • 开给天猫的服务费分录如何做
  • 境内所得境外发放工资
  • 暂估收入会计处理
  • 在建工程全部费用化
  • 个人去税局开劳务费需要注意什么
  • 减税真的能有效推动经济增长吗?
  • 个人消费索要公司的钱
  • 中国每年森林火灾造成的损失
  • 旅行社代订机票发票报销
  • 培训费表格
  • 转出未交增值税借方余额表示什么
  • 土地城镇化怎么计算
  • 车间废品如何做账
  • 营改增后还要交营业税吗
  • 公司资产报废处理请示
  • thinkphp withjoin
  • php的!
  • php文本转数字
  • 增值税进项如何取得更多
  • hdaudpropshortcut.exe是什么进程 作用是什么 hdaudpropshortcut进程查询
  • dell oemdrv
  • 睿因无线路由器怎么设置
  • Laravel 5.4因特殊字段太长导致migrations报错的解决
  • 厂区绿化工程计入什么科目
  • wordpress添加css
  • 手写发票可以报税吗
  • 前端实战培训
  • 专用发票抵扣联是什么意思
  • 特殊动产的一物数卖履行顺序
  • java中public修饰什么
  • C语言中如何计算除法
  • 设备购买与租赁的分析中,购买优于租赁的条件是
  • 小微企业可以不交税吗
  • 税务申报核定销售额在哪填写
  • 哪些情况下可以使用食品添加剂
  • 财务人员如何爱岗敬业
  • 税法规定的增值税是指
  • 农业用地租赁是免税的吗
  • 国外差旅费如何确定汇率呢
  • 购房契税如何入账
  • 工资薪酬所得税税率表最新
  • 为什么预付账款可以通过应付账款核算
  • 纳税人财务核算内容包括
  • 如何建立一个新的群
  • 在查询结果中添加字母
  • 深入理解mysql主从原理32讲
  • Mysql 5.7.17 winx64免安装版,win10环境下安装配置图文教程
  • windowsxp网络ip设置
  • 关于要不要关闭Vista中的IPv6功能的问题
  • 开机提示windows即将过期
  • Win10系统里的Smartscreen筛选器的使用以及开启方法
  • Win10预览版镜像
  • win10一周年版本
  • myeclipse2013安装配置
  • js单线程多线程
  • ubuntu nodejs
  • 开发板io口在哪
  • 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rathe
  • 浏览器窗口上线怎么办
  • pythone爬虫
  • javascript indexOf函数使用说明
  • Python连接MySQL并使用fetchall()方法过滤特殊字符
  • 如何查询税务是否变更
  • 地方税务局办税流程
  • 陕西省国家税务总局电子税务局
  • 民营非盈利医院能转让吗
  • 如何取消个人所得税预约
  • 电子税务局房产税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设