微信分享(移动web端)
2024-08-31 04:05:58
create-at 2019-02-16
引入微信JS-SDK http://res.wx.qq.com/open/js/jweixin-1.4.0.js (当前最新版本)
js 相关代码 (移动端实测, 需做老版本兼容)
function weChatShare(title,desc) {
var link = window.location.href;// 这里如果采用的并非当前页可能会出错,具体原因有待查找
var serverUrl = encodeURIComponent(link);
var imgUrl = '分享显示的小图'; //80*80 实测可以使用其它比列,最好使用小尺寸正方形,域名也要在安全域名之下
// 数据请求,根据项目需求更改
function ajaxFn() {
var xhr = new XMLHttpRequest()
xhr.open('get', '这是请求配置项的接口?url=' + serverUrl, true)
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) {
wxConfig(JSON.parse(xhr.responseText))
}
}
xhr.send()
}
function wxConfig(res) {
wx.config({
// 是否开启调试(会返回一些错误原因)
debug: true,
// 公众号的唯一标识
appId: res.appId,
// 签名的时间戳
timestamp: res.timestamp,
// 签名的随机串
nonceStr: res.nonceStr,
// 签名
signature: res.signature,
// 需要调用的JS接口
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage',
'onMenuShareTimeline'
]
});
// config 验证后会执行ready方法
wx.ready(function () {
var shareConfig = {
title: title,
desc: desc,
link: link,
imgUrl: imgUrl
};
// 目前新版方法存在问题,所以如果有老方法,优先选择老方法
if(wx.onMenuShareAppMessage){
wx.onMenuShareAppMessage(shareConfig);
wx.onMenuShareTimeline(shareConfig);
} else {
// 自定义“分享给朋友”及“分享到QQ”按钮的分享内容
wx.updateAppMessageShareData(shareConfig);
// 朋友圈
wx.updateTimelineShareData(shareConfig);
}
});
wx.error(function (res) {
// config信息验证失败
console.log(res);
});
}
ajaxFn()
}
weChatShare('tit', 'des')
本篇文章只是做了方法整合,详见 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
最新文章
- Mysql性能优化三(分表、增量备份、还原)
- AngularJS之Service(四)
- Lisp简明教程
- [下载] VS 2013 Update 4 &; 社群版 (Visual Studio Community) &; VS 2015 Preview预览版
- jquery 提示简单效果插件 cluetip
- select多个字段赋值给多个变量
- CentOS 7 下Docker的安装
- 常见错误总结_1_对java类进行修改后,无法按修改的类型加载
- android 自定义控件,自定义属性设置
- 菜鸟帮你跳过openstack配置过程中的坑
- canvas画布实现手写签名效果
- R语言-来自Prosper的贷款数据探索
- 【BZOJ2154】Crash的数字表格(莫比乌斯反演)
- SQL Server专家的10个秘诀(翻译加注解)
- 使用Setup factory打包WPF
- luogu P1486 [NOI2004]郁闷的出纳员
- JAVA中的array是通过线性表还是链表实现的呢?
- windows中连接hive-客户端
- Datawhale MySQL 训练营 Task1:MySQL 安装与数据库基础
- Densely Connected Convolutional Networks 论文阅读
热门文章
- 站在巨人的肩膀上看Servlet——原来如此(更适合初学者认识Servlet)
- nodejs中文乱码问题
- python接口自动化(二十八)--html测试 报告——下(详解)
- 从壹开始[ 做贡献 ]之三 || 北京.Net俱乐部活动——DNT精英论坛开幕
- ES6 let const 关键字
- 第三章.定制专属的kali
- ASP.NET CORE 入门教程(附源码)
- python基础知识三 字典-dict + 菜中菜
- python虚拟环境管理 Pipenv 使用说明
- Java EE.JSP.概述