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


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 相关文章推荐
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
Feb 10 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
Aug 18 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
JS常用字符串方法(推荐)
Jan 15 Javascript
js实现多图左右切换功能
Aug 04 Javascript
浅谈js的异步执行
Oct 18 Javascript
搭建Bootstrap离线文档的方法
Dec 02 Javascript
详谈JS中数组的迭代方法和归并方法
Aug 11 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 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判断是否有Get参数的方法
2014/05/05 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
JS克隆,属性,数组,对象,函数实例分析
2016/11/26 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
python学习必备知识汇总
2017/09/08 Python
python3.4实现邮件发送功能
2018/05/28 Python
Python之列表的插入&替换修改方法
2018/06/28 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
个性大学生自我评价
2013/12/04 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
党员证明模板
2015/06/19 职场文书
关于Python使用turtle库画任意图的问题
2022/04/01 Python