(1)分享:在要分享的页面的js文件中设置:监听用户点击页面内转发按钮(button组件open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容。设置允许“发送给朋友”onShareAppMessage:function(from,target,webViewUrl)   {参数:from    转发事件来源。button:页面内转发按钮;menu:右上角转发菜单     target  如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined webViewUrl 页面中包含web-view组件时,返回当前web-view的url    const promise = new Promise(resolve => {setTimeout(() => {resolve({title: '自定义转发标题'})}, 2000)})return{title:'点击转发后,页面文章的标题',path: "/pages/news/news-detail/news-detail"  默认是当前页面imageUrl:'本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG'不写默认为当前页面截图promise,如果该参数存在,则以resolve结果为准,如果三秒内不resolve分享会使用上面传入的默认参数}}其中:该函数与data同级path的默认路径为根路径,即src开始path:'/必要要以/开头,放置要分析页面的文件路径,可根据app.json内的配置信息设置'(2)点击按钮分享:button 组件设置属性 open-type="share",可以在用户点击按钮后触发 Page.onShareAppMessage(3)分享到朋友圈:必须先定义onShareAppMessage,定义该回调,点击右上角分享,才会显示onShareTimeline(){return{title:自定义标题,即朋友圈列表页上显示的标题     当前小程序名称     query:自定义页面路径中携带的参数,如 path?a=1&b=2 的 “?” 后面部分  当前页面路径携带的参数     imageUrl:自定义图片路径,可以是本地文件或者网络图片。支持 PNG 及 JPG,显示图片长宽比是 1:1。     默认使用小程序 Logo    }}分享到朋友圈后,并不会真正打开小程序,而是进入一个“小程序单页模式”的页面,“单页模式”有以下特点页面无登录态,与登录相关的接口,如wx.login均不可用,云开发资源需开启未登录访问方可在单页模式下使用,详见未登录模式。不允许跳转到其它页面,包括任何跳小程序页面、跳其它小程序、跳微信原生页面不允许横屏使用若页面包含tabBar,tabBar不会渲染,包括自定义tabBar本地存储与小程序普通模式不共用在app.json顶层或window字段内配置(未验证)navigationBarFit   默认自动调整,若原页面是自定义导航栏,则为float,否则为squeezed  值为float时表示导航栏浮在页面上,与页面相交,值为squeezed时表示页面被导航栏挤压,与页面不相交可通过判断场景值等于1154的方法来进行页面适配(4)获取分享打开后的更多信息如分享到群聊获取更多信息:(1)调用后,可以在App.onLaunch或App.onShow获取到一个shareTicketwx.showShareMenu({withShareTicket     是否使用带shareTicket的转发详情,true能获取更多信息   menus               本接口为Beta版本,暂只在Android平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含"shareAppMessage"、"shareTimeline"两种success,...})(2)获取更多信息wx.getShareInfo({shareTicket,timeout,     毫秒success,  需要解密errMsg          错误信息    encryptedData   包括敏感数据在内的完整转发信息的加密数据,详细见加密数据解密算法    iv              加密算法的初始向量,详细见加密数据解密算法   cloudID         敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据fail,            complete})(5)群主转发小程序时同时把消息设为该群的群待办消息(1)更新转发属性wx.updateShareMenu({withShareTicket            是否使用带shareTicket的转发详情   isUpdatableMessage      是否是动态消息,详见动态消息  activityId              动态消息的activityId。通过updatableMessage.createActivityId接口获取 toDoActivityId          群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过updatableMessage.createActivityId接口获取。详见群待办消息   2.11.0templateInfo          动态消息的模板信息   isPrivateMessage        是否是私密消息。详见小程序私密消息   success                 接口调用成功的回调函数 fail                    接口调用失败的回调函数 complete                接口调用结束的回调函数(调用成功、失败都会执行)})(2)若将多个待办消息聚合为同一个通过wx.updateShareMenu接口修改toDoActivityId属性可以把多个待办消息聚合为同一个即转发相同toDoActivityId的群待办消息,只会出现一个待办消息气泡。toDoActivityId需要在转发前通过updatableMessage.createActivityId接口创建(6)动态消息转发消息发出去之后,开发者可以通过后台接口修改部分消息内容。消息有对应的提醒按钮,用户点击提醒按钮可以订阅提醒,开发者可以通过后台修改消息状态并推送一次提醒消息给订阅了提醒的用户消息有两个状态,分别有其对应的文字内容和颜色,其中状态0可以转移到状态0和1,状态1无法再转移。状态  文字内容        颜色  允许转移的状态0        "成员正在加入,当前 {member_count}/{room_limit} 人"  #FA9D39     0, 11       "已开始" #CCCCCC 无状态参数每个状态转移的时候可以携带参数,具体参数说明如下。参数            类型  说明member_count  string  状态 0 时有效,文字内容模板中 member_count 的值room_limit       string  状态 0 时有效,文字内容模板中 room_limit 的值path           string  状态 1 时有效,点击「进入」启动小程序时使用的路径。对于小游戏,没有页面的概念,可以用于传递查询字符串(query),如 "?foo=bar"version_type   string  状态 1 时有效,点击「进入」启动小程序时使用的版本。有效参数值为:develop(开发版),trial(体验版),release(正式版)(1)创建activity_id每条动态消息可以理解为一个活动,活动发起前需要通过updatableMessage.createActivityId接口创建activity_id。后续转发动态消息以及更新动态消息都需要传入这个activity_id。活动的默认有效期是 24 小时。活动结束后,消息内容会变成统一的样式:文字内容:“已结束”文字颜色:#00ff00(2)在转发之前声明消息类型为动态消息通过调用 wx.updateShareMenu 接口,传入 isUpdatableMessage: true,以及 templateInfo、activityId 参数。其中 activityId 从步骤一中获得。wx.updateShareMenu({withShareTicket: true,isUpdatableMessage: true,activityId: '', // 活动 IDtemplateInfo: {parameterList: [{name: 'member_count',value: '1'}, {name: 'room_limit',value: '3'}]}})    (3)修改动态消息内容动态消息发出去之后,可以通过updatableMessage.setUpdatableMsg修改消息内容。(7)私密消息转发当分享者分享小程序卡片给其他用户或者微信群后,其他用户点击此小程序卡片时,开发者可以鉴别出点击卡片的用户是否被分享者分享过小程序卡片。(1)创建activityId创建业务活动后、分享小程序消息前,需要通过后台接口updatableMessage.createActivityId创建activityId,建立一个activityId与一个业务活动id唯一关联。然后通过wx.updateShareMenu接口声明本次分享的消息为私密消息,私密消息具有不可二次转发性。声明完成后,可以通过右上角菜单、分享按钮组件、wx.shareAppMessage(仅小游戏)分享私密消息给个人、群聊。activityId创建后7天内分享有效,120天内验证有效。wx.updateShareMenu({withShareTicket: true,isPrivateMessage: true,activityId: 'xxx',})(2)验证从群聊、单聊消息卡片进入小程序时,通过wx.authPrivateMessage接口可以验证当前用户是否是私密消息的接收者,即验证这条消息是否是A直接转发给B或者A转发给B所在的群。该接口使用前,需要通过wx.login()接口登录小程序。wx.authPrivateMessage({shareTicket,sucesserrMsg     错误信息valid           验证是否通过,可能被篡改encryptedData   经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改)详细见加密数据解密算法iv     加密算法的初始向量,详细见加密数据解密算法...})(8)转发分享图片wx.showShareImageMenu({path, 要分享的图片地址,必须为本地路径或临时路径success,...})示例:wx.downloadFile({url: 'https://res.wx.qq.com/wxdoc/dist/assets/img/demo.ef5c5bef.jpg',success: (res) => {wx.showShareImageMenu({path: res.tempFilePath})}})(9)转发分享视频wx.shareVideoMessage({videoPath, 要分享的视频地址,必须为本地路径或临时路径thumbPath, 缩略图路径,若留空则使用视频首帧success,...})示例:回调写法:wx.downloadFile({url: URL,     下载urlsuccess (res) {下载完成后转发wx.shareVideoMessage({videoPath: res.tempFilePath,success() {},fail: console.error,})},fail: console.error,})Promise写法:const { tempFilePath } = await wx.downloadFile({url: URL, })下载完成后转发await wx.shareVideoMessage({videoPath: res.tempFilePath,})(10)转发分享文件wx.shareFileMessage({filePath     要分享的文件地址,必须为本地路径或临时路径fileName       自定义文件名,若留空则使用filePath中的文件名success           接口调用成功的回调函数         ...})示例:支持上面的回调写法const { tempFilePath } = await wx.downloadFile({url: URL, 下载url})下载完成后转发await wx.shareFileMessage({filePath: res.tempFilePath,})(11)复制链接监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为Beta版本,暂只在Android平台支持。应在进入页面时调用wx.onCopyUrl自定义query,退出页面时调用wx.offCopyUrl,防止影响其它页面。绑定分享参数wx.onCopyUrl(() => {return { query: 'a=1&b=2' }    })取消绑定分享参数wx.offCopyUrl()(12)收藏:收藏视频wx.addVideoToFavorites({videoPath   要收藏的视频地址,必须为本地路径或临时路径thumbPath  缩略图路径,若留空则使用视频首帧success...})收藏文件wx.addFileToFavorites({filePath     要收藏的文件地址,必须为本地路径或临时路径fileName       自定义文件名,若留空则使用filePath中的文件名success...})用户点击右上角收藏触发事件:onAddToFavorites(webviewUrl) {  页面中包含web-view组件时,返回当前web-view的url...return {title: '自定义标题',imageUrl: 'http://demo.png',query: 'name=xxx&age=xxx',    当前页面的query}}示例:wx.downloadFile({url: URL,   下载urlsuccess (res) {下载完成后收藏wx.addVideoToFavorites({videoPath: res.tempFilePath,success() {},fail: console.error,})},fail: console.error,})(13)隐藏当前页面的转发按钮wx.hideShareMenu({menus: ['shareAppMessage', 'shareTimeline'],     "发送给朋友"|"分享到朋友圈"隐藏“发送给朋友”按钮时必须同时隐藏“分享到朋友圈”按钮,隐藏“分享到朋友圈”按钮时则允许不隐藏“发送给朋友”按钮sucess,...})

微信小程序 转发、分享、收藏、复制链接相关推荐

  1. unapp微信小程序转发分享、携带参数

    一.第一种方式: // 开启小程序原生右上角分享按钮uni.showShareMenu({// https://developers.weixin.qq.com/miniprogram/dev/fra ...

  2. 微信小程序转发 分享 打电话功能,完整代码附效果图

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 正文: 按钮绑定在页面内发起转发事件onShareApp:(注意这里是button 并且给他设置了open-t ...

  3. 微信小程序 转发分享功能

    转发 获取更多转发信息 通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识.现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 t ...

  4. 微信小程序 转发 分享功能(二)

    关于小程序的转发: 最简单的就是点击小程序右上角菜单"转发"按钮直接分享,不过这种分享有点不太友好,实用性也不强. 当然,你可以自定义分享内容,包括标题,简介,图片及分享的小程序页 ...

  5. 微信小程序 - - - - - 转发分享(发送给好友、分享到朋友圈)

    转发分享 1. 发送给好友 1.1 效果图: 1.2 实现步骤: 1.3 实现代码: 2. 分享到朋友圈 2.1 效果图: 2.2 实现步骤 2.3 实现代码: 3. 遇到的问题 3.1 分享到朋友圈 ...

  6. 微信小程序---转发分享功能

    1. 转发---onShareAppMessage 2.不带参数 //用户点击右上角分享 onShareAppMessage: function (res) {return {title: 'xxx' ...

  7. plsql developer无监听程序_微信小程序支持分享到朋友圈啦!技术解读跟我来

    千呼万唤始出来!微信小程序页面分享到朋友圈的功能,终于在安卓系统灰度测试了!目前只在安卓系统!只在安卓系统!只在安卓系统!iOS系统还没有办法体验. 首先,我们看一下官方文档的描述,解读一下小程序分享 ...

  8. 微信小程序封装分享与分销功能

    在微信小程序中,可以很简单的分享一个页面,比微信H5简单多了,然而,分享出去的页面(也叫卡片),打开后只是一个单独的页面,没有底部导航栏,点击返回按钮的时候就直接退出小程序了.如果需要去到首页,还必须 ...

  9. 微信小程序之分享功能

    一.介绍 微信小程序的分享功能可以分享页面给朋友或群聊,但是不能分享到朋友圈,需要分享朋友圈的话,可以在小程序内设计一个分享页面,利用小程序提供的canvas把小程序码绘制到分享图里保存到本地分享到朋 ...

  10. 微信小程序:分享及其好友代付款

    微信小程序:分享及其好友代付款 先贴一个微信的官方通告 大概的意思是说从2018年10月后的分享功能,取消了success,fail,complete三个函数的功能,用户分享必须是用户主动触发 首先还 ...

最新文章

  1. 设置cisco登录时显示的警示性信息-banner
  2. centos安装mysql步骤,CentOS安装mysql超详细步骤
  3. boost::intrusive::function_hook用法的测试程序
  4. java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...
  5. sqlserver检索函数、存储过程、视图 中的关键字
  6. rust异步之async、await、future
  7. 我的宝贝干女儿--可可
  8. html/css/js各类相对路径引用方法归类
  9. 前端存储 (2) - sessionStorage ,localStorage
  10. mex2 Inputs and Outputs
  11. g楦和h楦的区别_药品与保健品的区别
  12. Atitit 提升可读性 流畅接口 1.1. 大接口vs 小接口 小接口可用流畅api串接起来 1 1.2. 部分comm fun可用大接口固化 1 2. 流畅接口 方法连 “Fluent接口
  13. woj 1575 - Signal generators 单调队列优化dp + 瞎搞
  14. 微信公众号申请相关问题
  15. Golang正确停止Ticker
  16. 如何设计一个监控平台(上篇)
  17. 【SwiftUI学习笔记】Git Repository Creation FailedEnsure the author information supplied in Xcode ...
  18. 服务拆分理论和原理及方法
  19. 转载英语词汇程序语言学习
  20. IRQF_ONESHOT

热门文章

  1. ubuntu下使用WPS时提示缺失部分字体,并且字体大小不一
  2. 在windows中运行VSCode便携版(绿色版)并设置成中文界面的简易教程
  3. 放开那三国3服务器维护,放开那三国3渠道服
  4. pyecharts-Page组合图(完整代码+效果图)
  5. 2021年美容师(中级)报名考试及美容师(中级)试题及解析
  6. [贝聊科技]有关Android应用桌面角标(BadgeNumber)实现的探讨
  7. 抖音海外版tiktok下的fanno怎么下载
  8. BU01-DB开发板使用入门,室内定位就是这么简单;
  9. .as_matrix()的作用
  10. matlab实例——动态心形函数及其涉及的知识点