发布于2022-06-25 19:33 阅读(793) 评论(0) 点赞(3) 收藏(5)
uniapp 实现微信小程序的全局 转发给好友/分享到朋友圈 的功能。主要使用 Vue.js 的 全局混入 概念。
下面直接上 实现步骤和代码:
1.创建一个全局分享的 js 文件。示例文件路径为:@/common/share.js ,在该文件中定义全局分享的内容:
- export default {
- data() {
- return {
- // 默认的全局分享内容
- share: {
- title: '全局分享的标题',
- path: '/pages/home/home', // 全局分享的路径,比如 首页
- imageUrl: '/static/imgs/fenxiang-img.png', // 全局分享的图片(可本地可网络)
- }
- }
- },
- // 定义全局分享
- // 1.发送给朋友
- onShareAppMessage(res) {
- return {
- title: this.share.title,
- path: this.share.path,
- imageUrl: this.share.imageUrl,
- }
- },
- //2.分享到朋友圈
- onShareTimeline(res) {
- return {
- title: this.share.title,
- path: this.share.path,
- imageUrl: this.share.imageUrl,
- }
- },
- }
2.在项目的 main.js 文件中引入该 share.js 文件并使用 Vue.mixin() 方法将之全局混入:
- // 导入并挂载全局的分享方法
- import share from '@/common/share.js'
- Vue.mixin(share)
下面来看一下全局的分享效果:
3.如果在特定页面需要自定义分享内容,也仍旧可以使用页面的 onShareAppMessage() 和 onShareTimeline() 方法自定义分享的内容,全局的分享会被页面定义的分享内容覆盖。示例如下:
- onLoad() {},
-
- // 自定义此页面的转发给好友(已经有全局的分享方法,此处会覆盖全局)
- onShareAppMessage(res) {
- return {
- title: '页面分享的标题',
- path: '/pages/my/my',
- imageUrl: '/static/imgs/mylogo.png'
- }
- },
- // 自定义页面的分享到朋友圈
- onShareTimeline(res) {
- return {
- title: '页面分享的标题',
- path: '/pages/my/my',
- imageUrl: '/static/imgs/mylogo.png'
- }
- },
注:onShareAppMessage() 和 onShareTimeline() 方法是和 onLoad , methods 等方法同级的。
效果展示:
解析:以上两种风格都是比较常见的微信小程序分享按钮自定义样式,然而实际我们并非是对 <button></button> 按钮进行这样的自定义样式,而是将这样的样式做到 <view></view> 上或者直接是一个 image 图片,而要实现点击它触发分享,我们只需要在它的上面盖一个 <button id="shareBtn" open-type="share" ></button> 按钮,这个按钮当然就是用来触发我们的分享功能的,而我们只需要让它的透明度为完全透明就好了,这样一搭配起来,我们效果上就好像实现了对分享按钮的自定义一般。示例代码如下:
1.HTML 代码如下
- <!-- 一键分享 -->
- <view class="share">
- <u-image src="/static/imgs/yjfx.png" width="110" height="110"></u-image>
- <u-button id="shareBtn" open-type="share" ></u-button>
- </view>
2.CSS 代码如下(这里采用的是 SCSS 的写法)
- .share {
- width: 110rpx;
- height: 110rpx;
- border-radius: 50%;
- position: absolute;
- top: 50%;
- right: 29rpx;
- #shareBtn {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0;
- left: 0;
- opacity: 0;
- }
- }
这样我们就实现了 “自定义分享按钮” 的效果了,核心之处就在与放一个分享按钮到我们自定义样式部位的上方,让分享按钮完全盖住它并且让这个分享按钮完全透明即可。
原文链接:https://blog.csdn.net/qq_43551801/article/details/122124020
作者:javagogogo
链接:http://www.javaheidong.com/blog/article/465157/59b6a12cdf477bf67bd6/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!