代码实现

index.vue

<template>
<div id="app">
<SelfSharePage v-if="share_data.title" :shareInfo="share_data" /> <!-- 引用公用分享文件 -->
</div>
</template>
data() {
return {
share_data:{//动态获取需要描述的内容
img: "",
title:'',
intro:'',
},
};
},
SelfSharePage.vue
<template>
<div> </div>
</template> <script>
import wx from 'weixin-js-sdk'//引用微信分享插件
import {shareUrlApi} from "../../api/index"//后端获取分享条件参数 export default {
props:['shareInfo'],
data() {
return {
img:'',
title:'',
intro:'',
link:'',
};
},
methods: {
getWeiXinShare(s_img,s_title,s_intro,s_link){
this.$axios.post(shareUrlApi,{
url:window.location.href.split("#")[0]
}).then((res)=>{
if(parseInt(res.data.errCode)>=0){
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: res.data.data.appId, // 必填,公众号的唯一标识
timestamp: res.data.data.timestamp, // 必填,生成签名的时间戳
nonceStr: res.data.data.nonceStr, // 必填,生成签名的随机串
signature: res.data.data.signature, // 必填,签名,见附录1
jsApiList: [
'onMenuShareTimeline',
'onMenuShareAppMessage',
]
}); wx.ready(function () {
//分享到朋友圈
wx.onMenuShareTimeline({
title: s_title, // 分享时的标题
// link: window.location.href.split("#")[0], // 分享时的链接
link:s_link,
imgUrl: s_img, // 分享时的图标
desc: s_intro,
success: function () {
console.log("分享成功");
},
cancel: function () {
console.log("取消分享");
}
});
//分享给朋友
wx.onMenuShareAppMessage({
title:s_title,
desc: s_intro,
link: s_link,
imgUrl: s_img,
type: '',
dataUrl: '',
success: function () {
console.log("分享成功");
},
cancel: function () {
console.log("取消分享");
}
}); })
}
else{ }
}).catch((err)=>{
console.log(err)
})
}
},
mounted() {
this.img=this.shareInfo.img?this.shareInfo.img:'参数为空时默认图片'
this.title=this.shareInfo.title?this.shareInfo.title:'参数为空时默认标题'
this.intro=this.shareInfo.intro?this.shareInfo.intro:'参数为空时默认说明'
this.link=this.shareInfo.link?this.shareInfo.link:window.location.href.split("#")[0]
this.getWeiXinShare(this.img,this.title,this.intro,this.link)
}
};
</script> <style scoped> </style>

 

H5分享功能--带图标、说明的更多相关文章

  1. H5分享功能

    web端分享功能 https://www.cnblogs.com/sdcs/p/8328367.html H5分享功能 公司里面做web开发经常会做H5页面,今天整理分享一下. 微信公众号平台 步骤一 ...

  2. H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例

    H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例 (转载:https://blog.csdn.net/weixin_38787928/article/details/86741227 ...

  3. iOS系统自带分享功能

    很多APP中都带有社交分享功能,通过用户的分享,让更多地人去了解和使用这个APP,目前社交分享是移动互联网应用程序推广的最重要手段之一,国内较或的分享平台有微信,IOS6后苹果集成的新浪微博,还有IO ...

  4. h5+ 开发分享功能

    h5+ 开发微信.QQ分享功能 此处只做微信网页分享示例代码 方式一.JS+HTML+h5Plus 1.html代码 <div class="button" onclick= ...

  5. 微信分享ios设备没有分享图标安卓有分享图标 (分享功能没有问题)

    解决方案:去除 var sharedata = { title: $("#shareTitle").val(), desc: $("#shareContent" ...

  6. H5 + 开发App(分享功能)

    我们开发App有一个不可少的功能,就是分享功能.让用户将app分享到他的社交圈.比如微信 QQ 微博等等. 准备工作:我们要先去申请相关的权限, 这是传送门http://ask.dcloud.net. ...

  7. Android分享---调用系统自带的分享功能

    以前我们总想到友盟等平台分享功能的集成,集成这玩意还得下载对应的jar包.当然,用这些平台的分享并不是说什么好处都没有,至少人家的统计功能还是很实用的.不过有的时候我们是不需要多余功能的,只需要能分享 ...

  8. Android 使用系统自带分享功能

    way1: Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain");// setT ...

  9. Android系统自带分享功能的实现(可同时分享文字和图片)

     /** * 分享功能 * * @param context * 上下文 * @param activityTitle * Activity的名字 * @param msgTitle * 消息标题 ...

  10. Android中使用ShareSDK集成分享功能

    引言      现在APP开发集成分享功能已经是非常普遍的需求了.其他集成分享技术我没有使用过,今天我就来介绍下使用ShareSDK来进行分享功能开发的一些基本步骤和注意点,帮助朋友们避免一些坑.好了 ...

随机推荐

  1. MYSQL --存储引擎的对比

    主要介绍三种 InnoDB .MyISAM .Memory 一.InnoDB 介绍: InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后默认的存储引擎 特点: DML操作遵循 ...

  2. Docker部署netdata 性能实时监控

    netdata 是常用的Linux系统性能实时监控面板 netdata 官方文档 https://learn.netdata.cloud/ 1.Docker 镜像下载地址 https://hub.do ...

  3. 转载--文章(感谢米粒儿博主分享) 关于 Json.net序列化时间问题

    http://www.cnblogs.com/lxsweat/p/4372508.html 上代码 其中的使用方法和UserInfo实体对象就不贴代码了. /// <summary> // ...

  4. (已解决)用phpstudy8创建个数据库(非root),结果没有访问权限。

    1. 问题 用phpstudy_pro,即最新版本,创建非root用户的数据库,然后后台访问它却提示没有权限. 2. 解决办法 进入系统自带的user表,修改权限.具体操作如下: a. 首先找到自己用 ...

  5. jquery 去除兄弟节点的class

    function chooseCategory(dicCode,obj){ $(obj).siblings('a').removeClass("active"); $(obj).a ...

  6. flutter tabbar指示器indicator宽度高度自定义

    在tabbar中indicator宽度是无法修改的,所以需要咱们去自定义indicator. 下面是自定义的代码,直接拷贝使用,已做好修改. // Copyright 2018 The Chromiu ...

  7. AcWing 791. 高精度加法C++数组实现

    高精度加法 a, b均为正整数 #include <iostream> using namespace std; const int N = 100010; int A[N], B[N], ...

  8. python APScheduler用法

    参考: https://blog.csdn.net/weixin_44799217/article/details/127353134 https://blog.csdn.net/weixin_428 ...

  9. (0821) git 下拉code不稳

    (1)红帽粘贴  vncconfig & (2)csh不稳定 解决办法: bash eval "$(ssh-agent -s)" ssh-add git pull 或者 g ...

  10. springcloud(八) - 分布式事务seata

    术语 TM(transaction manage)事务管理器: 分布式事务的发起和终结者,负责提交和回滚全局事务. TC(transaction coordinatorr)事务协调器: 协调全局事务和 ...