微信小程序的转发分享功能

article/2025/9/21 23:57:57

文章目录

  • button组件的open-type="share"
    • app.json
    • pages/about/about.wxml
    • pages/about/about.wxss
    • pages/about/about.js
  • 页面右上角的转发按钮
    • app.json
    • pages/about/about.wxml
    • pages/about/about.wxss
    • pages/about/about.js
    • pages/home/home.wxml
    • pages/home/home.wxss
    • pages/home/home.js

微信小程序的转发分享功能,有两种实现方式:

  1. button组件open-type="share",点击按钮后,会触发Page.onShareAppMessage事件。
  2. 页面右上角菜单“转发”按钮,点击按钮后,也会触发Page.onShareAppMessage事件。

button组件的open-type=“share”

代码涉及的文件有:

  1. app.json
  2. pages/about/about.wxml
  3. pages/about/about.wxss
  4. pages/about/about.js

在这里插入图片描述
button组件open-type="share",点击该按钮,触发Page.onShareAppMessage事件。

app.json

{"pages": ["pages/about/about"],"window": {"navigationBarBackgroundColor": "#0149af","navigationBarTitleText": "首页","navigationBarTextStyle": "white"},"style": "v2","sitemapLocation": "sitemap.json"
}

pages/about/about.wxml

<view class="aboutContainer"><view class="content">极客是一群什么样的人?他们大智若愚而富有科学精神,对一切常识的东西天然反感;他们天生热爱探索和创造,对于跟随和人云亦云深恶痛绝;他们特立独行,从不自我设置禁区;他们信仰自由,对于人为的限制极其不屑并热衷于挑战权威;在工作中他们推崇化繁为简,相信设计的力量并追求产品美学……</view><button open-type="share">点我分享</button>
</view>

pages/about/about.wxss

.content{margin: 10rpx;padding: 10rpx;text-align: justify;line-height: 40rpx;background:#eee;color: #1a74f1;font-size: 24rpx;border-radius: 10rpx;margin-bottom: 10rpx;
}

pages/about/about.js

Page({})

页面右上角的转发按钮

首先,只有定义了 onShareAppMessage(),页面右上角菜单才会显示“转发”按钮。
在这里插入图片描述

然后,onShareAppMessage(Object object) 接收一个对象作为参数,该对象包含如下属性:

  • from,转发事件来源,string类型,有如下两个值:
    • "button",通过点击页面内的button组件转发。
    • "menu",通过点击页面右上角转发菜单转发。
  • target,是一个对象。
    • 如果from"button",则target是触发此次转发事件的button组件。
    • 如果from"menu",则targetundefined

最后,onShareAppMessage(Object object) 可以返回一个对象,用来自定义转发内容。返回的对象可以包含如下属性:

  • title,转发标题,默认是当前小程序的名称。
  • path,转发路径,必须是以/开头的完整路径,默认是当前页面的path。
  • imageUrl,自定义图片路径,可以是本地图片,也可以网络图片,默认是当前页面的快照截图。

代码涉及的主要文件有:

  1. app.json
  2. pages/about/about.wxml
  3. pages/about/about.wxss
  4. pages/about/about.js
  5. pages/home/home.wxml
  6. pages/home/home.wxss
  7. pages/home/home.js

在这里插入图片描述

app.json

{"pages": ["pages/about/about","pages/home/home"],"window": {"navigationBarBackgroundColor": "#0149af","navigationBarTitleText": "首页","navigationBarTextStyle": "white"},"style": "v2","sitemapLocation": "sitemap.json"
}

pages/about/about.wxml

<view class="aboutContainer"><view class="content">极客是一群什么样的人?他们大智若愚而富有科学精神,对一切常识的东西天然反感;他们天生热爱探索和创造,对于跟随和人云亦云深恶痛绝;他们特立独行,从不自我设置禁区;他们信仰自由,对于人为的限制极其不屑并热衷于挑战权威;在工作中他们推崇化繁为简,相信设计的力量并追求产品美学……</view><button open-type="share" id="share-btn">点我分享</button>
</view>

pages/about/about.wxss

.content{margin: 10rpx;padding: 10rpx;text-align: justify;line-height: 40rpx;background:#eee;color: #1a74f1;font-size: 24rpx;border-radius: 10rpx;margin-bottom: 10rpx;
}

pages/about/about.js

Page({onShareAppMessage({from,target}){console.log(from,target);let myObj = {title:`来自${from}的转发,AITO邀您试驾`,path:"/pages/home/home",imageUrl:"/static/images/car.jpg"}return myObj;}
})

pages/home/home.wxml

<view class="homeContainer"><view class="content" wx:for="{{contentList}}" wx:key="{{index}}">{{item}}</view>
</view>

pages/home/home.wxss

.homeContainer{padding: 20rpx;
}
.content{width: 100%;height: 600rpx;line-height: 600rpx;text-align: center;background:#eee;color: #1a74f1;font-size: 64rpx;border-radius: 10rpx;margin-bottom: 10rpx;
}

pages/home/home.js

Page({data:{contentList:[]},onLoad(){const contentList = this.getDataFromServer();this.setData({contentList});},getDataFromServer(){let result = ["肯德基宅急送","云海肴","西贝莜面村","眉州东坡","华莱士"];return result;}, onReachBottom(){console.log("on reach bottom");console.log("上拉触底,获取数据追加列至列表中");const appendData = ["其他","其他","其他","其他","其他"];const newContentList = [...this.data.contentList,...appendData];this.setData({contentList:newContentList});},onPullDownRefresh(){console.log("on pull down refresh");console.log("下拉刷新,获取最新列表数据");this.getDataFromServer();}
})

http://chatgpt.dhexx.cn/article/vINupvAL.shtml

相关文章

vscode中文高亮

测试代码: #include <常用> 如(i)断; 如(j)下;空 主(){ }在vscode目录下resources\app\extensions\cpp\syntaxes中c.tmLanguage.json试改改. "match": "\\b(break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|断|下)\\b&quo…

vscode中文标点符号自动转英文标点符号

vscode中文标点符号自动转英文标点符号

vscode中文乱码解决方法总结

第一种方法&#xff1a;直接点下面的 找到GB18030(其实GB都可以&#xff0c;我也不懂&#xff0c;一个一个试吧) 运行就可以了 第二种方法&#xff1a;点击设置&#xff0c; 在上面搜索 编码 &#xff0c;点击utf8 下拉找到GB 第三种方法&#xff1a; 这种方法我也不会&#xf…

VSCode正则搜索中文字符

(".*[\u4E00-\u9FA5])|([\u4E00-\u9FA5].*") 右侧开启正则匹配&#xff0c;即可搜出全部中文字符

vscode 中文插件失效

一、Crtl Shift P&#xff0c;打开命令面板&#xff0c;输入configure display language&#xff0c;点击图中框起来的那一项&#xff1a; 二、 选择 zh-cn&#xff1a; 等待vscode自动重启。 大功告成&#xff01;

MAC 用配置设置解决vscode中文乱码问题

MAC 用配置设置解决vscode中文乱码问题 中文乱码出现的原因 因为中文主要有两套编码&#xff0c;一套是GBK&#xff0c;一套是UTF-8&#xff0c;代码编辑器一般默认用UTF-8&#xff0c;而在输出的终端中默认是GBK&#xff0c;所以在UTF-8下的中文输出到GBK的终端自然会乱码。…

解决vscode中文注释乱码

有的文件&#xff0c;用Notepad打开很清楚能显示中文或其他中文内容&#xff0c;但是直接用vscode加载就乱码。 解决方案&#xff1a; 打开vscode&#xff0c;打开设置 之后点文件&#xff0c;勾选上Auto Guess Encoding。 最后&#xff0c;将原有乱码文件移出工作区&#x…

VScode注释中文时乱码怎么办?VScode中文注释乱码问题的解决方法

当我们在编写C语言代码的时候&#xff0c;会对代码进行中文的注释&#xff0c;但是使用VScode打开代码之后&#xff0c;部分的中文注释会出现乱码的情况&#xff0c;对此找到了几个解决中文注释乱码的方法&#xff0c;分享给大家&#xff0c;希望可以对大家的学习带来帮助。 不…

VScode设置中文显示

VScode一般默认英文显示&#xff0c;如果想要中文显示需要设置。 打开VScode按快捷键ctrlshiftp在搜索框搜索 然后会出现 选择中文重启就好了。 如果重启依旧是英文&#xff0c;就去应用商店看下安装过的插件&#xff0c;把中文插件在重新安装一下&#xff0c;然后重启即可。…

VScode中文注释乱码问题解决

VScode默认是用utf-8打开工程代码&#xff0c;C语言里的中文注释如果是Source insight之前gbk编码的注释可能会显示乱码&#xff0c;如何能让代码打开gbk编码的文件也不乱码&#xff0c;设置VScode如下&#xff1a; 方法一&#xff1a; 依次打开&#xff1a;文件–首选项–设置…

vscode中文注释斜体修改

第一次使用发现中文注释是斜体的并且看起来很难受 找了一遍也不会怎么弄&#xff0c;然后点点就成功了 我使用的是这个主题 点击设置按钮点击拓展设置 最后将红色圈起来的这个勾去掉&#xff0c;保存即可

VSCode中文设置异常

原文链接&#xff1a;https://blog.csdn.net/weixin_34898216/article/details/113548414 第一步 下载插件&#xff1a;Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code (现在直接下载安装已经起效) 在Chinese (Simplified) Language Pack for Visu…

安装Visual Studio Code,解决vscode中文乱码问题

记录个人安装过程&#xff0c;方便电脑搞废了自己重新安装&#xff1a; 1.下载Visual Studio Code编辑器&#xff0c;版本看自己&#xff1a;Visual Studio Code - Code Editing. Redefined 2.安装Visual Studio Code&#xff08;建议不要安装在系统盘&#xff0c;路径不要有…

vscode 设定中文字体

1. 打开设置 2. 设定中文字体

解决vscode中文乱码问题(不是改GBK,亲测有效)

解决vscode中文乱码问题&#xff08;不是改GBK&#xff0c;亲测有效&#xff09; 方式一&#xff1a;解决vscode中文乱码问题&#xff08;不是改GBK&#xff0c;亲测有效&#xff09;中文乱码出现的原因问题解决过程具体设置&#xff1a; 其他的可行方案总结 方式二&#xff1a…

VsCode中文输出为乱码的原因及解决方法

在vscode&#xff08;在cmd.exe也会&#xff09;中有时候编译输出含有中文的内容时&#xff0c;在输出界面显示的是乱码. 原因&#xff1a;我们需要传递给计算机的所有信息都会转换成0 1表示的二进制数字流&#xff0c;经过CPU处理后再输出给相应的程序&#xff0c;程序再把这…

vscode中文乱码问题及几种常见的解决方案

问题及原因 问题原因&#xff1a;代码文件的字符编码格式为UTF-8&#xff0c;但是terminal的字符编码格式为GBK。 解决思路&#xff1a;统一代码文件和terminal的字符编码格式。 解决办法 说明&#xff1a;以下的解决方案是针对上述原因“代码文件的字符编码格式为UTF-8&…

VScode 中文显示出现黄色方框的解决方法

VScode 中文显示出现黄色方框的解决方法 使用 VScode 打开源码时&#xff0c;发现注释中的汉字都被一个黄色的方框圈住了&#xff0c;这是因为使能了批注中字符的突出显示的功能&#xff0c;不喜欢这个黄色方框的小伙伴&#xff0c;可以参照下列步骤&#xff0c;禁用批注中字符…

解决vscode中文乱码问题(不是转GBK,亲测有效)

引言 与解决codeblocks乱码方法相似 本人C语言初学者一枚&#xff0c;之前使用codeblock时就曾出现输出中文乱码的问题&#xff0c;自己通过网上搜教程解决。 有一天想配置配置vscode。配置好了以后&#xff0c;下载vscode后也出现了输出中文的乱码问题&#xff0c;用与codeblo…

VSCode中文显示及中文乱码解决

VSCode中文显示及中文乱码解决 一、VSCode中文显示二、VSCode中文乱码解决 一、VSCode中文显示 1.点击左边的“扩展”→在搜索框输入“language”→选择Chinese…的“Install”下载安装中文语言包 2.安装完成后右下角弹出提示&#xff0c;点击“Restart”重启更改生效&#x…