怎样让微信打开html文件(如何在微信端html5页面调用分享接口)

本文目录
如何在微信端html5页面调用分享接口
这篇文章主要介绍了微信端html5页面调用分享接口示例的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。
最近公司做了一个给学生投票的H5页面,主要是在微信端使用,需要添加微信分享功能;
本文章主要是记录调用微信分享接口需要注意的事项;
1、前端用的angular1框架,首先需要在index页面引入微信接口文件;
***隐藏网址***
// 微信分享函数
function wxShare() {
var url = $location.absUrl().split(’#’);
wxServices.postWxShare(url).then(function (res) {
if (res.data.code == 0) {
var respanse = res.data.data;
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: respanse.appId,
timestamp: respanse.timestamp, // 必填,生成签名的时间戳
nonceStr: respanse.nonceStr, // 必填,生成签名的随机串
signature: respanse.signature,// 必填,签名
jsApiList: [’onMenuShareTimeline’,
’onMenuShareAppMessage’,
’onMenuShareQQ’,
’onMenuShareWeibo’,
’onMenuShareQZone’]// 必填,需要使用的JS接口列表
});
}
})
}将当前url解析后,发给后端接口,后端需要将appId,时间戳,随机字符串和签名返回,然后接口列表(jsApiList)根据需要自己手动添加,注意是一个数组的形式,我这里只需要调用分享接口;
调试的时候,可以将debug更改为true,这样在就每次调用微信接口的时候就会有接口信息alert出来,方便查看接口调用是否正常了;
3、在该函数后,自定义分享内容,代码如下;
wx.ready(function () {
var obj = {
title: ’SPBCN团体赛开始投票啦!’, // 分享标题
desc: ’SPBCN团体赛开始投票了,快来为我们加油吧!’, // 分享描述
***隐藏网址***
// 该链接是重定向链接,因为需要获取用户code,但是该链接又无法直接写微信获取code的链接,
// 所以需要点击后重新加载新的页面,来实现重定向,重新打开获取code的微信链接,实现获取用户信息的功能;
***隐藏网址***
fail: function (res) {
alert(JSON.stringify(res));
}
};
// 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口
wx.onMenuShareAppMessage(obj);
// 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
wx.onMenuShareTimeline(obj);
// 2.3 监听“分享到QQ”按钮点击、自定义分享内容及分享结果接口
wx.onMenuShareQQ(obj);
// 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口
wx.onMenuShareWeibo(obj);
// 2.5 监听“分享到QZone”按钮点击、自定义分享内容及分享接口
wx.onMenuShareQZone(obj);
})wx.ready是在wx.config之后自动运行的,我是定义了一个分享内容的通用对象,然后直接调用即可,也可以根据需要来分别定义分享朋友、朋友圈、微博等的不同内容,具体查看微信接口文档即可;
主要强调一下分享链接,该链接必须是你的公众号设置的JS安全域名下的,不然无法分享成功;
分享失败的表现是,分享链接图片无法加载你自定义的图片,分享标题也不对;
5、我这个项目是投票类的,所以需要每次点击进来之后获取用户code,如果你只是分享文章,不需要用户信息,直接将link更改为你的文章链接即可;
6、对于投票类,我这里特殊处理了,就是重定向了该链接,大家都知道H5获取微信用户信息有两种,一种是关注微信公众号;另一种提示用户需要获取用户公开信息,用户点击确定即可。但是这两种都需要是按照微信的要求来拼接成特殊的微信链接,因此该域名是微信自带的,就不是我们自己公众号的JS安全域名了;
***隐藏网址***
window.onload = function () {
// 重定向链接,跟微信公众号中获取用户code是一样的链接
***隐藏网址***
}8、该方法有弊端,就是多加了一个空白页面,暂时没想到好的办法,欢迎大家留言;
9、如果不加这一步,分享出来的链接显示正常,但是获取不到code,后端就无法判断用户,导致无法限制用户投票;
怎么让做好的.html文件能在微信上浏览
你可以在电脑上模拟一个PHP的环境(phpStudy2011A),安装时它会要求在你指定的盘上创建一个WWW的文件夹,你可以把你写的HTML代码放进这个文件夹里,在火狐浏览器的地址栏里输入你的IP地址,它会自动跳出你的HTML文件,打开微信扫一下地址栏里的二维码就可以在微信中浏览了。平时我们写页面都这样测试。

本文相关文章:
用java编写一个手机app(java怎么开发手机app接口)
2026年9月3日 07:30
TS泛型类、泛型接口、泛型函数?C# 泛型类 构造方法中实例化T
2026年7月9日 00:30
java类和包(java开发的项目中模块、包、类、接口的关系是什么)
2026年6月11日 07:30
mongodb版本选择(前端怎么请求nodejs写的接口操作mongodb)
2026年5月10日 11:00
implement继承(面向对象系统有哪些特性面向对象语言(以java为例),继承接口和继承类有什么分别)
2026年4月23日 20:15
webservice测试地址(C#请求远程接口不一定能获取到数据怎么回事)
2026年3月16日 18:15
更多文章:
sql语句优化面试(面试问到 数据库性能优化 怎么回答 我是Oracle数据库)
2025年7月30日 02:15
图片转换代码软件(求一款图片转网页代码的工具,就是可以把图片转换成网页广告的那种,)
2025年6月30日 23:30
desense(手机desense测试,中文是什么意思怎么测试)
2025年11月12日 03:00
如何使用ubuntu系统(win10安装ubuntu双系统怎么装)
2025年9月4日 20:00
sql数据库多少钱(access sql 等的数据库,开发工具多少钱运行平台多少钱)
2026年1月21日 20:15
php环境搭建的原理(什么是PHPWEB环境的搭建及其作用)
2026年8月23日 16:15
c语言一维数组有几个数(c语言的一维数组中至少要有几个元素)
2025年11月27日 13:30
1111101100101110转为16进制?将23456表为16进制数
2025年12月19日 18:30
指针变量为什么占4个地址(C语言中,为什么指针变量无论指向那个类型的变量,其所占的字节都为4个字节详解)
2025年7月27日 19:00
html5模板 支付成功(html5怎么实现支付宝实时转账)
2025年7月5日 15:45
js jquery面试(jquery中怎么调用js方法调用)
2025年8月8日 03:45











