1.准备工作

APPID公众号id、申请好友分享接口、ip白名单、js接口安全域名设置(必须是通过备案)。要先登录微信公众平台进入“公众号设置”的功能设置里填写“JS接口域名”

2.引入js

注意:支持使用AMD/CMD标准加载方法

3.通过config接口注入权限验证配置

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需要调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushShate的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题在Android6.2修复)wx.config({

debug: true, //开启调试模式,调用所有的api的返回值会在客户端alert出来,若要查看传入的参数,可以在PC端打印出来

appId: '', //必填,公账号的唯一标识

timestamp: '', //必填,生成签名的时间戳

nonceStr: '', //必填,生成签名的随机串

signature: '', //必填,签名

jsApiList: [ //必填,需要使用js列表,否则无法分享成功

'onMenuShareTimeline', //朋友圈

'onMenuShareAppMessage', //朋友

'onMenuShareQQ', //QQ

'onMenuShareWeibo', //QQ空间

]

})

4.通过ready接口处理成功验证wx.ready(function(){

//config信息验证后会执行ready方法,所有接口调用必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中

});

5.通过error接口处理失败验证wx.error({

//config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名

});

js代码var data = {

title: '',

summary: '',

pic: '',

url: '',

success: function(){

getWeixin() ;//用户确认分享后执行的回调函数

},

cancel: function(){

//用户取消分享后执行的回调函数

}

}

wx.config({

swapTitleInWX: true,

appId: "<?php echo $weixin_package['appid'];?>",

timestamp: "<?php echo $weixin_package['timestamp'];?>",

nonceStr: "<?php echo $weixin_package['noncestr'];?>",

signature: "<?php echo $weixin_package['signature'];?>",

jsApiList: [

'onMenuShareTimeline',

'onMenuShareAppMessage',

'onMenuShareQQ',

'onMenuShareWeibo',

]

})

wx.ready(function () {

wx.onMenuShareTimeline(data);

wx.onMenuShareAppMessage(data);

wx.onMenuShareQQ(data)

wx.onMenuShareWeibo(data)

})

注意点:title,建议在14个字以内

图片尺寸: 300*300像素;图片格式:大小不超过10kB,不支持GIF格式;会取当前页面body内最前面的一张符合条件的图片

对标题简要解读,建议20字以内

link:'', //分享链接,改链接域名或路径必须与当前页面对应的公账号JS安全域名一致

二、QQ分享

QQ是通过head里面的标签来识别分享的图标和标题,涉及到h5微数据的一个属性itemprop,

相关推荐:

php微信公众号项目域名,微信公众号里“JS接口域名”实现分享功能相关推荐

  1. HBuilder X运行微信小程序项目至微信开发者工具失败

    在HBuilder X中运行微信小程序项目时,此步于以下过程,无法进一步打开界面 解决方案:导入项目即可,但是需要注意导入项目的路径信息. 需要是当前项目unpackage==>dist==&g ...

  2. uniapp - 编译微信小程序项目的微信授权登录、获取微信手机号登录、最新版微信直接登录、手机与验证码登录的示例源码(适用于 uniapp 微信小程序项目,源代码直接开箱即用)超级详细的代码及注释

    效果图 uniapp 项目编译微信小程序,一些常见的登录方式及源代码,示例代码干净整洁无BUG拿来即用. 本文示例实现了 uniapp 微信小程序项目的登录功能,包含微信授权登录.获取微信手机号登录. ...

  3. 微信小游戏开发实战教程15-关卡编辑器的制作以及关卡分享功能的实现

    微信小游戏开发实战系列的第15篇. 本节主要内容有游戏中的关卡编辑器的实现思路以及如何利用分享功能将自己制作的关卡与好友分享. 如果你没有任何的游戏开发经验,欢迎阅读我的"人人都能做游戏&q ...

  4. html分享微信qq等,h5移动端调用微信好友,朋友圈,QQ好友,QQ空间等APP分享功能...

    这个主要在项目中要实现的功能,现在的手机浏览器基本也都含有分享功能,但有的手机浏览器就没有分享微信好友,朋友圈等选项,虽然微信内置X5含有此功能,但不同的手机终端分享选项又不一样,因本人还是比较喜欢老 ...

  5. 微信域名检测接口原理,微信js接口域名该如何实现

     背景:最近公司的公众号域名被封了,原因是公司网站被黑后上传了一个不符合微信规范的网页.所以...就进入了微信域名解封的流程. 百度微信域名解封发现很多微信域名检测的网站,还有Api:但是本人做微信公 ...

  6. 微信小程序项目实战篇——基于WYY音乐真实接口开发的音乐小程序

    文章目录 一.项目简介 二.项目结构 三.开发工具 四.项目截图 五.项目地址 六.部分代码 七.项目运行 八.特别声明 一.项目简介 此小程序以网易云音乐为原型进行项目构建,使用网易云音乐真实API ...

  7. 微信小程序如何本地测试太阳码(二维码)分享功能(参数接收调试)

    小程序如何在本地测试获取到太阳码(二维码)中的参数? 第一步:把生成的太阳码保存在本地. 第二步:在微信开发中工具中运行好项目然后选择添加编辑模式 第三步:选择上传文件, 上传之前保存的太阳码,上传过 ...

  8. .net 获取本网站域名 以及得到字符串里包含的域名

    Uri abc = new Uri("http://www.163.com/20130211/add.php"); //这个编辑器不让写入英文双引号. abc.Host的值就是ww ...

  9. php公众号开发配置网页域名,微信公众号网页开发授权配置流程

    1.配置 1.1 公众号配置 1.2 开发者账号配置 选择开发者工具->web开发者工具->绑定开发者微信账号. 1.3 开发域名配置 选择公众号设置->功能设置,根据需求设置:业务 ...

  10. 微信JS接口开发指南

    目录 概述 使用说明 接口调用说明 基础接口 判断当前客户端版本是否支持指定JS接口 分享接口 获取"分享到朋友圈"按钮点击状态及自定义分享内容接口 获取"分享给朋友&q ...

最新文章

  1. Linux环境高级编程函数,Linux环境高级编程--出错处理(CLStatus)
  2. 2020《图像分割》从入坑到出坑指南
  3. CentOS 下 yum(基于rpm的包管理工具) 命令详解
  4. 记一次 .NET WPF布草管理系统 挂死分析
  5. jhipster_JHipster入门,第2部分
  6. ACM 常用算法合集
  7. java web中出现莫名错误,出现错误标识和红线但不影响运行。
  8. nginx 过滤post报文 防火墙_十八般武艺之Nginx踩坑总结
  9. Java字符串处理之返回指定字符串下标(indexOf)
  10. python实现一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如, 6的因子为 1、2、3,而 6=1+2+3,因此 6 是完数。编程找出1000之内的所有完数
  11. 三个已存在15年的 Linux 内核漏洞
  12. hdoj1116【欧拉回路】
  13. loj #6122. 「网络流 24 题」航空路线问题
  14. 下载历史版本的英伟达显卡驱动
  15. srt,ass,ssa三种字幕的区别
  16. MySQL 的 MRR 到底是什么?
  17. 华为 荣耀 6x android哪个版本,华为荣耀畅玩6X官方rom刷机包_华为荣耀6X原版系统包_升级包...
  18. 3D Point Cloud Descriptors in Hand-crafted and Deep Learning Age: State-of-the-Art
  19. 安装gfortran
  20. Java程序员:快来像我这样做,3天辞退不是梦

热门文章

  1. [UI] 精美UI界面欣赏[11]
  2. Java内部类访问局部变量时的final问题
  3. 体验vSphere 6之2-vCenter 6
  4. C++实现Behavioral - Observer模式 (转)
  5. SQL Server 2008,三年等待物有所值
  6. ubuntu不能更新包
  7. 定义列表: DL DT DD
  8. adapter中的数据错误原因和解决方案
  9. 建立网站需要什么条件_教育学校网站建设有什么作用?学校建立网站为的是什么?...
  10. CSS五种定位(相对定位、绝对定位、固定定位、static定位、sticky 定位)模式学习笔记