微信自定义分享链接信息(标题,图片和内容)实现过程详解


Posted in Javascript onSeptember 04, 2019

网页分享到微信要怎么才能自定义标题,内容和图片呢?

需求概述

微信中可以直接转发网页链接,用户在微信内置浏览器中打开后可以通过微信浏览器中右上角进行分享到朋友,朋友圈,QQ等。但直接这样分享的话,用户看到的只是一条链接,没有任何的图文内容。

如下图,图1是别人分享给我的链接效果,图2是我分享给别人的效果。两种方案的用户体验我想都不用我多说了,一眼就能看的出来.

微信自定义分享链接信息(标题,图片和内容)实现过程详解

方案实现

要达到上图自定义文案与图标的效果,必须要采用微信提供的JS-SDK,微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。可参考微信JS-SDK说明文档。(如果你不懂技术或者没有认证的公众号,使用wecard工具也可以实现相关的效果。)

微信自定义分享链接信息(标题,图片和内容)实现过程详解

具体步骤:

1、准备一个备案的域名和空间,绑定域名到该空间去。

2、登录微信公众平台,进入“公众号设置”的功能设置里面填写js接口安全域名,这个要填写的是你微信浏览器要打开的域名地址,不能添加IP地址。

3、引入js文件,在需要调用js接口的页面接入JS文件。

http://res.wx.qq.com/open/js/jweixin-1.2.0.js

4、通过config接口注入权限并验证配置(这一步算是整个步骤中最关键的一步,必须正确的配置信息才可以进行调用JS-SDK。)

wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '', // 必填,公众号的唯一标识
  timestamp: , // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名,见附录1
  jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

详细接入代码

+ (currentLink.indexOf("?") > -1 ? ("&u=" + "${u!}" + "&t=" + "${t!}" + "&o=" + "${o!}" + "&s=" + "${s!}") : ("?u=" + "${u!}" + "&t=" + "${t!}" + "&o=" + "${o!}" + "&s=" + "${s!}"));
      shareLink = shareLink + (shareLink.indexOf("?") > -1 ? ("&city=" + "深圳") : ("?city=" + "深圳"));
  var shareImgUrl = "${IMGPATH!}/images/banner2.png";
  var shareGid = "";

  wx.ready(function () {
    //分享给朋友
    wx.onMenuShareAppMessage({
      title: shareTitle,
      desc: shareDesc,
      link: shareLink,
      imgUrl: shareImgUrl,
      success: function (res) {
          shared(shareLink, "friend", shareGid);
        },
        fail: function (res) {
         alert(JSON.stringify(res));
        }
    });
    //分享到朋友圈
    wx.onMenuShareTimeline({
      title: shareTitle,
      desc: shareDesc,
      link: shareLink,
      imgUrl: shareImgUrl,
      success: function (res) {
          shared(shareLink, "Timeline", shareGid);
        },
        fail: function (res) {
         alert(JSON.stringify(res));
        }
    });
     //分享到QQ
    wx.onMenuShareQQ({
      title: shareTitle,
      desc: shareDesc,
      link: shareLink,
      imgUrl: shareImgUrl,
      success: function (res) {
          shared(shareLink, "QQ", shareGid);
        },
        fail: function (res) {
         alert(JSON.stringify(res));
        }
    });
     //分享到腾讯QQ
    wx.onMenuShareWeibo({
      title: shareTitle,
      desc: shareDesc,
      link: shareLink,
      imgUrl: shareImgUrl,
      success: function (res) {
          shared(shareLink, "Weibo", shareGid);
        },
        fail: function (res) {
         alert(JSON.stringify(res));
        }
    });
     //分享到QZone
    wx.onMenuShareQZone({
      title: shareTitle,
      desc: shareDesc,
      link: shareLink,
      imgUrl: shareImgUrl,
      success: function (res) {
          shared(shareLink, "QZone", shareGid);
        },
        fail: function (res) {
         alert(JSON.stringify(res));
        }
    });
  });
  function shared(url, type, gid){
    var rUrl = basePath + "/share/add?type=" + type + "&url=" + encodeURI(url);
    if(!!gid) {
      rUrl += "&gid=" + gid;
    }
    $.ajax({
      type: "GET",
      url: rUrl,
      dataType: "json",
      success: function(rs){
        //alert("分享成功");
      }
    });
  }
  " _ue_custom_node_="true">

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 动态设置已知select的option的value值的代码
Dec 16 Javascript
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
Jan 23 Javascript
D3.js实现雷达图的方法详解
Sep 22 Javascript
js事件源window.event.srcElement兼容性写法(详解)
Nov 25 Javascript
angular实现表单验证及提交功能
Feb 01 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
Apr 16 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
Mar 13 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
vue组件通信传值操作示例
Jan 08 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 Javascript
Ajax实现局部刷新的方法实例
Mar 31 Javascript
微信小程序按钮点击动画效果的实现
Sep 04 #Javascript
微信小程序实现点击卡片 翻转效果
Sep 04 #Javascript
layui实现tab的添加拒绝重复的方法
Sep 04 #Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
Sep 04 #Javascript
微信小程序官方动态自定义底部tabBar的例子
Sep 04 #Javascript
layerui代码控制tab选项卡,添加,关闭的实例
Sep 04 #Javascript
layui 表单标签的校验方法
Sep 04 #Javascript
You might like
PHP实现获取图片颜色值的方法
2014/07/11 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
提升Python程序运行效率的6个方法
2015/03/31 Python
Python分治法定义与应用实例详解
2017/07/28 Python
Python之批量创建文件的实例讲解
2018/05/10 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
python中几种自动微分库解析
2019/08/29 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
德国电子商城:ComputerUniverse
2017/04/21 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
采购主管岗位职责
2014/02/01 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
农村婚礼主持词
2014/03/13 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
2015年清明节活动总结
2015/02/09 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
python创建字典及相关管理操作
2022/04/13 Python
Golang 结构体数据集合
2022/04/22 Golang